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 singularity
threshold parameter given the existence of a constructor with the
signature already? because that is where it belongs. Adding an extra
boolean flag dodges that question; 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.
On Wed, Oct 23, 2013 at 4:50 PM, Ted Dunning <ted.dunning@gmail.com> wrote:
> On Wed, Oct 23, 2013 at 3:14 PM, Sean Owen <srowen@gmail.com> 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. This affects the shape of the eigenvector
> matrix.
>
> Perhaps add a new constructor with a double tolerance and a boolean that
> says to stop early. QR is subject to the same logic since partial QR is
> often more useful than full QR with singular R. This is the same logic as
> with Cholesky since QR and Cholesky are two sides of the same coin in many
> respects.

To unsubscribe, email: devunsubscribe@commons.apache.org
For additional commands, email: devhelp@commons.apache.org
