Я пытаюсь использовать функцию getEigenPair (int Index) из библиотек ojAlgo, однако продолжаю получать ArrayIndexOutOfBoundsException для значений индекса больше 0. Код показан ниже:
ComplexDenseStore storeA;
Eigenvalue<ComplexNumber> E;
Eigenpair P1, P2, P3, P4;
storeA = Some_4_by_4_SquareMatrix;
E = Eigenvalue.COMPLEX.make(storeA, true);
E.decompose(storeA);
P1 = E.getEigenPair(0); // This works.
P2 = E.getEigenPair(1); // This throws an exception
P3 = E.getEigenPair(2); // The code doesn't make it to here.
P4 = E.getEigenPair(3); // The code doesn't make it to here either.
Я могу успешно получить собственные значения и собственные векторы, используя следующие вызовы функций:
Array1D<ComplexNumber> values = E.getEigenvalues();
MatrixStore<ComplexNumber> vectors = E.getEigenvectors();
но getEigenPair (...) работает только для индекса 0. Где я иду не так?
Я предположил, что индексный параметр для getEigenPair равен нулю, где 0 получает первую собственную пару, 1 получает вторую, 2 получает третью и так далее ...