  Joint diagonalization of a set of positive (semi)-definite matrices has a
wide range of analytical applications, such as estimation of common principal
components, estimation of multiple variance components, and blind signal
separation. However, when the eigenvectors of involved matrices are not the
same, joint diagonalization is a computationally challenging problem. To the
best of our knowledge, currently existing methods require at least $O(KN^3)$
time per iteration, when $K$ different $N \times N$ matrices are considered. We
reformulate this optimization problem by applying orthogonality constraints and
dimensionality reduction techniques. In doing so, we reduce the computational
complexity for joint diagonalization to $O(N^3)$ per quasi-Newton iteration.
This approach we refer to as JADOC: Joint Approximate Diagonalization under
Orthogonality Constraints. We compare our algorithm to two important existing
methods and show JADOC has superior runtime while yielding a highly similar
degree of diagonalization. The JADOC algorithm is implemented as open-source
Python code, available at https://github.com/devlaming/jadoc.
