PrecessingFisherMatrix API Reference
- RIFT.physics.PrecessingFisherMatrix.ApproximatePrecessingFisherMatrixElement(P, p1, p2, psd, return_intermediate=False, phase_deriv_cache=None, break_out_beta=False, **kwargs)
- RIFT.physics.PrecessingFisherMatrix.ApproximatePrecessingFisherMatrixElementFactor(P, p1, p2, m, s, psd, phase_deriv_cache=None, omit_geometric_factor=False, break_out_beta=False, **kwargs)
ApproximatePrecessingFisherMatrixElementFactor computes the weighted integral appearing in the sum, and the SNR weight.
Ideally this calculation should CACHE existing phase derivatives (eg. by top-level user) Arguments:
phase_deriv_cache : derivative of dphase/dlambda for different parameters
omit_geometric_factor :
- RIFT.physics.PrecessingFisherMatrix.EffectiveFisherMatrixElement(P, p1, p2, psd, max_t=True, **kwargs)
- RIFT.physics.PrecessingFisherMatrix.FisherProject(mtx, indx_list_preserve)
returns mtxAA - mtxAB*(mtxBB^(-1))*mtxBA calculated using matrix algebra
- RIFT.physics.PrecessingFisherMatrix.NumericalFisherMatrixElement(P, p1, p2, psd, max_t=False, **kwargs)
Full, no-approximations use of <d h | d h>
NOT RELIABLE – requires OBSCENELY small step to make deltas of phase resolved.
- RIFT.physics.PrecessingFisherMatrix.OverlapGridVersusChangingParameter(P, p1, p2, psd, max_t=False, cut_P=0.95, **kwargs)
Extract <h1|h2>/|h1||h2| as a function of one parameter (Intent here is for plotting or fitting, to extract diagonal fisher components)
- RIFT.physics.PrecessingFisherMatrix.OverlapVersusChangingParameter(P, p1, psd, max_t=False, cut_P=0.95, **kwargs)
Extract <h1|h2>/|h1||h2| as a function of one parameter (Intent here is for plotting or fitting, to extract diagonal fisher components)
- RIFT.physics.PrecessingFisherMatrix.PhaseDerivativeSeries(P, p1, skip_fast_derivative=False)
Using the waveform, constructs an array on a full range of f values which is nonzero only for f>0
- RIFT.physics.PrecessingFisherMatrix.PhaseSequenceLeadingOrder(P)
Like lalsimutils.PrecessingOrbitModesOfFrequencyApproximate(return_phase=True), but based on leading-order expressions, calculated using V.
One-sided.
irregular frequency sampling (not identical to what will be generated by that code)
- RIFT.physics.PrecessingFisherMatrix.array_to_symmetric_matrix(gamma)
Given a flat array of length N*(N+1)/2 consisting of the upper right triangle of a symmetric matrix, return an NxN numpy array of the symmetric matrix
- Example:
gamma = [1, 2, 3, 4, 5, 6] array_to_symmetric_matrix(gamma)
- array([[1,2,3],
[2,4,5], [3,5,6]])
- RIFT.physics.PrecessingFisherMatrix.effectiveFisher(residual_func, *flat_grids)
Fit a quadratic to the ambiguity function tabulated on a grid. Inputs:
a pointer to a function to compute residuals, e.g. z(x1, …, xN) - fit for N-dimensions, this is called ‘residualsNd’
N+1 flat arrays of length K. N arrays for each on N parameters, plus 1 array of values of the overlap
- Returns:
flat array of upper-triangular elements of the effective Fisher matrix
Example: x1s = [x1_1, …, x1_K] x2s = [x2_1, …, x2_K] … xNs = [xN_1, …, xN_K]
gamma = effectiveFisher(residualsNd, x1s, x2s, …, xNs, rhos) gamma
[g_11, g_12, …, g_1N, g_22, …, g_2N, g_33, …, g_3N, …, g_NN]
- RIFT.physics.PrecessingFisherMatrix.residuals2d(gamma, y, x1, x2)