cirq.linalg.bidiagonalize_real_matrix_pair_with_symmetric_products

Finds orthogonal matrices that diagonalize both mat1 and mat2.

Requires mat1 and mat2 to be real. Requires mat1.T @ mat2 to be symmetric. Requires mat1 @ mat2.T to be symmetric.

mat1 One of the real matrices.
mat2 The other real matrix.
rtol Relative numeric error threshold.
atol Absolute numeric error threshold.
check_preconditions If set, verifies that the inputs are real, and that mat1.T @ mat2 and mat1 @ mat2.T are both symmetric. Defaults to set.

A tuple (L, R) of two orthogonal matrices, such that both L @ mat1 @ R and L @ mat2 @ R are diagonal matrices.

ValueError Matrices don't meet preconditions (e.g. not real).