Функция hqr вычисляет собственные значения действительной матрицы заданной в верхней форме Хессенберга, т.е когда все элементы матрицы h[i][j] при i > j + 1 равны нулю: bool hqr ( unsigned int n, double * const * h, double * wr, double * wi ); Вещественная часть собственных значений помещается в массив wr, а мнимая в wi. Значения элементов матрицы h в ходе алгоритма изменяются. Матрицу общего вида можно привести к верхней форме Хессенберга при помощи следующей функции:void orthes ( unsigned int n, double * const * a ); Оба алгоритма были взяты из книги "Справочник алгоритмов на языке Алгол" ( Уилкинсон, Райнш ) и переписаны на С++. Исходники находятся в файле mathem.cpp. Наверх |