Assume a real, square, symmetric, invertible $n \times n$ matrix $M$ and a real, rectangular $m \times n$ matrix $A$ such that $m \geq n$ and $M = A^T A$. Also assume that $A = B C$, where $B$ is diagonal ($m \times m$) and $C$ is rectangular ($m \times n$) with orthonormal columns. Thus:

\begin{align} M &= A^T A \\ &= (BC)^T BC \\ &= C^T B^T B C \\ &= C^T B^2 C \end{align}

What are some possible strategies for simplifying $\det(M)$ here, ideally in terms of $A$, $B$, and/or $C$? (Note: I'm looking for a closed-form expression, not a numerical approach.)

Here are a few initial thoughts:

  • It seems that there should be a simple solution here, given that $C$ has orthonormal columns and $B$ is diagonal.
  • The fact that $C$ is rectangular complicates things a bit: e.g. if $C$ were square, $C^T B^2 C$ would provide a direct eigendecomposition of $M$.
  • Singular value decomposition (SVD) appears useful here. For example, the non-zero singular values of $A$ are square roots of the eigenvalues of both $A^T A$ and $A A^T$, and $\det(M)$ is just the product of these eigenvalues; however, applying SVD to $A$ would produce the factorization: $A = U \Sigma V^T$, requiring square orthogonal $U$ and $V$ and rectangular diagonal $\Sigma$, which doesn't quite map onto the $A = BC$ above, where B is square diagonal and $C$ is rectangular with orthonormal columns.
  • Maybe there is a way to apply QR decomposition? (Then $\det(M)$ is simple based on the diagonal elements of $R$.) But again, there is no clear mapping from the $B C$ above onto $Q$ (square orthogonal) and $R$ (rectangular triangular).
  • Maybe some other matrix decomposition method would help? Or maybe there's something really simple that I am overlooking?

1 Answer 1


The simplest thing I can think of is to take the QR decomposition of $A=BC$, then $\det(M)$ is simply the square of the product of the diagonal elements of $R$.

  • $\begingroup$ Thanks, but I'm looking for a way to use $B$ and $C$ directly to get $\det(M)$... Applying QR decomposition to $A$ directly (without taking into account the structure of $B$ and $C$) seems to require a separate orthogonalization procedure, which I was hoping to avoid (i.e. given that C already contains orthogonal columns). $\endgroup$ Dec 19, 2014 at 0:47
  • 1
    $\begingroup$ Yes, and I'm saying that I don't think it's possible to use $B$ and $C$ directly. The orthogonality of $C$ is not helpful here since $B$ applies a row scaling on it. You can only obtain a determinant from $B$; there is no notion of determinant for $C$, so unless $\det(B)$ is related to $\det(M)$, there's nothing you can do. I tested this numerically in Matlab and there's nothing obvious to do about it. $\endgroup$
    – Victor Liu
    Dec 19, 2014 at 17:15

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .