You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Luc Maisonobe (JIRA)" <ji...@apache.org> on 2009/11/10 21:23:27 UTC

[jira] Commented: (MATH-320) NaN singular value from SVD

    [ https://issues.apache.org/jira/browse/MATH-320?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12776063#action_12776063 ] 

Luc Maisonobe commented on MATH-320:
------------------------------------

This is a real new bug, thanks for reporting it.

Before I look more precisely at it, could you do a quick check for me ?

If at the end of the SingularValueDecompositionImpl constructor, around line 118 in the java source file you change from:
{noformat}
  singularValues[i] = Math.sqrt(singularValues[i]);
{noformat}
to
{noformat}
  singularValues[i] = Math.sqrt(Math.max(0, singularValues[i]));
{noformat}

does the problem still appear on singular values and does the solver work properly ?

> 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.