Лекция №7 Тема. Понятие нормы вектора и матрицы. Свойства норм. При изучении итерационных процессов решения СПАУ нам понадобятся понятия норм векторов и матриц. Будем обозначать норму вектора 𝑥̅ = (𝑥1 , 𝑥2 , … , 𝑥𝑛 )𝑇 через ||𝑥|| . Согласованная с ним норма матрицы 𝐴 = (𝑎𝑖𝑗 ) определяется по формуле: ||𝐴|| = 𝑥̅𝑠𝑢𝑝 ≠𝜃 ||𝐴𝑥̅ || ||𝑥̅ || Наиболее употребительными являются следующие нормы: 1) ||𝑥̅ ||∞ = max |𝑥𝑗 | 1≤𝑗≤𝑛 2) ||𝑥̅ ||1 = ∑𝑛𝑗=1 |𝑥𝑗 | 3) ||𝑥̅ ||2 = √∑𝑛𝑗=1 𝑥𝑗2 = √(𝑥̅ , 𝑥̅ ) Согласованными с ними нормами для матриц являются, соответственно, следующие нормы: 1) ||𝐴||∞ = max (∑𝑛𝑗=1|𝑎𝑖𝑗 |) 1≤𝑗≤𝑛 2) ||𝐴||1 = max (∑𝑛𝑖=1|𝑎𝑖𝑗 |) 1≤𝑗≤𝑛 3) ||𝐴||2 = √ max λ𝐴𝑖 𝑇 ×𝐴 , здесь λ𝑖 – собственные вектора матрицы 1≤𝑗≤𝑛 𝐴𝑇 × 𝐴. Свойства норм векторов и матриц: 1) ||𝐴|| > 0 при 𝐴 ≠ 𝜃 – нулевая матрица ||𝐴|| = 0 при 𝐴 = 𝜃 0 0 0=( ) ⋱ 0 0 2) ||∝ 𝐴|| = |∝| × ||𝐴||, где |∝| - модуль числа ∝. 3) ||𝐴1 + 𝐴2 || ≤ ||𝐴1 || + ||𝐴2 || 4) ||𝐴1 × 𝐴2 || = ||𝐴1 || × ||𝐴2 || 1 𝐸=( 0 5) ||𝐸|| = 1, где E – единичная матрица 0 ) ⋱ 1 Пример 1.1𝑥1 + 0.2𝑥2 + 0.1𝑥3 = 1.0 {−0.1𝑥1 − 1.2𝑥2 + 0.2𝑥3 = 2.9 0. 𝑦𝑥1 + 0.2𝑥2 + 2.2𝑥3 = 6.6 1 𝑥̅ = (−2) = (1 − 2 × 3)𝑇 3 Ответ: 1) ||𝑥̅ ||∞ = max(|1|, |−2|, |3|) = 3 2) ||𝑥̅ || = |1| + |−2| + |3| = 6 3) ||𝑥̅ ||2 = √12 + (−2)2 + 32 = √1 + 4 + 9 = √14 ≈ 4) ||𝐴̅||∞ = max{1.1 + 0.2 + 0.1 ; |−0.1| + |−1.2| + 0.2 ; 0.4 + 0.2 + 2.2} = max{1.4, 1.5, 2.8} = 2.8 5) ||𝐴̅||1 = max{1.1 + |−0.1| + 0. 𝑦 ; 0.2 + |−1.2| + 0.2 ; 0.1 + 0.2 + 2.2} = max{1.6, 1.6, 2.5} = 2.5 1.1 6) 𝐴 × 𝐴 = (0.2 0.1 𝑇 −0.1 −1.2 0.2 1.1 0. 𝑦 −0.1 0.2 ) × ( 0. 𝑦 2.2 0.2 −1.2 0.2 0.1 1.38 0.2) = (0.42 2.2 0.97 0.42 1.55 0.22 0.97 0.22) 4.89 𝐴𝑥 = λ𝑥 → (𝐴 − λ𝐸)𝑥 = 𝜃 → det(𝐴 − 𝜆𝐸) = 0 1.38 − λ 0.42 0.97 Без вычислений | 0.42 1.52 − λ 0.22 | = 0 → {λ = 0.916; λ = 1.705; λ = 5.168 1 2 3 0.97 0.22 4.89 − λ ||𝐴||2 = √max(λ1 ; λ2 ; λ3 ) = √max(0.916; 1.705; 5.168) = √5.168 ≈ 2.27 Тема. Решение СЛАУ методом простой итерации. Запишем систему линейных алгебраических уравнений в компактном виде: 𝐴𝑥 = 𝐵, где (*) 𝐴 = (𝑎𝑖𝑗 ); 𝑖 = ̅̅̅̅̅ 1, 𝑛; 𝑗 = ̅̅̅̅̅ 1, 𝑛; 𝑥 = (𝑥1 , 𝑥2 , … , 𝑥𝑛 )𝑇 , 𝐵 = (𝑏1 , 𝑏2 , … , 𝑏𝑛 )𝑇 . Добавим к обеим частям уравнения (*) по вектору x: 𝐴𝑥 + 𝑥 = 𝑥 + 𝐵 и перепишем новое уравнениев таком виде: 1 0 𝑥 = 𝑥 − 𝐴𝑥 + 𝐵 = (𝐸 − 𝐴)𝑥 + 𝐵, где 𝐸 = ( ) – единичная матрица. ⋱ 0 1 Введём обозначение 𝐷 = 𝐸 − 𝐴, тогда СЛАУ перепишется в таком виде 𝑥 = 𝐷𝑋 + 𝐵 Последовательность вычислений 𝑥 𝑛+1 = 𝐷𝑋 𝑛 + 𝐵 (**) называется методом простых итераций. Пример: 𝐴𝑥 = 𝐵 1.1𝑥1 + 0.2𝑥2 + 0.1𝑥3 = 1.0 {−0.1𝑥1 − 1.2𝑥2 + 0.2𝑥3 = 2.9 0.4𝑥1 + 0.2𝑥2 + 2.2𝑥3 = 6.6 Сделаем предварительные преобразования СЛАУ таким образом, чтобы элементы матрицы А стоящие на главной диагонали были близки к единице: 1.1𝑥1 + 0.2𝑥2 + 0.1𝑥3 = 1.0 1.1 0.2 0.1 {0.1𝑥1 + 1.2𝑥2 − 0.2𝑥3 = −2.9 → 𝐴 = (0.1 1.2 −0.2) 0.2𝑥1 + 0.1𝑥2 + 1.1𝑥3 = 3.3 0.2 0.1 1.1 Здесь второе уравнение умножается на -1; Третье уравнение разделяется на 2. Тогда матрица D будет иметь вид: 1 − 1.1 0 − 0.2 0 − 0.1 −0.1 −0.2 −0.1 𝐷 = (0 − 0.1 1 − 1.2 0 − (−0.2)) = (−0.1 −0.2 +0.2) 0 − 0.2 0 − 0.1 1 − 1.1 −0.2 −0.1 −0.1 В развернутом виде последовательность вычислений 𝑥 𝑛+1 = 𝐷𝑋 𝑛 + 𝐵 будет выглядеть так: 𝑥1𝑛+1 = −0.1𝑥1𝑛 − 0.2𝑥2𝑛 − 0.1𝑥3𝑛 + 1 𝑥2𝑛+1 = −0.1𝑥1𝑛 − 0.2𝑥2𝑛 + 0.2𝑥3𝑛 − 2.9 𝑥3𝑛+1 = −0.2𝑥1𝑛 − 0.1𝑥2𝑛 − 0.1𝑥3𝑛 + 3.3 Если последовательность 𝑥 𝑛+1 = 𝐷𝑋 𝑛 + 𝐵 → 𝑥 ∗ = 𝐷𝑋 ∗ + 𝐵 сходится к неподвижной точке x* при 𝑛 → ∞ то эта точка (вектор x*) и является решением исходного уравнения AX = B. Возникает ряд вопросов: 1) Какие требования нужно предъявить к D и x0, чтобы последовательность xn сходилась к x* решению СЛАУ Ax = B? 2) С какой скоростью сходится этот процесс, т.е. каков закон убывания абсолютных погрешностей, получаемых по формуле (**) приближения? 3) Сколько нужно сделать итераций, чтобы при заданном начальном приближении x0 найти решение задачи с заданной точностью? Теория. Пусть ||𝐷|| ≤ 𝑞 < 1. Тогда при любом начальном векторе x0 метод простых итераций сходится к единственному решению x* и при всех 𝑘 ∈ 𝑁 (N – натуральный ряд чисел 𝑁 = {1, 2, 3, … , 𝑘, … }) справедлива оценка погрешности: 1) ||𝑥 ∗ − 𝑥 𝑘 || ≤ 2) ||𝑥 ∗ − 𝑥 𝑘 || ≤ 𝑞 1−𝑞 𝑞𝑘 1−𝑞 ||𝑥 𝑘 − 𝑥 𝑘−1 || (апостериорная). ||𝑥 1 − 𝑥 0 || (априорная). Априорная оценка – оценка до начала счёта. Апостериорная оценка – оценка после проведения «k» итераций. Доказательство: Можно из равенств: 𝑥 𝑘+1 = 𝐷𝑋 𝑘 + 𝐵 𝑥 𝑘 = 𝐷𝑋 𝑘−1 + 𝐵 записать их разницу: 𝑥 𝑘+1 − 𝑥 𝑘 = 𝐷(𝑥 𝑘 − 𝑥 𝑘−1 ). Из свойств норм матриц и векторов: ||𝐷𝑋|| ≤ ||𝐷|| × ||𝑥|| можно получить (с учётом ||𝐷|| ≤ 𝑞 < 1) следующее неравенство: ||𝑥 𝑘+1 − 𝑥 𝑘 || ≤ 𝑞 ||𝑥 𝑘 − 𝑥 𝑘−1 || С учётом этого свойства запишем следующую цепочку неравенств: ||𝑥 𝑘+𝑚 − 𝑥 𝑘 || = = ||𝑥 𝑘+𝑚 − 𝑥 𝑘+𝑚−1 + 𝑥 𝑘+𝑚−1 − 𝑥 𝑘+𝑚−2 + 𝑥 𝑘+𝑚−2 − ⋯ + 𝑥 𝑘+1 − 𝑥 𝑘 || ≤ ≤ ||𝑥 𝑘+𝑚 − 𝑥 𝑘+𝑚−1 || + ||𝑥 𝑘+𝑚−1 − 𝑥 𝑘+𝑚−2 || + ⋯ ||𝑥 𝑘+1 − 𝑥 𝑘 || ≤ ≤ 𝑞 𝑚 ||𝑥 𝑘 − 𝑥 𝑘−1 || + 𝑞 𝑚−1 ||𝑥 𝑘 − 𝑥 𝑘−1 || + ⋯ 𝑞 ||𝑥 𝑘 − 𝑥 𝑘−1 || = 2 = 𝑞(1 + 𝑞 + 𝑞 + ⋯ + 𝑞 ≤ 𝑞 𝑘 (1−𝑞 𝑚 ) 1−𝑞 𝑚) 𝑘 ||𝑥 − 𝑥 𝑘−1 𝑞(1 − 𝑞 𝑚 ) ||𝑥 𝑘 − 𝑥 𝑘−1 || ≤ || = 1−𝑞 ||𝑥 1 − 𝑥 0 || (Здесь записана сумма геометрической прогрессии) Отсюда следует, что последовательность x1, x2, …, xk, … является фундаментальной в пространстве Rn и сходится у некоторой точке (вектору) x*. Переходя к пределу в равенстве 𝑥 𝑘+1 = 𝐷𝑋 𝑘 + 𝐵 получим 𝑥 ∗ = 𝐷𝑋 ∗ + 𝐵 . Очевидно, что x* является единственным решением, т.е. предположив существование другого решения из условия 𝑥 ∗ − 𝑥 ∗∗ = 𝐷(𝑥 − 𝑥 ∗∗ ) приходим к противоречию ||𝐷|| = 1, т. к. ||𝐷|| ≤ 𝑞 < 1 . Тема. Метод Якоби решения СЛАУ. Пусть имеется СЛАУ: 𝑎11 𝑥1 + 𝑎12 𝑥2 + ⋯ + 𝑎1𝑛 𝑥𝑛 = 𝑏1 𝑎 𝑥 + 𝑎22 𝑥2 + ⋯ + 𝑎2𝑛 𝑥𝑛 = 𝑏2 { 21 2 … 𝑎𝑛1 𝑥1 + 𝑎𝑛2 𝑥2 + ⋯ + 𝑎𝑛𝑛 𝑥𝑛 = 𝑏𝑛 где на диагонали все 𝑎𝑖𝑖 (𝑖 = 1; 𝑛) отличны от нуля (в противном случае всегда можно поменять местами уравнения так, чтобы все 𝑎𝑖𝑖 ≠ 0). Преобразуем данную СЛАУ к следующему виду: 𝑛 1 1 (𝑏1 − 𝑎12 𝑥2 − ⋯ − 𝑎1𝑛 𝑥𝑛 ) = 𝑥1 = (𝑏 − ∑ 𝑎1𝑖 𝑥𝑖 ) 𝑎11 𝑎11 𝑖=1 𝑖≠1 𝑛 𝑥2 = 1 1 (𝑏2 − 𝑎21 𝑥1 − ⋯ − 𝑎2𝑛 𝑥𝑛 ) = (𝑏 − ∑ 𝑎1𝑖 𝑥𝑖 ) 𝑎22 𝑎22 2 … 𝑖=1 𝑖≠2 𝑛 1 1 (𝑏𝑛 − 𝑎𝑛1 𝑥1 − ⋯ − 𝑎𝑛𝑛−1 𝑥𝑛−1 ) = 𝑥𝑛 = (𝑏 − ∑ 𝑎𝑛𝑖 𝑥𝑖 ) 𝑎𝑛𝑛 𝑎𝑛𝑛 𝑛 𝑖=1 { 𝑖≠𝑛 или в общем виде: 𝑛 1 𝑥𝑖 = 𝑏 − ∑ 𝑎𝑖𝑗 𝑥𝑗 ) 𝑎𝑖𝑖 𝑖 𝑗=1 𝑖≠𝑗 ( (𝑖 = 1, 2, … 𝑛) ) в матричном виде: 𝑥 = 𝐷𝑋 + 𝐶 где 𝐶 = ( 𝑏1 , 𝑏2 𝑎11 𝑎22 ,…, 𝑏𝑛 𝑎𝑛𝑛 ) 0 𝑎21 𝐷=− 𝑎 22 … 𝑎𝑛1 (𝑎𝑛𝑛 𝑎12 𝑎11 0 … 𝑎𝑛2 𝑎𝑛𝑛 𝑎13 𝑎11 𝑎23 𝑎22 … … 𝑎1𝑛 𝑎11 𝑎2𝑛 … 𝑎22 … … … … 0 ) Здесь на диагонали стоят пули. Теорема. В случае диагонального преобладания матрицы А в СЛАУ метод Якоби сходится. Доказательство: т.к. |𝑎𝑖𝑖 | > ∑𝑛𝑗=1|𝑎𝑖𝑗 | , (𝑖 = 1, 2, … , 𝑛) 𝑗≠𝑖 то ∑𝑛𝑗=1 | 𝑗≠𝑖 𝑎𝑖𝑗 𝑎𝑖𝑖 | < 1, (𝑖 = 1, 2, … ) или для нормы ||𝐷||∞ 𝑛 𝑛 ||𝐷||∞ = max (∑ 𝑑𝑖𝑗 ) = max 1≤𝑖≤𝑛 𝑗=1 1≤𝑖≤𝑛 ∑| 𝑗=1 𝑗≠𝑖 𝑎𝑖𝑗 | 𝑎𝑖𝑖 <1 ( ) Следовательно, по предыдущей теореме итерационный процесс 𝑥 𝑘+1 = 𝐷𝑋 𝑘 + 𝐶 сходится. Тема. Итерационный метод Зейделя решения СЛАУ Перепишем СЛАУ уравнений: 𝑎11 𝑥1 + 𝑎12 𝑥2 + 𝑎13 𝑥3 + ⋯ + 𝑎1𝑛 𝑥𝑛 = 𝑏1 𝑎21 𝑥1 + 𝑎22 𝑥2 + 𝑎23 𝑥3 + ⋯ + 𝑎2𝑛 𝑥𝑛 = 𝑏2 𝑎31 𝑥1 + 𝑎32 𝑥2 + 𝑎33 𝑥3 + ⋯ + 𝑎3𝑛 𝑥𝑛 = 𝑏3 … {𝑎𝑛1 𝑥1 + 𝑎𝑛2 𝑥2 + 𝑎𝑛3 𝑥3 + ⋯ + 𝑎𝑛𝑛 𝑥𝑛 = 𝑏𝑛 Здесь, как и раньше, предполагается, что 𝑎𝑖𝑖 ≠ 0 (𝑖 = 1, 2 − 𝑛) в следующем виде: 1 (𝑏1 − 𝑎12 𝑥2𝑘 − 𝑎13 𝑥3𝑘 − ⋯ − 𝑎1𝑛 𝑥𝑛𝑘 ) 𝑎11 1 𝑥2𝑘+1 = (𝑏2 − 𝑎21 𝑥2𝑘+1 − 𝑎23 𝑥 𝑘 − ⋯ − 𝑎2𝑛 𝑥𝑛𝑘 ) 𝑎22 1 𝑥3𝑘+1 = (𝑏3 − 𝑎31 𝑥1𝑘+1 − 𝑎32 𝑥 𝑘+1 − ⋯ − 𝑎3𝑛 𝑥𝑛𝑘 ) 𝑎33 … 1 𝑘−1 = + 𝑎𝑛𝑛 𝑥 𝑛 ) (𝑏𝑛 − 𝑎𝑛1 𝑥 𝑘+1 − 𝑎𝑛2 𝑥 𝑘+2 − ⋯ − 𝑎𝑛𝑛−1 𝑥𝑛−1 𝑎𝑛𝑛 𝑥1𝑘+1 = 𝑥𝑛𝑘+1 { или в компактном виде: 𝑥𝑖𝑘+1 𝑖−1 𝑛 𝑗=1 𝑗=𝑖+1 1 = (𝑏𝑖 − ∑ 𝑎𝑖𝑗 𝑥 𝑘𝑛 − ∑ 𝑎𝑖𝑗 𝑥 𝑘 ) , 𝑖 = 1, 2, … , 𝑛 𝑎𝑖𝑖 В матричном виде эта СЛАУ может быть записана в следующей форме: 𝐷𝑋 𝑘+1 = 𝐵 − 𝐿𝑥 𝑘+1 − 𝑅𝑥 𝑘 (*) где 𝑎11 𝑎22 𝑎33 𝐷= 0 𝑎21 , 𝐿 = 𝑎31 ⋱ … 𝑎𝑛𝑛 ) (𝑎𝑛1 0 ( 0 0 𝑎12 0 0 𝑅=( 0 0 0 0 𝑎13 𝑎23 0 0 0 0 𝑎32 … 𝑎𝑛1 … 𝑎1𝑛 … 𝑎2𝑛 ) … 𝑎3𝑛 … 0 D – Диагональная матрица. L – Матрица нижнего треугольного заполнения. R – Матрица верхнего треугольного заполнения. 0 0 0 … 𝑎𝑛1 … 0 … 0 … 0 … … … 0) Перепишем СЛАУ в следующем матричном виде (𝐷 + 𝐿)𝑥 𝑘+1 = 𝐵 − 𝑅𝑋 𝑘 или 𝑥 𝑘+1 = (𝐷 + 𝐿)−1 (𝐵 − 𝑅𝑋 𝑘 ). Введём новые обозначения 𝐶(𝐷 + 𝐿)−1 𝐵 и 𝐽 = −(𝐷 + 𝐿)−1 𝑅 тогда 𝑥 𝑘+1 = 𝐽𝑥 𝑘 + 𝑐