Re: [MATH] Repurposing a deprecated constructor in EigenDecomposition

2013-10-27 Thread Phil Steitz
On 10/23/13 8:03 PM, Ted Dunning wrote: > On Wed, Oct 23, 2013 at 8:33 PM, Sean Owen wrote: > >> it feels a little funny just >> because then we should have similar logic for other decompositions. I >> think I remember the LU one stops early, always. >> > The stopping early is definitely an option

Re: [MATH] Repurposing a deprecated constructor in EigenDecomposition

2013-10-23 Thread Ted Dunning
On Wed, Oct 23, 2013 at 8:33 PM, Sean Owen wrote: > it feels a little funny just > because then we should have similar logic for other decompositions. I > think I remember the LU one stops early, always. > The stopping early is definitely an option with QR. With LU, it isn't so clear.

Re: [MATH] Repurposing a deprecated constructor in EigenDecomposition

2013-10-23 Thread Sean Owen
Ah I see so you can just stop computing the eigenvectors when the eigenvalues are too small. That does seem more efficient and then the zero values are left as literally 0. I think I should back up and implement the patch that way. The original question stands then -- what to do about the singular

Re: [MATH] Repurposing a deprecated constructor in EigenDecomposition

2013-10-23 Thread Ted Dunning
On Wed, Oct 23, 2013 at 3:14 PM, Sean Owen wrote: > EigenDecomposition resembles QR in this respect, as far as they are > implemented here. This argues for them to treat arguments similarly. > Actually not. It is quite reasonable for the EigenDecomposition to stop when singularity is reached.

Re: [MATH] Repurposing a deprecated constructor in EigenDecomposition

2013-10-23 Thread Sean Owen
Yeah it's a tricky one. I agree with the functionality, because the QR decomposition can happily operate on a singular matrix. R will be singular if A is, AFAIK. So the singularity threshold business belongs more in the bit that uses R, yes. The same could be said of the SVD. But it provides no si

Re: [MATH] Repurposing a deprecated constructor in EigenDecomposition

2013-10-23 Thread Thomas Neidhart
Hi Sean, while looking at the QRDecomposition, it is interesting that the threshold value provided to the constructor of QRDecomposition is only used to pass it on the the Solver created by getSolver(). Imho, it would be more logical to chose the singularity threshold when calling getSolver() for

[MATH] Repurposing a deprecated constructor in EigenDecomposition

2013-10-23 Thread Sean Owen
In MATH-1045 (https://issues.apache.org/jira/browse/MATH-1045) we have discussed adding a zero threshold tolerance to EigenDecomposition just like QRDecomposition has. This involves adding a new constructor with a new double parameter. Just one problem: there's already such a constructor: /**