Работа выполняется в течение двух занятий в компьютерном классе.
Группа делится на команды по 2-3 человека. Каждая команда получает задание:
1) численно вычислить все собственные значения и собственные векторы заданной симметричной матрицы (п.2.7);
2) команды с четными номерами численно вычисляют максимальное по модулю собственное значение и соответствующий ему собственный вектор той же матрицы степенным методом (п.2.5), а команды с нечетным номером – методом скалярных произведений (п.2.6);
3) проверить правильность вычислений с помощью программы умножения матриц (п.2.1). В случае неверного срабатывания программ пп.2.5 или 2.6 из-за начальных условий пересчитать эти программы с новыми начальными условиями (см. п.2.5)
После получения и сравнения результатов задача вычисления всех собственных значений и собственных векторов матрицы решается в Маткаде с помощью следующих стандартных подпрограмм:
- eigenvais(A) — вычисляет вектор, элементами которого являются собственные значения матрицы А;
- eigenvecs(A) — вычисляет матрицу, содержащую нормированные собственные векторы, соответствующие собственным значениям матрицы А;
- n -й столбец вычисляемой матрицы соответствует собственному вектору n -го собственного значения, вычисляемого eigenvais;
- eigenvec(A, A) — вычисляет собственный вектор для матрицы А и заданного собственного значения L;
- А — квадратная матрица.
Применение этих функций иллюстрирует листинг 1. Проверка правильности нахождения собственных векторов и собственных значений приведена в листинге 2. Причем проверка правильности выражения Ах = Lх проведена дважды — сначала на числовых значениях х и L, а потом путем перемножения соответствующих матричных компонентов.
|
|
Листинг 1. Поиск собственных векторов и собственных значений в Маткаде.
Листинг 2. Проверка правильности нахождения собственных векторов собственных значений
Результаты выполнения всей работы подтверждаются визуально (не экране монитора) и документально (в рабочих тетрадях).
Зачет выставляется всей команде, за исключением отсутствующих на занятиях.