quantax.optimizer.pinvh_solve#
- quantax.optimizer.pinvh_solve(rtol: float | None = None, atol: float = 0.0) Callable[[...], Array]#
Solver for a Hermitian linear equation \(H x = b\) via the pseudo-inverse of \(H\) obtained from its eigendecomposition. Unlike the other solvers, the input is the Hermitian matrix \(H\) itself rather than the rectangular \(A\), so this is used to solve the \(S \dot\theta = F\) equation in
TimeEvol.- Parameters:
rtol – The relative tolerance for the pseudo-inverse. Eigenvalues smaller than
rtol * max|eigenvalue| + atolare smoothly truncated. Default to \(10^{-12}\) for double precision and \(10^{-6}\) for single precision.atol – The absolute tolerance for the pseudo-inverse, default to 0.
- Returns:
A solver function with two arguments H and b and one output x as the solution of \(H x = b\).