tdanalysis 1.1__tar.gz → 1.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {tdanalysis-1.1 → tdanalysis-1.2}/CHANGELOG.md +23 -8
- {tdanalysis-1.1 → tdanalysis-1.2}/PKG-INFO +24 -9
- {tdanalysis-1.1 → tdanalysis-1.2}/pyproject.toml +1 -1
- {tdanalysis-1.1 → tdanalysis-1.2}/LICENSE +0 -0
- {tdanalysis-1.1 → tdanalysis-1.2}/NOTICE.md +0 -0
- {tdanalysis-1.1 → tdanalysis-1.2}/README.md +0 -0
- {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/__init__.py +0 -0
- {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/_compat.py +0 -0
- {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/covariance/covariance_calc.py +0 -0
- {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/covariance/psd.py +0 -0
- {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/dtypes.py +0 -0
- {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/exe/config.py +0 -0
- {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/exe/runner.py +0 -0
- {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/exe/tdpipe.py +0 -0
- {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/fitting_factor.py +0 -0
- {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/forms/cd.py +0 -0
- {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/forms/gs.py +0 -0
- {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/forms/gs_batched.py +0 -0
- {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/forms/invld.py +0 -0
- {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/forms/levinson.py +0 -0
- {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/forms/llt.py +0 -0
- {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/forms/pcg.py +0 -0
- {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/forms/sliding.py +0 -0
- {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/forms/toeplitz_solver.py +0 -0
- {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/gpu/gpu_matrix_multiplier.py +0 -0
- {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/gpu/kernels.py +0 -0
- {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/inference/nr_injection.py +0 -0
- {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/likelihoods/comparison/discriminators.py +0 -0
- {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/likelihoods/multi/consistency_test.py +0 -0
- {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/likelihoods/multi/pe.py +0 -0
- {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/likelihoods/reduced_batch.py +0 -0
- {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/likelihoods/single/consistency_test.py +0 -0
- {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/likelihoods/single/pe.py +0 -0
- {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/priors/bbh.py +0 -0
- {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/priors/bilby.py +0 -0
- {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/utils/bilby.py +0 -0
- {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/utils/conditioning.py +0 -0
- {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/utils/filters.py +0 -0
- {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/utils/io.py +0 -0
- {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/utils/mode_power_peak.py +0 -0
- {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/utils/plotting.py +0 -0
- {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/utils/serialize.py +0 -0
- {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/utils/subsample_align.py +0 -0
- {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/waveforms/__init__.py +0 -0
- {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/waveforms/nraasur.py +0 -0
- {tdanalysis-1.1 → tdanalysis-1.2}/tests/_toeplitz_refs.py +0 -0
- {tdanalysis-1.1 → tdanalysis-1.2}/tests/test_filters.py +0 -0
- {tdanalysis-1.1 → tdanalysis-1.2}/tests/test_gwtransient_batch.py +0 -0
- {tdanalysis-1.1 → tdanalysis-1.2}/tests/test_highpass.py +0 -0
- {tdanalysis-1.1 → tdanalysis-1.2}/tests/test_imr_pol_sky_timing.py +0 -0
- {tdanalysis-1.1 → tdanalysis-1.2}/tests/test_invlij_cache.py +0 -0
- {tdanalysis-1.1 → tdanalysis-1.2}/tests/test_mode_power_peak.py +0 -0
- {tdanalysis-1.1 → tdanalysis-1.2}/tests/test_pe_smoke.py +0 -0
- {tdanalysis-1.1 → tdanalysis-1.2}/tests/test_psd_band_patching.py +0 -0
- {tdanalysis-1.1 → tdanalysis-1.2}/tests/test_shared_batch_generation.py +0 -0
- {tdanalysis-1.1 → tdanalysis-1.2}/tests/test_shared_ct_generation.py +0 -0
- {tdanalysis-1.1 → tdanalysis-1.2}/tests/test_shared_scalar_generation.py +0 -0
- {tdanalysis-1.1 → tdanalysis-1.2}/tests/test_sliding_forms.py +0 -0
- {tdanalysis-1.1 → tdanalysis-1.2}/tests/test_start_taper_only.py +0 -0
- {tdanalysis-1.1 → tdanalysis-1.2}/tests/test_subsample_alignment.py +0 -0
- {tdanalysis-1.1 → tdanalysis-1.2}/tests/test_taper_conditioning.py +0 -0
- {tdanalysis-1.1 → tdanalysis-1.2}/tests/test_toeplitz_generators.py +0 -0
- {tdanalysis-1.1 → tdanalysis-1.2}/tests/test_toeplitz_solver.py +0 -0
- {tdanalysis-1.1 → tdanalysis-1.2}/tests/test_whitening_backends.py +0 -0
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Release notes
|
|
2
2
|
|
|
3
|
+
## tdanalysis 1.2
|
|
4
|
+
|
|
5
|
+
- No code changes from 1.1. Corrected credits and wording in the 1.1 notes below:
|
|
6
|
+
the consistency-test `log_likelihood(parameters)` fix is credited jointly to
|
|
7
|
+
Viviana Cáceres, the scalar shared generation and the Toeplitz API cite the work
|
|
8
|
+
of Sayan Neogi and Viviana Cáceres they build on, and the tdpipe high-pass is
|
|
9
|
+
described as a time-domain IIR filter. *(Vaishak Prasad)*
|
|
10
|
+
|
|
3
11
|
## tdanalysis 1.1
|
|
4
12
|
|
|
5
13
|
### Bug fixes
|
|
@@ -33,9 +41,10 @@ Results produced with 1.0.0 should be rerun.
|
|
|
33
41
|
separate `[runner] sample_rate` key, 4096 Hz by default, so a configuration that
|
|
34
42
|
set only `sampling_rate` to another value got data at 4096 Hz. A configuration
|
|
35
43
|
that still sets `sample_rate` now stops with an error. *(Vaishak Prasad)*
|
|
36
|
-
- **Consistency-test likelihoods accept `log_likelihood(parameters)
|
|
37
|
-
|
|
38
|
-
|
|
44
|
+
- **Consistency-test likelihoods accept `log_likelihood(parameters)`,** as the
|
|
45
|
+
spectroscopic consistency test already did. Every `analysis_type = CT` run
|
|
46
|
+
stopped with a `TypeError` when the sampler started.
|
|
47
|
+
*(Viviana Cáceres, Vaishak Prasad)*
|
|
39
48
|
|
|
40
49
|
### New features
|
|
41
50
|
|
|
@@ -51,9 +60,13 @@ Default behaviour is unchanged unless stated.
|
|
|
51
60
|
convention (e.g. SEOBNRv4HM) are refused. The highest `l` in the sum is
|
|
52
61
|
`mode_power_lmax` (default 2). *(Sayan Neogi)*
|
|
53
62
|
- **High-pass of downloaded strain in tdpipe:**
|
|
54
|
-
`[runner] highpass = {"frequency": 10, "order": 8, "pad": 8}
|
|
55
|
-
Butterworth
|
|
56
|
-
|
|
63
|
+
`[runner] highpass = {"frequency": 10, "order": 8, "pad": 8}`. The filter is
|
|
64
|
+
an 8th-order Butterworth (IIR) high-pass applied in the time domain, forward
|
|
65
|
+
and backward (`scipy.signal.sosfiltfilt`), so it has zero phase and an
|
|
66
|
+
effective response 1/(1 + (f_c/f)^16). The strain is downloaded with `pad`
|
|
67
|
+
extra seconds on each side, filtered, and cropped back, so the filter's edge
|
|
68
|
+
transients fall outside the analysed data. This is needed when the covariance
|
|
69
|
+
comes from a band-limited ACF: on GW250114 the whitened power d^T C⁻¹ d / N
|
|
57
70
|
goes from 18–52 unfiltered to 0.83–0.86 off-source. *(Vaishak Prasad)*
|
|
58
71
|
- **`PSDToAutocorr(..., in_band_limit="cap")`:** clip narrow spectral lines from
|
|
59
72
|
above, instead of raising the floor of the band, when the in-band dynamic
|
|
@@ -75,7 +88,8 @@ Default behaviour is unchanged unless stated.
|
|
|
75
88
|
`IMRConsistencyMultiDetector`, convert the parameters and generate the
|
|
76
89
|
waveform once per call instead of once per detector
|
|
77
90
|
(`share_generation=True`, the default). H1/L1/V1: 24.2 → 9.4 ms per call, with
|
|
78
|
-
identical results.
|
|
91
|
+
identical results. This extends the shared-generation design of Sayan Neogi's
|
|
92
|
+
batched likelihood (PR #3) to the scalar one. *(Vaishak Prasad)*
|
|
79
93
|
- **Batched generation shared across detectors** in the batched likelihood.
|
|
80
94
|
*(Sayan Neogi)*
|
|
81
95
|
- **Toeplitz solves and sliding quadratic forms**, a public API for other
|
|
@@ -99,7 +113,8 @@ Default behaviour is unchanged unless stated.
|
|
|
99
113
|
- `tdanalysis.utils.filters`: the zero-phase high-pass, and exact FIR filters
|
|
100
114
|
from a sampled frequency response.
|
|
101
115
|
|
|
102
|
-
|
|
116
|
+
It uses the dense-free GS generators, kernels and Levinson–Durbin module of
|
|
117
|
+
Viviana Cáceres (above). *(Vaishak Prasad)*
|
|
103
118
|
|
|
104
119
|
### Renamed
|
|
105
120
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: tdanalysis
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.2
|
|
4
4
|
Summary: Time-domain parameter estimation and multi-segment consistency tests for gravitational-wave data
|
|
5
5
|
Project-URL: Homepage, https://github.com/vaishakp/tdanalysis
|
|
6
6
|
Author: Vaishak Prasad, Viviana Cáceres
|
|
@@ -171,6 +171,14 @@ PolyForm identifier.
|
|
|
171
171
|
|
|
172
172
|
# Release notes
|
|
173
173
|
|
|
174
|
+
## tdanalysis 1.2
|
|
175
|
+
|
|
176
|
+
- No code changes from 1.1. Corrected credits and wording in the 1.1 notes below:
|
|
177
|
+
the consistency-test `log_likelihood(parameters)` fix is credited jointly to
|
|
178
|
+
Viviana Cáceres, the scalar shared generation and the Toeplitz API cite the work
|
|
179
|
+
of Sayan Neogi and Viviana Cáceres they build on, and the tdpipe high-pass is
|
|
180
|
+
described as a time-domain IIR filter. *(Vaishak Prasad)*
|
|
181
|
+
|
|
174
182
|
## tdanalysis 1.1
|
|
175
183
|
|
|
176
184
|
### Bug fixes
|
|
@@ -204,9 +212,10 @@ Results produced with 1.0.0 should be rerun.
|
|
|
204
212
|
separate `[runner] sample_rate` key, 4096 Hz by default, so a configuration that
|
|
205
213
|
set only `sampling_rate` to another value got data at 4096 Hz. A configuration
|
|
206
214
|
that still sets `sample_rate` now stops with an error. *(Vaishak Prasad)*
|
|
207
|
-
- **Consistency-test likelihoods accept `log_likelihood(parameters)
|
|
208
|
-
|
|
209
|
-
|
|
215
|
+
- **Consistency-test likelihoods accept `log_likelihood(parameters)`,** as the
|
|
216
|
+
spectroscopic consistency test already did. Every `analysis_type = CT` run
|
|
217
|
+
stopped with a `TypeError` when the sampler started.
|
|
218
|
+
*(Viviana Cáceres, Vaishak Prasad)*
|
|
210
219
|
|
|
211
220
|
### New features
|
|
212
221
|
|
|
@@ -222,9 +231,13 @@ Default behaviour is unchanged unless stated.
|
|
|
222
231
|
convention (e.g. SEOBNRv4HM) are refused. The highest `l` in the sum is
|
|
223
232
|
`mode_power_lmax` (default 2). *(Sayan Neogi)*
|
|
224
233
|
- **High-pass of downloaded strain in tdpipe:**
|
|
225
|
-
`[runner] highpass = {"frequency": 10, "order": 8, "pad": 8}
|
|
226
|
-
Butterworth
|
|
227
|
-
|
|
234
|
+
`[runner] highpass = {"frequency": 10, "order": 8, "pad": 8}`. The filter is
|
|
235
|
+
an 8th-order Butterworth (IIR) high-pass applied in the time domain, forward
|
|
236
|
+
and backward (`scipy.signal.sosfiltfilt`), so it has zero phase and an
|
|
237
|
+
effective response 1/(1 + (f_c/f)^16). The strain is downloaded with `pad`
|
|
238
|
+
extra seconds on each side, filtered, and cropped back, so the filter's edge
|
|
239
|
+
transients fall outside the analysed data. This is needed when the covariance
|
|
240
|
+
comes from a band-limited ACF: on GW250114 the whitened power d^T C⁻¹ d / N
|
|
228
241
|
goes from 18–52 unfiltered to 0.83–0.86 off-source. *(Vaishak Prasad)*
|
|
229
242
|
- **`PSDToAutocorr(..., in_band_limit="cap")`:** clip narrow spectral lines from
|
|
230
243
|
above, instead of raising the floor of the band, when the in-band dynamic
|
|
@@ -246,7 +259,8 @@ Default behaviour is unchanged unless stated.
|
|
|
246
259
|
`IMRConsistencyMultiDetector`, convert the parameters and generate the
|
|
247
260
|
waveform once per call instead of once per detector
|
|
248
261
|
(`share_generation=True`, the default). H1/L1/V1: 24.2 → 9.4 ms per call, with
|
|
249
|
-
identical results.
|
|
262
|
+
identical results. This extends the shared-generation design of Sayan Neogi's
|
|
263
|
+
batched likelihood (PR #3) to the scalar one. *(Vaishak Prasad)*
|
|
250
264
|
- **Batched generation shared across detectors** in the batched likelihood.
|
|
251
265
|
*(Sayan Neogi)*
|
|
252
266
|
- **Toeplitz solves and sliding quadratic forms**, a public API for other
|
|
@@ -270,7 +284,8 @@ Default behaviour is unchanged unless stated.
|
|
|
270
284
|
- `tdanalysis.utils.filters`: the zero-phase high-pass, and exact FIR filters
|
|
271
285
|
from a sampled frequency response.
|
|
272
286
|
|
|
273
|
-
|
|
287
|
+
It uses the dense-free GS generators, kernels and Levinson–Durbin module of
|
|
288
|
+
Viviana Cáceres (above). *(Vaishak Prasad)*
|
|
274
289
|
|
|
275
290
|
### Renamed
|
|
276
291
|
|
|
@@ -22,7 +22,7 @@ build-backend = "hatchling.build"
|
|
|
22
22
|
|
|
23
23
|
[project]
|
|
24
24
|
name = "tdanalysis"
|
|
25
|
-
version = "1.
|
|
25
|
+
version = "1.2"
|
|
26
26
|
description = "Time-domain parameter estimation and multi-segment consistency tests for gravitational-wave data"
|
|
27
27
|
dynamic = ["readme"] # README.md + CHANGELOG.md, see tool.hatch.metadata.hooks below
|
|
28
28
|
requires-python = ">=3.11"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|