- •Указания по выполнению и защите практических заданий
- •Листинг программы
- •Интерфейс программы
- •Ввод
- •Вывод
- •Построение графиков
- •Нелинейные уравнения и системы
- •Уравнения с одним неизвестным
- •Системы нелинейных уравнений
- •Минимизация функций
- •Минимум функции 1 переменной.
- •Многомерная минимизация.
- •Вычислительные задачи линейной алгебры
- •Прямые методы для задач линейной алгебры
- •Итерационные методы решения СЛАУ
- •Алгебраическая проблема собственных значений
- •Приближение функций
- •Функции одной переменной
- •Обратная интерполяция (ИМН, ИМЛ)
- •Наилучшее среднеквадратическое приближение
- •Функции многих переменных
- •Численное дифференцирование
- •Численное интегрирование
- •Приложения
- •Правила оформления листинга программы
- •Нормы векторов и матриц
- •Нормы векторов
- •Нормы матриц
5Вычислительные задачи линейной алгебры
Вычислительные задачи линейной алгебры подразделяются на:
1.Решение систем линейных алгебраических уравнений (СЛАУ);
2.Нахождение определителей;
3.Нахождение обратных матриц;
4.Задачи на собственные значения.
Методы, применяемые для решения этих задач, подразделяются на прямые и итерационные. В связи с тем, что многие прямые методы, предназначенные для решения СЛАУ, после небольшой модификации применимы также для нахождения определителей и обратных матриц, практические задания сгруппированы следующим образом:
1.Прямые методы для задач линейной алгебры.
2.Итерационные методы решения СЛАУ.
3.Задачи на собственные значения.
5.1Прямые методы для задач линейной алгебры
Ниже будут представлены варианты заданий для прямых методов решения СЛАУ,
|
~ |
|
|
|
a21 |
a22 |
. . . a2n |
|
|
|
x2 |
~ |
b2 |
~x = b; где |
|
= |
a11 |
a12 |
. . . a1n |
; |
~x = |
x1 |
; b = |
b1 |
|||
|
|
|
|
|
|
|
|
... |
|
... |
|||
A |
|
A |
|
|
. |
. . . |
|
|
|
||||
|
|
|
|
an1 |
an2 |
. . . ann |
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
xn |
|
bn |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
а также для их модификаций, позволяющих находить определители
det(A) = |A|
и обратные матрицы A−1
Этапы выполнения:
14
Ввод данных из текстового файла. Необходимо реализовать процедуру, считывающую из текстового файла данные о задаче. Текстовый файл будет иметь следующий формат:
n
a11 |
a12 . . . |
a1n b1 |
||
a21 |
a22 . . . |
a2n b2 |
||
. |
. |
. |
. |
. |
an1 an2 . . . |
ann bn |
где n — размерность системы, aij — элементы матрицы A, bi — компо-
|
|
|
|
~ |
|
ненты вектора-столбца свободных членов b. Для задач на нахождение |
|||||
( |
A |
) или |
A |
−1 столбец свободных членов ~ |
должен игнорировать- |
det |
|
b |
|
ся.
Решение. Написать программу, реализующую заданный численный метод.
Проверка. Задав имя файла, содержащего данные о задаче, запустить программу и получить результат. Программа должна выводить на экран исходные данные10, считанные из файла, решение11, проверку12.
Методы решения:
1.Нахождение A−1 методом Гаусса
2.Нахождение A−1 методом LUразложения
3.Решение СЛАУ методом Гаусса с постолбцовым выбором ведущего элемента
4.Решение СЛАУ методом LUразложения
5.Решение СЛАУ методом вращений
6.Решение СЛАУ методом квадратных корней
7.Нахождение det(A) по методу LU-разложения
8.Нахождение det(A) по методу квадратных корней
9.Нахождение det(A) по методу Гаусса с постолбцовым выбором ведущего элемента
10.Прогонка
11.Метод отражений
10 |
~ |
|
Для задач на решение СЛАУ — матрицу A и вектор b, для задач на нахождение опреде- |
||
|
||
лителя или обратной матрицы — только матрицу A. |
11Вектор ~x для задач на решение СЛАУ, матрицу A−1 для задач на обратную матрицу и значение |A| для задач на нахождение определителя.
12 |
~ |
~ |
|
Т.е., невязку ξ = b − A~x для задач на СЛАУ; для задач на обратную матрицу — значение |
произведения матриц AA−1. Для задачи на нахождение определителя в качестве проверки будет использоваться результат вычисления определителя по другому методу.
15
Варианты СЛАУ
|
|
−3,8 |
|
0,8 1,2 |
|
|
|
|
16,6 |
|
|
|
|
|
|
|
8 |
|
|
−9,93x1 + 7,21x2 = |
−1,39 |
|||||||||||
1. |
0−17,4 |
|
4,4 3,6A1~x = 035,8A1 |
|
|
|
|
|
2,21x1 − 9,93x2 + 7,71x3 = |
|
1,48 |
|||||||||||||||||||||
|
@−10,6 |
|
0,6 |
5,4 |
|
|
|
|
@88,2 |
|
|
|
|
|
|
14. |
<> |
1,71x2 − 9,93x3 + 8,21x4 = |
|
0,48 |
||||||||||||
|
0 |
−6,2 |
|
|
3,2 −1,2 |
|
|
|
0 |
−2,2 |
|
|
|
|
1,21x3 |
− |
9,93x4 + 8,71x5 = |
− |
0,85 |
|||||||||||||
2. |
−24,6 |
|
11,6 |
−3,6 |
|
~x = |
−10,6 |
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
0,71x4 − 9,93x5 + 9,21x6 = |
−2,22 |
||||||||||||||||||||||
|
|
15,4 5,4 |
0,6 A1 |
|
|
|
|
|
5,4 A1 |
|
|
> |
||||||||||||||||||||
|
@−1,00 |
|
1,50 |
2,25 |
|
|
|
@10−,5 |
|
|
|
|
|
|
|
0,21x5 − 9,93x6 = |
−24,36 |
|||||||||||||||
|
|
|
|
|
|
|
|
|
:8 |
|
|
|
||||||||||||||||||||
|
|
− |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
−16,41x1 + 9,20x2 = −6,88 |
||||||
3. |
0−3,00 |
|
4,00 |
2,00 ~x = 010,0 |
|
|
|
|
|
|
||||||||||||||||||||||
|
|
−6,00 |
|
2,00 |
7,00A1 |
|
|
|
|
2,0 A1 |
|
|
|
|
6,20x1 − 16,41x2 + 10,20x3 = |
|
|
1,79 |
||||||||||||||
4. |
@6,00 |
−4,75 |
5,25 |
|
|
@70,75 |
|
|
|
|
5,20x2 − 16,41x3 + 11,20x4 = |
|
|
3,25 |
||||||||||||||||||
02,00 |
|
0,75 |
0,75 |
|
~x = 023,25 |
|
|
|
<>4,20x3 − 16,41x4 + 12,20x5 = |
|
|
3,69 |
||||||||||||||||||||
|
@ |
0,67 |
− |
0,42 |
2,25A1 |
|
@ |
16,44A1 |
|
15. |
|
|
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
−40,0 |
|
|
3,20x4 − 16,41x5 + 13,20x6 = |
|
|
1,93 |
||||||||||||||
5. |
|
23,0 |
−18,0 −12,0 |
|
~x = 0 |
|
|
|
2,20x |
− |
16,41x + 14,20x = |
− |
2,40 |
|||||||||||||||||||
016,2 |
− |
12,4 |
− |
8,4 |
|
|
− |
26,4 |
|
|
|
|
5 |
6 |
7 |
|
||||||||||||||||
|
|
7,8 |
|
|
|
6,6 |
|
|
2,6 A1 |
|
@− |
13,6A1 |
|
|
1,20x6 − 16,41x7 + 15,20x8 = −8,01 |
|||||||||||||||||
|
@3 5 |
− |
3 |
− |
|
64 |
|
|
|
|
|
|
> |
|
|
|
0,20x7 − 16,41x8 = |
|
|
4,11 |
||||||||||||
6. |
01 11 |
|
−5 |
~x = 0 84 |
|
|
|
|
|
|
|
|
|
|
|
|
|
2x1 − x2 = |
2 |
|
|
|
||||||||||
|
@1 13 |
|
− |
|
|
@100A1 |
|
|
|
|
|
|
|
|
|
|
: |
|
|
|
|
|
||||||||||
|
|
−5A1 |
|
|
|
|
|
|
−19,66 |
16. |
<>8 |
−x1 + 2x2 − x3 = |
2 |
|
|
|
||||||||||||||||
|
|
−4,17 |
|
|
2,00 |
0,17 |
|
|
|
|
|
|
|
>8 |
−x2 + 2x3 − x4 = |
2 |
|
|
|
|||||||||||||
7. |
0−41,17 |
|
|
14,00 |
1,17 |
|
~x = 0−209,66 |
|
|
|
x |
+ 2x = |
17 |
|
|
|
||||||||||||||||
|
|
− |
7,17 |
|
|
2,00 3,17A1 |
|
|
|
|
− |
13,66 A1 |
|
|
|
− 3 |
4 |
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
: 2,0x1 − 0,5x3 + 0,5x5 = |
|
|
|
||||||||
|
@5,67 |
−0,00 |
−0,67 |
|
|
|
@56,03 |
|
|
0,0 |
||||||||||||||||||||||
8. |
04,13 |
|
5,80 |
−4,53 |
|
~x = 0123,77 |
|
|
|
5,3x2 + 1,3x4 − 2,7x6 = |
29,4 |
|||||||||||||||||||||
|
|
3,87 |
|
1,20 |
0,53 A1 |
|
|
|
|
57,23 A1 |
|
|
−8,0x1 + 5,0x3 + 5,0x5 = |
−8,0 |
||||||||||||||||||
|
@ 0,84 |
|
|
|
|
|
|
|
|
|
@14,4 |
|
|
17. |
<> |
|||||||||||||||||
|
|
0,64 |
0,24 |
|
|
|
|
|
|
|
−2,7x2 + 9,3x4 − 2,7x6 = |
5,4 |
||||||||||||||||||||
9. |
0−7,40 |
|
3,60 |
3,60A1 |
~x = 0−60,0A1 |
|
|
|
−8,0x1 + 4,0x3 + 6,0x5 = −12,0 |
|||||||||||||||||||||||
|
@−7,04 |
|
0,16 |
6,56 |
|
|
@−70,4 |
|
|
|
> −2,7x2 + 1,3x4 + 5,3x6 = −34,6 |
|||||||||||||||||||||
|
|
16,1250 |
|
|
1,0000 |
|
−9,7500 |
|
|
|
|
|
|
|
56,75 |
: |
|
|
|
|
|
|
|
|
||||||||
10. |
0 8,4375 |
|
|
7,5000 |
|
−10,1250 |
|
|
~x = 038,625 |
|
|
|
|
|
|
|
|
|
||||||||||||||
|
@ |
6,1875 |
|
|
1,5000 |
|
−2,6250 A1 |
|
|
|
@25,125A1 |
|
|
|
|
|
|
|
|
|||||||||||||
|
|
2,57 |
|
−2,57 3,29 0,14 |
|
|
|
|
|
|
|
4,87 |
|
|
|
|
|
|
|
|
|
|||||||||||
11. |
B0 |
0,00 |
|
−1,00 |
4,00 |
|
0,001~x = B0 |
9,00 1 |
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
−1,00 −4,00 |
8,00 |
|
1,00 |
|
|
|
|
|
|
|
12,00 |
|
|
|
|
|
|
|
|
|
||||||||||
|
@−0,29 −7,71 4,86 6,43AC |
|
|
|
@−2,41AC |
|
|
|
|
|
|
|
|
|||||||||||||||||||
|
|
5,25 |
−2,75 |
3,25 |
|
−0,50 |
|
|
|
|
|
|
|
15,00 |
|
|
|
|
|
|
|
|
|
|||||||||
12. |
B01,00 |
|
2,00 |
3,00 |
|
−2,001~x = B0 |
2,00 1 |
|
|
|
|
|
|
|
|
|||||||||||||||||
|
|
2,75 |
|
1,75 |
6,75 |
|
−5,50 |
|
|
|
|
|
|
@ |
−11,00 |
|
|
|
|
|
|
|
|
|
||||||||
|
@0,00 |
−4,00 |
2,00 |
|
5,00 AC |
|
|
|
21,00 AC |
0 3,2 |
|
|
|
|
|
|
||||||||||||||||
|
0 1,4 |
|
−0,5 |
2,0 |
|
−0,3 −0,6 |
|
0,8 |
1 |
|
1 |
|
|
|
|
|||||||||||||||||
|
|
0,0 |
|
2,0 |
0,0 |
|
0,0 |
|
|
|
|
0,0 |
|
0,0 |
|
|
4,0 |
|
|
|
|
|||||||||||
13. |
|
−3,4 |
|
−2,0 |
6,3 |
|
−1,0 |
|
|
|
0,3 |
|
3,0 |
~x = |
|
1,9 |
|
|
|
|
||||||||||||
|
|
1,3 |
|
−3,0 −0,9 |
|
5,0 |
|
|
−0,9 |
|
0,5 |
|
|
|
−5,1 |
|
|
|
|
|
||||||||||||
|
@ |
−1,0 |
|
1,0 |
1,5 |
|
0,5 |
|
|
|
|
2,5 |
|
−1,7 |
|
@ |
0,8 |
|
|
|
|
|
|
|||||||||
|
B−0,8 |
|
−2,4 |
1,4 |
|
0,3 |
|
|
−1,1 |
|
4,1 AC |
|
B−0,1AC |
|
|
|
|
16
5.2Итерационные методы решения СЛАУ
Постановка задачи, этапы выполнения, требования к оформлению и контрольные примеры — такие же, как в предыдущем пункте.
Дополнительное требование: вывести на экран количество итера-
ций.
Критерий выхода из итерационного цикла: ~x(k+1)
ε = 10−4.
− ~x(k) c < ε, где
Методы решения:
1.Метод Якоби
2.Метод Зейделя
3.Метод релаксаций
5.3Алгебраическая проблема собственных значений
Необходимо найти λ и ~x, удовлетворяющие условию:
~x = λ~x, |
где A = a21 |
a22 |
. . . a2n , |
~x = |
x2 |
|
||
|
|
a11 |
a12 |
. . . a1n |
|
|
x1 |
|
|
|
|
|
... |
|
|||
A |
|
. |
. . . |
|
||||
|
an1 |
an2 |
. . . ann |
|
|
|
||
|
|
|
|
|
|
|
xn |
|
|
|
|
|
|
|
|
|
Тривиальный случай ~x = 0 не представляет практического интереса. Интерес представляют ненулевые собственные значения λ и соответствующие им собственные вектора ~x (в совокупности называемые парой {λ, ~x}). Уравнение A~x = λ~x часто представляют в виде
( λ )~x = 0, где ( |
λ |
) = |
a21 |
a12 |
λ . . . |
a2n |
|
|
|
|
|
a11 − λ |
a12 |
. . . |
a1n |
λ |
|
A − E |
A − E |
a. |
a.− |
. .. . a . |
||||
|
|
|
n1 |
n2 |
|
nn |
− |
|
|
|
|
|
|
|
|
|
Вышеприведённое уравнение относится к однородным линейным системам и имеет нетривиальное решение при выполнении равенства
det(A − λE) = 0
17
Задачи на собственные значения подразделяются на частичную (предполагает нахождение одного или нескольких λ из спектра) и полную (нахождение всего спектра собственных значений).
Рассматриваемые здесь численные методы решения задач на собственные значения подразделяются на две категории
1.Методы, направленные на получение коэффициентов характеристического полинома det(A − λE) и на поиск его корней;
2.Методы, использующие преобразования подобия для приведения исходной матрицы A к треугольному или диагональному виду13.
Методы первой категории предназначены для частичной проблемы собственных значений, а методы второй категории — для полной.
Этапы выполнения:
Ввод данных из текстового файла. Необходимо реализовать процедуру, считывающую из текстового файла данные о задаче14.
Решение. Написать программу, реализующую заданный численный метод.
Проверка. Задав имя файла, содержащего данные о задаче, запустить программу и получить результат. Программа должна выводить на экран исходные данные, считанные из файла, промежуточные результаты15, решение16, номер итерации k, проверку17.
|
Методы решения: |
|
|
|
1. |
Метод Данилевского |
5. |
QR-алгоритм |
|
2. |
Метод интерполяции |
6. |
QR-алгоритм на основе |
|
3. |
Метод LU-разложения |
|
преобразования Хаусхолдера |
|
7. |
QR-алгоритм на основе |
|||
|
|
|||
4. |
Метод вращения Якоби |
|
вращений Гивенса |
13Используются следующие свойства: (а) преобразование подобия сохраняет спектр; (б) собственные значения треугольных и диагональных матриц равны элементам, стоящим на главной диагонали.
14Подробнее см. аналогичный пункт раздела 5.1 «Прямые методы для задач линейной ал-
гебры». Для задач на собственные значения вектор-столбец свободных членов ~ не задаётся; b
если же он присутствует в файле данных, то его следует игнорировать
15Для методов первой категории — график характеристического полинома; для методов второй категории — матрицы преобразований (L, U, Q и т.п.)
16Для методов первой категории — выбранную пару {λ(ik),~xi(k)}; для методов второй кате-
~(k) |
(k) |
(k) |
. |
гории — полный спектр λ |
и все соответствующие собственные вектора ~x1 |
. . . ~xn |
17Для каждой выведенной на экран пары {λ(ik),~xi(k)}, вывести значение величины det(A −
(k) |
~(k) |
(k) |
(k) |
. |
λi |
E) и невязку ξi |
= (A − λi |
E)~xi |
18