|View source on GitHub|
Returns an orthogonal matrix that diagonalizes both given matrices.
cirq.linalg.diagonalize_real_symmetric_and_sorted_diagonal_matrices( symmetric_matrix: np.ndarray, diagonal_matrix: np.ndarray, *, rtol: float = 1e-05, atol: float = 1e-08, check_preconditions: bool = True ) -> np.ndarray
The given matrices must commute. Guarantees that the sorted diagonal matrix is not permuted by the diagonalization (except for nearly-equal values).
||A real symmetric matrix.|
||A real diagonal matrix with entries along the diagonal sorted into descending order.|
||Relative numeric error threshold.|
||Absolute numeric error threshold.|
||If set, verifies that the input matrices commute and are respectively symmetric and diagonal descending.|
|An orthogonal matrix P such that P.T @ symmetric_matrix @ P is diagonal and P.T @ diagonal_matrix @ P = diagonal_matrix (up to tolerance).|
||Matrices don't meet preconditions (e.g. not symmetric).|