Bilby network SNRs
I noticed in this bilby review issue that we are seeing a difference between bilby and LI network SNRs. But, the per-detector SNRs agree nicely.
The bilby matched filter SNRs are complex. I think that in this line the complex SNRs are not being handles correctly (but I'm not 100%)
Things agree nicely here:
In [5]: from pesummary.gw.file.conversions import network_snr
In [7]: network_snr([2, 3])
Out[7]: 3.605551275463989
In [8]: network_snr([2 + 0j, 3 + 0j])
Out[8]: (3.605551275463989+0j)
But, for complex input with non-zero imaginary numbers, to match LI (which already takes the absolute value of the MF), one would need to first take the absolute value of each element and then square, sum, and square root. Otherwise, there is a difference:
In [14]: network_snr([2 + 0.1j, 3 + 0.1j])
Out[14]: (3.605444758352612+0.1386791459893171j)
In [15]: np.abs(_)
Out[15]: 3.6081108368597343
In [16]: network_snr(np.abs([2 + 0.1j, 3 + 0.1j]))
Out[16]: 3.608323710533743
cc/ @charlie.hoy, @cj.haster, @colm.talbot I'm not certain what behaviour we want.
Edited by Gregory Ashton