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

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

A first round on fixing this bug has been committed in the subversion 
repository as of r894735.
Axel example is confirmed to be an occurrence of the same bug as Dieter example.

The SVD is now computed either as a compact SVD (only positive singular values 
considered) or as a truncated SVD
(max number of singular values to consider is user-specified). The solver 
simply applies the pseudo-inverse.

The fix is not considered complete yet because I think that the results 
provided by the solver are not really the ones
that give the smallest residuals. See for example the commented out parts of 
testMath320A in
SingularValueSolverTest.  Could you check this, please ?

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

Reply via email to