Mercurial > hg > ishara
annotate general/numerical/matrix/logdet.m @ 29:61921dceded1
More documentation on type system.
author | samer |
---|---|
date | Sat, 19 Jan 2013 17:56:21 +0000 |
parents | db7f4afd27c5 |
children |
rev | line source |
---|---|
samer@4 | 1 function y = logdet(A) |
samer@4 | 2 % logdet - logdet(X)=log(det(X)) where A is positive-definite and Hermitian. |
samer@4 | 3 % |
samer@4 | 4 % logdet :: [[N,N]] -> nonneg. |
samer@4 | 5 % |
samer@4 | 6 % This is faster and more stable than using log(det(A)). |
samer@4 | 7 % Samer: Use LOGABSDET for general matrices. |
samer@4 | 8 |
samer@4 | 9 % From Tom Minka's lightspeed toolbox |
samer@4 | 10 |
samer@4 | 11 [U,p] = chol(A); |
samer@4 | 12 if p>0, y=-inf; |
samer@4 | 13 else y = 2*sum(log(full(diag(U)))); |
samer@4 | 14 end |