Looks like Lanczos is having the same problem and need to undo some
workarounds :

    EigenDecomposition decomp = new EigenDecomposition(triDiag);

    Matrix eigenVects = decomp.getV();
    Vector eigenVals = decomp.getRealEigenvalues();
    endTime(TimingSection.TRIDIAG_DECOMP);
    startTime(TimingSection.FINAL_EIGEN_CREATE);
    for (int row = 0; row < i; row++) {
      Vector realEigen = null;
      // the eigenvectors live as columns of V, in reverse order.  Weird
but true.
      Vector ejCol = eigenVects.viewColumn(i - row - 1);
      int size = Math.min(ejCol.size(), state.getBasisSize());



On Wed, Jul 10, 2013 at 12:53 PM, Dmitriy Lyubimov <[email protected]>wrote:

> changing line 329 of EigenDecomposition.java from
>
>         if (d.getQuick(j) < p) {
>
> to
>         if (d.getQuick(j) > p) {
>
>
> makes my MAHOUT-1281 patch work.
>
> should i keep the change? (question for Ted, i guess)
>
> thanks.
> -D
>
>
>
>
> On Wed, Jul 10, 2013 at 11:59 AM, Dmitriy Lyubimov <[email protected]>wrote:
>
>> It looks like values out of our ported EigenDecomposition are coming out
>> sorted in inverse order.
>>
>> Shouldn't it be the other way around?
>>
>
>

Reply via email to