Witajcie moi drodzy programiście,
robię zadanie na metody numeryczne, która brzmi następując: Znaleźć wartości własne macierzy, metodą QR oraz metodą potęgową, metodę QR bez problemu udało mi się zaimplementować, niestety z metodą potęgową mam szereg problemów, w sieci bardzo nie wiele o niej jest opisane, czy mógłbym ktoś pomóc lub dać jakieś wskazówki ?:))
Parę informacji o tej metodzie można znaleźć tutaj:
http://osilek.mimuw.edu.pl/index.php?title=MN13
Prosze o pomoc !:)
Fragment mojego kody, z metodą QR oraz fragmentem Potęgowej:
import Jama.Matrix;
import Jama.QRDecomposition;
public class Start {
public static final double[][] tabA = { { 1, 2, 3},{ 2, 4, 5},{ 3, 5, -1} };
public static void main(String[] args) throws InterruptedException{
Matrix A = new Matrix(tabA);
Matrix qj;
System.out.print("A = ");
A.print(3, 1);
//Metoda potegowa
for(;;) {
}
//metoda QR
for (;;) {
double x = A.get(0, 0);
QRDecomposition qr = new QRDecomposition(A);
A = qr.getR().times(qr.getQ());
if(Math.abs(x - A.get(0,0)) < 10e-8) break;
}
System.out.println("Wartosci wlasne macierzy A z dokladnoscia 10^-8 - metoda QR");
A.print(11, 8);
//System.out.println("Wartosci wlasne macierzy A z dokladownoscia 10^-8 - metoda potegowa");
//X.print(11, 8);
}
}