[
https://issues.apache.org/jira/browse/MATH-320?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12792062#action_12792062
]
Axel Kramer commented on MATH-320:
----------------------------------
Is this a similar problem for the getU() method?
public void testU() {
double[][] testMatrix = {
{ 1.0 , 2.0 },
{ 1.0 , 2.0 } };
SingularValueDecompositionImpl svd =
new
SingularValueDecompositionImpl(MatrixUtils.createRealMatrix(testMatrix));
// wrong result:
assertEquals("Array2DRowRealMatrix{{-0.7071067811865472,NaN},{-0.7071067811865475,NaN}}",
svd.getU().toString());
}
> NaN singular value from SVD
> ---------------------------
>
> Key: MATH-320
> URL: https://issues.apache.org/jira/browse/MATH-320
> Project: Commons Math
> Issue Type: Bug
> Affects Versions: 2.0
> Environment: Linux (Ubuntu 9.10) java version "1.6.0_16"
> Reporter: Dieter Vandenbussche
>
> The following jython code
> Start code
> from org.apache.commons.math.linear import *
>
> Alist = [[1.0, 2.0, 3.0],[2.0,3.0,4.0],[3.0,5.0,7.0]]
>
> A = Array2DRowRealMatrix(Alist)
>
> decomp = SingularValueDecompositionImpl(A)
>
> print decomp.getSingularValues()
> End code
> prints
> array('d', [11.218599757513008, 0.3781791648535976, nan])
> The last singular value should be something very close to 0 since the matrix
> is rank deficient. When i use the result from getSolver() to solve a system,
> i end
> up with a bunch of NaNs in the solution. I assumed i would get back a least
> squares solution.
> Does this SVD implementation require that the matrix be full rank? If so,
> then i would expect
> an exception to be thrown from the constructor or one of the methods.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.