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.
Files changed (64) hide show
  1. {tdanalysis-1.1 → tdanalysis-1.2}/CHANGELOG.md +23 -8
  2. {tdanalysis-1.1 → tdanalysis-1.2}/PKG-INFO +24 -9
  3. {tdanalysis-1.1 → tdanalysis-1.2}/pyproject.toml +1 -1
  4. {tdanalysis-1.1 → tdanalysis-1.2}/LICENSE +0 -0
  5. {tdanalysis-1.1 → tdanalysis-1.2}/NOTICE.md +0 -0
  6. {tdanalysis-1.1 → tdanalysis-1.2}/README.md +0 -0
  7. {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/__init__.py +0 -0
  8. {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/_compat.py +0 -0
  9. {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/covariance/covariance_calc.py +0 -0
  10. {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/covariance/psd.py +0 -0
  11. {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/dtypes.py +0 -0
  12. {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/exe/config.py +0 -0
  13. {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/exe/runner.py +0 -0
  14. {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/exe/tdpipe.py +0 -0
  15. {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/fitting_factor.py +0 -0
  16. {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/forms/cd.py +0 -0
  17. {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/forms/gs.py +0 -0
  18. {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/forms/gs_batched.py +0 -0
  19. {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/forms/invld.py +0 -0
  20. {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/forms/levinson.py +0 -0
  21. {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/forms/llt.py +0 -0
  22. {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/forms/pcg.py +0 -0
  23. {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/forms/sliding.py +0 -0
  24. {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/forms/toeplitz_solver.py +0 -0
  25. {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/gpu/gpu_matrix_multiplier.py +0 -0
  26. {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/gpu/kernels.py +0 -0
  27. {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/inference/nr_injection.py +0 -0
  28. {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/likelihoods/comparison/discriminators.py +0 -0
  29. {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/likelihoods/multi/consistency_test.py +0 -0
  30. {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/likelihoods/multi/pe.py +0 -0
  31. {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/likelihoods/reduced_batch.py +0 -0
  32. {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/likelihoods/single/consistency_test.py +0 -0
  33. {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/likelihoods/single/pe.py +0 -0
  34. {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/priors/bbh.py +0 -0
  35. {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/priors/bilby.py +0 -0
  36. {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/utils/bilby.py +0 -0
  37. {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/utils/conditioning.py +0 -0
  38. {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/utils/filters.py +0 -0
  39. {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/utils/io.py +0 -0
  40. {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/utils/mode_power_peak.py +0 -0
  41. {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/utils/plotting.py +0 -0
  42. {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/utils/serialize.py +0 -0
  43. {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/utils/subsample_align.py +0 -0
  44. {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/waveforms/__init__.py +0 -0
  45. {tdanalysis-1.1 → tdanalysis-1.2}/tdanalysis/waveforms/nraasur.py +0 -0
  46. {tdanalysis-1.1 → tdanalysis-1.2}/tests/_toeplitz_refs.py +0 -0
  47. {tdanalysis-1.1 → tdanalysis-1.2}/tests/test_filters.py +0 -0
  48. {tdanalysis-1.1 → tdanalysis-1.2}/tests/test_gwtransient_batch.py +0 -0
  49. {tdanalysis-1.1 → tdanalysis-1.2}/tests/test_highpass.py +0 -0
  50. {tdanalysis-1.1 → tdanalysis-1.2}/tests/test_imr_pol_sky_timing.py +0 -0
  51. {tdanalysis-1.1 → tdanalysis-1.2}/tests/test_invlij_cache.py +0 -0
  52. {tdanalysis-1.1 → tdanalysis-1.2}/tests/test_mode_power_peak.py +0 -0
  53. {tdanalysis-1.1 → tdanalysis-1.2}/tests/test_pe_smoke.py +0 -0
  54. {tdanalysis-1.1 → tdanalysis-1.2}/tests/test_psd_band_patching.py +0 -0
  55. {tdanalysis-1.1 → tdanalysis-1.2}/tests/test_shared_batch_generation.py +0 -0
  56. {tdanalysis-1.1 → tdanalysis-1.2}/tests/test_shared_ct_generation.py +0 -0
  57. {tdanalysis-1.1 → tdanalysis-1.2}/tests/test_shared_scalar_generation.py +0 -0
  58. {tdanalysis-1.1 → tdanalysis-1.2}/tests/test_sliding_forms.py +0 -0
  59. {tdanalysis-1.1 → tdanalysis-1.2}/tests/test_start_taper_only.py +0 -0
  60. {tdanalysis-1.1 → tdanalysis-1.2}/tests/test_subsample_alignment.py +0 -0
  61. {tdanalysis-1.1 → tdanalysis-1.2}/tests/test_taper_conditioning.py +0 -0
  62. {tdanalysis-1.1 → tdanalysis-1.2}/tests/test_toeplitz_generators.py +0 -0
  63. {tdanalysis-1.1 → tdanalysis-1.2}/tests/test_toeplitz_solver.py +0 -0
  64. {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)`.** Every
37
- `analysis_type = CT` run stopped with a `TypeError` when the sampler started.
38
- *(Vaishak Prasad)*
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}`, a zero-phase
55
- Butterworth filter (padded, filtered, cropped). This is needed when the
56
- covariance comes from a band-limited ACF: on GW250114 the whitened power d^T C⁻¹ d / N
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. *(Vaishak Prasad)*
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
- *(Vaishak Prasad)*
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.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)`.** Every
208
- `analysis_type = CT` run stopped with a `TypeError` when the sampler started.
209
- *(Vaishak Prasad)*
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}`, a zero-phase
226
- Butterworth filter (padded, filtered, cropped). This is needed when the
227
- covariance comes from a band-limited ACF: on GW250114 the whitened power d^T C⁻¹ d / N
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. *(Vaishak Prasad)*
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
- *(Vaishak Prasad)*
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.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