One of the task scheduled for 2.0 is the implementation of the Singular Value Decomposition.
I think this addition should be done together with several other decompositions in a consistent scheme. What we have currently is: - LU decomposition embedded directly into [Real/Big]MatrixImpl without any reference to it in the [Real/Big]Matrix interfaces - one QR decomposition as 1) an interface which is really only a way to retrieve results 2) an implementation which performs the decomposition on RealMatrix - another QR decomposition hidden in the Levenberg-Marquardt estimator An API for these tasks was proposed by MathWorks and NIST with the JAMA package (http://math.nist.gov/javanumerics/jama/). This package provides specific classes for the decomposition (LUDecomposition, QRDecomposition ...). These classes provide accessors for the elements of the decomposition (say L and U) but more importantly they provide methods to use the decomposition: a solve method for LU, QR and Cholesky for example. Jama has been widely used but is dead now (see for example http://cio.nist.gov/esd/emaildir/lists/jama/msg01384.html). The code is in the public domain. I would propose to roughly follow Jama API, probably adding interfaces on top of the decomposition classes to be consistent with our other algorithms, and using the public domain Jama code as a basis. We could also address simply the issue about SVD in the original message. The changes in our code would be to extract LU from the XxxMatrixImpl classes, to add new methods to the QR interface and to see how the Levenberg-Marquardt algorithm can use this (I think this last step is the most difficult, as the QR decomposition used there is slightly distorted). What do you think about it ? Luc --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]