Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Маркова Вычислит методы алгебры Практикум.doc
Скачиваний:
204
Добавлен:
14.04.2015
Размер:
3.88 Mб
Скачать

П 4.1 Метод Данилевского для нахождения собственных значений и собственных векторов

Рассмотрим метод Данилевского.

Этот метод основан на том, что преобразование подобия не изменяет характеристического многочлена матрицыА [10]. Матрицы, связанные преобразованием подобия, имеют одинаковые спектры. Поэтому, удачно подобрав преобразование подобия, можно получить матрицу, собственный многочлен, который записывается непосредственно по ее виду. М.А. Данилевский предложил исходную матрицу А приводить преобразованием подобия к так называемой канонической форме Фробениуса.

. (1)

Характеристический полином матрицы Ф можно записать в виде

. (2)

Таким образом, элементы первой строки матрицы Фробениуса являются соответствующими коэффициентами ее собственного многочлена, а значит, и собственного многочлена исходной матрицыА, связанной с матрицей Ф преобразованием подобия:

. (3)

Решая уравнение

, (4)

найдем собственные значения матриц Фробениуса и А.

Следовательно, основная задача сводится к отысканию матрицы S, которая обеспечивает преобразование подобия от матрицы A к матрице Ф.

Рассмотрим эти преобразования и построим матрицу Фробениуса.

Возьмем единичную матрицу, размерность которой соответствует размерности матрицы А.

В единичной матрице n1 строка заменяется строкой, сформированной из элементов n-ой строки матрицы А, взятых с противоположным знаком, после их деления на элемент . Только элементn1 столбца формируется по-иному. В эту позицию выставляется элемент, обратный элементу .

Получим матрицу

.

Умножение матрицы А справа на матрицу дает матрицу, в которой последняя строка принимает нужный вид, т.е. совпадает с последней строкой матрицы Фробениуса. Затем полученную матрицу умножим слева на матрицу(обратную), которая существует, так как, т.е в единичной матрице(n1)-строка заменяется n-строкой исходной матрицы А.

.

Очевидно, что преобразование не изменяет последнюю строку матрицы. Таким образом, после выполнения первого шага метода Данилевского, получаем матрицу:

.

При этом матрицы изаписываются непосредственно по виду матрицыА.

Второй шаг метода Данилевского аналогичен первому. Приведем вторую снизу строку матрицы к форме Фробениуса при сохранении неизменной первой снизу строки. Для этого проводим преобразование:, где

.

.

Итак, если , то послеn–1 шагов будем иметь:

, (5)

где матрицы формируются из единичной матрицы заменой элементовni строки на элементы, полученные делением элементов ni+1 строки матрицы А, взятых с противоположным знаком, на ni элемент столбца из этой строки.

Преобразование (5) можно записать следующим образом:

Тем самым исходная матрица А посредством преобразования подобия с матрицей будет приведена к канонической форме Фробениуса, по виду первой строки которой записывается собственный многочлен: .

Решая уравнения (4), найдем собственные значения матрицы Ф, а следовательно и матрицы А.

Пример 1. С помощью преобразования подобия привести матрицу А к канонической форме Фробениуса. Найти собственные значения матрицы А.

.

Решение:

Первый этап

,

,

.

Второй этап

,

.

Третий этап

,

,

.

Первая строка матрицы Ф определяет коэффициенты характеристического уравнения матрицы А, которое имеет вид .

Корни этого уравнения являются собственными значениями матрицы Ф, а следовательно матрицы А. Решаем уравнение, получаем

.

Найдем собственные векторы матрицы А.

Собственные векторы матриц Ф и А, принадлежащие одним и тем же собственным значениям, будут различны, но между ними существует связь [10].

Если Х – собственный вектор матрицы А, принадлежащий собственному значению , а вектор Y – собственный вектор матрицы Фробениуса , принадлежащий тому же собственному значениюλ, то вектор SY также будет собственным вектором матрицы А, соответствующим собственному значению , т.е. X = SY.

Действительно, так как ФY = Y и , то следовательно .

Умножая это равенство слева на матрицу S, получаем ,учитывая, что , имеем

X = SY. (6)

Итак, собственные векторы матрицы А легко определить по соответствующим собственным векторам матрицы Ф.

Найдем собственные векторы матрицы Ф. Имеем ФY=Y

.

Отсюда получаем систему

. (7)

Так как собственный вектор матрицы определен с точностью до постоянного множителя, то полагаем .

Тогда из предыдущих равенств системы можно последовательно найти остальные координаты вектора Y

. (8)

Равенство можно использовать для контроля вычислений.

Собственный вектор , соответствующий числу, определяется равенством:

, (9)

где  собственный вектор матрицы Фробениуса, соответствующий собственному значению i.

Отдельные координаты вектора находим из равенства (9), в предположении, что .

Пример 2. Найти собственные векторы матрицы из предыдущего примера.

Решение:

Матрица Фробениуса построена

.

Собственные значения найдены

.

Найдем собственные вектора матрицы А.

Матрица подобия имеет вид

.

Собственные векторы матрицы Фробениуса:

, ,

, .

Собственные векторы матрицы А

, ,

, .

Пример 3. В рамках метода Данилевского реализовать операцию перемножения матриц.

Данный метод описан в матричном классе «SquareMatrix».

Реализация на языке программирования С++ может иметь следующий вид:

SquareMatrix SquareMatrix :: operator *(SquareMatrix B){

int n = this->size;

int m = B.getColCount();

/* Объявление результирующей матрицы*/

double **C = new double*[n];

for (int i=0; i < n; i++){

C[i] = new double[m];

}

/* Вычисление произведения матриц*/

for (int i = 0; i < n; i++){

for (int j = 0; j < m; j++){

for (int k = 0; k < n; k++){

C[i][j]+=this->elements[i][k]*B.elements[k][j];

}

}

}

/* Создание матрицы*/

return SquareMatrix(n, C);

};