Calculate determinant of unitary matrices based on SVD implementation
Asked Answered
T

0

7

I have a real square matrix X which I need to perform a Singular Value Decomposition on. Now, performing the operation

X=USV^T

as U and V are orthogonal, we know that det(X)=±det(S) and det(S) is non-negative as singular values are non-negative.

Now, I need to know the sign of the determinants of U and V (which is the same as knowing the determinants, of course). However, the naive approach costs me 2 O(N^3)

I was wondering whether someone knows of a way to either

  1. Infer the sign of the determinants of U and V as a bi-product of the SVD-implementation in numpy,scipy or a similar library in Python, without having to call det(U) and det(V).
  2. Calculate the determinant of an orthogonal matrix which is faster than the default implementation of det(U), based on the fact that U/V is orthogonal.
Terpene answered 5/11, 2021 at 14:17 Comment(3)
Interesting question. I think you have better chances of getting an answer at scicomp.SEVetchling
Now also posted at Computational Science SE which is good!Roundhead
Are you implementing SVD by yourself, if not, your question reduces to math.stackexchange.com/questions/900553Dissolvent

© 2022 - 2024 — McMap. All rights reserved.