6
$\begingroup$

I've come up with the following piece of Python code (using the library Sympy):

def double_diagonalize(m1, m2):
    V, _ = (m1.T * m2).diagonalize()
    U, _ = (m1 * m2.T).diagonalize()
    return U, V

What I've found is that given many (but not all) random pairs of $ n \times n$ matrices $M_+$ and $M_-$, it produces $U$ and $V$ such that both $U^{-1} M_+ V^{-T}$ and $U^T M_- V$ evaluate to diagonal matrices.

My question is, is this result known? And by what name? It looks similar to Generalised Schur Decomposition except that the matrices $U$ and $V$ are not necessarily unitary, and the (pair of) "normal forms" $U^{-1} M_+ V^{-T}$ and $U^T M_- V$ are usually fully diagonal instead of merely upper triangular.

It might be related to this as well: https://en.wikipedia.org/wiki/Eigendecomposition_of_a_matrix#Generalized_eigenvalue_problem

$\endgroup$
0

1 Answer 1

3
$\begingroup$

It's the solution of the product eigenvalue problem $M_1^T M_2$, once you transpose the second relation.

$\endgroup$
2
  • $\begingroup$ I'm reading the paper you linked to $\endgroup$
    – wlad
    Sep 18, 2020 at 8:30
  • $\begingroup$ I'm not sure you will find that exact decomposition there (since it does not always exist, and orthogonal decompositions are preferred in computational practice), but that is the framework under which your problem falls in today's research terms in computational linear algebra. $\endgroup$ Sep 18, 2020 at 8:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.