V3opt fix integration dense output
This small fix prevents waveform generation failures in approximant SEOBNRv3_opt ("v3_opt"). The table below summarizes faithfulness results (of 100,000 tests) when comparing SEOBNRv3 ("v3") with v3_opt and v3_opt with "v3_opt_pert", which is the same as v3_opt but begins by perturbing mass 1 at the 15th significant digit. "master" refers to commit 3e53dbd1 on LALSuite's master branch.
Approximants | Version | < 0.8 | < 0.9 | < 0.95 | <0.99 | < 0.999 | Failures |
---|---|---|---|---|---|---|---|
v3 vs. v3_opt | master | 4 | 40 | 135 | 1256 | 5731 | 0 |
v3 vs. v3_opt | fix | 4 | 40 | 135 | 1262 | 5698 | 0 |
v3_opt vs. v3_opt_pert | master | 2 | 7 | 25 | 248 | 1175 | 0 |
v3_opt vs. v3_opt_pert | fix | 1 | 7 | 25 | 243 | 1173 | 0 |
As you can see, the results are similar. But known cases of failures in v3_opt are remedied by this patch by
- preventing reading past the end of an array (replacing repeated addition with multiplication) and
- by preventing an "evenly-sampled-in-time" array from becoming unevenly sampled.
Edited by Ghost User