# O(n^2) algorithm to approximate the sum of the log of the singular values of a matrix

Given an $M \times N$ matrix of rank $N$ ($M \ge N$) with $i^{th}$ singular value $\sigma_i$, does their exist an $O(M^2)$ algorithm for approximating the sum $H =\sum_{i=1}^N \log(\sigma_i)$ with absolute error less than $M^{-\alpha}\log(\frac{\sigma_{max}}{\sigma_{min}})$ and $\alpha > 0$? Such an algorithm would be useful for fast computation of the entropy of normal distributions that arise in the probabilistic formulation of linear inverse problems.

-
Isn't this equivalent to finding the determinant of $A^*A$? (which doesn't have, yet, an $O(M^2)$ algorithm) –  Dror Speiser Jun 19 '10 at 7:33
Do you expect your matrices to be sparse? –  S. Carnahan Jun 19 '10 at 16:55
I wish I could make some assumptions about the matrix. In reality there is just such a large diversity of applications that result in different kinds of matrices. I suppose I should try to identify a few of my favorite problems and see what can be done (although in light of the response below it seems apparent that O(M^2) might be a bit too naive). –  Gabriel Mitchell Jun 25 '10 at 16:46

$O(M^2)$ is barely enough time to read the entire matrix, let alone to do any meaningful computations. Suppose for instance that M=N was A was a permutation matrix except with the 1 coefficients replaced by coefficients between 1 and 2, so $\sigma_{max} / \sigma_{min} \sim 2$. In order to compute H to the desired accuracy, one has to locate every last non-trivial entry of the permutation matrix, which can barely be done in $O(M^2)$ operations (and in fact one has to lose a log or two to do the required high precision arithmetic).