МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ ВОСТОЧНО-СИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ
Ширапов Д...
10 downloads
235 Views
500KB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ ВОСТОЧНО-СИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ
Ширапов Д.Ш. ЧИСЛЕННЫЕ МЕТОДЫ ЛИНЕЙНОЙ АЛГЕБРЫ (Учебное пособие)
Улан-Удэ, 2002 г.
УДК 518.332
Ширапов Д.Ш. Численные методы линейной алгебры: Учебное пособие. – Улан-Удэ: Изд-во ВСГТУ, 2003. - 96 с. Рецензенты: Профессор кафедры математической статистики и теории вероятностей Иркутского государственного университета, доктор физико-математических наук, профессор Сенаторов В.Н. Доцент кафедры информатики Бурятского государственного университета, кандидат физико-математических наук, доцент Дармаев Т.Г.
Учебное пособие предназначено для студентов специальностей: «202600 – радиоэлектронные системы, 220100 – вычислительные машины, комплексы, системы и сети, 220400 – программное обеспечение вычислительной техники и автоматизированных систем, 351500 – математическое обеспечение и администрирование информационных систем» по дисциплине «Вычислительная математика» одним из разделов, которой являются вычислительные методы линейной алгебры. Учебное пособие содержит кроме теории методов решения систем линейных алгебраических уравнений и задач на собственные значения и алгоритмы этих методов, также задания для лабораторных работ, которые должны выполняться на компьютере.
Рекомендовано к изданию редакционно-издательским советом Востчно-Сибирского государственного технологического университета.
ISBN 5-89230-145-1
Ширапов Д.Ш. ВСГТУ, 2003 г.
Содержание Введение Глава 1. Погрешности приближенных вычислений и основные теоремы 1.1. Погрешности приближенных вычислений 1.2. Обусловленность системы линейных алгебраических уравнений 1.3. Основные теоремы Глава 2. Прямые методы решения систем линейных алгебраических уравнений 2.1. Метод Гаусса 2.2. Метод Гаусса с выбором главного элемента 2.3. Алгоритм вычисления определителя матрицы 2.4. Алгоритм вычисления обратной матрицы 2.5. Метод Халецкого 2.6. Метод квадратных корней 2.7. Метод прогонки Глава 3. Итерационные методы решения систем линейных алгебраических уравнений 3.1. Метод простой итерации 3.1.1. О сходимости итерационных процессов для систем линейных уравнений 3.1.2. Оценки погрешности метода итерации 3.2. Метод Зейделя 3.3. Метод релаксации 3.4. Каноническая форма двухслойных итерационных методов 3.4.1. Каноническая форма метода итерации 3.4.2. Каноническая форма метода Зейделя 3.4.3. Теоремы двухслойных итерационных методов 3.5. Вариационно-итерационные методы 3.5.1. Метод минимальных невязок 3.5.2. Метод скорейшего спуска Глава 4. Методы решения задач на собственные значения и собственные вектора 4.1. Устойчивость задачи на собственные значения 4.2. Метод вращения Якоби 4.2.1. Различные варианты метода Якоби 4.3. Степенной метод 4.4. Обратный степенной метод 4.5. Итерационный метод 4.6. Методы для матриц, не принадлежащих к специальному классу 4.6.1. QL – алгоритм 4.6.2. QR – алгоритм 4.7. Обобщенная задача на собственные значения 4.7.1. Обобщенный метод Якоби 4.7.2. Метод приведения обобщенной задачи к стандартной Приложение Задания для лабораторных работ Задания к главе 2 Задания к главе 3 Задания к главе 4 Литература
Введение В настоящее время вычислительная математика ориентирована, прежде всего, на использование современных вычислительных систем и компьютеров. Любые практические задачи начинаются, как правило, с разработки математических моделей. Главной задачей данного учебного пособия является изложение теорий и алгоритмов вычислительных методов решения основных задач линейной алгебры, в рамках требований предъявляемым государственными стандартами к дисциплине «Вычислительная математика», предназначенной для студентов инженерных специальностей высших учебных заведений. Как известно, основными задачами линейной алгебры являются: решение систем линейных алгебраических уравнений, решение полной и частичной проблем собственных значений. Поэтому темы, рассмотренные в учебном пособии условно можно разделить на две части: численные методы решения система линейных алгебраических уравнений и численные методы решения задач на собственные значения. Изложение и описание численных методов построены с ориентацией на широкое использование студентами компьютеров. В целом учебное пособие состоит из введения, четырех глав, приложения и из списка литературы. В введении, сжато, изложены основное назначение и краткое содержание учебного пособия по главам. В первой главе рассмотрены погрешности приближенных вычислений и даны основные теоремы, на которые опираются те или иные методы. Во второй главе изложены прямые методы решения систем линейных алгебраических уравнений (СЛАУ). В третьей главе рассматриваются итерационные методы решения СЛАУ. В четвертой главе описаны численные методы решения задач на собственные значения. В приложении приводятся задания для лабораторных работ, рассчитанные для выполнения тем или иным методом на компьютере. При подготовке учебного пособия использовалась литература, список которой приведен в конце. Так как методы, описанные в учебном пособии, много раз и в различных вариантах изложены в разных изданиях, установить авторство многих методов почти невозможно. Вследствие этого некоторые издания из списка литературы приведены без ссылки, однако они могут быть рекомендованы студентам в качестве учебной литературы.
Глава 1. Погрешности приближенных вычислений и основные теоремы На практике очень редко приходится иметь дело с точными числами. Обычно результаты измерений всегда являются приближенными, прежде всего вследствие ограниченной точности измерительных приборов. Действительно, каждый измерительный прибор имеет шкалу, на которой промежутки деления не могут быть как угодно малыми. Следовательно, на практике имеем дело с приближенными числами, содержащими ошибки любого происхождения. Поэтому в главе кратко рассматривается круг вопросов, связанных с погрешности приближенных вычислений и даются основные теоремы, используемые при разработке численных методов решения задач линейной алгебры. 1.1. Погрешности приближенных вычислений Погрешности численного решения различных задач обусловлены следующими основными причинами: 1) неточностью математической модели, в частности неточно заданы исходные данные описания; 2) приближенным характером методов решения; 3) операции округления в вычислительной технике. Погрешности, вызванные этими причинами, называют, соответственно: А) неустранимой погрешностью, Б) погрешностью метода, В) вычислительной погрешностью. Введем следующие обозначения: х – точное значение параметра; ~
x - значение параметра, соответствующее принятой модели; ~
x h – значение численного решения, полученное по принятой модели, в предположении отсутствия ошибок округлений; xh – приближенное решение задачи, получаемое при реальных вычислениях. Тогда ~
δ1= х - x – неустранимая погрешность; ~
~
δ2= x - x h – погрешность численного решения; ~
δ3= x h - xh– погрешность вычисления. Таким образом, полная погрешность равняется δо=δ1+δ2+δ3=х- xh. Определение 1.1. Если х точное значение, а xh – приближенное значение некоторого параметра, то абсолютная погрешность ∆ определяется формулой ∆= х- xh. Определение 1.2. Относительная погрешность δ этого же параметра вычисляется по формуле δ= х- xh/xh. 1.2. Обусловленность системы линейных алгебраических уравнений
Система линейных алгебраических уравнений (СЛАУ) в канонической форме записывается следующим образом
a 11 x 1 + a 12 x 2 + ... + a 1n x n = b 1 , a 21 x 1 + a 22 x 2 + ... + a 2n x n = b 2 , ............................................... a x + a x + ... + a x = b . n2 2 nn n n n1 1
(1.1)
Из теории линейной алгебры следует, что система уравнений (1.1) имеет решение (совместна) при любых правых частях в том и только в том случае, если соответствующая однородная система имеет только тривиальное решение х1=х2=…хn=0. Необходимым и достаточным условием этого является условие, когда матрица А a 11 a A = 21 ... a n1
a 12 a 22 ... a n2
... a 1n ... a 2n ... ... ... a nn
имеет определитель, отличный от нуля, т.е. detA≠0. Условие совместности системы (1.1) при любых правых частях detA≠0 обеспечивает и единственность решения. С использованием матрицы А систему (1.1) можно переписать в виде a 11 a 21 ... a n1
a 12 a 22 ... a n2
... a 1n x 1 b 1 ... a 2n x 2 b 2 = ... ... M M ... a nn x n b n
или в матричной форме Ax=b. (1.2) Пусть требуется найти решение системы (1.2). Задача решения системы (1.2) поставлена, корректна, если 1) решение задачи существует; 2) решение единственно; 3) решение непрерывно зависит от входных данных. Известно, что требования 1 и 2 будут выполнены, если detA≠0. Требование 3 нуждается в детализации. Входными данными в задаче (1.2) являются коэффициеты aij матрицы А и компоненты вектора b . Если входные данные А и b заданы с некоторой погрешностью δА, δb, то вместо системы (1.2) решается задача (1.3) (А+δА)(х+δх)=b+δb. Тогда возникает вопрос о том, как связана погрешность решения δх с погрешностями входных данных δА или δb. Пусть вначале δА=0, а δb≠0. Тогда из формулы (1.3) получим (1.4) Ах+Аδх=b+δb. После вычитания из (1.4) выражения (1.2) получим Аδх=δb, δх=А-1δb, следовательно (1.5) ║δх║≤║А-1║║δb║. Таким образом, связь между ║δх║ и ║δb║ установлена. Однако на практике более естественна связь между нормами относительных погрешностей, а не абсолютных. Так как (1.6) ║b║≤║А║║х║, то из (1.5) и (1.6) получим ║δх║║b║≤║А║║А-1║║х║║δb║ или
║δх║/║x║≤║А║║А-1║║δb║/║b║.
(1.7)
Теперь пусть δb=0, δА≠0. Дополнительно предположим, что δА таково, что det(A+δА)≠0. Тогда из формулы (1.3) получим (1.8) х+δх=(A+δА)-1b. -1 После вычитания из (1.8) х= А b получим δх=[(A+δА)-1-A-1]b. (1.9) Введем обозначение B=(A+δА) и используя тождество B-1- A-1= A-1(A-B)B-1 находим, что B-1- A-1= -A-1δА(А+δА)-1 или (1.10) (A+δА)-1- A-1= -A-1δА(А+δА)-1. После подстановки (1.10) в (1.9) получим δх= -A-1δА(А+δА)-1b, откуда (1.11) b= -δх/[ A-1δА(А+δА)-1] . После подстановки (1.11) в (1.8) получим δх= -A-1δА(х+δх) или (1.12) ║δх║≤║А-1║║δА║║х+δх║, -1 (1.13) ║δх║/║x+δх ║≤║А║║А ║║δА║/║А║. Из (1.5) и (1.12) следует, что если ║δb║→0 или ║δА║→0, то ║δх║→0. Это и означает непрерывную зависимость решения задачи (1.2) от входных данных. Следовательно, условия detA≠0, det(A+δА)≠0 обеспечивают корректную постановку задачи (1.2). Входящее в оценки (1.7) и (1.13) число ν(А)=║А║║А-1║ называется числом обусловленности матрицы А. Определение 1.3. Если число ν(А) относительно мало, то матрица А является хорошо обусловленной. Если число ν(А) относительно велико, то матрица А является плохо обусловленной.
Для плохо обусловленной СЛАУ недопустима, велика правая часть в неравенствах (1.7) и (1.13). Поэтому лишь очень малые погрешности входных данных задачи (1.2) гарантируют приемлемую относительную погрешность решения. Определение 1.4. Число ν(А) для произвольной квадратной матрицы А удовлетворяет условию ν(А)≥ maxλA/minλA≥1, (1.14) где λA – собственное число матрицы А. Определение 1.5. Число ν(А) для симметричной матрицы А удовлетворяет условию ν(А)= maxλA/minλA. Пример 1.1. Дана матрица 3.0000 − 7.0001 . A = 3.0000 − 7.0000
(1.15)
Для оценки числа обусловленности этой матрицы воспользуемся формулой (1.14). Как известно собственные значения матрицы А являются корнями характеристического уравнения detA-λE=0, λ2+4λ+0,0003-0. Далее получим λ1=-0,0001, λ2=-3,9999, откуда ν(А)≥λ2/λ1=39999≈4.104. Отсюда следует, что матрица А плохо обусловленная. Рассмотрим уравнение
Пример 1.2.
Ах=b, где матрица А задана выражением (1.15),
0,9998 5 . Тогда точное решение x = . b = 1,0000 2
1
Допустим, вектор b задан с погрешностью, т.е. имеем b = , тогда получим решение 1 0,3333 . Оценим относительную погрешность решения при δb≠0. Из примера 1.1 изx 1 = 0,0000
вестно ν(А) ≈4.104. Тогда несмотря на малость ║δb║/║b║≈1,4143.10-4 относительная погрешность решения велика, т.е. ║δх║/║x║≈0,9618≤ν(А)║δb║/║b║≈5,6772. 1.3. Основные теоремы
В этом параграфе приводятся основные теоремы, которые имеют широкое применение в численных методах решения СЛАУ. Теорема Адамара [1]. Если для матрицы А порядка n выполняется n неравенств akk-
n
∑
j=1, j≠ k
a kj >0, ( k = 1, n; ),
(1.16)
то матрица А является невырожденной. Доказательство Пусть матрица А- вырождена, т.е. detA=0. Тогда существуют такие числа х1, х2, …, хn c максимальным xk>0, что выполняется n
∑a j=1
kj
xj =0
( k = 1, n; ).
Также выполняется akkxk≤
n
∑
j=1, j≠ k
a kj xj≤xk
n
∑
j=1, j≠ k
a kj
( k = 1, n; ).
Далее сокращая на xk, получим akk≤
n
∑
j=1, j≠ k
или akk-
n
∑
j=1, j≠ k
a kj
( k = 1, n; )
a kj ≤0, ( k = 1, n; ). Следовательно, при выполнении неравенств (1.16) detA≠0,
т.е. А – невырождена. Теорема доказана. Теорема о LU разложении [9]. Пусть все главные миноры матрицы А n-го порядка отличны от нуля, то есть
а11≠0,
а 11
а 12
а 21
а 22
≠0, …, detA≠0,
тогда матрица А представима в виде
(1.17)
A=LU, (1.18) где L – нижняя треугольная матрица, U – верхняя треугольная матрица. Доказательство Доказательство проведем по методу математической индукции. Для n=1 утверждение (1.18) выполняется так как a11=l11u11 . Тогда пусть теорема верна для матрицы An-1 порядка (n-1), т.е. (1.19) An-1=Ln-1Un-1 . Покажем, что (1.19) влечет за собой (1.18). Для этого представим матрицу А в следующем виде a L a 1n 11 A А= L L L = n −1 V a L a nn n1
Z , a nn
(1.20)
где a a 11 L a 1n −1 1n Аn-1= L L L , Z= M , V= a n1 L a n , n −1 . a a L a n −1, n −1 n −1,1 n −1, n
(
)
Дальше А будем искать в виде (1.18). Тогда имеем L n −1 X
A=
0 l nn
U n −1 0
Y A n −1 = u nn V
Z . a nn
(1.21)
Из (1.21) получаем Ln-1Un-1=An-1 , Ln-1Y=Z , XUn-1=V , XY+lnnunn=ann . (1.22) Первое из уравнений (1.22) выполняется из предположения (1.19). Так как detAn-1≠0 по условию (1.17), то матрицы Ln-1 и Un-1 обратимы. Следовательно, из второго и третьего уравнений из (1.22) однозначно определяются вектор-столбец Y и вектор-строка Х. Таким образом, остается определить только диагональные элементы lnn и unn из четвертого уравнения. Это всегда можно сделать, приписав одному из чисел lnn , unn произвольное и отличное от нуля значение, тогда второе число определится однозначно. Теорема доказана. Отметим, что эта теорема является типичной теоремой существования, где доказано, что матрица А представима в виде (1.18), но не указан алгоритм построения треугольных матриц L , U. Теорема 1.1 [7, 9]. Если матрица А имеет только простые собственные значения, то существуют преобразования подобия, приводящие её к диагональной форме.
Доказательство Расположим n – линейно независимые собственные вектора матрицы А в столбцах матрицы Т x 11 x Т= 12 L x 1n
x 21 x 22
L x 2n
L x n1 L x n2 . L L L x nn
Тогда x 11 x АТ=А 12 L x 1n
x 21 x 22
L x 2n
L x n1 λ 1 x 11 L x n 2 λ 1 x 12 = L L L L x nn λ 1 x 1n
λ 2 x 21
λ 2 x 22 L λ 2 x 2n
L λ n x n1 L λ n x n2 = L L L λ n x nn
x 11 x = 12 L x 1n
x 21 x 22
L x 2n
L x n1 λ 1 0 L x n2 0 λ 2 L L L L L x nn 0 0
L 0 L 0 =ТΛ. L L L λ n
Т-1АТ=Λ. Теорема доказана. Отметим, что преобразование Т-1АТ называется преобразованием подобия. Теорема 1.2 [9]. Пусть detA≠0, тогда матрица А разлагается в произведение A=QR, (1.23) где Q – ортогональная матрица, R – верхняя треугольная матрица. Доказательство Для доказательства необходимо найти такое преобразование, которое ортогонализирует столбы матрицы А. Пусть ai – столбцы матрицы А. Так как detA≠0, то система векторов ai являются линейно независимой и образует базис в пространстве Rn. Тогда отыскание нужного преобразования сводится к задаче об ортогонализации базиса. Ортогональный базис будем строить с помощью алгоритма Грама-Шмита. Пусть Q=(q1, q2,…, qn) – искомая матрица с ортогональными столбцами qi. Положим a1=q1. Далее вектор а2 разложим по ортогональным векторам q1, q2: a2=r12q1+q2 , (q1, q2)=0, r12=( q1, a2)/ (q1, q1). Затем вектор а3 разложим по ортогональным векторам q1, q2, q3: a3=r13q1+ r23q2+q3, (q1, q3)=0, (q2, q3)=0, r13=(q1, a3)/(q1, q1), r23=(q2, a3)/(q2, q2) и т.д. Окончательно, получим (1.24) ai=r1iq1+ r2iq2+…+ri-1,iqi-1+qi . Коэффициенты разложения (1.24) определяются из условий ортогональности (qi, qj)=0 при i≠ j : rij=(qi, aj)/(qi, qi), i<j. Матричная запись (1.24) будет 1 r12 0 1 A=Q L L 0 0
L r1n L r2 n =QR. L L L 1
Теорема доказана. Для нахождения векторов qi из (1.24) получим qi=ai-r1iq1-r2iq2-…-ri-1,Iqi-1. Теорема 1.3 [9]. Пусть detA≠0, тогда матрица А разлагается в произведение A=QL, где Q – ортогональная матрица, L – нижняя треугольная матрица. Доказательство Теорема доказывается аналогично теореме 1.2.
Глава 2. Прямые методы решения систем линейных алгебраических уравнений
Итак, требуется решить систему линейных алгебраических уравнений Ax=b. (2.1) Заметим, что везде речь будет идти только о случае когда матрица А – квадратная, т.е. число уравнений совпадает с числом неизвестных, причем будет предполагаться, что система (2.1) имеет единственное решение. Методы решения (2.1) можно разделить на две группы: прямые методы (в которых нахождение решения заканчивается за конечное число действий), итерационные методы (в которых находятся не само решение, а некоторая последовательность векторов х(к) такая, что lim x ( k ) − x = 0 ). k →∞
2.1. Метод Гаусса
Рассмотрим классический метод Гаусса [2-11]. Сначала перепишем систему (2.1) в развернутой форме a 11 x 1 + a 12 x 2 + ... + a 1n x n = b 1 , a 21 x 1 + a 22 x 2 + ... + a 2n x n = b 2 , ............................................... a x + a x + ... + a x = b . n2 2 nn n n n1 1
(2.2)
Пусть а11≠0. Если а11=0, то поменяем местами первое и второе уравнения в (2.2), если а21≠0, то поменяем местами первое и третье уравнения и т.д. Все ai1 не могут равняться нулю, так как detA≠0. Тогда из первого уравнения системы (2.2) будем иметь (2.3) х1+α12х2+…+α1nхn=β1 , где α1j=a1j/a11 , (j>1), β1=b1/a11 . С использованием уравнения (2.3) можно исключить х1 из всех оставшихся уравнений (2.2). В результате получим a (1) x + a (1) x + ... + a (1) x = b (1) , 23 3 2n n 2 22 2 (1) (1) (1) (1) a x + a x + ... + a x = b , 33 3 3n n 3 32 2 .......... .......... .......... .......... ....... (1) (1) (1) (1) a n2 x 2 + a n3 x 3 + ... + a nn x n = b n . где a ij(1) =aij-ai1α1j , b i(1) =bi- ai1β1 , (i, j≥2).
(2.4)
a ij(1)
На этом первый этап процесса исключения заканчивается. Индекс (1) в коэффициентах , b i(1) показывает номер первого этапа.
a (221)
Переходя к второму этапу процесса исключения разделим первое уравнение в (2.4) на при a (221) ≠0, тогда получим
х2+α23х3+…+α2nхn=β2 , где α2j= a (21j) / a (221) , (j>2), β2= b (21) / a (221) .
(2.5)
Далее с помощью уравнения (2.5), описанным выше способом, исключим все х2 из уравнений (2.4). Продолжая далее, на к-ом этапе будем иметь уравнение, с помощью которого исключим к-ое неизвестное, т.е. (2.6) хк+αк к+1хк+1+…+αкnхn=βk , где αкj= a (kjk −1) / a (kkk −1) , (j≥к+1), βк= b (kk −1) / a (kkk −1) , (2.7)
a ij( k ) = a ij( k −1) - a iк( k −1) αкj , b i( к ) = b i( к −1) - a iк( k −1) βк , (i, j≥к+1).
(2.8)
Собирая уравнения (2.3)-(2.6), полученных на всех этапах получим систему уравнений с верхней треугольной матрицей х1+α12х2+α13х3+…+α1nхn=β1 , (2.9) х2+α23х3+…+α2nхn=β2 , ……………………… хn=βn . Таким образом, алгоритм решения СЛАУ классическим методом Гаусса состоит из двух шагов: 1) первый – прямой ход. По формулам (2.7), (2.8) вычисляются коэффициенты αij и βi (i, j=1,…, n). 2) второй – обратный ход. Определяются неизвестные xi по формуле (2.9), которую можно записать в виде n
xi=βi - ∑ α ij x j , (i=n, n-1,…,1). j= i +1
Определение 2.1. Элементы а11, a (221) , …, a (kkk −1) ,… называются ведущими элементами. 2.2. Метод Гаусса с выбором главного элемента
При численных вычислениях на компьютере неизбежны ошибки округления, следовательно, есть возможность прекращения выполнения алгоритма или получение неверных результатов, если знаменатели дробей на каком-то этапе окажутся равными нулю или очень маленькими числами. Этого недостатка можно избежать, если использовать метод Гаусса с выбором главного элемента [11]. Рассмотрим систему уравнений a 11 x 1 + a 12 x 2 + ... + a 1n x n = а 1n +1 , a 21 x 1 + a 22 x 2 + ... + a 2n x n = a 2n +1 , ............................................... a x + a x + ... + a x = a . n2 2 nn n nn +1 n1 1
Запишем расширенную матрицу коэффициентов a 11 a 21 L M= a i1 L a n1
a 12
L a 1j
L a 1n
a 22
L a 2 j L a 2n
L a i2
L L L a ij
L L L a in
L a n2
L L L a nj
L L L a nn
a 1n +1 a 2 n +1 L . a in +1 L a nn +1
(2.10)
Среди элементов матрицы aij выберем наибольший по модулю, который называется главным элементом. Пусть им будет элемент aij и используя его вычислим множители mk= -akj/ aij для всех k≠i . Строка с номером i матрицы М, содержащая главный элемент, называется главной строкой. Далее, производим следующее действие: к каждой неглавной строке прибавляем главную строку, умноженную на соответствующий множитель mk для этой строки. В результате получим новую матрицу, у которой j-й столбец состоит из нулей, кроме одного элемента. Отбрасывая этот столбец и главную i-ю строку, получим новую матрицу М(1) и повторяем ту же операцию, только с новым главным элементом, после чего получим матрицу М(2) и т.д. Таким образом, построим последовательность матриц М, М(1), М(2),…, М(n-1), последняя из которых представляет двучленную матрицу – строку, её также считаем главной строкой.
Затем объединяем в систему все главные строки, начиная с последней, входящей в матрицу М(n-1). После некоторой перестановки строк они образуют треугольную матрицу эквивалентную матрице (2.10). На этом заканчивается – прямой ход. Решив систему с треугольной матрицей, последовательно находим все неизвестные – обратный ход. Замечание 2.1. При работе с матрицами большого порядка выбор главного элемента может оказаться достаточно трудоемкой задачей. Поэтому на практике, в качестве главного элемента, выбирают первую строку, а.в качестве главного элемента наибольший по модулю элемент этой строки. 2.3. Алгоритм вычисления определителя матрицы Определение 2.2. Если все главные миноры матрицы А n-го порядка отличны от нуля, то есть
а11≠0,
а 11 а 21
а 12 ≠0, …, detA≠0, а 22
(2.11)
то проведение процесса исключения без перестановок гарантируется. Определение 2.3. Если для матрицы А условия (2.11) выполнены, то определитель этой матрицы равен произведению ведущих элементов в методе последовательного исключения Гаусса.
Пусть выполнены условия (2.11), тогда detA=a11
1
α 12
L α 1n
a 21 L a n1
a 22 L a n2
L a 2n L L L a nn
,
(2.12)
где α1j=a1j/a11, (j>1). Дальше поступаем, как в методе Гаусса. Первую строку определителя (2.12) умножаем на а21 и вычитаем из второй строки. Затем первую строку определителя (2.12) умножаем на а31 и вычитаем из третьей строки и т.д. (такие преобразования не изменяют величины определителя). Тогда получим α 12
L α 1n
L L 0 a (n12)
L L L a (nn1)
1
detA=a11
0
a (221)
L a (21n)
a (221)
L a (21n)
a (n12)
a (nn1)
=а11 L L L L
.
Дальше повторим, тогда будем иметь 1 (1) a 32 (1) 11 a 22 L
detA=a
a (n12)
α 23 L α 2 n (1) a 33 L a (n13)
L a 3(1n) , L L L a (nn1)
(2.13)
где α2j= a (1) / a (1) , (j>2). 2j
22
Дальше, первую строку определителя (2.13) умножаем на a (1) и вычитаем из второй строки. 32 Затем первую строку определителя (2.13) умножаем на a (1) и вычитаем из третьей строки и 42 т.д. Тогда получим
α 23
1
detA=a11 a (1) 22
L α 2n
( 2) a 33 L a 3( 2n) = a11 a (1) L 22 L L a (n23) ( 2) L a nn
( 2) a 33
0 L L 0 a (n23)
L a 3( 2n) L L
L
.
a (nn2)
Повторим описанную выше процедуру, тогда получим ( 2) a 33
detA=a11 a (1) L 22
a (n23)
L a 3( 2n)
a (443)
( 2) L L L = a11 a (221) a 33 ( 2) L a nn a (n34)
L a (43n) L
L
L a (nn3)
и т.д. пока не получим detA=a11 a (1) a ( 2) .…. a ( n −1) , 33 22 nn
(2.14)
где a (kkk −1) = a (kkk − 2) - a (kkk −−21) αк-1к , αк-1к= a (kk−−1k2) / a (kk−−1k2)−1 , (k=2, 3,…,n). Замечание 2.2. Если при detA≠0 условия (2.11) не выполнены, то реализация процесса исключения включает в себя перестановки соответствующих строк. При этом измениться только знак определителя, так как перестановка двух строк влечет перемену знака определителя. Для сохранения нужного знака определителя надо в формуле (2.11) приписывать нужный знак ведущим элементам, которые вычислялись с перестановкой строк. 2.4. Алгоритм вычисления обратной матрицы
Из линейной алгебры известно, что АА-1=Е , где Е – единичная матрица, А-1 – обратная матрица.
(2.15)
y 1i Если обозначить i-й столбец обратной матрицы через yi= M , а i-й столбец единичной y ni е 1i матрицы через еi= M , то (2.15) можно переписать в виде е ni
АА-1=(Ау1, Ау2,…, Ауn)=(е1, е2,…, еn)=Е или Аyi=ei , (i=1, 2, …, n). Рассмотрим расширенную матрицу а 11 a 21 L a n1
а 12
L а 1n
a 22
L a 2n
L
L
a n2
L a nn
L
0 0 1 L 0 . L L L L 0 0 L 1 1
0
L
(2.16)
Процесс исключения (прямой ход) будем проводить для всех строк расширенной матрицы (2.16). Пусть а11≠0, тогда первая строка матрицы (2.16) будет такой после деления на а11 (1, α12, α13,…, α1n, β11, β12,…, β1n ), (2.17) где α1j=a1j/a11, (j>1), β1j=e1j/a11 , (j≥1). С помощью строки (2.17) исключим все элементы первого столбца ai1 матрицы (2.16) для которых i>1. В результате получим
1 α 12 (1) 0 a 22 L L 0 a (1) n2
α 13 L α 1n
a (231) L
a (n13)
β11
e (211)
β12
L
a (21n)
L
L
L
L
L a (nn1)
e (221)
e (n11)
e (n12)
L β1n L e (21n) , L L L e (nn1)
(2.18)
где a ij(1) =aij-ai1α1j , (i, j≥2), e ij(1) =eij-ei1β1j , (i≥2, j≥1). На следующем этапе разделим вторую строку матрицы (2.18) на a (221) ≠0, тогда эта строка примет вид (2.19) (0, 1, α23, α24,…, α2n, β21, β22,…, β2n ), (1) (1) (1) (1) где α2j= a 2 j / a 22 , (j>2), β2j= e 2 j / a 22 , (j≥1). Используя строку (2.19) исключим все элементы второго столбца a i(12) при i>2 матрицы (2.18). Тогда получим 1 α 12 0 1 0 0 L L 0 0
где a ij( 2) = a ij(1) - a i(12) α2j , (i, j≥3),
α 13 α 23
L α 1n L α 2n
β11 β 21
β12 β 22
( 2) a 33 L
L a ( 2) 3n L L L a (nn2 )
( 2) e 31 L
( 2) e 32 L
a (n23)
e (n21)
e (n22)
L β1n L β 2n L e ( 2) , 3n L L L e (nn2 )
e ij( 2 ) = e ij(1) - a i(12) β2j , (i≥3, j≥1).
Продолжая, таким образом, окончательно получим 1 α 12 α 13 L α 23 L 0 1 0 0 1 L L L L L 0 0 L 0 где αkj= a (kjk −1) / a (kkk −1) , (j≥k+1), βkj= e (kjk −1) / a (kkk −1)
α 1n α 2n
β11 β 21
β12 β 22
α 3n L
β 31 L
β 32 L
1
β n1
β n2
L β1n L β 2n L β 3n , L L L β nn
, (j≥1),
a ij( k ) = a ij( k −1) - a ik( k −1) αkj , (i, j≥k+1),
e ij( k ) = e ij( k −1) - a ik( k −1) βkj , (i≥k+1, j≥1).
На этом заканчивается процесс исключения – прямой ход. Дальше реализуется обратный ход, для этого решается система уравнений 1 α 12 1 0 L L 0 0 0 0
α 13
L
L
L
0
L
0
L
α 23 L
α 1n y 1i β1i α 2 n y 2i β 2i L M = M , (i=1, 2,…,n), α n −1n y n −1i β n −1i 1 y ni β ni
что позволяет найти все столбцы обратной матрицы А-1
у 11 y 1n у 21 y 2n . у1= ,…, yn= M M у y n1 nn
2.5. Метод Халецкого
При решении системы уравнений Ax=b методом Халецкого [2-4, 10,11] используется «теорема о LU разложении» (см. §1.3) согласно которой можно написать
A=LU,
(2.20)
где l11 0 l l L= 21 22 L L l n1 l n 2
0 1 u 12 L 0 1 0 , U= L L L L L l nn 0 0
L u 1n L u 2n . L L L 1
L
Тогда согласно формуле (2.20) элементы lij , uij определяются по формулам l i1 = a i1 , j−1 (i≥j>1). = − l a l ik u kj ij ij k =1 a 1j u 1 j = , ( j = 1, n ), u ii = 1, (i = 2, n ), l11 i −1 u = 1 (a − l u ), (1 < i < j). ij ik kj ij l k =1 ii
(2.21)
∑
(2.22)
∑
Далее искомый вектор х вычисляется решением двух систем уравнений Ly=b, Ux=y. Так как матрицы L и U треугольные, эти системы решаются по формулам a y 1 = 1n −1 , l11 i −1 a in −1 − b ik y k k =1 y = , (i > 1), l ii i
(2.23)
∑
где ain+1=bi , (i=1,…,n). x n = yn , n x = y − u ik x k , (i < n ). i i k = i +1
(2.24)
∑
Формулы (2.21)-(2.24) составляют алгоритм метода. 2.6. Метод квадратных корней
Метод квадратных корней [2, 3, 11] применяется при решении системы уравнений Ах=b, (2.25) Т когда матрица А – симметричная, т.е. А=А , (aij=aji). При detA≠0 согласно «теореме о LU разложении» (см. §1.3) можно записать A=LU, где U=T, L=TT. Тогда (2.26) А=ТТ Т, где t 11 0 Т= L 0
L t 1n t 22 L t 2 n , L L L 0 L t nn t 12
t 11 Т t 12 Т = L t 1n
0 t 22
L t 2n
L 0 L 0 . L L L t nn
Расписывая, формулу (2.26) получим формулы для вычисления tij t 1i t 1 j + t 2i t 2 j + ... + t ii t jj = a ij , (i < j), t 12i + t 22i + ... + t ii2 = a ii , (i = j).
Отсюда находим
t 11 = t = ii t ij =
a 1j
a 11 , t 1 j = i −1
t 11
a ii −
∑t
2 ki
a ij −
∑t
ki kj
k =1 i −1
k =1
, ( j > 1)
, (1 < i ≤ n )
(2.27)
t
, (i < j) t ii t ij = 0, (i > j).
Система линейных алгебраических уравнений (2.25) имеет единственное решение, если tii≠0 (i=1,…,n), так как detA=(detT)2=(t11.t22. … .tnn)2≠0. Используя, формулу (2.26) систему уравнений (2.25) можно переписать в виде двух систем уравнений (2.28) ТТy=b, Тх=у. (2.29) Расписывая, систему уравнений (2.28) получим t 11 y 1 = b 1 , t 12 y 1 + t 22 y 2 = b 2 , ............................... t y + t y + ... + t y = b . nn n n 1n 1 2 n 2
(2.30)
Расписывая, систему уравнений (2.29) получим t 11 x 1 + t 12 x 2 + ... + t 1n x n = y 1 , t x + ... + t x = y , 22 2 2n n 2 .......... .......... .......... .... t nn x n = y n .
(2.31)
Из формулы (2.30) находим b y1 = 1 , t 11 i −1 − ( b t ki y k ) i k 1 = y i = t ii
∑
(2.32) , (i > 1).
Из формул (2.31) определяем неизвестные x n = y n t nn , n x = ( y − t ik x k / t ii , (i < n ). i i k = i +1
∑
(2.33)
Формулы (2.27), (2.32) и (2.33) составляют алгоритм метода квадратных корней. 2.7. Метод прогонки
Метод прогонки [9, 11] предназначен для решения системы линейных уравнений Ax=b, (2.34) когда матрица А – трехдиагональная и ненулевые элементы определяются следующим образом: aij≠0, если j=i-1, j=i, j=i+1. Введем обозначения aii-1=-ai , aii=ci , aii+1=-di . Тогда система уравнений (2.34) запишется в виде
c 1 x 1 − d 1 x 2 = b 1 , i = 1, ....................................... − a x + c x − d x = b ,2 ≤ i ≤ n − 1, i i −1 i i i i +1 i ........................................... − a n x n −1 + c n x n = b n , i = n.
(2.35)
Решение (2.35) будем искать в виде (2.36) xi=αixi+1+βi , где αi , βi – неизвестные прогоночные коэффициенты. Подставив, найденные из (2.36) xi-1 в среднее уравнение из системы (2.35), получим для 2≤i≤n-1 : xi =
di c i − α i −1 a i
x i +1 +
b i + β i −1 a i c i − α i −1 a i
(2.37)
.
Из сравнения (2.36) и (2.37) следует, что αi =
di c i − α i −1 a i
, βi =
b i + β i −1 a i c i − α i −1 a i
(2.38)
.
Зная α1 , β1 по формулам (2.38) можно найти все αi , βi для i=2, 3,…, n, то есть провести прямой ход прогонки. Если удастся найти xn , то по формуле (2.36) при известных αi , βi можно вычислить неизвестные xi для i=n-1, n-2,…, 1, то есть провести обратный ход прогонки. Поэтому дальше определяем α1 , β1 и xn . Из первого уравнения системы (2.35) найдем x1 =
d1 c1
x2 +
b1 c1
,
что вместе с уравнением х1=α1х2+β1
из (2.36) при i=1 дает α1 =
d1 c1
,
β1 =
b1 c1
.
(2.39)
Далее, из последнего уравнения системы (2.35) и из (2.36) при i=n-1 имеем систему уравнений − a n x n −1 + c n x n = b n , x −α x =β , n −1 n −1 n n −1
откуда находим xn =
b n + β n −1 a n c n − α n −1 a n
= βn .
(2.40)
Таким образом, алгоритм метода прогонки при решении СЛАУ (2.35) заключается в следующем: 1) по формулам (2.39) и (2.38) вычисляются коэффициенты αi , βi для i=1, 2,…,n (прямой ход); 2) по формулам (2.40) и (2.36) вычисляются неизвестные xi для i=n-1, n-2,…, 1 (обратный ход). Метод прогонки реализуется, если нет деления на нуль в формулах (2.38)-(2.40). Для выполнения этого условия достаточно, чтобы detA≠0. Так как при использовании метода прогонки заранее неизвестен detA , то необходим простой способ оценки устойчивости метода.
Достаточные условия устойчивости метода прогонки. Для устойчивости метода прогонки достаточно выполнение неравенств: c1 ≥ d 1 , c i ≥ a i + d i , i = 2, n − 1; сn ≥ a n .
Рассмотренный здесь вариант метода прогонки называется правой прогонкой. Название метода следует из того, что при обратном ходе неизвестные xi вычисляются справа налево, т.е. сначала xn , xn-1 и т.д. Существует метод левой прогонки, в котором неизвестные xi вычисляются слева направо, т.е. сначала х1 , х2 и так далее. Комбинация левой и правой прогонок дает метод встречных прогонок. Глава 3. Итерационные методы решения систем линейных алгебраических уравнений
В главе будут описаны итерационные методы решения систем линейных алгебраических уравнений Ax=b. (3.1) При решении системы уравнений (3.1) итерационным методом отыскивается последовательность векторов x(k) такая, что (k ) (3.2) lim x = x. k →∞
Введем понятие вектора погрешности z(k) =x(k)-x и вектора невязок R(k)=Ax(k)-b . Из формулы (3.2) следуют, что
(3.3) (3.4)
lim z ( k ) = 0,
k →∞
lim R ( k ) = 0.
k →∞
Отметим, что в отличие от вектора погрешности z(k) вектор невязок R(k) может быть вычислен. Поэтому очень часто в качестве условия окончания итераций выбирают R ( k ) ≤ ε , где 0<ε<1. (3.5) Условие (3.5) является не вполне корректным, покажем это. Действительно, из (3.3) имеем
Az(k)=Ax(k)-b= R(k) , z(k)=A-1 R(k) , z ( k ) ≤ A −1 R ( k ) .
С другой стороны b ≤ A x.
Следовательно, b z ( k ) ≤ A A −1 x R ( k )
или z (k) x
≤ γ (A)
R (k ) b
,
(3.6)
где γ (A) = A A −1 – число обусловленности матрицы А. Из (3.6) следует, что лишь для хорошо обусловленных систем (3.1) относительная малость векторов невязок R(k) влечет за со-
бой относительную малость векторов погрешности z(k). Для таких задач условие (3.5) является корректным. Для плохо обусловленной системы (3.1) относительная малость векторов невязок R(k) не влечет относительную малость векторов погрешности z(k). Для таких задач условие (3.5) является не вполне корректным. 3.1. Метод простой итерации
Для описания метода простой итерации [2-4, 6, 11] распишем систему (3.1) a 11 x 1 + a 12 x 2 + ... + a 1n x n = b 1 , a 21 x 1 + a 22 x 2 + ... + a 2n x n = b 2 , ............................................... a x + a x + ... + a x = b . n2 2 nn n n n1 1
(3.7)
Полагая, что коэффициенты aii≠0 (i=1, 2,…, n) разрешим первое уравнение из (3.7) относительно х1 , второе относительно х2 и т.д. Тогда получим x 1 = β1 + α 12 x 2 + α 13 x 3 + L + α 1n x n , x = β + α x + α x +L+ α x , 2 2 21 1 23 3 2n n LLLLLLLLLLLLLL x = β + α x + α x + L + α x , n n1 1 n2 2 nn −1 n n
(3.8)
где βi=bi/aii , αij=-aij/aii при i≠j, αij=0 при i=j, (i,j=1, 2,…,n). Вводя обозначения α 11 α α = 21 L α n1
α 12
α 22
L α n2
L α 1n β1 x1 L α 2n β2 x , β = , x = 2 L L M M β x L α nn n n
перепишем систему уравнений (3.8) в матричной форме (3.9) х=β+αх . Систему уравнений (3.9) будем решать методом последовательных приближений. За нулевое приближение примем столбец свободных членов х(0)=β , где индекс (0) – номер нулевого приближения. Дальше строим последовательность х(1)= β+αх(0) , х(2)= β+αх(1) , ………….. х(k+1)= β+αх(k) .
(3.10)
Если последовательность приближений х(0) , х(0) ,…, х(k) ,…
имеет предел lim x ( k ) = x , то k →∞
этот предел будет решением системы уравнений (3.8). Таким образом, алгоритм метода простой итерации для решения СЛАУ будет следующим
x i( 0 ) = β i , (i = 1, n ), x i( k +1) = β i +
n
∑α j=1
ij
x (jk ) ,
α ii = 0, k = 0,1,2,3,...
Итерация заканчивается при выполнении условия x i( k ) − x i( k +1) ≤ ε , (i = 1, n ), где 0<ε<1. 3.1.1. О сходимости итерационных процессов для систем линейных алгебраических уравнений
Теория сходимости итерационных процессов для решения СЛАУ разработана достаточно хорошо. Здесь ограничимся рассмотрением нескольких достаточных условий сходимости. Теорема 3.1 [3]. Процесс итерации для приведенной линейной системы (3.9) сходится к единственному ее решению, если какая-нибудь каноническая форма матрицы α меньше единицы, т.е. для итерационного процесса (k=1,2,…) х(k)= β+αх(k-1) достаточное условие сходимости есть α < 1.
Доказательство При заданном произвольном векторе х(о) , имеем последовательность приближений х(1)= β+αх(о), х(2)= β+αх(1), …………… х(k)= β+αх(k-1). Откуда (3.11) х(k)=(Е+α+α2+…+αk-1)β+αkх(o). k Так как α < 1 , то lim α = 0 и k →∞
2
k-1
lim (Е+α+α +…+α )=
k →∞
∞
∑α
k
= (E − α ) −1 ,
k =0
которое следует из [3] (см. теорема 5, стр. 250). Следовательно, х= lim х k =(Е-α)-1β. k →∞
Теорема доказана. Следствие 3.1. Процесс итерации для системы (3.9) сходится, если:
а) α
m
= max i
n
∑α j=1
ij
< 1,
n
б) α l = max ∑ α ij < 1 , j
в) α
k
=
i =1
n
n
∑∑ i =1 j=1
α ij
2
<1.
Следствие 3.2. Для системы уравнений
n
∑a j=1
ij
x j = b i , (i = 1, n )
процесс итерации сходится, если выполнены условия теоремы Адамара. 3.1.2. Оценки погрешности метода простой итерации Теорема 3.2 [3]. Пусть α < 1 , тогда выполняется x (k ) − x ≤
α
k
1− α
β , k ≥ 1,
(3.12)
где х(k) – к-ое приближение, х – точное решение. Доказательство Пусть х(о)=(0, 0,…, 0), тогда из (3.11) имеем х(k)=(Е+α+α2+…+αk-1)β. Точное решение х=(Е+α+α2+…+αk-1)β+(αk+αk+1+…)β. Тогда, вычитая из первого равенства второе и оценивая нормы, получим k k +1 x ( k ) − x = α k + α k +1 + ... β ≤ ( α + α + ...) β , k
где α + α
k +1
+ ... =
α
k
1− α
. Тогда имеем x
(k )
−x ≤
α
k
1− α
β , что и требовалось доказать.
Оценка (3.12) называется априорной оценкой погрешности и позволяет оценить погрешность к-го приближения, не проведя вычислений, используя, нормы α и β . Также при заданной точности вычисления ε можно определить необходимое число итераций из формулы ε =
α
k
1− α
β .
Теорема 3.3 [3]. Пусть α < 1 , тогда имеет место неравенство x (k ) − x ≤
α 1− α
x ( k ) − x ( k −1) .
Доказательство Пусть имеем приведенную систему линейных уравнений (3.13) х=β+αх. Тогда для к-го приближения имеем (3.14) х(к)=β+αх(к-1). Из (3.13) и (3.14) получим (3.15) х(к)-х=α(х(к-1)-х). Прибавим к левой и правой части этого равенства х(к-1) и тогда имеем х(к-1)-х= х(к-1)-х(к)+α(х(к-1)-х). Откуда x
( k −1)
−x ≤
x ( k ) − x ( k −1) 1− α
.
(3.16)
Из (3.15) получим x ( k ) − x ≤ α x ( k −1) − x ,
тогда из (3.16) и (3.17) имеем
(3.17)
x (k ) − x ≤
α 1− α
x ( k ) − x ( k −1) ,
(3.18)
что и требовалось доказать. Оценка (3.18) называется апостериорной оценкой погрешности, так как её получают по известной α и вычисленным приближениям х(к-1) и х(к). 3.2. Метод Зейделя
Метод Зейделя [3,4,9,11]представляет собой некоторую модификацию метода простой итерации. Основная идея метода заключается в том, что при вычислении (к+1)-го приближения неизвестной xi учитываются уже вычисленные ранее (к+1)-ые приближения неизвестных x1, x2, …, xn. Пусть имеется приведенная линейная система n
xi=βi+ ∑ α ij x j , (i=1, 2, …, n). j=1
Выберем произвольно начальные приближения x 1( 0) , x (20 ) ,..., x (n0) .
Далее, предполагая, что к-ые приближения неизвестных x i( k ) вычислены, построим формулы для (к+1)-го приближения: n
∑α
x 1( k +1) = β1 +
j=1
1j
x (jk ) ,
x (2k +1) = β 2 + α 21 x 1( k +1) +
n
∑α j= 2
2j
x (jk ) ,
…………………………………. x i( k +1) = β i +
i −1
∑ j=1
α ij x (jk +1) +
n
∑α j= i
ij
x (jk ) ,
…………………………………. x (nk +1) = β n +
n −1
∑α j=1
nj
x (jk +1) + α nn x (nk ) , (k=0, 1, 2,…).
Таким образом, алгоритм метода Зейделя для решения СЛАУ будет следующим x i( 0) = β i , (i = 1, n ),
x i( k +1) = β i +
i −1
∑ j=1
α ij x (jk +1) +
n
∑α j= i
ij
x (jk ) ,
αii=0, k=0, 1, 2, … Итерация заканчивается по выполнению условия x i( k +1) − x i( k ) < ε для всех
i = 1, n ;
где 0<ε<1. Отметим, что теорема 3.1 и следствия 3.1 и 3.2 верны и для метода Зейделя. Формулы для оценки погрешности метода Зейделя следующие [3]: а) по m – норме x i − x i( k ) ≤
где
µk max x (j1) − x (j0) , (i = 1, n ), 1− µ j
n
∑α j= i
µ = max i
1−
ij
≤ α
i −1
∑α j=1
, α m
m
= max i
n
∑α j=1
ij
,
ij
б) по l – норме n
∑ j=1
x j − x (jk ) ≤
ρ (1 − s)(1 − ρ)
n
∑x j=1
(k) j
− x (jk −1) ,
где s = max j
n
∑
i = j+1
α ij , ρ ≤ α l , α l = max j
n
∑α i =1
ij
.
3.3. Метод релаксации
Имеем систему уравнений a 11 x 1 + a 12 x 2 + ... + a 1n x n = b 1 , a 21 x 1 + a 22 x 2 + ... + a 2n x n = b 2 , ............................................... a x + a x + ... + a x = b . n2 2 nn n n n1 1
(3.19)
Для описания метода релаксации [2, 3, 9, 11] преобразуем систему (3.19) следующим образом. Перенесем свободные члены налево и разделим первое уравнение на -а11, второе на -а22 и т.д. Тогда получим − x 1 + b 12 x 2 + ... + b 1n x n + c1 = 0, b x − x + ... + b x + c = 0, 21 1 2 2n n 2 (3.20) ............................................. b n1 x 1 + b n2 x 2 + ... − x n + c n = 0, где bij=-aij/aii , (i≠j), ci=bi/aii , (i,j=1, 2,…, n). Пусть х(0)=( x 1( 0) , x (20) ,..., x (n0) ) – начальное приближение, тогда подставляя его в (3.20) получим невязки n (0) ( 0) b 1 j x (j0) , R 1 = c1 − x 1 + j= 2 ............................................ n ( 0) ( 0) = − + R c x b ij x (j0 ) , j ≠ i, (3.21) i i i j=1 .............................................. n −1 (0) (0) b nj x (j0) . R n = cn − x n + j=1 Если в (3.21) одной из неизвестных x (k0) дать приращение δ x (k0) , то соответствующая невяз-
∑
∑
∑
ка R (k0) уменьшится на δ x (k0) , а остальные невязки R i( 0)
(i≠к) увеличатся на величину
bikδ x (k0) , (i=1, 2,…, n; i≠k; k=1, 2,…,n ). Следовательно, чтобы обратить невязку R (k1) в нуль, достаточно величине x (k0) дать приращение δ x (k0) = R (k0) , тогда будем иметь следующую систему уравнений на первой итерации
0, (i = k ), R i(1) = ( 0) , ( 0) R i + b ik δx k , (i ≠ k; i = 1, n )
далее, чтобы на m – ой итерации обратить в нуль невязку приращение δ x (km −1) = R (km −1) . Тогда получим систему уравнений
R (km ) дадим переменной x (km −1)
0, (i = k ), R i( m ) = ( m −1) . + b ik δx (km −1) , (i ≠ k; i = 1, n ) R i
Процесс итерации заканчивается, когда все невязки последней преобразованной системы будут равны нулю с требуемой точностью. В методе рекомендуется на каждой итерации обращать в нуль максимальную по модулю невязку путем изменения значения, соответствующей компоненты приближения. Алгоритм метода релаксации будет таким. Задается начальное приближение х(0)=( x 1( 0) , x (20) ,..., x (n0) ). Вычисляются невязки начального приближения R i( 0 ) = c i − x i( 0 ) +
Находим величину ак= max i
R i( 0)
n
∑b j=1
ij
x (j0 ) , ( j ≠ i; i = 1, n ) .
, которой соответствует невязка R (k0) и приращение δ x (k0) = R (k0) .
Дальше вычисляются невязки первого приближения 0, (i = k ), R i(1) = ( 0) ( 0) R i + b ik δx k , (i ≠ k; i = 1, n )
и т.д. Затем находим величину ак= max R i( m −1) , которой соответствует невязка R (km −1) и приращение i
δ
x (km −1)
=
R (km −1)
, что позволяет вычислить невязку m-го приближения 0, (i = k ), R i( m ) = ( m −1) + b ik δx (km −1) , (i ≠ k; i = 1, n ) R i
и т.д. m=m+1, m+2,…, M. M→∞. Итерация заканчивается при выполнении условия R i( m ) < ε, (i = 1, n ),
где 0<ε<1.
Неизвестные вычисляются по формуле M
xi= ∑ δx i( m ) , i = 1, n. m =0
Замечание. Описанный здесь метод называется полной релаксацией. Если в процессе полной релаксации для системы уравнений (3.19) с положительно-определенной матрицей выполнено условие: Последовательность индексов i компонент xi (i=1, 2,…, n) имеет интервал повторяемости L , т.е. на каждом отрезке длины L индекс i принимает хотя бы по одному разу все числа 1, 2,…, n , то процесс сходится к решению системы (3.19), где L – любое натуральное число.
3.4. Каноническая форма двухслойных итерационных методов
Если при решении СЛАУ Ax=b (3.22) (k+1) используется только значеитерационным методом для вычисления вектора решений x ния предыдущей итерации x(k), то такой метод называется двухслойным или одношаговым. Если x(k+1) вычисляется через значения двух итерации x(k) и x(k-1) , то метод называется трехслойным или двухшаговым. Здесь рассмотрим только двухслойные методы. Отметим, что важную роль в итерационных методах играет запись их в канонической форме. Для приведения (3.22) к канонической форме представим матрицу системы в виде A=B-C, (3.23) где В – невырожденная матрица. Из (3.22) и (3.23) получим x=B-1Cx+B-1b. Тогда итерации можно проводить по формуле x(k+1)=x(k)-B-1(Ax(k)-b) или (3.24) B(x(k+1)-x(k))+ Ax(k)=b . Для ускорения сходимости итерационных методов в формулу (3.24) водят числовые параметры, которые могут зависеть от номера итерации. Тогда вместо (3.24) используется В
x ( k +1) − x ( k ) + Ax(k)=b, τ k +1
(3.25)
где τ1, τ2,…, τk+1,… - итерационные параметры. τk+1>0 , k=0, 1, 2,… Если В=Е – единичный оператор, то формула (3.25) примет вид x ( k +1) − x ( k ) + Ax(k)=b. τ k +1
Отметим, что в общем случае матрица В может зависеть от номера итерации k , ниже мы предполагаем, что матрица В не зависит от номера итерации. Итерационный метод (3.25) называется стационарным, если τk+1=τ не зависит от номера итерации, в противном случае – нестационарным. 3.4.1. Каноническая форма метода простой итерации
Для построения канонической формы метода простой итерации [9, 10] систему уравнений (3.22) запишем в виде x i( k +1) =
1 (b − a ii i
n
∑a j=1
ij
x (jk ) ), ( j ≠ i, i = 1, n ) ,
(3.26)
где aii≠0. Второй член правой части (3.26) будет n
∑a
j=1, j≠ i
n
ij
(k) (k) x (k) = Ax i(k) − Dx i(k) , , j = ∑ a ij x j − a ii x i j=1
где D=[aii] – диагональная матрица. Подставляя (3.27) в (3.26) получим x i( k +1) =
1 (b − a ii i
x i( k +1) = x i( k ) +
в матричной форме
n
∑a j=1
ij
x (jk ) + a ii x i( k ) ), (i = 1, n ) ,
1 (b − a ii i
n
∑a j=1
ij
x (jk ) ), (i = 1, n )
(3.27)
x(k+1)-x(k)=D-1(b-Ax(k)) или в канонической форме D
x ( k +1) − x ( k ) + Ax(k)=b, τ=1, k=0, 1, 2,… τ
3.4.2. Каноническая форма метода Зейделя
Для решения системы (3.22) методом Зейделя, метод можно записать в следующей форме i
∑ j=1
a ij x (jk +1) +
n
∑a
j= i +1
ij
x (jk ) = b i , (i = 1, n ) ,
(3.28)
где aii≠0. Из формулы (3.28) получим формулы для последовательного вычисления x 1( k +1) , x (2k +1) ,..., x (nk ) (к=0, 1, 2,…) n 1 (b 1 − a 1 j x (jk ) ), x 1( k +1) = a 11 j= 2 . i −1 n ( k +1) (k ) x ( k +1) = 1 (b − a x a x ), ( i 2 , n ) − = ij j i a ii i j=i +1 ij j j=1
∑
∑
∑
(3.29)
В матричной форме (3.29) примет вид (3.30) x(k+1)=D-1(b-Ux(k)-Lx(k+1)), где D – диагональная матрица, U и L – соответственно, верхняя и нижняя треугольные матрицы, так что A=L+D+U. (3.31) Из формул (3.30) и (3.31) после простых преобразований получим каноническую форму метода Зейделя [9, 11] (3.32) (D+L)(x(k+1)-x(k))+Ax(k)=b, где τ=1, k=0, 1, 2,… Для ускорения сходимости итерационного процесса, можно привести метод Зейделя (3.32) к методу релаксации, вводя итерационный параметр ω, тогда имеем (D+ωL)
x ( k +1) − x ( k ) +Ax(k)=b, k=0, 1, 2,… ω
(3.33)
Отметим, что при 1<ω<2 метод (3.33) называется верхней релаксацией, при 0<ω<1 – нижней релаксацией, при ω=1 – полной релаксацией или методом Зейделя. 3.4.3. Теоремы двухслойных итерационных методов
Двухслойные итерационные методы в канонической форме записываются в виде В
x ( k +1) − x ( k ) + Ax(k)=b, τ k +1
(3.34)
где В – вещественная невырожденная матрица, τk+1 – последовательность итерационных параметров, х(0) – произвольный начальный вектор. Имея, вектор погрешности z(k)=x(k)-x, где х – точное решение. Можно преобразовать (3.34), для этого значения x(k+1)=z(k+1)+x, x(k)=z(k)+x подставляем в (3.34). Тогда получим В
z ( k +1) − z ( k ) + Az(k)=0 τ k +1
(3.35)
у которого вектор погрешности z(k) является решением и условие сходимости итерационного процесса (3.34) может быть переписано так: lim z ( k ) = 0 . (3.36) k →∞
Из (3.35) выделим вектор погрешности z(k+1) z(k+1)=(E-τk+1B-1A)z(k)=Skz(k) , -1 где Sk=E-τk+1B A – матрица перехода. Тогда z(k)= Sk-1Sk-2…S1S0z(0)=Тk0z(0) , где Тk0= Sk-1Sk-2…S1S0 – разрешающая матрица. При стационарном итерационном процессе, когда τk+1=τ k S0=S1=…=Sk-1=S. Если S=S* , то Tk 0 = S . Теорема 3.4 [8, 9]. Для сходимости стационарного итерационного процесса (3.34) с матрицей перехода S необходимо и достаточно, чтобы все собственные значения матрицы S были по модулю меньше единицы. Доказательство Пусть выполнено (3.36), тогда lim S k z ( 0 ) = 0 . (3.37) k →∞
Так как начальное приближение х(0) в (3.34) произвольно, то из (3.37) получаем (3.38) lim S k = 0 . k →∞
Пусть Т – некоторая неособенная матрица. Запишем матрицу S в канонической форме Жордана S=TJT-1 , где J 0 0 α1 J= 0 O 0 , α1+α2+…+αm=n. 0 J αm 0
Здесь Jαp – клетка Жордана порядка αp:
µp 1 Jαp= 0 0
0 O 0 0 , O O 0 0 1 µp 0
0
где µp – собственные значения матрицы S. Тогда Sk=TJkT-1 . Поэтому из (3.38) следует, что (3.39) lim J k = 0 ⇒ lim J αk p = 0 . k →∞
k →∞
J αk p
(µ kp ) 1 k ' (µ p ) 1 ! 1 k " = (µ ) 2! p L 1 (µ kp ) ( αp −1) α − ( p 1 )!
Так как O O
O
O
O
L
1 k " (µ ) 2! p
O
1 k ' (µ ) 1! p
, (µ kp )
то видно, что для выполнения (3.39) необходимо, чтобы µp<1. Теорема доказана. Теорема 3.5 [8, 9]. Для того, чтобы стационарный итерационный процесс (3.34) с матрицей перехода S сходился достаточно, чтобы норма матрицы S была меньше единицы.
Доказательство Доказательство следует из того, что если S < 1 , то и µp<1. Следовательно, по теореме 3.4 стационарный итерационный процесс сходится. 3.5. Вариационно-итерационные методы
В параграфе 3.4 рассматривались такие итерационные методы решения СЛАУ Ax=b, (3.40) в которых для задания итерационных параметров требовалось знание границы собственных значений матрицы А. Что делать, если такой информации нет? В таком случае можно применять методы, не использующие знания о границах собственных значений матрицы А. Ниже описываются итерационные методы вида В
x ( k +1) − x ( k ) + Ax(k)=b, τ k +1
k=0, 1, 2,…
в которых параметры τk+1 выбираются из других условий. 3.5.1. Метод минимальных невязок
Рассмотрим явную схему метода минимальных невязок [8, 9] заданную формулой с симметричной положительно определенной матрицей А. x ( k +1) − x ( k ) + Ax(k)=b, τ k +1
k=0, 1, 2,…
(3.41)
Для невязки R(k)= Ax(k)-b из (3.41) получим R ( k +1) − R ( k ) + AR(k)=0, τ k +1
Параметр τk+1 R ( k +1)
k=0, 1, 2,…
R(k+1)=R(k)-τk+1AR(k) . выбираем из условия минимума невязки R(k+1) по норме 2
= R ( k ) − τ k +1 AR ( k )
2
= R (k )
2
2
− 2τ k +1 (R ( k ) , AR ( k ) ) + + τ2k +1 AR ( k ) =ϕ(τk+1).
Дальше вычислим производную от функции ϕ(τk+1) по параметру τk+1 и приравняем нулю 2
ϕ’(τk+1)= -2(R(k),AR(k))+2τk+1 AR ( k ) =0
или τ k +1 =
(AR ( k ) , R ( k ) ) AR ( k )
2
, k=0, 1, 2,…
(3.42)
При этом значении параметра τk+1 вторая производная ϕ”(τk+1)>0, следовательно, достига2
ется min R (k +1) . τ k +1
В этом методе переход от k-ой итерации к (k+1)-ой осуществляется следующим образом. По найденному значению x(k) вычисляется вектор невязки R(k)= Ax(k)-b и по формуле (3.42) находится параметр τk+1. Затем по формуле (3.41) вычисляется вектор x(k+1). Метод минимальных невязок (3.41), (3.42) сходится с той же скоростью, что и метод простой итерации с оптимальным параметром τ .
3.5.2. Метод скорейшего спуска
В методе скорейшего спуска [8, 9], в явной схеме (3.41), итерационный параметр τk+1 выбирается из условия минимума нормы z ( k +1) вектора погрешности z(k+1)=x(k+1)-x. Так как погрешность z
(k+1)
A
удовлетворяет уравнению z ( k +1) − z ( k ) + Az(k)=0, τ k +1
или
k=0, 1, 2,…
z(k+1)= z(k)-τk+1Az(k) ,
то имеем z ( k +1)
2
= (Az ( k +1) , z ( k +1) ) = ( Az ( k ) − τ k +1 A 2 z k , z k − τ k +1 Az ( k ) ) =
A
= z (k )
2 A
− 2τ k +1 (Az ( k ) , Az ( k ) ) + τ 2k +1 (A 2 z ( k ) , Az ( k ) ) = Ψ(τk+1).
Дальше находим производную от функции Ψ(τk+1) по параметру τk+1 и приравняем к нулю, тогда Ψ’(τk+1)= -2(Az(k), Az(k))+2τk+1(A2z(k), Az(k))=0 или τ k +1 =
(Az ( k ) , Az ( k ) ) (A 2 z ( k ) , Az ( k ) )
.
Так как вектор погрешности z(k)=x(k)-x неизвестен, поскольку неизвестно точное решение х. Тогда с учетом того, что Az(k)=Ax(k)-Ax=R(k) вычисление τk+1 можно проводить по формуле τ k +1 =
(R ( k ) , R ( k ) ) (AR ( k ) , R ( k ) )
.
(3.43)
Отметим, что метод скорейшего спуска (3.41), (3.43) сходится со скоростью метода простой итерации с оптимальным параметром τ. Глава 4. Методы решения задач на собственные значения
На практике часто возникают различные требования к информации о собственных значениях и собственных векторах матриц: 1. При решении задач механики, физики и химии требуется нахождение всех собственных значений и векторов матриц. Такую задачу называют полной проблемой собственных значений; 2. Иногда требуется найти максимальное или минимальное по модулю собственное значение матрицы. Такого рода задачи возникают при решении некоторых задач ядерной физики 3. При исследовании колебательных процессов иногда требуется найти два максимальных по модулю собственных значений матрицы. Подобные задачи называют частичной проблемой собственных значений. Таким образом, алгебраическая проблема собственных значений состоит в определении тех собственных значений λ, при которых система n однородных линейных уравнений с n неизвестными Ах=λх, х≠0 (4.1) имеет нетривиальное решение.
Отметим, что если матрицу А с помощью преобразований подобия Т-1АТ (согласно теорема 1.1) привести к диагональной матрице D, то полная проблема собственных значений будет решена. Действительно, если D подобна А, то (detT≠0) (4.2) D= Т-1АТ, DΨ=γΨ. (4.3) Умножим (4.2) справа на вектор Ψ DΨ= Т-1АТΨ, теперь умножим слева на Т ТDΨ=АТΨ, тогда с учетом (4.3) А(ТΨ)=γ(ТΨ). Откуда видно, что собственное значение γ матрицы D совпадает с собственным значением λ матрицы А, а собственный вектор Ψ матрицы D связан с собственным вектором х матрицы А соотношением х=ТΨ. Определение 4.1. Собственные значения диагональной матрицы D равны диагональным элементам, т.е. γ1=d11, γ2=d22,…, γn=dnn. Определение 4.2. Собственные значения треугольной (верхней или нижней) матрицы совпадают с диагональными элементами, т.е. λ1=d11, λ2=d22,…, λn=dnn. Определение 4.3. Для вещественной симметричной матрицы А собственные значения вещественны, а собственные вектора, соответствующие различным собственным значениям ортогональны. Определение 4.4. Если матрицы А и В удовлетворяют тождеству (Ах, у)=(х, Ву), (4.4) то матрица В называется сопряженным матрице А и обозначается A*.
В дальнейшем (4.4) будем записывать в виде (4.5) (Ах, у)=(х, A*у), которое называется тождеством Лагранжа. Наряду с задачей (4.1) также рассматривается задача A*у=ηу, у≠0. (4.6) * Так как det(A -ηE)=det(A-λE) следует, что λ=η. Следовательно, вместо (4.6) можно написать A*у=λу. 4.1. Устойчивость задачи на собственные значения
Для простоты будем считать, что все собственные значения матрицы А простые в задаче (4.1). На практике элементы матрицы А, почти всегда, заданы с некоторой погрешностью δА, тогда вместо (4.1) будем иметь (А+δА)(х+δх)=(λ+δλ)(х+δх), тогда отбросив, члены второго порядка малости получим Ах+δАх+Аδх=λх+δλх+λδх из последнего выражения вычтем (4.1), тогда имеем δАх+Аδх=δλх+λδх. (4.7)
Рассмотрим два варианта существования погрешностей: 1) δх=0, δλ≠0; 2) δх≠0, δλ=0. Последовательно рассмотрим оба варианта. Вариант 1. δх=0, δλ≠0. Тогда из (4.7) имеем δАхi=δλiхi , (yi, δАхi)=δλi(yi, xi), δλ i ≤
Отношение
yi x i (y i , x i )
=
yi x i (y i , x i )
δA .
1 = ω i ≥ 1 называется i-ым коэффициентом перекоса матрицы А, cos α i
где αi – угол между собственными векторами xi и yi . Таким образом, δλ i ≤ ω i δA .
Следовательно, если погрешность δА мала и мал i-ый коэффициент перекоса, то мала погрешность определяемого i-го собственного значения. Отметим, что для симметричной матрицы все ωi=1, поэтому задача нахождения собственных значений симметричной матрицы является устойчивой. Вариант 2. δх≠0, δλ=0. Тогда из (4.7) имеем Аδхi +δАхi =λiδхi , (Аδхi, yj)+(δАхi, yj)= λi(δхi, yj) , (4.8) где (Аδхi, yj)=( δхi, A*yj)=(δхi, λjyj)=λj(δхi, yj). Подставляя последнее в (4.8) получим λj(δхi, yj)+(δАхi, yj)= λi(δхi, yj), (δхi, yj)=(δАхi, yj)/(λi-λj), при i≠j. (4.9) Пусть n
δхi= ∑ β ij x j ,
(4.10)
j=1
тогда (δхi, yj)=βij(xj, yj) после подстановки этого выражения в (4.9) получим βij= ≤ β ij ≤
xi
ωj
x j λi − λ j
(δAx i , y j )
( x j , y j )(λ i − λ j )
δA .
при i≠j, (4.11)
Из (4.10), (4.11) видно, что если мала погрешность определения элементов матрицы А и малы все коэффициенты перекоса, то мала погрешность определения i-го собственного вектора, соответствующего i-му собственному значению. Следствие 4.1. Если матрица А=A* и все собственные значения простые, то задача нахождения собственных векторов устойчива.
4.2. Метод вращения Якоби
Метод Якоби [4, 5, 9, 11] применяется для решения полной проблемы собственных значений симметричных матриц. Пусть А – исходная симметричная матрица, имеющая простые собственные значения. Тогда согласно теореме 1.1 имеем Т-1АТ=Λ, (4.12) где Λ - диагональная матрица. В качестве матрицы Т используем ортогональную матрицу вращения i j 0 0 M 1 0 M 0 0 0 0 0 M 0 O M 0 0 0 L L c L L L ( −s ) L L 0 0 M 0 0 M O 0 0 Tn(i,j)= 0 0 M 0 1 0 0 0 , (i<j). M 0 0 M 0 0 O M 0 0 L L s L L L c L L 0 0 M 0 0 0 M O 0 M 0 1 0 0 M 0 0 0
Так как Tn – ортогональная матрица (4.12) запишется в виде ~
TnT АТ= Λ ,
(4.13)
~
где Λ - квазидиагональная матрица. Дальше строится последовательность матриц Аn при начальной А0=А: А1= T1T А0Т1 , …………. , n=1, 2, 3,… Аn= TnT Аn-1Тn .
(4.14)
limAn=Λ. При n→∞ Идея построения последовательности (4.14) такова: допустим, что ненулевой, недиагональный элемент матрицы Аn-1 находится в позиции (i, j), тогда умножение её на Тn справа и TnT слева соответствует вращения матрицы Аn-1 в плоскости (i, j). Угол вращения θ выбирается таким образом, чтобы сделать элемент (i, j) матрицы Аn нулевым. Алгоритм метода вращения, который получается из последней строки последовательности (4.14), будет таким: (n −1) a (n) , k ≠ i, j; l ≠ i, j; kl = a kl (n) (n −1) a (n) + sa (nkj −1) , k ≠ i, j; ki = a ik = ca ki (n) (n −1) a (n) − sa (nki −1) , k ≠ i, j; kj = a jk = ca kj
a ii(n) = c 2 a ii(n −1) + 2csa ij(n −1) + s 2 a (njj −1) , 2 (n −1) a (n) − 2csa ij(n −1) + c 2 a (njj −1) , jj = s a ii
(4.15)
2 2 (n −1) a ij(n) = a (n) + (a (njj −1) − a ii(n −1) )cs = 0, ji = (c − s )a ij
где c=cosθ, s=sinθ, n=1, 2, 3,… Из последнего выражения формул (4.15) получим 2a ij(n −1) , θ≤π/4. tg2θ= (n −1) a ii − a (njj −1) Из исходных соотношений получим уравнение
(4.16)
tgθ=s/c=t. (4.17) Далее из (4.16), (4.17) получим a ii − a jj t2 + t-1=0. (4.18) a ij Для сходимости и устойчивости метода необходимо выбрать наименьший по модулю корень уравнения (4.18). Зная t можно вычислить с, s: с=
1 1+ t 2
, s=tc.
Для якобиева вращения, a ij( n ) = 0 , справедливо t2(An)= t2(An-1)-2( a ij( n ) )2 , где
t2(An-1)= ∑ [a ij( n −1) ] 2 . i≠ j
Сходимость метода Якоби можно оценить числом t2(An), если процесс сходится, то t2(An)→0 при n→∞. Процесс итерации заканчивается, когда все недиагональные элементы матрицы А удовлетворяют условию a ij( n ) <ε, i≠j , 0<ε<1. Наконец, о нахождении собственных векторов. Пусть lim A n = Λ = T T AT , где Т= ∏ Tn , тогда столбцы матрицы Т будут собственными n →∞
n
векторами матрицы А. Заметим, так как метод Якоби носит итерационный характер, то элемент, который был сделан нулевым при следующем вращении, вообще говоря, может стать ненулевым. Вопрос, в каком порядке занулять элементы матрицы А, т.е. вопрос о выборе индексов i и j для каждого шага, определяет различные варианты метода Якоби. 4.2.1. Различные варианты метода Якоби Классический метод. На каждой итерации классического метода Якоби зануляется максимальный по модулю недиагональный элемент с номером:
(in, jn)⇒ a i
j
n n
= max a ij( n ) , n=0, 1, 2,… i≠ j
Барьерные методы. Используется простая циклическая последовательность аннулирования недиагональных элементов матрицы, т.е. элементы матрицы зануляются в следующем порядке: (2, 1), (3, 1), (3, 2),…, (n, 1), (n, 2),…, (n, n-1), а затем начинается новый проход по матрице в том же порядке. При этом вращения опускаются, если a ij( n ) меньше некоторого
барьерного значения τ, которое может быть фиксировано, а может меняться на каждой итерации. Фиксированный барьер меняется, если все диагональные элементы стали меньше его следующим образом: 1. В качестве барьера τ выбирается произвольное положительное число. Затем, когда все недиагональные элементы становятся по модулю меньше его, барьер заменяется на новый τ’=τ/const.
2. В качестве начального барьера выбирается τ= ∑ [a ij( n ) ] 2 / N , где N – количество надi< j
диагональных элементов. Затем на каждой итерации величина
∑ [a i< j
(n ) 2 ] ij
уменьшается
на [a ij(n) ] 2 и новое значение τ вычисляется по той же формуле. 3. Значения барьера выбираются так же как в пункте 2, но в качестве критерия проведения вращения используется условие N [a ij(n) ] 2 > ∑ [a ij( n ) ] 2 , n=0,1,2,… i< j
Экономическая стратегия выбора аннулируемого элемента. Выбор номера (ik, jk) зануляемого элемента матрицы происходит следующим образом: а) вычисляются суммы внедиагональных элементов матрицы по строкам n
Si=
∑ [a
j=1, j≠ i
(k) 2 ij
] ;
б) выбирается максимальная сумма S i = max S i ; i
k
в) выбирается максимальный элемент, входящий в максимальную сумму S i ai
j
k k
= max a i j
k
j
k
, k=0, 1, 2,…
4.3. Степенной метод
Степенной метод [2-4, 6, 9, 11, 12] предназначен для нахождения наибольшего по модулю собственного значения и соответствующего собственного вектора. Метод является простым, тем не менее, нечасто используется на практике из-за медленной сходимости. Знакомство с методом оправданно тем, что на его идее основаны более эффективные методы. Пусть А=A* и (4.19) λ1<λ2<…<λn-1<λn. Зададим произвольный вектор у0 таким, что (у0, xn)≠0 и образуем последовательность (4.20) yk+1=Ayk . Далее строим последовательность скалярных произведений (yk, yk), (yk+1, yk), k=0, 1, 2,… Покажем, что lim
(Ay k , y k )
k →∞
(y k , y k )
= lim
k →∞
( y k +1 , y k ) (y k , y k )
=λn
(4.21)
или ( y k +1 , y k ) (y k , y k )
=λn+О(
λ n −1 λn
2k
).
Разложим вектор у0 по собственным векторам матрицы А n
y0= ∑ c i x i , i =1
n
n
i =1 n
i =1
y1=Ay0= ∑ c i Ax i = ∑ c i λ i x i , n
y2=Ay1= ∑ c i λ i Ax i = ∑ c i λ2i x i , i =1
i =1
(4.22)
……………………………… n
yk= ∑ c i λki x i , i =1
n
yk+1= ∑ c i λki +1 x i . i =1
Тогда n
(yk, yk)= ∑ c i2 λ i2k , i =1
n
(yk+1, yk)= ∑ c i2 λ i2k +1 . i =1
Значит ( y k +1 , y k ) (y k , y k )
=
с 12 λ21k +1 c 12 λ21k
+ ... + c 2n −1 λ2nk−+11 + c 2n λ2nk +1 + ... + c 2n −1 λ2nk−1 + c 2n λ2nk
= λn
с 12 (
λ1 λn
c 12 (
) 2 k +1 + ... + c 2n −1 (
λ1
λn
) 2 k + ... + c 2n −1 (
λ n −1 λn
λ n −1 λn
) 2 k +1 + c 2n
,
(4.23)
) 2 k + c 2n
что приводит к (4.21) и (4.22) при k→∞. Таким образом, наибольшее по модулю собственное значение находится итерационно по формуле λ(nk +1) ≈
( y k +1 , y k ) (y k , y k )
(k=0, 1, 2,…),
что подтверждает (4.22). Из формулы (4.23) видно, что степенной метод нахождения наибольшего по модулю собственного значения сходится при выполнении условия (4.19). Процесс итерации заканчивается при выполнении условия λ(nk +1) − λ(nk ) λ(nk +1)
но,
<ε, 0<ε<1.
Для вычисления собственного вектора xn воспользуемся формулой (4.20). Действительn
n −1
ci
i =1
cn
yk+1= ∑ c i λki +1 x i =cn λk +1 [ x + ∑ ( n n i =1
при k→∞ c
yk+1≈ c
k +1 nλ n
)(
λi λn
) k +1 x i ] ,
xn .
Таким образом, вектор yk+1 отличается от собственного вектора xn лишь множителем . Так как величина λk +1 может быть достаточно большой, то при вычислении xn фор-
k +1 nλ n
n
мулой (4.20) необходима нормировка вычисляемого вектора yk+1 через какое-то число итерации. Нормированный собственный вектор xn будет таким xn=
y k +1 y k +1
или xni=
y k +1,i y k +1
.
4.4. Обратный степенной метод
Обратный степенной метод [6, 9, 11, 12] используется для нахождения наименьшего по модулю собственного значения и соответствующего собственного вектора матрицы. При этом метод применяется к обратной матрице A-1, так как собственные значения последней обратны к собственным значениям матрицы А. Пусть А=A* и λ1<λ2<…<λn-1<λn. (4.24)
Выберем произвольный вектор z0 таким, что (z0, x1)≠0 и образуем последовательность zk+1=A-1zk . (4.25) -1 Так как собственные значения γi матрицы A связаны с собственными значениями λi матрицы А соотношением γiλi=1 , имеем γmax=1/λmin=1/λ1=γ1. Покажем, что lim
( z k +1 , z k )
k →∞
(z k , z k )
=
1 λ1
(4.26)
или λ 1 = +О( 1 λ2 (z k , z k ) λ 1
(z k +1 , z k )
2k
).
(4.27)
Формулы (4.25) – (4.27) составляют алгоритм определения наименьшего по модулю собственного значения матрицы А. Далее разложим вектор z0 по собственным векторам матрицы А n
z0 = ∑ d i x i , i =1
n
z1=A-1z0= ∑ d i γ i x i , i =1 n
z2=A z1= ∑ d i γ i2 x i , -1
i =1
……………… n
zk= ∑ d i γ ik x i , i =1
n
zk+1= ∑ d i γ ik +1 x i . i =1
Тогда n
(zk, zk)= ∑ d i2 γ i2 k , i =1
n
(zk+1, zk)= ∑ d i2 γ i2 k +1 . i =1
Поэтому (z k +1 , z k ) (z k , z k )
=
d 12 γ 12 k +1 + ... + d 2n −1 γ 2n k−1+1 + d 2n γ 2n k +1 d 12 γ 12 k + ... + d 2n −1 γ 2n k−1 + d 2n γ 2n k
= γn
d 12 + d 22 ( d 12
γ2 γ1
+ d 22 (
) 2 k +1 + ... + d 2n (
γ2 γ1
)
2k
+ ... + d 2n
(
γn γ1
γn
γ1
) 2 k +1
. )
Из (4.28) следует сходимость обратного степенного метода, и будем иметь (z k +1 , z k ) (z k , z k )
что подтверждает (4.27).
≈ γ 1( k +1) =
1
λ(1k +1)
(k=0, 1, 2,…),
2k
(4.28)
Для нахождения собственного вектора х1 можно воспользоваться формулой (4.25). Тогда получим n
n
di
i =1
i =1
λki +1
zk+1= ∑ d i γ ik +1 x i = ∑ При k→∞ телем
d1
λk1+1
zk+1≈
d1
λk1+1
xi=
n d i λ 1 k +1 [ x ( )( ) x i . + λk1+1 1 i = 2 d 1 λ i
d1
∑
x 1 , следовательно, вектор zk+1 будет отличаться от вектора х1 множи-
. При определении собственного вектора х1 требуется нормировка вычисляемых
векторов zk+1 . 4.5. Итерационный метод
Пусть А=А* >0 , тогда распишем систему уравнений (А-λЕ)х=0 (4.29) (1) относительно собственного значения λ1 и собственного вектора х 1 матрицы А (a − λ ) x (1) + a x (1) + ... + a x (1) = 0, 12 2 1n n 11 (1) 1 1 (1) (1) a 21 x 1 + (a 22 − λ 1 ) x 2 + ... + a 2 n x n = 0, .............................................................. a x (1) + a x (1) + ... + (a − λ ) x (1) = 0 n2 2 nn 1 n n1 1
или 1 x 1(1) = (a x (1) + a 12 x (21) + ... + a 1n x (n1) ), λ 1 11 1 1 (1) (1) (1) (1) x 2 = λ (a 21 x 1 + a 22 x 2 + ... + a 2 n x n ), 1 ............................................................. 1 (1) (1) (1) (1) x n −1 = λ (a n −1,1 x 1 + a n −1, 2 x 2 + ... + a n −1, n x n ), 1 λ = 1 (a x (1) + a x (1) + ... + a x (1) ). 1 n2 2 nn n x (n1) n1 1
(4.30)
Поскольку компоненты собственных векторов определяются с точностью до постоянной, то одну из них можно задать произвольно, например, за исключением особого случая, можно положить x (n1) =1. Систему (4.30) можно решить методом итерации, следующим образом при начальных значениях x i(1,0) , λ(10) (1, k +1) 1 n −1 x ( a ij x (j1, k ) + a in ), i = 1, n − 1; = i (k ) λ j=1 1 n −1 λ( k +1) = a nj x (j1, k +1) + a nn , k = 0,1,2,3,... 1 j=1
∑
∑
Итерация заканчивается при выполнении условия λ(1k +1) − λ(1k ) < ε, где 0<ε<1. Таким образом, находится первое собственное значение λ 1 ≈ λ(1k +1)
и первый собственный вектор
x (1)
x (1, k +1) 1 x (1, k +1) 2 ≈ M . x (1, k +1) n −1 1
Для определения второго собственного значения λ2 и второго собственного вектора х(2) обратимся к системе λ 2 x i( 2 ) =
n
∑a j=1
ij
x (j2 ) , i = 1, n.
(4.31)
Из соотношения ортогональности n
∑x j=1
(1) ( 2 ) xj j
=0
(4.32)
исключается одно из неизвестных x (j2) , например x (n2) . Тогда система (4.31) заменится эквивалентной ( 2) 1 a ij( 2) x (j2 ) , i = 1, n − 2; x i = λ2 1 λ 2 = ( 2) a (n2−)1, j x (j2 ) . x n −1
∑
∑
(4.33)
Здесь a ij( 2) новые преобразованные коэффициенты. Далее, полагая, что x (n2−)1 =1 и при заданных начальных значениях x i( 2,0) , λ(20) решается система уравнений (4.33) методом итерации: ( 2, k +1) 1 n −2 x ( a ij x (j1, k ) + a in −1 ), i = 1, n − 2; = i (k) λ j=1 2 n −2 λ( k +1) = a nj x (j2, k +1) + a n −1, n −1 , k = 0,1,2,3,... 2 j=1
∑
∑
В результате будут найдены второе собственное значение λ2 и второй собственный вектор х(2) матрицы А, при чем n-я компонента этого вектора находится из условия ортогональности (4.32). Аналогично находятся остальные λj (j=3,4,…,n) и соответствующие им собственные векторы х(j). 4.6. Методы для матриц, не принадлежащих к специальному классу
Здесь будут рассмотрены методы решения полной проблемы собственных значений для несимметричных матриц, при этом не делается каких-либо оговорок относительно кратности или не кратности собственных значений. К таким методам относятся QL и QR алгоритмы [9, 11, 12]. Отметим, что эти алгоритмы являются типичными представителями методов трансформационного типа. Общая идея этих методов состоит в том, чтобы посредством последовательности простых преобразований подобий привести матрицу к той или иной канонической форме, позволяющей без труда определить собственные значения и вектора. 4.6.1. QL – алгоритм
Пусть detA≠0, тогда согласно теореме 1.3 матрицу А можно разложить A=QL, (4.34) где Q – ортогональная матрица, L – нижняя треугольная матрица. Тогда матрица В, равная B=LQ=QTAQ=Q-1AQ, (4.35) подобна матрице А.
Дальше, согласно формуле (4.35) формируется последовательность подобных матриц A1=A; A1=Q1L1 , A2=L1Q1= Q1T A1Q1 , A2=Q2L2 , A3=L2Q2= Q T2 A2Q2 ,
(4.36)
………………………………. Ak=QkLk , Ak+1=LkQk= Q Tk AkQk . Формула (4.36) описывает QL – алгоритм без сдвигов. При к→∞ последовательность матриц Аk+1 сходятся к треугольной. Их диагональные элементы стремятся к её собственным значениям, которые в свою очередь являются собственными значениями матрицы А. Наддиагональный элемент (Ak)ij матрицы Ak на к-ой итерации QL – алгоритма равен sij(λi/λj)k , где sij – постоянная и λ1<λ2<…<λn. Отметим, что сходимость QL – алгоритма улучшится, если использовать сдвиги. 4.6.2. QR – алгоритм
Пусть detA≠0, тогда согласно теореме 1.2 матрицу А можно представить в виде A=QR, (4.37) где Q – ортогональная матрица, R – верхняя треугольная матрица. Тогда матрица В, равная B=RQ=QTAQ=Q-1AQ, (4.38) подобна матрице А. Согласно, формуле (4.38) составляется последовательность подобных матриц A1=A; A1=Q1R1 , A2=R1Q1= Q1T A1Q1 , A2=Q2R2 , A3=R2Q2= Q T2 A2Q2 ,
(4.39)
………………………………. Ak=QkRk , Ak+1=RkQk= Q Tk AkQk . В общем случае, когда собственные значения матрицы А различны, последовательность матриц Ak имеет пределом верхнюю треугольную матрицу А∞ , диагональные элементы которой представляют собой собственные значения исходной матрицы. Формула (4.39) описывает QR – алгоритм без сдигов. Модификация вида A1=A,…, Ak-αkE=QkRk , Ak+1=RkQk+αkE = Q k−1 AkQk , где αk – величина сдвига называется QR – алгоритмом со сдвигом сходимость, которого существенно выше по сравнению с QR – алгоритмом. 4.7. Обобщенная задача на собственные значения
Обобщенная задача на собственные значения [13] очень важна для приложений. Эта задача задается уравнением Ах=λВх. (4.40) Если матрица В положительно определена, то для задачи (4.40) справедливы: 1) Все её собственные значения вещественны; 2) Собственные значения имеют тот же знак, что и собственные значения задачи Ах=λх. 4.7.1. Обобщенный метод Якоби
Метод предназначен для решения задачи (4.40). Очевидно, что обобщенная задача на собственные значения (4.40) эквивалентна для любой невырожденной матрицы Т задачи: TАTTy=λTВTTy , причем новая задача сохраняет свойства исходных матриц А и В такие как симметричность и положительная определенность. В качестве матрицы Т выбираются:
i
j
0 0 0 0 0 M M 1 0 0 0 0 0 0 M 0 O M L L 1 L L L ( −α ) L L 0 0 M O 0 0 M 0 0 Tij(k)= 0 0 M 0 1 0 0 0 , (i<j). M 0 0 0 0 O 0 0 M M 1 L L L L (β) L L L 0 0 0 0 0 M M O 0 0 0 0 0 1 M M 0 0 Видно, что элементы на месте (i, j) у матриц Tij(k)А Tijk (k) и Tij(k)В Tijk (k) определяются по
формулам: a ij( k ) = βa ii( k ) + (1 − αβ)a ij( k −1) − αa (jjk −1) , b ij( k ) = β b ii( k ) + (1 − αβ)b ij( k −1) − αb (jjk −1) , k = 1,2,3,...
Обобщенный метод Якоби для задачи (4.40) состоит в последовательном применении конгруэнтных преобразований матриц А и В с помощью матриц Tij(k) таких, что на каждом шаге a ij( k ) = 0 , b ij( k ) = 0 . В качестве стратегии выбора зануляемых элементов может быть реализован один из вариантов обычного метода Якоби (см. параграф 4.2). Значения параметров α, β матриц Tij(k) определяются из соотношений: βa ii( k ) + (1 − αβ)a ij( k −1) − αa (jjk −1) = 0, β b ii( k ) + (1 − αβ)b ij( k −1) − αb (jjk −1) = 0, k = 1,2,3,...
Обозначая через с=(1-αβ) получим две системы линейных алгебраических уравнений: a ( k ) β + a ( k ) c = αa ( k ) , ii ij jj (k) (k ) (k ) b ii β + b ij c = αb jj ,
(4.41)
и − a ( k ) α + a ( k ) c = −β a ( k ) , jj ij ii (k) (k ) (k) − b jj α + b ij c = −β b ii .
По правилу Крамера из этих уравнений получим: α с=
a ii( k )
a (jjk )
b ii( k )
b (jjk )
a ii( k )
a ij( k )
b ii( k )
b ij( k )
a ii( k )
a (jjk )
b ii( k )
b (jjk )
a (jjk )
a ij( k )
b (jjk )
b ij( k )
β
, с=
.
(4.42)
Обозначая через: δ ij( k )
=
a ii( k )
a (jjk )
b ii( k )
b (jjk )
,
δ i( k )
=
a ii( k )
a ij( k )
b ii( k )
b ij( k )
,
δ (jk )
=
a (jjk )
a ij( k )
b (jjk )
b ij( k )
и приравнивая правые части (4.42) получим: α
Положив, α =
δ i( k ) ω
δ ij( k ) δ i( k )
=β
δ ij( k ) δ (jk )
.
из (4.43) получим β =
(4.43) δ (jk ) ω
.
После подстановки этих выражений для α и β в одно из исходных уравнений (4.41), получим: δ (jk ) ω
a ii( k )
+ (1 −
δ i( k ) δ (jk ) ω2
a ij( k )
−
δ i( k ) ω
a (jjk ) = 0
или 2
ω +
δ (jk ) a ii( k ) − δ i( k ) a (jjk ) a ij( k )
ω − δ i( k ) δ (jk ) = 0.
(4.44)
После упрощений (4.44) примет вид: ω 2 − δ ij( k ) ω − δ i( k ) δ (jk ) = 0 .
(4.45)
Когда матрица В положительно определена, уравнение (4.45) имеет ненулевое решение. Чтобы α и β были достаточно малыми величинами, в качестве ω нужно выбирать тот корень уравнения, который дальше отстоит от нуля. После вычисления ω элементы матрицы Tij(k) определяются по формулам: α=
δ i( k ) ω
, β=
δ (jk ) ω
.
На обобщенный метод Якоби распространяется квадратичная сходимость обычного метода Якоби, при условии, что итерационный процесс вообще сходится. Отметим, что теоретически сходимость обобщенного метода Якоби ещё не доказана [13]. 4.7.2. Метод приведения обобщенной задачи к стандартной
Одним из распространенных методов решения обобщенной задачи на собственные значения Ах=λВх (4.46) является сведения её к эквивалентной стандартной форме с помощью разложения Халецкого матрицы B=LLT , где L – нижняя треугольная матрица. Если известно разложение Халецкого матрицы В , то уравнение (4.46) примет вид: Ах=λLLTх , L-1Ах=λLTх . (4.47) Делаем замену переменных: у=LTх или х=L-Ту. Тогда (4.47) запишется в виде: L-1АL-Ту=λу , ~
при A =L-1АL-Т , ~
A y=λу .
(4.48) Таким образом, исходная задача (4.46) при A=AT и В=ВТ>0 заменяется эквивалентной ~
стандартной задачей на собственные значения (4.48) с симметричной матрицей A . Для полученной задачи (4.48) можно применить один из описанных выше методов. Заметим, что более быстрым способом получения задачи с одной матрицей был бы переход к уравнению В-1Ах=λх , но матрица В-1А несимметричная, что делает задачу более сложной по сравнению с задачей на собственные значения с симметричной матрицей.
ПРИЛОЖЕНИЕ ЗАДАНИЯ ДЛЯ ЛАБОРАТОРНЫХ РАБОТ
Каждое задание состоит из 10 вариантов, и выполняются с применением конкретного численного метода, указанного вначале задания. При выполнении задания необходимо использовать один из языков программирования высокого уровня. Цель лабораторных работ: 1. Усовершенствование навыков программирования; 2. Практическое усвоение численных методов линейной алгебры. ЗАДАНИЯ К ГЛАВЕ 2 Задание № 2.1 Здесь даны 10 вариантов задания, в которых СЛАУ надо решить классическим методом Гаусса: 1) 2х1+2х2 - х3 + х4=4, 2) 2х1+3х2+11х3+5х4=2, 4х1+3х2 - х3+2х4=6, х1 + х2 + 5х3+2х4=1, 8х1+5х2-3х3+4х4=12, 2х1 + х2 + 3х3+2х4=-3, 3х1+3х2-2х3+2х4=6. х1 + х2 + 3х3+4х4=-3.
Ответ: х1=х2=1, х3=х4=-1. 3) 2х1 + 5х2+4х3+ х4=20, х1 + 3х2+2х3 + х4=11, 2х1+10х2+9х3+7х4=40, 3х1 + 8х2+9х3+2х4=37. Ответ: х1=1, х2=2, х3=2, х4=0. 5) 7х1+9х2+4х3+2х4=2, 2х1-2х2 + х3 + х4=6, 5х1+6х2+3х3+2х4=3, 2х1+3х2 + х3 + х4=0.
Ответ: х1=-2, х2=0, х3=1, х4=-1. 4) 3х1+4х2 + х3+2х4=-3, 3х1+5х2+3х3+5х4=-6, 6х1+8х2 + х3+5х4=-8, 3х1+5х2+3х3+7х4=-8. Ответ: х1=2, х2=-2, х3=1, х4=-1. 6) 3х1-2х2-5х3 + х4=3, 2х1-3х2 +х3+5х4=-3, х1+2х2 - 4х4=-3, х1 - х2-4х3+9х4=22.
Ответ: х1=-0.4, х2=-1.2, х3=3.4, х4=1.
Ответ: х1=-1, х2=3, х3=-2, х4=2.
7) 4х1-3х2 + х3+5х4=7, х1-2х2 - 2х3 -3х4=3, 3х1 - х2 + 2х3 =-1, 2х1+3х2 +2х3 -8х4=-7.
8) 2х1-2х2 + х4=-3, 2х1+3х2 +х3-3х4=-6, 3х1+4х2 -х3 +2х4=0, х1+3х2+х3 - х4=2.
Ответ: х1=2, х2=1, х3=-3, х4=1. 9) х1 + х2- 6х3 - 4х4=6, 3х1 - х2 -6х3 - 4х4=2, 2х1+3х2+9х3+2х4=6, 3х1+2х2+3х3+8х4=-7.
Ответ: х1=-2, х2=1, х3=4, х4=3. 10) 2х1-3х2+3х3 +2х4=3, 6х1+9х2 -2х3 - х4=-4, 10х1+3х2-3х3- 2х4=3, 8х1+6х2+ х3+3х4=-7.
Ответ: х1=0, х2=2, х3=1/3, х4=-3/2.
Ответ: х1=1/2, х2=-2/3, х3=2, х4=-3.
Задание № 2.2 Ниже приводятся варианты для численного вычисления определителя матрицы: 2 −5 1 − 3 7 −1 1) 5 −9 2 4 −6 1
3 6 −3 9 2 7 −5 8 2) 4 −5 −3 −2 7 −8 − 4 −5
2 4 7 2
Ответ: -9.
3)
Ответ: 18.
3 −3 −5 8 4 −6 −3 2
4)
2 −5 −7 5 −4 3 5 −6
Ответ: 18.
4 7
3 5
4 −9 8 5 −3 2 −5 3
Ответ: 4. 3 −5 −2 4 −4 7 6) 4 −9 −3 2 −6 −3
3 −3 −2 −5 2 5 4 6 5) 5 5 8 7 4 4 5 6
Ответ: 90.
2 4 7 2
Ответ: 27.
3 −5 2 −4 −3 4 −5 3 7) −5 7 −7 5 8 −8 5 −6
3 2 2 2 9 − 8 5 10 8) 5 −8 5 8 6 −5 4 7
Ответ: 17.
9)
−5 −4
2 3
Ответ: -6.
7 6 3 7 3 5 7 2
10)
5 4 3 5 5 6 5 4
Ответ: -10.
6 9
−5 7
7 −4
5 8
8 5
4 2
3 7 −8 −3
Ответ: 100.
Задание № 2.3 Используя численные методы вычислить обратные матрицы: 0 0 1 0 −5 2 1) А= 6 −7 3 8 0 −9
0 0 , 0 4
24 0 0 1 60 12 0 -1 А = 24 92 28 8 159 63 18
0 0 . 0 6
− 1 − 6 12 24 2 2 4 1 , 2) А= 0 −1 3 − 2 0 0 1 6
1 2 3) А= 1 1
2 3 4 3 1 2 , 1 1 − 1 0 − 2 6
1 2 2 3 4) А= 1 −1 0 1
0 0 0 0 , 1 3 0 2
2 1 5) А= 0 0 10 7 6) А= 8 7
3 1 1 2
1 1 7) А= 1 1
1 1 1 2 3 4 , 3 6 10 4 10 20
0 0 7 5 6 5
2 0 , 1 −1 1 − 2 8 7 6 5 , 10 9 9 10
2 5 − 6 А-1= − 1 4 1 24
3 5 − 6 1 − 4 1 24
−6 7 3
1 −
1 6
− 12 14 3 3 . 2 1 − 12
− 6 − 26 17 1 5 20 − 13 -1 − 17 А = . −1 −1 0 2 4 3 −1 − 5 −3 2 0 0 2 −1 0 0 А-1= 8 − 9 1 − 3 . 2 2 1 1 0 −1 2 2
−1 3 − 8 −2 4 -1 1 А = 0 0 2 0 0 1 25 − 41 68 -1 − 41 А = 10 − 17 − 6 10
3 − 1 . − 1 − 1 10 − 6 − 17 10 . − 3 5 − 3 2
−1 4 4 −6 14 − 11 3 -1 − 6 А = . 4 − 11 10 − 3 −1 3 − 3 1
1 1 −2 3 − 15 − 38 − 1 − 6 1 − 38 − 20 − 6 16 − 2 1 − 2 − 1 -1 , А = . 8) А= 3 −2 1 5 52 − 1 − 6 − 7 10 1 −1 5 − 6 16 10 8 3 5 7 6 5 7 10 8 7 9) А= , 6 8 10 9 5 7 9 10
68 − 41 − 17 10 25 10 − 6 -1 − 41 А = . 5 − 17 10 − 3 10 − 6 − 3 2
1 1 10) А= 1 1
1 1 1 2 3 4 , 4 9 16 8 27 64
9 −1 24 − 26 57 − 24 3 -1 1 − 36 А = . 6 24 − 42 21 − 3 −6 11 1 −6
Задание № 2.4 Решить СЛАУ методом Гаусса с выбором главного элемента: 0.15 2.11 30.75 − 26.38 Ответ : х 1 = 1, 1) А= 0.64 1.21 2.05 , b= 1.01 . 3.21 1.53 1.04 5.23 х 2 = 2, х 3 = −1. 1.15 0.42 100.71 − 198.70 Ответ : х 1 = 2, 2) А= 1.19 0.55 0.32 , b= 2.29 . 1.00 0.35 3.00 − 0.65 х 2 = 1, х 3 = −2. 4.21 22.42 3.85 30.24 Ответ : х 1 = −1.089, 3) А= 2.31 31.49 1.52 , b= 40.95 . 3.49 4.85 28.72 42.81 х 2 = 1.313, х 3 = 1.401.
6 − 1 2 − 12 4) А= 5 − 1 2 , b= 29 . −3 − 4 1 5
Ответ : х 1 = 3, х 2 = −2, х 3 = 6.
4.21 23.42 3.85 30.24 Ответ : х 1 = −1.394, 5) А= 2.31 31.49 1.52 , b= 40.25 . 3.49 4.85 29.72 42.81 х 2 = 1.313, х 3 = 1.390.
2.1 − 4.5 − 2.0 19.07 Ответ : х 1 = 1.34, 6) А= 3.0 2.5 4.3 , b= 3.21 . − 6 .0 3 .5 − 18.25 х 2 = −4.76, х 3 = 2.58. 2 . 5 4.21 22.92 3.85 30.24 Ответ : х 1 = −0.906, 7) А= 2.31 31.49 1.52 , b= 39.55 . 3.49 4.85 29.22 42.81 х 2 = 1.257, х 3 = 1.365. 21.547 − 95.510 − 96.121 − 49.930 Ответ : х = 0.3732, х = 0.1415, х = 0.4622. 1 2 3 8) А= 10.223 − 91.065 − 7.343 , b= − 12.465 . 51.218 12.269 60.812 86.457 2 .6 − 4 .5 − 2 .0 19.07 Ответ : х 1 = 1.778, 9) А= 3.0 3.0 4.3 , b= 3.21 . − 6.0 3.5 − 18.25 х 2 = −4.335, х 3 = 2.530. 3.0
4.21 22.67 3.85 30.24 Ответ : х 1 = −0.671, 10) А= 2.31 31.49 1.52 , b= 39.20 . 3.49 4.85 28.97 42.81 х 2 = 1.229, х 3 = 1.353.
Задание № 2.5 Приведенные варианты решить методом Халецкого:
1) 3х1+х2 - х3+2х4=6, -5х1+х2+3х3-4х4=-12, 2х1 +х3 - х4=1, х1-5х2+3х3-3х4=3. Ответ: х1=1, х2=-1, х3=2, х4=3. 3) 2х1- х2 -6х3+3х4=-1, 7х1-4х2+2х3-15х4=-32, х1- 2х2 -4х3 + 9х4=5, х1- х2+2х3 - 6х4=-8. Ответ: х1=-3, х2=0, х3=-0.5, х4=2/3. 5) 2х1-5х2 +3х3+х4=5, 3х1-7х2 +3х3- х4=-1, 5х1-9x2 +6х3+2х4=7, 4х1-6х2+3х3+ х4=8. Ответ: Система решений не имеет.
2) 2х1-4х2-3.25х3+ х4=4.84, 3х1-3х2 - 4.3х3+8х4=8.89, х1-5х2+3.3х3-20х4=-14.01, 2.5х1-4х2 + 2х3 - 3х4=-20.29. Ответ: х1=2.34, х2=4.51, х3=-6, х4=-1.3. 4) 2х1+ х2+4х3+8х4=-1, х1+3х2 -6х3+2х4=3, 3х1-2х2+2х3-2х4=8, 2х1- х2 + 2х3 =4. Ответ: х1=2, х2=-3, х3=-1.5, х4=0.5. 6) х1 + 2х2 + 5х3 + 9х4=79, 3х1+13х2+18х3+30х4=263, 2х1 + 4х2+11х3+16х4=146, х1 + 9х2 + 9х3 + 9х4=92. 6 7
4 7
Ответ: х1= 104 , х2= 7 , х3=-10,
х4=1.
7) 2х1+7х2 +3х3+х4=5, 8) 3х1+х2 - х3+2х4=6, х1+3х2+5х3-2х4=3, -5х1+х2 +3х3-4х4=-12, х1+5х2-9х3 +8х4=1, 2х1 + х3- х4=1, 5х1+18х2+4х3+5х4=12. х1-5х2 +3х3 -3х4=3. Ответ: Система не определена, Ответ: х1=1, х2=-1, т.е. имеет бесконечно много х3=2, х4=3. решений. 9) 2х1-4х2-3.25х3+х4=4.84, 10) 2х1-х2+4х3-3х4+х5=11, 3х1-3х2- 4.3х3+8х4=8.89, -х1+х2+2х3+ х4+3х5=14, х1-5х2+3.3х3-20х4=-14.01, 4х1+2х2+3х3+3х4-х5=4, 2.5х1-4х2+ 2х3 - 3х4=-20.29. -3х1+х2 +3х3 +2х4+4х5=16, Ответ: х1=2.34, х2=4.51, х1+3х2- х3+4х4+4х5=18. х3=-6, х4=-1.3. Ответ: х1=1, х2=2, х3=1, х4=-1, х5=4. Задание № 2.6 Приведенные здесь варианты решить методом квадратных корней:
1 2 3 2 1 2 1) А= 3 2 1 4 3 2 1 −2 − 2 1 2) А= 3 −2 1 −1
4 5 Ответ : х 1 = −2, 3 1 , b= . 1 х = 2, х = −3, х = 3. 2 2 3 4 − 5 1 3 1 3 Ответ : х 1 = 1, − 2 − 1 − 4 , b= . х 2 = 1, х 3 = 1, х 4 = 1. 7 1 5 8 5 3
5 7 6 5 23 7 10 8 7 32 3) А= , b= . 6 8 10 9 33 5 7 9 10 31
Ответ : х 1 = 1,
х 2 = 1, х 3 = 1, х 4 = 1.
0.42 0.54 0.66 1 .3 Ответ : 1 0.32 0.44 0.42 .5 4) А= , b= . х 1 = −1.258, х 2 = 0.044, 0.54 0.32 1 0.22 .7 х = 1.039, х = 1.482. 0.66 0.44 0.22 3 4 1 .9 3 .1 1 .5 1 .0 10.83 Ответ : х 1 = 1.3, 5) А= 1.5 2.5 0.5 , b= 9.20 . 1.0 0.5 4.2 17.10 х 2 = 2.2, х 3 = 3.5. 0.135 0.188 6) А= 0.191 0.178
0.188 0.191 0.178 0.3516 0.262 0.265 0.247 0.4887 , b= . 0.265 0.281 0.266 0.5105 0.4818 0.247 0.266 0.255
Ответ: х1=0.4, х2=0.5, х3=0.6, х4=0.5.
4.33 − 1.12 − 1.08 1.14 3.52 0.24 − 1.22 − 1.12 4.33 1.57 7) А= , b= . − 1.08 0.24 0.54 7.21 − 3.22 1.14 − 1.22 − 3.22 5.43 − 1.09
Ответ: х1=1.04625, х2=0.56278, х3=0.11100, х4=-0.22812. − 3 − 3 − 18 − 30 18 327 −1 −4 − 48 8 −3 291 8) А= − 18 − 4 − 6 − 274 6 , b= 1290 . 19 − 30 − 48 − 274 119 275 8 6 19 216 18 1720
Ответ: х1=-7, х2=-2, х3=-1, х4=-4, х5=9.
−9 7 1 −2 3 78 −6 2 50 − 2 8 − 320 9) А= 3 − 6 18 − 15 − 18 , b= − 81 . 2 − 15 273 173 7 222 − 9 50 − 18 173 1667 − 10856
Ответ: х1=-6, х2=-5, х3=-8, х4=5, х5=-7. − 24 4 24 40 4 − 436 − 39 7 45 13 4 − 490 10) А= 24 − 289 , b= − 3519 . 45 296 91 13 91 964 − 420 40 − 8033 − 24 − 39 − 289 − 420 572 7363
Ответ: х1=-7, х2=-2, х3=-1, х4=-4, х5=9. Задание № 2.7 Приведенные варианты СЛАУ решить методом прогонки: 0 0 1 0 0 1 −1 0 0 0 1 − 2 1 0 0 0 1 − 2 1 0 1) А= , b= . 2) А= , b= . 0 1 − 2 1 0 0 1 − 2 1 0 0 1 0 1 0 0 2 0 0 1 Ответ: х1=0, х2=0.66667, Ответ: х1=1, х2=1, х3=1.33333, х4=2. х3=1, х4=1. 1 0 0 0 0 0 0 0 − 1.78 1 − 1.76 1 0 0 0 0 0 0 1 − 1.74 1 0 0 0 0 0 0 0 0 1 − 1.72 1 0 0 0 0 3) А= 0 0 0 1 − 1.7 1 0 0 0 , 0 0 0 1 − 1.68 1 0 0 0 0 0 0 0 1 − 1.66 1 0 0 0 0 0 0 0 0 1 − 1.64 1 0 0 0 0 0 0 1 − 1.62 0
− 2.3 0 0 0 b= 0 , 0 0 0 − 3.2
0.68314 − 1.08401 − 2.59099 − 3.42432 Ответ: х= − 3.29884 . − 2.18371 − 0.36979 1.56986 2.94436
0 0 0 1 0 2 1 1 1 − 2 1 0 1 −2 1 0 4) А= , b= . 5) А= 0 1 − 2 1 0 0 1 − 2 0 1 0 0 0 2 0 0 Ответ: х1=2, х2=2, Ответ: х1=1.6, х3=2, х4=2. х3=-0.8,
0 0
1 2 , b= . 2 1 1 1 х2=-0.6, х4=1.
2 −1 0 0 1 0 1 −2 1 0 7) А= , b= . 0 1 − 2 1 0 2 1 − 1 0 0 х2=-4, Ответ: х1=-1, х2=-3, х4=2. х3=-5, х4=-7. 0 5 1 2 0 0 4 − 0 1 2 1 1 0 0 , b= . 9) А= , b= . 0 0 1 − 2 1 1 1 − 1 2 0 0 0 1 2 Ответ: х1=5, х2=3, Ответ: х1=-0.2222, х2=1.8889, х3=-8, х4=-18. х3=1.4444, х4=2.
1 − 2 0 1 −2 1 6) А= 0 1 − 2 1 0 0 Ответ: х1=-6, х3=-1, 0 1 0 − − 1 4 1 8) А= 0 1 − 2 2 0 0
0 2 1 0 , b= . 0 1 1 1
0 0 1 2 − 2 − 1 2 2 0 , b= 0 . 10) А= 0 1 − 2 − 1 1 1 2 0 0 2
0.5 − 1.25 Ответ: х= . − 1.5 0.75
ЗАДАНИЯ К ГЛАВЕ 3 Задание № 3.1
Нижеприведенные варианты СЛАУ решить методом простой итерации и методом Зейделя: 1 0.1 0.4 − 0 .1 2 1.1680 0.4 0.3 1 0.2 1 2.1995 1) А= , b= . Ответ: x= . 1 1 1.8651 − 0.1 0.1 0.2 0 .1 2 − 0.6729 0.1 1 0.3 4 2 0.5 −1 1 1 2 4 0 .5 0 2) А= , b= . 1 − 0.1 0.1 0.2 2 1 0.5 3 1 3
3.1355 0.8718 Ответ: х= . 1.8681 − 6.1758
3 0.5 6 1 1 1 5 −1 2 0 , b= . 3) А= 4 2 0.5 2 −1 3 − 0.5 1 0.2 1
− 0.4167 − 0.5772 Ответ: х= . 1.0216 0.7238
3 0.5 1 − 1 6 1 5 −1 2 4 4) А= , b= . 2 − 5 1 − 0.5 1 4 − 2 0.5 0.3 0
2.7924 1.6817 Ответ: х= . − 0.3884 − 0.6139
3 0.5 6 1 2 − 2 − 3 6 0.5 0 , b= . 5) А= 3 − 6 −1 2 3 5 −3 1 1 4
0.2666 0.1417 Ответ: х= . − 0.1080 0.6536
1 0.5 − 0.1 0.2 10 2 7 2 − 1.5 5 , b= . 6) А= 4 6 8 − 1 0 .5 3 −1 5 0 .7 − 6
− 2.2108 − 11.4098 Ответ: х= . − 9.8773 14.2398
− 4 1 − 1 − 0.7 5 7 3 −1 2 10 7) А= , b= . 6 0.5 7 − 0.1 8 2 3 0.5 − 1 − 9
− 2.7198 − 1.3250 Ответ: х= . 3.5885 1.3796
3 6 .5 1 − 2 4 0.3361 − 6 − 0 .5 2 3 6 − 0.3353 8) А= , b= . Ответ: х= . − 0.2123 5 7 0 .5 11 −1 3 2 − 0.5 0.2 7 2.3966 2 8 − 2.5 3 8 0.4046 0 .9 4 − 3.5 8.7 11 1.3733 9) А= , b= . Ответ: х= . 5 3 0 .9 13 1.9849 −1 7 9 1.4088 3 −2 − 2.5 9 4 1 −3 5 3 − 2 8.8 2.5 2 10) А= , b= . 1 6.7 4 − 1.5 4 6 3 2 − 0.5 7
0.0841 − 0.0065 Ответ: х= . 0.4801 0.9358
Задание № 3.2
Приведенные здесь варианты СЛАУ решить методом релаксации: 1) 2х1+3х2+20х3- х4=-10, 3х1+2х2+ х3+20х4=15, 10х1- х2+ 2х3- 3х4=1, х1+10х2- х3+ 2х4=5.
2) х1- 5х2+6х3+13х4=15, х1+10х2- х3+ 2х4=10, 3х1+ 4х2-15х3- 8х4=8, 15х1- 2х2+ 3х3- 6х4=5.
Ответ: х1=0.3111, х2=0.3722, х3=-0.5772, х4=0.195.
Ответ: х1=1.0602, х2=0.4256, х3=-1.1501, х4=1.7668.
3) 3х1+7х2- 8х3- 19х4=8, 5х1- 8х2+15х3-1.5х4=7, 2х1+ 6х2-2.5х3- х4=10, 7х1+2х2- 3х3+1.5х4=6.
4) 6х1- 9х2+ х3-17х4=8, х1+ 7х2-11х3-2.5х4=15, -5х1+10х2+3х3-1.5х4=12, 9х1- 3х2- 4х3+1.5х4=10.
Ответ: х1=0.8465, х2=1.8536, х3=1.1637, х4=-0.0944. 5) -х1+4х2+ 7х3+13х4=7, -6х1+3х2-11х3-1.5х4=11, 3х1+7х2- 2х3+ х4=8, 5х1- х2+ 3х3+0.5х4=5.
Ответ: х1=2.0438, х2=2.0159, х3=0.2868, х4=-0.7996. 6) -5х1+ х2- 6х3-13х4=10, 3х1+4х2-12х3+4х4=11, -2х1-15х2+7х3- 4х4=9, 11х1+ 5х2-3х3+2.5х4=13.
Ответ: х1=2.2550, х2=-1.0038, Ответ: х1=1.5732, х2=-1.1289, х3=-2.8524, х4=2.5567. х3=-1.2018, х4=-0.9065. 7)
х1-7х2+ 3х3- 12х4=5, -5х1-3х2+15х3+ 6х4=10, -2х1+8х2+ 3х3- 2х4=9, 7х1- х2+ 5х3+0.5х4=7.
Ответ: х1=0.3366, х2=0.6671, х3=1.1122, х4=-0.4997. 9) 5х1-6х2+ х3+14х4=10, -3х1+7х2-13х3+ 2х4=8, х1-10х2+ 6х3- 2х4=9, 9х1+5х2- 3х3+ х4=7. Ответ: х1=1.2105, х2=-1.8826, х3=-1.9676, х4=-0.3843.
8) 3х1+ 2х2- 7х3-14х4=12, -4х1- х2+10х3+4х4=10, 5х1-16х2+ 4х3- 5х4=15, 11х1- 6х2+ 3х3- х4=9. Ответ: х1=0.2387, х2=0.1065, х3=1.7780, х4=-1.6798. 10) х1- 8х2+5х3-15х4=11, -х1+ 7х2+12х3- 2х4=9, 3х1-11х2+ 4х3- 3х4=10, 13х1+ 6х2- 5х3+1.5х4=12. Ответ: х1=1.363, х2=-0.1370, х3=0.8985, х4=-0.2699. ЗАДАНИЯ К ГЛАВЕ 4
Тестовые примеры Здесь приведены 10 примеров, которые могут быть использованы при предварительной отладке программ, составленных с применением различных численных методов решения задач на собственные значения. 1) Найти все собственные значения на основе классического метода Якоби: 5 7 6 5 7 10 8 7 . А= 6 8 10 9 5 7 9 10
λ 1 = 0.010,
Ответ:
λ 2 = 0.843,
λ 3 = 3.858, λ 4 = 30.289.
2) Найти все собственные значения на основе барьерного метода Якоби: 0.42 0.54 0.66 1 1 0.32 0.44 0.42 . А= 0.54 0.32 1 0.22 0.66 0.44 0.22 1
λ 1 = 2.3227488,
Ответ:
λ 2 = 0.7967067, λ 3 = 0.6382838,
λ 4 = 0.2422607.
3) Найти все собственные значения с применением экономической стратегии выбора аннулируемого элемента:
0.22 0.02 0.02 0.14 А= 0.12 0.04 0.14 − 0.06
0.14 0.04 − 0.06 . 0.28 0.08 0.08 0.26
λ 1 = 0.48,
0.12
Ответ:
λ 2 = 0.24,
λ 3 = 0.12, λ 4 = 0.06.
4) Найти все собственные значения и соответствующие им собственные вектора методом итерации: 4 2 2 А= 2 5 1 . 2 1 6
λ 1 = 8.3874,
Ответ: λ 2 = 4.4867,
λ 3 = 2.1260.
0.8077с 0.2170с 1 2 , с2 х1= 0.7720с1 , х2= с1 − 0.9473с 2
с3 х3= − 0.5673с 3 , − 0.3698с 3
где с1, с2, с3 – произвольные постоянные, отличные от нуля. 5) Найти максимальное по модулю собственное значение с применением степенного метода: 0.42 0.54 0.66 1 1 0.32 0.44 0.42 А= . 0.54 0.32 1 0.22 0.66 0.44 0.22 1
Ответ: λmax=2.3227488.
6) Найти минимальное по модулю собственное значение с применением обратного степенного метода: 5 4 А= 3 2 1
4 3 2 1 6 0 4 3 0 7 6 5 . 4 6 8 7 3 5 7 9
Ответ: λmin=-1.096595.
7) Найти минимальное по модулю собственное значение с применением обратного степенного метода со сдвигом: 1.66 0.60811183 0.53740115 0 1 0.32 0.01414214 0.60811183 А= . 0.53740115 0.32 1 − 0.22627417 0 0.01414214 − 0.22627417 0.34
Ответ: λmin=0.24226071. 8) Найти все собственные значения с применением QL – алгоритма: 0.422908 0.008814 − 5.509882 1.870086 5.7119 0.058717 0.287865 − 11.811654 . А= 0.049099 4.308033 − 12.970687 0.229326 0.006235 − 17.596207 0.269851 1.397369
Ответ: λ1=-17.86303, λ2=-17.15266, λ3=-7.57404, λ4=-5.2987. 9) Найти все собственные значения с применением QR – алгоритма:
0 1 0 1 0.3333333 0.3333333 1 0.7777778 . А= 0 − 0.0252525 0.5555556 − 0.0252525 0 − 0.8888889 − 8.6444444 0.1111111
Ответ: λ1=1, λ2=2/3, λ3=4/9, λ4=1/3. 10) Решить обобщенную задачу на собственные значения: 10 2 3 1 1 12 1 − 1 2 1 2 12 1 2 1 1 14 1 − 1 1 А= 3 1 11 1 − 1 , В= − 1 1 16 − 1 1 . 1 2 1 9 1 2 − 1 − 1 12 − 1 1 1 − 1 1 15 1 1 1 − 1 11
Ответ: λк 1 2 3 4 5
Ах=λВх 0.4327872 0.6636627 0.9438590 1.1092845 1.4923532
Вх=λАх 0.6700826 0.90148196 1.0594803 1.5067894 2.3106043
Задание для индивидуального выполнения
Ниже приводится задание, которое может принимать различные варианты. Варианты, в свою очередь, могут использоваться в качестве задания при реализации разных методов. Здесь A i = A iT , при bi=0 и i=0 собственные значения матрицы Ai равны: 81, 9, -3, -6, -27, 54. Различие вариантов достигается выбором i и bi , например, bi=
1 . Тогда собст10000 + i
венные значения матрицы Ai будут примерно равными: 81+i, 9+i, -3+i, -6+i, -27+i, − 15 + i − 20 + b i 10 + b i Ai= − 16 + b i 8 + bi − 12 + b i
5+i − 30 + b i 4 + bi − 24 + b i − 16 + b i
10 + i − 24 + b i 8 + bi 8 + bi
5+i − 30 + b i − 20 + b i
10 + i 10 + b i
. − 15 + i
-54+i.
ЛИТЕРАТУРА
1. Гантмахер Ф.Р. Теория матриц. М., Наука, 1988, 548 с. 2. Фаддеев Д.К., Фаддеева В.Н. Вычислительные методы линейной алгебры. МоскваЛенинград, Гос. Издат. Физико-математической литературы, 1963, 734 с. 3. Демидович Б.П., Марон И.А. Основы вычислительной математики. М., Наука, 1970, 664 с. 4. Крылов В.И., Бобков В.В., Монастырный П.И. Вычислительные методы. Том I. М., Наука, 1976, 303 с. 5. Воеводин В.В. Вычислительные основы линейной алгебры. М., Наука, 1977, 303 с. 6. Калиткин Н.Н. Численные методы. М., Наука, 1978, 512 с. 7. Стренг Г. Линейная алгебра и ее применения. М., Мир, 1980, 454 с. 8. Самарский А.А. Введение в численные методы. М., Наука, 1982, 271 с. 9. Коновалов А.Н. Введение в вычислительные методы линейной алгебры. Новосибирск, Наука, 1993, 158 с. 10. Рябенький В.С. Введение в вычислительную математику. М., Наука, 1994, 334 с. 11. Вержбицкий В.М. Численные методы (линейная алгебра и нелинейные уравнения). М., Высшая школа, 2000, 266 с. 12. Икрамов Х.Д. Несимметричная проблема собственных значений. М., Наука, 1991, 240 с. 13. Парлетт В. Симметричная проблема собственных значений. М., Мир, 1983, 382 с. 14. Амосов А.А., Дубинский Ю.А., Копченова Н.В. Вычислительные методы для инженеров. М., Высшая школа, 1994. 15. Бахвалов Н.С., Жидков Н.П., Кобельков Г.М. Численные методы. М., Наука, 1987. 16. Самарский А.А., Гулин А.В. Численные методы. М., Наука, 1989. 17. Уилкинсон Дж.Х. Алебраическая проблема собственных значений. М., Наука, 1970. 18. Форсайт Дж., Молер К. Численное решение систем линейных алгебраических уравнений. М., Мир, 1969. 19. Воеводин В.В., Кузнецов Ю.А. Матрицы и вычисления. М., Наука, 1984. 20. Икрамов Х.Д. Численные методы для симметричных линейных систем. М., Наука, 1988.
ЧИСЛЕННЫЕ МЕТОДЫ ЛИНЕЙНОЙ АЛГЕБРЫ (Учебное пособие) Дашадондок Шагдарович Ширапов
Редактор: Т.Ю. Артюнина
Подписано в печать 14.05.2003 г. Формат 60×84 1/16. Усл.п.л. 5,58, уч.-изд.л. 5,0. Тираж 100 экз. Заказ №48. Издательство ВСГТУ. г.Улан-Удэ, ул. Ключевская, 40, а. ВСГТУ, 2003 г.