#11248: SVD matrix decomposition may return a non-invertible "unitary" matrix
------------------------------+---------------------------------------------
Reporter: rbeezer | Owner: jason, was
Type: defect | Status: new
Priority: major | Milestone: sage-4.7
Component: linear algebra | Keywords:
Work_issues: | Upstream: N/A
Reviewer: | Author:
Merged: | Dependencies:
------------------------------+---------------------------------------------
Comment(by rbeezer):
Samuel,
Here's something you could try to see how prevalent this problem is. Copy
this command and just run it repeatedly in Sage, with an up-arrow to get
it back from the history. If it prints `False`, then the matrix it prints
is a failure for the SVD.
If failures are rare, you can capture the matrix causing it.
If you get lots of failures then maybe reduce the dimensions (4 and 8)
down to something even smaller to find a minimal example.
{{{
A = (random_matrix(ZZ, 4, 8) + I*random_matrix(ZZ, 4, 8)); B =
A.change_ring(CDF); U,S,V = B.SVD(); A; print; (U.is_unitary() and
V.is_unitary())
}}}
I'm going to try to write a pure numpy version of this. But Easter Dinner
first, I think.
Rob
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/11248#comment:2>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sage-trac?hl=en.