ОГЛАВЛЕНИЕ
Текст
                    Ч. ЛОУСОН, Р. ХЕНСОН
ЧИСЛЕННОЕ
РЕШЕНИЕ
ЗАДАЧ
МЕТОДА
НАИМЕНЬШИХ
КВАДРАТОВ
Перевод с английского Х.Д. Икрамова
МОСКВА ’’НАУКА”
ГЛАВНАЯ РЕДАКЦИЯ
ФИЗИКО-МАТЕМАТИЧЕСКОЙ ЛИТЕРАТУРЫ
19 8 6


ББК 22.19 Л 81 УДК 519.6 Charles L. Lawson Richard J. Hanson Prentice-Hall, Inc. Solving Least Squares Problems Englewood Cliffs, New Jersey Лоусон Ч., Хенсон P. Численное решение задач метода наименьших квадратов/Пер. с англ. — М.: Наука. Гл. ред. физ.-мат. лит., 1986. — 232 с. Книга посвящена изложению численных решений линейных задач метода наимень¬ ших квадратов. Достоинством книги являются: отбор наиболее устойчивых методов, полный анализ устойчивости, рассмотрение среднеквадратичных задач с линейными ограничениями, обзор методов перестройки ортогональных разложений при добавле¬ нии или удалении одного или нескольких наблюдений. Для специалистов по прикладной математике, инженеров, а также для студентов и аспирантов. Рецензент доктор физико-математических наук В.Н. Кублановская ©Prentice-Hall, Inc., Englewood Cliffs, N.J., 1974 © Издательство "Наука”, Главная редакция физико-математической литературы, перевод на русский язык, предисловие и послесловие переводчика, 1986
ОГЛАВЛЕНИЕ ПРЕДИСЛОВИЕ ПЕРЕВОДЧИКА 5 ПРЕДИСЛОВИЕ 6 ГЛАВА 1. Введение 7 ГЛАВА 2. Анализ задачи наименьших квадратов 10 ГЛАВА 3. Ортогональное разложение посредством элементарных ортогональных преобразований 12 ГЛАВА 4. Ортогональное разложение посредством сингулярного разложения 18 ГЛАВА 5. Теоремы о возмущениях сингулярных чисел 21 ГЛАВА 6. Оценки для числа обусловленности треугольной мат¬ рицы 24 ГЛАВА 7. Псевдообратная матрица 31 ГЛАВА 8. Оценки возмущений для псевдообратных матриц .... 33 ГЛАВА 9. Оценки возмущений для решений задачи НК 39 ГЛАВА 10. Вычисления, использующие элементарные ортогональ¬ ные преобразования 42 ГЛАВА 11. Вычисление решения переопределенной или точно определенной задачи полного ранга 50 ГЛАВА 12. Вычисление ковариационной матрицы решения 52 ГЛАВА 13. Вычисление решения недоопределенной задачи пол¬ ного ранга 57 ГЛАВА 14. Вычисление решения задачи НК, возможно, неполного псевдоранга 59 ГЛАВА 15. Анализ погрешностей округлений для преобразований Хаусхолдера 63 ГЛАВА 16. Анализ погрешностей округлений для задачи НК .... 69 ГЛАВА 17. Анализ погрешностей округлений для задачи НК в арифметике со смешанной точностью 76 ГЛАВА 18. Вычисление сингулярного разложения и решение зада¬ чи НК 81 § 1. Введение 81 § 2. (?/?-алгоритм для симметричных матриц 82 § 3. Вычисление сингулярного разложения 83 1* 3
§ 4. Решение задачи НК посредством сингулярного разложения .... 90 § 5. Организация программы, вычисляющей сингулярное разложение 91 ГЛАВА 19. Другие методы для задачи наименьших квадратов ... 92 § 1. Нормальные уравнения и разложение Холесского 93 § 2. Модифицированная ортогонализаиия Грама-Шмидта 99 ГЛАВА 20. Линейные задачи наименьших квадратов с линейными ограничениями-равенствами: решение с помощью базиса нуль-прост- ранства 103 ГЛАВА 21. Линейные задачи наименьших квадратов с линейными ограничениями-равенствами: решение посредством прямого исклю¬ чения 111 ГЛАВА 22. Линейные задачи наименьших квадратов с линейными ограничениями-равенствами: решение путем взвешивания 114 ГЛАВА 23. Линейные задачи наименьших квадратов с линейными ограничениями-неравенствами 122 § 1. Введение 122 § 2. Характеризация решения 123 § 3. Задача NNLS 124 § 4. Задача LDP 127 § 5. Преобразование задачи НКН в задачу LDP 129 § 6. Задача НКН с ограничениями-уравнениями 130 § 7. Пример выравнивания при наличии ограничений 131 ГЛАВА 24. Модификация QR-разложения матрицы при добавле¬ нии или удалении столбцов 134 ГЛАВА 25. Практический анализ задач метода наименьших квад¬ ратов 137 § 1. Общие соображения 137 § 2. Левое умножение А и Ъ на матрицу G ^ . 140 § 3. Правое умножение А на матрицу Н и замена переменных л* = Нх + £ 141 § 4. Приписывание дополнительных строк к [А : Ь) 144 § 5. Удаление переменных 149 § 6. Сингулярный анализ 151 ГЛАВА 26. Примеры некоторых методов анализа задачи наимень¬ ших квадратов 153 глава 27. Модификация QR-разложения при добавлении или удалении строки (с приложениями к последовательной обработке задач с большими или ленточными матрицами коэффициентов) . . , . 160 § 1. Последовательное накапливание 161 § 2. Последовательное накапливание ленточных матриц 164 § 3. Пример: линейные сплайны 169 § 4. Сглаживание посредством кубических сплайнов 172 § 5. Удаление строк 174 ПРИЛОЖЕНИЕ А. ОСНОВЫ ЛИНЕЙНОЙ АЛГЕБРЫ 180 ПРИЛОЖЕНИЕ В. ДОКАЗАТЕЛЬСТВО ГЛОБАЛЬНОЙ КВАДРАТИЧНОЙ СХОДИМОСТИ ^ АЛГОРИТМА 186 ПОСЛЕСЛОВИЕ. Х.Д. ИКРАМОВ 194 СПИСОК ЛИТЕРАТУРЫ 219 СПИСОК ЛИТЕРАТУРЫ, ДОБАВЛЕННЫЙ ПРИ ПЕРЕВОДЕ 226 4
ПРЕДИСЛОВИЕ ПЕРЕВОДЧИКА Опубликованная в 1974 г. книга Ч. Лоусона и Р. Хенсона имела двоякое назначе¬ ние. С одной стороны» она задумана как учебник по прямым методам решения линей¬ ных среднеквадратичных задач - для лиц, не знакомых с основами вычислительной алгебры, и как справочник - для тех, кто имеет опыт работы в этой области. С другой стороны, в книге содержались тексты фортранных подпрограмм описанных в ней ме¬ тодов. Через 12 лет после выхода книги можно констатировать, что она полностью сохра¬ нила свое значение учебника-справочника, все еще единственного по данному пред¬ мету. В советской монографической литературе методы численного решения задач наименьших квадратов обойдены вниманием. Исключением являются лишь отдельные главы книг В.В. Воеводина, например "Вычислительные основы линейной алгебры” (М.: Наука, 1977). Можно надеяться поэтому, что перевод данной книги, дополненный небольшим послесловием- комментарием к литературе последнего десятилетия, будет полезен советским читателям. В то же время было решено отказаться от публи¬ кации текстов программ по следующим соображениям. Для наиболее содержательного и сложного метода - алгоритма сингулярного разложения - хорошая программа на фортране имеется в книге [ 12*]. Программы прочих методов легко получить компи¬ ляцией обычных алгебраических процедур: ортогонально-треугольного разложения матрицы, решения треугольной системы и т.п. Соответствующие стандартные подпро¬ граммы можно найти в любой сколько-нибудь развитой библиотеке прикладного ма¬ тематического обеспечения. Книга в основном посвящена задачам с заполненными матрицами, размеры т, п которых удовлетворяют условию тп < Mt где М - оперативная память используе¬ мой ЭВМ. Для многих современных машин М составляет величину порядка несколь¬ ких мегаслов, и методы, изложенные в книге, позволяют решать достаточно большие задачи. Но для сверхбольших задач с сильной разреженностью условие тп < М оказы¬ вается обременительным, а хранение матрицы полным массивом - излишним. Из раз¬ реженных задач в книге рассматривается лишь специальная ситуация ленточных мат¬ риц. Более полная картина разреженного случая дана в обзоре [ 3 * ]. При переводе сохранена непривычная для советского читателя сквозная нумерация формул, утверждений и определений. Я хотел бы поблагодарить Д.С. Шмерлинга и В.Ф. Матвеева за помощь в переводе терминов регрессионного анализа. ХМ. Икрамов
ПРЕДИСЛОВИЕ В этой книге собрана информация о задачах метода наименьших квадра¬ тов и практичных алгоритмах их решения, разработанных главным образом в течение последнего десятилетия. Эта информация будет полезна научно¬ му работнику, инженеру или студенту, связанным в своей работе с анали¬ зом и решением систем линейных алгебраических уравнений. Такая система может быть определена, переопределена или недоопределена; она может быть совместна или несовместна. Она может сопровождаться ограничения¬ ми в форме линейных уравнений или неравенств. Специалисты конкретных областей разработали методы и терминологию для задач наименьших квадратов из своих дисциплин. Материал, представ¬ ленный в нашей книге, может помочь в преодолении этой разобщенности и достижении методологического и терминологического единства. По существу, все реальные задачи нелинейны. Многие методы анализа нелинейных задач или вычислений на основе нелинейных моделей включают в себя процедуру локальной замены нелинейной задачи линейной. В част¬ ности, различные методы анализа и решения нелинейных задач метода наименьших квадратов предполагают решение последовательности линей¬ ных задач. Важное требование этих методов — умение вычислять такие решения линейных задач наименьших квадратов (возможно, плохо обус¬ ловленных), которые были бы приемлемы в контексте нелинейной задачи. Читателю, интересующемуся в первую очередь практическими приложе¬ ниями, мы рекомендуем начать чтение книги с гл. 25. Начиная с Гаусса, многие математики участвовали в теоретической и практической разработке техники решения задач метода наименьших квадратов. Мы хотим особенно выделить вклад профессора Дж. Голуба, которому в этой области принадлежит много важных идей и алгоритмов. Первый из авторов познакомил второго с задачей наименьших квадратов в 1966 г. С тех пор авторы тесно сотрудничали в JPL*), адаптируя устой¬ чивые математические методы к практическим вычислительным задачам. Данная книга является частью этой совместной работы. Ч.Л, Лоусон Р.Дж. Хенсон *)jPL - Jet Propulsion Laboratory - Лаборатория реактивного движения. (Примеч. пер.) 6
ГЛАВА 1 ВВЕДЕНИЕ Эта книга задумана одновременно как учебник и как справочник для лиц, которым приходится решать линейные задачи теории наименьших квадратов. Такие задачи часто возникают как составная часть некоторой более обширной вычислительной проблемы. Например, определение орби¬ ты космического корабля нередко сводится математиками к решению многоточечной краевой задачи для обыкновенного дифференциального уравнения. При этом вычисление орбитальных параметров обычно требует нелинейного оценивания в смысле наименьших квадратов; в последнем используют различные схемы линеаризации. Более общо, почти любая задача, в которой исходных данных достаточно для того, чтобы переопределить решение, требует применения того или иного метода аппроксимаций. Наиболее часто в качестве критерия аппрок¬ симации выбирают метод наименьших квадратов. При расчетах по методу наименьших квадратов часто встречаются допол¬ нительные ограничения. Их стоит определить более точно, чтобы облегчить последующее построение алгоритмов. Опишем несколько примеров. Задача может быть связана с некоторыми соотношениями равенства или неравенства между переменными. Она может требовать обработки столь большого объема информации, что главной проблемой становится распределение машинной памяти. Во многих случаях цель вычислений по методу наименьших квадратов не исчерпывается тем, чтобы найти некоторый набор чисел, который ’’ре¬ шает” задачу. Скорее, исследователь желает получить добавочную количест¬ венную информацию, описывающую связь решения с исходными данными. В частности, задача может допускать целое семейство различных решений, которые почти в равной степени удовлетворяют поставленным условиям. Исследователь может пожелать описать эту неопределенность и затем произвести выбор в указанном семействе в соответствии с некоторыми дополнительными требованиями. В этой книге представлены численные методы решения задач теории наименьших квадратов, учитывающие высказанные выше положения. Эти методы успешно использовались большим коллективом инженеров и научных сотрудников, включающим авторов, в ходе выполнения про¬ граммы NASA непилотируемых космических полетов. Задача наименьших квадратов, которую мы здесь рассматриваем, в разных научных дисциплинах называется по-разному. Например, мате¬ матики могут подойти к ней как к задаче отыскания для заданной точки 7
функционального пространства ближайшей точки в заданном подпрост¬ ранстве. Специалисты по численному анализу тоже нередко использовали этот подход, при котором в тени остается вопрос об ошибках входной информации. Вследствие этого теряется возможность извлечь выгоду из произвола, часто присутствующего в решении. Статистики вводят в свою постановку задачи вероятностные распреде¬ ления и используют для описания этой области термины ттъ регрессион¬ ный анализ. Инженеры приходят к этой задаче, занимаясь такими предме¬ тами, как оценивание параметров или фильтрация. Главное состоит в следующем: когда эти задачи (сформулированные в любом из названных контекстов) достигают стадии конкретных расче¬ тов, они содержат в себе одну и ту же центральную проблему, а именно последовательность линейных задач наименьших квадратов. Эту основную линейную задачу наименьших квадратов (НК) можно сформулировать следующим образом: Задача НК. Пусть даны действительная m X п-матрица А ранга к < <min(m, ri) и действительный m-вектор Ь. Найти действительный п-век- тор х0, минимизирующий евклидову длину вектора Ах — Ь. (В приложении А читатель может найти определения незнакомых ему терминов линейной алгебры.) Для обозначения задачи НК мы будем ис¬ пользовать символику Ах = Ь. 1 а ^b /77-/7 • /77-/7 • Ах*Ь rank А -/77-/7 2 а Ах~Ь rank А - ккгпшп г ь m >п Ах*Ь rank А - п «/77 За АхшЬ rank А - А </7 </77 3 b Ах-Ь Аш m <п Ах *Ь rank A-k<m<n Рис. 1.1. Шесть случаев задачи НК в соответствии со сравнительной величиной т, ян ранга А 8
Эту задачу можно поставить и исследовать также и для комплексных А и Ь. Комплексный случай встречается на практике гораздо реже, чем дейст¬ вительный. В то же время теория и численные методы для действительного случая непосредственно переносятся на комплексный. Помимо приведенной формулировки задачи НК (в данном контексте) есть еще дополнительное условие: числовые данные, составляющие А и Ьу имеют лишь конечное число верных разрядов; последующие разряды совершенно не определены ы, следовательно, произвольны. Это обычное для практики положение дел. Оно связано, в частности, с ограниченной точностью измерений или наблюдений. Важно в должной мере учесть эту ситуацию и с выгодой использовать ее для получения подходящего прибли¬ женного решения задачи. Мы будем обсуждать методы, позволяющие достигнуть этого, в особенности в гл. 25, 26. Рассмотрим в качестве важного примера случай, когда линейная задача наименьших квадратов происходит из нелинейной и вектор решения jc0 должен использоваться как поправка, прибавляемая к текущему номи¬ нальному решению нелинейной задачи. Линеаризованная задача будет полезным приближением к нелинейной лишь в некоторой ограниченной окрестности. Если имеются различные векторы, дающие достаточно малые невязки в линейной задаче, то можно предпочесть тот, что имеет наимень- шую длину. Это увеличивает вероятность остаться в окрестности, где разумно линейное приближение. Следующие три положения лежат в основе нашего подхода к методу наименьших квадратов: 1. Поскольку исходные данные задачи НК не вполне определенны, мы можем изменить их, приспособив к своим нуждам. 2. Мы будем применять ортогональные матрицы исключения непосредст¬ венно к линейной системе задачи НК. 3. Всюду большое внимание уделяется практичности при машинной реа¬ лизации. Дадим краткий комментарий к первым двум положениям. Наша цель при изменении задачи, о котором говорится в п. 1, состоит в том, чтобы избежать ситуации (см. выше), когда ’’малое” изменение исходных данных приводит к ’’большим” изменениям решения. Матрицы ортогональных преобразований, упомянутые в п. 2, находят естественное место в методе наименьших квадратов, поскольку они оставляют неизменной евклидову длину вектора. Кроме того, их исполь¬ зование желательно и вследствие присущей им численной устойчивости по отношению к распространению ошибок или неопределенности входных данных. Мы не выдвигали никаких предположений относительно сравнительной величины параметров тип. Для последующего обсуждения задачи НК удобно разделить шесть случаев, иллюстрируемых на рис. 1.1. Наибольшее внимание в этой книге будет направлено на случай 2а; при этом специально будет рассмотрена ситуация, когда неопределенность во входных данных приводит к случаю 2Ъ. Однако алгоритмы и их обсуж¬ дение будут даны для всех шести случаев. 9
ГЛАВА 2 АНАЛИЗ ЗАДАЧИ НАИМЕНЬШИХ КВАДРАТОВ Основным содержанием этой главы будет анализ задачи НК, основанный на представлении т X л-метрицы А произведением вида HRK Т, где Н и К - ортогональные матрицы. Определения ортогональной матрицы и других понятий линейной алгебры приведены в приложении А. Наш интерес к разложению А = HRK т общего вида мотивирован прак¬ тичностью и полезностью некоторых конкретных вычислимых разложений этого типа, которые будут введены в гл. 3,4. Важным свойством ортогональных матриц является сохранение евкли¬ довой длины при умножении. Это значит, что для любого ди-вектора у и любой ортогональной m X w-матрицы Q В контексте задачи НК, где речь идет о минимизации евклидовой длины вектора Ах - Ь, имеем для произвольной ортогональной m X m-матрицы Q и любого л-вектора х. Использование ортогональных преобразований позволяет выразить решение задачи НК следующим образом: Теорема 2.3. Пусть А - тХ п-матрица ранга к, представленная в виде где Н - ортогональная m X m-матрица \ R - тХ п-матрица вида R = Г Rn 01 = ; Лп -кХк-матрица ранга к\ К - ортогональная пХп-мат- [ 0 0 J рица. Определим вектор WQy II = \\у II. (2.1) \\Q{Ax-b)\\ = || QAx - Qb || = \\Ax-b\\ (2.2) А = HRK т, (2.4) (2.5) и введем новую переменную (2.6) Определим у \ как единственное решение системы КиУ 1 =£i- Тогда: 1) Все решения задачи о минимизации || Ах - b || имеют вид (2.7) (2.8) 10
2) Любой такой вектор х приводит к одному и тому же вектору невязки г: г = Ь-Ах=Н | ° | . (2.9) 3) Для нормы г справедливо ||г|| = \\Ь-Ах\\ = ||*2 ||. (2.10) 4) Единственным решением минимальной длины является вектор Чо] (2.11) Доказательство. Заменяя А правой частью равенства (2.4) и при¬ меняя (2.2), получаем \\Ах-Ь\\2 = \\HRKTx - Ь\\2 = \\RKTx-HTb II2. (2.12) Из уравнений (2.5) —(2.8) следует, что ЦАх-ЬП1 = ||Я, ,7i -gl ||г + \\g2\\2 (2.13) для всех х. Правая часть (2.13) имеет минимальное значение \\g2 II2, если «ii.Fi =Si. (2.14) Уравнение (2.14) допускает единственное решение у i, так как ранг Rlx равен к. Общее решение у выражается формулой И (2.15) где у2 произвольно. Для вектора х, определенного уравнением (2.8), имеем _Л Г 0 Ъ- Ах = ъ - HRKTx=H(g - Ry)=H L g2 что устанавливает равенство (2.9). Ясно, что среди векторов у вида (2.15) наименьшую длину имеет тот, для которого Уг = 0. Из (2.8) следует, что решением наименьшей евклидо¬ вой длины будет вектор х=К о 1 • <2,6) Теорема 2.3 доказана. Всякое разложение m X л-матрицыЛ того же типа, что и (2.4) , мы будем называть ортогональным разложением А. В случае к - п или к - m величины с размерностями соответственно п - к или m — к отсутствуют. В частности, при к - п решение задачи НК единст¬ венно. 11
Заметим, что решение минимальной длины, множество всех решений и минимальное значение для задачи минимизации || Ах - b || определяются единственным образом. Они не зависят от конкретного ортогонального разложения. У пражнение 2.17. Пусть А - т X л-матрица (т > п) ранга к и QlRl = А = Q2R2. Если Qi - т X л-матрицы с ортогональными столбцами, а /?,* - верхние треугольные л X л-матри¬ цы, то существует диагональная матрица D с диагональными элементами, равными + 1 или - 1, такая, что Q2D = Q^ и DRX = R2. ГЛАВА 3 ОРТОГОНАЛЬНОЕ РАЗЛОЖЕНИЕ ПОСРЕДСТВОМ ЭЛЕМЕНТАРНЫХ ОРТОГОНАЛЬНЫХ ПРЕОБРАЗОВАНИЙ В гл. 2 показано, что задача НК может быть решена, если имеется орто¬ гональное разложение т X л-матрицы А В этой главе мы установим сущест¬ вование такого разложения для произвольной матрицы, используя явные ортогональные преобразования. Два типа элементарных ортогональных преобразований, которые нам понадобятся, представлены в следующих двух леммах. Лемма 3.1. Пусть дан (ненулевой) m-вектор v. Существует ортого¬ нальная матрица Q такая, что Qv = -o\\v\\elf (3.2) где + 1, если Vi > О, - 1, если V\ <0, a V\ ~ первая компонента вектора v. Доказательство. Положим иит и =и +а и и 11*1, Q = —. (3.3) и1 и Доказательство завершается прямой проверкой симметричности и ортого¬ нальности матрицы Q из (3.3) и остающейся части утверждения леммы 3.1. Преобразование, определяемое формулой (3.3), использовалось Хаус- холдером [101] для решения некоторых задач на собственные значения. По этой причине матрица Q и соответствующее преобразование называются матрицей и преобразованием Хаусхолдера. Это преобразование с геометрической точки зрения есть отражение в тп - 1-мерном подпространстве S, ортогональном к вектору и. Это значит, что Qu- - и и Qs = s для всех s Е S. В специальном случае, когда нужно преобразовать к нулю только один элемент вектора у, часто используют следующее преобразование Ги¬ 12
венса [69]. Так как это преобразование изменяет только две компоненты вектора, то достаточно изучить его действие на 2чвектор. Лемма 3.4.Пусть дан 2-вектор v =(ui, v2)T, причем Ф 0либо v2 ФО. Существует ортогональная 2 X 2-матрица «■[.с, I] <з5> такая, что са +s2 = 1, (3.6) Г (yi + vl)1 1 ft- о J ■ (3.4 Доказательство. Положим просто С=(^!77Г’ (38) ,e(»?+uD1/2 ' (3'9) Легко показать, что матрица G из (3.5) ортогональна и удовлетворяет условию (3.7). Лемма 3.4 доказана. Заметим еще, что G можно выбрать не только ортогональной, но и симметричной, полагая ■[I -Я' (ЗЛО) с и s те же, что и в формулах (3.8), (3.9). Теорема 3.11. Пусть А - тХ п-матрица. Существует ортогональная m X m-матрица Q такая, что в матрице QA - R под главной диагональю стоят только нулевые элементы. Выберем ортогональную m X m-матрицу Q в соответствии с леммой 3.1 так, чтобы первый столбец QiA имел нулевые компоненты со 2-й по т-ю. Далее выбираем ортогональную (т - 1) X (т - 1) -матрицу Р2 следующим образом. Будучи применена к т - 1 вектору, составленному из компонент со 2-й по тло второго столбца матрицы Q\A, она аннулирует компоненты с 3-й по т-ю этого вектора. Матрица преобразования 1 О ■[: л-i. ортогональна, и Q7Q1A имеет в первых двух столбцах нули под главной диагональю. Продолжая таким образом, можно построить произведение, состоящее самое большее из п ортогональных преобразований, которое трансформи¬ рует А к верхней треугольной форме. Эти рассуждения можно формали¬ зовать и получить доказательство теоремы 3.11 методом конечной ин¬ дукции. Алгоритмические детали построения указанных преобразований будут даны в гл. 10. Полученное представление матрицы произведением ортого¬ нальной и верхней треугольной матриц называется QR-разложением. Оно 13
играет важную роль в ряде вычислительных алгоритмов линейной алгеб¬ ры [59, 72]. Для случаев 1 а и 2а рис. 1.1, где rank Л = л, теорема (3.11) устанавли¬ вает существование ортогонального разложения А. Действительно, соглас¬ но теореме 3.11, можно написать A =QTR =QTRIn; (3.12) матрицы Q r, R, /„ этого представления имеют свойства, требуемые в соот¬ ветствии с теоремой (2.3) от сомножителей tf, R, К т ортогонального разло¬ жения матрицы А. Если rank Л = m (см. За на рис. 1.1), то теорема 3.11 позволяет нам написать Ат = QTR, (3.13) так что A=RTQ =ImRTQ. (3.14) В этом представлении Im,RT,Q имеют свойства, требуемые в соответствии с теоремой 2.3 от сомножителей Н, R, Кт ортогонального разложения матрицы ранга т. Для случаев 1 Ь, 2Ь и 3b рис. 1.1 матрица R, полученная в теореме 3.11, необязательно имеет форму, требуемую ортогональным разложением. Мы переходим к обсуждению дополнительных преобразований, которые позволяют получить ортогональное разложение и для этих случаев. Теорема 3.15. Пусть А - m X п-матрица ранга ку причем к < п <т. Существуют ортогональная m X m-матрица Q и п X п-матрица перестанов¬ ки Р такие, что qapAI »]• (з,б) где R - верхняя треугольная k X к-матрица ранга к. Доказательство. Выберем матрицу перестановки Р таким обра¬ зом, чтобы первые к столбцов матрицы АР были линейно независимы. Согласно теореме 3.11, найдется ортогональная m X гя-матрица Q такая, что QAP — верхняя треугольная. Поскольку первые к столбцов АР линейно не¬ зависимы, это же будет верно для первых к столбцов QAP. Все элементы матрицы QAP, стоящие на пересечении строк с номерами А + 1, . . ., m и столбцов с номерами к + 1,.. ., л, будут нулями. В против¬ ном случае rank QAP > ку что противоречит предположению rank А = к. Итак, QAP имеет форму, указанную правой частью (3.16). Теорема 3.15 доказана. Подматрицу [R : Т] из правой части (3.16) можно теперь преобразовать к компактной форме, требуемой от матрицы R из теоремы 2.3. Это преоб¬ разование описывает следующая лемма. Лемма 3.17. Пусть [Л: Т] - к X п-матрица, причем R имеет ранг к. Существует ортогональная п X п-матрица W такая, что [Л:Г]И/=[Л:0], (3.18) А где R - нижняя треугольная матрица ранга к. 14
Лемма 3.17 вытекает из теоремы 3.15, если отождествить величины п, к, [Л:Г], W из формулировки леммы с соответствующими величинами т, п, АТ, QT теоремы3.15. Используя лемму 3.17 вместе с теоремой 3.15, можно доказать следую¬ щую теорему. Теорема 3.19. Пусть А - m X п-матрица ранга к. Найдутся ортого¬ нальная m X m-матрица Н и ортогональная п X п-матрица К такие, что причем Ri г - невырожденная треугольная k X к-матрица. Заметим, что выбором Н и К в уравнении (3.20) можно добиться, чтобы Ri 1 в (3.21) была верхней или нижней треугольной. Подведем итоги. Было показано, что существуют конструктивные про¬ цедуры для получения ортогональных разложений вида А = HRK т для всех шести случаев, изображенных на рис. 1.1. Во всех случаях подматрица R \ i ранга к из теоремы 2.3 будет получена в треугольной форме. Поэтому вы¬ числить решение уравнения (2.7) будет совсем просто. Как уже отмечалось, в случаях 1а и 2а в качестве матрицы К т разложе¬ ния можно взять единичную матрицу /„. Точно так же в случае За в ка¬ честве Н можно взять единичную матрицу Im. С целью иллюстрации этих ортогональных разложений мы приведем численный пример для каждого из шести случаев рис. 1.1. Случай 1а. Квадратная невырожденная матрица: Н ТАК = R, A=HRKT, (3.20) где R = [ (3.21) m=n= 3, rank А = 3, QA =R. (3.22) -0,4800 -0,4129 -0,7740 Q= 0,6616 -0,7498 - 0,0103 , — 5 1 л= 0,3515 0,9665 0,6590 0,9343 | — 0,8514 - 1,1987 -0,5761 -0,5170 0,6331 0,4087 0,1593 R = 0,0 - 0,6289 - 0,0414 I 0,0 0,0 — 0,1304J Случай 2a. Матрица переопределена и имеет полный ранг: m = 3, w = 2, rank/1 = 2. (3.23) - 0,4744 - 0,4993 - 0,7250 Q= 0,5840 -0,7947 0,1652 , - 0,6587 - 0,3450 0,6687 15
Г0’ А = 0- L0-' Я = 4087 0,1594 ,4302 0,3516 ,6246 0,3384 0,8615 -0,4965 0,0 - 0,1304 Случай За. Матрица недоопределена и имеет полный ранг: т=2, n=3, rank А =2. AQ = [R : 0], ,4087 0,4301 0,6246‘ 594 0,3515 0,3384 J ’ - 0,4744 0,5840 - 0,6587 - 0,4993 - 0,7947 - 0,3450 - 0,7250 0,1652 0,6687 - 0,8615 0,0 1 - 0,4965 - 0,1304 J Случай 1Ь. Квадратная вырожденная матрица: m =п = 5, rank А = 3. R 0 Г 0,4 10,1 Q- R = QAK О О 0,0986 - 0,6926 - 0,5937 - 0,0522 - 0.394Г 0,3748 0,0072 - 0,5424 0,3529 0,6639 е = -0,1244 0,2438 - 0,3484 - 0,8633 0,2419 0,2401 - 0,6653 0,4813 - 0,2980 0,4234 _ 0,8813 0,1351 - 0,0160 - 0,1966 - 0,4076_ 0,1376 0,4086 0,1594 0,4390 0,4113" 0,9665 0,6246 0,3383 0,7221 0,8746 А = 0,8285 0,0661 0,9112 0,6266 0,2327 » 0,0728 0,3485 0,8560 0,8348 0,2474 0,5500 0,9198 0,0080 0,7610 1,0506 “- 0,9660 0,0 0,0 0,0569 - 0,2520" 0,1279 - 0,6389 0,0 - 0,4688 - 0,5963 К = - 0,0709 0,1861 - 0,8383 - 0,4806 0,1632 0,0726 - 0,4109 - 0,5354 0,7253 -0,1144 _- 0,2002 - 0,6231 0,1027 -0,1411 0,7357_ 1,4446 1,6867 1,2530 R = 0,0 - 1,3389 - 0,1486 0,0 0,0 1,1831 (3.24) (3.25) 16
Случай 2Ь. Переопределенная матрица неполного ранга: m = 6, п = 5, rank Л = 3. (3.26) QAK С = 0,0894 0,3768 - 0,1235 0,3354 0,7849 - 0,3259 -0,6279 0,0510 0,2301 - 0,6906 0,1389 - 0,2324 - 0,5382 - 0,4986 - 0,3633 0,4092 -0,1992 - 0,3500 - 0,0473 - 0,3573 - 0,4221“ 0,3522 0,6813 - 0,1360 - 0,8609 0,2386 0,0417 - 0,2991 0,3539 0,1685 - 0,1088 - 0,4751 0,2956 0,1768 0,0153 0,8281_ R = Случ m = 4, QAK = '0,1376 0,4087 0,1593 0,4308 0,4163" 0,9667 0,6246 0,3384 0,8397 0,8029 0,8286 0,0661 0,9111 0,7495 0,1577 0,0728 0,3485 0,8560 0,8068 0,2644 » 0,5501 0,9198 0,0080 0,7910 1,0323 _0,6498 0,2725 0,3599 0,5350 0,3801_ ~- 0,9846 0,0 0,0 — 0,0868 - 0,1520" 0,1343 - 0,6392 0,0 — 0,4230 - 0,6281 0,0177 0,1650 - 0,8460 - 0,4808 0,1598 - 0,0467 - 0,3820 - 0,5248 0,7488 - 0,1256 0,1006 - 0,6468 0,0942 - 0,1469 0,7356 1,5636 1,7748 1,4574 " 0,0 - 1,3537 - 0,1233 0,0 0,0 1,1736 _ як ЗЬ. Недоопределенная матрица неполного ранга: п = 5, rank А = 3. (3.27) (2 = А = Л 0 1 . О О J ’ ■- 0,9757 0,0 0,0 -0,2193 0,4087 0,6246 0,0661 0,2112 0,0103 - 0,9989 0,0 - 0,0458 0,1593 0,6594 0,3383 0,6591 0,9112 0,6898 0,8150 0,7983 0,1390 0,0298 - 0,7729 -0,6184 - 0,1693 - 0,0363 - 0,6345 0,7533 0,4302 0,3516' 0,9342 0,9038 0,1931 0,1498 0,3406 0,2803 2.4. Лоусон 17
0,4225 0,0249 0,3156 - 0,0047 - 0,8493" - 0,1647 - 0,1529 - 0,9349 - 0,0530 - 0,2696 К = - 0,6816 0,6377 - 0,0851 0,1253 0,3254 -0,4447 - 0,4483 0,1187 - 0,7222 0,2561 0,3634 - 0,6070 0,0713 0,6782 0,1858_ '0,9915 0,0 0,0 1 R = 1,5246 1,2573 0,5840 - 0,1388 0,0 1,1077 J У пражнения 3.28. Найти спектральное разложение матрицы II w || = 1. Хаусхолдера Н - I - 3.29. Найти спектральное разложение маърицы отражения Гивенса из (3.10). 3.30. Показать, что G из (3.10) является матрицей Хаусхолдера. ГЛАВА 4 ОРТОГОНАЛЬНОЕ РАЗЛОЖЕНИЕ ПОСРЕДСТВОМ СИНГУЛЯРНОГО РАЗЛОЖЕНИЯ В этой главе будет описано еще одно практически полезное ортогональ¬ ное разложение т X л-матрицы А. В предыдущей главе матрица А была представлена произведением HRKT, где R — некоторая прямоугольная матрица, ненулевые элементы которой сосредоточены в невырожденной треугольной подматрице. Мы покажем здесь, что эту невырожденную под¬ матрицу R можно еще более упростить так, чтобы она стала невырожден¬ ной диагональной матрицей. Получаемое в результате разложение особенно полезно при анализе влияния ошибок входной информации на решение задачи НК. Это разложение тесно связано со спектральным разложением симметрич¬ ных неотрицательно определенных матриц АТА и ААТ, Стандартные факты, касающиеся спектральных разложении симметричных неотрицательно опре¬ деленных матриц, приведены в приложении А. Теорема 4.1 (сингулярное разложение). Пусть А - m X п-матрица ранга к. Тогда существуют ортогональная m X m-матрица U, ортогональ¬ ная п X п-матрица V и диагональная m X п-матрица S*) такие, что UTAV = S, А - USVT. (4.2) Матрицу S можно выбрать так, чтобы ее диагональные элементы составля¬ ли невозрастающую последовательность; все эти элементы неотрицательны и ровно к из них строго положительны. Диагональные элементы S называются сингулярными числами А. Будет удобно дать доказательство теоремы 4.1 вначале для специального случая *) То есть m X «-матрица S такая, что sy # 0 -»/=/. {Примеч. пер.) 1в
т =п » ranki4. Более общее утверждение легко следует из этого специаль¬ ного случая. Лемма 4.3. Пусть А - п X п-матрица ранга п. Тогда существуют орто¬ гональная п X п-матрица V, ортогональная п X п-матрица V и диагонмьная п Хп-матрица S такие, что UTAV = S, А = USVT (4.4) и последовательные диагональные элементы S положительны и не возрастают. Доказательство. Положительно определенная симметричная матрица А ТА допускает спектральное разложение ATA = VDVT, (4.5) ще V — ортогональная п X п-матрица, a D - диагональная матрица, причем диагональные элементы/) положительны и не возрастают. Определим S как диагональную п X и-матрицу, диагональные элементы которой суть положительные квадратные корни из соответствующих диаго¬ нальных элементов D. Таким образом, D = STS=S2, (4.6) S-'DS-l=I„. (4.7) Определим п X я-матрицу U = AVS~l. (4.8) Из (4.5), (4.7), (4.8) и ортогональности V следует, что UTU = S-' VTATAVS-' =S'lDS'1 =/„, (4.9) i.e. U ортогональна. Из (4.8) и того обстоятельства, что V ортогональна, выводим USVT =AVS-'SVT =AVVT =А. (4.10) Лемма 4.3 доказана. Доказательство теоремы 4.1. Пусть А = HRK т, (4.11) где H,R,KT имеют свойства, указанные в теореме 3.19. Так как k X к-матрица R\ \ из (3.21) невырождена, то согласно лем¬ ме 4.3, можно написать Rn=USVT. (4.12) Здесь U и V - ортогональные к X к-матрицы, a S - невырожденная диаго¬ нальная матрица, диагональные элементы которой положительны и не возрастают. Из (4.12) следует, что матрицу R уравнения (3.21) можно записать в виде R = USVT, (4.13) 2* i?
А где U - ортогональная mXm-матрица: М"° 1. [о 1,„_к J (4.14) Л V —ортогональная лХл-матрица: (4.15) и 5 - диагональная т X п-матрица: ч5 °i I о о J (4.16) Теперь, определяя U и V формулами А V = KV, заключаем из (4.11) -(4.18), что A =USVT, U = HU, Л (4.17) (4.18) (4.19) где U, S и V имеют свойства, указанные в формулировке теоремы 4.1. Это завершает доказательство. Заметим, что сингулярные числа матрицы А определены однозначно несмотря на то, что в выборе ортогональных матриц U и V из (4.19) есть произвол. Пусть о - сингулярное число А, имеющее кратность /. Это значит, что для упорядоченных сингулярных чисел найдется индекс / такой, что О = Sj, / = /,/+ 11, o=tSj, j<i или />/+1. В л-мерном пространстве / мерное подпространство Т, натянутое на столбцы Vj, /=/,...,/+/ — 1, матрицы У, определено однозначно; однако однозначности нет при выборе ортогонального базиса в Г, каковым яв¬ ляются названные столбцы V. Более точно, положим к = min(ra, п), и пусть Q — ортогональная к X А:-матрица вида <2 = Здесь Р - ортогональная / X /-матрица. Если А = USVT — сингулярное разложение А и Sj = .. . = s, + /_j, то USVTt где также будет сингулярным разложением А. 20
В следующем численном примере дано сингулярное разложение матри¬ цы А вида (3.23): A-V и= У = S - 0,4347 - 0,5509 -0,7125 0,9965 0,0 - 0,8626 - 0,5058 (4.20) 0,6141 - 0,7599 0,2129 0,0 0,1128 0,5058 1 - 0,8626 J - 0,6587 - 0,3450 0,6687 J Упражнения 4.21. Если А - симметричная п X п-матрица и ее сингулярные числа различны, то: a) (действительные) собственные значения А различны; b) с помощью сингулярного разложения матрицы А можно найти ее спектральное разложение, и наоборот. Что можно сказать о случае, когда среди сингулярных чисел имеются кратные? 4.22. Если $, - наибольшее сингулярное число А, то II А II = s,. 4.23. Если R - невырожденная я X л-матрица и s„ - ее наименьшее сингулярное число, то II Л"1 II =*л‘. 4.24. Пусть «, и sn - соответственно наибольшее и наименьшее сингулярные числа т X n-матрицы А ранга п. Показать, что для любого л-вектора х s„ II * II < II Ах || < s, || х II. 4.25. Пусть sic - ненулевые сингулярные числа А. Тогда М II/г = ( 2 s?)1/2. i = 1 т 4.26. Пусть А = US V - сингулярное разложение А. Показать, что столбцы U суть Т собственные векторы симметричной матрицы АА . ГЛАВА 5 ТЕОРЕМЫ О ВОЗМУЩЕНИЯХ СИНГУЛЯРНЫХ ЧИСЕЛ Сингулярные числа матрицы очень устойчивы к изменению ее элементов. Возмущения элементов матрицы приводят к возмущениям той же или меньшей величины в ее сингулярных числах. Цель данной главы - предста¬ вить теоремы 5.7 и 5.10, которые дают точные формулировки этой устойчи¬ вости, и теорему 5.12, указывающую оценки возмущений сингулярных чи¬ сел при удалении из матрицы столбца или строки. Эти теоремы являются прямыми следствиями соответствующих теорем об устойчивости собственных значений симметричной матрицы. Вначале мы сформулируем три относящиеся сюда теоремы о собственных значениях. Теорема 5.1. Пусть В, А, Еш - симметричные п X п-матрицы и В А = = Е. Обозначим собственные значения этих матриц, упорядоченные по не- г\
возрастанию, соответственно через 0,, ah е,-, / = 1л. Тогда еп </3,--а(<€ ь / = 1,. . . , п. Часто бывает полезно более слабое неравенство, которое требует зато Теорема S3. Пусть А - симметричная п X п-матрица с собственными значениями oti > . .. > а.п. Пусть к - целое число, \ <к<п. Пусть В - сим¬ метричная матрица порядка п - 1, полученная удалением из А k-й строки и k-го столбца. Тогда собственные значения 0{ матрицы В, также зануме¬ рованные в порядке невозрастания, разделяют собственные значения А : с*1 >01 >а2 >02 ^ ■ • ^0„_i Обсуждение и доказательства этих трех теорем, равно как и минимакс¬ ной теоремы Куранта-Фишера, которую используют теоремы 5.1 и 5.3, читатель может найти в книге [7]. Теорема 5.2 впервые опубликована в [100]; ее обобщение обсуждается в [196]. Чтобы вывести из этих теорем о возмущениях собственных значений теоремы о возмущениях сингулярных чисел, мы воспользуемся связью, существующей между сингулярным разложением матрицы Л и спектраль¬ ным разложением симметричной матрицы то матрица С, определенная формулой (5.4), имеет спектральное разло¬ жение менее детальной информации относительно Е: I 0, - а/ К max | ef | = || Е ||, / = 1,.. . , л. / Теорема 5.2 (Виландта - Хофмана). В условиях теоремы 5.1 п п п Г0 с~[ат (5.4) т Если А - квадратная и имеет сингулярное разложение А = US V , то лег¬ ко проверить, что С имеет спектральное разложение где U -2 l/2U и V = 2~1/2 V. Если m X я-матрица А (т> п) имеет сингулярное разложение (5.5) 5 0 0 А=Р 0 -S 0 РТ, ООО 22
где г£<1) _£(») t/(2)- Р~1 V V О J ’ t/<* > = 2-1 /2t/<l), V = 2~l,1V. Ясно, что аналогичные результаты справедливы в случае m < п. Для последующих ссылок мы сформулируем теорему 5.6, вытекающую из вышесказанного. Теорема 5.6. Пусть А - m X п-матрица и к = min (m, п). Пусть С - симметричная матрица порядка m + п, определенная формулой (5.4). Если Si, ..., sk - сингулярные числа А, то собственные значения С суть S\»... ,Sk, - Si,.. . , - sk и нуль, повторенный I m - п | раз. Мы можем теперь сформулировать три теоремы, относящиеся к возму¬ щениям сингулярных чисел. Теорема 5.7. Пусть В, А, Е - тХ п-матрицы и В - А =Е. Обозначим сингулярные числа этих матриц, упорядоченные по невозрастанию, соот¬ ветственно через 0/, а/, е,-, / =1,...,Л; k = min(w, п). Тогда I 0/-е*|<€1 =\\Е\\, i = 1,... ,к. (5.8) Доказательство. Введем симметричные матрицы О Е Ет О Тогда В - А = Е. Связь собственных значений этих матриц с сингулярными числами В, А и Е указана в теореме 5.6. Применяя к матрицам В,АиЕ тео¬ рему 5.1, получим неравенства 5.8. Теорема 5.10. В условиях теоремы 5.7 справедливо неравенство к к m п 1 (0,-а,)2< 2 е,2= 2 2 el = \\E\\2F. (5.11) /=1 / = 1 i = i / = 1 7 Доказательство. Вводя те же матрицы (5.9) и используя теоре¬ мы 5.6 и 5.2, получим 2 2 II £4l£ = 2imi?r, что эквивалентно неравенству (5.11). Теорема 5.12. Пусть А - m X п-матрица. Пусть к - целое число, 1 < к < п. Пусть В - m X (л - \)-матрица, полученная из А удалением к-го столбца. Если занумеровать сингулярные числа /3,- матрицы В в поряд¬ ке невозрастания, то они будут разделять сингулярные числа а,- матрицы А следующим образом: 1) m >п\ «1 >Pi ><*2 >02 > . . . >0„-1 ><*„ >0; (5.13) 2) m < п : ^1 > 01 > > 02 > • • • > > 0т >0* (5*14) 23
Доказательство. Неравенства (5.13) и (5.14) получаются пря¬ мым применением теоремы 5.3 к симметричным матрицам А = А7А и £ = = ВтВ. В случае 1) собственными значениями А и В будут соответственно числа a*, i = 1,... f л, и 0*, / = 1,. .., п - 1. В случае 2) собственные зна- Л л w чения А суть а/, / = 1, . .. , т, и нуль, повторенный п - т раз, а собствен- Л Л ные значения 5-0/, / = 1, ..., ту и нуль, повторенный п — 1 — т раз. Упражнения 5.15. Задача [51 ]. Даны т X п-матрица А ранга к и неотрицательное целое число г, г < к. Найти т X я-матрицу В ранга г, минимизирующую II В - А И р. Т Решение. Пусть А = USV - сингулярное разложение А с упорядоченными син¬ гулярными числами s j > ... > Sfr > 0. Пусть S получена из S заменой чисел sr +1,... ~ ~ гг . . ., нулями. Показать, что матрица В р US V решает поставленную задачу, и вы¬ разить II В - А || р через сингулярные числа А. Замечание. Это доказательство прямо вытекает из теоремы 5.10. Доказатель¬ ство, предложенное Экартом и Янгом, по существу, содержите себе и доказательство теоремы 5.10. 5.16. Решить задачу 5.15, заменив ll-llp на II II. 5.17. Определим к(А) как отношение наибольшего сингулярного числа матрицы А к ее наименьшему ненулевому сингулярному числу. (Это "число обусловленности’М будет использоваться в последующих главах.) Показать, что если ранг m X л-матрицы А равен п, a m X г-матрица Я получена из/4 удалением/i - г столбцов, то к(В) < к(А). ГЛАВА 6 ОЦЕНКИ ДЛЯ ЧИСЛА ОБУСЛОВЛЕННОСТИ ТРЕУГОЛЬНОЙ МАТРИЦЫ При практическом анализе задачи наименьших квадратов в гл.25 возник¬ нет необходимость в оценке наибольшего и наименьшего ненулевого сингу¬ лярных чисел матрицы А: отношение этих двух величин (число обуслов¬ ленности А) интерпретируется как коэффициент увеличения ошибки. Эта интерпретация числа обусловленности будет представлена в гл. 9. Наиболее прямой подход состоит в том, чтобы вычислить сингулярные числа А (см. гл. 4, 18). Однако часто бывает желательно получить оценку для числа обусловленности, не вычисляя сингулярных чисел. В данной главе будут изложены некоторые теоремы и примеры, связанные с этой задачей. Большинство алгоритмов, описываемых в этой книге, порождают в ка¬ честве промежуточного результата невырожденную треугольную матрицу (назовем ее R), имеющую те же ненулевые сингулярные числа, что и исход* ная матрица Л. В общем случае невырожденная треугольная матрица явля¬ ется лучшим отправным пунктом при оценке обусловленности, чем запол¬ ненная матрица. Поэтому мы ограничимся оценками сингулярных чисел только для невырожденной треугольной матрицы R. Обозначим упорядоченные сингулярные числа невырожденной треуголь¬ ной п X и-матрицы R через sx > , .. > sn > 0. Как отмечено в упражне¬ нии 4.22, si = || R ||. Отсюда получаем легко вычислимую нижнюю оценку 24
ДЛЯ sj: Si >max |r«|. (6.1) U Далее, так как R треугольная, то числа, обратные к диагональным элемен¬ там Л,суть элементы R~l. Поэтому ||/Г1 || > шах IV |. (6.2) / Согласно упражнению 4.23, s~l = || Я-1 ||, откуда s„ < min | гн |. (6.3) / Итак, нижнюю границу р для числа обусловленности к = sjsn дает не¬ равенство к >р = шах | ги | *./ min | г и | i (6.4) Эта нижняя граница, хотя и не лишена практической пользы, не может, вообще говоря, рассматриваться как надежная оценка для к. В самом деле, к может быть значительно больше, чем р. Это показывает пример (см. [108]) верхней треугольной п X п-матри¬ цы R, определяемой формулами 0,/</, (6.5) 1, / = 1\ , - 1,/>£ Например, для п = 4 '1 - 1 - 1 - 1 п _ 0 1 - 1 - 1 К - 0 0 1 - 1 0 0 0 1 (6.6) Используя (6.4), получим р = 1 в качестве нижней границы для к. Эта оцен¬ ка не содержит никакой информации. Для данной матрицы более реалисти¬ ческую верхнюю границу для sn можно вывести, рассматривая действие R на вектор у с компонентами = /= 1,... ,п - 1, Уп=У„_1. (6.7) Легко проверить, что Ry = z, где Г/ = 0, — 1, z„ = 22~n. (6.8) Теперь, используя неравенства ^ НЯ1 ^ 1 = ня- ,2-л (6.9) находим к =sl/sn>2n~2. (6.10) 25
Таблица 6.1 Последний диагональный элемент R и последнее сингулярное число R п гпп X Ю8 sn X 10е sn!rnn 20 330 286 0,867 21 165 143 0,867 22 82,5 71,6 0,868 23 40,5 35,8 0,884 24 20,5 17,9 0,873 25 8,96 8,95 0,999 26 4,59 4,52 0,985 Неравенство (6.9) можно интерпретировать и так: оно показывает, что R близка к вырожденной матрице. Близость понимается в том смысле,.что существует матрица Е такая, что \\Е\\ <22_п и матрица R-Е вырожде¬ на. Легко проверить, что нужная матрица задается формулой Е = zyT/yTy. для „ = 4 у = (1, 1/2, 1/4, 1/4) т, г = (0, 0, 0, 1/4) т, *.4 < 1/4, к > 4. Кроме того, при вычитании матрицы 0 0 0 0 0 0 0 0 0 0 0 0 2 1 1 1 _11 11 22 22. из матрицы R (см. (6.6)) получим вырожденную матрицу. Этот пример показывает, что иногда опасно считать матрицу хорошо обусловленной даже в том случае, когда р в (6.4) мало, а матрица выгля¬ дит вполне ’’невинно”. Напомним, что нас интересуют главным образом треугольные матрицы, возникающие в алгоритмах решения линейных систем. Матрица, определяе¬ мая формулами (6.5), обсуждалась в литературе в связи с тем, что она ин¬ вариантна относительно гауссова исключения как с частичным, так и с пол¬ ным выбором главного элемента. Однако она не будет инвариантна отно¬ сительно исключения посредством преобразований Хаусхолдера, сопро¬ вождаемого перестановками столбцов (так обстоит дело, например, в алгоритме HFTI, который будет описан в гл. 14). В этой связи и в качестве численного эксперимента мы применим алго¬ ритм HFTI к матрице R из (6.5) . Пусть R обозначает треугольную матрицу, полученную в результате этой операции. Мы вычислили также сингулярные числа R. Вычисления проводились на машине UN IV А С 1108 в режиме сме¬ шанной точности (см. гл. 17) , характеризуемом использованием как ариф¬ метики с обычной точностью (т) = 2"21 % 0,745 X 10-8), так и арифметики с удвоенной точностью (со = 2“58 ^0,347 X 10“17). В табл. 6.1 представ¬ лены вычисленные значения последнего диагонального элемента гпп и наименьшего сингулярного числа s„, а также отношения sn/rnn для значе¬ 26
ний п от 20 до 26. Заметим, что во всех случаях гпп дает хорошую оценку величины s п. Тем не менее существуют л X л-матрицы с нормированными столбцами, которые могут быть порождены алгоритмом HFTI и у которых наимень¬ шее сингулярное число приблизительно в 2п~1 раз меньше, чем наимень¬ ший диагональный элемент. Пример такой матрицы, который мы сейчас приведем, принадлежит Кахану [108] . Определим лХл-матрицу R формулами ( 0, i>j, гцА /=/, l-rs'-1, /</. Здесь sue- положительные числа, причем s2 + с2 Я = 1 - с - с - с 0 S - CS - CS 0 0 S2 - cs2 0 0 0 s3 1. Например, для п = 4 (6.11) Для любого л матрица R верхняя треугольная, ее столбцы имеют единичную евклидову длину, и выполняются неравенства > Z г.?., к = 1,.. . , п - 1, / = А: + 1,. . . , л. i=k (6.12) Как устанавливается в гл. 14, эти неравенства означают, что матрица R мо¬ жет быть получена в результате применения алгоритма HFTI к некоторой матрицей. Пусть T = R~l. Элементы Т выражаются формулами /</, Uj- 0, 1 е/-1 с(1 + с* У 1 1 s'-1 Например, в случае л = 4 с 1 — R~ =Г = / =/, / = /+1, / -i> 2. с(1 + (?) с(1 +С)2 с( 1 + с) 27
Пусть г„ обозначает последний столбецR~l. Тогда , / с2[(1 +с)2"-2 - 1] \ , "’■‘Г' (, +<•)*-■ У-- Когда s ->+0, а с = (1 - s2)1/2 -► 1 - 0, произведение || тп \\2г2пп> возрас¬ тая, стремится к (4',_l + 2)/3. Поэтому найдется значение s, зависящее от и, для которого II Так как, согласно упражнению 4.24, г II Яг,, II 1 S" " II Т„ II II т„ II ’ то sn ^ 31 /22* “” | rnn | *= 1.73 • 21 ~” | г„„ |. Следующая теорема показывает, что в рассмотренном примере реализует¬ ся почти минимальное значение, которого может достигать отношение sn / I гп П I ♦ Теорема 6.13 [9J. Пусть А - пгХ п-матрица ранга п. Предположим, что все столбцы А имеют единичную евклидову длину. Пусть R - верхняя треугольная матрица, полученная процессом хаусхолдеровой триангуляри- зации А с перестановками столбцов (так обстоит дело, например, в алгорит¬ ме HFTI из (14.9)). Тогда sn - наименьшее сингулярное число А и - последний диагональный элемент R связаны неравенствами (6.14) sn >3(4" + 6и - 1Г,'2|г„п1>21-"|г„„ |. (6.15) Доказательство. Из способа, которым строится R, видно, что ее столбцы имеют единичную евклидову длину, а сингулярные числа те же, что и у А. Кроме того, перестановки столбцов обеспечивают выполнение неравенств / r\k > Е /•?., Л=1,...,л-1, /=Л + 1,.. . ,и. (6.16) i-k Из (6.16) следует, что \гкк\>\гц\, i>K />*, * = 1,...,и-1. (6.17) Так как *„=11 Л-'Г1, (6.18) то неравенства (6.14) и (6.15) эквивалентны неравенствам II Л-1 || > |г“Д |, (6.19) II R-1 II < 3-11 (4я + 6п - 1У721 r;ln |. (6.20) Неравенство (6.19) - следствие того факта, что г~„ является элементом матрицы/?’1. 28
Чтобы доказать (6.20), мы выведем верхние границы для величин всех элементов Л"1, а затем вычислим норму Фробениуса мажорирующей матрицы М. Положим Т = R~l. Будет удобно сгруппировать элементы Т по диагона¬ лям, параллельным главной. Введем мажорирующие параметры для диаго¬ налей следующим образом: gk =шах{ | titi+kI, i = 1,..., п — к) , к =0,1,..., п - 1. (6.21) Тогда *о * max | ta | e max | rjtx I = | r~ln |. (6.22) Элементы к-и наддиагонали Т можно выразить через элементы главной диагонали Г, элементы предшествующих наддиагоналей Т и элементы R: U, 1+к — (6.23) 1<1<л-1, 1 <k<n-i. Так как \rt /+/| < 1/7/1, то из (6.21) и (6.23) получаем к к к — 1 gk = шах Uf,/+*| Стах 2 |г/+//+*|< 2 gk_. = 2 g,. I I 1 = 1 i=i K i=o ' Легко проверить по индукции, что = 2fc_ 11 |, к = 1,...,п. Определим верхнюю треугольную п X л-матрицу М формулами 0, 1, 2/-(-1 и положим м=\г;'п\м. Например, для п = 4 1 1 2 4 0 1 1 2 0 0 1 1 0 0 0 1 (6.24) (6.25) (6.26) (6.27) М = Из (6.21) и (6.25)—(6.27) следует, что элементы Л-1 (= Т) мажори¬ руются соответствующими элементами М. Поэтому = II R l II < II Л'1 ||F< ||A/||f = | r~' | \\M ||F. (6.28) Чтобы вычислить норму Фробениуса матрицы М„ заметим, что для j > 2 29
сумма квадратов элементов столбца / равна 1-2 4/-1 +2 к? = 1 + 2 4'= . (6.29) ' / = о 3 Это выражение верно и при / = 1, если считать, что сумма в средней части равна нулю. Теперь о п 4W +6/1 — 1 WR-1 \\2Р - II Т\\% <г?н \\ М \\2Р = г~гп 2 w} =r-„l . (6.30) j = 1 У Неравенства (6.28) и (6.30) вместе устанавливают неравенство (6.20). Теорема 6.13 доказана. Теорема 6.31 [9]. Пусть А и Яте же, что и в теореме 6.13. Сингуляр¬ ные числа sx > ... > sn матрицы А связаны с диагональными элементами Гц матрицы R неравенствами 21 -1'■ | ги |< 3 (411 + 6 / - 1)~1 /21 ги | < s, < (л - / + 1У >'■21 г„ |, / = 1,..., п. (6.32) Доказательство. Пусть Rj — ведущая главная подматрица по¬ рядка j матрицы R. Обозначим через /-е сингулярное число Rj. Из теоремы 5.12 вытекают неравенства _ (w) ^ (Л ~ ^ (0 Sj =Sf >Sf > .. . >sf . (O.JJ) Применяя к Rj теорему 6.13, получим sj° > 3(4'' + 6/ - 1)-1/2| r„l. (6.34) Это неравенство вместе с (6.33) доказывает нижнюю оценку для S/ в (6.32). Определим Wj как главную подматрицу порядка п + 1 -/, стоящую в R на пересечении строк и столбцов с номерами п. Заметим, что первым диагональным элементом является ri{. Используя (6.16) и упражне¬ ние 6.37, получаем || W,\\ <(« + 1 -01/21»д1- (6-35) Обозначим через oj(^ <-е сингулярное число Wj. Согласно теореме 5.12, можно написать Sj = ы/1} < «,(0. (6.36) Так как = II ||, то (6.35) и (6.36) вместе устанавливают верхнюю оценку для Sj в (6.32). Теорема 6.31 доказана. У пражнение 6.37. Пусть А - m X я- матрица со столбцами ау. Тогда шах || <zy ||. ) 30
ГЛАВА 7 ПСЕВДООБРАТНАЯ МАТРИЦА Если А - невырожденная л X л-матрица, то решение системы Ах = b можно записать в виде х - А~х Ь, где А~х — (единственная) обратная мат¬ рица ддя А. Обратная матрица - это очень полезное математическое по¬ нятие даже при том, что эффективные и надежные современные методы [7,11] для решения системы Ах = b не требуют явного вычисления А . В случае задачи НК возникает вопрос: существует ли л X л?-матрица Z, однозначно определяемая матрицей А и такая, что (единственное) реше¬ ние минимальной длины задачи НК выражается формулой jc = Zb. Такая матрица Z действительно существует; она называется псевдообратной для матрицы А. Как и обычная обратная, псевдообратная матрица — полез¬ ное математическое понятие, но при решении задачи НК ее, как правило, не вычисляют в явном виде. Следующие две теоремы приводят к конструктивному определению псевдообратной для m X л-матрицы А. Теорема 7.1. Пусть А - тХ п-матрица ранга к с ортогональным раз¬ ложением A =HRKT, удовлетворяющим предположениям теоремы 2.3. Тогда единственное решение минимальной длины задачи НК выражается формулой 01 х НТЪ. (7.2) 1Г о Доказательство. Формула (7.2) есть просто иной способ записи равенств (2.5)-(2.7) и (2.11). Теорема 7.3. Пусть A =HRK т$ как и в теореме 7.1, Н1 Матрица Z однозначно определена матрицей А и не зависит от конкрет¬ ного ортогонального разложения А. Доказательство. Для каждого /, 1 </ < ту /-й столбец zy матри¬ цы Z можно записать в виде Zj=Zej, где ^ -/-й столбец единичной мат¬ рицы^. Согласно теореме 7.1, Zj — единственное решение минимальной длины для задачи наименьших квадратов Ах = еу. Теорема 7.3 доказана. Исходя из теорем 7,1 и 7.3, дадим следующее определение. Определение 7.4. Для произвольной т X п-матрицы А псевдооб¬ ратная матрица, обозначаемая через А* , - это п X т-матрица, j-й столбец Zf которой является единственным решением минимальной длины для за¬ дачи наименьших квадратов Axj ^ где - j-й столбец единичной мат- рицы Im. Это определение с учетом теорем 7.1 и 7.3 непосредственно приводит к записи решения минимальной длины задачи НК в виде х =А+Ь. (7.5) 31
Следующие два случая заслуживают специального упоминания. Для квадратной невырожденной матрицы В псевдообратная матрица совпадает с обычной обратной: где RII— невырожденная к X ^-матрица, псевдообратная — это л X т-мат- рица вида Псевдообратную для т X л-матрицы А можно охарактеризовать и дру¬ гими способами. Каждая из двух следующих теорем дает иную характе¬ ризацию псевдообратной матрицы. Теорема 7.8. Если А = HRK Т - произвольное ортогональное разло¬ жение А, удовлетворяющее условиям теоремы 2.3, то А + = KR +Н т, где R + задана формулой (7.7). Теорема 7.9 (условия Пенроуза [138]). Псевдообратная А+ для m X n-матрицы А - это единственная n X m-матрица X, которая удовлетво¬ ряет следующей системе условий : а) АХ А =Л; Ъ)ХАХ=Х-, с)(АХ)т=АХ; d )(ХА)Т=ХА. Доказательства этих двух теорем предоставляются читателю в качестве упражнений. Явное представление , указанное в теореме 7.8, особенно полезно для вычислений. Если, например, для А имеется ортогональное разложе¬ ние (3.20) и /?ц в (3.21) - невырожденная треугольная матрица, то Если же имеем сингулярное разложение (4.2), описываемое в теоре¬ ме 4.1, то Как отмечено в начале этой главы, обычно нет нужды в явном построе¬ нии псевдообратной для матрицы А. Например, если целью вычислений является решение задачи НК, то более экономично как по времени, так и по памяти разбить процесс решения на следующие три шага (которые, по существу, повторяют доказательство теоремы 2.3) : В+ = В1. Для m X л-матрицы (7.6) (7.10) А* = VS*UT. (7.11) (7.12) (7.13) 3 )х = К (7.14) 32
Упражнения 7.15. Проверить формулы (7.6) и (7.7). 7.16. Доказать теорему 7.8. 7.17. [138]. Доказать теорему 7.9. 7.18. Доказать, что (А + )т = (АТУ и (/Г)* “ А- 7.19. Если QmXn имеет ортонормальные столбцы или ортонормальные строки, то Q* я QT, Если QmXn имеет Р3111, п и Удовлетворяет условию Q* = QT, то столбцы Q ортонормалькы. 7.20 [138]. Если Uи V имеют ортонормальные столбцы, то (UAV )* = VA + U 7.21. а) Пусть А = USVT - сингулярное разложение А, Выписать выражения для сингулярных разложений четырех матриц Р, - A*AtP2 =/ -А*АуРг = АА* , Р4- * / - А А* через матрицы t/, S, V. ■) Вывести из (а), что матрицы Р{ являются симметричными идемпотенгами и, следовательно, проекционными матрицами. с) Пусть Т{ - подпространство, ассоциированное с проекционной матрицей Я/, Т.е. 7) *{х: Р{Х- *}. Указать связь каждого подпространства 7/ с пространством СХрок шш пространством столбцов А. 1.22. Доказать, что общее решение задачи Ах =* b выражается формулой х = А * Ь + ♦ (Г - А* А) у у где.у - произвольный вектор. 7.23 [84]. Для невырожденных матриц имеется тождество СЛВ)~1 = В~хА 1. Аналогичное соотношение {АВ)* = В* А* выполняется не для всех матриц Атхк и BkXrt а) Указать две матрицы А и В такие, что т = п = 1, А' = 2 и (А В)* Ф В* А+ . в) Доказать, что матрицы Л и В удовлетворяют соотношению {А В)* = В* А+ тог¬ да и только тогда, когда образ В является инвариантным подпространством для АТЛ, Т а образ А (т.е. пространство строк А) является инвариантным подпространством дш ВВ rp j’ 7.24. Если rank Amxn = п* то А* = (А ^ * А Если xankAmx„ = m, то А* = АТ(АА ) ‘. т 7.25 [81,138]. Для произвольной матрицы А уравнения ХАА -А и A AY-A совместны. Если матрицы X и Y суть решения указанных уравнений, то ХА и А У - проекционные матрицы (симметричные идемпотенты) и А+ = ХА У. Отметьте упро¬ щение формулировки в случае симметричной матрицы А. 7.26 [81J. Псевдообратная для прямоугольной матоииы А может быть определена через псевдообратные для симметричных матриц АТА или ААТ (следует выбирать более удобную) формулами А+=(АТА)*АТ или А * - АТ{ААТУСоответственно. т т 7.27 [138]. Если А нормальная (т.е. удовлетворяет условию А А=АА ), то А*А -АА* и 04V = (/Г )я. 7.28 [138]. Если A = ZAft причем А .А? =0 и А. А. =0 для i */, то А* + . ГЛАВА 8 ОЦЕНКИ ВОЗМУЩЕНИЙ ДЛЯ ПСЕВДООБРАТНЫХ МАТРИЦ Наша цель здесь и в гл. 9 — изучение связи между возмущениями вход ных данных задачи НК и возмущениями ее решений. В этой главе будут получены теоремы о возмущениях псевдообратных матриц, которые исполь¬ зуются в гл. 9 для исследования возмущений задачи НК. На практике к рассмотрению таких возмущений может побуждать о грани ченная точность, с которой наблюдаемое явление описывается количествен¬ ной информацией. Влияние погрешностей округлений, производимых в ходе З.Ч. Лоусон 33
численной процедуры, тоже можно проанализировать так, как если бы оно имело причиной возмущение входных данных. Подобный анализ для ал- го ритмов, основанных на преобразованиях Хаусхолдера, будет дан в гл. 15—17. Результаты, относящиеся к возмущениям псевдообратных матриц или решений задачи НК, были получены рядом авторов. Для наших целей наиболее подходящей с точки зрения как общности, так и удобной формы представления конечных результатов является трактовка, предложенная в [188]. Более ранний анализ проблемы возмущений или ее специальных случаев дан в [23, 24,80,90,139,171]. Пусть А и Е — т X и-матрицы. Определим возмущенную матрицу А=А+Е (8.1) и матрицу-разность G=A' - А\ (8.2) Мы хотим определить зависимость G от Е и, в частности, получить оценки для П G Н через И А И и IIЕ II. Удобно ввести четыре проекционные матрицы: P = jCA=AtAt\ Q = AAt = AT+AT, (8.3) Р = А*А = АТАТ+, Q = АА* • АТ*АТ. (8.4) У этих матриц есть ряд полезных свойств, выводимых непосредственно из условий Пенроуза (теорема 7.9). См. также упражнение 7.21 и сводку стандартных свойств проекционных матриц, содержащуюся в приложе¬ нии А. Матрицы, определяемые формулами (8.1) — (8.4), будут использоваться на протяжении всей главы без ссылок на эти формулы. Теорема 8.5. Матрица G, определенная формулами (8.1) и (8.2), может быть представлена в виде G = Gt +(?2 +^з> (8.6) где См =-А+ЕА\ (8.7) С2 = A*(I - Q) = А*АТ+ЕГ (/-0, (8.8) С3 = -(/ - Р)уС = (/ - Р)ЕТАТ*А*. (8.9) Для этих матриц справедливы оценки ВС, 11< #£• I 1Ы+ II ЧА* II, (8.10) II С2 К Ilf И »Л+ II1 , (8.11) II С3 II < И£ II М+1*. (8.12) Доказательство. Представим С как сумму следующих восьми матриц: С=[£ +(/-?)] (A+-A+)IQ*(I-Q)\ = = PA* Q +РА* (/.- Q)-PA*Q-PA*{I-Q) + + (/-P)A+Q + (/-P)A* (/- Q)-(I -P)a*Q + (I- P)A*(I- Q). (8.13) 34
Используя свойства РХ'-А*, (/ -Р)Л* = О, A*Q-A\ А*(1 - б) = О, приводим (8.13) к виду G «(A*Q-РА*) *А*Ц - С) - (/ - * =C| +Cj + G3. Чтобы выявить линейную зависимость G от /Г, напишем: G, ~Л*АА*-Л+АА* = -А+ЕА*, Gj-A:+Q(I-Q) = A+At+At(I-Q) = = Л+ЛГ + (Ат - Ат) (/- Q) = А* Ат* Ет (/ - Q), (8.14) Р)РА + = - (/ - Р)АТАТ*А * = « _ (/ _ ?)(Ат - Ат) Ат+А * = (/ - Р) Ет Ат*А *. Оценки (8.10)-(8.12) вытекают из неравенств III-Q IK 1 и II / —Р II < 1. Теорема 8.5 доказана. Заметим, что для действительных чисел а на (а также для квадратных невырожденных матриц) имеется алгебраическое тождество о~1 -я-1 -a'1 {a - а)а _1. Казалось бы, оно означает, что для IIG II следовало ожидать оценки вида (8.10) . Однако в (8.6) появились добавочные члены G2 и G3. Их присутст¬ вие связано с тем, что матрица либо неквадратная, либо квадратная, но вы¬ рожденная. Именно: G2 может быть ненулевой матрицей, только^если rank Л < /и, aG3 может быть ненулевой матрицей, только если rank Л < п. Если же rank А =т, то Q = /ш, а при гапкЛ = п будет Р = 1п. Теперь мы хотим заменить \\А* II в правых частях неравенств (8.10) и (8.11) ее оценкой через II А* II и IIЕ II. Получить такую оценку можно при предположениях (8.16) и (8.17) следующей теоремы. Теорема 8.15. Предположим, что rank (Л +£)<гапкЛ = к> 1, (8.16) 1АЧ\\Е\\<1. (8.17) Пусть Sk - наименьшее ненулевое сингулярное число матрицы А, а е = * IЕ II. Тогда гапк(Л +£) = к, (8.18) ИЛ+И 1 НЛ*ЕУ<8|9) Доказательство. Неравенство (8.17) можно переписать в виде e/s* < 1 или, что эквивалентно, sk — е > 0. Пусть — к-е сингулярное чис¬ ло матрицы А = А + Е. Согласно теореме (5.7), %(>Sk-e, (8.20) поэтому rank (А +Е) > к, и в силу (8.16) верно (8.18) .Неравенство (8.20) 3* 35
можно записать в виде 1 1 *к Sk ~ € что эквивалентно неравенству (8.19). Теорема 8.15 доказана. Условия (8.16) и (8.17) необходимы. Легко проверить, что ИЛ* А может быть неограниченной, если любое из них нарушено. Если же требовать выполнения (8.16) и (8.17), то, помимо оценки (8.19), мы можем, исполь¬ зуя условие (8.18), показать, что в оценке (8.11) для HG2 Н произведение \\Е\\ IIAf II2 можно заменить на II £11 II Л* И \\А* II. Это утверждение осно¬ вывается на теоремах 8.21 и 8.22. Теорема 8.21. Если гапкЛ = гапкЛ, то ii0(/-e)ii= \\q(i~q) I. Доказательство. Это доказательство принадлежит Крогу [112]. Запишем сингулярные разложения матриц А и A: A^=USVthA = USVt. Из (8.3), (8.4) и предположения о том, что А и А имеют одинаковый ранг (скажем, к), следует U Определим ортогональную m. X ш-матрицу W с подматрицами Hfy соотно¬ шением i J?4 О >к 0 Q-u UT, Q= и ° 0 О О Wn Wv W2l W’ 22 > * } m-k Тогда к 1* О ► 1 5 ^ 'о 0 (2)« = и 0 о. ити 0 - к UT = \1к о' W 0 0 1- 0 wl2 = II wn II 0 0_ _ 0 Лл-к_ II о 0 II Точно так же можно проверить, что И Q(l — Q) Н = К W2\ II. Остается показать, что II WX2 II = II W2i I. Пусть х — произвольный m — к-вектор. Положим Используя ортогональность W, имеем П xt2 = II.у II2 = II Wy\\2 = И Wl2xl2 + + И W22xII2, откуда II W\2xW2 = Н jcII2 - II W22xP. Следовательно, II Wl2 II2 = max II W^jcII2 = 1 — min II W22x\\2 = 1 - Sm II x II = 1 H лс Я = 1 где sm_k - наименьшее сингулярное число W22. 36
Аналогично из ЛхВ2 = Ид1 II1 = II WTy IP = II Wj\хII2 + II W^2хИ2 получаем IVj,I* = 1- min llR'k*»2 = 1 -s2m_k. I х В = 1 Итак, I Wi21 = II W21II, что и требовалось доказать. Теорема 8.22. Если rank Л = гапкЛ, то матрица G2, определенная в (8.8), удовлетворяет оценке IG2 К I £* 1 II Л*И IIЛ+II. (8.23) До к а зател ьство, Так как гапкЛ = гапкЛ, то теорема 8.21 позво¬ ляет написать lGal< 1ХЧ НС(/-<2)Н= И^Н 11<2(/-0И. Поскольку Q(f-Q) = AT*AT(I-Q) = = АТ*[АТ - Ат) (/ - Q) = -AT*ET(I - Q), то 1С21 удовлетворяет неравенству (8.23), что и требовалось доказать. Теперь мы в состоянии доказать нижеследующую теорему, которую можно рассматривать как наиболее полезный частный случай теоремы 8.5. При более ограничительных предположениях будут получены оценки, не включающие IIА * II. Теорема 8.24. Пусть Gh / = 1, 2, 3, - матрицы, определенные соот¬ ношениями (8.7)-(8.9). Предположим дополнительно, что II £41 \\А* II < 1 и ranki4 <гапк>4. Тогдг гапкЛ = rank А и \\Е\\ ИЛ + Н2 1(м И< , (8.25) 1 - Ш И/Г11 II £-11 IU + II2 IС2 И < , (8.26) 1 - Ш И/Г11 1G3K l£l IU + II2, (8.27) с lib'll IU+II2 lGl< , (8.28) 1 — lib'll IU + II где 1 + 5172 1,618, если rank A < min(m, ri), (8.29) 2 c = 2172 ^ 1,414, если гапкЛ = min(m, л) < max(m, л), (8.30) с = 1, если rank>4 -m-n. (8.31) Доказательство. To, что гапкЛ = гапкЛ, установлено в теоре¬ ме 8.15. Используя оценку для II А* II из этой теоремы, выводим неравенст¬ ва (8.25), (8.26) и (8.27) из неравенств (8.10), (8.23) и (8.12) соответ¬ ственно. Отсюда сразу получается оценка (8.28) с с = 3. Для практических целей этого результата вполне достаточно. Оценка для случая (8.31) также оче 37
видна, поскольку здесь IIG2 II = IIG3II = 0. Конечно, это неравенство для квадратных невырожденных матриц хорошо известно и может быть дока¬ зано непосредственно (см,, например, [7]). Для случаев (8.29) и (8.30) значение с определяется следующим обра¬ зом. Пусть х - нормированный m-вектор. Положим *i = Qx, х2 = (/- Q) х. Тогда х = хх + jc2, 1 = llxll2 = ll*i II2 + II х2 II2 и найдется число у такое, что cosкр = IIл 1II и sinкр = 11*2 II. Пусть а> 11£Ч1 \\А* И2/(1 — II£41 \\А* II). Согласно неравенствам (8.25) —(8.27), а> IIG/II, /=1, 2, 3. Учитывая правые сомножители Л* и/— Q в формулах (8.7) —(8.9), имеем Gx = Glxl +G2x2 + G3x, =У 1 +У2 Уз• Левые сомножители в (8.7)-(8.9) - это соответственно Л*, Л* и I-P, откуда следует, что у3 ортогонален к у у и у2. Поэтому Следовательно, llGjtll<a(l + 5^2)/2 ^ 1,618а. Тогда II GII = max{II GxII: II* II = 1} < а(1 + 5 1/2)/2, что доказывает (8.29). В случае (8.30) либо гапкЛ = л<т, и тогда P=In, a G3 = 0, либо тапкА - т< п, и тогда Q =/« и G2 = 0. Таким образом, либо у2, либо у г в (8.32) обращаются в нуль, и IlGxIl2 <2а2. Это устанавливает оценку (8.30) и завершает доказательство теоремы 8.24. Формулы (8.1)-(8.9) и теоремы этой главы можно использовать для доказательства того, что при соответствующих предположениях о ранге А элементы матрицы At являются дифференцируемыми функциями эле¬ ментов А. Примеры некоторых конкретных теорем и формул дифференцирования приведены в упражнениях 8.33 и 9.22—9.24. Заметим, что формулы из этих упражнений переносятся на случай, когда t — /с-мерная переменная с ком¬ понентами ..., tfc, Нужно просто заменить d\dt в этих формулах на Дифференцирование псевдообратной матрицы было использовано в [54, 141] для алгоритмов условной минимизации. В [74, 112] дифференциро¬ вание псевдообратной матрицы применено к таким нелинейным задачам теории наименьших квадратов, в которые часть параметров входит линейно. II Gx II2 = IIуг +у2 II2 + И^з II2 <а2[( llx1 II + 11дг2 И)2 + И*1112] = 3 + 2sin2^ + cos2i^ = а2 < 2 а2 (3 + 51/2 ) 2 Э/Эг,-, /= 1,..., к. 38
Упражнение 8.33 [90,137]. Пусть А - т х п-матрица (т> п), элементы которой суть дифференцируемые функции действительной переменной t. Предпо¬ ложим, что при f * 0 гапкЛ = я. Показать, что: 1) существует действительная окрест¬ ность нуля, в которой А* является дифференцируемой функцией от Г; 2) производ¬ ная А* выражается формулой — ■ -А*~ А* + А*А*Т(-^ Y (I - АА*). at dt \dtJ ГЛАВА 9 ОЦЕНКИ ВОЗМУЩЕНИЙ ДЛЯ РЕШЕНИЙ ЗАДАЧИ НК Здесь теоремы предыдущей главы будут применены к исследованию воздействия возмущений в А и b на решение минимальной длины*) х за¬ дачи Ах 2 Ъ. Мы будем по-прежнему пользоваться определениями (8.1)- (8.4). Теорема 9.7 выводится без каких-либо предположений о соотно¬ шении размеров mt п и числа к = гапкЛ. Вслед за доказательством теоре¬ мы 9.7 полученные оценки конкретизируются для трех случаев: т = п = к, т>п = к и п>т = к. Удобно формулировать результаты в терминах относительных возму¬ щений Ш а=777> <9Л) ып Idbl -ПТ <9-2) и величин N611 II Ml Mllx И Л .4x11 К г II Hr II (9.3) (г = Ь-Ах), (9.4) Ml Ixl Mxl к = МПМ+И, (9.5) к IUIIM+II (9.6) 1 - ка 1-MIM+I Определения (9.1) —(9.6) применимы, разумеется, лишь когда соот¬ ветствующие знаменатели отличны от нуля. Величина к в (9.5) называ¬ ется числом обусловленности матрицы А. Теорема 9.7. Пусть х — нормальное псевдорешение задачи наимень¬ ших квадратов Axstb\ r = b—Ax — соответствующий вектор невязки. *)в советской литературе приняты термины нормальное решение или нормальное псевдорешение (смотря по тому, совместна или нет задача Ах = Ь), которые и будут в дальнейшем использоваться. (Примеч. пер.) 39
Предположим, что WE II \\А+ il < 1 и гапкЛ <гапкЛ, и пусть х + dx - нор¬ мальное псевдорешение задачи наименьших квадратов А(х + dx)= (А +Е)(х +dx)2ab +db. Тогда rank А = rank Л, (9.8) II Е\\ II х II WdbW II dx II < \\А •■(т -ШМ+1 1-ШЫ+И II £-11 WA+W II г II 1 - IIi'll 11/П1 Wdx II + II Е\\ 1Ы1 , (9.9) < ка + кур + ккра + ка. < к [(2 + кр) а + 70]. (9.10) 11x11 Доказательство. Равенство (9.8) установлено в теореме 8.15. Векторы jc и jc + dx выражаются формулами х = A*b i/ix + dx=A* (b+db). Поэтому dx = А+ (b +db)-A*b = = (A* -A*)b+A*db = Gb+A*db. Заметим, что г = (/ - Q) г = (/ — это вместе с (8.8) дает G2b = G2r. Из (8.6) — (8.9) следует dx = -A*Ex + G2r + (/ - Р )ЕтАт*х + A+db. (9.11) Взяв оценку для ||А* \\ из теоремы 8.15 и оценку (8.26) для ||С2||, получим неравенство (9.9). Деля это неравенство на || jc || и используя опре¬ деления (9.1)-(9.6), получим неравенство (9.10). Теорема 9.7 доказана. Заметим, что при п = k = rank Л матрица G3 в (8.9) нулевая, поэтому четвертый член в правой части неравенств (9.9) и (9.10) равен нулю. Анало¬ гично при m - к = rank А матрица G2 в (8.8) и, следовательно, третий член в правой части неравенств (9.9) и (9.10) нулевые. Далее, если п = к либо m = к, то rank А, очевидно, не может превосхо- дить rank А. Таким образом, в этих случаях предположение rank А < < rank Л, использовавшееся в теореме 9.7, выполняется автоматически Сделанные замечания доказывают следующие три теоремы. Теорема 9.12. Предположим, что т> п = к = rank А и ||£|| ||Л+|| <1, Тогда rank А = rank А , и 1-UEU \\А* м ^ M+ii{imi(ii*ii + Mi нгн) + \\dbid dx II < ;— > (9ЛЗ) < к[(1 + кр)а + 70]. (9.14) 40
Теорема 9.15. Предположим, что m= п = к = rank Л и ЦЕЦ \\А* ||< 1. Тогда ranki4 * rank Л, IU^ ЩИ £|| || x || + || db ||) || <f* Й < — —; — , (9.16) l-imnu 11 1^<к(а + 70) < к(а + 0)- (917) llxll Теорема 9.18.Предположим, что п>m = к = rank А и ||Е|| \\А* ||< 1. Тогда rank/4 = rank А, |Л|<М и* «. / II ЕII || х II + || db II \ "(■-иеТим- »■*■''*")■ (919) < к(а + у0) + ка«к(2а + 70) < к(2а + 0)- (9.20) IU || Применяя доказательство, аналогичное выводу (8.30), можно пока¬ зать, что к(21/2а + 0). (9.21) 1|х|| В приводимых ниже упражнениях даны примеры формул дифференциро¬ вания, выводимых из результатов этой главы. Обобщения и приложения этих формул указаны в конце гл. 8. Упражнения 9.22. Пусть А - m X л-матрица {т > л), элементы которой суть дифференцируе¬ мые функции действительной переменной г. Пусть * - вектор-функция от t, опреде¬ ляемая условием Ах =* Ъ для всех Г в той окрестности U, где А дифференцируема It I auk А = л. Показать, что для t е U существует dx/dt, которая является решением з*Да<ш наименьших квадратов Jll) э J*±\x + Л*Т(™)ТГ, W/ ' 'dt ' 'dt / где г = b - Ах. 9.23. Показать далее, что dx/dt есть решение квадратной невырожденной системы *Т4£)~ЛТ&>'& т 9.24. Пусть А = Q R, где Q — п X m-матрица с ортонормальными строками, а R - невырожденная п X л-матрица (разложение А получено, например, посредством преобразований Хаусхолдера), Показать, что dx/dt удовлетворяет уравнению dA \Т л ) Г 41
ГЛАВА 10 ВЫЧИСЛЕНИЯ, ИСПОЛЬЗУЮЩИЕ ЭЛЕМЕНТАРНЫЕ ОРТОГОНАЛЬНЫЕ ПРЕОБРАЗОВАНИЯ Мы переходим теперь к описанию численных алгоритмов для ортого¬ нального разложения т X л-матрицыЛ (указанного в теореме 3.19) и реше¬ ния задачи НК. Так как преобразования Хаусхолдера и Гивенса имеют очень много при¬ ложений, мы сочли, что будет удобно и полезно с точки зрения унификации рассмотреть каждое из этих преобразований как самостоятельный объект. Оба преобразования будут сейчас разобраны в деталях. Эти модули в даль¬ нейшем используются в описании других, более сложных вычислительных процедур. Вычисление преобразования Хаусхолдера можно разбить на два этапа: 1) построение преобразования; 2) его применение к другим векторам. Ортогональное т X т -преобразование Хаусхолдера можно представить в виде где и — т-вектор такой, что || и|| =£0, и b = — || и|| 2/2. В гл. 3 было показано, что для данного вектора и можно определить вектор и таким образом, чтобы выполнялось (3.2). На практике встречают¬ ся ситуации, когда Q нужно определить из условия Построить такую матрицу Q можно было бы как произведение переста¬ новки строк, обычного преобразования Хаусхолдера, описанного в лем¬ ме 3.1, и обратной перестановки строк. Мы находим, однако, более удоб¬ ным рассматривать равенство (10.2) как определяющее цель нашего основ¬ ного вычислительного модуля. Действие матрицы Q при преобразовании v в у можно описать с помощью трех неотрицательных целых парамет¬ ров ру I, т следующим образом: 1) если р > 1, то компоненты с номерами 1, ..., р — 1 не должны меняться; Q = 1т + Ь 1ииТ, (10.1) Qv = Wp+1 = У- (10.2) «/-1 0 0 42
2) компонента с номером р может измениться. Она называется главным элементом; 3) если р < / — 1, то компоненты с номерами р+ 1,..., / — 1 не должны меняться; 4) если / < w, то компоненты с номерами / т должны быть анну¬ лированы. Заметим, что должны выполняться соотношения Шаги численного процесса, который приводит к ортогональной т X т -матрице G, отвечающей целым параметрам р, /7 т, можно свести в следующую схему: Тот факт, что матрица Q, определенная в (10.11), имеет нужные свойст¬ ва, устанавливается следующими тремя леммами. Лемма 10.12. Определяемые формулами (10.5) - (10.10) т-век- тор и и скаляр b удовлетворяют равенству Лемма доказана. Лемма 10.14, Матрица Q, определяемая формулой (10.11), ортого- 1 < р < mt р < /. (10.3) (10.4) * =-о(и*+ 2 и])1'2, I = / { + 1, Vp > О, -1, vp < 0, (Ю.5) щ =0, « = 1,...,р-1, ир = vp - s, щ =0, / = р + 1,1, Щ =vlf i = l,m, b -sup. ЪФ о, b= 0. (10.6) (10.7) (10.8) (Ю.9) (10.10) (10.11) b = —1| u ||2 /2. Доказательство. Имеем (10.13) m II и II2 = (Vp-s)1 + 2 v* = / = / m = V2P - 2Vps+s2 + 2 vj = —2s(vp - s) = —2sup = —2b. /= / нальная. 43
Доказательство. Проверка условия QTQ = 1т проводится ”в лоб” с использованием (10.11) и (10.13). Лемма 10.15. Пусть у = Qv. Тогда у#- = vit / = 1, ...,р - 1, JV = .у,- = vif i=p + 1,1, - 0, / = /, (10.16) (10.17) (10.18) (10.19) Доказательство. Если и = 0, то лемма очевидным образом вер¬ на. При v Ф 0 легко проверяется с использованием (10.6) — (Ю.9), что uTv = — b. Но тогда вектор у = Qv = v - и удовлетворяет равенствам (10.16) - (10.19). В реальных вычислениях ненулевые компоненты векторов ипу обычно размещают в массиве памяти, который прежде занимал вектор и. Исключе¬ нием является p-я компонента массива; приходится выбирать, поместить ли в нее ир или ур. Мы остановимся на втором варианте, а для хранения ир заведем дополнительную ячейку. Величина b может быть вычислена в соот¬ ветствии с (10.10) всякий раз, как она нужна. После того как преобразование построено, обычно требуется применить его к некоторому набору w-векторов сх, с„, т.е. нужно вычислить век- торы cj = Qcj, j = 1, v. Используя определение Q в (10.11), это вычи¬ сление можно выполнять так: Все вышеизложенное будет теперь переформулировано в алгоритмиче¬ ской форме, пригодной для реализации машинной программой. Мы опишем алгоритм HI (р, I, m, v, И, С, v) для построения и (по желанию пользовате¬ ля) применения преобразования Хаусхолдера и алгоритм Н2(ptl,m,v, h,Cfv) для применения (по желанию пользователя) построенного ранее преобразования Хаусхолдера. Входной информацией алгоритма Н1 являются целые числа р,1,т и v, т-вектор v и при v > 0 массив С, содержащий т-векторы С/, / =1,,..,р. Массив С может иметь либо размеры т X v, и в этом случае векторы с/ являются его столбцами, либо размеры v X m, и тогда С/ будут его стро¬ ками. В описании алгоритмов Н1 и Н2 мы не будем различать эти два воз¬ можных способа хранения. Однако при ссылках на эти алгоритмы в после¬ дующем тексте книги хранение по столбцам будет считаться стандартным методом хранения. В тех же случаях, когда векторы с;, к которым приме* няется алгоритм Н1 (или Н2), хранятся по строкам С, это будет специально оговариваться. Алгоритм Н1 вычисляет вектор м, число Ь, вектор у = Qv и при v > 0 векторы ?/ =Qcj, /.= 1,..., р. Выходными данными алгоритма Н1 являют- Г, = Ь-'(иТс,), (10.20) (10.21) с,- = Cj + tjU, j=\,...,v. 44
ся: p-я компонента и, хранимая в ячейке Л; компоненты и с номера¬ ми ш, хранимые в одноименных позициях массива v ; компоненты у с номерами 1, / — 1, хранимые в одноименных позициях массива v, и при v > 0 векторы с}, /. = 1,хранимые в массиве С. В алгоритме Н2 величины р, I и т сохраняют тот же смысл, что и в алго¬ ритме Н1. Вектор v и величина h должны иметь значения, вычисленные в результате предварительного выполнения алгоритма Н1. Эти данные опре¬ деляют матрицу преобразования Q. Если v > 0, то на входе в алгоритм массив С должен содержать ш-векторы с/, / = 1, ..., v. Алгоритм Н2 заме¬ нит их векторами с/ = Qcj, j = 1,v. Алгоритмы 10.22, HI (р, /, т, v, h, С, v) (выполняются ша- ги 1—11)f Н2 (р, /, т, v, Н, С, v) (выполняются шаги 5-11): 1. Положить s := (Up + 2 и2)1/2 . i = / 2 2. Если ир > 0, положить 5:= —s. 3. Положить h:-vp - s, vp :=s. 4. Комментарий. Построение преобразования закончено. На шаге 5 начи¬ нается применение преобразования к векторам с;. 5. Положить Ъ := vph. 6. Если 6 = 0 или у = 0, перейти к шагу 11. 7. Для / := 1,..., v выполнить шаги 8—10. тп 8. Положить s := (cpjh + £ / = / 9. Положить cPj := cPj + s/i. 10. Для / m положить = с// +si>/. 11. Комментарий. a) Алгоритм HI (или H2) закончен. b) На шаге 1 вычисление квадратного корня из суммы квадратов можно защитить от возможности получения машинного нуля, если использовать тождество О,2 + ... + w^)I/J = t[{w,lt)2 + ...(>vm/r)J]1/J, где t = = шахЦн», I, / = /,..., m) . Другое универсальное элементарное ортогональное преобразование, ко¬ торое мы обсудим, — это вращение Гивенса. Формулы (3.5) — (3.9) описы¬ вают его построение. Чтобы избежать неоправданных машинных нулей или переполнений, можно вычислять квадратный корень г = (х2 + у2)1/2 в формулах для с и s в соответствии со следующим предписанием: t = шах( | дс |, | у | ), и — min( | дс |, | у | ), (г[1 +(к/02]1/2, гФ О, Если арифметика вашей машины отличается от нормализованной двоич¬ ной арифметики, то следует принять дополнительные меры предосторожно¬ сти, чтобы не потерять точность в вычислении с и s Например, в [39] ука¬ 45
зано такое преобразование формулы (10.23) для работы с нормализован¬ ной шестнадцатеричной арифметикой: Сейчас будут описаны алгоритмы G1 (и ь v2, с, s,.r ) и G2(с, st zb *i)» предназначенные соответственно для построения и применения вращения Гивенса. При этом будет использоваться формула (10.23), отвечающая арифметике с основанием 2. Входные данные алгоритма G1 — это компо¬ ненты v 1 и v 2 2-вектора v. На выходе будут получены скаляры си$, оп¬ ределяющие в соответствии с (3.5) матрицу G, а также квадратный корень из суммы квадратов v х и и 2, хранимый в ячейке г. Ячейку г можно отож¬ дествить с ячейками, хранящими v t либо и 2; первый вариант обычно самый удобный. Входная информация алгоритма G2 состоит из скаляров с и 5, определяющих матрицу G по формуле (3.5), и компонент zx и z2 2-вектора z, На выходе будут получены компоненты d i и d2 векто¬ ра d = Gz ; они помещены в ячейки z t и z2. Алгоритм 10.25. G1 (v ltv 2, с, s, г): 1. Если | v i | < | v 2 I, перейти к шагу 8. 2. Положить w := v2/иг. 3. Положить q := (1 + w2)1/2. 4. Положить с := 1 lq. 5. Если v i < 0, положить с := —с. 6. Положить s := wc. 7. Положить г := | и j \q и перейти к шагу 16. 8. Если v 2 Ф 0, перейти к шагу 10. 9. Положить с:= 1, s := 0, г := 0 и перейти к шагу 16. 10. Положить w := V\ /и2 • 11. Положить q :=(1 +w2)1/2. 12. Положить s := 1 lq. 13. Если v 2 < 0, положить s := —s. 14. Положить с := ws. 15. Положить г = \v2 \q. 16. Комментарий. Преобразование построено. Алгоритм 10.26. G2 (с, vzb z2): 1. Положить w:*z1c+z2s. 2. Положить z2 :=—z!s+z2c. 3. Положить Zi := w. 4. Комментарий. Применение преобразования закончено. При реализации преобразований Хаусхолдера или Гивенса возможно большое разнообразие алгоритмических и программистских деталей. Это связано с тем, что во главу угла могут быть поставлены различные сообра¬ жения: скорость выполнения, точность, защищенность от машинных нулей или переполнений, сокращение требований к памяти, уменьшение сложно¬ сти программы, модульность программы, использование разреженности ненулевых элементов, язык программирования, транспортабельность и т.д. Мы приведем сейчас два примера других реализаций. (10.24) 46
Обсуждая преобразование Хаусхолдера, мы исходили из представлю ния (10.1). Однако матрицу Хаусхолдера можно записать и так: Q-l+ghT = 1 + ... [1 h2 ... hm). (10.27) Em - Формулы (10.1) и (10.27) связаны подстановками g = b'luxu = s~luf h = u'Su. Формула (10.27) представляет интерес главным образом для малых т. В этом случае необходимость хранить два вектора g и h вместо одного вектора и не так обременительна; зато экономия двух умножений всякий раз, как вычисляется произведение ? = Qcy приобретает некоторое значе¬ ние. Эта форма использована при т = 3 в алгоритме Мартина, Питерса и Уилкинсона [8] и при т = 2, 3 в алгоритме Моулера и Стьюарта [127]. Для и* 2вычисление с'= Qc посредством (10.1) (см. формулы (10.20), (10.21)) требует пяти умножении (или четырех умножений и одного деле¬ ния) и трех сложений, в то время как при использовании (10.27) нужны лишь три умножения и три сложения. Таким образом, (10.27) требует меньшего числа операций, чем (10.1). Более того, при применении (10.27) выдерживается конкуренция и с преобразованием Гивенса, которое, будучи реализовано алгоритмом G2 (см. 10.26), требует для вычисления 7 = Qc четырех умножений и двух сложений. Реальное соотношение характеристик машинной программы, основанной на (10.27), и программы обычного преобразования Гивенса [алгорит¬ мы G1 (см. 10.25) hG2 (см. 10.26)], скорей всего, зависит от деталей этих программ. Сошлемся в качестве примера на свой опыт проверки на маши¬ не UN1VAC 1108 двух таких программ, использующих арифметику обык¬ новенной точности (27-битовая мантисса). Эти программы применялись для аннулирования элемента (2, 1) в 100 различных 2 X 11-матрицах, также заданных с обыкновенной точностью. Для каждого из 1100 преоб¬ разованных 2-векторов вычислялась относительная погрешность р = || v ' — v " |Г / II v 9 ||, где v * — преобразованный вектор, полученный проверяемой программой при использовании обыкновенной точности, a v 99 — преобразованный вектор, вычисленный той же программой в вер¬ сии с двойной точностью. Для подпрограммы Хаусхолдера, базирующейся на представлении (10.27), среднеквадратичное значение р было равно 1,72 X 2~27, а максимальное значение р равнялось 8,70 X 2“27 . Для подпро¬ граммы Гивенса соответствующие значения были 0,88 X 2-2 7 и 3,17 X 2-27. В работах [65, 66] были предложены методы сокращения числа опера¬ ций в преобразовании Гивенса. В этих методах требуется, чтобы для хране¬ ния обеих матриц — матрицы А, на которую воздействует преобразование, и преобразованной матрицы А = GA — использовалась факторизованная форма. Сейчас будет описан один из методов Джентльмена. Чтобы облегчить описание, будем считать А 2 X л-матрицей, в которой нужно аннулировать элемент (2, 1) посредством левого умножения на вращение Гивенса. Таким 47
образом, GA = А, (10.28) где o'21 =0. Если бы мы строили матрицу Гивенса G в явном виде, то сле¬ довало бы вычислить = („г д.Л2 м/2 (10.29) и положить G = у/2 Дц а2 1 Г г <*2 1 Дц Г г г > 0, (10.30) т = 0. В рассматриваемом методе вместо матрицы А в памяти хранятся матри¬ цы £>2X2 и52Хя такие,что D = Diag{db d2), d{ > 0, (10.31) A=DinB. (10.32) Мы хотим заменить в памяти матрицы D и В новыми матрицами D и В, причем D = Diag{db d2), dj > 0, такова, что матрица А из (10.28) представима в виде А=ЪхпВ юти A=-DU2B. Будем различать три случая: 1 = 0. 2. 0 < d2bh < dxb\i- 3.0 < drfit < d2b\ \. Случай 1. Можно положить D= D и В = В. Случай 2. Положим d2b\ 1 <*!*?! ’ (10.33) (10.34) <*1=' 1 +г d г ~ ~ 1 +t (10.35) (10.36) (10.37) 48
я« в = нв. 1 Ьг\ Ь1Х Заметим, что ft,, = ft,, (1 + г) и b21 =0. Случай 3. Положим . <*!*?! </| = ^2^21 d2 1 +г dx 1 +f (10.38) (10.39) (10.40) (10.41) (10.42) Я = d\bl] d2b2 i -1 b и Л = #Я. (10.43) (10.44) Заметим, что bx! = b21 (1 + О и Ь21 = 0. Легко проверить, что определяемые этим процессом матрицы D и В удовлетворяют условию (10.34). Экономия в арифметике при применении преобразования в этой форме проистекает из присутствия двух единиц в матрице Н. Это позволяет перемножить матрицы В = НВ за 2п сложений и 2п умножений по сравнению с 2п сложениями и 4п умножениями при матричном умножении А = GA. Кроме того, удалось избавиться от опера¬ ции извлечения квадратного корня, обычно используемой при построении преобразования Гивенса. Если произвольная т X я-матрица А посредством последовательности вращений Гивенса приводится к треугольному виду, то можно начинать с Д = /шх mt = А и строить с помощью описанной процедуры после¬ довательность матриц: {Dk}, {В к), к - 1, 2, ... Элементы матриц Dk обычно уменьшаются с ростом к, но скорость убывания ограничена, поскольку 1/2 < (1 + г)"1 < 1. Соответствующий, хотя и несколько более медленный, рост имеет место в элементах матриц Вк. Причина роста 1/2 в том, что евклидова норма каждого столбца произведения Dk Вк инва¬ риантна относительно к. 4.4. Лоусон 49
Чтобы уменьшить вероятность машинных нулей в элементах D или пере¬ полнений в элементах В у всякая программа, реализующая этот вариант вращений Гивенса, должна содержать некоторую процедуру, контролирую¬ щую величину чисел d{ и изменяющую масштабирование dt и /-й стро¬ ки Ву если df становится меньше некоторого заданного допуска. Напри¬ мер, можно положить г = 2“24, р = г"1 и 0 = г1/2. Если нужно оперировать с числом d(, его можно вначале сравнить с г. Если d( < т, то d( заменяет¬ ся числом pdf, а элементы Ъц — значениями fib(j, /. = 1,л, При указан¬ ном выборе т умножения на р и 0 будут точными операциями на многих машинах, имеющих арифметику с плавающей запятой и основанием 2, 8 или 16. ГЛАВА 11 ВЫЧИСЛЕНИЕ РЕШЕНИЯ ПЕРЕОПРЕДЕЛЕННОЙ ИЛИ ТОЧНО ОПРЕДЕЛЕННОЙ ЗАДАЧИ ПОЛНОГО РАНГА Теорема 3.11 показывает, что для m X л-матрицы А существует орто¬ гональная m X m-матрица Q такая, что матрица QA = R нулевая ниже глав¬ ной диагонали. В этой главе мы опишем способ вычисления матриц Q и R с помощью алгоритмов Н 1 и Н2 (см. гл. 10). Матрица Q есть произведение преобразований Хаусхолдера е=ея..-бь (ил) где каждый сомножитель Qf имеет форму Q/ -lm +г>7,м(/)м(/)Г,/=1,...>и. (11.2) Вместо того чтобы хранить величины fy, участвующие в (11.2), мы будем перевычислять их в случае необходимости по формуле (10.10). Вводя индексы, запишем bf = sjuj>\ /= 1 я. (11.3) Каждая величина Sj - это /-й диагональный элемент матрицы R и будет храниться в качестве такового. Величины uj^ хранятся во вспомогатель¬ ном массиве ячеек с именамиfy, / = 1,. . ., л. Наш алгоритм вычислит разложение теоремы 3.11. Он будет именоваться HFT (т, л, А, К). На вход HFT подаются целые числа т, п и т X л-матри- ца А. Выходная информация состоитиз ненулевой частоверхней треугольной матрицы R, хранимой в верхней треугольной части массива с именем А, скаляров ujfi, хранимых в массиве с именем h ; прочие ненулевые компо¬ ненты векторов и ^ хранятся по столбцам поддиагональной части мас¬ сива А. Алгоритм 11.4. HFT (т, л, A, h) : 1. Для /: = 1,. .., л выполнить алгоритм Н1 (/,/ + 1, m, fljy, Л,, ах у + ь л -/) (см. 10.22). 50
2. Комментарий. Приведение к треугольному виду закончено. На шаге 1 описанного алгоритма мы применяем договоренность (согла¬ сованную с практикой использования фортрана), согласно которой на /•й столбец А можно сослаться указанием имени его первой компоненты, а на подматрицу, образованную столбцами / + 1,... , п матрицы А, можно сослаться через имя первого элемента столбца / + 1. В случаях 1 а и 2а на рис. 1.1 верхняя треугольная п X я-матрица Rx t (см. (3.21)) невырожденна. Поэтому в этих двух случаях решение х задачи НК можно получить, вычисляя вектор g = Qb, (11.5) представляя g в виде *= (116) L gj J)m-n и решая систему ЯмЛГ=£, (11.7} А относительно вектора л*. Исходя из (2.9) и (2.10), вектор невязки r = b - Ах и его норму можно вычислить так: r = Gi ...G*[ ° ], (11.8) р= lr 11= II£2 И. (11.9) Формулы (11.8) и (11.9) устраняют необходимость в хранении или восста¬ новлении исходных данных задачи [А :Ь] для вычисления невязок. Приводимый ниже алгоритм HS1 выполняет вычисления согласно (11.5)-(11.7). Входная информация этого алгоритма состоит из целых чисел m и и, массивов с именами А и h в том виде, как они получены алго¬ ритмом HFT (см. 11.4), и массива Ъ, хранящего правую часть задачи НК - m-вектор Ь. На выходе алгоритма будут получены л-вектор х, замещающий первые п компонент массива Ъ, и (при т>п) т - л-вектор£2, замещающий компо¬ ненты массива b с номерами п + 1,. . ., т. Алгоритм 11.10. HS1 (т, л, A, h, b) : 1. Для/: = 1,. . . ,п выполнить алгоритм Н2(/,/ + 1 ,т,а1у, Ь ,1). 2. Комментарий. На шагах 3—5 будет вычислено решение треугольной системы RnX-gi из (11.7). 3. Положить Ьп: =Ьп/апп, 4. Если п < 1, перейти к шагу 6. ^ . 5. Для i: = п - 1, п - 2, .. ., 1 положить Ь(: = — \ Ъ(— 2 <*ijbj \. 0,7 V / = I + 1 I в.Комментарий. Для случаев 1а и 2а вычислено решение задачи НК. Алгоритм легко приспосабливается к случаю, когда Ъ является m X / мат¬ рицей. Достаточно в описании шага 1 заменить значение последнего парамет¬ 4* 51
ра алгоритма H2 на / и изменить шаги 3 и 5 так, чтобы Ъ обрабатывался как массив размера т X /. Чтобы вычислить норму р невязки (см. (11.9)), можно добавить к алгоритму HS1 шаг Чтобы вычислить вектор невязки (см. (11.8)), лЛожно добавить к алго¬ ритму HS1 шаги 8. Для i: = 1, . . . , л положить Ь,-: = 0. 9. Для /: = л, л - 1,. . . , 1 выполнить алгоритм Н2(/,/ + 1, m, д1;-, Л;, b, 1). Заметим, что если нужно сохранить вектор решения дг, то перед выполне¬ нием шагов 8 и 9 его следует переместить из массива b в какой-либо другой массив. После окончания шага 9 в массиве Ъ будет находиться вектор невязки r-Ъ- Ах. Алгоритм HS1 основан на предположении, что матрица А задачи НК имеет ранг л. В алгоритме не делается проверки этого предположения. На практике важно знать, могут ли изменения матрицы А порядка неопределенности в исходных данных привести к тому, что ее ранг станет меньше л. Один из численных подходов к этой задаче, связанный с исполь¬ зованием в качестве первого шага перестановок столбцов, будет обсуждать¬ ся в гл. 14. Другой метод, дающий более детальную информацию о матрице, требует вычисления сингулярного разложения. Он будет рассмотрен в гл. 18. Часто при решении задачи наименьших квадратов интерес представляет также вычисление матрицы ковариации для вектора решения. Этому вопро¬ су посвящена гл. 12. Упражнения 11.11. Описать алгоритм приведения матрицы к треугольному виду, основанный на использовании преобразований Гивенса. Подсчитать отдельно число сложений и число умножений. Как изменятся эти числа, если использовать преобразования Гивенса в быстрой форме (два умножения, два сложения) ? 11.12. Определить число умножений, необходимых для решения задачи НК посред¬ ством алгоритмов HFT и HS1. Сравнить это число с тем, что получено в упражне¬ нии 11.11 для преобразований Гивенса. ГЛАВА 12 или ее скалярное кратное (скажем, о2С), имеет при соответствующих предположениях статистическую интерпретацию в качестве оценки ковариа¬ ционной матрицы для решения задачи НК (см., например, [144]). Мы будем называть С нешкалированной ковариационной матрицей. ВЫЧИСЛЕНИЕ КОВАРИАЦИОННОЙ МАТРИЦЫ РЕШЕНИЯ Симметричная, положительно определенная матрица С=(АТА)~1, rankА= п, (12.1) 52
В згой главе будут представлены некоторые алгоритмы вычисления С. Мы выделим также некоторые часто встречающиеся ситуации, когда можно избежать явного вычисления С, пересматривая ее роль в последующем анализе. Мы не станем обсуждать причину появления или интерпретацию скаляр¬ ного множителя а2. Отметим только, что обычно а2 вычисляют по формуле где х — решение задачи Ах ^ Ь, ъ т и/7 — соответственно число строк и число столбцов матрицы А. Мы обсудим алгоритмы вычисления С, использующие те или иные разло¬ жения матрицы А. Эти разложения вычисляются в ходе трех различных методов решения задачи НК, детально изучаемых в данной книге, и выгля¬ дят следующим образом: QA=,Л„х„ - верхняя треугольная (см. гл. 11); (12.3) Разложения (12,3) —(12.5) вычисляются соответственно алгоритмом HFT (см. 11.4), алгоритмом HFTI (см. 14.9) и алгоритмом сингулярного разложения гл. 18. Матрица Q в (12.3) ортогональная порядка т. Обе матрицы Q и Р в (12.4) ортогональные, причем Р — матрица перестанов¬ ки. Матрицы U и V в (12.5) имеют порядок тип соответственно, и обе они ортогональны. Легко видеть, что соответственно этим трем случаям Рассмотрим вначале детали вычислений в соответствии с формулами (12.9) и (12.10). Здесь три основных шага. 1. Обращение верхней треугольной матрицы R (или R) на месте, зани¬ маемом ею в памяти. 2. Формирование верхней треугольной части симметричной матрицы (12.2) • Я„х л - верхняя треугольная (см. гл. 14); (12.4) UTAV = S„xn — диагональная (см. гл. 18). (12.5) АТА =RTR, АТА = PTRTRP, АТА = FS2 VT, (12.6) (12.7) (12.8) несли гапкЛ = /г, то обращение этих уравнений дает С= САТА)~1 =R-'(R-i)T, С= (АТА)~Х =PR-\R~l)TPT, (12.9) (12.10) (12.11) С= (АТА)~1 = VS~2 VT. Л"ЧЛ’*)Г или R l(R~l)T. Она может замещать R 1 (или Л"1) в памяти.
3. Перестановка строк и столбцов матрицы R~l(R~l)T. На каждом шаге матрица симметрична, поэтому в хранении нуждается лишь ее верх¬ няя треугольная часть. Чтобы вывести формулы обращения треугольной матрицы R, обозна¬ чим элементы R~l через ty. Тогда из тождества R~lR = / и того обстоя¬ тельства, что обе матрицы R и R'1 верхние треугольные, получаем урав¬ нения Чтобы при вычислении элементов ty иметь возможность замещать ими элементы Гу и заодно сократить число операций деления, эти формулы следует использовать таким образом: [И = ~ХП ? *11 rtf’ /' = «' + 1, • • • , Я, !' = 1. • • • . Я - 1. Счет по этим формулам требует и3/6 + 0(п2) операций, где под операцией понимается ’’умножить и сложить” или ’’поделить и сложить”. Умноже¬ ние R'1 справа на транспонированную матрицу (см. (12.9)) также требует л3/6 + О (гг) операций. Следовательно, алгоритм COV вычисляет элементы верхнего треугольника матрицы (АТА)~1 по элементам R за л3/3 + 0(п2) операций. В алгоритме COV предполагается, что задаваемая на входе матрица R (или R) из правой части формулы (12.6) (или (12.7)) занимает верхнюю треугольную часть массива с именем А. На выходе в верхней треугольной части массива А будет находиться верхняя треугольная часть матрицы (АТА)~1. Массив с именем р содержит информацию (полученную, напри¬ мер, алгоритмом HFTI (см. (14.9)), описывающую действие матрицы Р (из (12.10). Алгоритм 12.12. COV (А,п,р): 1. Для /: = 1,. .., л положить аи\ = 1/а//. 2. Если л = 1, перейти к шагу 8. 3. Для /: = 1, . .., л — 1 выполнить нижеследующее до шага 7 включи¬ тельно. 4. Для /: = / + 1, ... , л выполнить нижеследующее до шага 7 включи¬ тельно. 5. Положить s : = 0. 6. Для /: =/,..., j — 1 положить s: = s + Д//Д//. 7 Положить a if: = —ajj s. 1 < /< л, /< /< л. Решая относительно ty, находим 54
8. Для i: * 1, ..., п выполнить нижеследующее до шага 12 включи¬ тельно. 9. Для /: = /, ..., п выполнить нижеследующее до шага 12 включи¬ тельно. 10.Положить s: =0. 11.Для /: =/,..., п положить s: = s + аиац. 12. Положить ац \ =s. 13. Замечание. Закончено вычисление элементов верхнего треугольника матрицы (i47U)”1 для случая (12.3), где не делается перестановок при вычислении R. В случае же (12.4) нужно еще выполнить шаги 14-23, соот¬ ветствующие левому умножению на Р и правому умножению на Рт (см. (12.10)). В этом случае мы предполагаем наличие массива целых чисел р(, / = 1, ..., л. Смысл этих чисел такой: i-я перестановка в процессе при¬ ведения А к треугольному виду была перестановкой столбцов с номера¬ ми / и Р/. 14. Для /: =п, ..., 1 выполнить нижеследующее до шага 22 включи¬ тельно. 15. Если р/ = /\ перейти к шагу 22. 16. Положить к: =р/. Поменять местами содержимое ячеек аи и акк. Если / = 1, перейти к шагу 18. 17. Для /: = 1, ... у i - 1 поменять местами содержимое ячеек аИ и aik. 18. Если к - / = 1, перейти к шагу 20. 19. Для /: = / + 1, . .., к — 1 поменять местами содержимое ячеек ац и а1к. 20. Если к = л, перейти к шагу 22. 21. Для /: = к + 1, .. . , п поменять местами содержимое ячеек аа и ак}. 22. Continue. 23. Замечание. Вычисление нешкалированной ковариационной матри¬ цы закончено. Если используется сингулярное разложение (см. (12.5)), то для нешка¬ лированной ковариационной матрицы С справедлива формула (12.11). Поэтому индивидуальные элементы С выражаются формулами Vik Vik С,у= 2 . (12.13) Если матрица V вычислена в явном виде и хранится массивом разме¬ ра п X л, то на ее место можно записать матрицу VS ~1. Вслед за этим верх¬ ний треугольник VS~l может быть замещен верхней треугольной частью С. Это требует использования дополнительного массива длины п. Замечания о некоторых альтернативах вычисле¬ нию С Мы хотим указать три стандартных случая, когда вычисляется нешка- лированная ковариационная матрица С. 1. Матрица С (или С”1) может встречаться в качестве промежуточной величины в некоторой статистической формуле. 2. Матрица С может быть выведена на печать (или, например, экран дисплея), чтобы пользователь (заказчик задачи) мог исследовать и интер¬ претировать ее. 55
3. Какое-то подмножество элементов матрицы С может использоваться внутри некоторого автоматизированного процесса в качестве управляю¬ щих параметров. В каждом из этих случаев мы укажем иной подход, который может оказаться более информативным или более экономичным. Рассмотрим вначале случаи 1. Обычно формулы, включающие в себя С или С”1, содержат выражения вида Е = ВСВТ (12.14) или F =DTC~lD. (12.15) Наиболее эффективным и численно устойчивым методом вычисления таких выражений обычно является использование факторизованной фор¬ мы Сили С-1: С= (Л^НД-1)7" (12.16) ИЛИ С"1 =RTR (12.17) соответственно. В этом случае произведение (12.14) вычисляется так: вначале решается относительно Y уравнение YR- B, а затем строится Е = YYT. Аналогично в случае (12.15) вычисляется X = RD, а затем F =ХТХ. Важный общий принцип, иллюстрируемый этими замечаниями, таков: если имеется факторизация (12.16) матрицы Сили факторизация (12.17) матрицы С”1, то можно на основе этих факторизаций построить вычисли¬ тельные процедуры, более экономичные и более устойчивые, чем те, что требуют явного вычисления С или С”1. Эти замечания легко модифицировать на тот случай, когда в выражения для матриц С или С”1 входит матрица перестановки Р (см. формулы (12.7) и (12.10) соответственно). В случае 2 пользователь часто исследует корреляции (или почти зависи¬ мости) между различными парами компонент решения х. В этом кон¬ тексте принято строить вспомогательную матрицу E = D'lCD'\ (12.18) где D — диагональная матрица, i-и диагональный элемент dit которой ра* вен с\[г. Тогда еи = 1, / = 1, ... , и, и \ ец\ < 1, / * 1, ..., я; /= 1, .... я. Наличие элемента е/у , /=£/, близкого к 1 или -1 (например, еу = 0,95), воспринимается как указание на то, что i-я и /-я компоненты решения х сильно коррелированы. Алгебраически это соответствует тому, что глав¬ ная 2 X 2-подматрица \еи еИ 1 [ еН ен\ почти вырождена. Слабость анализа этого типа состоит в том, что таким путем легко обна^ ружить только зависимости между парами переменных. В то же время может иметься, например, почти зависимая группа из трех переменных, в которой никакие две переменные не являются почти зависимыми. Такой 56
группе из трех переменных можно сопоставить главную 3 X 3-подматрицу матрицыЕ, например - 1 —0,49 -0,49" L -0,49 -0,49 1 J Здесь никакой внедиагональный элемент не близок к 1 или -1 и, следова¬ тельно, нет почти вырожденной главной 2 X 2-подматрицы. В то же время 3 X 3-подматрица почти вырождена. Она становится вырожденной точно, если значения внедиагональных элементов изменить с -0,49 на -0,50. Зависимости между тремя или большим числом переменных очень трудно обнаружить визуальным исследованием матриц С или Ь. Такие зависимости, однако, выявляет матрица V сингулярного разложения A^USVT (или, что эквивалентно, спектрального разложения А ТА = VS2VT). Пусть Sf — сингулярное число Л, малое в сравнении с наибольшим син¬ гулярным числом S\. Соответствующие столбцы ty и матриц V и U связаны равенством Малость отношения sy/sj может быть принята в качестве критерия почти вырожденности матрицы А ; при этом вектор Vj указывает конкретную линейную комбинацию столбцов А, почти равную нулю. Визуальное иссле¬ дование столбцов V, отвечающих малым сингулярным числам, оказалось очень полезным приемом анализа плохо обусловленных задач наименьших квадратов. В случае 3 следует заметить, что нет необходимости вычислять всю матрицу С, если требуется лишь некоторое подмножество ее элементов. Если, например, уже построена матрица Я"1, то отдельные элементы С можно вычислять независимо по формулам, выводимым непосредствен¬ но из (12.9). В типичном случае нужны лишь некоторые диагональные элементы С или какая-либо ее главная подматрица. ГЛАВА 13 ВЫЧИСЛЕНИЕ РЕШЕНИЯ НЕДООПРЕДЕЛЕННОЙ ЗАДАЧИ ПОЛНОГО РАНГА Рассмотрим теперь задачу НК Ах - Ь, где m < п, rank/4 = m (случай За на рис. 1.1). Алгоритм ее решения может быть разбит на следующие шаги: -0,49 1 -0,49 (12.19) Avj = S}U/, откуда \AVjl- Sj. (12.20) (12.21) AQ= [R: 03; Ryi =b; y2 - произвольный вектор; (13.1) (13.2) (13.3) (13.4) x = Qy = Q 57
Алгоритм вычислит ортогональную матрицу Q из (13.1), при этом R будет невырожденной нижней треугольной матрицей. Существование обеих матриц было установлено путем транспонирования основного разложения теоремы 3.11. В (13.2) /я-вектор Ух определен однозначно. При любом п-т-векторе у2 (см. (13.3)) вектор х из (13.4) удовлетворяет уравнению А дг =Ь. Реше¬ ние минимальной длины (нормальное решение) получается в соответствии с теоремой 2.3 при^2 = 0. Существуют ситуации, когда недоопределенная задача Ах = b является частью большей оптимизационной задачи: при этом уг оказывается ненуле¬ вым вектором. Такова, в частности, задача минимизации IIEx—f\ при на¬ личии дополнительных линейных ограничений Ах - Ъ (которые не опреде¬ ляют х однозначно). Эта задача, которую мы называем НКУ *), будет рас¬ смотрена в гл. 20—22. Матрица Q из (13.1) строится как произведение где каждая Qf имеет вид Qi = In+b-,1 и<Ли«*, j= 1,... ,т. (13.6) Величина bj, участвующая в (13.6), перевычисляется всякий раз, как она нужна, по формуле (10.10). Вводя индексы, можем написать Каждая величина Sj — это /-й диагональный элемент матрицы R и будет храниться как таковой. Описываемый алгоритм будем называть НВТ (m,n,A,g). Входная информация алгоритма НВТ состоит из целых чисел т и п и тХ /7-матрицы А ранга т. На выходе будет получена нижняя треу¬ гольная матрица R, хранимая в нижней треугольной части массива с име¬ нем А. Величины ufJ^ будут находиться во вспомогательном массиве пе¬ ременных с именами gjj = 1,... ,/я. Остальные ненулевые компоненты вектора и ^ хранятся в наддиагональной части /-й строки массива А. Алгоритм 13.8. НВТ (т, п, A, g): 1. Для /: = 1,... ,т выполнить алгоритм Hi (/, / + 1, л, ajх m-j) (см. (10.22)). 2. Комментарий. Приведение к (нижнему) треугольному виду закон¬ чено. По поводу шага 1 следует отметить, что яу i указывает начало в памяти вектор-строки, а Ду+ltl — начало подматрицы, образованной m — j строка¬ ми, к которым применяется преобразование. Приводимый ниже алгоритм выполняет вычисления в соответствии с формулами (13.2)-(13.4). Входная информация этого алгоритма состоит из целых чисел m и п и массивов с именами Angb том виде, как они получе¬ ны на выходе алгоритма НВТ (см. 13.8) . Решение будет помещено в массив с именем х. Вектор b будет замещен в памяти вектором ух (см. (13.2)). Алгоритм 13.9. HS2 (m, п, Af g, b, х): 1. Положить Ь\ : = bi/ац. *) В оригинале-LSE(Least Squares with Equality constraints). {Примеч. пер.) Q = Q 1 ...Gm, (13.5) /= 1,,.. ,m. (13.7) 58
1 f-l 2. Для/: = 2,... ,/wположить =— (b/- I я,уЬ/) an /= i 3. Комментарий. Здесь следует задать вектор у2. Если требуется нор¬ мальное решение, нужно положить у2: = 0. Г 4 4. Положить х: = I L У г 5. Для/: = m,m- 1,..., 1 выполнить алгоритм Н2(/,/ + l,/i,fl/i,£/,x, 1). 6. Комментарий. Массив с именем х содержит теперь частное решение системы Лх = Ъ. Если на шаге 4 в качестве у2 был взят нулевой вектор, то полученное решение является нормальным (т.е. имеет минимальную длину). ГЛАВА 14 ВЫЧИСЛЕНИЕ РЕШЕНИЯ ЗАДАЧИ НК, ВОЗМОЖНО, НЕПОЛНОГО ПСЕВДОРАНГА Алгоритмы гл. 11—13 для задач полного ранга ориентированы на те слу¬ чаи, когда матрица А предполагается достаточно хорошо обусловленной, т.е. исключена возможность, что неопределенность входных данных или возмущение А, эквивалентное округлениям в процессе вычислений, при¬ ведут к замене А матрицей неполного ранга. Оценки для возмущений вто¬ рого типа будут получены в гл. 15—17. Есть, однако, и другие случаи, когда желательно иметь алгоритм, опреде¬ ляющий, насколько близка данная матрица к матрице неполного ранга. Если выяснилось, что при изменениях коэффициентов исходной матрицы, иыеющих порядок неопределенности ее задания, может получиться матрица неполного ранга, то алгоритм должен принять соответствующие меры. Алгоритм должен по меньшей мере известить пользователя при обнару¬ жении такой ситуации неполного (в указанном смысле) ранга. Вдобавок пользователь может пожелать, чтобы решение было вычислено посредством процедуры, свободной от произвольных возмущений, сопутствующих вы¬ числениям, в которых очень плохо обусловленная задача обрабатывается как задача полного ранга. Один из методов стабилизации такой задачи состоит в замене А близкой матрицей неполного ранга (назовем ее А) и последующем вычислении нор¬ мального псевдорешения задачи Ах2* Ь. Эта замена обычно производится неявно как часть численного алгоритма. Алгоритм HFTI, описываемый в данной главе, принадлежит к алгоритмам этого типа. Пример, иллюстри¬ рующий использование алгоритма HFTI и некоторых других методов стаби¬ лизации, приведен в гл. 26. В гл. 25 описаны другие методы стабилизации. Определим псевдоранг к матрицы А как ранг матрицы А, заменяющей А в результате выполнения конкретного вычислительного алгоритма. Заме¬ тим, что псевдоранг не является функцией одной лишь матрицы А, но за¬ висит также от других факторов: деталей численного алгоритма; значений допусков, используемых в вычислениях; влияния округлений и т.д. 59
Алгоритм HFTI применим, в частности, к задачам неполного ранга, указанным на рис. 1.1 как случаи 1Ь, 2b и 3Ь. Строго говоря, однако, имен~ но псевдоранг, а не ранг Л будет определен в ходе вычислений. Исходя из теорем 2.3 и 3.19, сформулируем математические соотноше¬ ния, лежащие в основе алгоритма HFTI: 1>* 1 . (14.1) Г R11 R \ 2 1} QAP = R = L о r22 ]} т п - к ЛCl i>* [сг J > т Qb . .. т - к [Л,, ^12J А' = [И/ :0], И0-1 = у2 - произвольный вектор, х =РК — РКу у (14.2) (14.3) (14.4) (14.5) (14.6) II Ъ - Ах II = II с2 - R22У2 Н ( = И с2 II при >>2 = 0). (14.7) Алгоритм определит ортогональную матрицу Q и матрицу перестанов¬ ки Р такие, что R будет верхней треугольной матрицей с невырожденной подматрицей R 1j. Матрица перестановки Р строится неявно как результат стратегии пере¬ становок столбцов, принятой в алгоритме. Эта стратегия тесно связана с задачей определения псевдоранга к. Существенна невырожденность под¬ матрицы Rn. Если специальные требования конкретных приложений не заставляют выбрать иной критерий, то предпочтительным решением будет достаточно хорошо обусловленная матрица Rt х и матрица R2 2 с достаточ¬ но малой нормой. Пример такой нестандартной ситуации — случай, когда заранее известно, что AnX/i имеет простое собственное значение нуль. В этом случае можно было бы положить к = п ~ 1 вместо того, чтобы определять значение к по¬ средством алгоритма. Другая нестандартная ситуация — это задача НК с весами (гл. 22), где может допускаться очень плохо обусловленная матрица R t j, В алгоритме HFTI используется следующая стратегия перестановок столбцов. Перед построением /-го преобразования Хаусхолдера среди столб¬ цов с номерами /,..., п выбирается тот (назовем его X), у которого сум¬ ма квадратов компонент в строках с /-й по т-ю наибольшая. Содержимое столбцов j и X затем меняется местами, после чего строится /-е преобразо¬ вание Хаусхолдера так, чтобы аннулировать элементы в позициях ац, i =/ + 1,. .. ,m. Некоторой экономии счетного времени можно добиться, если перест¬ раивать от шага к шагу нужные суммы квадратов *). Это возможно благо¬ •) А не вычислять их заново на каждом шаге. {Примеч. пер.) 60
даря ортогональности преобразования Хаусхолдера. Подробности перест¬ ройки даны в описании алгоритма HFTI (шаги 3—10). В результате принятой стратегии перестановок диагональные элементы R не будут возрастать по абсолютной величине. Более того, они будут удов¬ летворять неравенствам (6.16). См. в этой связи теоремы 6.13 и 6.31. В алгоритме HFTI псевдоранг к определяется как наибольший индекс у, для которого I Tjj | >т, где т — задаваемый пользователем неотрица¬ тельный параметр. Стратегия перестановок столбцов и подходящий вы¬ бор т, разумеется, зависят от исходного масштабирования матрицы. Этот предмет обсуждается в гл. 25. Выбор значения к меньшего, чем min (ш, п), равносилен замене заданной матрицы г Г 1 Ru 1 Л'°\ о Г матрицей _ (,48> Заметим, что IIА - А II = И\К2 2 И» \\А — А IIF = IIR2 2 И f • Далее при указан¬ ных процедурах перестановки столбцов и определения псевдоранга имеем IЛц К(ц-к)112 lrfc+i>k+1 |<0i-fc)1/2r, ц = min(т, я). Ортогональная матрица К в (14.3) выбирается так, чтобы W была невы¬ рожденной верхней треугольной к X fc-матрицей; к-вектора вычисляется как единственное решение (14.4). Для п — к-вектора у2 можно задать про¬ извольное значение; при этом нулевому у2 соответствует решение с ми¬ нимальной длиной. Окончательно решение х выражается формулой (14.6). Норму невязки можно вычислить как правую часть формулы (14.7). На входе в алгоритм HFTI задаются матрица А и вектор Ь> хранимые в одноименных массивах, целые числа ту п и неотрицательный параметр т. Ортогональная матрица Q из формулы (14.1) является произведением М преобразований Хаусхолдера Qt. Информация, определяющая эти матри¬ цы, занимает на выходе нижнюю треугольную часть массива А плюс ^ до¬ полнительных ячеек массива с именем h. Массив h используется также для хранения квадратов длин столбцов некоторых подматриц, генерируемых в процессе вычислений. Эти числа нужны при определении перестановок столбцов. На их место можно запи¬ сать (и действительно записываются) главные элементы матриц Qi. Матрица перестановки Р строится как произведение матриц-транспози¬ ций Р= (l,Pi) .. . (м,Рм). Здесь (/,/) обозначает матрицу перестановки, получаемую путем транспозиции столбцов i и/ единичной матрицы/„. Це¬ лые числа р{ записываются в массив р. Ортогональная матрица К из (14.3) есть произведение к преобразований Хаусхолдера К{. Информация, опре¬ деляющая эти матрицы, занимает прямоугольную часть массива А, об¬ разованную первыми к строками и последними п—А; столбцами, и еще к до¬ полнительных ячеек в массиве £. 61
А : *>12 ^13 *14 *15 “12 w22 ^23 к 24 *25 “« “23 ™33 *34 *35 “l4 “24 “34 + + “l5 “26 “зз “43 + “16 “ 26 “эб “46 “56 Массив, в котором первоначально хра¬ нится матрица А. По окончании работы в нем хранятся матрица W и большая часть информации, необходимой для построения ортогональных преобразо¬ ваний Хаусхолдера h: 9: /?: ]} ^33 1Z1ZI} Pi Рг Ръ Ра Главные элементы преобразований Хаус¬ холдера Q{ Главные элементы преобразований Хаус¬ холдера Kf Информация о перестановках Рис. 14.1 На рис. 14.1 показано распределение памяти на выходе для т = 6, л = 5 и к = rank А = 3. Если требуется сохранить полную информацию об ис¬ ходной матрице А, то нужно использовать дополнительный массив для записи диагональных элементов матрицы Лц из формулы (14.1). Они понадобятся для вычисления матрицы Q той же формулы. Так как в ал¬ горитме HFTI матрица Q применяется непосредственно к вектору b, то здесь этого дополнительного массива не нужно. По окончании работы алгоритма вектор решения х находится в одно¬ именном массиве, а вектор с — в массиве с именем Ь. Алгоритм организо¬ ван таким образом, что имена Ъ их могут отвечать одному и тому же мас¬ сиву памяти, т.е. нет необходимости в дополнительном массиве для хране¬ ния х. 6 этом случае длина массива Ъ должна быть равна тах(т9 п). Шаги 1-13 алгоритма HFTI описывают приведение к верхнему треу¬ гольному виду с использованием перестановок столбцов. В сущности, это — алгоритм, предложенный в [72]. Дополнительные шаги соответствуют обобщению алгоритма на случай неполного ранга [90]. В формулировке шагов 3—10 мы следовали деталям программы, содер¬ жащейся в [25] ЛГроверка на шаге 6, по существу, эквивалентна условию: ’’Если hx > 103 г?Л ”. Форма этого условия, которую мы используем, позво¬ ляет избежать явного указания машинно зависимого параметра т?. Его смысл - относительная точность машинной арифметики. Алгоритм 14.9. HFTI (А, т, п, Ъ, г, х% к, ht g, р) : 1. Положить р.: = тт(т, п). 2. Для /: = 1,... , ц выполнить шаги 3-12. 3. Если / = 1, перейти к шагу 7. 4. Для п положить ht: = ht - а*__ j,/ . 62
5. Определить X такое, что Лх: = шах{ /»;:/</<«}. 6. Если (Ji + 10_3 h\) > Л, перейти к шагу 9. т 7. Для /: */,..., п положить A/i = X at,. /=/ 8. Определить X такое, что Л*: = шах {А/: / </ <л) . Положить А: = Ах. 9. Положить р/: = X. Если pj = /, перейти к шагу 11. 10. Переставить столбцы / и X матрицы А и положить А*: = А/. 11. Выполнить алгоритм Н1 (/, / + l,.m,at/, А/, а1/+1, л - /). 12. Выполнить алгоритм Н2 (/,/ + 1, т, а! /, А/, 6,1). \3. Комментарий. Теперь следует определить псевдоранг к. Заметим, что диагональные элементы R (хранимые в позициях ах 1э... ,ац^) не возрастают по абсолютной величине. HFTI выбирает в качестве к наиболь¬ ший индекс У такой, что I я// | > г. Если I а^ | <т для всех /, то псевдо¬ рангу к присваивается значение 0, вектор решения х полагается равным ну¬ лю я алгоритм заканчивается. 14. Если к = л, перейти к шагу 17. 15.Комментарий. Здесь к< л. Сейчас будут определены ортогональные преобразования К/, чье произведение составляет матрицу К формулы (14.3). 16.Для /: = £, £—1,...,1 выполнить алгоритм Hl(z,fc+ l,n,a{l,gif — 0* (Параметры aix и ах х указывают первые элементы соответ¬ ствующих строчных векторов.) 17. Положить хк: = &*/<***. Если к < 1, перейти к шагу 19. 1 / * \ 18. Для /: = к - 19к - 2,. .., 1 положить xt: = —I Ь§ - 2 Я//*/ )(см. (14.4)). / = ,+ 1 ' 19. Если к = п, перейти к шагу 22. 20. Задать п — к-вектор у2 (см. (14.5) ) и поместить его компоненты в позиции xf, i: = к + 1,.. ., л. В частности, если требуется решение минималь¬ ной длины, нужно положить у 2' = 0. 21. Для (:=l,...,fc выполнить алгоритм H2(/,fc + 1, ntailfgit дг, 1) (см. (14.6). Параметр aix указывает первый элемент строчного вектора). 22. Для/: - /I, д — 1,.. ., 1 выполнить шаг 23. 23. Если Pj Ф/, переставить содержимое ячеек х, и хр. (см. (14.6) ). ГЛАВА 15 АНАЛИЗ ПОГРЕШНОСТЕЙ ОКРУГЛЕНИЙ ДЛЯ ПРЕОБРАЗОВАНИЙ ХАУСХОЛДЕРА В предыдущих главах мы рассматривали преимущественно математи¬ ческие аспекты различных задач метода наименьших квадратов. В гл. 9 было исследовано воздействие на решение неопределенности во входных данных задачи. Практические машинные вычисления связаны с погрешностями округлений. Замечательный вывод теории погрешностей округлений [7] состоит в том, что для многих классов задач линейной 63
алгебры вычисленное машиной решение является точным для задачи, полу¬ чаемой из исходной сравнительно малым возмущением коэффициентов. Большое значение имеет тот факт, что возмущения коэффициентов, эквивалентные произведенным округлениям, часто бывают меньше, чем неопределенность задания этих коэффициентов; в таких случаях погреш¬ ности округлений с практической точки зрения можно игнорировать. Цель гл. 15—17 представить результаты этого типа для алгоритмов наименьших квадратов, описанных в гл. 11—14. Действительные числа, точно представимые на данной машине в виде нормализованных чисел с плавающей запятой, будем называть машинными числами. Емкость арифметики с плавающей запятой данной машины удобно ха¬ рактеризовать тремя положительными числами L, U, г?. Число L — это наи¬ меньшее положительное число такое, что и!,и — L являются машинными числами. Число U — это наибольшее положительное число с тем свойством» что и Uу и - U являются машинными числами. В последующем анализе предполагается, что все ненулевые числах,участ¬ вующие в вычислениях, удовлетворяют условиям L <| х | <£/. Надежна! универсальная программа, реализующая описываемые алгоритмы, может обеспечить неравенство | х | < U путем соответствующего масштабирова¬ ния. При этом может оказаться невозможным одновременно гаратя- ровать условие | х | > L для всех ненулевых чисел х. В то же время под¬ ходящим масштабированием можно добиться того, чтобы числа, для ко¬ торых | х | < L, можно было заменить нулями, не влияя сколько-нибуф существенно на точность результатов в смысле векторных норм. Число г? характеризует относительную точность машинной арифметики с плавающей запятой и нормализацией. Следуя Уилкинсону, мы исполь¬ зуем обозначение z = fl (х + у) для указания на то, что Г есть машинное число, полученное в результате машинной операции сложения машинных чисел хну. Если z = х + у, то даже при выполнении условий L <1 z | <U часто оказывается, что Т-гФ0. Удобно называть эту разность погрешностью округления независимо от того, действительно ли округляет данная машина или же оно просто про¬ изводит усечение *). Число т? - это наименьшее положительное число с таким свойством: если точный результат z одной из пяти операций - сложить, вычесть, умно* жить, разделить, извлечь квадратный корень — равен нулю или удовлет* воряет неравенствам L <| z \ <U, то найдутся числа е*, ограниченные по абсолютной величине числом т?, для которых выполняется одно из следую* щих пяти уравнений: fl(jc+^) = х(1 +еО+ Я1 +е2)= —— + —^— (15.1) 1 + е3 1 + е4 (если* и у имеют одинаковые знаки, то ei = е2 и е2 = е4); ПСх-^) = *(1 +е5)-Я1+е6) = -^ (15.2) 1 +е7 1 +е8 •) В оригинале - truncation. {Примеч. пер.) *4
(если* и у имеют противоположные знаки, то е5 = €6 и е7 = е8); ху Яру) = ху(\ + е9) = —^ ; (15.3) е(т> ^ ■ fl(x1/2)=jrl/2(i + ei3)= * 1 + е14 Общий подход к анализу алгоритмов линейной алгебры на основе пред¬ положений этого типа хорошо отражен в литературе [7, 11, 23, 24, 190]. При этом использовались различные приемы, позволяющие учесть неизбеж¬ но возникающие члены второго и более высоких порядков по т/. Так как в оценках наиболее полезную информацию дает коэффициент при г?, то только он и будет определяться в последующем анализе. Вследствие группировки членов порядка т?2 в единое слагаемое 0(т?2) "оценки”, которые будут получены в гл. 15—17, не являются вполне вычис¬ лимыми. Однако для значений т?, соответствующих реальным машинам, этим слагаемым можно пренебречь. Так как повсюду в анализе предпола- гается максимальное накопление погрешностей, то выводимые нами оцен¬ ки существенно превышают реальные погрешности. Основное практическое назначение этих оценок — показать зависимость погрешностей от парамет¬ ров т, л, 77 и установить численную устойчивость алгоритмов из гл. 11, 13,14. Вначале мы проанализируем погрешности округлений в алгоритме Н1 (см.10.22). Будем считать, что алгоритм строит т X т-преобразование Хаусхолдера, которое аннулирует все элементы данного дл-вектора v, кроме первого. Математически алгоритм определяется следующими формулами: ц = max | Vi |, J = -(Sgn и,)r1/2M, Ui = Vi - s, Uj = Vi, i = 2,... ,m, b = suit Q-lm + b~luuT. В алгоритм включено масштабирование, имеющее целью избежать машин¬ ных нулей. Условимся черточкой сверху отмечать величины, являющиеся машинными числами или составленные из таких чисел. Величины, реально (15.6) (15.7) (15.8) (15.9) (15.10) (15.11) (15.12) (15.4) (15.5) 5.4. Лоусон 65
вычисленные алгоритмом, можно представить формулами д = max | V/1, i (15.13) (15.14) s = -fl[(sgn(u1))(/)1/2Ai], (15.15) w = fl(i>! - T), (15.16) Uj = Vj, i' = 2,.. . , my (15.17) b= П(ТЙ,Х (15.18) Q = fl(/m + Ь-1ййТ). (15.19) Вычисленные величины, выражаемые формулами (15.14) — (15.19), связаны с одноименными точными величинами из формул (15.7)-(15.12) следующим образом: t - f(l + г), | т | < (да + 2)т? + 0(т}2), (15.20) (да + 6)tj s =s(l + а), | а | < + 0(п \ 2 (15.21) (т + 8)т? Й1 = «1(1 +К), U К — + 0(17 ), 2 (15.22) м, = щ, i =2,... ,да, (15.23) Ь=Ь( 1 + 0), | /31 < (да + 8)т? + 0(г)г), (15.24) и Q - Q llF < 4к + 20 + 0(т?2) < (4да + 32)т? + 0(v2). (15.25) Мы опускаем громоздкий вывод этих оценок, поскольку он очень схож с выводом оценок книги [7]. Заметим, однако, что наши оценки отличают¬ ся от оценок Уилкинсона. Главная причина различия следующая: мы пред¬ полагаем, что вся арифметика выполняется с точностью г?, а Уилкинсон считает, что некоторые операции выполняются с точностью t?a. Мы отложим обсуждение такой арифметики со смешанной точностью до гл. 17. Сейчас мы рассмотрим применение преобразования Хаусхолдера к т X w-матрице С посредством алгоритма Н2 или второй (необязательной) части алгоритма Н1 (см. 10.22). С математической точки зрения нужно вычислить произведение B=QC. (15.26) При реальных вычислениях, однако, мы имеем лишь Q вместо Q; поэтому будет вычислена матрица B = f\(QC)f (15.27) \\В- В \\F = il [ i\(QC)-QC] +(QC-QC) llF< < II fl (QC)-QC Wf + \\Q-Q\\fWC\\f = = II£|If + IIG-GIIfIICIIf. (15.28) 66
Подобно тому как это сделано в книге [7], можно показать, что IЕ lF < (2т + 5) IС IFr? + 0(п2У (15.29) Теперь® (15.25), (15.28) и (15.29) получаем \В-В\р <(6m+37) IIC IIft? + 0(t?2). (15.30) Мы должны теперь исследовать погрешность, связанную с применением к /я X/i-матрице А к последовательных преобразований Хаусхолдера. Точный математический процесс описывается формулами А\ sAt (15.31) + /=1,...,*, (15.32) А где матрица Хаусхолдера £?/ аннулирует элементы г + 1,..., т столбца / матрицы QiAf. Эта последовательность умножений лежит в основе различ¬ ных алгоритмов, которые мы рассматриваем. Будут вычислены величины АХ=А, (15.33) Л/+1=П(С/Л,), /=1,... (15.34) гдеQt - численное приближение к точной матрице^,, которая аннулирует элементы i + 1,..., т столбца i произведения Q(Ah Определим матрицу погрешности F, = QtAi - П (Qi Af) = QtAt -Ai+l, i= 1,... ,k. (15.35) Из (15.30) следует оценка lF,lF<am + l.flAflp+ Oin2), (15.36) где Of = <6/ + 37)т?. (15.37) Из ортогональности матриц Qj прямой подстановкой выводится Uk^i-Qk...QiAlF< i am + i-i\\AiJF+0(v2)< / = 1 к <IA II 2 am + 1 _, + 0(4*)< Г I — 1 <(6m-3* + 40)Jfci? + 0(T?2). (15.38) Полезно ввести также другую матрицу погрешности Нк = Q, . . . . .. QkAk+l - А. Тогда Ak+,=Qk... Q,(A+Hk) (15.39) и, согласно (15.38), IНк Ир< (6т — Зк + 40)&»7 + 0(т)2). (15.40) 5* 67
Равенство (15.39) и оценку (15.40) можно интерпретировать следую¬ щим образом: вычисленная матрица Ак + { есть точный результат ортого¬ нального преобразования матрицы А + Нк, где IIНк Немала в сравнении с IIА II . F Заметим, что результат, выражаемый_соотношениями (15.39) и (15.40), не зависит от того факта, что матрицы Q, вычислялись с целью аннулиро¬ вать некоторые элементы в Af. Эти соотношения остаются верными и в тех случаях, когда А (следовательно, и Ак + i) заменяется матрицей или векто¬ ром, не имеющими никакой специальной связи с матрицами Qj. Далее, если матрицы, вычисленные процессом (15.34), используются в обратном порядке и У =fKQi ..■{?**), (15.41) где X - произвольная матрица, то У = 01 ...Qk(X + K), (15.42) причем \\К llF<(6т - ЗА: + 40)\\Х ll^ + Oft2). (15.43) Ортогональные матрицы £?, в (15.42) те же, что и в (15.39). Это замечание понадобится нам в доказательствах теорем 16.18, 16.36, 17.19 и#17.23. Наконец, нам потребуются оценки погрешностей округления при реше¬ нии треугольной системы уравнений. Пусть R - треугольная k X ^-матрица, а с - ^-вектор. Тогда вычисленное решение х системы Rx=c (15.44) будет удовлетворять равенству (.R+S)x = с, (15.45) где S - треугольная матрица той же конфигурации, что и R; при этом iS iF<k \\R Hft? + 0(t72). (15.46) Доказательство этого результата дано в [11]. В процессе вывода (15.46) в указанной книге показано заодно, что I s„ | < 21? | г„ \+0(л2), 1 = 1,...,*, (15.47) поэтому для разумных значений т? невырожденность R обеспечивает невы* рожденность R + S. Упражнение 15.48. Пусть G - матрица Гивенса, вычисленная алгоритмом G1 (см. 10.25) в точной арифметике, a G - соответствующая матрица, вычисленная в арифметике с относительной точностью 17. Пусть z - произвольный машинно представимый 2-век¬ тор. Вывести оценку вида II fl(Gz) - Gz II < С17 Hz II и определить значение константы с. 68
ГЛАВА 16 АНАЛИЗ ПОГРЕШНОСТЕЙ ОКРУГЛЕНИЙ ДЛЯ ЗАДАЧИ НК В этой главе анализ погрешностей округления, проведенный в гл. 15, будет применен к выводу оценок для вычислительных погрешностей алгоритмов из гл. 11, 13, 14. Эти алгоритмы осуществляют решение шести типов задачи НК, изображенных на рис. 1.1. Мы предполагаем в этой главе, что вся арифметика выполняется с одной и той же точностью т?. Вследствие этого оценки погрешностей будут содержать множители п2 и тп. Можно получить меньшие оценки, завися¬ щие лишь от первой степени п и вовсе не зависящие от т, если использо¬ вать арифметику повышенной точности в некоторых критических ”узлах’' численного процесса. Теоремы этой главы будут переформулированы в гл. 17, для арифметики со смешанной точностью. Теорема 16.1 (переопределенная задача наименьших квадратов полного ранга). Пусть А - m X п-матрица псевдоранга п,а b — некоторый m иекюр. Если машинная арифметика имеет относительную точность г?, ах- решение задачи Ах ^ Ь, вычисленное посредством алгоритмов HFT (см. 11.4) и HS1 (см. 11.10) или HFTI (см. 14.9), то х является точным решением задачи Доказательство. Математически процесс можно описать фор¬ мулами Заменяя А в (15.39) и (15.40) матрицей [А : Ь] из (16.5), заключаем, что существуют ортогональная_матрица Qy матрица G и вектор / такие, что вычисленные величины R, с и d удовлетворяют равенству Вместо (16.6), машина определяет х из системы Rx = c. Согласно (15.45) и (15.46), вычисленное решение х будет точно удовлетворять (Л+£)х=&+/, (16.2) где iEliF<(6m — 3/1 +41)/7Т7 IIA llF + О (г?2), II/К (6т - Зп + 40) п т? II Ь\\ + 0(г)2). (16.3) (16.4) (16.5) Rx = c. (16.6) (16.7) где I GllF < (6т - Зп + 40) пг\ IIA llF + 0(г}2), 1/11 <(6т - Зп + 40) /7г? II/И1 + 0(т?2). (16.8) (16.9) 69
равенству (R + S) x =c , причем IISIIF< nr\ ИЛ llF + 0(т?2) = лт? + 0(t?2). (16.10) Чтобы связать вычисленный вектор jc с исходной задачей наименьших квадратов, определим окаймленную матрицу R+S с 1 Умножая ее слева на матрицу QT (Q — ортогональная матрица из (16.7)), получим Тогда х будет решением задачи (16.2). Из неравенства й£11< BGII+ 151 и формул (16.8), (16.10) вытекают оценки (16.3) и (16.4). Это заверша¬ ет доказательство теоремы 16.1. Теорема 16.И (квадратная невырожденная задача). Пусть А - л X п-матрица псевдоранга л, а Ъ — некоторый п-вектор. Если машинная арифметика имеет относительную точность %ах— решение задачи Ах = bt вычисленное посредством алгоритмов HFT (см. 11.4) и HS1 (см. 11.10) или HFTI (см. 14.9), то х является точным решением задачи Эта теорема - просто специальный случай теоремы 16.1, так что оценки (16.13) и (16.14) получаются при л = т из оценок (16.3) и (16.4). Мы сформулировали теорему 16.11 как отдельное утверждение, поскольку квадратный невырожденный случай часто представляет самостоятельный интерес. Поучительно сравнить теорему 16.11 с аналогичной теоремой о погреш¬ ностях для гауссова исключения с выбором главного элемента [И]. В по¬ следнем случае выполняется неравенство Здесь символ II •!!„ обозначает норму (максимальную строчную сумму), определяемую для произвольной m X л-матрицы В формулой О d Положим (А +£) х =b+f, (16.12) где H£llF< (3п2 + 41 л) 17 11,411^ + <2(т?2), И/1К(Зи2 +40л) г? IIЬII + О(т72). (16.13) (16.14) ll£,lloe< 1,01 (л3 + Зл2) IUIL т?р„. (16.15) п II ЯН*, = max{ Ъ \Ьц\ \ 1 < /< т). / = 1 70
Величина рл является мерой относительного роста элементов в ходе гаус¬ сова исключения [11]. Если производится частичный выбор главного элемента, то имеет место оценка Обычные реализации гауссова исключения опираются на стратегию частич¬ ного выбора. Поэтому оценка (16.15) для нормы матрицы Е растет экспо¬ ненциально с ростом п. При использовании алгоритмов Хаусхолдера, например алгоритма HFT1 (см, 14.9), ситуация значительно более удовлетворительная и надежная. В этом случае в оценке (16.13) вообще нет коэффициента роста р„. В [7] также отмечается этот факт, но указывается на то, что в алгоритме Хаусхол¬ дера требуется примерно вдвое больше операций, чем в гауссовом исклю¬ чении с частичным выбором. Кроме того, величину р„ легко вычислить в гауссовом алгоритме, и, согласно утверждению Уилкинсона, на практике она редко превышает 4, 8 или 16. Аналогичные замечания справедливы в отношении теоремы 17.15, где в некоторых узлах алгоритма Хаусхол¬ дера используется повышенная точность. В теоремах 16.1 и 16.11 было показано, что вычисленное решение явля¬ ется точным решением возмущенной задачи. В отличие от этого теоре¬ мы 16.18 и 16.36 утверждают, что вычисленное решение близко к нормаль¬ ному решению возмущенной задачи. Эта более сложная формулировка связана с тем, что теоремы 16.18 и 16.36 относятся к задачам, решения которых были бы неединственны без требования минимальности длины. Теорема 16.18 {нормальное решение недоопределенной задачи полного ранга). Пусть А — тХ п-матрица псевдоранга ту а Ъ — некоторый m-вектор. Если машинная арифметика имеет относительную точность 77, а х - решение задачи Ах = Ь, вычисленное посредством алгоритмов НВТ (см. 13.8) и HS2 (см. 13.9), то х близко к точному решению возмущенной задачи в следующем смысле: существуют матрица Е и вектор х такие, Доказательство. Краткая математическая формулировка алго¬ ритма гл. 13 такова: (16.16) Если используется полный выбор главного элемента, то р„< l,8n(k*")/4. (16.17) Л что х есть нормальное решение задачи (А + Е) х = Ь, (16.19) причем |£1/г< (6л - 3m +41 )mrj IIA llF + 0(т?2), I3F —5ll< (6п — 3m +40)тт? Их II +0(rj2). (16.20) (16.21) А AQ= [R : 0], Ry = b, (16.22) (16.23) (16.24) 71
Вместо (16.22) вычисленная нижняя треугольная матрица R будет удовлетворять соотношению (А + G) Q= [R :0], (16.25) где Q ортогональная и, согласно (15.40), II G llF < (6п — 3 т + 40) т r\ IIA llF + О (т?2 ). (16.26) Далее из (15.45) и (15.46) следует, что вместо (16.23) вычисленный вектор у будет точным решением системы (R + S) у = bt (16.27) причем II5II < тц IIЛ llF + <? (т?2) = m 17 \\А llF + О (г?1). (16.28) Вместо (16.24) вычисленный вектор х определяется формулой x = Q , (16.29) в которой, согласно (15.41) - (15.43), II h IK (6 п — 3 т + 40) mr\ II j7ll + О (г?2). (16.30) Ортогональная матрица Q в (16.29) та же, что и в (16.25), как указано в замечаниях, сопровождающих формулы (15.41) - (15.43). Переписывая (16.27) в виде [Д + S :0] |"^ j = *. (16.31) затем в виде [R +S : 0] QTQ М =6 (16.32) I о I и, наконец, используя (16.25) и (16.29), получаем {A+G+[S:0]QT)(x-Qh)=b. (16.33) Положим Е = G + [5 : 0] QT, (16.34) PI х = х -Qh = Q I Q I * (16.35) Исходя из неравенств (15.47), можно предполагать матрицу H + S в (16.32) невырожденной. Поэтому пространство строк матрицы А+Е = = [R + S : 0] QT совпадает с оболочкой первых т столбцов матрицы Q. Согласно (16.33)-(16.35), х удовлетворяет уравнению (16.19); в то же время (16.35) показывает, что д: принадлежит оболочке первых т столб¬ цов Q. Тем самым х является единственным нормальным решением (16.19). 72
Для матрицы Е и вектора * — * справедливы оценки mF< igif + »suf< < (6п — 3т +41 )тг) IIАIIF + 0(т?2), I* — * I = 1Л1< (6п — 3m +40)тт} IIу II +0(т?г) = = (6п — Зш + 40)mi] II* II + 0(т?2), которые совпадают соответственно с (16.20) и (16.21). Теорема 16.18 доказана. Теорема 16.36 (задача НК неполного ранга). Пусть А - шХ п-матри¬ ца, Ъ - m-вектор. Пусть машинная арифметика имеет относительную точ¬ ность у и х - решение задачи Ах^Ъ, вычисленное посредством алгорит¬ ма HFTI (см. 14.9). Пусть к — значение псевдоранга, определенное алго¬ ритмом, а Л 22— вычисленная матрица, соответствующая матрице R22 из (14.1). Тогда х близко к точному решению возмущенной задачи в сле¬ дующем смысле: существуют матрица Е и векторы f их такие, что х яв¬ ляется нормальным псевдорешением задачи (A+E)x~b+f, (16.37) Доказательство. Математическое описание алгоритма дано формулами (14.1) —(14.6). Напомним, что матрица Q в (14.1) является произведением п преобразовании Хаусхолдера: Q-Qn - Q\> Заметим, что матрицы Rn и Rп из (14.1) и вектор сх из (14.2) полностью опре¬ деляются первыми к из этих преобразований. Пусть причем l£*lF < й/?22 И/г + (6т + 6п — 6к - З/и + 84) цг) II A IIF + О (гf2), ji = min(m, л), 1/1 < (6m - 3 к + 40) kr\ И ЪII + О (г?2), I* -*D< (6 п - 6 к + 43) кт} II* II + О (if). (16.38) (16.39) (16.40) Q = Qk • • Q\• Тогда (16.41) (16.42) (16.43) причем \\S\\F= II r22 iif, \\d\\= \\c2 II. (16.44) (16.45) 73
Вместо (16.42) вычисленные матрицы ЛП,Л12, S удовлетворяют соот¬ ношению Г R и R121 Q(A+G)P=\ _ . (16.46) L° 5 J А Согласно результатам гл. 15, Q — точно ортогональная матрица и IIGIIf<( 2 am+i_,) Il/IHF+0(IJ2). (16.47) HR22 II/г 2 otm +i _/) Hi4 \\p + 0(tj2). l-k + 1 Величина ay определяется формулой (15.37); ц = тт(m, ri), как и в гл. 14, аЛ22 обозначает вычисленную матрицу, соответствующую R22 в (14.1). Из (16.46) можно вывести формулу Г*И ^12~| '[о о J- Q(A+H)P=\_ |, (16.48) ГДе м 11ЯИК< ISHF + HG#f< #/?22IIf+( £ <*m+i-/) IUIIF+0(i?2)< < I llF + (6m - 3/i + 40) nn U iF +0(v2). (16.49) Вместо (14.3) вычисленная матрица W удовлетворяет равенству {[Rn :Ra] +М}К= [W:0], (16.50) Л где К — ортогональная матрица. Оценка для llAfllF несколько отличается от оценки (15.40). Дело в том, что каждое из к преобразований Хаусхолдера, чье произведение обра¬ зует матрицу К, отличается от единичной матрицы только п — к + 1 столб¬ цами. Поэтому 1М1р< a„_fc+1*Tjll[/?u :*12]llF+0(i?J) = = (6л - 6к +43)Jfcij lAlp+Otf), (16.51) где ctj определены формулой (15.37). _ Вместо (16.43) вычисленные векторы ct и d удовлетворяют соотно¬ шению б(&+/НУ1. <16-52> где ‘Q — та же матрица, что и в (16.46), а 11/11 <(6т — ЗА: + 40)кг\ Ш + 0(т?2); (16.53) это и есть оценка (16.39) теоремы 16.36. 74
Что касается (14.4), то вычисленный вектора Y будет решением системы {W + Z)yx=cx (16.54) с невырожденной матрицей W + Z; при этом lZlF< krt IWlf+0(t?2)< krj \\A\\f + 0(t?2). (16.55) В (14.5) мы рассмотрим только случай у2 =0. Вместо (14.6) вычис¬ ленный вектор х удовлетворяет равенству где 1АК(6п-6*+43)И 17, НО(т?2). (16.57) Оценка (16.57) выводится таким же образом, как и (16.51). Положим Тогда из (16.56) — (16.58) следует 13с -xll< (6п — вк + 43) ki7 IIЗс II + 0(rj2)y (16.59) т.е. оценка (16.40). Аналогично доказательству теоремы 16.18 из (16.54), (16.58) выводит¬ ся, что х есть нормальное решение задачи [W + Z:0] ктртх = с1. (16.60) Согласно (16.50) [»P+Z:0] Кт= [Л„ :Л12] + X, (16.61) где Х=М + [Z : 0] Кт; (16.62) при этом из (16.51) и (16.55) следует IXIF< llAflF + llZllF<(6n -6k + 44)kr} IIA llF + 0(t]2). (16.63) Подставляя (16.61) в (16.60) и окаймляя систему дополнительными л строками, видим, что х является нормальным псевдорешением задачи (16.64) Умножая (16.64) слева на QT и используя (16.46), заключаем, что х есть нормальное псевдорешение задачи (16.37), где ~h*q\Xq\pt. (16.65) 75
Следовательно, ИЕIIF < \\H\\F + \\X\\F. (16.66) Из (16.49) и (16.63), где к для простоты заменено числом ц(\х> к), по¬ лучаем окончательное выражение \\E\\f< II Я22 llF + + (6т + 6/?-6& — Зд + 84) дт? IIA IIF + 0(т?2). (16.67) Вместе с (16.53) и (16.59) оно доказывает теорему 16.36. ГЛАВА 17 АНАЛИЗ ПОГРЕШНОСТЕЙ ОКРУГЛЕНИЙ ДЛЯ ЗАДАЧИ НК В АРИФМЕТИКЕ СО СМЕШАННОЙ ТОЧНОСТЬЮ В анализе погрешностей округлений мы предполагали до сих пор, что вся арифметика выполняется с одной и той же точностью, характеризуе¬ мой параметром г). Если в данной вычислительной машине эффективно реализована арифметика повышенной точности (характеризуемая пара¬ метром cj, со< т?) и имеются эффективные машинные команды для пе¬ ревода чисел из одной разрядности в другую, то можно использовать эту повышенную точность в отдельных узлах численного процесса. Это позво¬ ляет улучшить точность результатов с очень малыми издержками по вре¬ мени и, по существу, без дополнительных требований к памяти. Если не решено перейти полностью с т?-точности на оо-точность, то обыч¬ но использование арифметики с со-точностью ограничивают теми частями алгоритма, где требуется лишь небольшое фиксированное (т.е. не зави¬ сящее от размерностей задачи тип) число ячеек с со-раз рядностью. Уилкинсон провел подробный анализ погрешностей округлений для алгоритмов линейной алгебры в случае конкретного варианта арифмети¬ ки со смешанной точностью, а именно оо = т?2 (см. [7]). Мы воспользуем¬ ся сходными методами, чтобы вывести для алгоритмов, уже проанализи¬ рованных в предыдущей главе, оценки в той же специальной арифметике со смешанной точностью. При вычислении преобразования Хаусхолдера мы модифицируем про¬ цесс (15.13)-(15.19) следующим образом, Вычисления по формуле (15.14) будут выполняться в арифметике с со-точностью, а конечный результат будет представлен так, что Т - число ^-разрядности. Выражения для по¬ грешностей в (15.20) —(15.25) примут вид 7 = г(1 +т), \т\<т)+0(т}2), (17.1) Т = s(l + о), |о|< 5т}/2 + 0(rj2), (17.2) Ц~, = U 1 (1 +К ), \к\< 7t?/2+0(т?г), (17.3) Ъ=Ь{ 1 +0), |0| < 7т> + 0(п2), (17.4) IQ-QIF< 28tj + 0(т}г). (17.5) 74
Вместо (15.27) матрица В = П[С + й(йтС)Ь~Ч (17.6) будет вычислена в арифметике с со-точностью, а затем ее элементы будут переведены в форму с 17-точностью. Поэтому оценки погрешностей (15.29) и (15.30) заменятся соответственно на lfflF< 1CHf7? + 0(t72) (17.7) и (с учетом (17.5)) на 1iB-BlF< 29 IICllF7? + 0(T72). (17.8) Теперь оценка (15.40) для погрешности, соответствующей умножению на к преобразований Хаусхолдера, превращается в \Ик iF< 29 к ИЛ !!fi7 + 0(т?2). (17.9) Наконец, при решении треугольной системы (15.44) тоже можно было бы использовать арифметику с со-точностью. В этом случае вместо оценки (15.46) мы имели бы Шг< ll*llFi7 + <9(r?2). (17.10) Оценка (15.46) уже и так' мала по сравнению с оценками погрешностей для других этапов полного решения задачи НК. Следовательно, при исполь¬ зовании со-точности в решении (15.44) уменьшение оценки для общей погрешности процесса будет очень незначительно. По этой причине мы предполагаем, что система (15.44) решается в 17-точности, а не в со-точ¬ ности. Для версий наших алгоритмов, использующих смешанную арифметику, теоремы 16.1, 16.11, 16.18 и 16.36 заменятся соответственно теорема¬ ми 17.11, 17.15, 17.19 и 17.23. Доказательства опущены, поскольку они мало чем отличаются от соответствующих доказательств гл. 16. Теорема 17.11 (переопределенная задача наименьших квадратов полного ранга). Пусть А — m X п-матрица псевдоранга п,а Ъ — некоторый m-вектор. Пусть используется арифметика со смешанной точностью, харак¬ теризуемая параметрами 17 и со< тf, и пусть х — решение задачи Ах = Ь, вычисленное посредством алгоритмов HFT (см. 11.4) и HS1 (см. 11.10) или HFTI (см. 14.9). Тогда х является точным решением задачи (A+E)x=z b+f, (17.12) где l£JF< 30п IUIIft?+0(t?2), (17.13) 1/И< 29л IIЬIIт? + О(172). (17.14) Теорема 17.15 (квадратная невырожденная задача). Цусть А — пХ п-матрица псевдоранга п,а b - некоторый п-вектор. Пусть исполь¬ зуется арифметика со смешанной точностью, характеризуемая парамет¬ рами 17 и со< Т72, и пусть х — решение задачи Ах = Ь, вычисленное по¬ средством алгоритмов HFT (см. 11.4) и HS1 (см. 11.10) или HFTI (см. 14.9). Тогда х является точным решением задачи (А + £) х = Ь+/, (17.16) 77
где II£'IIf< 30л ИЛ IIftj + 0(i72), (17.17) II/К 29п I! Z? II т? + 0(г\2). (17.18) Теорема 17.19 (нормальное решение недоопределенной задачи полного ранга). Пусть А — шХ п-матрица псевдоранга т, а Ъ — некоторый m-вектор. Пусть используется арифметика со смешанной точностью, харак¬ теризуемая параметрами г? и со< г?2, м пусть х — решение задачи Ах-Ь, вычисленное посредством алгоритмов НВТ (см. 13.8) и HS2 (см. 13.9). Тогда х близко к точному решению возмущенной задачи в следующем смысле: существуют матрица Е и вектор х такие, что х является нор¬ мальным решением задачи (А+Е)х = Ъ, (17.20) причем \\Е\\Р< 30m \\A\\ftj+0(т?2), (17.21) \\х -х IK 29ш 1дЛт/ + 0(т?2). (17.22) T е о р е м а 17.23 (задача НК неполного ранга). Пусть А - m X п-мат¬ рица, Ъ — m-вектор. Пусть используется арифметика со смешанной точ¬ ностью, характеризуемая параметрами rj и со < г?2, и пусть х — решение задачи Ах^Ь, вычисленное посредством алгоритма HFTI (см. 14.9). Пусть к - значение псевдоранга, определенное алгоритмом, а Я2г - вы¬ численная матрица, соответствующая матрице R22 из (14.1). Тогда х близко к точному решению возмущенной задачи в следующем смысле: г, . А Л существуют матрица Е и векторы fих такие, что х является нормаль¬ ным псевдорешением задачи (A +E)x^b+f, (17.24) причем \\E\\f < ИД22 \\F +59А: \\А\\Р + 0(т?2), (17.25) 11/11 < 29* Шт? + 0(7?2), (17.26) IIЗс -х II < 29* II* II ту + 0(rj2). (17.27) Другого типа анализ погрешностей округлений для того же алгоритма - последовательности преобразований Хаусхолдера в применении к задаче АтХпх— Ъ,т> л, rank Л - п — был выполнен в работах [146, 147]. Этот анализ был мотивирован рассмотрением задач наименьших квадратов с сильно различающимися весами. Такие задачи являются средством реше¬ ния задачи НК с ограничениями-равенствами и в этом качестве исследу¬ ются в гл. 22. В гл. 22 мы рассмотрим задачу наименьших квадратов с таким свойст¬ вом: все элементы некоторых строк исходной матрицы [А : Ь] очень малы по величине сравнительно с элементами других строк; тем не менее от¬ носительная точность этих малых элементов существенна для задачи. По¬ следнее означает, что возмущения этих элементов, значительные по отно¬ шению к их величинам, приводят к большим изменениям решения. 78
Ясно, что теорема 17.11 не гарантирует, что алгоритм Хаусхолдера даст удовлетворительное решение такой задачи; ведь неравенства (17.13) и (17.14) допускают возмущения всех элементе^ которые, хотя и ’’малы” сравнительно с наибольшими элементами в А и b соответственно, могут быть велики по отношению к малым элементам. И действительно, Пауэлл и Рид обнаружили экспериментально, что результаты, получаемые алгоритмом Хаусхолдера (таким например, как алгоритм HFTI (см. 14.9)) для задач с сильно различающимися весами, критически зависят от упорядочения строк матрицы [А : Ь]. Они замети¬ ли, что если в качестве ведущей берется строка из малых элементов, а некоторые последующие строки имеют большие элементы в ведущем столбце, то в (10.7) величина vp будет мала сравнительно с s. В предель¬ ном случае, когда |up|/|s| < 77, величина vp вовсе не дает вклада в ир. Кроме того, в подобных случаях p-я компонента вектора Cj в (10.21) может оказаться очень малой относительно р-Pi компоненты вектора tjii и не даст вклада в вектор су. Таким образом, если элементы ведущей строки очень малы в сравнении с элементами некоторых последующих строк, то эффект, по существу, будет тот же, как если бы мы заменили коэффициенты ведущей строки нулями. Если решение чувствительно к подобной потере информации, то описанной ситуации следует по возмож¬ ности избегать. Пауэлл и Рид получили удовлетворительные результаты для таких задач, когда дополнили алгоритм стратегией перестановок строк; она будет описана перед формулировкой теоремы 17.37. Ниже будут сформулированы три теоремы [146], которые позволяют понять поведение алгоритма Хаусхолдера для задач с сильно различаю¬ щимися весами. Будет удобно считать, что столбцы А упорядочены заранее, так что при выполнении алгоритма HFTI перестановок столбцов не происходит. Положим [A W : Ъ ] = [А : Ь], и пусть [Л :б(,+ 1>] обозначает вычисленный результат применения /-го преобразования Хаусхолдера к матрице [А^ : Ъ ], / = 1,..., п. Введем обозначение 7, = max la}/0!, (17.28) j, к ' где - элемент (/, /) матрицы А ***. Пусть — точная ортогональная матрица Хаусхолдера, определяемая условием, чтобы элемеэты в позициях (/,*),/ = к + 1, . .. , т, матрич¬ ного произведения Q W A W были нулями. Теорема 17.29 [146]. Пусть А — m X п-матрица псевдоранга п. Пусть используется арифметика со смешанной точностью, характеризуемая параметрами rj и а>< т?2, и пусть А приведена к верхней треугольной mXn-матрице A (w+1) посредством алгоритма HFTI (см. 14.9). Тогда J("+D =G(") .. Q^iA +£), (17.30) причем элементы ец матрицы Еудовлетворяют оценкам к,у|<(20л2 - 17м + 44)7,- т? + О(т/2). (17.31) 79
Чтобы сформулировать теорему 17.32, нам потребуются дополнитель¬ ные определения, учитывающие то обстоятельство, что правая часть b не может участвовать в перестановках столбцов: ju, = max |2>/к)|, к т т i = к / = к / М/ »к \ р = rr^xl max , max I. \ i 7i к ok J Отметим, что из наших предположений об априорном упорядочении столбцов А следует т ак= max (2 [^Л)]2)1/2, к < j < п i = к ' Теорема 17.32 [146]. Пусть А - тХ п-матрица псевдоранга п, а Ъ - некоторый m-вектор. Пусть используется арифметика со смешанной точ¬ ностью, характеризуемая параметрами rj и о>< 172, и пусть х - решение задачи Ах ^ Ь, вычисленное посредством алгоритма HFTI (см. 14.9). Тогда х является решением задачи (A+E)x~b+f, (17.33) причем выполняются следующие оценки для элементов etj матрицы Е и элементов вектора /: к,7|<(20л2 - 15/7 +44)7,т/ + 0(т?2), (17.34) |/,-|<(20л2 +20w+44)p7-T7+ 0(i72). (17.35) Используя неравенство |е,у | < II £ Ир, из (17.13) можно вывести \еи\< 30/7 IIA llF77 + 0(т?2). (17.36) Сравнивая неравенства (17.34) и (17.36), видим, что оценка (17.34) будет наиболее полезна в тех случаях, когда 7; существенно меньше, чем lUllp. Аналогичные замечания справедливы в отношении оценок (17.14) и (17.35). Напомним, что обозначает величину наибольшего элемента в /-х строках всех матриц А^1\ . . ., А . Поэтому, чтобы 7,- была мала (относительно ЫИ/г), нужно, чтобы были малы элементы в i-й строке исходной матрицы А ^ -А и чтобы элементы i-x строк последующих матриц А *** не возрастали сколько-нибудь значительно. Пауэлл и Рид привели пример, показывающий, что если не наклады¬ вать ограничений на упорядочение строк А, то рост поначалу малых эле¬ ментов в некоторых строках может быть очень большим. Они рекомен¬ дуют следующую стратегию перестановок строк. Предположим, что перед выполнением к-го преобразования Хаусхолдера ведущий столбец выбран и переведен в к-й столбец хранящего массива. Определим строчный ин¬ декс / такой, что |д/Л| = тах{|дЛ|: к< i< m). 80
Переставим строки / и к, Теперь к-е преобразование Хаусхолдера стро¬ ится и применяется обычным образом. Этот процесс выполняется для Теорема 17.37 [146]. Если используется только что описанная стратегия перестановок столбцов и строк, то величины yif определенные в (17.28) # удовлетворяют оценке для 1 < / < т. Пауэлл и Рид сообщают, что, применяя эту комбинированную страте¬ гию перестановок столбцов и строк, они получили удовлетворительные решения для некоторых задач с сильно различающимися весами. Для тех же задач результаты были неудовлетворительны, когда допускалось ис¬ пользование строк с малыми элементами в качестве ведущих строк. ГЛАВА 18 ВЫЧИСЛЕНИЕ СИНГУЛЯРНОГО РАЗЛОЖЕНИЯ И РЕШЕНИЕ ЗАДАЧИ НК § 1. Введение Сингулярное разложение матрицы было темой основополагающей ра¬ боты [73]. В этой работе содержалась библиография, относящаяся к при¬ ложениям и алгоритмам, и была начата разработка нового метода, закон¬ ченная в основном публикацией [34]. В книге [8] помещена усовершенст¬ вованная версия этого метода. Она представляет собой специальную адап¬ тацию (Ж-алгоритма [59] для вычисления собственных значений и собст¬ венных векторов симметричной матрицы. В этой главе будут описаны QR-алгоритм для симметричных матриц и (несколько модифицированный) алгоритм Голуба и Райнша для вычис¬ ления сингулярного разложения Будет разобран также вопрос об использовании сингулярного разложения для анализа и решения задачи НК. Чтобы не менять обозначений, а также потому, что применение сингуляр¬ ного анализа в этом случае наиболее вероятно, мы предполагаем на протя¬ жении всей главы, что т> п. Случай т< п можно свести к предыдущему, приписывая п - т нулевых строк к матрице А или в случае задачи НК к расширенной матрице коэффициентов [А : Ь). Машинная программа может выполнять окаймление нулями неявно, так что не потребуется реального хранения нулевых строк или арифметических операций с нулевыми эле¬ ментами. ?,<(! +21/Jy-1m1/2max|a</)| 6.4. Лоусон 81
§ 2. QR-алгоритм для симметричных матриц QR-алгоритм Фрэнсиса *) для случая симметричных матриц и при усло¬ вии использования сдвигов является одним из самых успешных методов во всем численном анализе. Имеется ясное представление о его свойствах и скорости сходимости. В этом параграфе мы опишем алгоритм и заложим основы для доказательства его сходимости. Вначале симметричную п X л-матрицу А можно преобразовать к трех¬ диагональному виду посредством ортогональных преобразований подобия: п — 2 преобразований Хаусхолдера или (п — 1) (я - 2)/2 преобразований Гивенса. Поэтому без потери общности мы можем считать, что симметрич¬ ная матрица, для которой нужно вычислить собственные значения, трех¬ диагональная. QR-алгоритм со сдвигами для вычисления спектрального разложения симметричной трехдиагональной п X п-матрицы А можно описать фор¬ мулами где для к = 1,2,... a) Qk - ортогональная матрица; b)/?*. - верхняя треугольная матрица; c) ок - к-й сдвиг. Прежде чем описать метод вычисления сдвигов а*, мы введем обозна¬ чения для элементов матриц^. Можно проверить (см. упражнение 18.46), что для трехдиагональной матрицы А \ все матрицы Ак, к = 2, 3,..., также будут трехдиагональными. В этой главе и в приложении В мы будем обо¬ значать диагональные элементы каждой трехдиагональной матрицы А* (к) t через а{ , i = 1,.. ., п, а наддиагональные и подциатональные элементы , (Ас) . _ _ через b{ , I = 2, .. ., п. Теперь мы можем определить сдвиг а* следую¬ щим образом. Каждый сдвиг ок есть то собственное значение нижней угловой 2 X 2-под¬ матрицы матрицы Ак так что все матрицы Ак имеют одни и те же собственные значения. Обозна¬ чим их через \i,..., Хп. *) ДО-алгоритм был изобретен советским алгебраистом В.Н. Кублановской неза¬ висимо от Фрэнсиса и одновременно с ним. {Примеч. пер.) Ах =А, Qk (Лк - °kIn)=Rk> Т RkQk + °kln =Ак+1, (18.1) (18.2) (18.3) (18.4) которое находится ближе к ап . Из (18.1) —(18.3) следует ■^Jc + l = QkAkQk , •2
(к) Если для некоторого к среди элементов bs есть нулевые, то матри¬ ца Ак разлагается в прямую сумму подматриц, в каждой из которых все наддиагональные и поддиагональные элементы отличны от нуля. Поэтому » (*) нам достаточно рассмотреть задачу, в которой все Ь( ненулевые. Далее, согласно лемме В.1 приложения В, из того, что все поддиагональ¬ ные элементы не равны нулю, вытекает, что все собственные значения простые. Таким образом, мы можем ограничиться вычислением спектраль¬ ного разложения для симметричных трехдиагональных матриц с простыми собственными значениями. Сходимость (Ж-алгоритма устанавливается следующей теоремой [194,195]. Теорема 18.5 (глобальная квадратичная сходимость QR-алгоритма со сдвигами). Пусть А = Ах - симметричная трехдиагональная л X л-матри¬ ца с ненулевыми поддиагональными элементами. Пусть Ак матрицы, ор¬ тогонально подобные матрице А, которые генерируются QR-аагоритмом со сдвигами в соответствии с формулами (18.1) -(18.3) и (18.4). Тогда a) каждая матрица Ak трехдиагональная и симметричная; b) элемент Ь*** матрицы Аку стоящий на пересечении п-й строки и п - 1 '•го столбца, стремится к нулю при к c) сходимость Ь^ к нулю асимптотически квадратичная, т.е. сущест¬ вует € > 0, зависящее от А и такое, что для всех к |*f + 1)| <€\bik)\2. Доказательство этой теоремы дано в приложении В. На практике сходимость алгоритма обычно бывает кубической. Однако квадратичная сходимость — это лучшее, что удается доказать. Другие заме¬ чания по этому поводу читатель найдет в приложении В. § 3. Вычисление сингулярного разложения Рассмотрим теперь построение сингулярного разложения m X л-матрицы А в предположении, что т> п. Замечания по поводу случая т< п см. в § 1. Сингулярное разложение будет вычислено в два этапа. На первом этапе А \В1 преобразуется к верхней двухдиагональной матрице J посредством последовательности (не более чем из 2л — 1) преобразований Хаусхолдера [о ] = Qn (• • • ША)Н2)... Я„) = QTAH, где (18.6) Яг еъ Qn-1 еп Яп (18.7) б* 63
Трансформирующая матрица Qt выбирается так, чтобы аннулировать элементы / + 1, . . ., т столбца i; матрица Я/ - так, чтобы аннулировать элементы z + 1,. . . , л строки / - 1. Заметим, что Нп — это попросту единичная матрица. Она включена в (18.6), чтобы упростить обозначения; Qn также будет единичной матрицей при т = л, но при т > п она, вообще говоря, отличается от единичной. Второй этап процесса состоит в применении специальным образом адап¬ тированного QR-алгоритма к вычислению * сингулярного разложения матрицы В здесь U и V - ортогональные матрицы, a S диагональная. Из (18.8) можно получить сингулярное разложение Л: Обсудим теперь вычисление разложения (18.8). Заметим прежде всего* что если какой-либо элемент е\ равен нулю, то матрица В распадается на блоки, которые можно обрабатывать независимо друг от друга. Ниже мы покажем, что если какой-либо элемент qt равен нулю, то применение неко¬ торых преобразований также позволяет привести матрицу В к распадаю¬ щемуся виду. Предположим, что q* = 0, но q}-Ф 0 и е■ Ф 0 для у - к + 1,. .., л. Умно¬ жая В слева на л - к вращений Гивенса 7}, получим причем е'} Ф 0, / = к + 2, . . . , л, и qj Ф 0, / = к + 1,. .. , л. Вращение 7} конструируется так, чтобы аннулировать элемент, стоящий на пересечении строки к и столбца jj = к + 1, . .. , л; оно применяется к строкам к и /, у = к + 1,.. . , л. Матрица В# в (18.10) имеет вид Прежде чем продолжить обсуждение Bf2i заметим, что В\ имеет хотя бы одно нулевое сингулярное число, поскольку ее нижний угловой элемент (в позиции (к, £)) равен нулю. 84 B = USVT- (18.8) А А (18.9) Я \ег Тп...Тк+1В=В’ = Як-\ек (18.10) 0 0 / t Чк+\ек+7 я'п-1е’п ч'п где в В’2 все диагональные и наддиагональные элементы отличны от нуля.
Когда позднее алгоритм возвращается к обработке матрицы В\, этот факт можно использовать, чтобы исключить ек посредством следующей последовательности’ вращений: В*[ = B\Rk_x .. .Ri. Здесь Rj оперирует со столбцами / и к и аннулирует элемент в позиции (/, к). При / > 1 такое вращение создает ненулевой элемент в позиции (/ - 1 ,к). Вернемся к рассмотрению матрицы В\. Будет удобно использовать прежний символ В для обозначения этой двухдиагональной матрицы с не* нулевыми диагональными и наддиагональными элементами. Символ п, как и раньше, обозначает порядок В. Сингулярное разложение (18.8) матрицы В будет получено посредством следующего итерационного процесса: В i =В, Вк+{ = BkVk, к = 1,2,... Здесь Щ и Vk - ортогональные матрицы, а Вк — верхняя двухдиагональ¬ ная матрица для всех к. Матрицы Uk п Vк выбираются таким образом, что существует и диагональна матрица S = lim Вк. к 00 Заметим, что диагональные элементы матрицы 5, полученной непосред¬ ственно из этой итерационной процедуры, не являются в общем случае ни положительными, ни упорядоченными. Эти свойства обеспечиваются специальной последующей обработкой. Сама итерационная процедура представляет собой QR-алгоритм Фрэнси¬ са, адаптированный Голубом и Райншем к задаче вычисления сингулярных чисел. Шаг алгоритма устроен следующим образом. Исходя из Вк, алгоритм определяет собственные значения Xj и Х2 нижней угловой 2 X 2-подматри- т цы матрицы ВкВ^ \ в качестве сдвига ак берется то X,-, которое ближе к т значению последнего диагонального элемента матрицы ВкВк. Строится ортогональная матрица Vк так, чтобы произведение V?(B?Bk - akIn) (18.11) было верхней треугольной матрицей. Строится ортогональная матрица Uk так, чтобы произведение Bk + l =U*BkVk (18.12) было верхней двухдиагональной матрицей. Численная реализация процесса отличается от прямолинейного исполь- т эования этих формул. В частности, матрица ВкВк не формируется, и сдвиг ок выполняется неявным образом. Чтобы упростить обозначения, опустим верхние индексы, указывающие номер итерации к. В обозначениях формулы (18.7) нижняя угловая 2 X 2-подматрица матрицы ВтВ выглядит так: Ч2„-i+ej-i enqn_x e„qn_l q2„+e2n Ее характеристическое уравнение имеет вид fan-1 +el-i -*)(<7п +е1 -Ь)-(епЯп-1>2 =0. (18.13) 85
Поскольку нам нужен корень уравнения (18.13), ближайший к + е2, то удобно сделать подстановку 5=</2+е2 -X. (18.14) Для 5 получаем s2 -Ягя +el_t-e*)8-(e„qn_l)2 = 0. (18.15) /- , (18.16) Решение уравнения (18.IS) упростится, если положить ?я-1 4 2епЯп-1 7=_i_. (18.17) епЯя-\ Тогда у удовлетворяет уравнению 72-2/т-1=0. (18.18) Его корень 7 с меньшим модулем выражается формулой 7=1 It, (18.19) где f [-/-(1 +/2),/2Ь f>о, t= , .I, (I8-20) 1[-/+(1+/2)1/2], /<о. Теперь из (18.14) и (18.17) находим, что корнем уравнения (18.13), бли¬ жайшим к q* + е2, является * = - УепЯ„-1 =Я2„+еп(еп (18.21) а сдвиг определяется как о = X. (18.22) Далее нужно построить К таким образом, чтобы матрица VT(BTB - al) была верхней треугольной (см. (18.11)). Заметим, что трехдиагональная форма ВТВ обеспечивает трехдиагональный вид матриц VT(BTB - ol)V и VT(BTB)V. Имеется частичное обращение этих утверждений, которое приводит к алгоритму, реально используемому для вычисления К. Теорема 18.23 (перефразированный вариант теоремы из [59]). Пусть ВТВ - трехдиагональная матрица с ненулевыми поддиагональными элементами, V - ортогональная матрица, а - произвольный скаляр и, кроме того, матрица VT(BTB)V (18.24) трехдиагональная\ поддиагональные элементы первого столбца матрицы VT(BTB-aI) (18.25) равны нулю. В таком случае матрица VT(BTB - а/) верхняя треугольная. 86
Исходя из этой теоремы, матрицы V и U в (18.11) и (18.12) будут вы¬ числяться как произведения вращений Гивенса V = RX ...Ял__ь (18.26) ит = Тп_1...Т1. (18.27) Здесь Л/ оперирует со столбцами i и / + 1, а 7} - со строками / и / + 1 матрицы В. Первое вращение R i определяется так, чтобы удовлетворить условие (18.25) теоремы 18.23. Остальные вращения Я,- и 7/ выбираются так, что¬ бы удовлетворить условие (18.24) и не нарушить условие (18.25). Заметим, что как раз использованием матриц Т{ этот алгоритм отли¬ чается от стандартного неявного QR-алгоритма для симметричных матриц (см. алгоритм Мартина и Уилкинсона в книге [8]) . В случае симметричной задачи имеется трехдиагональная симметричная матрица, скажем У, и нужно построить матрицу Y=VTYV. (18.28) т В описываемом же алгоритме Y находится в факторизованной форме В В, где В - двухдиагональная матрица. Матрицу Y также нужно построить в факторизованной форме: Y = В7В. Следовательно, В должна быть матрицей вида В = UTBV, где V — та же ортогональная матрица, что и в (18.28), и U- также ортогональная матрица. Переходя теперь к вычислению вращений Rt и Г,- из формул (18.26) и (18.27), заметим, что первый столбец матрицы В ТВ - о1 имеет вид ч\ - о Я1«2 О Lo (18.29) где а вычисляется в соответствии с (18.22). Первое вращение/?! опреде¬ ляется требованием, чтобы второй элемент первого столбца матрицы Ri(BTB - о/) был нулем. Остальные вращения определяются в порядке 7\,/?2, Тп_г и применяются в порядке, указываемом скобками в следующем вы¬ ражении: Тп-х( ... ^((^(ЯЛО)/?*). . . Rn _,). (18.30) Вращение 7*, / = 1,. .., п — 1, оперирует со строками / и / + 1 и аннули¬ рует элемент в позиции (/ + 1, /). Вращение R{, / = 1,. . ., п — 1, оперирует со столбцами / и / + 1 и при i > 2 аннулирует элемент в позиции (/ - 1, / + 1). Это пример алгоритмического процесса, называемого иногда вытесне¬ нием. Рис. 18.1 показывает для п = 6 последовательность появления и ис¬ чезновения элементов во внешности двухдиагональной полосы. Из предыдущего обсуждения очевидно, что вычисление сингулярного разложения произвольной m X л-матрицы можно свести к более специаль¬ ной задаче сингулярного разложения невырожденной двухдиагональной 87
Рис. 18.1. Иллюстрация процесса вытеснения в одном (ДО-шаге для случая п = 6 матрицы В в форме (18.7). Сейчас будет сформулирован алгоритм QRBD, выполняющий один шаг этой основной части в вычислении сингулярного разложения. Прежде всего алгоритм сравнивает внедиагональные элемен¬ ты е/ с заданным допуском е. Если имеются индексы /, 2 </ <л, для кото¬ рых | в/1 < в, то наибольший такой индекс помещается в ячейку /, и алго¬ ритм прекращает работу. В противном случае выполняется присваивание / = 1; такое значение / указывает, что \е{\ > е для 2 </ <л. После этого алгоритм переходит к вычислению сдвига (см. (18.22)). Далее алгоритм вычисляет и применяет вращения R{ и Т{, / = 1,... , л - 1 (см. (18.30)). Когда алгоритм заканчивает работу, элементы преобразованной матрицы В = UTBV замещают в памяти одноименные элементы В. В некоторых случаях, например при решении задачи НК, нужно умно¬ жать некоторые другие векторы или матрицы на матрицы UT и V. Алго¬ ритм QRBD предоставляет пользователю возможность задать к X л-матрицу W = { и л X р-матрицу G = {g} , которые будут заменены произведе¬ ниями WV и UTG соответственно. Алгоритм 18.31. QRBD (q, е, л, е, /, W, к, G, р): 1. Комментарий. Шаги 2 и 3 предназначены для выявления малых вне- диагональных элементов. 2. Для I := л, л — 1,. . . , 2 выполнить шаг 3. 3. Если | е{ | < 6, положить / : = / и перейти к шагу 14. 4. Положить / := 1 и вычислить а в соответствии с формулами (18.16)- (18.22). 5. Положить / := 2. 6. Положить ех :=qi - ojqx и z :=е2 (см. (18.29)). 7. Выполнить алгоритм Gl(e/_b z, с, s, e/_i). 8. Выполнить алгоритм G2(с, s,qt_v et) и для / := 1,. ..,к выполнить алгоритм G2(с, s, vv;. ._lt ну?). 9. Положить z :=sqi, q( : = cqt. 10. Выполнить алгоритм G1 (^.p z, c, s, q{_x). 11. Выполнить алгоритм G2(c, s, et, qt) и для / := 1,.. ., p выполнить алгоритм G2(c, s, g.__ x j9gtj). 88
12. Если Iв л, перейти к шагу 14. 13. Положить z := sei + it е* + 1 := cei+l, i := i + 1 и перейти к шагу 7. 14. Комментарий. Если / = 1, то был выполнен один полный QR-шгт для двухдиагональной матрицы. Если / > 1, то элемент ех мал, и матрицу можно расщепить в этом месте. Повторным применением алгоритма QRBD к невырожденной верхней двухдиагональной матрице В строится последовательность двухдиагональ- D (*) (к) ных матриц Вк с диагональными элементами q у и наддиаго- (к) (к) нальными элементами е2 ,. .. , еп . Согласно теореме 18.5, произведение (*) (*) 1 еп q квадратично сходится к нулю при к -►«>. Из предположения о (fc) невырожденности В вытекает, что последовательность {qn } отделена от (к\ нуля. Следовательно, последовательность {еп } квадратично сходится к нулю. На практике итерации прекращают, когда I | < е. _ - (*). После того как величина I еп | признана достаточно малой, переходят к вычислению сингулярного разложения для двухдиагональной матрицы (или нескольких таких матриц) порядка п — 1 (или меньшего); это де¬ лается так же, как и выше, с заменой п на п - 1. Так происходит, пока не будет п = 1. Не более чем п — 1 повторений описанной процедуры приводят к разложению В = USVT. Практика показывает, что при значениях параметра точности rj в преде¬ лах примерно от 10"1 6 до 10”8 и при е = т\ || В || обычно бывает достаточно около 2п повторений алгоритма QRBD, чтобы все внедиагональные элемен¬ ты стали по модулю меньше е. Диагональные элементы S в общем случае не являются неотрицательны¬ ми или невозрастающими. Чтобы поправить этот недостаток, возьмем диа¬ гональную матрицу D, на диагонали которой стоят плюс и минус единицы, выбранные так, что у матрицы S = SD (18.32) диагональные элементы неотрицательны. Далее выбираем матрицу переста¬ новки Р так, чтобы диагональные элементы матрицы S = PTSP (18.33) не возрастали. Легко видеть, что равенство В = (UP)(PTSP) (VDPf = US VT представляет собой сингулярное разложение матрицы В, причем диагональ¬ ные элементы S неотрицательны и не возрастают. Матрица V из (18.9) будет вычислена как произведение К = Я2...Ял/?1 . . . RVDP. (18.34) Здесь Hi — преобразования Хаусхолдера из формулы (18.6) ; Д,- — правые вращения Гивенса, которые строились и использовались перед С/?-шагами и в самих этих шагах (см. (18.30) и текст, следующий за (18.10)) ; матри¬ цы Dи Р определены равенствами (18.32) и (18.33) соответственно. 69
Аналогично матрица U из (18.9) строится как произведение ит =PTtl... TtQn.. Qi, (18.35) где Р определена в (18.33); Tt - левые вращения Гивенса, которые строи¬ лись перед QR -шагами и в самих этих шагах (см. (18.10) и (18.30)); Qt - преобразования Хаусхолдера из формулы (18.6). g § 4. Решение задачи НК посредством сингулярного разложения Сингулярное разложение матрицы А Лтх*=^тхт [ " 1 Г?х п О8-36) L V(m-n)XnJ можно использовать для сведения задачи Ах s Ъ к эквивалентной задаче [о]/>^<7. (18.37) где = [%]ь‘ить- (,8-з8) x = Vp. (18.39) Может оказаться полезным рассмотрение последовательности пробных решений х ***, определяемых формулами х(Л) = I р,и,, (18.40) / = 1 где и, - у’-й столбец V. Заметим, что векторы х^к^ удобно вычислять так: х(0) = 0, (18.41) х(к) = *(*-0 +pkvkj k = 1,. .. ,п. (18.42) Норма рк невязки, отвечающей пробному решению , определяется как рк = || Ах ^ - b || и удовлетворяет соотношению р£=И*(2)Н2 + Z (18.43) i = k+1 Числа рк можно вычислять следующим образом: Р* =lls(2)ll\ (18.44) PI=PUi+fciV,)2. *=«-1 0. (18.45) Здесь g *1 *, g ^2) — подвекторы вектора g, определенные в (18.38). Столбцы К, соответствующие малым сингулярным числам, можно ин терпретировать как показатели приближенной линейной зависимости меж ду столбцами А. Это было отмечено в гл. 12. Дальнейшие замечания по по воду практического использования сингулярных чисел и величин рк приве дены в § 6 гл. 25. 90
§ 5. Организация программы, вьгисляющей сингулярное разложение Опишем способ выполнения сингулярного разложения с экономным расходованием памяти. Будем считать, что т > п. Замечания о случае т < п см. в § 1. Прежде всего, если тп велико и т > л, то мы можем вначале привести матрицу исходных данных [А : Ь] к верхней треугольной матрице порядка п + 1; это делается посредством последовательности преобразований Хаус¬ холдера (см. гл. 27). Затем в соответствии с (18.6) матрицаЛ приводится к двухдиагональному виду j • Ненулевые элементы В замещают соот¬ ветствующие элементы А в массиве с именем А. Преобразования Q{ из (18.6) можно применять к вектору Ъ по мере их формирования; хранить их ненужно. Вектор, полученный в результате преобразований, замещает Ь в массиве с именем Ъ. Пре¬ образования Hf из (18.6) размещают в освобождающихся позициях верхнего треугольника А и дополнительном массиве длины п\ назо¬ вем этот массив h. Когда приведение к двухдиагональному виду закончено, ненулевые элементы В переписываются в два массива длины п: q (позиции qx,..., qn) и е (позиции e2t • -, еп) \ ячейка ех используется QR-алгоритмом как рабочая. Вычисление матрицы V из формулы (18.36) начинается с формирования в явном виде произведения Н2 . . . Нп, входящего в (18.34). Это вычисле¬ ние можно организовать таким образом, чтобы полученное произведение занимало первые п строк массива А; дополнительных массивов не тре¬ буется. QR-алгоритм применяется к матрице В, хранимой парой массивов q и е. Каждое очередное вращение Л/, построенное в 2#-алгоритме, умножается на частичное произведение, хранимое в массиве А в качестве будущей мат¬ рицы V (см. (18.34)) . Аналогично каждое вращение 7/ умножается на век¬ тор, хранимый в массиве Ъ в качестве будущего вектора UTb (см. (18.35) и (18.38)). По окончании QR-итераций в ячейках е{, i = 2,.. . , п, будут храниться малые числа. Теперь нужно сделать неотрицательными, а затем упорядочить числа, находящиеся в ячейках q(, / = 1, . .., п. Применение к массиву А соответствующих перемен знаков и перестановок завершает вычисление матрицы V (см. (18.34)) . Применение перестановок к массиву Ъ завершает вычисление вектора g = UTb (см. (18.35) и (18.38)). При необходимости можно вычислить в соответствии с (18.41) и (18.42) пробные решения и хранить их в качестве столбцов верхней п X л-подматри¬ цы массива А, где прежде хранилась матрица V. Если сингулярное разложение вычисляется для того, чтобы достигнуть лучшего понимания конкретной задачи наименьших квадратов, то полез¬ но иметь программу, которая бы печатала в удобном формате различные величины, извлекаемые из сингулярного разложения. 91
Упражнения 18.46. Доказать, что если Л, - симметричная трехдиагональная матрица, то таковы же все матрицы к = 2,. . . , формулы (18.3). 18.47. Доказать, что специальный QR-алгоритм, определяемый формулами (18.11), (18.12) и (18.22), сходится в одну итерацию в случае двухдиагональной матрицы порядка 2. ГЛАВА 19 ДРУГИЕ МЕТОДЫ ДЛЯ ЗАДАЧИ НАИМЕНЬШИХ КВАДРАТОВ В качестве вычислительного аппарата для решения задач теории наимень¬ ших квадратов мы выделили ортогональные преобразования Хаусхолдера. При таком подходе численная устойчивость, характерная для ортогональ¬ ных преобразований (см. гл. 15-17), сочетается с гибкостью, позволяющей легко приспосабливаться к специальным ситуациям, например последова¬ тельному накапливанию данных (гл. 27). Мы предложили также использо¬ вать сингулярное разложение как средство достигнуть лучшего понимания плохо обусловленных задач (гл. 18, 25) . В этой главе будут описаны некоторые другие численные методы для задачи наименьших квадратов. В табл. 19.1 приведены старшие члены фор¬ мул для числа операций при решении задачи АтХпх — т >п> различны¬ ми методами. Мы обсудим, в частности, методы, основанные на математической экви¬ валентности задачи наименьших квадратов Ах = Ъ и системы линейных уравнений (АТА)х = (АТЬ). Эту систему называют системой нормальных уравнений исходной задачи. Методы, предполагающие формирование и решение нормальных уравнений, требуют обычно примерно вдвое меньше операций, чем алгоритм Хаусхолдера. Однако, чтобы получить этими мето¬ дами решения того же качества, что в алгоритме Хаусхолдера при относи¬ тельной точности т?, здесь требуется работать с точностью г\г. В большинстве специальных ситуаций, например в случае последователь¬ ного накапливания данных (см. гл. 27), можно организовать оба метода - алгоритм нормальных уравнений и алгоритм Хаусхолдера — так, что потре¬ буется примерно одно и то же число единиц хранения. Заметим, однако, что если в качестве единицы хранения принимается машинное слово одина¬ ковой для обоих методов длины, то алгоритм Хаусхолдера сможет обраба* тывать более широкий класс задач, чем алгоритм нормальных уравнений. Второй метод, обсуждаемый в данной главе, — это модифицированная ортогонализация Грама-Шмидта (MGS)*). Численные свойства этого метода очень сходны со свойствами алгоритма Хаусхолдера. Факторизо¬ ванное представление матрицы Q, используемое в алгоритме Хаусхолдера, требует приблизительно на п2/2 меньше ячеек памяти, чем явное представ¬ ление, используемое в MGS. Как показывает наш опыт, именно по этой при¬ чине алгоритм Хаусхолдера легче, чем MGS, адаптируется к различным специальным приложениям. *) MGS - сокращение английского словосочетания Modified Gram - Schmidt Ortho* gonalization. {Примеч. пер.) 92
Таблица 19.1 Количество операций для различных численных методов решения задачи наименьших квадратов Метод Приведение к треугольному виду методом Хаусхолдера Сингулярное разложение: прямое применение к А приведение А к треугольной матрице R методом Хаусхолдера в сингулярное раз¬ ложение R Формирование нормальных уравнений Решение нормальных уравнений методом Холесского Решение нормальных уравнений методом Гаусса-Жордана (для пошаговой регрессии) Спектральный анализ нормальных уравнений Метод Грама-Шмидта (классический или модифициров анный) Асимптотическое число операций *) тп2 - п 3/3 2тп2 + о(п) тп2 + 5п3/3 + о{п) тп2 /2 п3/в п3 /3 4/I3/ З + оОО*0 ** ) •) Под операцией понимается пара ’’умножить (или разделить) и сложить”. **)Член о(п) учитывает итерационную фазу в вычислении сингулярных чисел или собственных значений. Если считать, что для сходимости QR-алгоритма нужно примерно 2п шагов, то а(п) равно приблизительно 4пъ. В качестве конкретного примера этой особенности компактного хране¬ ния заметим, что с помощью преобразований Хаусхолдера можно вычис¬ лить решение х задачи Ах = Ъ и вектор невязки г = Ь - Ах, используя т(п + 1) + 2п + т ячеек памяти. Как в алгоритме нормальных уравнений, так и в алгоритме MGS требуются дополнительные п(п + 1) /2 ячеек. При этом, как отмечалось выше, оценка запросов к памяти должна принимать во внимание, что метод нормальных уравнений требует т?2-разрядности для обработки того же класса задач, который обрабатывается алгоритма¬ ми Хаусхолдера и MGS в арифметике с относительной точностью г? • § 1. Нормальные уравнения и разложение Холесского В книгах, ограничивающихся кратким разбором задачи наименьших квадратов, чаще всего рекомендуют именно метод нормальных уравнений. Обе части исходной задачи АтХпх s Ь умножают слева на матрицу АТ. В результате получается система Рп х п х ~~ dn XI, (19.1) называемая системой нормальных уравнений для данной задачи. Здесь Р = АТА, (19.2) d=ATb. (19.3) 93
Уравнение (19.1) можно было бы вывести непосредственно из условия, что для искомого решения вектор невязки Ъ - Ах должен быть ортогона¬ лен к пространству столбцов матрицы А. Это условие записывается урав¬ нением А Т(Ь - Ах) = 0, (19.4) которое, как видно из (19.2) и (19.3), эквивалентно уравнению (19.1). Хотя Р имеет тот же ранг, что и А, и, следовательно, может быть вырож¬ дена, уравнение (19.1) всегда совместно. Чтобы убедиться в этом, заметим, что, согласно (19.3), вектор d принадлежит пространству строк А. Но, как показывает (19.2), пространство строк А совпадает с пространством столб¬ цов Р. Систему (19.1) можно решать любым методом, предназначенным для квадратных совместных систем линейных уравнений. Из (19.2) следует, однако, что матрица Р симметрична и неотрицательно определена, что позволяет использовать разложение Холесского с его превосходными ка¬ чествами экономичности и устойчивости [7]. Метод Холесского, который мы сейчас опишем, основан на факте су¬ ществования верхней треугольной (действительной) п X л-матрицы U та¬ кой, что UTU=P. (19.5) Поэтому решение jc уравнения (19.1) можно получить, решая две треуголь¬ ные системы: UTy =d, (19.6) Ux=y. (19.7) Иначе процесс решения (19.6) относительно у можно оформить как часть разложения Холесского подходящей окаймленной матрицы. С этой целью положим' А = [А : Ь] и FmAA3[dr 0М> Заметим, что Р и d в (19.8) обозначают те же матрицу и вектор, что и в формулах (19.2) и (19,3), а для числа оЗ справедливо со2 = ЬТЬ. Разложе¬ ние Холесского матрицы Р имеет вид P = UTU, (19.9) где 0-\” ']>* (19.10) L 0 р J} 1 п 1 причем U и у в (19.10) удовлетворяют соотношениям (19.5) и (19.6). Кроме того, как легко проверить, для числа р в (19.10) | р | = II Ъ - Ах\\, где х - любой вектор, минимизирующий || b - Ах ||. Для удобства читателя мы опишем, исходя из (19.5), детали вычисления разложения Холесского. Очевидно, что алгоритм непосредственно прило¬ жим и к (19.9). 94
Из (19.5) получаем равенства i 2 н*/н*/ = р„, * = 1 /= 1,..., л; (19.11) / = л. Разрешая относительно иц уравнение с правой частью Рц, приходим к следующим соотношениям, составляющим алгоритм факторизации Холес- ского (называемый также методом квадратных корней или методом Ба- нахевича): *2 игк1, (19.12) и« = 1>//2, (19.13) / - 1 Рц - 2 ukiukj «// = — . (19.14) “и / = / + 1,... , л, i = 1,. .. , л. В формулах (19.12) и (19.14) суммы считаются равными нулю при / = 1. Теоретически все vt> 0, / = 1,..., л, если rank А = л. Уравнения (19.12)- (19.14) в этом случае определяют значение каждого иц однозначно. Если, однако, rank Л = к < л, то найдется первое значение /, скажем / = г, для которого vt = 0. Тогда при / = / числители в правых частях формул (19.14) также должны быть нулями для i = t + 1, . .., л - ведь система уравнений (19.11) совместна. В таком случае имеется некоторая свобода в выборе значений для элементов utJ, / = t + 1, . . ., л. Всегда допустимым является набор значений uti = 0, / = г + 1,. . . , л, (см. упражнение 19.37) . Из сказанного следует, что теоретически алгоритм (19.12) — (19.14) дает решение уравнения (19.5) при любом ранге А, если внести в него следующую модификацию: (19.14) заменяется на И// = 0, / = /+1,...,л, (19.15) для любого значения /, при котором ии- 0. Заметим, что верхняя треугольная матрица R в разложении Хаусхолдера Г Я 1 т = I 0 I удовлетворяет соотношению R R - Р. Если rank А = л, то ре¬ шение (19.5) единственно с точностью до знаков строк U (см. упражне¬ ние 2.17). Поэтому в случае rank А = л матрица R разложения Хаусхолдера совпадает с точностью до знаков строк с матрицей Холесского U. Разложение Холесского можно вычислять и в виде LTL =Р, (19.16) где L — нижняя треугольная л X л-матрица. Формулы для элементов L QA 95
таковы: (19.17) п Рц- 2 /*,•/*/ 1 к в i +1 7с/ */с/ (19.18) / = 11, / = и, . . . , 1. При реальных вычислениях появляется возможность, что в разложении Холесского для (теоретически) неотрицательно определенной матрицы Р значение Vj, вычисленное по формуле (19.12), будет отрицательным вслед¬ ствие округлений. Это может быть результатом накопления погрешностей в вычислениях по формулам (19.2) и (19.12) — (19.14) . Если для некоторого i вычисленное значение vt- отрицательно, то одна из возможностей продолжить вычисление состоит в том, чтобы положить V/ = 0, а затем прибегнуть к (19.15). В сущности, та же идея заложена в фортранную подпрограмму из [91]. Другой возможный способ — выполнить симметричную перестановку строк и столбцов, максимизирующую значение и, на i-м шаге алгоритма; информацию о перестановке нужно сохранить. Эффект будет тот, что не¬ положительные значения Vf могут появиться лишь после обработки всех положительных значений. Если все остающиеся значения У/ неположитель¬ ны, то соответствующие строки U можно взять нулевыми. Реализация такой стратегии перестановок требует некоторого переупо¬ рядочения операций в алгоритме (19.12) —(19.14), с тем чтобы при выборе главного элемента имелись частично вычисленные значения и*. Если пере¬ становки применяются к окаймленной матрице (19.8), то последние строка и столбец не должны принимать в них участия. Разложение Холесского для матрицы (19.8) приводит к верхней тре¬ угольной матрице (19.10), имеющей ту же связь с задачей НК, что и тре¬ угольная матрица, полученная из А посредством триангуляризации Хаус- холдера. Это замечание может оказаться полезным в случае, когда исход¬ ные данные уже имеют форму нормальных уравнений и нужно провесп анализ задачи с помощью сингулярного разложения. Если игнорировать эффекты округлений, то информация, предоставляе¬ мая сингулярным разложением А (см. гл. 18 и § 5 гл. 25), может бытыго- лучена и из спектрального анализа матрицы Р (см. (19.2)). Именно, если имеем спектральное разложение Р - VS 2 VT с упорядоченными собствен¬ ными значениями s\ х > ... > s2w, то можно вычислить g *1 * = S -1 VTd 7 = (gj2 - ||#(1) II2)1 /2, где d и cj2 определены равенством (19.8). Приза мене переменных х - Vp исходная задача НК переходит в задачу Эта задача наименьших квадратов эквивалентна задаче (18.37), полученной посредством сингулярного разложения: диагональная матрица S и л-вектор (19.19) 96
Я*1* в (19.19) те же, что ив (18.37); 7из (19.19) и£*2* из (18.37) удов¬ летворяют соотношению у = II II • Однако при фиксированной разрядности машинного слова величины S, ^(1) || у = ||£<2) || будут определены путем спектрального анализа матри¬ цы [А\Ь\Т[А :Ь] менее точно, чем если бы применялся сингулярный анализ к самой матрице А - [А : Ь] или треугольной матрице R, полученной из А алгоритмом Хаусхолдера. Как отмечено во введении к данной щаве, при фиксированной относи¬ тельной точности 77 машинной арифметики преобразования Хаусхолдера позволяют решать более широкий класс задач, чем если бы формировались нормальные уравнения, а затем применялось разложение Холесского. Это утверждение можно проиллюстрировать следующим примером. Рассмотрим 3 X 2-матрицу - € Предположим, что значение е существенно для данной задачи, например € > 100т?, но е2 < т?, так что при вычислениях с относительной точностью т? будет 1-€#1, но 3 + 6" вычисляется как 3. Поэтому вместо АТА будет вычислена (с точностью до случайных погрешностей, не превосходя¬ щих по абсолютной величине Зт7) матрица v з-ч [З-е 3 —2е \ Последующее вычисление верхней треугольной матрицы Г 'и Г1 2 1 I 0 Гц J для которой RTR = А ТА, проводится в соответствии с. методом Холесского (19.12)—(19.14) по формулам п 3-е rn = V3, г12= —, Пг=Ргг-П1- V? При вычислении г2 2 (опять же с точностью до случайных погрешностей произвольного знака, не превышающих по модулю Зт?) получим 9 — 6б г\г ~3-2е- = 0. 3 Соответствующий точный результат был бы, конечно, равен 2 „ . 2 9 - 6е + е2 _ 2е2 f 22 — 2б + € — - ■— 3 3 7.4. Лоусон 97
Таким образом, при использовании арифметики с относительной точ¬ ностью 17 в вычисленном элементе г2 2 нет значащих цифр. Следовательно, матрица R неотличима от вырожденной. Причиной не являются недостатки алгоритма Холесского. Скорее здесь нашел отражение тот факт, что столб¬ цы матрицы А ТА так близки к параллельности (линейной зависимости), что отсутствие точной параллельности нельзя установить в арифметике с точностью 17. Сопоставим эту ситуацию с той, что имеет место при прямой (без пред¬ варительного формирования АТА) триангуляризации преобразованиями Хаусхолдера. По формулам (10.5)—(10.11) вычисляем 1 +VT-1 1 , ь = -уД(1 +N/3,) = -(3+V3’). —-V*. Теперь, умножая на 1+Ь~ ии t = b 1 (и та2) = — 3 + у/Т — е 3 + уД второй столбец а2 матрицы А, получаем е(3 -ч/3)-6 а2 =а2 + tu = е(3-лД)-6 1 +у/Т ] е-3 V57 е(3-УЗ) 6 — е(3 + у/з) Важно отметить, что вторая и третья компоненты а2, имеющие поря¬ док е, вычислены как разности величин порядка единицы. Поэтому в арифметике с 17-точностью эти компоненты не будут утрачены вслед¬ ствие округлений. Последний шаг триангуляризации Хаусхолдера состоит в замене второй компоненты а2 значением (со знаком минус) евклидовой нормы второй и третьей компонент. Этот шаг не вызывает вычислительных затруд* нений: Объединяя результаты, мы получаем (с точностью до абсолютных погреш¬ ностей, не превосходящих по модулю З17) матрицу *-[Т (е-3 )1у/11 -еу/Т/З J Окончательный вывод из этого примера таков. Используя арифметику с ??-точностыо и применяя преобразования Хаусхолдера непосредственно к А, мы вычислили треугольную матрицу, которая очевидным образом не вырождена. В то же время формирование нормальных уравнений и по¬ следующее разложение Холесского привели к вырожденной матрице. 98
§ 2, Модифицированная ортогонализация Грама-Шмидга Ортогонализадия Грама—Шмидта — это классический математический метод решения следующей задачи. Дана линейно независимая система век¬ торов {flf, ап}\ нужно построить ортогональную систему {qi, qn) с тем свойством, что для к = 1, п подсистема {qi, ,..,qk} порождает то же fc-мерное подпространство, что и ..., ак). Классические формулы, выражающие через а7 и ранее вычисленные векторы qXi q^ А, таковы: Чтобы записать эти формулы в матричных обозначениях, определим А как матрицу со столбцами af, Q как матрицу со столбцами qj и R как верхнюю треугольную матрицу с единичными диагональными элементами и наддиагональными элементами, задаваемыми формулами (19.22). Тогда (19.20) и (19.21) можно переписать в виде Отсюда ясно, что ортогонализацию Грама—Шмидта можно рассматривать как еще один метод разложения матрицы в произведение матрицы с орто¬ гональными столбцами и треугольной матрицы. Эксперименты свидетельствуют [157], что процесс (19.20) —(19.22) обладает значительно меньшей численной устойчивостью, чем некоторый его вариант, математически ему эквивалентный. Устойчивость этого вариан¬ та, называемого модифицированным методом Грама—Шмидта, была уста¬ новлена Бьорком [23]; ему принадлежат приводимые ниже оценки (19.35) и (19.36). Заметим, что значение скалярного произведения не изменится, если 4/ заменить вектором вида так как qkqt = 0 для к Ф /. Исходя из этого, рекомендуется заменить Q1 = «i. /- 1 qrai~ Ъ тцц0 / = 2, (19.20) (19.21) где (19.22) (19.23) (19.24) (19.22) на (19.25) ГИ = 7* 99
где а)п - а, - ‘ilrkiqk. (19.26) к = 1 Если поставить задачу - минимизировать за счет выбора чисел ак норму вектора (19.24), то. как легко проверить, вектор с минимальной длиной задается формулой (19.26). Таким образом, вектор а/ в (19.22) и век¬ тор в (19.25) связаны неравенством ||aj^ II <lky II. Большая чис¬ ленная устойчивость модифицированного алгоритма проистекает как раз из этого факта. Количество вычислений и необходимая память не увеличиваются моди¬ фикацией, так как вместо непосредственного использования формулы (19.26) векторы можно вычислять рекурсивно. Кроме того, вектор можно записывать на место, которое прежде занимал вектор a j1). Этот алгоритм, за которым закрепилось название модифицированный метод Грома-Шмидта [157], описывается следующими уравнениями: ,0) ay}=aj9 /=1,...,л, (19.27) Я,=аУ\ (19.28) df-яТяг <19-29> (От а qi г и = —-3— . (19.30) di af+l)=ajn-Г'.я,, / = /+ 1, /= 1 я. (19.31) Чтобы использовать MGS *) для решения задачи НК, можно составить расширенную матрицу А = [А :Ь]. (19.32) После этого MGS применяется к m X (п + 1)-матрице А; в результате будет получено разложение А = QR, (19.33) где R - верхняя треугольная матрица с единичными диагональными зло- ментами. Наддиагональные элементы R выражаются формулами (19.30). Векторы qt из (19.28) являются столбцами m X (л + 1)-матрицы Q. *) См. примечание на стр. 92. (Примеч. пер.) 100
Можно еще составить диагональную матрицу D порядка п + 1 с диагональ¬ ными элементами dif i = 1, п + 1, задаваемыми формулами (19.29). Для последующего обсуждения, которое приведет к решению зада¬ чи НК, возьмем какую-либо ортогональную т X m-матрицу Q, удовлетво¬ ряющую соотношению Qm X т D ]}л+ 1 О J)m - п — 1 п + 1 Тогда Ь[? QmX ( п+1) • Dc dn+ i О (19.34) В последнем матриц D и R переходе были использованы клеточные представления \R с Vn = Lo 1 J> i1 D = D О Теперь для произвольного вектора х имеем || Ах— Ъ ||2 = || QT(Ax- b) ||2 = * ||Z>(/?jc - с) || 2 + d*+x. Следовательно, минимальным значением величи¬ ны \\Ах - b|| будет \dn+i |, и это значение достигается на векторе jc, раз¬ решающем треугольную систему Rx= с. При фиксированной точности арифметики MGS обладает примерно той же численной устойчивостью, что и алгоритм Хаусхолдера. Анализ ошибок, проведенный в работе [23], дает следующий результат: решение зада¬ чи Ах ^ Ь9 вычисленное посредством MGS в арифметике со смешан¬ ной точностью (tj, т?2), является точным решением возмущенной задачи (А + £) *— b +/, где \\E\\f < 2л3/2 || А ||/гт?, (19.35) И/II < 2л3/2 || Ь || т?. (19.36) Проведенное тестирование машинных программ (см. [185]) показало, что программы методов Хаусхолдера и MGS дают, по существу, одинако¬ вую точность. Число арифметических операций в MGS несколько больше, чем в методе Хаусхолдера (см. табл. 19.1), по той причине, что в MGS все операции производятся над векторами длины ш, в то время как в методе Хаусхол¬ дера столбцы последовательно укорачиваются. По той же причине програм¬ мы MGS требуют обычно больше памяти, чем программы Хаусхолдера: в MGS нет удобного способа получать матрицу R на том месте, где храни¬ лась исходная матрица А. Если, однако, не сохранять векторы q(, то воз¬ можна такая организация MGS, что R замещает А в памяти; это достигает¬ 101
ся за счет некоторой дополнительной работы по перемещению хранимой информации. Метод MGS можно приспособить и к тому, чтобы последовательно накап¬ ливать строки или группы строк матрицы [А : Ъ ]; это бывает нужно в слу¬ чае, когда произведение тп очень велико и т > п. Возможность такой организации основывается на том, что (л + 1) X (л + 1)-матрица DR (см. (19,34)) определяет ту же задачу наименьших квадратов, что и т X (п + 1)-матрица [А : b ]. Исходя из этого, можно построить последова¬ тельный алгоритм MGS точно таким же образом, каким соответствующее свойство триангуляризации Хаусхолдера используется в гл. 27 для построения последовательного метода Хаусхолдера. Специальными адаптациями процесса Грама— Шмидта являются: 1) ме¬ тод сопряженных градиентов, предназначенный для решения положительно определенных систем линейных уравнений (см. [94, 110, 151, с. 62—67] и имеющий некоторые качества, привлекательные в случае больших разре¬ женных систем [154—156] ; 2) метод Форсайта [55] для полиномиального сглаживания с использованием ортогонализованных многочленов. Упражнения 19.37. Пусть R - верхняя треугольная п X «-матрица, у которой некоторые диаго¬ нальные элементы гц равны нулю. Показать, что существует верхняя треуголь- Т т ная п X w-матрица Uтакая, что U U-R R и и,у =0, / =/', п, если гц =0, Указание. Построить U в виде U-QR, где Q - произведение конечного числа спе¬ циальным образом подобранных вращений Гивенса. 19.38 [142]. Предположим, что гапкЛтх п ~ п н m > п. Посредством гауссова исключения (с частичным выбором главного элемента) можно получить разложе¬ ние А = PLRy где Lmx п ~ нижняя треугольная матрица с единичными диагональными элементами, Rn х п ~ верхняя треугольная, а Р - матрица перестановки, учитывающая перемещения строк. a) Подсчитать количество операций при вычислении этого разложения. т b) Задачу НК можно решить, применяя метод Холесского к системе L Ly 5 - LTP Tb, а затем определяя х из системы Rx = y. Подсчитать количество операций при т формировании L L и при вычислении факторизации Холесского этой матрицы. c) Показать, что общее количество операций в этом методе такое же, что и в методе Хаусхолдера (см. табл. 19.1). (Достаточно определить лишь коэффициенты при m пг и л3 в формулах для числа операций.) 19.39. Пусть A- m X «-матрица ранга п, и пусть А = QR - разложение матрицы А, полученное применением к ней (в точной арифметике) модифицированного алгорит¬ ма Грама-Шмидта. Предположим, что Q и R нормированы так, чтобы столбцы Q имели единичную евклидову длину. Пусть &п X п 1 .Cm X п J есть матрица, полученная (в точной арифметике) применением к (m + п) X «-матрице 0л X п 1 . Ат X п J алгоритма HFT (см. 11,4), Показать, что В совпадает с R с точностью до знаков строк, а С совпадает с Q с точностью до знаков столбцов *). *) Нужно учесть только, что столбцы Сне нормированы. {Примеч. пер.) 102
19.40 (метод Холесского без квадратных корней). Вместо (19.5) рассмотрим раз- т ложение W DW * Р, где W - верхняя треугольная с единичными диагональными эле¬ ментами матрица, a D - диагональная матрица. Вывеет формулы, аналогичные (19.12)-(19.14), для вычисления диагональных элементов D и наддиагональных эле¬ ментов W, Показать, что, используя такое разложение матрицы Р из (19.8), зада¬ чу (19.1) можно решить без вычисления квадратных корней. ГЛАВА 20 ЛИНЕЙНЫЕ ЗАДАЧИ НАИМЕНЬШИХ КВАДРАТОВ С ЛИНЕЙНЫМИ ОГРАНИЧЕНИЯМИ-РАВЕНСТВАМИ: РЕШЕНИЕ С ПОМОЩЬЮ БАЗИСА НУЛЬ-ПРОСТРАНСТВА В этой главе мы начинаем изучение задач наименьших квадратов, в кото¬ рых переменные должны удовлетворять некоторым ограничениям в форме линейных уравнений или неравенств. Такие задачи возникают во многих приложениях. Например, при вычерчивании кривой по точкам ограничения- равенства могут возникать из необходимости интерполировать часть дан¬ ных или из требования непрерывности кривой, а может быть, и ее произ¬ водных в некоторых точках. Ограничения-неравенства возникают из таких условий, как положительность, монотонность и выпуклость. Мы будем кратко обозначать линейную задачу наименьших квадратов с линейными ограничениями-уравнениями как задачу НКУ. Задачу с линей¬ ными ограничениями-неравенствами (в которой могут быть и ограничения- уравнения) будем называть задачей НКН. В этой и двух последующих гла¬ вах изложены три различных алгоритма решения задачи НКУ, Задача НКН будет рассмотрена в гл. 23. Чтобы зафиксировать обозначения, дадим развернутую формулировку задачи НКУ. Задача НКУ 20.1 (наименьшие квадраты с ограничениями-уравне¬ ниями). Пусть даны mx X п-матрица С ранга klt т^вектор d, m2 X п-мат¬ рица Ей т2-вектор /. Среди всех п-векторов х,удовлетворяющих системе Сх = d, (20.2) найти вектор, который минимизирует величину \\Ех - /||. (20.3) Очевидно, что задача НКУ имеет решение тогда и только тогда, когда си¬ стема (20.2) совместна. Мы будем предполагать совместность (20.2) на протяжении гл. 20—23. В обычных для практики вариантах этой задачи вы¬ полняются условия п > mx = *i, обеспечивающие совместность систе¬ мы (20.2) и существование более чем одного решения. В дальнейшем будет показано, что если решение задачи НКУ суще¬ ствует, то оно единственно тогда и только тогда, когда расширенная мат- Гс1 рица I I имеет ранг п. В случае неединственности имеется единственное L^J решение минимальной длины. 103
Ясно, что задачу НКУ можно обобщить на тот случай, когда систе¬ ма (20.2) несовместна и интерпретируется в смысле наименьших квадра¬ тов. Нам не встречались практические ситуации такого рода; однако наше обсуждение задачи НКУ переносится с точностью до небольших модифика¬ ций и на этот случай. Все три алгоритма для задачи НКУ компактны в том смысле, что не тре¬ буется двумерных массивов машинной памяти, за исключением тех, что хранят исходные данные задачи. Каждый из методов можно разделить на три этапа: 1. Сведение исходной задачи к безусловной задаче наименьших квадра¬ тов меньшей размерности. 2. Решение редуцированной задачи. 3. Преобразование решения редуцированной задачи в решение исходной задачи с ограничениями. В первом методе [90], который будет описан в этой главе, ис¬ пользуется ортогональный базис ядра матрицы ограничений. К исходной матрице £ ^ J применяются левые и правые ортогональные преобразования. По отношению к задачам с неединственным решением метод обладает таким свойством: (единственное) нормальное решение редуцированной безусловной задачи порождает (единственное) решение минимальной дли¬ ны для исходной задачи с ограничениями. Поэтому метод рекомендуется в ситуации, когда задача вполне может иметь недостаточный ранг, и прихо¬ дится использовать методы стабилизации (см. гл. 25), основанные на идее ограничения длины вектора решения. Вместе с численно устойчивыми приемами модификации метод может быть применен к решению последовательности задач НКУ, в которой оче¬ редная матрица С получается из предыдущей добавлением или удалением строк. Именно таким образом метод использован в [174] для построения алгоритма, решающего задачу НКН. Кроме всего прочего метод представляет и теоретический интерес, С его помощью в теореме 20.31 показано существование безусловной задачи наи¬ меньших квадратов, эквивалентной задаче НКУ в том смысле, что обе имеют одно и то же множество решений для любых правых частей d и /, Это позволяет применять к задаче НКУ такие численные процедуры, как, например, сингулярное разложение. Второй метод, описываемый в гл. 21, основан на прямом исключе¬ нии и использует как ортогональные, так и неортогональные левые преобразования. Каждый из этих двух методов можно использовать для удаления огра¬ ничений-равенств (если таковые имеются) в качестве первого шага в реше¬ нии задачи НКН. Кроме того, оба метода адаптируются к последовательной обработке данных, когда после триангуляризации исходной матрицы добав¬ ляются новые строки к системе ограничений [C:d] или системе наимень¬ ших квадратов [E:f] г Третий метод для задачи НКУ, изложенный в гл. 22, освещает некоторые важные свойства преобразования Хаусхолдера в применении к задаче наи¬ 104
меньших квадратов с сильно различающимися весами. С практической точки зрения главное достоинство этого метода состоит в следующем: он дает возможность решать задачу НКУ в случае, когда пользователь имеет доступ к подпрограмме метода Хаусхолдера для безусловной задачи наи¬ меньших квадратов, но не имеет и не хочет составлять сам программу одного из алгоритмов, специально рассчитанных на задачу НКУ. Перейдем теперь к описанию нашего первого метода для задачи НКУ. В методе используется явное параметрическое представление элементов линейного многообразия X =1х: Сх = <*}. (20.4) Если С = HRKT (20.5) есть произвольное ортогональное разложение (определение см. в гл. 2) матрицы С, а К представлена в виде К - [ К, : К2 ]}п, (20.6) kl п - то (см. теорему 2.3, равенство (2.8)) X можно представить как X ={х: х=х+К2у2}, (20.7) где х = C*d, (20.8) а у 2 пробегает пространство всех векторов размерности п — кх. Теорема 20.9. Если система (20.2) совместна, то задача НКУ имеет единственное решение минимальной длины, задаваемое формулой х = C*d + (EZ)\f-EC*d), (20.10) где Z = ln - C+C, или, что эквивалентно, £ = C*d + K2(EK2)\f- EC'd). (20.11) Матрица К2 определена в (20.6). Вектор х является единственным решением задачи НКУ тогда и только Г С1 тогда, когда система (20.2) совместна и ранг матрицы ^1 равен п. До казательство. Установим эквивалентность выражений (20.10) и (20.11). Заметим прежде всего, что Z = /„- С*С = ККТ - KR + RKT = = ККТ - К £7*‘ ^ ] Кт = ККТ - = к2к1. Поэтому EZ = = ек2к1 105
т * ♦ Равенство (ЕК2К2) ~ (ЕК2) можно проверить прямой подстанов¬ кой в условия Пенроуза (теорема 7.9), учитывая, что К2К2 = /„_ * . Таким образом, (20.10) и (20.11) эквивалентны. Представление (20.7) показывает, что задача минимизации величи¬ ны (20.3) по всем х Е X эквивалентна отысканию такого п — кх«векто¬ ра у2, который минимизирует величину ||£(jc + К2у2) — /II, или, что то же самое, \\(ЕК2)у2 -(/-£5)||. (20.12) Согласно (7.5), единственное нормальное решение этой задачи выра¬ жается формулой p2=(EKl)\f-Ex). (20.13) В соответствии с (20.7) решение задачи НКУ запишется как х = *+ К2$2, (20.14) что эквивалентно (20.11), а также (20.10). Поскольку столбцы К2 попарно ортогональны *) и все вместе ортого¬ нальны к 5с, то для нормы любого вектора х€ X Их II2 = ||х|[2 +||^2 II2-. (20.15) Если вектор у2 Ф у2 также минимизирует (20.12), то ||jv2 II > 11^2 II- Следовательно, х = х + К2у2 является решением задачи НКУ; при этом II* IIs » II *11* +11 II2 >11* II2 + II v2 ||2 =||* II2. (20.16) Тем самым * — единственное решение минимальной длины для за¬ дачи НКУ. Остается связать единственность решения задачи НКУ со значением к: EJ- к = rank Ясно, что при к < п существует я-вектор w Ф 0, для которого w = 0, (20.17) Iе.} и если * — решение задачи НКУ, то * + w — также решение. Пусть, с другой стороны, к = п. Рассмотрим (m j +т2) Хи-матрицу г с л га, СК2 I } т, м= X = , , (20.18) IE J lEKi ЕК2 J } m2 k j n — k j ранг которой также равен п. Так как у этой матрицы п столбцов, они *) И нормированы. {Примеч. пер.) 106
с С, 0 } К = Е I ) тг должны быть линейно независимыми. Поскольку СК2 = 0, rank ЕК2 непре¬ менно равен л — ki. Поэтому у из (20.13) - единственный вектор, миними¬ зирующий (20.12), а х из (20.14) - единственное решение задачи НКУ. Теорема 20.9 доказана. Вычислительную процедуру можно построить на базе формулы (20.11). Будем считать, что kx = mlf так как это - обычный для практики случай. Тогда в качестве матрицы Н в (20.5) можно взять единичную матрицу. Пусть К - ортогональная п X л-матрица, которая, будучи умножена на С слева, преобразует С к нижней треугольной матрице. Умножим С и Е справа на К; тогда (20.19) где Ci - нижняя треугольная невырожденная т х Хт х -матрица. Найдем т j -вектор у х из нижней треугольной системы Сху 1 = d. (20.20) Вычислим вектор / = / - ЕгУх. (20.21) Решим задачу наименьших квадратов Е2у2 s / (20.22) относительно п — тх -вектора у2. Наконец, вычислим решение исходной задачи х = К\ \ (20.23) У 2 - Шаги реального вычислительного процесса описываются нижеследующим алгоритмом. Поначалу матрицы и векторы С, d, Е. и / хранятся в массивах с теми же именами. Массив g имеет длину Каждый из массивов h, и и р имеет длину п — т1. Решение минимальной длины будет помещено в массив х длины п. Параметр т — это задаваемый пользователем допуск, нужный на шаге 6. Алгоритм 20.24. LSE(C, dy Е, f, тх, №г> g, h, и, р, х, г): 1. Для i := 1, т1 выполнить алгоритм Н1(/, / + 1, л, сп, git Q + /) (см. (20.19)). Здесь и на шаге 2 алгоритмы Н1 и Н2 оперируют со строками массивов С и Е. 2. Для / := 1,тх выполнить алгоритм Н2(/, / .+ 1, п, с,- ь gif е х х, т2) (см. (20.19)). Если матрицы С и Е хранятся единым (т i + т2) X ^-мас¬ сивом (назовем его W), то шаги 1 и 2 можно объединить: для / := 1, т , выполнить алгоритм Н1 (/, / + 1, п, gif wi + 11> тх +m2-/). 107
3. Положить хх di/сц. Если т, = 1, перейти к шагу 5. 4. Для / := 2,ш 1 положить (см. (20.20)) 5. Для / := 1,...,т2 положить (см. (20.21)) Ъ etlx.. ) = > 6. Выполнить в соответствии с (14.9) алгоритм HFTl(e 1|Ш j + 1, т2, п - *п\, ft т, *т , + ь Л, и, р). (Решение р2 задачи (20.22) теперь вычислено и помещено в ячейки / := т х + 1,..., п.) 7. Для / := mlf w, - 1, 1 выполнить алгоритм Н2(/, / .+ 1, я, с,ь git х, 1) (см. (20.23)). Отметим, что в списке параметров алгоритма Н2 содержится ссылка на строки массива С, а преобразования применяются к одномерному массиву х. 8. Комментарий. В массиве с именем х теперь находится решение мини¬ мальной длины задачи НКУ. В качестве примера задачи НКУ рассмотрим минимизацию \\t'x—f\\ при условии Сх = d, где С = [ 0,4087 0.1593 ], 0,4302 0,3516' 0,6246 0,3384 ’ d = 0,1376, 0,6593 1 0,9666 J Ортогональная матрица Хаусхолдера, которая приводит С к треуголь¬ ному виду, здесь такова: -0,9317 -0,3632 К = L-0,3632 0,9317 Конечно, при выполнении алгоритма LSE (см. (20.24)) эту матрицу обыч¬ но не вычисляют в явном виде. Теперь в соответствии с формулами (20.19) - (20.23) получаем -0,4386 0,0 -0,5285 0,1714 , -0,7049 0,0885 (20.25) (20.26) (20.27) (20.28) 108
У\ 0,1376 = -0,3137, f Г_1,17751 [ 3,8848 J' Г 0,49351 [ 0,7455 J’ у2 =4,0472, -0,4386 . (20.29) Рассмотрим теперь некоторые теоретические следствия теоремы 20.9. Формулу (20.10) можно записать в виде х = А *Ь, если положить Ь А* = [C*-(EZYEC*:(EZ)*]=[С*-Кг(ЕКгУ ЕС*:К2(ЕК2)+]. (20.30) Но (20.30) означает, что х есть нормальное псевдорешение зада- А Л А + чи min||i4jc - b ||, где А - матрица, псевдообратная для матрицы А , опре- X деленной в (20.30). А + Теорема 20.31. Псевдообратная для матрицы А , определенной в (20.30), имеет вид где •и Е = (EZ)(EZ)*E = E(EZ)*E = ЕК2(ЕК2 )*Е, a Z и К2 определены так же, как в теореме 20.9. Доказательство. Напомним, что (20.32) (20.33) ск2 = о, к%с* = о, Z = 1п - С*С = К2К2 , (EZT = (ЕК2К$ )+ = К2(ЕК2)\ Из этих соотношений прямо следуют другие, также используемые В доказательстве: EZC* = ЕК2К2С* = 0, C(EZ)* = СК2(ЕК2У = 0, E(EZ)* = ЕК2(ЕК2У = = ЕК2К1К2{ЕК2У = (EZ)(EZy. (20.34) А Равенство (20.34) устанавливает тождество различных выражений для Е в (20.33). 109
Положим теперь С X = I 1 L (EZ)(EZ)*E Л и проверим четыре условия Пенроуза (теорема 7.9). 1 .А*Х = С*С- (EZ)*EC*C + (EZ)\EZ)(EZfE = = С С - (EZ)*E{C*C - /) = С*С + (EZ)*(EZ). Полученная матрица симметрична. 2. ХА Г С С - C(EZ)*EC* C(EZy П l(EZ){EZfE[I-(EZ)*E]C (EZ)(EZ)*E(EZy J Г CC 0 1 L 0 (EZ)(EZy J ' Полученная матрица симметрична. 3. A'XA* = [C*C + {EZ)\EZ))[C* -(EZ)*EC*: (EZ)*] = = (C* - (EZ)*(EZ)[I - (EZ)*E]C*: (EZ)*(EZ)(EZ)*} = = [C* - (EZ)*(EZ)(EZ)*EC* : (EZ)*] = = [C* - (EZ)*EC*: (EZ)*] = A*. 4. XA*X = I „ I [C*C+(EZ)*EZ] = l(EZ)(EZ)*Ej - f ' 1 - L (EZ)(EZ)'EC*C + (EZ)(EZ)*E(EZ)*EZ J [(£Z)(£-Z)+£[C+C + Z] ] i (EZ)(EZ)*E j X' Теорема 20.31 доказана. В качестве числовой иллюстрации к теореме 20.31 вычислим матри цы (20.32) и (20.33) для задачи (20.25)- (20.28). Из (20.33) имеем Г 0,1714 1 Е = (ЬЖ2)(ЕК2?Е= . [4,6076 2,3787] X L 0,0885 J 0,4302 0,3516 1 _ [0,5943 0,41551 0,6246 0,3384 ] ” 10,3068 0,2145 J ’ ffO
а из (20.32) находим -ш 0,4087 0,1593 0,5943 0,4155 0,3068 0,2145 ■ Согласно теореме 20.31, полученная матрица обладает следующим свойст¬ вом. Для произвольного одномерного вектора d и произвольного двумер- ' d — Л но го вектора / решение задачи наименьших квадратов Ах^ являет¬ ся в то же время решением такой задачи НКУ: минимизировать \\Ex- f || при условии Сх= d, где С и £ указаны в (20.25) и (20.26). Нужно отме¬ тить, однако, что нормы невязок для этих двух задач наименьших квадра¬ тов в общем случае неодинаковы. ГЛАВА 21 ЛИНЕЙНЫЕ ЗАДАЧИ НАИМЕНЬШИХ КВАДРАТОВ С ЛИНЕЙНЫМИ ОГРАНИЧЕНИЯМИ-РАВЕНСТВАМИ: РЕШЕНИЕ ПОСРЕДСТВОМ ПРЯМОГО ИСКЛЮЧЕНИЯ К введенной в предыдущей главе задаче НКУ здесь будет применен метод прямого исключения. Будем считать, что ранг к\ матрицы С равен ти Г С 1 а ранг матрицы I равен л. Эти предположения гарантируют, соглас¬ но теореме 20.9, что задача НКУ имеет единственное решение для любых правых частей d и /. Г С 1 Мы предположим еще, что столбцы матрицы I Iупорядочены так, чтобы первые тх столбцов С были линейно независимы. Перестановки столбцов, обеспечивающие такое упорядочение, составляют обязательную часть любой вычислительной процедуры того типа, какой обсуждается в данной главе. Воспользуемся представлениями \C]JCi С2Л) mx IE J L Ех Е2\) m2' х - *i L*2 mj n-m х } п-mi' (21.1) (21.2) Ш
Систему ограничений Сх = d можно разрешить относительно х |: Х\ = Ci 1 (d — С2х2). Подставляя это выражение для дс i в II Ex - f II, получаем II Ex - / II = lElCil{d-C2x1)+E2x2 - Л = = В (Е2 -Е1Сг1С2)х2 — (/- E\C\Xd) И = Н£2х2 -/II. (21.3) Вектор х2 определяется из условия минимума этой величины. С принципиальной точки зрения процедура решения состоит из следую¬ щих этапов. Вычисляем матрицу Е2 = Е2 — Е\С\Х С2 (21.4) и вектор / =/- E\C\ld. (21.5) Решаем задачу наименьших квадратов Е2х2 — f (21.6) и, наконец, вычисляем х, = СГ1 (d - С2х2). (21.7) Эти этапы можно организовать многими различными способами. Напри¬ мер [25], предположим, что вычислено ^-разложение матрицы Сi: С,=е.ГСь (21.8) где Q\ — ортогональная матрица, a Ci — правая треугольная матрица. Тогда равенства (21.4), (21.5) можно записать в виде Е2=Е2- (Ег СГ1) G,С2 = Е2 - Ёг С2 , (21.9) / = /- (f.C^XGi d) = /- ЁЛ (21.10) В результате получается следующий алгоритм. Вычисляются преобразо¬ вания Хаусхолдера, которые приводят Сх к треугольному виду: эти Ж€ преобразования применяются к С2 и d: <2. [С, :С2 :d]=[Cl :C2:d\. (21.11) Далее вычисляют т2 X -матрицу Е\ как решение треугольных систем Et Ci = Ei. (21.13 Затем вычисляют матрицу E2=E2-EiC2 (21.13) и вектор / = f-ЁЛ (21.14) Потом матрицу Е2 посредством преобразований Хаусхолдера приводят 112
к треугольному виду; эти же преобразования применяются к /: [Ёг? 1}л ~ О * >1 (21 -1 - О О J)mi +m2 -п — 1 Наконец, из треугольной системы [?£][:;]■[/] определяется решение А К1- В описанном алгоритме не требуется двумерных массивов машинно памяти, за исключением тех, что нужны для хранения исходных данны задачи. При этом величины, помеченные знаком ^ , следует записыват на место одноименных непомеченных величин, а величины со знаком А наместо одноименных величин со знаком ~ . Подпрограмма этого алгоритма может быть очень компактной, ка] показывает алгольная процедура decompose, приведенная в работе [25] Предположим, что матрица исходных данных I хранитсявтХл-масси С) ве А, где т-т^ + т2, а вектор исходных данных I J хранится в массив Ъ длины т. Шаги (21.11) и (21.15) может выполнять одна и та же подпрог рамма, реализующая, по существу, шаги 2-12 алгоритма HFTI (см. 14.9) На этапе (21.11) арифметические операции выполняются лишь с первым! mi строками матрицы [А:Ь], но любые необходимые перестановки столб цов должны производиться над полными /я-мерными столбцами А. Шаги (21.12) —(21.14), которые можно интерпретировать как гауссовс исключение, реализуются следующими операциями: 0/1 <*11 }- 1 (21.17) аЦ ” ^ aikak/ 0//- = , / • = 2,. . . , Ш\, (21.18) аИ тх ац:=ау- 2 aikakj) j: = mt + 1,. . . ,л, (21.19) к = 1 т1 bi: = bi — 2 aikbki i: = тх + 1,.. . ,m. (21.20) к = 1 В качестве примера для этой процедуры снова рассмотрим задачу НКУ с исходными данными (20.25)-(20.28). Для этой задачи матрицу Qx 8.4. Лоусон 113
в (21.11) можно считать единичной матрицей порядка 1. В соответствии с формулами (21.11) —(21.16) вычисляем а-Р,091. /-[°'51451, М"',17751. L 0,0949 J I 0,7563 J [ 3,8848 ГЛАВА 22 ЛИНЕЙНЫЕ ЗАДАЧИ НАИМЕНЬШИХ КВАДРАТОВ С ЛИНЕЙНЫМИ ОГРАНИЧЕНИЯМИ-РАВЕНСТВАМИ: РЕШЕНИЕ ПУТЕМ ВЗВЕШИВАНИЯ Многие статистики *и инженеры пользуются следующим эвристическим приемом. Пусть нужно решить линейную задачу наименьших квадратов, в которой желательно удовлетворить точно некоторые из уравнений. Этого можно добиться приближенно, приписывая большие веса соответствующим уравнениям и решая полученную задачу наименьших квадратов. К тому же результату можно прийти, если приписать малые веса прочим уравне¬ ниям и решить такую задачу наименьших квадратов. В данной главе мы проведем анализ этой вычислительной процедуры решения задачи НКУ (20.1). Основная идея проста. Вычисляем решение задачи наименьших квадратов <22,) (используя, например, метод Хаусхолдера) для ’’малого”, но ненулевого значения е. Тогда решение х(е) задачи (22.1) ’’близко’^ (в смысле, опреде¬ ляемом соотношениями (22.38) и (22.37)) к решению х задачи НКУ. Такой общий подход представляет практический интерес по той причине, что некоторые существующие программы метода наименьших квадратов могут эффективно решать задачу НКУ путем решения задач вида (22.1). Очевидным практическим изъяном этой идеи является то обстоятельст¬ во, что матрица задачи (22.1) становится как угодно плохо обусловленной (в предположении, что rank С < п) по мере уменьшения параметра е. Это обстоятельство, конечно, ограничивает практическую применимость рас¬ сматриваемого подхода, если задача (22.1) решается методом нормальных уравнений (см. (19.1)). В самом деле, нормальные уравнения для (22.1) имеют вид (Ст С + е2 ЕтЕ)х = CTd + е2 ETf, и если только участвующие здесь матрицы не обладают очень специальной структурой, то машинное представление матрицы СТС + е2ЕтЕ при доста¬ точно малом е будет неотличимо от представления матрицы СТС (а векто¬ ра СTd + e2ETf— от вектора СTd). 114
Тем не менее Пауэлл и Рид [146] обнаружили экспериментально, что приемлемое решение задачи с сильно различающимися весами типа задачи (22.1) можно получить преобразованиями Хаусхолдера, если позаботиться о введении в алгоритм специальных перестановок строк. Отсылаем читате¬ ля к гл. 17, где основные теоретические результаты работы [146] представ¬ лены в виде трех теорем. В названной работе построению &-го преобразова¬ ния Хаусхолдера предшествуют следующие перестановки. Во-первых, как и в алгоритме HFTI (см. 14.9), выполняется обычная перестановка столб¬ цов, переводящая в положение fc-ro столбец с наибольшей евклидовой длиной отрезка от к-й строки до m-й. Затем просматриваются элементы столбца & с номерами /я. Если элемент с наибольшим модулем находхггся в строке /, то строки / и к переставляются. Для задачи (22.1) это правило перестановок будет большей частью чересчур перестраховочным. Главное соображение, лежащее в основе анали¬ за Пауэлла и Рида, таково: если (в обозначениях формул (10.5) -(10.11)) главный элемент vp значим для задачи, но незначителен по величине в сравнении с некоторыми элементами и,, / >р, то может произойти сущест¬ венная потеря численной информации. Под "значим для задачи'* мы подра¬ зумеваем, что ее решение сильно изменилось бы, если vp заменить нулем. Но если I vp | достаточно мал сравнительно с каким-либо числом | и,-1, />р, то при машинном вычислении s и ир по формулам (10.5) и (10.7) Up будет неотличим от точного нуля. Предположим, что ненулевые элементы матриц С и Е задачи (22.1) имеют одинаковый порядок, так что если и есть сильный разброс в поряд¬ ках ненулевых коэффициентов матрицы этой задачи, то он связан только с малым параметром е. Тогда отмеченная выше катастрофическая потеря численной информации могла бы, как правило, произойти лишь в том случае, если бы главный элемент vp (из (10.5)) был выбран из строки матрицы еЕ (скажем, vp = ее у), хотя некоторая строка С (скажем, /-я) еще не выбиралась в качестве ведущей и содержит такой элемент с/у, что |с,;-1 > е| |. Этой ситуации можно избежать, если сохранять порядок строк, указанный в (22.1), так, чтобы все строки С были использованы в качестве ведущих прежде, чем будет использована какая-либо строка еЕ. Здесь мы применили символы еЕ и С для обозначения как матриц исходной задачи, так и их наследниц в алгоритме. Перейдем теперь к анализу сходимости решения задачи (22.1) к реше¬ нию задачи НКУ при е -* 0. Рассмотрим вначале специальный случай задачи НКУ, когда С — диагональная матрица, а Е' — единичная матрица. Этот случай легко разобрать, а, как будет показано в дальнейшем, анализ более общих случаев сводится к этому специальному. Положим Для специального случая (22.2), (22.3) приводимые ниже две леммы показывают, что при е-*0 решение задачи наименьших квадратов (22.1) сходится к решению задачи НКУ. ~ s! о о ... 0 - с = _ 0 Sm t 0 . . . 0 _ т j X п Е = 1„. , > 0, (22.2) (22.3) 8* 115
Лемма 22.4. Пусть С и Е - матрицы, определенные в (22.2) и (22.3). Тогда решение задачи НКУ в обозначениях (20.2), (203) запишется так: Xi = 1=ш, + 1 п. При этом длина невязки Ех - / равна (22.5) t)T (22.6) Лемма 22.7. Пусть С и Е - матрицы, определенные в (22.2) и (22.3). Единственное псевдорешение задачи (22.1) запишется так: = Зс,(е) = тЧл-?)И,+(т;)]) ■,'1 <22-8) I =mi + 1,. .. ,л. Лемму 22.7 легко проверить, построив и решив систему нормальных уравнений (СТС + $2 ЕтЕ)х = CTd + е2 ЕTf. При наших предположениях относительно С и Е эта система имеет диагональную матрицу коэффициен¬ тов, откуда легко следует (22.8). Чтобы удобно записать разность между Зс(е) и х, определим векторно¬ значную функцию h (в) соотношением */(е) - xt = e2hi(e), i = 1 п. (22.9) Согласно (22.5) и (22.8), Л,(е) = 1 + (e/s/)1 0, i = Wi + 1,... ,n. dl di *f2 fi-— < Sm, Si S/ 0, i - mi + 1,... ,n. I Л/(е) | < Вектор невязки для задачи (22.1) имеет вид [а/] “ [,£ ] *'(<) ’[ If ] - Ш * '**(,)| = - e2Ch(e) (22.10) = Sm, I//-*/1. (22.11) [ e(f- Ex) — e3Eh(e) ] (22.12) 116
Введем взвешенную евклидову норму Ы, = 1(-)а +...+( )2 +( - /е)2 +...+(• /е)2]1/2, (22.13) тогда ю-г = е4 #СЛ(е) И2 + II/- Ex - e2Eh(e) И2. (22.14) Из (22.10) видим, что х(е) -*• х при е-+0, а из (22.14) следует, что при е-0 При практических вычислениях представляет интерес вопрос, насколько малым следует взять е , чтобы гарантировать неразличимость х(б) и х, если их компоненты представлены машинными словами с относительной точ¬ ностью % Если все компоненты вектора х ненулевые, то это условие обеспе¬ чивается требованием, чтобы |eJA/(e)|< rf\xi\, /=1,...,я. (22.15) Оно будет удовлетворено при всех I е |< €0, если ( TJS? I di/Si I 1 177—Т"Г~Т: fi - * 0 ■ (22- 16) / Wfi-di/st \ I Согласно (22.9) и (22.11), для нормы разности между *(б) и х можно дать оценку А €2 II / - X II I Зй(в) — дс II < : . (22.17) Smi Поэтому, чтобы обеспечить выполнение неравенства И ic(e) - дс П < т? II х II, достаточно взять е, для которого I е | < е0, где tjs2 Вдс В eg = _^ (22.18) if-x\\ Заметим, что формула (22.18) неприменима, если II/-х 11= 0. В этом случае, однако, система (22.1) совместна и имеет одно* и то же решение при всех е Ф 0. Рассмотрим теперь задачу НКУ для более общего случая, когда С -тх X X л-матрица ранга к\ < гп\ < л, Е - т2 X л-матрица и ранг матрицы [СТ:ЕТ] равен л. Кроме того, предполагается,что уравнения связей Сх -d совместны. Подходящими заменами переменных мы сведем эту задачу к только что рассмотренному специальному случаю. Прежде всего заметим, что при I е | < 1 задача (22.1) эквивалентна задаче наименьших квадратов |(1-е2)1/2С1 \(l-e2)l/2d
где нл (22.20) Теперь мы проведем равномерное масштабирование задачи (22.19), умно¬ жив коэффициенты обеих частей на (1 — е2) ”^2. В результате получим задачу Рассмотрим 0?-разложение матрицы Е ': Е'-с'[о] Здесь Q — ортогональная матрица порядка т{ + т2, a R — невырожденная п X л-матрица. Полагая g = Qf\ Rx -у, (22.23) приходим к эквивалентной задаче наименьших квадратов (22.21) (22.22) т,{г CR'1 Т Г d Pin U- pg mx + m2 -n (L 0 J L } mx m! +w2. (22.24) Пусть CR'1 =USVT (22.25) есть сингулярное разложение матрицы CR _1 (см. теорему 4.1). Так как С имеет ранг кх, то это же верно для CR~l, и потому о s*l о о *1 }т1 -kt к\ п—кх . . . > s* >0. Разобьем # на два сегмента: g Г*1 1} я L 8г J> т\ + т2 - п Теперь после замены V y-z задача (22.24) переходит в эквивалентную задачу (22.26) * S - UTd - Pin г — pyTg\ 0 - - Pg2 - 118
Так как система Cx = d совместна, то di U d* d'ki (22.27) L о J Итак, задача (22.1) сведена к задаче (22.26), у которой матрица коэффи¬ циентов состоит из нулевой и двух диагональных матриц; одна из послед¬ них является скалярным кратным единичной матрицы. Из лемм 22.4 и 22.7 следует, что при стремлении р к нулю решение z (р) задачи (22.26) сходится к (единственному) решению z следующей задачи: минимизировать lz- VTg, II2 + IIII2 (22.28) при условии Sz = UTd. С Другой стороны, посредством подстановок Rx=y, (22.29) VTy = z, (22.30) где R и V определены соответственно в (22.22) и (22.25), задача НКУ (20.1) преобразуется в задачу (22.28). Поэтому, используя (22.29) и (22.30), находим, что вектор x(p) = R-'Vz(p) (22.31) есть (единственное) решение задачи (22.1) при р = е(1 — е2)_1/2, а вектор x = R~l Vz (22.32) есть (единственное) решение задачи НКУ (20.1). Чтобы записать разность между х (р) и х, заметим, что z (р) и z связаны соотношением ?(p)~z = p2fc(p), (22.33) где h - векторнозначная функция, получающаяся из (22.10) при соответ¬ ствующем изменении обозначений. Следовательно, (22.34) (22.35) (22.36) х(р) - х = p2R 1 Vh(p). Чтобы применить к задаче (22.26) оценки (22.11), положим d' = UTd, g = VTgl. Тогда из (22.11) и (22.34) выводим Г * 1 / d'j \г 11 /2 их(р)-х и<р2 IIЛ-' Us;2 [ д j * где g\ и d] - i-e компоненты векторов (22.35) и (22.36) соответственно. 119
Если хФ 0, то для того, чтобы вектор х (р) представлял jc с относитель¬ ной точностью т? (т.е. II х (р) - х II <т? И jc Я), нужно взять положительное р, не превосходящее р0, где Ро = V II х II s\ Полагая Ро (22.37) (22.38) (1 +pS)1/2 ’ видим, что решение х (е) задачи (22.1) удовлетворяет оценке П Jc (в) — jc II < г? II х II для € в интервале (0, е0] *). Следует подчеркнуть, что трюк, состоящий в рассмотрении различных расширенных задач (22.19), (22.21), (22.24), (22.26) и (22.28) и соответ¬ ствующих координатных замен, имеет целью лишь доказательство того, что при € “► 0 решение задачи (22.1) сходится к решению задачи НКУ (20.1). Не нужно терять из виду, что в любой реальной вычислительной про« цедуре, основанной на этих идеях, можно попросту прямо решать задачу (22.1), например, с помощью преобразований Хаусхолдера. Хотя значение е0 из формулы (22.37) дает верхнюю оценку для е, обес¬ печивающих полную относительную точность Т7 результата, оно включает в себя величины, которые обычно при решении задачи (22.1) не вычисляют¬ ся. Заметим, что ни математический анализ задачи, ни численная устойчи¬ вость метода Хаусхолдера [146] не накладывают ограничений снизу на допустимые значения I el . Единственное практическое ограничение уста¬ навливается значением L (см. гл. 15), характеризующим машинный нуль арифметики с плавающей запятой для данной машины. В качестве примера рассмотрим машину, для которой т? = 10~8 и L = Ю'38. Предположим, что все ненулевые коэффициенты матриц С,£ и векторов dy f имеют приблизительно порядок 1. С точки зрения практических запросов, скорей всего, достаточно, чтобы было е<771/2 = 10-4; кроме того, должно быть e>L = Ю-38. В этом широком диапазоне можно взять, например, е = 10-12. Проиллюстрируем этот весовой подход к решению задачи НКУ на приме¬ ре задачи (20.25) — (20.28). Сформулируем ее сейчас как взвешенную за¬ дачу наименьших квадратов (22.39) '0,408 7 0,1593 '0,1376 - 0,4302 е 0,3516 е xi 0,6593 € 0,6246 е 0,3384 е - . хг . -0,9666 е Задача (22.39) решалась на машине UNIVAC1108 программы HFTI для 40 значений е (е = 10'"г,г =1,. использовался режим смешанной точности с характеристиками т? = 2~2 7 * посредством под- .., 40); при этом = 0-2 7 10 -8,1 и и>= 2' -5 8 10-17’5. *) X (е) = Г(Р), где р = б(1 - е3)-1^2. (Примеч. пер.) 120
Таблица 22.1 г .<-> | г 6<г> 1 3,7 X 10-* 10 5,8 X 10'* 2 3,7 X 10-* • • f • • 3 3,6 X кг6 36 8,7 X 10'8 4 6,3 X 1<Г* 37 3,6 X 10“’ 5 2,6 X 10” 38 1 е - слишком мало; числа, б 9,1 х 10'* 39 умноженные на е , превра¬ 7 9,1 X 10-' 40 ) щаются в машинные нули 8 9 1,2 х 10"’ 4,5 X 10"* "Подлинное” решение х было вычислено методом гл. 20; во всех вычис¬ лениях использовалась арифметика с удвоенной точностью (10~18). С ок¬ руглением до 12 разрядов этот вектор имеет вид Г —1,17749898217 ' 1 3,88476983058 Относительная точность каждого приближенного решения дг*г* вычислялась по формуле Ил:<г> - jc II 1П—' Некоторые значения 6приведены в табл. 22.1. Из этой таблицы видно, что любое значение ев интервале от 10”4 до 1<Г37 дает приемлемое для режима обыкновенной точности (т? ^ 10"8,1) согласие с ’’подлинным” решением х. Упражнение 22.40. Пусть в (22.1) матрица С имеет размеры т1 Хл, матрица Е - размеры т2 Хл и т. — тj +т2. Обозначим через Н€ первую матрицу Хаусхолдера, которая была бы построена при приведении к треугольному виду матрицы | |. Положим к 0 Показать, что существует lim J e~l Н€ J€- Н . Вывести формулы, позволяющие е—0 вычислить векторы их и и2 с размерностями тх и т2 соответственно и скаляр Ь (как функции первой строки матрицы [ Ст: ЕТ ]) такие, что Н =/,„+*-[ ] [и? 0]. Доказать, что в произведении Я £ ^ J подди агональные элементы первого столбца равны нулю. Доказать также, что соответствующую последовательность из тх мат¬ риц типа Н можно использовать для аннулирования всех поддиагональных элемен¬ тов в первых т1 столбцах матрицы £ ^ j. Показать, что эта последовательность операций дает тот же результат, что и формулы (21.11) — (21.14). 121
ГЛАВА 23 ЛИНЕЙНЫЕ ЗАДАЧИ НАИМЕНЬШИХ КВАДРАТОВ С ЛИНЕЙНЫМИ ОГРАНИЧЕНИЯМИ-НЕРАВЕНСТВАМИ § 1. Введение Существует много приложений теории наименьших квадратов в мате- матике, физике, статистике, математическом программировании, эконо¬ мике, теории управления, общественных науках и других областях, где обычную задачу НК приходится переформулировать, включив в нее некото¬ рые ограничения в форме неравенств. В этих ограничениях заключена до¬ полнительная информация о задаче. Мы будем рассматривать только случай линейных неравенств. Для этой задачи в литературе предложено большое число методов. Особо отметим работы [67, 76, 174], в которых серьезное внимание уделено численной устойчивости. Рассмотрение задач наименьших квадратов с линейными ограничениями- неравенствами позволит нам, в частности, допускать такие ограничения на решение, как неотрицательность, или независимые верхние и нижние границы для отдельных переменных, или оценки для суммы всех пере¬ менных, или (в случае сглаживания) требование, чтобы кривая была мо¬ нотонной или выпуклой. Пусть /Г,/, G,h — соответственно т2 X п-матрица, т2-вектор, т X п-мат¬ рица, /w-вектор. Тогда задачу наименьших квадратов с линейными огра¬ ничениями-неравенствами можно сформулировать следующим образом. Задача НКН 23.1. Минимизировать \\Ex—f II при условии Gx>h. Будут подробно рассмотрены и важные частные случаи задачи НКН. Задача NNLS*) (наименьшие квадраты с условием неотрицатель¬ ности) . Минимизировать II Ex - f II при условии х > 0. Задача LDP **) {вычисление наименьшего расстояния). Минимизи¬ ровать II х II при условии Gx> h. Условия, характеризующие решение задачи НКН, дает теорема Куна- Таккера. Эта теорема формулируется и обсуждается в § 2 данной главы. В § 3 исследуется задача NNLS. Представлен алгоритм ее решения, называемый NNLS. Он очень важен для последующих алгоритмов главы. В § 4 показано, что наличие алгоритма для задачи NNLS позволяет пред¬ ложить элегантное и простое решение задачи LDP. Задача установления, совместна или нет заданная система линейных неравенств Сх> h, и отыскания в случае совместности какого-либо допус¬ тимого вектора возникает в различных контекстах. Разумеется, к ней мож¬ но применить алгоритм LDP. Для некоторых задач, связанных с совмест¬ ностью и допустимостью, этот метод может оказаться особенно полезным ввиду отсутствия в нем ограничений на ранг и соотношение строчной и столбцовой размерностей G. *) NNLS - Nonnegative Least Squares. {Примеч. пер.) **) LDP - Least Distance Programming. {Примеч. пер.) 122
В § 5 общая задача НКН с полным столбцовым рангом преобразуется в задачу LDP. Задача НКН с дополнительными ограничениями-уравнениями рассматривается в § 6. Наконец, в качестве приложения методов, развитых для задач с ограни¬ чениями, в § 7 разобран численный пример — сглаживание при наличии ограничений-неравенств. § 2. Характеризация решения Следующая теорема характеризует вектор, решающий задачу НКН. Теорема 23.4. {условия Куна-Таккера для задачи НКН). Вектор х размерности п тогда и только тогда будет решением задачи НКН (23.1), когда найдутся m-вектор у и такое разбиение множества {1, 2, . . . , т)на непересекающиеся подмножества & и S, что (?у = Ет (Ех - /), (23.5) г/«о, /е&, г,>о, ies, (23.6) й>0, Я = 0, jes, (23.7) где г = Gx - И. (23.8) Эта теорема поддается следующей интерпретации. Пусть gf - i-я строка матрицы G. Ограничение gjx > Л/ определяет допустимое полупространст¬ во {jc: gjx > hj) . Вектор gt ортогонален (нормален) к граничной гипер¬ плоскости этого полупространства; он направлен в сторону допустимого полупространства. Точка х является внутренней для полупространств, индексированных множеством S (S от слова ’’slack ’ - нежесткий), и лежит на границе полупространств, индексированных множеством & ( £ от слова "equality” — равенство). Вектор р = Ет(Ех — f) является градиентом для функционала \р (х) = = КЕх — f \\2/2 в точке х = х. Поскольку yt - 0 для / & , то условие (23.5) можно переписать в виде 2 М-*,)=-Р- (23.9) IG& Смысл этого равенства такой: антиградиент в точке х можно представить неотрицательной (у{ > 0) линейной комбинацией внешних нормалей (-gt) к тем граничным полуплоскостям, которые содержат х, i G &. Геометри¬ чески это означает, что антиградиент (—р) принадлежит выпуклому кону¬ су с вершиной в точке jc, порождаемому внешними нормалями (—gj). Всякое возмущение и вектора х, для которого вектор х + и остается до¬ пустимым, должно удовлетворять условиям uTgt >0 для всех /Е£. Умножая обе части (23.9) на такой вектор ити используя то, что yt > 0, заключаем, что и удовлетворяет также и неравенству итр> 0. Из тождест¬ ва </?(£ +и) =у(х) +итр+ II Ей Р/2 следует, что никакое допустимое воз¬ мущение х не может уменьшить значение у. 123
Вектор у (или противоположный вектор -.?), участвующий в формули¬ ровке теоремы Куна—Таккера, иногда называют двойственным векто¬ ром задачи. Обсуждение этой теоремы и ее доказательство можно найти в литературе по условной оптимизации (см., например, книгу [10]). § 3. Задача NNLS Задача NNLS определена в (23.2). Мы опишем сейчас алгоритм NNLS для ее решения. Будет доказана сходимость этого алгоритма в конечное число шагов. Поначалу заданы m2 X/7-матрица Ь\ целые числа т2 и п и т2-вектор/. Векторы w и z длины п являются рабочими. В ходе выполнения алгоритма определяются индексные множества 3* и 35 Переменные, индексированные множеством 36, имеют значение нуль. Переменные, индексированные мно¬ жеством 3>, могут принимать ненулевые значения. Если значение такой переменной неположительно, то алгоритм либо изменит его на положи¬ тельное, либо, установив нулевое значение, переместит индекс переменной из множества 3* в множество 36 По окончании работы алгоритма в массиве дг будет решение, а в масси¬ ве w - двойственный вектор. Алгоритм 23.10. NNLS (£, т2, /?,/, дг, w, z, 5й, 25 ) : 1. Положить 3* : = фу : = {1, 2,. . ., п ), х: = 0. 2. Вычислить w-вектор w: = ЕТ ( / - Ех). 3. Если множество i55 пусто или w, <0 для всех j €=26, перейти к шагу 12. 4. Найти индекс t Е 35 такой, что wt = шах { w/: / G 36 }. 5. Переместить индекс t из множества 35 в множество 3* . 6. Пусть Е <p — m2 X л-матрица, определяемая таким образом: Вычислить /7-вектор z как решение задачи наименьших квадратов Е ^z а ^/. Заметим, что эта задача определяет только компоненты ZfJE 3*щ Положить z j \ = 0 для / G 25 . 7. Если Zj >0 для всех / е , положить х: =z и перейти к шагу 2. 8. Найти индекс q Е. 3> такой, что Xq/(xq -zq) = min { Xjl(Xj - Zj)\ zf< 0, / G & ). 9. Положить a: = xq/(xq -zq), 10. Положить x: = дг + a (z - jc) . 11. Переместить из множества 3ъ в множество 35 все индексы / € & , для которых Xj = 0. Перейти к шагу 6. 12. Комментарий. Вычисления закончены. Полученный алгоритмом вектор х удовлетворяет соотношениям столбец / матрицы/Г : j столбец/ матрицы £, если/ Е , 3* [ 0, если/ € 35 . > 0, /€ Xj = 0, /е 25, (23.11) (23.12) и является решением задачи наименьших квадратов (23.13) 124
Двойственный вектор w удовлетворяет соотношениям иу = 0, /е^, (23.14) w/<0, /е 26 , (23.15) w*ET(f-Ex). (23.16) Соотношения (23.11), (23.12), (23.14) - (23.16) - это условия Куна- Таккера (см. теорему 23.4), характеризующие решение х задачи NNLS. Соотношение (23.13) является следствием (23.12), (23.14) и (23.16). Обсуждению сходимости алгоритма NNLS предпошлем следующую лемму. Лемма 23.17. Пусть А - тХп-матрица ранга п, а Ь - m-вектор, для которого АТЬ = 0J п — 1 (23.18) } 1 w > 0. (23.19) Если х - решение задачи Ах 2* b, то его п-я компонента хп > 0. (23.20) Доказательство. Пусть Q — ортогональная m X m-матрица, анну¬ лирующая поддиагональные элементы в первых /7-1 столбцах А, т.е. s и 1 ) п - 1 (23.21) <?[ m - п + 1 /i-l 1 1 где R - невырожденная верхняя треугольная матрица. Так как Q — ортогональная матрица, то из условия(23.18) следует RTu = 0, (23.22) jru + tTv = w > 0. (23.23) Поскольку R не вырождена, равенство (23.22) означает, что и = 0. Поэ¬ тому (23.23) сводится к (23.24) tTv - w > 0. Из (23.21) вытекает, что п-я компонента х„ вектора х сама является псевдорешением редуцированной задачи txn ss v. (23.25) Псевдообратной матрицей для столбца t является строка t r/(tT t). По¬ этому решение задачи (23.25) можно выписать в явном виде: W >0. (23.26) Хп = *1l tTt tTt Лемма 23.17 доказана. 125
Можно считать, что алгоритм NNLS состоит из основного цикла (цик¬ ла А) и внутреннего цикла (цикла В). Цикл В составляют шаги 6—11; единственный вход в цикл В — через шаг 6, а единственный выход- через шаг 7. Цикл А состоит из шагов 2—5 и цикла/?. Он начинается шагом 2; выход из цикла — через шаг 3. На шаге 2 множество ^определяет положительные компоненты теку¬ щего вектора х. Компоненты х, индексированные множеством 25, в этот момент равны нулю. Выбранный на шаге 4 индекс t указывает компоненту, не представлен¬ ную пока в множестве , которая в соответствии с леммой 23.17 будет положительна, если ее ввести в решение. На шаге 6 как раз и происходит ввод этой компоненты в пробное решение z. Если все прочие компонен¬ ты z, индексированные множеством 3* , остаются положительными, то на шаге 7 выполняется присваивание х: -z и возврат к началу цикла Л. В рас¬ сматриваемом случае множество 9* расширяется, а 25 уменьшается за счет переноса индекса t. Во многих задачах попросту происходит повторение этой последователь¬ ности событий с добавлением очередной положительной компоненты при каждом выполнении цикла А; в конечном счете произойдет выход через шаг 3. Если, однако, некоторая компонента, индекс которой находится в мно¬ жестве ZP, стала неположительной в векторе z шага 6, то шаг 7 вынуждает алгоритм остаться в цикле В и перейти от дг к х + a(z — х), 0 < а < 1. Мно¬ житель а выбирается как можно большим; нужно лишь сохранить неот¬ рицательность нового вектора х. Цикл В повторяется, пока в конце концов не произойдет выход через шаг 7. Конечность цикла В можно установить, заметив, что все операции внутри этого цикла определены корректно, что при каждом выполнении шага 11 по крайней мере один индекс, а именно индекс, называемый здесь q, уда¬ ляется из множества & и что zt всегда положительно (это следует из леммы 23.17). Если эт — число индексов в множестве 0й при входе в цикл В, то выход через шаг 7 должен произойти не позднее, чем через п — 1 пов¬ торений цикла. На практике выход из цикла В обычно происходит при пер¬ вом же достижении шага 7; при этом шаги 8—11 не выполняются вовсе. Конечность цикла А можно установить, заметив, что норма невязки р(х) = II/- Ex II строго уменьшается при каждом очередном достижении шага 2. Тем самым вектор х и ассоциированное с ним множество {/: xt > 0 } на шаге 2 каж¬ дый раз иные. Так как 3*есть подмножество в {1,. .., п } и таких подмно¬ жеств конечное число, то цикл А должен закончиться после конечного числа итераций. На ряде малых тестовых задач было замечено, что обычно цикл А требует около л/2 итераций. Модификация QR-р азложения матрицы Е. Задача наи¬ меньших квадратов, решаемая на шаге 6, отличается от задачи, решавшейся при предыдущем выполнении этого шага, либо тем, что на шаге 5 в задачу был включен дополнительный столбец, либо тем, что один или несколько столбцов Е были удалены на шаге 11. Если сохранено (^-разложение преды- 126
душей задачи, то для вычисления нового ^-разложения можно применить приемы модификации. Три метода модификации будут описаны в гл. 24. Учет эффектов машинной арифметики. Когда шаг 6 выполняется сразу вслед за шагом 5, то вычисленное на шаге 6 значение компоненты zt теоретически должно быть положительно. Если жег, вслед¬ ствие погрешностей округлений неположительно, то может произойти де¬ ление на нуль на шаге 8 или, возможно, будет неправильно вычислено а = 0 на шаге 9. Этих неприятностей можно избежать, проверяя значение zt после шага 6 в тех случаях, когда вход в этот шаг был из шага 5. Если окажется, что z,<0, это можно интерпретировать как указание, что значение wr, вычис¬ ленное на шаге 2 и участвовавшее в проверках шагов 3 и 4, следует скорее считать нулем, чем положительным числом. Поэтому можно положить wt: = 0 и вернуться к шагу 2. Результатом будет или выход через шаг 3, или присвоение / нового значения на шаге 4. На шаге 11 всякое вычисленное значение которого отрицательно (что может произойти только вследствие округлений), должно рассмат¬ риваться как нулевое, а его индекс нужно переместить из множества ZP в множество Проверка знаков ziyi Е 3* , на шагах 7 и 8, по-видимому, не является критической. Возможные погрешности в классификации не должны иметь серьезных последствий. § 4. ЗАДАЧА LDP Решение задачи LDP (23.3) можно получить путем подходящей норми¬ ровки вектора невязки соответствующей задачи NNLS (23.2). На этот метод решения задачи LDP (и на его обоснование) внимание авторов об¬ ратил Аллан Клайн. Пусть даны т X л-матрица G, целые числа т и п и w-вектор //. Если сис¬ тема неравенств Gx > h совместна, то логической переменной \р в алгорит¬ ме будет присвоено значение TRUE и будет вычислен вектор х минималь¬ ной длины, удовлетворяющий этой системе. Если же неравенства несовмест¬ ны, то алгоритм полагает <р = FALSE, и вектору л* не приписывается ника¬ кого значения. Рабочие массивы, необходимые алгоритму, не включены в его список параметров. Алгоритм 23.27. LDP (G. т, п, И, х, \р): 1. Определим (w+ 1) Хт-матрицу£ ил+ 1 -вектор / следующим образом: п Посредством алгоритма NNLS вычислить /и-вектор и, решающий задачу NNLS: Минимизировать II Ей— f II при условии и > 0. 2. Вычислить п + 1-вектор г: = Ей - /. 3. Если II г II = 0, положить v?: = FALSE и перейти к шагу 6. 4. Положить \р: =TRUE. 5. Длявычислить Xj : = - г,-/гп+,. 127
6. Вычисления закончены. Обоснование алгоритма LDP. Рассмотрим прежде всего задачу NNLS, решаемую на шаге 1 алгоритма LDP. Для целевой функции II Ей — /II2/2 значением градиента в точке и будет вектор р = Етг. (23.28) Согласно условиям Куна-Таккера (теорема 23.4), для этой задачи NNLS существуют непересекающиеся индексные множества 6 и S такие, что &U 5= {1,2,...,т>, (23.29) и,- = 0, /€£, Uj> О, / €Е5, (23.30) р(>0, /S&, /;, = (), /€5. (23.31) Используя соотношения (23.28) — (23.31), получаем IIHI2 = гтг = гт[Еи —/] =рти-гп+1 =-г„+j. (23.32) Рассмотрим случай, когда на шаге 3 II г II >0. Согласно (23.32), это означает, что гп+х < 0, поэтому деление на г„+1 на шаге 5 возможно. Ис¬ пользуя (23.31), (23.32) и соотношения шагов 2 и 5, устанавливаем до¬ пустимость вектора х: 0 < р = ETr = [G : И] • I ~ I (-rn + l) = (Gx - h) II гII2. (23.33) Следовательно, Gx>h. (23.34) Из (23.31) и (23.33) вытекает, что строки системы (23.34), индекси* рованные множеством S, являются в действительности точными равенст* вами. Градиент для целевой функции IIлгII2/2 задачи LDP - это попросту вектор х Условия Куна-Таккера, характеризующие вектор х, который минимизирует IIдг112/2 при условии Gx> Л, требуют, чтобы градиент х был представим неотрицательной линейной комбинацией строк G% ассо¬ циированных с равенствами в системе (23.34), т.е. строк G, индексиро¬ ванных множеством 5. Согласно описанию шагов 2 и 5, используя (23.32), имеем '1 (—^« + 1 )-1 = GTu(-r„ + lYl =GTu II г И'2. -[■] Условия (23.30) для знаков компонент м/ показывают, что х есть реше¬ ние задачи LDP. Очевидно, что это решение будет единственным. Действительно, если £ - другое решение, то Ид*II = IIjciI и вектор х = (.? + *)/2 - допустимый вектор, длина которого строго меньше длины х. Это противоречит тому А что -Y - допустимый вектор с минимальном длинои. Теперь рассмотрим случай, когда на шаге 3 II г II =0. Нужно показать что система неравенств Gx> h несовместна. Предположим противное 128
т.е. что существует вектор 5с, для которого Gx > h. Положим Тогда 0= —1] г- [хт: -1] Это последнее вьфажение не может быть равно нулю, так как q > 0 и и > 0. Из полученного противоречия заключаем, что условие II г II =0 влечет за собой несовместность системы Gx>h. Это завершает мате¬ матическое обоснование алгоритма LDP. § 5. Преобразование задачи НКН в задачу LDP Рассмотрим задачу НКН (23.1) с m2 X «-матрицей Е ранга п. Различны¬ ми способами (см. гл. 2—4) можно получить ортогональное разложение матрицы Е Здесь Q — ортогональная m2 X т2 -матрица, К — ортогональная п X «-матри¬ ца и R - невырожденная п X «-матрица. Кроме того, матрицу R можно выбрать треугольной или диагональной. Произведем ортогональную замену переменных Целевую функцию, минимизируемую в задаче НКН, можно тогда записать в виде цгегл \Ry\V *(*)= if-ExV = || j -10 ]|= ■/» -я^1'2 +ll/j||2> (23-37> Таким образом, исходная задача минимизации II/ — £*11 при условии Gx> h эквивалентна, с точностью до аддитивной константы II/2II2 в целе¬ 123.35) х = Ку. (23.36) где (23.38) После еще одной замены переменных z=Ry-h (23.39) мы можем написать *(*)= II z II2 + И/2Н2. (23.40) 9.4. Лоусон 129
вой функции, следующей задаче LDP: Минизироватъ II z II (23.41) приусловии GKR~lz>h -GKR~lfx. Если вычислить решение z этой задачи LDP, то решение х исходной задачи НКН можно получить с помощью соотношений (23.39) и (23.36). Квадрат нормы невязки для исходной задачи можно вычислить по фор¬ муле (23.40). § 6. Задача НКН с ограничениями-уравнениями Рассмотрим задачу НКН (23.1), к которой добавлена система ограни- чений-уравнений Cm^ Xnx = d, где rank С = m г < п и rank [СТ : Ет] = п. Эти ограничения можно исключить с соответствующим сокращением числа независимых переменных. Для этой цели годятся методы гл. 20, 21. Если использовать метод гл. 20, то выполняется ортогональная замена переменных ■ y2j)n-ml (23.42) где К — матрица, которая приводит С к треугольному виду : (23.43) Гс | Гсг о \е U= Ei е2 L G J L G, G2 После этого из нижней треугольной системы С\У\ = d определяется у!# а затему2 как решение следующей задачи НКН: Минимизировать II Е2у2 (/* Е\У 1) II (23.44) приусловии б2у2 > h - Giyi. Как только из (23.44) определен вектор у2, по формуле (23.42) вы¬ числяется решение х исходной задачи. Если используется метод гл. 21, то по формулам (21.11) —(21.14) нуж¬ но вычислить величины Qi, С\, C2,dt Ex, Е2, /; кроме того, из нижних треугольных систем определяют матрицу G х: GlC1 =Gj. (23.45) После этого находят вектор х2 как решение следующей задачи НКН: Минимизировать IIЕ2х2 -/II (23.46) при условии (G2 — дхс2) х2> h - Gxd. 130
Наконец, решая верхнюю треугольную систему C\Xi — d > вычисляют вектор хх. (23.47) § 7. Пример выравнивания при наличии ограничений В качестве примера, который иллюстрирует ряд приемов, описанных в этой главе, рассмотрим задачу выравнивания экспериментальных данных при некоторых ограничениях на аппроксимирующую прямую. В следующей таблице приведены исходные данные задали: t W t W 0,25 0,5 0,50 0,7 0,50 0,6 0,80 1.2 Мы хотим найти прямую /(0 -Xit +х2, которая аппроксимирует эти данные в смысле метода (23.48) наименьших квад- ратов при следующих ограничениях: 0, (23.49) /(0) > 0, (23.50) /(1)<1. (23.51) Эту задачу выравнивания можно представить в форме задачи НКН: Минимизировать |£х-/1 (23.52) при условии Gx> И, где Е = "0,25 i~ Г" о 0,50 1 , / = 0,6 0,50 1 0,7 _ 0,80 1 _ -1,2- Г 1 °1 [ - 0-1 ° 1 ’ л = 0 -1 - J 1 — 1 J Чтобы (как это описано в § 5) свести задачу НКН к задаче LDP, вычис¬ лим ортогональное разложение матрицы Е. Годятся и сингулярное разло¬ жение Е, и (Ж-разложение £ Проиллюстрируем применение сингуляр- 9• 131
но го разложения: Е = U4 х 4 -1,536 = UTf 0,384 -0,054 - 0,174 J Выполним замену переменных z=SVTx-Jx. Теперь нужно решить следующую задачу LDP: Минимизировать II z Н (23.53) (23.54) при условии Gz > Н,где '-0,207 G = GVS~l = -0,392 0,599 2,558 -1,351 -1,206 1-l,300l -0,084 < 0,384 J Графическая интерпретация этой задачи дана на рис. 23.1. Каждая строка расширенной матрицы [G: И ] определяет граничную прямую области Р и с. 23.1. Графическая интерпретация иллюстративной задачи LDP (23.54) допустимых значений. Решение х есть точка этой области, ближайшая к началу координат. Вычисления по алгоритму LDP дают ?.[ °'i27i L—0,255 J 132
Рис. 23.2. График выравнивающей прямой одя иллюстративной задачи (23.48) —(23*51) Невязка для решения х имеет вид Теперь,согласно(23.53),находим x=fs-*(?+7,) = Г 0,6211 [ 0,379 | 0,5 Л г г, Л r=f-Ех= I? II = 0,338. О 0,25 0,50 0,8 1,0 На рис. 23.2 показаны заданные точки (fy, w/), I = 1,. .. , 4, и вырав¬ нивающая прямая /(/) =0,621 Г + 0,379. Отметим, что третье ограничение /(1) < 1 оказывается активным и влияет на точность аппроксимации заданных точек. Числовые значения, указанные в разборе данного примера, были полу¬ чены на машине UNIVAC 1108. Когда та же фортранная программа выпол¬ нялась на IBM 360/67, то промежуточные величины К,/1, G,z были вычис¬ лены с противоположными знаками. Это является следствием того обстоя¬ тельства, что знаки столбцов матрицы V из сингулярного разложения не определены однозначно. Разное число итераций, потребовавшееся при вычислении сингулярного разложения матрицы Е на двух машинах с раз¬ личной длиной слова, привело к разному приписыванию знаков матри¬ цам U и V. Упражнения 23.55. Доказать, что если задача НКУ имеет единственное решение без ограниче¬ ний-неравенств, то она имеет единственное решение и при наличии таких ограниче¬ ний*). т 23.56. Показать, что задача минимизации квадратичной функции f (х) =х1Вх!2 +а х, где В - положительно определенная матрица, заменой переменных w= Fx - g и подходящим выбором невырожденной матрицы F и вектора g сводится к задаче минимизации Я w И2 /2. 23.57. Если функцию fix) из упражнения 23.56 нужно минимизировать при нали¬ чии ограничений Cx-d и Gx>h, то каковы будут соответствующие ограничения в эквивалентной задаче минимизации II wH3 /2? *)Разумеется, в случае совместности с дополнительными ограничениями. {Примеч. пер.) 133
ГЛАВА 24 МОДИФИКАЦИЯ QR -РАЗЛОЖЕНИЯ МАТРИЦЫ ПРИ ДОБАВЛЕНИИ ИЛИ УДАЛЕНИИ СТОЛБЦОВ Эффективность алгоритма гл. 23 для задачи НКН связана с возмож¬ ностью эффективно решать последовательность задач наименьших квадра¬ тов. Мы видели, что в алгоритме NNLS (см. 23.10) матрица коэффициен¬ тов на каждом шаге получается из предыдущей добавлением или удалением столбца (не являющегося линейной комбинацией остальных). Поэтому мы обсудим такую задачу. Пусть п> 0 и ах, .. ., ап — система т-векторов. Рассмотрим матрицу где Rk — порядка к невырожденная верхняя треугольная матрица*), a Q - ортогональная матрица. Как только Q и Rk вычислены, решение задачи требующей лишь очень небольшой дополнительной работы. Рассмотрим задачу о вычислении QR -разложения матрицы, полученной из Ак удалением или приписыванием столбца, и постараемся извлечь выго¬ ду из имеющегося -разложения матрицы Ак. Опишем три полезных метода модификации Q/?-разложения. Как показывает (24.4), модифи¬ кация Q и Я, по существу, дает способ модификации матрицы Ак. Метод 1. Предположим, что Q хранится как явно вычисленная**) орто¬ гональная т X ш-матрица, a R — как верхняя треугольная к X ^-матрица. Приписывание вектора. Пусть ак+х - вектор, не являющийся линейной комбинацией столбцов Ак. Составим расширенную матрицу Вычислим произведение bk+x = Qak+X, где Q - матрица из (24.2). Постро¬ им матрицу Хаусхолдера Qk+X так, чтобы вектор rk+l = Gfc+i^*+i имея нулевые компоненты в позициях к + 2, ..., т***). Тогда QR-разложение матрицы Ак+Х дает формула ***)Сохранив неизменными компоненты с номерами 1,..., к. (Примеч. пер.) Ак - [а\ • • Я*] и -разложение этой матрицы (24.1) (24.2) Акх~Ь можно найти по формуле *= [V: 0] Qb= A\b, (24.3) (24.4) Лк+1 = [Лк - • (24.5) *)Система д,,... , ап считается линейно независимой. (Примеч. пер.) не факторизованная, как в методе 2. (Примеч. пер.) 134
где *-e*-c' шкы Удаление вектора. Пусть матрицаАк из (24.1) модифицируется удалением столбца dj, в результате чего получается матрица Ак-1 = [«I • • • «/-1 1 ... в*]. (24.6) Если положить QAк-1 = lri • • • 0— 1 r/+1 • • • Г*Ь (24-7) го каждый вектор rf имеет нули в позициях / + 1, . . . , т (см. [76, 174]). Введем матрицу G*C*-1 ... GfQ, (24.8) где (?/ - вращения Гивенса, выбранные так, чтобы матрица -■■И QA/c-i =1 I (24.9) была верхней треугольной. Матрица G, оперирует со строками / и / + 1 и позволяет получить нуль в позиции (/ + 1, /) произведения G, . .. GjQAk~ i. Метод 1 требует т2 машинных слов для хранения Q и /(/ + 1)/2 слов для хранения R. Здесь /, / <т, - наибольшее число векторов а5, исполь¬ зуемых одновременно. Метод 2. Вместо явного хранения матрицы Q, как в методе 1, мы будем теперь считать, что Q задана как произведение к преобразований Хаус¬ холдера с = &... Gi. (24.10) Для каждой матрицы Ql-fm +bJlUiU? (24.11) хранятся лишь ненулевые элементы вектора ы,-, а также используется еще одна ячейка. Матрица R по-прежнему хранится как верхняя треугольная к X ^-матрица. Приписывание вектора. Пусть система столбцов (24.1) расши¬ рена с сохранением свойства линейной независимости до системы [а г . .. ...a*+ib Вычислим произведение = Qk . . mQxak + x. Построим преоб¬ разование Хаусхолдера Qk+ х так, чтобы вектор Qk+\ bk + x = />+i имел нули в позициях к + 2,. .. , т *). Тогда формула гм Qk+ 1 (Qk • Q\) И к • “ I I Q Г rk+l дает ДО~разл°жение расширенной матрицы. (24.12) *)См. примечание на стр. 134 Щримеч. пер.) 135
Удаление вектора. Снова рассмотрим матрицу Л*-1 из (24.6). Запишем более подробно формулу, определяющую QR-разложение матри¬ цы А к: (24.13) Х~-Ц *-/+1 Я\г ' } /-* 0 л» > *-/+1 .0 0 _ } т —к Qk • • • QlAfc “j Представим искомое QR-разложение Ак_х в виде QAk. В матрицу R в качестве ведущей главной подматрицы порядка j — 1 входит та же, что и в (24ЛЗ), матрица Rn. Поэтому нужно найти только послед¬ ние к — у столбцов R. Одна из возможностей состоит в том, чтобы на место подматрицы R'nl R'l 2 о J записать систему [яу+1 . .. ак\. Далее вычисляем произведение Qj-1 • • • Gl[fl/+1 • • •Я*] -Sm X (Аг—/)- (24.14) Наконец, строим новые преобразования Хаусхолдера Q\ так, чтобы к — / А r12 Qk-x-.Q'jS = R 22 О }/-! }*-/ , )т^к +1 где R22 - верхняя треугольная матрица. QR-разложение матрицы Ак_ у теперь имеет вид Rn Ri 2 Qk-i • • ■ Q’jQi-i ■ •. Q\Ak_x = о r12 Lo о „ Иначе матрицу S из (24.14) можно построить по формуле ГR\i ( [Sj: 5], а-, = б/ - 1 • • • Qiah QjQf+i ■ ■ Qk r'21 о (24.15) где Я'12 и R22 определены в (24.13). Метод 2 требует (/и+ 1) / машинных слов для хранения информации, определяющей Q и R. Здесь I, К т, — наибольшее число векторов aSf используемых одновременно. Вариант метода 2, опирающийся на форму¬ лу (24.14), требует дополнительного т X л-массива для хранения копии векторов Я|, . ... аП9 с тем чтобы при необходимости использовать их в вычислениях по этой формуле. Во втором варианте метода 2, использующем соотношение (24.15), устраняется необходимость в хранении копий векторов Д/+1, ..., ап. Поэтому вся информация о -разложении матрицы Ак и векторы Д/, 136
не включаемые в данный момент в число столбцов А к, могут быть (с точ¬ ностью до дополнительных 3т ячеек) хранимы единым тХп-массивом. Метод 3. В этом методе все содержимое массива WmX(n+i), который поначалу хранит исходные данные задачи [АтХ п • ЬтХ i] » модифицирует¬ ся каждый раз, когда приписывается или удаляется из базиса очередной вектор. Столбцы верхней треугольной матрицы Rk из (24.2) занимают некоторые к столбцов массива. W. Матрица Q из этой формулы не хранится. Пусть 9*ъ = {pi, ..., Рк) - подмножество в (1, . .., и}, определяю¬ щее столбцы А, введенные в базис. Порядок чисел р/ в множестве важен. Пусть Ак — wX ^-матрица, образованная столбцами А, которые индексированы множеством 3* в порядке pi, . . . , р*. Пусть Q - орто¬ гональная матрица из формулы (24.2). Тогда в массиве W находится тХ (и+ 1) -матрица Q[A :Ь]. Это значит, что /-й столбец Rk хранится в столбце Pf массива W. В рассматриваемом методе может оказаться удоб¬ ным явное хранение нулевых элементов, полученных преобразованиями Хаусхолдера или Гивенса. Припи сывание вектора. Пусть Рк+1 - индекс столбца А, приписываемого к базису. Составим новое индексное множество присоединяя к & к индек рк+|. Построим преобразование Хаусхолдера Я, которое в столбце р*+1 массива W аннулирует элементы, находящиеся ниже строки к + 1 *). Умножим на Н слева весь массив W. Удаление вектора. Снова предположим, что &к определяет текущий базис. Пусть из базиса нужно удалить столбец р/, 1 </ <к. Для /=/ + 1, ..., к построим вращение Гивенса G,, оперирующее со строками /-1 и / и аннулирующее элемент W в позиции (/, р/). Умножим на G, слева весь массив W. Образуем новое индексное множество к- i, полагая р/: =р,*, / = 1, . . . 1, и Р/: = Р,*+ ь *= /> •• • > к — 1. В этом методе требуется лишь тХ (п + 1)-массив W, содержащий поначалу исходные данные [А :Ь]. Если на последующих этапах вычислений потребуются копии этих данных, то для их хранения должен быть выделен дополнительный массив. ГЛАВА 25 ПРАКТИЧЕСКИЙ АНАЛИЗ ЗАДАЧ МЕТОДА НАИМЕНЬШИХ КВАДРАТОВ § 1. Общие соображения В этой главе мы обсудим стратегию планирования и интерпретации при практическом решении задач метода наименьших квадратов. Мы будем рассматривать случай т> п, который является центральным для нашей книги. Пользователь, от которого исходит задача наименьших квадратов (име¬ нуемый в дальнейшем хозяином задачи), должен обзавестись начальными *)См. примечание на стр. 134 {Примеч. пер.) 137
данными и построить или выбрать математическую модель, а часто также и модель статистическую. В какой-то момент своей работы он достигает этапа, когда у него имеются матрица А и вектор b, и нужно найти вектор х, который минимизировал бы евклидову норму вектора невязки г = Ь — Ах. (25.1) Хозяин задачи должен еще иметь информацию о неопределенности в задании коэффициентов матрицы А и вектора Ь. Зачастую у него есть и априорная информация относительно решения задачи. Она может состоять в примерном предварительном знании области разумных значений для некоторых или всех компонент решения. Другой возможный вариант предварительной информации — требование, чтобы все или часть компо* нент были неотрицательны. С очень общей точки зрения имеются два главных соображения, которые нужно учитывать при численном решении задачи. Важно разделить их. 1. Вычислительная погрешность может быть снижена до уровня, когда она является пренебрежимо малой в сравнении с неопределенностью реше¬ ния, вызванной неопределенностью во входных данных задачи. 2. Комбинированный эффект априорной неопределенности в А и Ъ и обусловленности матрицы А может привести к ситуации, когда имеется ряд существенно различающихся векторов х, которые дают для нормы невязки г приемлемо малое значение. Мы обсудим приемы, позволяющие обнаружить такую ситуацию, и некоторые методы управления выбором конкретного решения из множества решений-кандидатов. Остановимся более подробно на соображении 1. Предположим, что имеющаяся информация о неопределенности в А и Ъ может быть выражена следующим утверждением. Известны числа у и ф такие, что всякая матри¬ ца вида А + Е, где (25.2) и всякий вектор вида b + dby где иь\\<ф, (25.3) приемлемы для хозяина задачи в качестве замены наличных входных данных А и Ь. Для сопоставления с этими параметрами и ф неустранимой погреш¬ ности введем, пользуясь оценками (16.3) и (16.4), следующие две функ¬ ции от 17: /(r?) = (6m - 3п +41 )л3/2 \\А Вт?, (25.4) ф'(Я) = (бет - 3п + 40) п IIЪII т?. (25.5) Мы заменили в (16.3) величину М HF ее верхней оценкой п^2 Ml. Игнорируя в (16.3) и (16.4) члены 0( 172), мы извлекаем из теоре мы 16.1 такой вывод: если 17 выбрано настолько малым, чтобы *'(*)<*, (25.6) Ф’(‘П)<Ф, (25.7) то решение, вычисленное в арифметике с постоянной точностью 17, явля* 138
ется точным для некоторой задачи, исходные данные которой отличаются от заданных А и Ъ возмущениями, удовлетворяющими оценкам (25.2) и (25.3). Аналогично в случае вычислений со смешанной точностью для выбора ?? ио)(<1|2) мы можем с помощью (17.13) и (17.14) определить функции /(п)=ЗОи3/2 IUIItj, (25.8) ^"(17) = 29п НЫ1т7. (25.9) Возьмем 1? такое, чтобы /(*)<*, (25 Л 0) ФЪ)<Ф. (25.11) При этом выборе г? и т?2 мы заключаем по теореме 17.11, что вычислен¬ ное решение является точным для возмущенной задачи, причем возмуще¬ ния будут меньше, чем априорная неопределенность, описываемая оценка¬ ми (25.2) и (25.3). Напомним, что множители перед произведениями \\Л И г? и IIЬII т/ в фор¬ мулах (25.4), (25.5), (25.8) и (25.9) были получены в предположении о наихудшем накоплении погрешностей округлений. Как показывает практика, замена этих множителей квадратными корнями из них дает обычно более реалистическое представление о величине возмущений, эквивалентных вычислительным погрешностям. Перейдем теперь к соображению 2. Полезно формализовать понятие "приемлемо малого” вектора невязки. Предположим, что мы готовы принять невязки с нормами, не превосходящими некоторого числа р. Тогда можно определить множество приемлемых решений так: Х = (х: \{А +E)i-(b +db)\\< р, \\Е\\<у, (25.12) отметить, что определение множества X опирается на три допуска у, ф и р, которые следует выбирать, исходя из имеющейся информации о задаче и ее входных данных. Формулируя (25.12), мы ставим своей целью не столько утвердить именно это определение, сколько придать некоторую степень конкрет¬ ности общей идее множества приемлемых решений, а также указать вели¬ чины, от которых зависит ’’размер” этого множества. Чтобы оценить ’’размер” множества X, заметим прежде всего, что X будет не ограничено, если rank А < п или <0 и к (где к обозначает число обусловленности Л) настолько велики, что к<р/\\А II > 1; в этом послед¬ нем случае А + Е будет вырождена для некоторой матрицы Еу Ill’ll С другой стороны, в случае ranki4 =/i и K<pj \\А II < 1 оценки возмуще¬ ний (9.13) или (9.14) позволяют получить полезную информацию о диа¬ метре множества X. Присутствие параметра р в определении X может по¬ вести к дальнейшему увеличению его размера. Если множество X ’’велико” в том смысле, что содержит векторы, значительно отличающиеся друг от друга, то приходится выбирать какое- либо конкретное решение из X. При широком взгляде на дело в этот про¬ цесс выбора можно включить любые шаги, которые может предпринять хозяин задачи, с тем чтобы путем ее преобразования уменьшить множество решений (сохраняя, как правило, вложенность в X). 139
Критерий, используемый для уменьшения размера множества X, зависит от конкретного приложения. Очень распространена ситуация, когда задача Ах = Ъ получается в результате локальной линеаризации нелинейной задачи наименьших квадратов. Это уже отмечалось в гл. 1. В подобном случае предпочтительным обычно является выбор из X вектора х с наименьшей нормой; такой выбор снижает вероятность выхода из области, где b — Ах - хорошее приближение к нелинейной задаче. Что касается преобразования исходной задачи наименьших квадратов, то было предложено множество конкретных процедур, опирающихся на различные мотивировки (статистические, математические, численные, эв¬ ристические и т.д.). Большинство этих процедур заключается в выполнении одной или более из операций следующего списка (не обязательно в указан¬ ном порядке) : 1. Левое умножение Л и Ъ на т X m-матрицу G. 2. Правое умножение А на п X п-матрицу Н и соответствующая замена переменных х = Нх или х - Нх + £. 3. Приписывание дополнительных строк к А и дополнительных элемен¬ тов к Ь. 4. Присвоение фиксированных значений (часто нулевых) некоторым компонентам решения. Это можно сделать по отношению как к исходно¬ му, так и к преобразованному набору переменных. В § 2—5 мы рассмотрим подробно каждую из этих четырех операций. Наконец, в § 6 будет описан сингулярный анализ. Под этим термином мы подразумеваем вычисление ряда величин, которые можно извлечь из сингулярного разложения матрицы А, а также их интерпретацию как средст¬ во, чтобы достигнуть понимания неопределенностей в задаче Ах = Ъ и выбрать полезное решение. Разумеется, задача Ах^Ъ, к которой приме¬ няется сингулярный анализ, может быть получена в результате предвари¬ тельного использования операций, описываемых в § 2—5. / § 2. Левое умножение А и b на матрицу G Эта операция изменяет норму, в которой оценивается величина вектора невязки. Таким образом, задачу выбора х из условия минимума (Ь — Ах) Т(Ь — Ах) мы заменяем на задачу минимизации величины (Gb — GAx) т (Gb — GAx), которую можно записать также как (Ь — А х)тХ X (GTG) (b - Ах) или как (b -Ax)TW(b - Ах), где W= GTG. Очень часто используется специальный случай, когда G — диагональная матрица. Тогда и матрица W диагональная. В этом случае левое умножение на G можно интерпретировать как операцию масштабирования строк, в которой /-я строка расширенной матрицы [А : Ь] умножается на число£//. Положим г = b — Ах, (25.13) r=Gr= Gb -GAx. (25.14) Таким образом, если матрица G диагональная, то нужно минимизировать величину m m II7IP = 2 g%r}= 2 Wiirl (25.15) 1=1 1=1 140
Говоря нестрого, приписывание /-му уравнению относительно большого веса |£//| (или, что эквивалентно, wi{) имеет тенденцию уменьшать компо¬ ненту | Г/| в результирующей невязке. Поэтому если некоторые компонен¬ ты исходного вектора Ъ известны с большей абсолютной точностью, чем другие, то может оказаться желательным введение для соответствующих строк сравнительно больших весов. Описанную процедуру для диагональной матрицы G обычно называют взвешенными наименьшими квадратами. Чтобы дать систематический метод для приписывания весов, предположим, что с каждой компонен¬ той bf исходного вектора b можно связать положительное число oiy указы¬ вающее приблизительный размер неопределенности в Ь{. Если имеется соответствующая статистическая информация относительно Ьу то обычно в качестве Ст/ берут среднеквадратичное отклонение неопределенности в bt. Тогда веса определяются, как правило, формулой gu = \/о( или, что эквивалентно, wit= 1/а*. Заметим, что при^ таком^ масштабировании все компоненты модифицированного вектора Ь, т.е. Ь/ =gubt = bi/o{y имеют неопределенности со среднеквадратичным отклонением 1. Более общо, если имеется достаточная статистическая информация относительно неопределенности в векторе Ь для того, чтобы приписать числовые значения корреляции погрешностей в различных его компо¬ нентах, то эту информацию можно представить в виде положительно опре¬ деленной симметричной ковариационной т X m-матрицы С (эти статисти¬ ческие понятия подробно обсуждаются в книге [144]). Тогда можно вычислить разложение Холесского матрицы С в соответствии с формула¬ ми (19.5) и (19.12) — (19.14), т.е. найти нижнюю треугольную матрицу F, для которой C = FFT. После этого весовую матрицу G можно определить как G = F~l. Нет необходимости вычислять обратную для F в явном виде. Более экономичный метод состоит в прямом вычислении взвешенной матрицы [А :Ь] путем решения систем F[A:b] = [A:b] с треугольной матри¬ цей F. Если G получена описанным способом из априорной ковариационной матрицы погрешностей в b, то ковариационная матрица погрешностей в преобразованном векторе b будет единичной. Как статистические, так и всякого рода иные соображения свидетельст¬ вуют в пользу выбора матрицы G, обеспечивающей примерное равенство областей неопределенности для всех компонент преобразованного вектора b = Gb. В результате евклидова норма становится разумной мерой вектора погрешности db из (25.3). § 3. Правое умножение А на матрицу Н и замена переменных х = #jc+ £ Здесь задача Ах^Ъ (25.16) заменяется задачей Ах^Ьу (25.17) 141
где А=АН, Ь = Ъ-А$, х=Нх + 1 (25.18) (25.19) (25.20) Матрица И имеет размеры л X /, причем /< л. Вектор х- I-мерный, а А — т X /-матрица. Если Н — диагональная л X п-матрица, то такое преобразова¬ ние можно интерпретировать как применение к А операции масштабирова¬ ния столбцов. Для невырожденной л X л-матрицы Н преобразование не меняет задачу математически. Таким образом, множество векторов вида х = Нх + £, где х минимизирует II Ь — Ах II, совпадает с множеством векторов х, миними¬ зирующих II b - Ах II. Если, однако, Н — неортогональная матрица, то число обусловленности А, вообще говоря, отличается от числа обусловленности А. Поэтому если используется алгоритм, в котором нужно определять значение псевдоранга А (например, алгоритм HFTI (см. 14.9) или алгоритм сингулярного разло¬ жения (18.36) —(18.45)), то для матрицы А это значение может быть выбрано иным. Кроме того, если для псевдоранга установлено значение к, меньшее л, а затем вычисляется решение с минимальной длиной для задачи ранга к, то использование неортогональной матрицы Н изменяет норму, посредст¬ вом которой измеряется ’’величина” решения. В общем случае это приводит к тому, что в качестве решения с ’’минимальной длиной” выбирается другой вектор. Если в задаче (25.16) решение с минимальной длиной - это решение, минимизирующее II дг II, то в преобразованной задаче (25.17) решением с минимальной длиной будет решение, минимизирующее ||*||. Это равносильно минимизации II H~l(x - £) Н вместо минимизации || х||. По поводу критерия для выбора Н заметим прежде всего, что исполь¬ зование спектральной нормы для матрицы возмущения Е в (25.2) будет реалистическим только тогда, когда абсолютные неопределенности всех элементов А имеют примерно одинаковую величину. Поэтому если имеются индивидуальные оценки неопределенностей для элементов А, то матрицу Н можно выбирать как матрицу, масштабирующую столбцы А, с тем чтобы уравновесить величины неопределенностей в них. Сходный критерий можно получить на основе априорной информации о решении х. Предположим, известно, что решение* должно быть близко к заданному вектору £ (априорно ожидаемому значению дг). Пусть далее для каждого i имеется априорная оценка а, неопределенности в £/ как оценки Тогда в качестве Н можно взять диагональную л X л-матрицу с диагональными элементами Oi имеют единичную априорную неопределенность и нулевые априорно ожидае¬ мые значения. 142 hu = Oj. В таком случае преобразованные переменные (25.21) (25.22)
Более общо, если имеется достаточная априорная статистическая инфор¬ мация для того, чтобы построить положительно определенную априорную ковариационную п X п-матрицу С, описывающую неопределенность в £, то Н можно вычислить как верхний треугольный множитель Холесского этой матрицы (см. (19.16)-(19.18)) : Тогда априорная ковариация преобразованного вектора х из (25.20) будет единичной и X и-матрицей, а априорно ожидаемое значение ic будет нулевым вектором. Если для задачи определено значение псевдоранга к, меньшее п, и вычис¬ ляется решение с минимальной длиной, то разумно такое масштабирование переменных, в результате которого разные компоненты х будут иметь приблизительно одинаковую неопределенность. Поскольку числа обусловленности матриц А и А, вообще говоря, различ¬ ны, то можно попытаться выбрать Н так, чтобы уменьшить число обуслов¬ ленности А. Если А не вырождена, то существует матрица Н такая, что сопА(АН) = 1. Такой матрицей будет, например, Н - /Г1, где R - треуголь¬ ная матрица, вычисляемая в алгоритме Хаусхолдера. Однако едва ли эта матрица доступна априори. Интересно отметить тем не менее, что если информация, определяющая априорную ковариационную матрицу С из (25.23), приблизительно соответствует заданным коэффициентам [А :Ь\, то матрица Н будет близка к R~l. В этом случае число cond(y4tf) будет, скорей всего, довольно малым. Если не имеется оценки для С, то остается еще возможность взять диагональную матрицу Н как матрицу масштабирования, уравновешиваю¬ щую евклидовы (или любые другие) нормы столбцов А. Такое уравнове¬ шивание достигается выбором где Of — /-й столбец А. В [183] доказано, что если Я определить в соответ¬ ствии с (25.24), где норма взята евклидова, то cond(/4tf) не более чем которое можно получить масштабированием столбцов. Уменьшение числа обусловленности имеет то преимущество, что оценки возмущений типа (9.10) будут давать менее пессимистические результаты. Может оказаться также, что будет установлено значение псевдоранга к = пу в то время как для исходной задачи было к <п, что связано с ненужными осложнениями при вычислении решения. Матрицу преобразования Н можно выбрать так, чтобы А (или ее подмат¬ рица) имела какую-либо особенно удобную форму, например треугольную или диагональную. Так, если вычислено сингулярное разложение А, А = sUSVTy то левое умножение [А:Ь] на UT и правое умножение А на// - V преобразуют А к диагональной матрице S. Однако эти умножения обычно не выполняют в явном виде; они реализуются параллельно с вычислением сингулярного разложения (см. гл. 18). Систематический анализ сингулярно го разложения будет дан в § 6. с=ннт. (25.23) (25.24) множителем п112 отличается от минимального числа обусловленности,
4. Приписывание дополнительных строк к [Л:Ь] Здесь мы обсудим прием, состоящий в замене задачи Ах s Ъ задачей где F — IX я-матрица, d — /-мерный вектор. Предположим, что для нас предпочтительней решение дс, близкое к известному вектору £. Это предпочтение можно выразить,полагая в (25.25) F~In и d = %. В частности, d = £ = О означает, что предпочтение отдается х с малой нормой. Интенсивность предпочтения можно указать, вводя в определение F и d масштабирующий множитель (назовем его о) : Число о можно рассматривать как оценку величины неопределенности в £. Таким образом, приписывание о малого значения заставляет решение быть ближе к £. Развитием этой идеи является использование различных чисел а/, / = = 1,. . . , л, где а, - оценка величины неопределенности в /-й компоненте £. В этом случае полагают dt = ^/а;, / = 1,. .. , л, а в качестве F берут диаго¬ нальную матрицу с диагональными элементами f(i = o~tl. Наконец, если имеется достаточная априорная статистическая информа¬ ция относительно ожидаемого значения £ решения дс, чтобы можно было построить симметричную положительно определенную п X w-матрицу кова¬ риации К для х - £, то разумно положить где L — нижний треугольный множитель Холесского для матрицы К (см. Отметим, что если система Fw = d совместна, то случай d Ф 0 простым переносом можно свести к случаю d = 0. В самом деле, пусть w — решение системы Fw=d. Сделаем в (25.25) замену переменных х = w +х Она приводит к преобразованной задаче Если предполагается находить решение с минимальной длиной, то важно произвести эту замену переменных, так как предпочтение малым значениям II х II согласуется с условиями Fx^z 0. Рассмотрим теперь вопрос об относительном взвешивании двух систем условий Ах и Fx ^d в (25.25). С формальной статистической точки зрения можно сказать, что подходящее относительное взвешивание будет (25.25) F=o’4n, d = o-lt (25.26) (19.12) —(19.14)), т.е. К = LLT. Кроме того, полагают d = F$. (25.27) (25.28) (25.29) 144
установлено, если представить задачу в виде (25.30) где (GTG)~l - априорная ковариационная матрица неопределенности в заданном векторе а (FTF)~l — априорная ковариационная матрица неопределенности в априорно ожидаемом значении £ решениях. На практи¬ ке, однако, априорные ковариационные матрицы, особенно (FTF)~l, могут быть известны лишь весьма приближенно. Поэтому желательно исследовать влияние изменений в относительных весах на решение и вектор невязки. С этой целью введем в задачу (25.30) неотрицательный скалярный весовой параметр X и рассмотрим новую задачу: Для читателей, привычных к другим способам мотивировки и формули¬ рования задачи наименьших квадратов с априорными ковариационными матрицами, заметим, что (25.31) равносильно задаче отыскания вектора х, минимизирующего квадратичную функцию Идея использовать относительный весовой параметр X в этом контексте была высказана в статье [117]. Усовершенствования и приложения этой техники указаны в [121,122, 130, 96—99]. После статьи Марквардта [121] и программы, представленной им в SHARE (организация по обмену вычис¬ лительной информацией), применение рассматриваемого подхода к линеари¬ зации нелинейных задач наименьших квадратов часто называют методом Марквардта. Для исследования задачи (25.31) в зависимости от X иногда используют еще термин гребневая регрессия. Чтобы проанализировать зависимость решения и невязки в задаче (25.31) от параметра X, произведем прежде всего замену переменных (25.31) где A = GA, b=Gb, d = Fl (25.32) (25.33) (25.34) IAx-b\\2 +X2 WFx-d II2, юга, что одно и то же, (Ах - b)T(GTG)(Ax -Ь) + \2(х- j=)T(FTF)(x - £). х = %+F 1у, что приводит к преобразованной задаче: (25.35) где А = AF~l и Ъ = Ь-А1 (25.36) 10.Ч. Лоусон 145
Перенос на £ и масштабирование посредством F~x > использованные в (25.35), обсуждались в § 3. Их цель — перейти к новой переменной у, масштабированной лучше, чем х, что позволяет получить более осмыслен¬ ную оценку вектора решения. А Запишем сингулярное разложение матрицы А: Amxn=UmXm\S"*n ]vTnXn. (25.37) L U(m_„)x П J Напомним, что S = Diag Isi,.. ., sn } . Если rank A = к < n, to Sj = 0 для i > k. Выполним ортогональную замену переменных У = Ур (25.38) и умножим (25.36) слева на ортогональную матрицу UT 0 1 О VT J В результате получим новую задачу наименьших квадратов: $пХп 0(nj - п)Хгг ХЛ, (25.39) где g=UTb. (25.40) Наконец, при Л>0 из задачи (25.39) можно исключить подматрицу \1п посредством левого умножения на соответствующие вращения Гивенса. Так, чтобы исключить /-й диагональный элемент Х/„, умножим (25.39) на матрицу, которая отличается от единичной матрицы порядка m + п толь¬ ко следующими четырьмя позициями: Столбец / Столбец т + / Строка, (sf+\2)'/2 (sj+X1)1/2 (sf+X2),/2 (S?'+W/2 После того как это исключение проделано для / = 1,. на эквивалентная задача: } пг ) п 146 с(Х) 1 пХ п 0(ш - п)Хп н • *(Х) ■ . й(Х) X п 1 , л, будет получе- (25.41)
здесь F(M« gi*i (*2 + A2)1'2 ’ gh i = 1,..., n i = n + 1,..., m, /= 1,... ,я, (25.42) (25.43) me j<X) -(s] + X2)1'2, i = 1,....n. (25.44) При X = 0 в задаче (25.39) матрица диагональная ранга к, а решение имеет компоненты рГ JL О, (25.45) /= 1,.. . i = к + 1,.. ., п. А>0для компонент решения получаем из (25.41) —(25.44) выра- ZiSi р(Х) = Кроме того, _ .(X) s I О, = п«» s? I sj + X2 s; + X / = 1,... Д, / = Л + 1,..., я. (25.46) имс iuiu, г и . г 2 12 (25.47) Отметим, что формулы (25.46) и (25.47) остаются справедливыми и при Х«0. Вектор р^ — решение задачи (25.39) — можно преобразовать, поль¬ зуясь линейными соотношениями (25.38) и (25.35), в векторы у и , которые решают соответственно задачи (25.36) и (25.31). Нас интересует главным образом задача Ах ^ Ъ. Задача (25.31) была введена лишь как техническое средство генерирования решений для конк¬ ретного семейства родственных задач. Поэтому выведем еще формулы для величины со\ = 1Ь-4х(х) II. Для Х>0 и определенного в (25.46), имеем 1 2 (Щ = = II b-А дс(х)11 2 = II Ь - Ау^ II 2 = |g- [ ^ Ji к т * Г X2 I2 т = X[gi-siPW ]2+ 2 + 2 gj. /= 1 ' i=k+1 i=i L S2+ X J /=*+1 10* (25.48) 147
Заметим, что при увеличении X происходит уменьшение II II и уве¬ личение со\. Поэтому хозяин задачи имеет возможность выбрать X, обес¬ печивающее приемлемый компромисс между величиной решения р^ и значением нормы невязки сох- Получаемое в описанном методе множество решений задачи (25.31) имеет важное свойство оптимальности, выражаемое следующей тео¬ ремой. Т е о р е м а 25.49 [ 121, 130]. Пусть фиксировано неотрицательное значение X параметра \ и пусть у - соответствующее решение задачи (25.36). Положим со = II Ъ— А у II. Тогда со будет минимальным значе¬ нием II Ъ — А у II на множестве векторов у, для которых II jу II < II у II. Доказательство. Предположим противное. Тогда найдется вектор у, для которого II у II <М1 у 1^ и II Ъ — Ay II < II b — А у II. Следовательно, II b - А у II2 + X2II у II2 < II b — А у II2 + X 2 II у II2, а это противоречит пред¬ положению, что У есть решение задачи (25.36) и потому минимизирует II Ь-Ау II 2 + X 2 II у II2. При исследовании конкретной задачи наименьших квадратов очень полезным может быть простое табличное или графическое изображение величин II исох из формул (25.47), (25.48). Дополнительную ин¬ формацию может дать табличное или графическое изображение отдельных компонент решения (при этом нужно опираться на формулы (25.46), (25.38) и (25.35)) как функций от X. Пример анализа этого типа дан в гл. 26. Значение X, обеспечивающее предписанную норму решения или норму невязки, можно найти, решая уравнения (25,47) или (25.48). Если для этой цели используется метод Ньютона, то могут пригодиться следую¬ щие выражения: t = XJ, Vi(t) = , s; +1 i=i dt <=i s] +r Si usf + 1 1=1 f=Ac -b 1 du 1=1 usj + 1 Если задача (25.36) решается непосредственно*) с помощью какого- либо алгоритма, определяющего норму р\ вектора невязки, то следует обратить внимание на соотношение = со2 +Х2 ll^(X> II2. (25.50) Если нужно найти величину сох, то можно вычислить IIу^ II2, а затем разрешить (25.50) относительно сох- *) То есть без преобразования к (25.39), а затем к(25.41). (Примеч. пер.) 148
§ 5. Удаление переменных Удаление переменной из задачи эквивалентно фиксированию значения этой переменной в нуле. Если удаляется одна переменная, скажем хп, то задача Ах^Ь (25.51) преобразуется в Ах~Ьу (25.52) где А~тХ(п- 1)-матрица, образованная первыми п- 1 столбцами А, а х — и — 1-мерный вектор. Предположим, что т> п. Согласно теореме 5.12, сингулярные числа А разделяют сингулярные числа А, откуда следует, что сопсЦЛ) <cond(/l). Повторное применение этого процесса показывает, что удаление любого собственного подмножества переменных приводит к матрице с числом обусловленности не большим, чем у исходной матрицы. Ясно, что минимальная невязка в задаче (25.52) не меньше, чем мини¬ мальная невязка задачи (25.5 1) . Таким образом, удаление переменных, как и некоторые из ранее обсуж¬ давшихся приемов, является средством снижения (или по крайней мере неувеличения) числа обусловленности матрицы ценой увеличения (или по крайней мере неуменьшения) нормы вектора невязки. Мы сочли полезным отметить эти свойства, с тем чтобы сопоставить удаление переменных или введение дополнительных переменных с други¬ ми методами стабилизации. Тем не менее не они (свойства) обычно явля¬ ются мотивировкой для процедур этого типа. Чаще к удалению или вве¬ дению переменных прибегают для того, чтобы определить наименьшее чис¬ ло параметров, которые можно использовать в решении, сохраняя прием¬ лемо малую норму невязки. В некоторых случаях имеется естественное упорядочение переменных; примером могут служить коэффициенты многочлена от одного неизвест¬ ного. В таких случаях очевидным образом получается последовательность решений: сначала берется только первая переменная, затем первая и вто¬ рая и т.д. Для задачи сглаживания посредством многочленов или отрезков ряда Фурье разработаны весьма специализированные алгоритмы (см., например, [55]). Если нет естественного упорядочения переменных, то иногда рассматри¬ вают следующую задачу о выборе подмножества. Для каждого значения к = 1,..., п нужно найти подмножество Jк из к индексов такое, что норма рк невязки, полученной при решении задачи только относительно к пере¬ менных jt/,i не превосходит значения, получаемого при выборе лю¬ бого другого набора из к переменных. Обычно в задачу о выборе вводят еще допуск г на линейную независимость и сравнивают лишь такие мно¬ жества из к индексов, что ассоциированные с ними матрицы удовлетво¬ ряют некоторому тесту на обусловленность, связанному с г (например, проверяют величины главных элементов) . Очевидно, что последовательность { рк} не возрастает с увеличением /с. Поэтому можно установить границу р с таким расчетом, что процесс за¬ 149
канчивается, когда достигнуто значение к, для которого рк<~р. Другая возможность — остановить вычисления, когда значение рк — Рдс+1 становит¬ ся меньше назначенной границы, которая может зависеть от к. К такому тесту на окончание приводят статистические соображения, связанные с F-распределением (см., например, [144]). Задача о выборе в том виде, как она сформулирована, требует изнури¬ тельной работы по перебору всех о комбинаций из к переменных. При Были разработаны методы, использующие для определения оптимальных подмножеств Jк частичное упорядочение подмножеств (по отношению включения); при этом не требуется явной проверки каждого подмножест¬ ва. Изложение этих идей можно найти в работах [83, 113] ив упомяну¬ тых там работах. Предложение основать выбор подмножества на гребне¬ вой регрессии высказано в [99]. Альтернативным образом действий является компромисс, при котором рассматривают следующую, более ограниченную задачу. Вначале решают при к - 1 прежнюю задачу. Пусть J х — ее решение. После того как опреде¬ лено множество Jk, сравниваются в поиске предпочтительного множества из к + 1 переменных лишь множества вида Jк U {/} , где / ^Jk; выбран¬ ное множество обозначается через Jk + i. Пусть последовательности най¬ денных этим путем множеств /к> к = 1,,..,и, соответствует последователь¬ ность норм невязок рк. Заметим, что fk =Jk и рк = рк при к = 1 и fc = л, но для 1 < к < п множество Jk, вообще говоря, отличается от Jk, а рк > рк. Алгоритм этого типа называют пошаговой регрессией (см. [151, с. 191- 203]). Вычисления можно организовать так, что выбор новой переменной на шаге к будет лишь немногим сложнее, чем алгоритм выбора главного элемента, обычно используемый при решении системы линейных уравне¬ ний. Эту идею можно усовершенствовать, рассматривая на каждом шаге возможность удаления переменных, чей вклад в уменьшение невязки стал незначительным в результате введения новых переменных [151]. Основное математическое затруднение в пошаговой регрессии состоит в том, что величина вклада, вносимого отдельной переменной в уменьшение нормы невязки, в общем случае зависит от того, какие переменные вклю¬ чаются вместе с ней в решение. Эту трудность можно обойти, выполняя ли¬ нейный переход к новым переменным, чьи индивидуальные воздействия на вектор невязки взаимно независимы. В статистической терминологии новые переменные не коррелированы. На алгебраическом языке этот пе¬ реход равносилен замене матрицы А новой матрицей А- АС, у которой столбцы ортогональны. Имеется множество различных матриц С, реализую¬ щих такое преобразование, и, вообще говоря, различные матрицы порож¬ дают различные наборы некоррелированных переменных. Одной из транс¬ формирующих матриц, имеющей вдобавок другие полезные свойства, является матрица V из сингулярного разложения А = US Vт матрицы А. больших значениях такой подход становится чересчур дорого¬ стоящим. 150
Если, в частности, требуется, чтобы трансформирующая матрица С была ортогональна, то, чтобы А С имела ортогональные столбцы, С обязательно должна совпадать с матрицей V некоторого сингулярного разложения А. Добавим, что числа t{ — квадратные корни из диагональных элементов диагональной матрицы [(АС)Т(АС)]м - имеют следующую статистичес¬ кую интерпретацию: с точностью до общего множителя они совпадают со среднеквадратичными отклонениями новых переменных. При выборе С = = V эти числа Г/ становятся обратными к сингулярным числам матрицы А. Этот выбор минимизирует наименьшее из среднеквадратичных отклоне¬ нии, а также каждое из отклонений в предположении, что предыдущие пе¬ ременные уже выбраны. Обсуждение сингулярного разложения матрицы А будет продолжено в следующем параграфе. § 6. Сингулярный анализ Пусть для матрицы^ найдено сингулярное разложение (см. гл. 4, 18) 'Чо1 vT. Тогда можно вычислить вектор g=uTb и рассмотреть задачу наименьших квадратов 'V* (25.53) (25.54) (25.55) гдер связано с х ортогональным линейным преобразованием x=Vp. (25.56) Задача (25.55) эквивалентна задаче Ахs Ь в том смысле, как эта экви¬ валентность была определена в гл. 2 для произвольных ортогональных преобразований задачи наименьших квадратов. Поскольку S — диагональная матрица (S = Diag (s i, . . . , s„}), то влия¬ ние каждой компоненты р на норму невязки видно непосредственно. Вводя в решение компоненту р] со значением РгФь (25.57) мы снижаем квадрат нормы невязки на величину gj . Предположим, что сингулярные числа упорядочены так, что sk > s*+1, к=1>... ,п- 1. Тогда естественно рассмотреть ’’пробные” решения зада¬ чи (25.55) следующего вида: г Л Р\ ,(*) = л Рк к = 0, 1, . . . , п (25.58) 151
Числа pj определяются формулами (25.57) . Пробный векторр^ является нормальным псевдорешением задачи (25.55), если сингулярные числа Sjyj > к, считаются нулевыми. Из пробных векторов получаем пробные решения х^к^ задачи Ах^ё Ъ: *(*)= ур(*)= £ PjvM, * = 0,...,л. (25.59) /= 1 Здесь — у-й столбец V. Заметим, что ll*(*> II 2 = Ир<Л) II2 = 2 р? = S (—\ , (25.60) /=1 /=1 \ Sj ) и, следовательно, II л*** II — неубывающая функция от к. Квадрат нормы невязки, отвечающей вектору х**), равен /71 р2 = Ib-AxW II2 = Z gf. (25.61) i=k+l Исследование столбцов матрицы К, ассоциированных с малыми сингу¬ лярными числами, — очень эффективное средство выявления почти линей¬ но зависимых наборов столбцов А (см. (12.23), (12.24) ). Наша практика показывает, что вычисление и вывод на печать матрицы V и величин skiSkl ,pkix^k\ llx(Ac) И, Р* и At Для всех значе¬ ний к (от 0 или 1 до п) чрезвычайно полезны при анализе трудных практи¬ ческих задач метода наименьших квадратов. Для некоторых статистических интерпретаций (см. (12.2)) интерес представляют также величины 0к = \—к = 0,...,п. (25.62) L т - к J Предположим, что матрица А плохо обусловлена. Тогда некоторые из сингулярных чисел с большими номерами будут существенно меньше пред- л шествующих. В этом случае некоторые значения Pj с большими номерами могут быть слишком велики. В типичной ситуации пытаются найти такой индекс к, чтобы все коэффициенты pfy у <£, были достаточно малы, все сингулярные числа s; , у <&, достаточно велики, а норма невязки р* доста¬ точно мала. Если такой индекс к существует, то в качестве приемлемого решения можно взять пробный вектор . Эта техника успешно применялась во многих приложениях (см., на¬ пример, [87], где рассматривается приложение к численному решению фредгольмовых интегральных уравнений первого рода). Как только вычислены сингулярные числа и вектор#, уже просто вы¬ числить для ряда значений X числа II и со\, нужные в методе стабили¬ зации Левенберга-Марквардта (см. (25.47) и (25.48)). Эти величины представляют интерес из-за свойства оптимальности, выражаемого теоре¬ мой 25.49. В следующей главе рассматривается пример, в котором все упомянутые здесь величины вычисляются и интерпретируются для конкретного набора входных данных. 152
ГЛАВА 26 ПРИМЕРЫ НЕКОТОРЫХ МЕТОДОВ АНАЛИЗА ЗАДАЧИ НАИМЕНЬШИХ КВАДРАТОВ Рассмотрим задачу наименьших квадратов Ах^ Ь, матрица коэффициен¬ тов которой приведена в табл. 26.1. Мы предположим, что имеется неопре¬ деленность порядка 0,5 X 10~8 в элементах А и порядка 0,5 X 10~4 в эле¬ ментах Ь, Рассмотрим вначале сингулярный анализ этой задачи, как он описан в § 6 гл. 25. Результаты, полученные при выполнении программы сингуляр¬ ного анализа на машине UNIVAC 1108, воспроизведены на рис. 26,1. В общем случае программа производит замену переменных х = Dy и ре¬ шает задачу (AD)у ^ Ь, В данном примере мы положили D = /, поэтому символ у на рис. 26.1 нужно отождествить с х. Напомним, что вектор g (столбец выдачи, стоящий под шапкой "G”) вычисляется по формуле g~UTby где U — ортогональная мат¬ рица. Так как четвертая и пятая компоненты g меньше предполагаемой неопределенности в b, то мы хотели бы рассматривать эти две компоненты как нулевые. Это свидетельствует в пользу того, чтобы считать третий проб¬ ный вектор (столбец выдачи под шапкой ” SOLN 3 ”) наиболее удов¬ летворительным решением. Другой метод состоит в сравнении чисел ок (см. (25.62)), стоящих в столбце под шапкой ” N.S.R.C.S.S. ” (что является сокращением от Normalized Square Root of Cumulative Sum of Squares, т.е. нормированный квадратный корень из накопленной суммы квадратов), с предполагаемой неопределенностью 0,5 X 10-4 в Ь. Замечаем, что о2 ( = 1,1107 X 10~2) зна¬ чительно больше этой предполагаемой неопределенности, в то время как 03 (= 4,0548 X 10~5) чуть меньше ее. Это может служить основанием для того, чтобы выбрать х^ в качестве предпочтительного пробного решения. Если предполагаемая неопределенность в Ъ интерпретируется статисти¬ чески как среднеквадратичное отклонение погрешностей в Ъ, то произве¬ дение этой величины (0,5 X 10"4) на обратное к сингулярному числу (эти обратные числа находятся в столбце с шапкой ”1/синг.число”) дает среднеквадратичное отклонение соответствующей компоненты вектора р (столбец с шапкой ”Р”). Как видим, первые три компоненты р пре¬ восходят по абсолютной величине соответствующие среднеквадратичные отклонения, в то время как последние две компоненты меньше своих отклонений. Это также может быть причиной, чтобы предпочесть пробное решение х . Есть и еще один метод выбора х^кК Пробные решения и х^2) бу¬ дут, по всей вероятности, отклонены из-за того, что для них нормы невязок слишком велики (см. столбец, озаглавленный ” RNORM ”). Вектор х тоже, по-видимому, будет отвергнут, поскольку || слишком велика (см. столбец, озаглавленный ” YNORM”). Выбор между х<3> их<4> не так очевиден. Все же, вероятно, х^ следует предпочесть вектору 153
-н Г' М (Л чо m to On О _ . . _ готГчОго-цГ'-OvOOnOvo TtMf40000-H^(N(N 1Л) O' О ОО N О “ “ n IO О ^ " ооооооооооооооо 1111 Tfr о N On ,—1 сч wo о Г" ON ГО ON Г- »о On VO •о сч го 40 гч VO Ov VO го Ov Tf го ON 40 Ч* г- ГЧ -rf •чГ vO сч о ГО vO 00 04 го Г" 00 сч t^* о г*- Os ON ГО «О Он сч го О ОО го VO го г^ г- го О О *о »о г» *о 00 ЧГ *-* *—« о О о о о о о о (=> о о" О о о" о о** о" о I I ( ON 40 г- Г' ^ ф f4 ^ <0 О ^ IO Ч* -Ч gr' г» о (Л V) го г- ^ сч о о о о OOvOvO^OOINmONWP'OvveMfS U\|O0\Offyf0\0^v0(N(Nr)«^« о^г-'чоооч*'00оосчг"-г-т1-аого ^-«оо^ооюО^—*Оооо»ог-~-гою t— ^ *—< Г— 0^1— ч^ООчООООООО ^*ОО^Г-^^ГЧЮЧГЛОООО O0'*f'c4©*-*lov000v00'v0«0v0^«0 «ООООООО—.-н—i—<—< о~©о©о*оооо~©оооо© III ( ООчОГ-ООчгООГ-чОСТчгчО-чОО' г-^ог-тюг-гчао^о^ог-о—^ Р'МОП\р^Г'Гг>^,«'Л0Р^001Л О vO ГО «—|©ГЧ04СЧГОГО©Г''«0«0 —« л^а^-^1лоег'-1»о^(п^'0^ ff\nvD'C^,fO^\0(N^»OOOOWa\ чОсО©—н©т*,т*'1ПГ'"Оч-^<"От»'ч$-^- ^«^^ООООООО—1-н-н—I—I О о" О о" О o" o o’4 о о" о" ©“ о" о" о I I I I Г-чОГ-'г-нОч'^-Г-^ГЧчООО—<ГГ»ГО (Sm^(^(7'-rtOV^OnnHVO(N OOroaoror-p~^-r4\oworoaovo«ovO \0«00пр«\010\0м^00'0(л\0^ —<r«eOf<lflO\OWrtr4WOfONv07\ © v> гч © — 40г^0\40©00©г-ч*ч0 rN —< О О О Ол о о^ ГЧ ^ — —< о" о о" о о о о о' о' о" о о о* о о' III I г- VO г- ч*- го гч VO гч Г- OS г- о 90 «о ч* г- ON «о Ov NO •о 00 VO О 40 00 00 ГО г- W-) •о «о О vO ч* т—> VO о •О О о т-i ON ON оо 00 гч г- Ov г- O' гч ч* 40 го о г- г- WO Tf чо 00 ГГ 00 г- ч* О ч*- го г- о гч On Г~ 40 40 00 40 оо 00 го о 00 гч го Ю vO 00 ГЧ г- г- о —« о о О О О о О о —Н —4 о «—1 ©“ о о о О о' о" о" ©~ о о ©~ О о" о I I I 154
СИНГУ лягаый АНАЛИЗ ЗАДАЧИ НАИМЕНЫШХ КВАДРАТОВ ЛХ = В, МЛСКТЛБНТОВЛтОЙ КАК (ЛО)Г-В н 1Л m Г' ff\ ^ ON М ON «О —н «н t-v со со *о 'З- тг тг I I I iH Q4 Г- Г~ ОО Tt so г- О O'. СО О 00 I-* н VO ^ 'О п I I I -Н (N (N »л «О >0 о о о о о о I I I I I I С— (N Г' ОО rs ОО Tf <N о Tf -Н СО VO —* «О О Ч Ч "1 О. 04 lo —* о £* О О + I 3 2 CO 00 00 00 о о 1 О о 1 I 00 1 о 1 «о 1 Os co со со О г- ,-н >o On On ON r-» *-4 —Г —< гч со О О О О О —< —I I I I I I СО СО ОО ^О ч*- чО ^ со © *о On О О и-) кп 0>_ О \С н ^ О^ т* —» СО СЧ 5 а: о Z. ОС ОО \£) го Tt ГО rf Is n rf ^ ^ О оо о С— СЧ to с> О С\ ^ »Л <Л «Л О ^ п оо оо ОС О о ^ П П го I I I I I О 00 о о о о 88 СО со O' vn т 00 On Tf v© On СЧ СО V© 40 гч О О О СЧ о X m II 1 Т *л II II * >* 2 £ V S а> S w' £ с; о (М ^ fO X со О а 0О ГО СО Г'-' т* СО ГО (N Tt (N Г> I I я £ § V© О ГМ чо -Н ON гч «о п «л оо о VO VO \С ГО I I I о о tr\ U I/) OS О О ^ VO on сч ^ ^ —Г О м r- о о о о о + + + + + О О О ГО г- О О О О О о о о о о о о о о о «—t О >—« ГО ГО го о о о о о о *5 X о Z. X + + I I I SO > VO ^ rf О ^ Tt СО СО N 5 О О 0\ ОО О О О ^ со ГО —• гч rt —I ^ . о о" о сГ о o' к «=: п 2 X § I В! X 3 со & о cd X ас 4> X о 5 св Он £ о г. & X X о м X 3 £ I а £ с; о (N VO го VO 0\ ^ Г) 5\ (О Г-* —I -Н г- СО СО «Л Tf rf Tt X X и § S *4 о о О <N О о о о о I -I- + + + ОО Q 1Л ^ On © О Г-~ ON о о г- >о оС ся гг —Г _Г «/-> Г- о о I I О О О Г- ^ О О О ON о о о ^ о\ as О Н о ON ON o' о o' o' О -н <N со Tt (О s DS о z >< о СО о о о о о + + + + + О *-4 со 00 тг 00 о оо VO NO оо VO о ON со оо Г- о ov гч »о ON NO о 04 СЧ Tf ч* о о o' ©“ o' о" ж 4> 5 5 5 2 CD X Qm О гм CO <«J- IO 155
< ОС С[ § < * ОС ьс * - о. < т I < Lm си Ш ~ UQ S х * uj О CQ Z ё t ьо щ - EtC О н ш 2 СО со г- —. СО ON чг О ON ON оо ГЧ Tf ON О wo 00 г- г- Г'! ЧО О ГЧ ГЧ 00 wo ГЧ 40 г~ 0-1 t-~ ГЧ оо го оо Os О оо W0 О о ч* со о ГЧ ГЧ On со *4- со Tf VO ГЧ гч Tt W0 wo 40 so оо OS ON О ГЧ ON ON ГЧ О 00 Г- CN 40 со wo wo wo •о wo «о V) wo wo wo о о wo 00 ГЧ ч* оо «О Tf 00 оо 00 оо оо оо 00 оо 00 ОС оо о о О О О —' -ч"' Г'Г со СО со со" го СО со со со ГО со со I I 1 I I I I I I I I I I I I I I 'Н0\0051ЛОП00»Л'нМГ'М\0ОМОМ«г10'^ ПГ'Г'ОПООМ'П'СО'-‘'t'C — ^М^уОгЛО^>нн0О^ин1О^Г|1ЛОМмО Or)rtr'tOVOvO^,'t'/)\OvO^)vOOOO'0>OHO\(N 0<H^OONfO>/lvO'0'C'0'0'0'0'000^0*H(N гч^о"ооо~ооо"оо~оооооо—<''с4'гчс'Г I I I I Z а гч Г'! гч ГЧ гч о о о о о + + + + + ТГ «/0 гч __ ГЧ ос wo Tf *—4 00 СО г~- СО г- го г- 40 гч со чт 40 г- о СО VO so Tf 00 wo г- Os о ON 40 00 'О 00 sO о о о о О ч* Z а __ О о о О О о о О + + + + + ГЧ wo —H «—» Os ч* ч* *o ON •0 40 Os SO ГО Os 4fr fO wo SO «Л СО •0 со 4f ro оо ON Г" ON ON гч wo СО ro ro О о о O* о < < § ш ■J в < .5? о. н ш Z < а. < Е 5 2 X сс X О S z 5 * * 3 о? а: с: *=х s S х * § 8 £ 2 Т а. О X о OS оо со vr> 40 г~- оо Os О гч СО U0 40 г- ОО ON О о г- «л» so оо о гч SO 00 го W0 г- OS ГО •Л r~- О о ON OS о о ГЧ гч гч гч гч СО СО СО со т$- о rf ON */-> о о о wo о •о о о о •о о «О о о со оо ГЧ —* 40 О *о 00 ГО Г- Г'! SO «О о" o' о о гч" гч СО СО го W0 «о 40~ 40 Г"’' г-: I I I I I I I I I I I I I I I о о о о ГЧ го со го го го го го со о о о о о о о о О О О О о О о о о + + + + 1 1 1 1 1 1 1 1 1 1 1 Г г- ч4- «о г- оо г- оо го 40 го го го ОО го ON о ГО гч Г- го ( sO 41- Г^- со ON «о со оо СО го ГЧ —* 00 »о WO О I ОО ГО sO го V) о О ON ON Os ON о «О »о ГЧ СО ГО Ti¬ rf Tf Ч* ГО ГО СО ГО ON 40 ГЧ «—• 40 го —< ГЧ ro «—1 *"Н »—( *—< о О о" О o' o' о" о* о" С? О о О о“ сГ о" о" о о о о I I I I SON *Л tf Tf со со о\ оо оо оо О О О О в; S X ш а < ш о о, л гч о о ,_н г-4 -н — гЧ го ГО го о О о о о О о о о о о о o о о о О о о о о 1 1 + + + + 4- + + + + + + + + + + + + + гч Г- so Os ч^- оо о чг CO о 40 00 ч* 00 4t Ti¬ ГЧ ЧГ ГО о ГО ГО о Os ro VO oo wo ГЧ Г- wo 4f 00 ro о О 40 г- Os го гч •—1 00 00 W0 00 00 00 ГЧ о гч Os ГЧ гч VO VO О СО 00 го t-ч оо го ^г го W) WO WO wo 40 00 On rO 00 о wo 40 OS Г-* го 00 —* —* гч сО 4t 4j- 4j- 4t 4t чГ «ef 40 гч о" о" о“ о“ о о“ о" о" о d> o o" o" o" о" ол ол ол о о* о~ oSoooooooo н Г) (N П S4 ^ ^ ООО + + + I I I I I I I I I I Ч* ГО 00 оо V0 wo гч Г- о ,-н О г- О tJ- VO о 1—4 OS Os wo ГЧ гО 40 00 сО «0 wo Tf W0 40 00 о 00 wo О че¬ ^-4 wo О Г" VO wo ГЧ 4t wo 40 Os о wo оо _Н Os Ч* Os Г" СО 4t «о —* I— гч оо го «-Н го 4f о о о о" о о o' о" о" О о" О О О О I I 23 VO \С г» ГЧ ГЧ 00 40 ГЧ о" о Г- t- 00 О 1 О о 1 I со 1 О 1 40 ч*- ГЧ СО г^- ON О 00 1— Os ГЧ Os о о" о“ -« О О -н ~i О О О О о + + + + + «» ОО гч ч* Tf —I 5 <n 1л -н о а СО ГЧ ~н г- 00 3 m Tt \о t4» а (О -н -н «О ^ 0 00 Os ч* «Л К Tf (N 90 v£) ^ А f I ^ н РП V o' o' o' сГ о" _ I. | I *3 0 1 flu о S о S S + + + + + s© со со Tf *0 ON 00 ON •/) оО f'- со г~ го ГО VO (Л УО V) N т}- ff| N гО ГЧ —• Г- 40 Н Г« rt (У\ —i со —i so ч* о" о о о ©‘ о о о о о о о о о о + + + + + ГО ОО OS ГЧ <л ^ On •-« го 40 00 ^ ^ £ On со Oh О О Ю П t « Tf Os ГЧ Os «О Г^- -н -н Г"- СО ГО <л ^ t О o' о" о" О 156
1<г Норма решения Рм с. 26.2. Нормы невязок и нормы решений для ряда значений параметра стабилиза- шш X в методе Левенберга-Марквардта Ря с. 26*3* Компоненты решения и норма невязки как функции от X. X 0-4 Г о -8 1 II 1 ■ 1 ! Г '"Т— 1 ■ ML \\ 5з—X. л. А >4. - I/* хг xs ш 1 Норма невязки^ 0,1 0,01 0,001 10-6 г Г' \х«> -“Г" ' ■' —Г' \ х :<*> х& 1 1 10*< Ю-5 0,1 1000 1 10 100 А Норма решения Рис. 26.4. Те же данные, что и на рис. 26.3, при уменьшенном масштабе по вертикаль¬ ной оси Р и с. 26.5. Пробные решения х^\ полученные в сингулярном анализе, в сопоставле¬ нии с континуумом решений Левенберга-Марквардта так как ||х^3^ II < ||х^4^ ||, а норма невязки, соответствующей лишь незначительно меньше нормы невязки для . Хотя все четыре метода выбора предпочтительного решения приве¬ ли нас к одному и тому же вектору дг ^, так будет не для любых исходных данных. Пользователь должен решить, какой из этих критериев (а возмож¬ но, и какой-то иной) наиболее подходит для его задачи. Интересно сравнить эти результаты с результатами, которые дают для той же задачи другие методы стабилизации решений. Анализ Левенберга- Марквардта (гл. 25, § 4) приводит к континууму пробных решений. На рис. 26.1 показана информация, нужная для применения метода 157
Левенберга—Марквардта. С ее помощью можно вычертить график (рис. 26.2), демонстрирующий зависимость между RNORM и YNORM. Согласно теореме 25.49, эта кривая будет на плоскости переменных (YNORM — RNORM ) граничной линией для области, соответствующей на¬ шей задаче: для любого вектора у точка с координатами (IIу ||, IIЬ — Ау ||) лежит на кривой или выше ее. Более детальную информацию дает вычисление в соответствии с (25.46), (25.38) и (25.35) и составление графиков отдельных компонент решения как функций от X. Рис. 26.3, 26.4 показывают такие графики для данного примера. Этот тип графиков подробно обсуждается в [99]. На рис. 26.5 дано сопоставление норм решений и невязок для пяти пробных решений, полученных методом сингулярного анализа, с соответ¬ ствующими данными для континуума решений Левенберга-Марквардта. К этому же примеру мы применили алгоритм HFTI. Величины диаго¬ нальных элементов треугольной матрицы R, к которой трансформируется матрица А, равны 0,52, 0,71 - 10-1, 0,91 • 10~2, 0,14-10"4, 0,20-10"6. Интересно отметить, что эти значения отличаются от соответствующих син- Таблица 26.2 Нормы решений и невязок метода HFTI для иллюстративной задачи к IIг(Ас) || IIЬ - Az{k) II к Hz {к)\\ II ь - Az{k)\\ 1 0,99719 0,216865 4 4,92951 0,000139 2 2,24495 0,039281 5 220,89008 0,000138 3 4,58680 0,000139 Таблица 26,3 Нормы решений и невязок при использовании подмножеств столбцов Опорные столбцы II W II II Ь - A w | Опорные столбцы II w II II Ъ - Awl 1 2,46 0,40 2 1,92 0,22 3 2,42 0,07 4 2,09 0,19 5 2,30 0,19 1, 2 5,09 0,039 1, 3 2,72 0,052 1,4 4,53 0,023 1, 5 5,07 0,001 2, 3 3,03 0,053 2,4 20,27 0,030 2, 5 17,06 0,128 3,4 3,07 0,056 3, 5 2,97 0,058 4, 5 17,05 0,175 1, 2, 3 22,1 0,00018 1,2,4 10,8 0,00018 1,2,5 5,0 0,00014 1,3,4 8,1 0,00015 1,3,5 5,0 0,00014 1.4, 5 4,9 0,00014 2, 3,4 13,5 0,00020 2, 3,5 7,6 0,00014 2, 4, 5 24,0 0,00028 3, 4,5 17,3 0,00017 1, 2, 3,4 10,3 0,00014 1, 2, 3, 5 5,0 0,00014 1,2, 4,5 5,0 0,00014 1,3, 4,5 5,0 0,00014 2, 3, 4, 5 9,0 0,00014 1, 2, 3, 4, 5 220,9 0,00014 158
1 0,1 s * о S 401 X a r ex. о E 0,001 aoooi Решения' опираю- Решения,опи- Зраэа щиеся на 4 столбца ра^)щие^я 0,0001 ■ ° <у1 ioioo iooo Норма решения Рис* 26.6. Решения, опирающиеся на подмножества столбцов А гулярных чисел множителями, не превосходящими 2. Из теоремы 6.31 известно, что сингулярные числа s,- и диагональные элементы гц должны удовлетворять соотношениям l,00<s1/r11 <2,24, 0,58 ^/т2 2 < 2,00, 0,33 < s3 /г3 з <1,73, 0,18 <sA /г44 < 1,41, 0,09<s5/r55 < 1,00. Для допуска г, определяющего псевдоранг матрицы, были последова¬ тельно установлены значения 0,29, 0,040, 0,0046, 0,0000073, 0,0. Подпро¬ грамма HFTI вычислила пять различных решений (которые мы обозначим через z ), отвечающих значениям псевдоранга к = 1, 2, 3, 4, 5, Нормы решений и невязок для этих пяти векторов приведены в табл. 26.2. Отметим, что данные табл. 26.2 весьма сходны с соответствующими дан¬ ными рис. 26.1 (в столбцах с шапками ” YNORM ” и ” RNORM”) для пробных решений, полученных в сингулярном анализе. В качестве еще одного способа анализа этой задачи были вычислены ре¬ шения, опирающиеся на каждое из 31 непустых подмножеств, составленных из пяти столбцов матрицы А. Нормы решений и невязок для всех этих 31 решений приведены в табл. 26.3 и показаны на рис. 26.6. 1 1 \ л Решения, опн- \ пЛ оаюшиеся на \ /2 5Ист°5Й^ - (\Э) (3,4) • CW) - (1,3,5) 1 • 1 Решения, опи- • / рающнеся на / 2 столбца Решения, опи- рающийя на z столбца 0,1 1 Ю 100 1000 159
Обозначим через J »■•••) решение, опирающееся на столбцы /,/, ... Из рис. 26.6 видно, что простейшая форма пошаговой регрессии определит вектор как предпочтительное решение среди тех, что опираются толь¬ ко на один столбец. Далее будут рассмотрены решения уИ1,3\ н^2,3), уИ3,4), и>(3’5). Среди этих четырех векторов будет выбран \И1,3) как дающий наименьшую норму невязки. Заметим, что эта норма в 52 раза больше, чем та, что соответствует вектору уИ1,5\ Очевидно, что этот по¬ следний вектор дает минимум невязки среди всех решений, опирающихся на два столбца. На следующем этапе простая пошаговая регрессия выберет вектор w*1’3’5) , который как своей нормой, так и нормой соответствую¬ щей невязки очень походит на указанные ранее векторы х^3^ и: . Дальнейшее поведение пошаговой регрессии критически зависит от де¬ талей конкретного алгоритма. Это связано с очень плохой обусловленно¬ стью задач, отвечающих множествам из четырех или пяти столбцов. ГЛАВА 27 МОДИФИКАЦИЯ QR -РАЗЛОЖЕНИЯ ПРИ ДОБАВЛЕНИИ ИЛИ УДАЛЕНИИ СТРОКИ (С ПРИЛОЖЕНИЯМИ К ПОСЛЕДОВАТЕЛЬНОЙ ОБРАБОТКЕ ЗАДАЧ С БОЛЬШИМИ ИЛИ ЛЕНТОЧНЫМИ МАТРИЦАМИ КОЭФФИЦИЕНТОВ) В этой главе мы адаптируем ортогональные преобразования к последо¬ вательной обработке данных для задачи НК. Подобная адаптация является средством экономии машинной памяти для определенного типа задач, свя¬ занных с обработкой очень большого объема информации. Описываемые нами методы имеют важные приложения и к задачам, где нужно получить последовательность решений для массива данных, к которому последовательно добавляется (или из него изымается) инфор¬ мация. Потребность в вычислениях такого рода возникает в классе задач, называемых последовательным оцениванием или фильтрацией. Методы окаймления, представленные в данной главе, имеют отличную численную устойчивость. Не так обстоит дело во многих опубликованных алгоритмах для этого класса задач, которые основаны на модификации обратной матрицы. Удаление данных может быть внутренне неустойчивой операцией при определенной связи удаляемых строк со всем информационным массивом. Мы предложим некоторые методы, в которых сделана попытка избежать внесения в задачу дополнительной численной неустойчивости. Запишем задачу наименьших квадратов обычным образом: Ах = b, А = Ат х b = Ьт х 1. (27.1) В § 1 мы рассмотрим задачу, в которой число строк А велико сравни¬ тельно с числом столбцов. В § 2 внимание сосредоточено на случае, когда А 160
имеет ленточную структуру. Методы, представленные в этих двух парагра¬ фах, применимы к задаче последовательного оценивания, так как при не¬ обходимости на каждом шаге последовательного накапливания легко можно вычислить вектор решения или отвечающую ему ковариационную матрицу. В § 3 демонстрируется применение этих методов на примере вы¬ равнивания посредством линейных сплайнов. В § 4 описана процедура сред¬ неквадратичной аппроксимации посредством кубических сплайнов с равно¬ удаленными узлами. Это еще один пример использования метода ленточ¬ ного последовательного накапливания из § 2. Методы удаления данных рассматриваются в § 5. § 1. Последовательное накапливание Опишем алгоритм преобразования матрицы [А : &] к верхнему треуголь¬ ному виду, где не требуется, чтобы вся эта матрица находилась единовре¬ менно в памяти машины. Формальное описание этой процедуры дает алго¬ ритм SEQHT (см. 27.10). Договоримся вначале об обозначениях и приведем неформальное описа¬ ние процесса. Запишем матрицу А и вектор Ъ в блочном виде: Здесь А\ — матрица размера т{ X п, а Ъ — вектор порядка mg. Разумеется, т-т j + ... + mq. Числа т{ могут быть, в частности, равны 1, что позволя¬ ет получить большую экономию памяти. В алгоритме строится последовательность треугольных*) матриц [Ri : dt], i = 1, .. ., q, с тем свойством, что задача наименьших квадратов Rtx s df имеет то же множество решений и ту же норму невязки, что и задача Важное обстоятельство, позволяющее экономить память, заключается в том, что матрица [R{ : dt ] может быть построена и хранима в массиве, где прежде находилась окаймленная матрица А = А х А2 (27.2) b = (27.3) (27.4) *) При этом матрицы [Л/ : dg], вообще говоря, неквадратные. {Примеч. пер.) 11.4. Лоусон 161
Таким образом, максимальное число хранимых строк равно max {mf + / -1 1 + min[w + 1,2 т{]} . I = 1 Удобно обозначить через [R0 :d0] (пустую) матрицу, не имеющую строк. В начале i-го шага алгоритма мы располагаем т{_ г X (л+1)-матри¬ цей [Ri-i : d{_ j ], вычисленной на / — 1-м шаге, и новой матрицей данных [А{ : bt] размера т{ X (п + 1). Положим щ - mi_l +т/. Составим окаймленную щ X (п + 1)-матрицу (27.4) и приведем эту матрицу к тре¬ угольному виду методом Хаусхолдера: } ГГЦ . -1 Л . (27.5) } trif - rrij Л Здесь т( = min { п + 1, т/}. Теперь i-й шаг алгоритма завершен. Для последующих ссылок обозна¬ чим результат q шагов алгоритма через п 1 - - Г Ri 'di амг.ол- [ 0 0 ГД <Л)и г О € J ) 1 Н xq : dq ]. Легко видеть, что существует ортогональная матрица Q такая, что R d~ (27.6) Q[A : b) = (27.7) Следовательно, задача наименьших квадратов kh:i эквивалентна исходной задаче (27.1) в том смысле, что обе имеют одина¬ ковое множество решений и один и тот же минимум нормы невязки. Кроме того, матрица R имеет те же сингулярные числа, что и матрица А из (27.1). Опишем теперь вычислительный алгоритм, который формализует эту процедуру. С этой целью положим О, / = 0, 2 mh i= 1 />0, Д = шах { ТП; + min [л + 1 , Vi ! ]} . Kj<q (27.8) (27.9) Весь процесс обработки будет происходить в массиве W машинной па¬ мяти, состоящем по крайней мере из ц строк и п + 1 столбцов. Обозначе¬ ние W(ix : /2, /1 :/г) будет относиться к подмассиву массива W’ образо¬ ванному пересечением строк iu .. . , i2 и столбцов /ь . . . ,/2. Через W(iJ) будем обозначать элемент (/, /) массива W. Символ р указывает отдельную ячейку памяти. 162
Алгоритм 27.10. SEQHT (последовательная триангуляризация Хаусхолдера): 1. Положить 1=0. 2. Для tI,... ,q выполнить шаги 3-6. 3. Положить р :=! + mt. 4. Положить W(l + 1 : р, 1 : n + 1) := [At: b,] (см. (27.2) и (27.3)) . 5. Для / := 1, . . . , min (л + \,р - 1) выполнить алгоритм Н1(/, max(i + 1, /+1),р, W(l,0,p, И/(1, /+l)fi«-i + l). 6. Положить / := ппп(л + 1, р) . 7. Замечание. Матрица [А : Ь] приведена к верхней треугольной фор¬ ме (27.6), Отметим, что для шага 4 нужно единовременно вводить в память маши¬ ны лишь подматрицу [At : bt). Вся информация может быть обработана в рабочем массиве W размера /2 X (л + 1). Усложняя программирование, можно еще больше сократить запросы к памяти, используя то обстоятель¬ ство, что матрица [Rj : dj) верхняя треугольная. Для последующего обсуждения числа операций обозначим через а сложе¬ ние или вычитание, а через ц умножение или деление. Положим mn2 - л3/3 v = . 2 В табл. 19.1 было указано, что число операций при триангуляризации m X л-матрицы (m > л) посредством преобразований Хаусхолдера равно приблизительно v(2a + 2ц), если игнорировать при подсчете константы и члены, линейные или квадратичные по m и л. Если алгоритм Хаусхолдера применяется последовательно в q этапов, как в алгоритме SEQHT (см. 27.10), то число операций возрастает примерно до v{2a + 2^) (m + q)/m. Если вводимые блоки данных состоят каждый из к строк (kq = m), то чис¬ ло операций можно записать формулой v(2ot + 2ц) (к + 1 )/к. Таким образом, стоимость последовательного накапливания в методе Хаусхолдера возрастает по мере уменьшения размера блока. В предельном случае к = 1 число операций приблизительно удваивается по сравнению с обычным алгоритмом Хаусхолдера. При малых размерах блоков может оказаться более экономичной замена преобразований Хаусхолдера на шаге 5 алгоритма SEQHT (см. 27.10) ка¬ ким-либо методом, основанным на двумерных вращениях или отражениях. Число операций в этих последних методах не зависит от размера блока. Если для триангуляризации используется метод Гивенса (алгоритмы G1 (см. 10.25) и G2 (см. 10.26)), то число операций составит y(2a: + 4/i). Для хаусхолдеровых 2 X 2-преобразований, записанных в виде (10.27), число операций равно i>(3a + Зц). Если метод Гивенса применяется в модификации Джентльмена (см. гл. 10), то число операций снижается до v(2ot + 2д). Следовательно, этот метод может составить конкуренцию обычному (непоследовательному) методу Хаусхолдера и требует меньше арифметических операций, чем мо¬ дификация метода Хаусхолдера для последовательной обработки. На практике соотношение характеристик программ, реализующих эти методы, сильно зависит от деталей программирования. И 163
После того как алгоритм SEQHT (см. 27.10) закончил работу, можно вычислить (если матрица R в (27.6) не вырождена) решение х из системы Rx = d. (27.11) Для числа е из (27.6) \е\ = \\Ах-Ь\\. (27.12) Во многих приложениях нужна нешкалированная матрица ковариации (см. (12.1)) С = (АТАУ' = R-'(R-l)T. (27.13) Вычисление R~l можно осуществить на том месте, которое занимает R, а затем на том же месте можно вычислить (верхнюю треугольную часть) R-l(R-')T. Тем самым матрица С из (27.13) может быть вычислена, по существу, без использования дополнительной памяти. Более подробно ор¬ ганизация этих вычислений обсуждается в гл. 12. Кроме того можно вы¬ числить величину (см. (12.2)) где число е определено в (27.6) . Для определенности алгоритм SEQHT был оформлен в виде цикла, выполняемого при t = 1, . .., q. В реальных приложениях этой последова¬ тельной обработки более вероятно, что шаги 3—6 алгоритма будут реализо¬ ваны как подпрограмма. Число q и весь массив данных, образующий матри¬ цу [А : Ь], могут быть поначалу неизвестны. Чтобы найти решение, опи¬ рающееся на накопленную до сих пор информацию, вызывающая програм¬ ма может использовать текущую треугольную матрицу R на любом этапе, где R не вырождена. Если имеется дополнительный массив в л(л + 1)/2 машинных слов, то вызывающая программа может вычислить и верхнюю треугольную часть нешкалированной матрицы ковариации R~*(R~l)Tt опять же в предположении, что Rt не вырождена. Таким образом, шаги 3- 6 алгоритма SEQHT составляют его ядро, на основе которого можно строить программы последовательного оценивания. § 2. Последовательное накапливание ленточных матриц В некоторых задачах матрица исходных данных [А : Ь] имеет или после предварительной перестановки строк и столбцов приобретает следующую ленточную структуру. Существуют целое число пЬу пь <л, и неубывающая последовательность целых чисел /ь • • • ,/<*, такие, что все ненулевые эле¬ менты подматрицы Ах сосредоточены в столбцах jv . . . Jt + л& — 1* Та¬ ким образом, At имеет вид At = [ J>_ ICrj 0 ]} тпи (27.14) U ~ 1 пь n-nb-it +1 Число пъ мы будем называть шириной ленты матрицы А. Легко проверить, что все ненулевые элементы i-й строки верхней тре¬ угольной матрицы R из (27.6) находятся в столбцах + пъ -1. 164
Кроме того, строки R с номерами 1,. .., jt - 1 остаются неизменными, когда алгоритм 27.10 обрабатывает подматрицы At,. .. ,Aq. Эти замечания позволяют модифицировать алгоритм 27.10 таким обра¬ зом, что достаточно будет рабочего массива с пъ + 1 столбцами. Итак, пусть G —массив размера juX (nb + 1), где jz удовлетворяет соотноше¬ нию (27.9). В алгоритме рабочий массив G разбивается на три подмассива G\,G2 и G3; именно: Cj = строки G с номерами 1,.... ip - 1; (27.15) G2 = строки G с номерами ip,... ,ir — 1; (27.16) </3 = строки G с номерами /г,. .. ,ir + mt- 1. (27.17) Целые числа ip и ir определяются алгоритмом, и их значения изменяют¬ ся в ходе обработки. Границы их изменения устанавливаются неравенства¬ ми 1 < ip < /г < п + 2. На разных этапах алгоритма столбец G с номером пь + 1 содержит либо вектор bt (см. правую часть (27.4)), либо обработанный вектор dt (см. правую часть (27.5)). Для 1 </ < п соответствие между элементами массива и матричными элементами таково: в G\: элемент (/, /) массива содержит матричный элемент (/, / + / - 1); (27.18) в G2: элемент (/, j) массива содержит матричный элемент (/, ip +/ - 1); (27.19) в G3: элемент (/, /) массива содержит матричный элемент (/, jt +; — 1). (27.20) Рисунки 27.1 и 27.2 поясняют основную идею алгоритма компактного хранения для ленточной задачи наименьших квадратов. Если бы алго¬ ритм 27.10 был применен к блочно-диагональной задаче с пь - 4, то на том шаге, где в рабочий массив вводится блок данных [Ct : bt ], ситуация сходна с показанной на рис. 27.1. Используя ленточную структуру, можно уцаковать эту информацию в соответствии с рис. 27.2. В момент, показанный на рисунках, выполняются неравенства ip < <jt<ir. Дополнительные графические иллюстрации к этому алгоритму можно найти в § 3 (см. рис. 27.4 и 27.5). Теперь приведем подробное описание алгоритма. Будем использовать такие обозначения: G(i,j) - элемент (/,/) масси¬ ва Gt G(i\ :i2, j\ :}2) — подмассив G, образованный элементами G(i,j) с индексами /‘i < / < i2t j\ <; < j2. Алгоритм 27.21. BSEQHT(ленточная последовательная триангуля- ризация Хаусхолдера): 1. Положить ir := 1, ip := 1. 2. Для t := 1,. . ., q выполнить шаги 3—24. 3. Замечания. В этот момент нужно передать алгоритму данные [Ct: bt] и целые числа mt и jt. Предполагается, что mt> 0 при всех t njq > .. >j\ >1. 165
"ь •<?2 ь Рис. 27.1. Введение блока данных [ Ct: bt ] Рис. 27.2. Те же данные, что и на рис. 27.1, упакованы в массиве G. 4. Положить G(ir :ir + mt- 1,1 : nb + 1) := [Ct: bt\. (Определение Ct да¬ но в (27.14). Заметим, что данные вводятся в подмассив С3 массива G.) 5. Если jt = ip у перейти к шагу 18. в. Замечание. Предположение о монотонности чисел jt гарантирует, что здесь it > ip. 7. Если it < irt перейти к шагу 12. 8. Замечание. Здесь jt больше, чем ir. Это свидетельствует о неполноте ранга, так как диагональный элемент (/r, ir) треугольной матрицы R из (27.6) будет нулем. Тем не менее триангуляризацию можно завершить. Некоторые методы решения этой задачи наименьших квадратов с непол¬ ным рангом будут рассмотрены вслед за описанием алгоритма. 9. Переместить содержимое G(ir: ir + mt - 1,1 : пь + 1) в G(jt: jt + + mt — 1, 1 : nb + 1). 10. Присвоить нулевые значения всем элементам подмассива G(ir - /г — 1»1 : л* + 1). 11. Положить ir :=jt. 12. Положить ц := min(>i* - 1, ir - ip — 1); если д = 0, перейти к шагу 17. 13. Для / := 1,.. . выполнить шаги 14—16. 14. Положить к := min(/, jt - ip). 15. Для i := / + 1,. .. , пь положить G(ip + /, / - к) G(ip +1, i). 16. Для i := 1,. .. , к положить G(ip + /, nb + 1 - 0 := 0. 17. Положить ip :=/r (Заметим, что это присвоение переопределяет границу между подмассивами Gx и G2 из (27.15) и (27.16).) 18. Замечание. Шаги 19, 20 - это применение хаусхолдеровой триангу- ляризации к строкам с номерами /р,..., ir + mt - 1. Как отмечалось в об- 166
суждении алгоритма SEQHT (см. 27.10), некоторого сокращения времени счета можно добиться, заменяя общий метод Хаусхолдера методами, ис¬ пользующими двумерные вращения или отражения. Л А /\ 19. Положить т :=ir + mt - ip. Положить к := шт(лй + 1, т). 20. Для i := 1,..., к выполнить алгоритм Н1 (г, шах(/ + 1, ir - ip + 1), m, G(ip, i),p, G%, i + 1), nb + 1 - i). Л 21. Положить ir :=ip +fc. (Заметим, что это присвоение переопределяет границу между подмассивами G2 и из (27.16) и (27.17).) 22. Если к<пъ + 1, перейти к шагу 24. 23. Для / := 1*...,пъ положить G(ir - 1,/) :=0. 24. Вернуться на начало цикла. 25.Замечание, Основной цикл закончен. Треугольная матрица из (27.6) хранится в подмассивах G\ и (см. (27.15) и (27.16)) в соответствии справилами (27.18) и (27.19). Если все диагональные элементы матрицы R из (27.6) ненулевые, то ре¬ шение задачи (27.7) можно найти обратной подстановкой, описываемой шагами 26-31. Заметим, что диагональные элементы R используются как делители на шаге 31. Обсуждение некоторых методов для вырожденного случая приводится вслед за описанием алгоритма. 26. Для / := 1,. .. , п положить ^(0 := G(i, пъ + 1) . 27. Для / := пу п — 1,. . . , 1 выполнить шаги 28—31. 28. Положить s := 0 и / := max(0, i - ip) . 29. Если i = п, перейти к шагу 31. 30. Для / := 2,. . . , min(w + 1 — i, nb) положить s := s + G(i, / + 0 x XX(i- 1 +/). 31. Положить X(i) := [X(i) -s]/G(/, /+ 1). 32. Замечание. В массиве X теперь хранится решение х. Если (как обыч¬ но и бывает) полная информационная матрица [Л : Ь] (см. (27.2) и (27.3)) имеет более чем п строк, то скаляр е (см. (27.6)) будет храниться в ячей¬ ке G(n + 1, пь + 1) . Модуль е равен норме невязки, отвечающей решению х. Ленточная структура А в общем случае не означает, что нешкалирован- ная матрица ковариации Сиз (12.1) также будет иметь какую-либо ленточ¬ ную структуру. Однако столбцы су, / = 1,. . . , л, этой матрицы можно вы¬ числить по одному, не используя дополнительной памяти. Именно, вектор Су можно найти, решая две ленточные треугольные системы RTw,- =ej, (27.22) RCj = Wj, (27.23) где ej - /-й столбец единичной матрицы порядка п. Алгоритм 27.24 описывает шаги, необходимые для решения системы (27.22) или, более общо, системы RTy = z, где z — произвольный вектор. Предполагается, что матрица R хранится в массиве G так же, как на выходе алгоритма 27.21. Вектор правой части, например ej в (27.22), должен быть помещен в массив X. В результате выполнения алгоритма 27.24 исходное содержимое массива X будет заменено решением системы. В случае (27.22) это будет вектор и>;. 167
Алгоритм 27.24. Решение системы RTy = z: 1. Для / := 1,.. . , п выполнить шаги 2—6. 2. Положить s := 0. 3. Если / = 1, перейти к шагу 6. 4. Положить z'i := max(l,/ - rtb + 1). Положить i2 :=/ - 1. 5. Для / /2 положить s :=s +ЛГ(/)Х G(i,j- i + 1 + max(0,/-/p)). 6. Положить X(j) := (ДГ(/) - S)IGQ\ 1 + max(0,/ - ip)). После того как из (27.22) определен вектор w;-, решить систему (27.23) относительно Cj можно, выполняя шаги 27—31 алгоритма 27.21. Далее можно найти величину (см. (12.2)) и - > m - п где е; определено в (27.6). Величина е вычисляется алгоритмом BSEQHT, как указано в замечании на шаге 32. Замечания в конце § 1, относящиеся к возможным реализациям алго¬ ритма SEQHT (см. 27.10) в случае последовательного оценивания, приме¬ нимы с очевидными изменениями также и к алгоритму BSEQHT. Есть, однако, и существенное различие: в алгоритме BSEQHT число столбцов, имеющих ненулевые элементы, обычно возрастает по мере ввода новых блоков данных. Поэтому в типичном случае на ранних этапах процесса можно определить меньшее число компонент решения, чем на после¬ дующих. На шагах 8 и 25 упоминалось о том, что задача может иметь неполный ранг. Наш опыт показывает, что в этой ситуации весьма хорошо работает техника Левенберга (гл. 25, § 4), причем она не увеличивает ширину ленты задачи. Мы используем ниже обозначения формул (25.30) —(25.34). Пусть матрица А в (25.31) ленточная с шириной ленты rtb. Сейчас мы предположим, что и F ленточная и ее ширина ленты не превосходит л&. На практике в качестве F обычно берут диагональную матрицу. Подходя¬ щими перестановками строк матрица v ~ь 1 UF \d J АЛ А из (25.31) может быть преобразована в новую матрицу [А : Ь], где А имеет Л А ширину ленты пь. К матрице [А : Ь] можно затем применить алгоритм BSEQHT. Если F не вырождена, то А имеет полный ранг. Если к тому же X достаточно велико, то у А будет и полный псевдоранг. Поэтому алгоритм BSEQHT можно завершить, включая вычисление решения. Если нужно исследовать зависимость решения задачи (25.31) от X, то можно вначале обработать только подматрицу [А : Ь], приведя ее к ленточ¬ ному треугольному виду Будем считать, что эта матрица Т хранится в памяти машины (если необхо¬ димо, то и во внешней) . 168
Чтобы решить задачу (25.31) для конкретного значения X, заметим» что эквивалентная задача имеет вид Теперь можно перестановками строк добиться, чтобы матрица коэффициен¬ тов имела ширину ленты пь. Решение этой преобразованной задачи можно выадслить по алгоритму BSEQHT. Этот прием перемешивания строк матрицы [XF : X<i] со строками пред¬ варительно вычисленной треугольной матрицы [Л : d ], для того чтобы со¬ хранить ширину ленты, можно использовать также и как метод введения новых уравнений в ранее решенную задачу. Он позволяет при решении расширенной задачи избежать повторной триангуляризации исходного мас¬ сива данных. В случае, когда F = /„ и d = 0, выбор параметра X можно упростить, если вычислить сингулярные числа и преобразованную правую часть задачи наи¬ меньших квадратов (27.7) . Именно, если R = USVT — сингулярное разло¬ жение матрицы R, то вектор и матрицу S = diag (s i, . . . , sn } можно вычислить, не используя никаких других массивов, кроме того, где находится ленточная матрица R. Основ¬ ные этапы этого вычисления таковы. Матрица R умножается слева и спра¬ ва на конечные последовательности вращений Гивенса У/ и Г/; в результате этих умножений матрица В = Tv . . . TxRJi . . . Jv становится двухдиаго- нальной. Произведение Tv ... T\d замещает в памяти вектор d. Посредст¬ вом алгоритма QRBD (см. 18.31) вычисляется сингулярное разложение матрицы В. Соответствующие левые вращения применяются и к преемни¬ ку вектора d ; в конечном счете будет получен вектор g из (27.25). Значе¬ ние X можно теперь определить из условия, чтобы норма невязки или норма решения были равны заданным числам; при этом используются формулы (25.48) или (25.47) соответственно. § 3. Пример: линейные сплайны Чтобы закрепить идеи, изложенные в § § 1,2, рассмотрим следующую задачу об аппроксимации данных (об информационном сжатии). Пусть заданы т пар {(tf, yt)}, абсциссы Г/, / = 1, .. . , т, которых находятся на отрезке [а, Ь\. Нужно аппроксимировать эти данные функцией /(г), представление которой требует меньшей памяти, чем сами данные. Простей¬ шей непрерывной функцией (обладающей некоторой степенью общности), которую можно использовать для аппроксимации в смысле наименьших квадратов, является, по-видимо му, кусочно линейная непрерывная функ- ция, определяемая следующим образом. R 1 Vd " О х — е _XFJ g=uTd (27.25) (27.26) 169
Для значений t на отрезке *<'> <,<,<' + »> (27.27) ПОЛОЖИМ ( _ /(О w‘W ~ (а + 1) _ ,(.) > (27.28) г(,+1)-г (27-29) ЯО = дс,2,(г) + х, + J w,(r), / = 1,.. ., и - 1. (27.30) Параметры х*, / = 1, ... , п, формул (27.30) должны быть определены как переменные линейной задачи наименьших квадратов. Рис. 27.3. Пример линейного сплайна для т - 10, я® 4. Точками указаны заданные пары (f/,J7> Для примера возьмем т = 10 и п = 4, причем узлы будем считать равно¬ удаленными. Схематический график такой задачи представлен на рис. 27.3. Для коэффициентов х,- получается задача наименьших квадратов, форма которой показана на рис. 27.4. Отметим, что матрица этой задачи ленточная с шириной ленты пъ = 2. Рис. 27.5 демонстрирует работу ленточного алгоритма BSEQHT (см. 27.21) для этого примера. (1) Вначале ip - ir =1. Вводится первый блок данных, образованный нетривиальными элементами первых трех строк на рис. 27.4. Полагаем j\ =1, =3. (2) Первый блок приводится к треугольному виду посредством преоб¬ разований Хаусхолдера. Полагаем ir = 4. (3) Вводам второй блок данных рис. 27.4. Полагаем j2 = 2, т2 =3. (4) Левый сдвиг второй строки без ее последнего элемента, который от¬ носится к вектору правой части. Полагаем ip = j2 (= 2). (5) Триангуляризация второй - шестой строк. Полагаем ir = 5. (6) Вводим третий блок данных рис. 27.4. Полагаем /3 = 3, тъ = 4. (7) Левый сдвиг третьей строки без ее последнего элемента. Полагаем *р ~/э (=3). (8) Триангуляризация строк третьей — восьмой. Полагаем ir - 6. Результатам, полученным на этапе (8) , соответствует задача наименьших квадратов, показанная на диаграмме (9). Эту задачу можно теперь решить обратной подстановкой. 170
*1 (',) *1 *1 <*а) W| <'а> <'э) <*з) *3 0 *2 (М МЛ») _*4 0 <м W 0 *2 ('♦> W !<».) 0 0 zi (M (M 0 0 а») ^3 ('«) 0 0 23 (',) (t9) 0 0 *3 \ 0 ) >M'io) “ —J Рис. 27.4 (1) а а •1 (2>l rb b b а а * - 0 b b а а ‘J 1 0 0 1 b (3) Ъ Ъ Ь (4) ‘b b b (5) b b 0 b ь h 0 b d d d 0 0 ъ 0 0 1 b 0 d d с с я с с с с 0 0 d с с с с с с 0 0 0 с с с_ с с с _ _0 0 0 (6) ~Ь Ь Ъ~ (7) ~b b > b~ (8) ~b b Ь d d d d а Г d d d d 0 d d d 0 d f f f 0 0 d 0 0 d 0 f f е € е e e с 0 0 f е е e e e 0 0 0 € е е € € e 0 0 0 е е е_ с c_ JO 0 0 (9) ~Ъ Ь 0 (Г — b 0 d d 0 x\ d 0 0 / f x2 / 0 0 0 f *3 X. / _0 0 0 0 _ 4 / Рис. 27.5 Иллюстрацией размера экономии памяти, которую дает такая ленточная обработка, служит пример аппроксимации линейным сплайном для т = = 1000 точек и 100 отрезков. Таким образом, задача наименьших квадратов имеет м = 101 неизвестных. Предположим еще, что строчная размерность каждого обрабатываемого блока не превышает 10. Тогда максималь¬ ные размеры рабочего блока не превосходят [л + 1 +max(wr)] Х3 = = (101 + 1 + 10) X 3, т.е. 336 ячеек. Менее специализированный алгоритм последовательного накапливания (типа алгоритма из § 1) потребовал бы рабочего массива с размерами по крайней Мере [л + 1 + max(m,)] Х(л + 1) = = (101 + 1 + 10) X 102, т.е. 11 424 ячеек. Если бы все строки были введены одновременно то рабочий массив имел бы размер т X (л + 1) = 1000 X 101 и состоял из 101 ООО ячеек. 171
§ 4. Сглаживание посредством кубических сплайнов В качестве еще одного примера использования последовательной обра¬ ботки в ленточном случае мы обсудим задачу о сглаживании данных по¬ средством кубических сплайнов с равноудаленными узлами. Пусть заданы числа Ьх < Ь2 < . .. < Ь#. Через S обозначим множество всех кубических сплайнов, определенных на отрезке [bi, bn] и имеющих внутренние узлы Ь2у . . ., Ьп_х. Функция / тогда и только тогда принадле¬ жит S, когда она является кубическим многочленом на каждом отрезке [bk , bk + x ], а на всем отрезке [61, bn\ непрерывна вместе со своей первой и второй производными. Можно показать, что множество S является п + 2-мерным линейным пространством. Поэтому любая система :/ = 1,.... л + 2} линейно не¬ зависимых функций из S будет в S базисом. Это значит, что каждая функ- п + 2 ция f GS имеет единственное представление вида f(x) = ^ cjQj(x)- Задача об отыскании элемента 5, который наилучшим образом (в смыс¬ ле метода наименьших квадратов) аппроксимирует заданную информацию { (jc/ , jk/ ) : jc/ G [biybn]\ /= 1,m), принимает с помощью базиса {<?/} форму Ac sу, где ац = <7/(*/), / = 1,. . ., Л1, / = 1,. .. , л + 2. Здесь с п + 2-вектор с компонентами с^ а у - т-вектор с компонентами уу. Пусть заданные точки упорядочены так, что хх <.. . <хт. В S существу¬ ют базисы с тем свойством, что соответствующие им матрицы А ленточные с шириной ленты 4. Методы вычисления таких базисных функций для не¬ равноудаленных узлов описаны в [36, 41, 45, 46]. Чтобы избежать услож¬ нений, не существенных для иллюстрации ленточной последовательной Таблица 27.1 Исходные данные для сглаживания посредством кубических сплайнов X У X У 2 2,2 14 3,8 4 4,0 16 5*1 6 5,0 18 6Д 8 4,6 20 6,3 10 2,8 22 5,0 12 2,7 24 2,0 Таблица 27.2 RMS как функция от NBP NBP 5 6 7 8 9 10 RMS 0,254 0,085 0,134 0,091 0,007 0,0 172
обработки, мы ограничимся здесь обсуждением только случая равноудален¬ ных узлов. Чтобы построить нужный базис, положим h = bk+i — bk , к = 1.., п — 1. Введем два кубических многочлена: М0 = 0,25ГЭ, М')=1 -0,75(1 +0(1 -О2. Пусть 1\ обозначает замкнутый интервал [Ь\, Ь2], а 1к - полуоткрытый интервал (bk,bk + x],k = 2,. . . ,п — 1. В интервале 1к только четыре из функций q^ принимают ненулевые зна¬ чения. Эти четыре функции определяются для х Е 1к формулами х-Ьк t , h qk(x)=pl(l-t), <7* + ,(*) = p2(l-0, +*(*)= MO, 4k+3(x)=Pi(t). Рассмотрим иллюстративную задачу сглаживания, используя эту систему базисных функций и применяя к полученной ленточной матрице последо- NBP*5 Ю 20 NBP = 9 10 20 NBP=10 Рис. 27.6. Сглаживающие сплайны для данных табл. 27.1. Треугольники у основания каждого графика указывают абсциссы узлов 173
вательное хаусхолдерово накапливание. Исходные данные для этого при¬ мера приведены в табл. 27.1. Число узлов указывает параметр NBP. Ему последовательно были при¬ своены значения 5, 6, 7, 8, 9, 10. При фиксированном значении NBP абсцис¬ сы узлов определяются формулами 22(/-1) Ь, = 2 + 1 , i = l,..., NBP. NBP - 1 Количество вычисляемых коэффициентов равно NC = NBP + 2. Заметим, что в случае NBP = 6 число коэффициентов совпадает с числом заданных точек. В этом случае сглаживающая кривая интерполирует эти. точки. Положим ,1/2 RMS /1 12 \ 1 где г i — невязка в *-й точке. Значение RMS для каждого случая указано в табл. 27.2. Отметим, что RMS не является монотонной функцией от NBP. График каждой из шести сглаживающих кривых приведен на рис. 27.6. § 5. Удаление строк Опишем три метода для удаления строки из задачи наименьших квадра¬ тов Ах s Ъ. Удобно будет ввести обозначение С=[А:Ь]. (27.31) Пусть С имеет т строк, п столбцов и ранг к. Предположим, что для С вы¬ числен множитель Холесского R. Здесь R - верхняя треугольная к X л-мат- рица такая, что <2С=[^] (27.32) для некоторой ортогональной матрицы Q порядка т. Матрица Я удовлет¬ воряет еще соотношению RTR -СТС. (27.33) Удобно сделать дополнительное предположение, что все к диагональных элементов R ненулевые. Так обязательно будет* если к = п. Если же к < п, то невырожденности диагональных элементов можно добиться, переставляя в случае необходимости столбцы и проводя новую триангуляризаиию. Пусть vT - строка С, которую нужно удалить. Без потери общности мож¬ но считать, что vT - последняя строка С. Пусть С — подматрица, образован¬ ная прочими строками С: (27.34) "Н Заметим, что ранг С равен к либо к - 1. Практические приложения опера¬ ции удаления данных чаще всего связаны только со случаем, когда 174
rank С = rank С - п. Мы рассмотрим, однако, общий случай rank С - 1 < rank С < rank С = к <п в той мере, в какой он не потребует значительных дополнительных умоза¬ ключений. Нужно найти множитель Холесского R для С, т.е, верхнюю треугольную к X л-матрицу того же ранга, что и С, для которой 0С= * , (27.35) где б - некоторая ортогональная матрица порядка т - 1. Матрица R удов¬ летворяет еще соотношениям RTR=CTC-CTC- vvT =RTR - vvT. (27.36) Первые два метода, которые мы опишем, были предложены в [68]. 1. Удаление строки. В этом методе предполагается, что известна не только матрица R> но и матрица Q из (27.32). Представим Q в.блочном виде и перепишем формулу (27.32) : Р а Q 1 [М- (27.37) Умножим обе части (27.37) слева на ортогональную матрицу, которая преобразует вектор q в нулевой, изменяет а и не меняет первые к строк Q. В качестве такой матрицы можно взять, например, одно преобразование Хаусхолдера или произведение т - к - 1 преобразований Гивенса. Равенст¬ во (27.37) приобретает вид л т и1 -А Q* р л 0J и (27.38) Теперь умножим обе части (27.38) слева на последовательность к преоб¬ разований Гивенса, которые постепенно аннулируют элементы р, меняя при этом а. Пусть обозначает матрицу Гивенсу, оперирующую со стро¬ ками / и /. Первое из левых умножений будет на Gkk+li второе - на Gfr-i,fr+i и тд. Последнее умножение будет на Glt к + х. Эта последователь¬ ность операций обеспечивает, что преобразованная матрица R, которую мы обозначим R, сохраняет верхнюю треугольную форму. После всех преобразований равенство (27.38) переходит в (27.39) Q\ —Т 0" Г д 1 R — т и л а [ »гГ - (?2 0„ _0 _ Так как а — единственный ненулевой элемент своего столбца, а столбец 175
имеет единичную евклидову длину, то а = ± 1. Поскольку евклидовы дли¬ ны строк также равны единице, то й должен быть нулевым вектором. Это ±vT. Поэтому (27.39) можно переписать в виде значит, что w т — avT = ' Qi 0 Г с 1 R 0 А ± i U = ±vT _g2 0_ _ 0 _ Положим Hi) Матрица Q — ортогональная матрица порядка m - 1, R ная к X п-матрица и R ОС (27.40) (27.41) верхняя треуголь- (27.42) Тем самым Q nR удовлетворяют требованиям, предъявляемым к матри¬ цам Q и R (см (27.35) и (27.36)). Каков ранг R (к или к - 1), зависит от того, равно или нет нулю число а в (27.38) . По предположению все к диагональных элементов R ненулевые. Если а Ф 0, то, исследуя структуру и действие матриц Гивенса, участвую¬ щих в переходе от (27.38) к (27.40), легко убеждаемся, что все к диаго¬ нальных элементов R также будут ненулевыми. Пусть, напротив, а = 0. Тогда ||/?|| = 1, и, следовательно, некоторые компоненты вектора р отличны от нуля. Пусть рх — последняя ненулевая компонента р, т.е. рх Ф 0, и если / Ф к, то р{ = 0 для / < / Учитывая по¬ рядок, в котором применяются матрицы G/у при переходе от (27.38) к (27.40), видим, что Gl k+х будет первой матрицей, не совпадающей с еди¬ ничной. Эта матрица GI k+x (с точностью до знака) является матрицей пе¬ рестановки строк / и к + 1, возможно, с изменением знака одной из этих строк. В частности, ее действие на R состоит в замене строки / строкой ну¬ левых элементов. Последующие преобразования не меняют эту строку. Следовательно, в (27.40) /-я строка R нулевая. Итак, в этом случае rank/? будет меньше, чем к. С другой стороны, rank R не может быть меньше к - 1, так как rank R = rank С > rank С - 1 * -к - \ , 2. Удаление строки. В задаче, где m очень велико или исполь¬ зуется последовательное накапливание, матрицу Q из (27.32) обычно не сохраняют. В этом случае метод 1 нельзя применить непосредственно. Однако все, что нужно от Q при определении матрицы R в методе 1, - это вектор р из (27.37) и (27,38) и число а из (27.38). Мы увидим, что эти величины р и а можно вычислить по R и и. Перепишем (27.32) в виде с =<2J (27.43) 176
Используя блочное представление (27.37), находим vT=pTR (27.44) или, что то же самое, RTp = v. (27.45) Если R имеет ранг п, то (27.45) - это невырожденная треугольная система, которую можно разрешить относительно р. Если к = rank R < п, то система (27.45) все же совместна и имеет единст¬ венное fc-мерное решение р. По предположению первые к строк R т состав¬ ляют треугольную к X fc-подматрицу с ненулевыми диагональными элемен¬ тами. Эта подматрица вместе с первыми к компонентами вектора и опреде¬ ляет систему уравнений, которую можно разрешить относительно р. Определив р, можно вычислить число а по формуле 0 = (1 - \\р II2)'/2. (27.46) Эта формула является следствием того, что в (27.38) евклидова длина д гг% Д столбца (р , а, 0) равна единице. Величина а имеет произвольный знак и может быть взята неотрицательной, что и сделано в (27.46). После того как р и а вычислены, матрицу R можно построить с по¬ мощью к преобразований Гивенса, как это объяснено в изложении метода 1 вслед за формулой (27.38). Эту часть процесса можно описать равенством Р R 1 Г 0 * 1 Gip* + iG2f * + i • • • G +1 л - г . (27,47) LaOj L±1 ± w J Следует ожидать, что метод 2 будет несколько менее точной численной процедурой, чем метод 1, из-за необходимости вычислятьриапо форму¬ лам (27.45) и (27.46). На точность, с которой определяется векторр, влия¬ ет число обусловленности R\ оно, разумеется, равно числу обусловлен¬ ности С. Это ограничение на точность является, по-видимому, неизбежным в лю¬ бом методе модификации множителя Холесского R при удалении данных, который не использует дополнительных хранимых матриц типа Q или С Можно ожидать, что при заданной точности машинной арифметики методы модификации, оперирующие непосредственно с матрицей (АГА)~1, будут значительно менее надежными, чем метод 2. 3. Удаление строки. Этот метод интересен тем, что требует мень¬ ше операций, чем метод 2, и алгоритмически очень ъхож с одним из мето¬ дов, используемых при введении дополнительных данных. Это позволяет построить очень компактную программу, выполняющую и введение, и уда¬ ление информации. Сравнительная численная надежность методов 2 и 3 не исследовалась. Метод 3 рассматривался в [37, 65, 66, 71 ]. Следуя примеру авторов этих работ, мы ограничимся обсуждением случая, когда rank С = rank С = к = п Свойства более общего случая выясняются в упражнениях. Пусть / обозначает мнимую единицу, т.е. /2=- 1. Равенство (27.36) можно переписать в виде (27.48) 12.Ч. Лоусон 177
Формально используя соотношения Гивенса (3.5), (3.8) и (3.9), можем построить матрицы F^\ которые приводят к треугольному виду матри- Г R 1 цу I т I . Это достигается следующим процессом: [*«>'•]- [У- (27-49) [ГД]-'"! "«-■>>•]■ ,=| *• <275о) [:ы; „<») w«)rj • Здесь матрица F^ отличается от единичной только элементами, стояшИми на пересечении строк / и к + 1 со столбцами / и к + 1. В этих четырех по¬ зициях F^ находится подматрицд т(0 ,>(О . (27.52) где 5(/)=[Г/(/-1)]2 _[„(/- П]2 (27 53) Р<0 = [5 (0] 1/2 (27.54) а(0=гУ-О/р(0 (27 55) т(,) = и/(,_1)/р(,). (27.56) Из нашего предположения о полноте ранга обеих матриц С и С можно вы- вывести, что числа определяемые формулой (27.53), положительны. Умножение на F^\ указанное в (27.50), можно выразить целиком в действительной арифметике: гТ=т(/Ч(/_1)у <27-57) у^> = _ T0)r}J-l) + а(|)и/*,“1)> / = л. (27.58) Способ построения F^ гарантирует выполнение условий гц = р^ и 1^=0. Далее легко проверить, что t/** = 0, каждая матрица R^^ верх¬ няя треугольная, F^TF^ -1 и йт*-[Т[я] L/uJ LW. (27.59) Тем самым R удовлетворяет всем требованиям, предъявляемым к матри¬ це R, т.е. R есть верхний треугольный множитель Холесского для матри¬ цы С из (27.34). 178
На практике потенциальная внутренняя неустойчивость задачи удалении данных может проявляться в потере значащих цифр при вычитании в фор¬ муле (27.53), а также в больших величинах множителей и г(/) в фор мулах (27.57) и (27.58). В работах Джентльмена [65,66] отмечено, что модификации метода Гивенса, в которых выделен массив для хранения квадратов масштаби¬ рующих строчных множителей, особенно хорошо приспосабливаются к методу 3 удаления строк. Простое допущение отрицательных значений для квадратов масштабирующих множителей позволяет представлять строки с чисто мнимым масштабированием, например ivT в (27.48). Ес¬ ли для с/2 в (10.31) и d2 в (10.33) допускаются не только положитель¬ ные, но и отрицательные значения, то метод, описываемый формулами (10.31) —(10.44), сможет обрабатывать как приписывание, так и удаление данных. Заметим, что для отрицательных значений d2 величина t из (10.35) уже не обязана находиться в отрезке [0,1]; поэтому предотвращение машинных нулей и переполнений в D и В становится более сложной задачей. Упражнения 27.60 (37]. а) Показать, что числа <г ' и г ' в формулах (27.55) и (27.56) мож¬ но интерпретировать соответственно как секанс и тангенс некоторого угла в b) Показать, что эти углы совпадают с углами преобразований Гивенса G(,) (с^ = cos = sin 0^), которые участвуют в процессе приведения матри- — т цы Л, окаймленной строкой v , к треугольному виду R; этот процесс можно опи¬ сать равенством °т “Ч^Ыо] c) Показать, что при прежней трактовке чисел и значение вмес¬ то (27.58) можно вычислить по формуле ТОс«>-1/а«и*« = г«/а« 27.61. Показать, что метод 3 удаления строк теоретически можно распространить наобидей случай rank С - 1 < rank С < rank С = к < л, опираясь на следующие замеча¬ ния. (Мы продолжаем придерживаться заключенного в начале § 5 соглашения, что все к диагональных элементов R ненулевые.) a) Если 6^ неположительно для некоторых индексов / из последовательности 1,..., к, то пусть И - первый такой индекс, т.е. 6 ^ < 0, и если h Ф 1, то 6 ^ > 0 для 1</<Л. Показать,что 6^ = 0. (Л-i) (h-1) b) Если индекс И определен, как в п. а), то vh ~ €rhh ’ где 6 = + 1 или е = - 1. Показать, что в этом случае верны и соотношения vjh ^ j = h + 1 . .. , и. c) При прежнем определении индекса h показать, что на шаге И алгоритм можно j \ закончить, принимая в качестве конечной матрицы R матрицу Ry \ в которой строка h заменена нулевой строкой. 12* 179
ПРИЛОЖЕНИЕ А ОСНОВЫ ЛИНЕЙНОЙ АЛГЕБРЫ В этом приложении мы перечислим основные используемые в книге фак¬ ты линейной алгебры, не пытаясь представить логически завершенный набор понятий. Наша цель - кратко ввести лишь те понятия, которые пря¬ мо связаны с излагаемым в книге материалом. Для действительного числа х положим Под п-вектором х мы понимаем упорядоченный набор п (действи¬ тельных) чисел хх,. . . , хп; тХ л-матрица А — это прямоугольный мас¬ сив (действительных) чисел, имеющий т строк и п столбцов. Элемент, стоящий на пересечении /-й строки и /-го столбца, обозначается через ац. Для m Хи-матрицы А мы часто используем символ Ат^п. Транспонированной для т X л-матрицы А называется л X ш-матрица, обозначаемая через АТ, элемент которой, стоящий на пересечении /-й стро¬ ки и / -го столбца, равен ац. Произведение m X л-матрицы А и IX ^-матрицы В, записываемое как АВ, определено лишь при / = л. В этом случае С - АВ есть m X /с-матри¬ ца с элементами Часто бывает удобно рассматривать л-вектор как л X 1-матрицу. В част¬ ности, таким путем можно определить произведение матрицы на вектор. Часто бывает удобно, напротив, считать m X л-матрицу составленной из m /7-векторов — ее строк — или л ш-векторов - ее столбцов. Скалярное произведение (называемое также внутренним произведе¬ ние м) двух л-мерных векторов и и и определяется фомулой п s - uTv= Z UjVj. i = 1 Два вектора ортогональны друг другу, если их скалярное произведение равно нулю. Евклидова длина, или евклидова норма, или /j-норма вектора и обозна¬ чается через || и || и определяется как 1, х>0у 1, х<0. п c'ij anbxj + ... + ain bnj £ aipbpj• p = i i; V || = (иГи)1/2 =( 2 ^2)1/2. i -1 180
Эта норма удовлетворяет неравенству треугольника II и + V II < II и II + II V II и обладает свойствами положительной однородности \\аи || = |а| \\и || (здесь а — число, aw— вектор) и положительной определенности: II и || > 0, если и Ф О, || и || = 0, если и - 0. Эти три свойства характеризуют абстрактное понятие нормы. Спектральная норма матрицы >4 обозначается через \\А II и определяется как ||Л || = шах {Ми||: II и II = 1} . (А.1) Нам часто придется использовать и норму Фробениуса (называемую также нормой Шура или евклидовой матричной нормой) матрицы А, которая обозначается через \\А ||F и определяется формулой m п ми^-сг £4)1/2. (а.2) /=1 f=\ Спектральная норма и норма Фробениуса удовлетворяют соотношениям max \ац I « IIА || « || A ||F < к1/2 || А ||, (А.З) где ,4 - m X «-матрица, а к- min (m, л). Обе названные нормы удовлетворяют трем свойствам абстрактной нормы и, кроме того .мультипликативным неравенствам МЯ1К \\л ||||£||, \\АВ\\р < \\A\\f \\B\\F. Символ 0 будет обозначать нулевой вектор или нулевую матрицу; что именно и размерность величины определяются контекстом. Система векторов vi,...,vk называется линейно зависимой, если су¬ ществуют скаляры c*i, ..., а*, не все равные нулю и такие, что к Z ctjVj = 0. (А.4) Обратно, если условие (А.4) выполняется лишь при ai = ... = ак = 0, то векторы линейно независимы. Множество всех л-мерных векторов образует л-мерное векторное про¬ странство. Заметим, что если и и v - элементы этого векторного прост¬ ранства, то это же верно для и + v и av, где а — произвольный скаляр. Указанные два условия замкнутости относительно сложения векторов и умножения вектора на число характеризуют абстрактное определение век¬ торного пространства. Однако нам придется иметь дело только с конкрет¬ ным конечномерным векторным пространством, элементами которого являются наборы из л действительных чисел. Если подмножество Т векторного пространства S замкнуто относитель¬ но сложения векторов и умножения вектора на число, то Т называется подпространством. Существует максимальное число линейно независимых векторов в подпространстве Т. Это число m есть размерность подпростран¬ ства Т. Максимальная система линейно независимых векторов подпрост¬ ранства Т называется базисом Т. Каждое подпространство Т размерности 181
т > 1 имеет базис. При этом для любой системы из к, к < т, линейно не¬ зависимых векторов т-мерного подпространства Т найдутся в Т m — к до¬ бавочных вектора такие, что вместе эти m векторов составляют базис Г. Если векторы образуют базис Т и v Е Т, то существует един- m ственный набор скаляров , для которого v = 2 а,м,. Оболочкой системы векторов Vi,...3vk называется множество всех линейных комбинаций этих векторов, т.е. множество всех векторов вида к и ~ 2 Ojty, для произвольных скаляров а,. Оболочка системы из к векто- i -1 ров является подпространством размерности ту т <к. Некоторые подпространства возникают естественным образом в связи с матрицами. Так, с т X л-матрицей А мы связываем образ, или простран¬ ство столбцов, т.е. оболочку ее столбцов; нулевое пространство, нтядро, т.е. множество {х: Ах = 0), и пространство строк, т.е. оболочку строк. Заметим, что пространство строк А совпадает с образом А г. Часто бывает полезно следующее замечание: образ произведения мат¬ риц, скажем А = UVW, есть подпространство образа самого левого сомно¬ жителя произведения — в данном случае U. Точно так же пространство строк А есть подпространство пространства строк самого правого сомно¬ жителя — в данном случае W. Пространства строк и столбцов матрицы А имеют одинаковую раз¬ мерность. Это число называется рангом матрицы А и обозначается через rankA Матрица АтХп имеет неполный ранг, если гапкА < min (m, л), и полный ранг, если гапкЛ = min (m, п). Квадратная матрица Ап х п не вы¬ рождена, если гапкЛ = л, и вырождена, если rank А < п. Вектор v ортогонален к подпространству Т, если v ортогонален к каждо¬ му вектору из Т. Для ортогональности к Т достаточно, чтобы v был орто¬ гонален к каждому вектору некоторого базиса Т. Подпространство Т ортогонально к подпространству Uy если любые векторы t Е Т и иЕ U ортогональны друг другу. Если подпространства Т и U ортогональны, то прямой суммой Т и U называется подпространство, обозначаемое через V U и определяемое как V - {и: v = t + и, t Е Т, и Е U) . Размерность V равна сумме размерностей Гиб/. Если Т и U — взаимно ортогональные подпространства л-мерного век¬ торного пространства £и£ = Г$£/,то7'и£/ называются ортогональными дополнениями друг друга. Это записывается так: Т = U1 к U = Т1. Для любого подпространства Т существует ортогональное дополнение Г1. Еслй Т — подпространство S и s Е 5, то найдутся единственные векторы t Е Т и и Е Т1 такие, что s = t + и. Для этих векторов выполняется дело¬ вые Пифагора: || s ||2 = || г ||2 + || и ||2. Линейное многообразие — это сдвиг подпространства, т.е. если Т - подпространство S и s Е 5, то множество L = {v:v = s + tytET) есть линейное многообразие. Размерность линейного многообразия опреде¬ ляется как размерность (единственного) ассоциированного с ним под- 182
пространства Т. Гиперплоскость Н в п-мерном векторном пространстве S — это п — 1-мерное линейное многообразие. Если Н — гиперплоскость и h0 G Я, то Г = {t:t =h - h0ihEH) -п - 1- мерное подпространство, а Т1 одномерно. Если и € Г1, то uTh имеет одно и то же значение (скажем, d) для всех ЛЕЯ. Таким образом, для задан¬ ных вектора и и скаляра d гиперплоскость Я можно охарактеризовать как множество {дс: итх = d}. В практических вычислениях гиперплоскости появляются именно через характеризацию этого типа. Полупространство — это множество векторов, лежащих по одну сторо¬ ну от гиперплоскости, т.е. множество вида {х: итх > d) . Многогранником называется пересечение конечного числа полупространств, т.е. множество вида {*.* х > dhi= 1,ш) или, что эквивалентно, вида {*: Ux > d }, где U — m X л-матрица со строками uj, d — //z-вектор с компонентами d{ и неравенство интерпретируется поэлементно. Элементы ац матрицы А называются ее диагональными элементами. Множество всех элементов аи называется главной диагональю А. Если все прочие элементы А нулевые, то А - диагональная матрица. Если = О для I f - у I > 1, то А — трехдиагональная матрица. Если atj = 0 для у < / и / > / + 1, то матрица А верхняя двухдиагональная. Если а= 0 для-/ < /, то матрица А верхняя треугольная. Если а{- = 0 для у < / - 1, то матрица Л верхняя хессенбергова. Если А т — верхняя двух¬ диагональная, треугольная или хессенбергова матрица, то А — соответствен¬ но нижняя двухдиагональная, треугольная или хессенбергова матрица. Квадратная диагональная п X «-матрица, все диагональные элементы которой равны единице, называется единичной матрицей и обозначается 1п или просто I. Если В А = /, то матрица В левая обратная для А. Матрица Ат Хп имеет левую обратную матрицу тогда и только тогда, когда rank А = п <т. Левая обратная матрица единственна в том и только том случае,если rank,4 = п=т. Операция транспонирования позволяет аналогичным образом определить правую обратную матрицу. Если матрица А квадратная и невырожденная, то существует матрица, обозначаемая А~1, которая одновременно является единственной левой обратной и единственной правой обратной для А. Она называется обратной матрицей для А. Обобщением понятия обратной матрицы является псевдообратная мат¬ рица, которую обозначают через А + . Псевдообратная матрица однозначно определена для любой m X п -матрицы А и совпадает с обычной обратной мат¬ рицей, если матрица А квадратная и невырожденная. Пространства строк и столбцов у А* те же, что и у А т. Понятие псевдообратной матрицы, тесно связанное с задачей наименьших квадратов, определяется и обсуждается в гл. 7. Квадратная матрица Q называется ортогональной, если QTQ- /. Из един¬ ственности обратной матрицы следует, что и QQT = /. Система векторов называется ортонормальной, если векторы этой сис¬ темы попарно ортогональны и имеют единичную евклидову длину. Ясно, что система столбцов ортогональной матрицы о рто нормальна я, и такова же система ее строк. 183
Если QmXn> 171 ^ п> имеет ортонормальные столбцы, то II б II = 1, IIQIIf = и1/2, WQA II = \\Л\\ и \\QA\\f = \\A\\F. Если QmXn, т < п, имеет ортонормальные строки, то ||£?|| = 1, ||Q||F = т1!2 ,\\AQ\\ = \\А II и \\AQWp = ||А ||F. Заметим,что ортогональная матрица Qnхп удовлетворяет обоим этим наборам условий. Некоторые конкретные ортогональные матрицы, полезные в вычисле¬ ниях, - это матрица вращения (.Гивенса) cos в sin в | —sin0 cos0j’ матрица отражения (Гивенса) cos в sin в j sin# — cosflj и матрица отражения (Хаусхолдера) где и — произвольный ненулевой вектор. Матрица перестановки — это квадратная матрица, столбцы которой по¬ лучаются перестановкой столбцов единичной матрицы. Матрица перестанов¬ ки ортогональна. Квадратная матрица А называется симметричной, если Ат = А. Сим¬ метричная матрица имеет спектральное разложение вида А = QEQT, где Q - ортогональная матрица, а Е - (действительная) диагональная мат¬ рица. Диагональные элементы Е суть собственные значения А, а столбцы Q - собственные векторы А. При этом /-й столбец матрицы Q относится к / му собственному значению е^ и выполнено равенство Aq^ = Матри¬ ца А - ejjl вырождена. Собственные значения симметричной п X «-матрицы А определены однозначно. Если среди п собственных значений А число X встречается m раз, то однозначно определено m-мерное подпространство, натянутое на m собственных векторов (столбцов Q), относящихся к X. Оно называется собственным подпространством А, относящимся к собст¬ венному значению X. Симметричная матрица положительно определена, если все ее собствен¬ ные значения положительны. Положительно определенная матрица Р харак¬ теризуется также тем свойством, что х тРх > 0 для всех х Ф 0. Симметричная матрица S неотрицательно определена, если все ее соб¬ ственные значения неотрицательны. Такая матрица обладает свойством хтSx> 0 для всехх Ф 0. Для произвольной m X п-матрицы А матрица S = АТА симметрична и неотрицательно определена. Она положительно определена, если гапкЛ =и. Инвариантное подпространство квадратной матрицы А - это такое под¬ пространство Г, что из х Е Т следует Ах Е Т. Если S - симметричная мат¬ рица, то каждое инвариантное подпространство S есть оболочка некоторой системы собственных векторов S, и, обратно, оболочка любого множества собственных векторов S является инвариантным подпространством для S. 184
Симметричная матрица Р называется проекционной матрицей, если все ее собственные значения равны единице или нулю. Матрица Р называется идемпотентой, если Р2 = Р (эквивалентно Р(1-Р) = 0). Матрица Р являет¬ ся проекционной матрицей в том и только том случае, если Р — симметрич¬ ная идемпотента. Пусть Рпхп ~ проекционная матрица, к собственных значений которой равны единице. Пусть Т есть fc-мерное собственное подпространство Р, от¬ носящееся к собственному значению единица. Подпространство Т — это (единственное) подпространство, ассоциированное с проекционной матри¬ цей Р, а Р — (единственная) проекционная матрица, ассоциированная с подпространством Т. Подпространство Т является одновременно простран¬ ством строк и пространством столбцов для ассоциированной с ним проек¬ ционной матрицы Р и характеризуется свойством Г = {дс: Рх =х) . Если Р — проекционная матрица с ассоциированным подпространством Т и \\Рх || = || jc II, то Рх = х и дс £ Т. Кроме того, ||Лс II < ||х || для х $ Т, и, следовательно, II /41 = ^если/^О. Для произвольной матрицы АтХп матрица А*А есть проекционная п X л-матрица, ассоциированная с пространством строк А; (I - А + А) - проекционная матрица, ассоциированная с ядром А; АА+ — проекцион¬ ная матрица, ассоциированная с образом (пространством столбцов) А. Для любого п-вектора х существует единственное представление вида х = t + м, где t G Т, а и Е Г1. При этом t = Рх, и - (/ - Р) х. Вектор t - это ближайший к х вектор в Г в том смысле, что \\х - 11| =min {||х - и ||: Т }. Вектор t называется проекцией х на Т. Обсуждение свойств проекционных операторов и доказательство боль¬ шей части высказанных выше утверждений о них читатель найдет в кни¬ ге [12]. Произвольная матрица АтХп допускает сингулярное разложение А = Ут хт^т хп ^пХп> где F — ортогональные матрицы, a S - диаго* нальная матрица с неотрицательными диагональными элементами. Диаго¬ нальные элементы S (siiy i = 1, ..., к, где k = min (w, л)) называются син¬ гулярными числами А. Это множество чисел однозначно определяется мат¬ рицей А. Число ненулевых сингулярных чисел равно рангу А. Кроме того, || А || = max { sti}, \\А ||F = ( 2 s ?•)1/2 , I i = 1 что дает простое доказательство двух правых неравенств (А.З). Пусть А - US VT — сингулярное разложение матрицы АтХп. Тогда спектральными разложениями матриц АТА и ААТ будут соответственно AtA = V(StS) VT иААт = U(SST) UT. Сингулярное разложение дает информацию, полезную при практичес¬ ком анализе задач линейной алгебры. Его свойства и приложения обсуж¬ даются в гл. 4, 5,18, 25, 26.
ПРИЛОЖЕНИЕ В ДОКАЗАТЕЛЬСТВО ГЛОБАЛЬНОЙ КВАДРАТИЧНОЙ СХОДИМОСТИ QR-АЛГОРИГМА Назначение этого приложения - дать доказательство теоремы 18.5. Приводимое нами доказательство является более подробным вариантом того, что содержится в [194, 195]. Утверждение а) теоремы 18.5 вынесено в упражнение 18.46. Лемму В.1 вместе с доказательством можно найти в книге [7]. Лемма В.1. Пусть А - симметричная трехдиагональная п X п-матрица с диагональными элементами а\,...уап и над диагональными (поддиаго- нальными) элементами Ь2,Ьп, причем все ненулевые. В таком слу¬ чае А имеет п различных собственных значений. Нам понадобится также следующая простая лемма, доказательство которой вынесено в упр. В.52. Мы используем обозначения, введенные в тексте и уравнениях гл. 18 (от начала и до (18.4) ). Лемма В.2. Для всех k = 1, 2, ... элементы матриц Ак и сдвиги ок ограничены по модулю величиной \\А ||, а элементы матриц Ак — ок1п и Rk ограничены по модулю величиной 2\\А ||. Мы должны исследовать основные операции QR -ал го ритма со сдвигами, чтобы установить свойства некоторых промежуточных величин и в конеч¬ ном счете оценить величину некоторых в не диагональных элементов мат¬ риц А к. Обозначим диагональные элементы сдвинутой матрицы Ак — ок1п через аГ=а^-ок, i = 1 п. Согласно правилу выбора ок (см. (18.4)), то собственное значение нижней угловой 2 X 2-подматрицы в матрице (Ак - okIn)t которое ближе к равно нулю. Поэтому д<*>5-<*> = (*<*>)’, п >1-1 1 п > ’ |д(*) | < \b(k) I < |д(*) I /I п п — 1 (В-4) (В.З) Ортогональная матрица Qk представляется произведением где каждая матрица j\kJx t есть вращение в плоскости, определяемой / — 1-й (В.5) 186
и /-Й координатными осями. Она имеет вид /<*> = ',-2 0 0 0 р(*) Г1 0 0 0 Л.-/ , /=2, ..., пу (В.6) где Р\к^ - матрица двумерного вращения, определяемая, как и в (3.5), Соответствующими числами и . После того как матрица Ак — ок1п умножена слева на первые / 2 мат- рщ вращений, имеем •■•■'й и*-»*/„) = гГ «Г (*) Г2 ,(*> я£'г Л*) 1- 2 х(к) /-1 у(к) у / -1 z><*> / в<*) л — 1 ь<*> п 0 ь'[к) п J<*) п (В.7) Умножая обе части (В.7) слева на J^k} j выводим, используя формулы (3.7) -(3.9), следующие рекуррентные соотношения: р(Д\ = к*^)2 + 1/2' *= 2> — * Лк) = -(к) с[к) = Лк) х(к) i-1 рГЛ *<*> / = 2,..., п, i = 2, ..., п, О = _.$(*)*(*) + c(k^b{k\ / = 2,...,я, I х-i i i 9 ’ ' ,<*> ,_,<*>,(*> +с(*)5-(*), / = 2,.. / I ''j —1 I I ’ ’ j,(*) = с(*) ^(*) / = 2,...,л —1. п. (В .8) (В.9) (В.10) (В.11) (В.12) (В.13) (В.14) 187
Подобное преобразование завершается построением матрицы \ + +^„=Л*07'•••(/?> Ull)r + a*/II. (В-15) В этом процессе новые внедиагональные элементы вычисляются по фор¬ мулам *<* + » , ,<*)р<*), / = 2,п. (В.16) Мы хотим проанализировать поведение последовательности {bff* при к В формулах (В.17) —(В.19) мы опустим верхний индекс А:, но сохраним индекс к + 1. Начиная с (В.16) при / = я, имеем ft^ + 1) =SnPn =snxn =sn +cn“„] = = sn [-snc«-lfcn + Sn (y~) (~Sn-lCn-2bn-l +Cn_,a„_i] = Sn Sn-\Cn-2^n-l^n (B.17) “n -1 Во втором из этих преобразований использована формула (В.9), затем последовательно формулы (В.13), (В.14) и (В.12) и, наконец, в предпос¬ леднем переходе - формулы (В.З), (В.13) и (В.14). Исключая рп _ j из (В.11) и (В.16), находим =Ia~lbn . (в.18) "-1 Теперь из (В.17) и (В.18) получаем bTl)bin-i} =-'»'1п-1<;п-гЬпЬп_11-^-\ (В.19) '*„-17 Из формулы (В.4), записанной в виде | < 1, и формулы (В.17) выводим 1*(* + 1) I < 1*1*1 г\, к = 1,2,... (В.20) Из (В.19) следует, что I*?+ 1)*л-11)| < ^bn)bn-i^ к = Ь2*--- (В-21) поэтому последовательность I b **1, I сходится при к -+ 00 к пределу L > 0. 188
Лемма В.22. Предел L равен нулю. Доказательство. Предположим, что L > 0. Переходя к пределу при к 00 в обеих частях равенства (В.19), получаем -*1. (В.23) |ij** I -*■ 1, (В.24) Icf>al-1, (В .25) &<*>,)* -> 1. (В.26) Из (В.10), (В.24) и ограниченности последовательности {р ^ 1} (см. лем- му В.2) выводим, что *{**, ‘♦О. (В.27) Поэтому, согласно (В.13) и (В.14), «■?!,*?!, ’0. (В.28) Так как (В.26) подразумевает, что с^к}{ -►О, то из (В.28) следует ^°- (В.29) Из (В.25), (В.26) и (В.29) вытекает, что Ъ -► 0. Поскольку поoie- довательность ограничена, отсюда следует \ Ь^ХЬ^ \ -► 0, что противоречит предположению L > 0. Это доказывает лемму В.22. Лемма В.ЗО. Последовательность { | Ъ *** |} , к = 1,2,..., содержит произвольно малые члены. Доказательство. Фиксируем число т > 0. По лемме В.2 последо¬ вательности {|Ь***|} и ограничены. Поэтому, согласно лем¬ ме В.22, найдется целое число к, для которого либо 1*(Л,Кг, (В.31) либо Ib^Kr. (В.32) Если выполняется (В.31), то из (В.20) выводим \b ^ +1* I < т. Итак, для любого г > 0 существует номер к, зависящий от г, для которого II < г. Лемма (В.30) доказана. Лемма В.33. Если т > 0 достаточно мало, а номер к таков, что | \ < т, то \ Ь ^ \ < т для всех k>k. Доказательство. Пусть 6 = min { | Х/ — X -1: / Ф j} . Заметим, что 6 > 0, так как собственные значения матрицы Л различны. Положим t [1 +f/(8 — 3r)] /(,) - — . (B.34) 189
Пусть т0 > 0 настолько мало, чтобы выполнялись условия: го < 6/3, /(го) < 1, dm dt (В.35) (В.36) (В.37) Выберем число г в интервале (0, т0), и пусть к — целое число, для кото¬ рого |й(*>|<г. (В.38) Удобно будет ввести обозначение е (*) (В.39) Если Ъ ^ = 0, то алгоритм сошелся. В противном случае без ограничения общности можем считать, что е > 0. Так как. - е2, можно написать п п — 1 * Ак - <*к!п “ ' 0 В I | 0 i € 1 1 ! 0 0 е 1 — 1 а(к), . 1 "■*- (В .40) Пусть ixn _ l — собственные значения симметричной матрицы В по¬ рядка п - 1, а Х(,\'п — собственные значения матрицы Ак — ок1п. По теореме 5.1 упорядоченные собственные значения матрицы Ак-ок1п и собственные значения матрицы В 0 0 *<*) п - 1 различаются не более, чем на е. Поэтому выполняются неравенства |Х!-/х.|<е, г = 1,..., и — 1, (В.41) к- — <«. ап-1 где числа X), возможно, подверглись переиндексации. Из тождества м,=м,-х; + х; -х; +х; 190
следует \n,\>W'i-\'n\-\ni-\'i\ - г^ xl (Ac) Ofl-l 1 = 1 n — 1 - (B.42) Применяя теперь (B.41) для второго и третьего членов в правой части неравенства (В.42), замечая, что | Ху — Х^, | = IXf. — Х„| > б, и, наконец, используя для четвертого члена формулу (В.4) вместе с - е, имеем |jt,|> 5 -Зе, i = и-1. (В.43) Перед последним шагом приведения матрицы Ак — ок1п к верхнему треугольному виду нижняя угловая 2 X 2-подматрица устроена так: *<*> ес<*> хп-1 tcn-1 е2'~ (В .44) Это следует из (В.З), (В.7), (В.14) и (В.39). Заметим, что в формуле (В.44) х , - диагональный элемент верхней треугольной матрицы порядка п - 1, полученной в результате левого ум¬ ножения матрицы В из (В.40) на последовательность из п — 2 матриц вращения. Поэтому, согласно (6.3) и (В.43), \*nh I > min 1/1,1 > 5 - Зе. (В.45) По завершении подобного преобразования из (В.З), (В.9), (В.13), (В.17) и равенств у ^ г = с { Ъ ) = с х е выводим b(k +1) (*) (*) =(с(к)~(к) _ s(k) (к) ч (fc) = п п ^ П V tl п п * п — I' п (егс^ \ = ( 1__ еС<*> ,<*>),<*>. (В.46) \-{к} п-1 п ) п ап-1 Теперь из (В.11) и неравенства (В.45) следует | j<*> | = < . (В.47) [(*(nfc>,)2 + е2]1/2 5 — Зе Наконец,согласно (В.46) и (В.47), е3 е3 |ft(k+1>|< + . (В .48) !«£>, 1(5 -Эе) (6—3е)г Неравенство (В. 48) показывает, что если последовательность { I I } ограничена снизу положительным числом, то сходимость асимптотически будет кубической. Однако в общем случае из (В. 4) следует лишь, что 191
I a^kJj I > e; поэтому /ir 4.1 \ + e* /(& — 3e) |6(* + 1)| < -, (B. 49) 5 — 3e или с привлечением (В. 34) и (В. 39) |ь(к+ ° I < [Ь(к)¥—Ь" /(S ~ЪЬп ) = 50) 5_3Л(*) « п Из условий (В.36)-(В. 38) вытекает, что /(&***)< 1, откуда |6<* + 1) I < |6<*> I. (В. 51) По индукции выводится, что неравенства (В. 50) и (В. 51) с к, заменен¬ ным на к + /, справедливы для всех / = 0, 1,.. . Этим доказательство леммы В. 33 заканчивается. Лемма В. 33 означает, что -*0 при / -►<»; это составляет утвержде¬ ние Ь) теоремы 18.5. Так как -►О и неравенство (В. 50) выполняет¬ ся для всех достаточно больших к, то установлена также и квадратичная сходимость, которую гарантирует последнее утверждение с) этой теоремы. Закончим данное приложение следующими замечаниями. 1. Нет необходимости явным образом вычитать сдвиги ок из диагональ¬ ных элементов Ак при построении матрицы Ак+Х. Этот тезис в применении к вычислению сингулярного разложения обсуждается в гл. 18. 2. На практике вычисление собственного значения заканчивается, когда элемент b^ становится ’’нулем с рабочей точностью”. Что под этим пони¬ мать, можно определять по-разному. Один из возможных критериев указан в гл. 18 в связи с численными аспектами сингулярного разложения. 3. Доказательство, которое мы привели, относится к случаю п > 3* Если п - 2 и А = Ах = «<■> »<'П *4'» 4‘> Г то, как легко видеть, одно (^-преобразование со сдвигом, выполняемое в соответствии с (18.1) — (18.4), даст . ^ ь А 2 = Г а\ Ь?> 1 U2) -Ja) -I где b^ = 0. Таким образом, А2 - диагональная матрица, и собственные значениям! вычислены. 4. Более общо, если вместо ок из (18.4) в качестве сдвига использует¬ ся точное собственное значение X матрицы А, то матрица Ак+Х распадает- 192
ся в результате следующего Q/*-iuara. В самом деле, Ь^к+1 * = 0ия^+1)=Х, Чтобы убедиться в этом, заметим, что вследствие вырожденности матрицы Аь - Х/я по крайней мере один из диагональных элементов треуголь¬ ной матрицы Rk должен быть нулем. Согласно (В. 8), р> О для i = = - 1,и, следовательно, нулем должен быть элемент р(к), Завер¬ шая подобное преобразование и восстанавливая сдвиг в соответствии с (В, 15), видим, используя (В. 17), что =0 и потому а<*+»=Х. " " Л У пражнение В. 52. Доказать лемму В. 2. Уг 13. Ч. Лоусон
ПОСЛЕСЛОВИЕ Х.Д. Икрамов Ниже приведен комментарий к ряду глав прочитанной вами книги. В нем кратко прореферированы важнейшие работы, относящиеся к сквоз¬ ной теме книги - прямым методам для линейных задач наименьших квад¬ ратов. В основном это публикации 1974 г. и более поздних лет, и их от¬ сутствие в книге понятно. В то же время в нескольких случаях работы, включенные в список литературы книги, в основном тексте не упомина¬ ются. Так произошло, например, с циклом статей Бьорка по итерационно¬ му уточнению и работой Пейджа [50*]. Комментарий заканчивается соб¬ ственным списком литературы, и ссылки здесь даются к этому дополни¬ тельному списку. Глава 4. Понятия сингулярного числа и сингулярного разложения перенесены в [64*] на случай нары матриц с одинаковым числом столб¬ цов; при этом строчные размеры могут не совпадать. Пусть А - т{ X л-мат- рица, а В - т2 X «-матрица. Если матричный пучок АтА - \ВТВ несин¬ гулярен, т.е. характеристический многочлен det(,4r/4 - \ВТВ) не равен нулю тождественно по X, то конечные собственные значения пучка неот¬ рицательны. Арифметические корни из них называются (обобщенными) сингулярными числами пары матриц (А, В). Если В = /„ - единичная « X «-матрица, то приходим к стандартному определению сингулярных чисел. Предположим (имея в виду приложения к анализу задач с ограничения¬ ми), что nil > п. Тогда [64*] существуют ортогональные X «^-матри- ца U и т2 X т2 -матрица К, а также невырожденная п X «-матрица X такие, что *) UTAX = Da = diag (а,,..., а„), а, > 0, (1) VTBX = DB = diag (0i Д,), ft > 0, s = min (m2, n), (2) 0, > .. . > ft. > 0, ft. + 1 =...= &= 0, r = rank B. (3) Соотношения (1), (2) вместе с условиями (3) называются (обобщенным) сингулярным разложением пары (А, В). При этом отношения (ty/ft, i = 1,.. ., г, суть сингулярные числа этой пары. Остроумное доказательство этого факта, упрощающее доказательство Ван Лоана и опирающееся на (неявно) введенное еще в [25] понятие *) Запись diagC^, . . . , yt), t = min(m,n), обозначает m X л-матрицу, у которой элементы главной диагонали равны числам 7/, а все прочие элементы равны нулю. 194
(75-разложения ортонормальной матрицы, дано в [55]. Предположим для простоты, что ранг (wj + т2) X п-матрицы □ F равен п. Пусть Г Qa F * QR = I R (4) I- Qb J есть ортогонально-треугольное разложение F, где R — невырожденная верхняя треугольная матрица, а блочное разбиение ортонормальной (mi + m2) X л-матрицы Q индуцировано аналогичным разбиением F. Если QJ4 = UCWT - сингулярное разложение QA, то в матрице верхний блок диагональный. Сингулярное разложение неоднозначно, и мы будем считать, что С выбрана так, что сингулярные числа, равные единице (если таковые имеются), занимают последние диагональные по¬ зиции С: С О С = О /, о о }т1 - п Таким образом, 0 < < 1, / = 1, 2,. .. , п - t. Поскольку столбцы G имеют единичную длину, последние t столбцов У должны быть нулевыми: у = т Так как GTG - то, в частности, СТС + YTY = 1п _ t, т.е, матрица Y7У диагональная, и, следовательно, столбцы У попарно ортогональны. Поэто¬ му У можно представить в виде У = VS, где V - m2 X (п - г)-матрица с ортонормированными столбцами, S - диагональная матрица порядка п - t, диагональными элементами которой служат длины столбцов У. Из сказанного заодно вытекает, что п— t = г = rank В. Дополняя матрицу V до ортогональной матрицы V порядка т2, а также окаймляя S нулевыми строками и столбцами до т2 X л-матрицы S, по¬ лучим Y = VS. Это позволяет переписать (5) в виде [Г ■>■[;]' а 13 195
что вместе с (4) дает где X = R lW. Это и есть обобщенное сингулярное разложение пары (А, В), причем С = Da , S = DB . Способ устойчивого вычисления CS-разложения (6), использующий модификацию метода вращений Якоби, описан в [61*]. Сингулярное разложение пары матриц оказалось полезным средством исследования задач с ограничениями. Некоторые другие его приложения, а также другой способ обобщения понятия сингулярного числа указа¬ ны в [64*]. Анализ чувствительности обобщенных сингулярных чисел и сомножи¬ телей обобщенного сингулярного разложения к возмущениям элементов данной матричной пары проведен в [39*]. В частности, получены ’’обобщен¬ ные” варианты классических теорем Вейля—Лидского и Хоффмана—Ви- ландта. Глава 5. Более точный по сравнению с теоремой 5.7 анализ возмуще¬ ний сингулярных чисел выполнен в [60*]. В обозначениях гл. 5 справедли¬ во равенство 0? - (<**+&)*+»??, (7) причем I I < II РЕ ||, inf || (/ - Р)Ех || < ц, < II (1-Р)Е ||. II * II = 1 Здесь Р — ортогональный проектор (проекционная матрица) на образ А. Если а/ велико относительно || Е ||, то вторым квадратом в (7) можно пренебречь, т.е. ft ^ а,- + ^.Поскольку |£. i < || РЕ\\ < || £||, (8) то теорема 5.7 содержится в (7). Однако (8) сильнее, поскольку II ДЕ|.| может оказаться существенно меньше, чем || Е ||. В особенности это вероят¬ но при к < т, т.е. когда размерность образа А много меньше размерно¬ сти т пространства. Для малых <Х(, когда оба квадрата в (7) сравнимы по величине, второе слагаемое rj? имеет тенденцию увеличивать значение сингулярного числа» Поэтому для плохо обусловленных матриц малые возмущения чаще при¬ водят к улучшению обусловленности, а не к ее ухудшению* В [62*] получены точные выражения для членов первого и второго порядка в асимптотическом разложении младшего сингулярного числа возмущенной матрицы. Глава 6. Пусть вычислено ортогонально-треугольное разложение т X л-матрицы А из задачи НК, причем у треугольной п X «-матрицы R все диагональные элементы не равны нулю. Следует ли отсюда, что в пре¬ делах той точности, с какой ведутся вычисления, R не вырождена? Дадим эквивалентные постановки этого вопроса. Насколько мало младшее син¬ гулярное число R1 Насколько велика норма матрицы/? -1, т.е. если считать R нормированной, насколько велико ее число обусловленности? 196
Теорема 6.13 показывает, что даже для треугольной матрицы того типа, что строится в алгоритме HFTI (т.е., в частности, имеющей монотонно убывающие диагональные элементы), младший диагональный элемент может не давать правильного представления о величине наименьшего сингулярного числа. В [41*] предложен метод вычисления верхней оцен¬ ки для IIЯ'1 ll/г, требующий 0(п) операций. Он основан на том, что для треугольной матрицы р с теми же диагональными элементами, что и у R (которые в алгоритме HFTI всегда положительны), и отрицательными надциагональными элементами, определяемыми формулой Ри = -Д| = -max | гц I, I = 1,..., п - 1, / < / < п справедливо неравенство IIЛ-1 Ilf < lip-1 ||F. При этом ||p~'|If= 2 ni/rji, i = l а коэффициенты ц,- вычисляются рекурсивно: Mi = 1, Hi = (1 +<v_ ,)a/i,_, -2с, / = 2,3,..., и; С( = а,/га. / = 1, 2,1. Многие современные программы решения линейных систем содержат блок оценки числа обусловленности матрицы. В случае треугольной матри¬ цы R такой блок реализует один шаг обратной итерации для RTR при специально выбираемом начальном приближении [21* 22*]. Глава 7. Существует необозримая литература о разных типах обоб¬ щенных обратных матриц. Так, в посвященной этому предмету книге [49*] библиография содержит 1775 названий. Пусть I — произвольное подмножество множества { 1, 2, 3, 4}. Матри¬ ца X называется обобщенной обратной для А типа I (и обозначается А1), если для X выполнены все условия Пенроуза с номерами из /. В частности, ^{1.2,3.4} ШД+ ДдЯ нетривиальных же подмножеств I множества обоб¬ щенных обратных матриц типа / в общем случае бесконечны. Запись многих фактов, связанных с задачей НК, не требует именно псевдообратной матрицы: ее могут заменять более слабые обобщенные обратные. Так, формулу из упражнения 7.22, описывающую все псевдо¬ решения задачи Ах s Ь, можно заменить на х = А^'3Н*(1-А^А)у. Псевдообратная матрица А* введена в теоремах 7.1, 7.3 как матрица, дающая при фиксированной т X и-матрице А и произвольном га-векторе Ъ решение минимальной длины (= нормальное псевдорешение) задачи Ах^ Ь. Можно поставить более общую задачу: найти min || д: ||L, F = {jc I II Ax - b \\M = min>, (9) jc e f 197
где || • ||L, || • ||м - эллипсоидальные полунормы IUILl = llbr ||, \\у Нм = \\Му\|. Эта задача рассматривалась рядом авторов, в частности в [28*, 47*]. Положим Р = / — (МА)* МА, т.е. Р - проектор на ядро МА. Общее реше¬ ние (9) записывается формулой х = (I- СLP)*L) СМАУМЬ + Р(1 - (LPyLP)z, (10) где z - произвольный вектор из Rn. Решение задачи (9) будет единствен¬ ным в том и только том случае, когда кег (МА) П кег L = {0). (11) Слагаемые формулы (10) ортогональны, поэтому, даже если (11) не выполнено, вектор х = (J - (LP)+L) (МАУМЬ (12) является (уже однозначно определенным) решением (9), имеющим мини¬ мальную евклидову длину. Это мотивирует следующее определение. Матрица Am,l ~ (I ~ (LP)+L) (MAY М называется ML-взвешенной псевдообратной для А [28*]. Формула (12) принимает вид х ~ Ам,ьЬ> Матрица Am,l принадлежит к числу обобщенных обратных для А типа {2}, Ряд ее свойств обобщает соответствующие свойства псевдообрат- ных матриц Мура—Пенроуза. Известно, например, что А* = lim (АТА + Ы)~ХАТ. 8 О Этому отвечает такое свойство взвешенной псевдообратной матрицы: lim В(Х) = lim [(МА)ТМА + XJIrI] *(МА)ТМ = Afo L. (13) \ - о \ о Отметим еще формулу lim В(Х) = (МАРЬУМ, (14) л -► +°° где PL = / - L +L. Подобно тому как сингулярное разложение матрицы А упрощает вы¬ числение псевдообратной матрицы (см. формулу (7.11)), обобщенное сингулярное разложение пары (А, В) позволяет определить взвешенные псевдообратные AfB, В?л. Именно в обозначениях формул (1), (2) справедливо: А1в = XD% UT, BtiA = XD+BVT. Глава 9. Вопрос о том, насколько реалистичны оценки возмуще¬ ний нормального псевдорешения из теоремы 9,7, разбирается в [59*]. При этом наряду с возмущениями исходных данных такого типа, как в названной теореме, т.е. характеризуемых наличием малого положитель¬ ного в, для которого II £11 < е || Л ||, II db II < е || *||, рассматриваются и возмущения, вносящие малую относительную погреш- 198
ность в каждый столбец Лив правую часть задачи. Если Ej (Aj) обозна¬ чает /*-й столбец Е(А), то возмущения этого типа описываются неравен¬ ствами II Ej II < в || Aj ||, / = 1 ,...,л, WdbW < е||* ||. Будем говорить соответственно о возмущениях класса I и класса II. Приведем несколько важных результатов этой работы. Пусть sx > > s2 > . . . > sn > О — сингулярные числа т X л-матрицы А, и пусть ц = » ек = в || А || || А* || < 1. Найдутся возмущения Е\, (db) х класса I такие, что ljn^ г . н* I At || > — — J— + — L s„(l - At ) 1 - b II .2 и возмущения Е2, (db)2 класса I, для которых II dx || >— М* || + Ц6 11]. Учитывая, что в рассматриваемом случае — матрица А имеет полный столбцовый ранг — четвертый член в правой части (9.9) (см. теорему 9.7) отсутствует, видим, что остальные три члена действительно должны входить в любую верхнюю оценку возмущений псевдорешения для возмущений исходных данных класса I. В случае возмущений класса II ситуация более сложная. Положим о = = \\А И/?, (J. = eo/sni и пусть /и < 1. Для^произвольной невырожденной диаго¬ нальной л X л-матрицы D положим A =AD, пусть a, sntji определены по отношению к А так же, как a, sn, д по отношению к А. Рассматриваем только такие матрицы £), для которых Д < 1. Оказывается, что для любого возмущения класса II II* II , , _ е f 5|| г || а ||х || 1^*11 <— тт:—=Г" + sn L sn (1 — /i ) 1 — (15) Главное отличие (15) от оценки (9.9) теоремы 9.7 заключается в том, что коэффициент dlsn при г заменяет прежний коэффициент si/sn. Это значит, что если масштабированием столбцов можно существенно умень¬ шить число обусловленности А (выполнять это масштабирование на самом деле необязательно), то верхняя оценка для || dx || в действительности зависит лишь от первой степени || А + ||. Так будет, если столбцы А имеют сильно различающиеся длины, но хорошо разделенные направления. Представляет интерес и следующее замечание из [59*]. Будем рассмат- ривать возмущения класса I. Введем угол у между правой частью Ъ и образом матрицы А. Существуют такие возмущения Еу dby что для отно¬ сительной погрешности решения выполняется нижняя оценка II dx II 2 1 ———> ек2 tgv>- . (16) II* II 1-М2 Предположим, что д = ек < 1 ,но правая часть (16) больше 1. В этом случае вектор х = х + dx не имеет какой-либо цены как приближение к х. Тем 199
не менее он содержит в себе некоторую информацию об исходной задаче. Так, для не слишком малых <р можно показать, что г(х) ^ 1,005г, т.е. вектор х почти минимизирует длину невязки. Для углов не слишком близких к я/2, вектор х позволяет определить проекцию Ъ на образ А с малой относительной погрешностью. Это следует из приближенного равен¬ ства || Adx Н/Н Ах || « ц tg sp. Глава 13. Относительная погрешность приближенного решения минимальной длины (= нормального решения) , вычисленного алгоритмом НВТ - HS2, будет (в наихудшем случае) зависеть от первой степени числа обусловленности, а не от второй, как было бы для несовместной системы, Этот вывод можно сделать, проводя для алгоритма обратный анализ по¬ грешностей округлений в духе гл. 15—17 и применяя теорему 9.18. К тому же заключению приводит и прямой анализ погрешностей [38*]. Вместо алгоритма НВТ — HS2 нормальное решение можно искать так. Первым шагом, как и прежде, является ортогонально-треугольное раз¬ ложение матрицы А: где L - нижняя треугольная матрица. Будем искать нормальное решение в виде Таким образом, вычисление х сводится к решению треугольных систем с матрицами L и LT, после чего применяется (17) . Этот подход позволяет не хранить матрицу Q ценой хранения А; в больших разреженных задачах, где Q - значительно более плотная матрица, он дает существенную эко¬ номию памяти. Можно думать, что, поскольку w определяется из системы (18) , погреш¬ ность вычисленного вектора х может быть пропорциональна квадрату числа обусловленности к матрицы А. Как показано в [50*], в действи¬ тельности ситуация более благополучна. В оценке погрешности, в самом деле, присутствует квадратичный по к член; он умножается, однако, на квадрат машинной точности 77. Поэтому при к r\ < 1 погрешность пропор¬ циональна к 17, а не к2т?. В [23*, 40*] даны обзоры методов для недоопределенных систем. Во второй из этих статей типовая задача линейной теории упругости — расчет вектора сил при заданной конечно-элементной модели структуры и задан¬ ных нагрузках — интерпретируется как задача вычисления нормального решения недоо предел енной системы полного строчного ранга. При этом используемые на практике методики расчета вектора сил — методы пере¬ мещений, сил, естественной факторизации — оказываются различными способами вычисления нормального решения. Глава 14. Алгоритм HFTI был независимо предложен Голубом [32*] и - под названием нормализованного процесса - советским кол¬ лективом: Д.К. Фаддеев, В.Н. Кублановская, ВН. Фаддеева [И*]. Значе¬ ние к псевдоранга в нормализованном процессе определяется, исходя AQ = [L : 0], * = ATw. Подставляя (17) в систему Ах = Ъ, получим AATw = LLTw = b. (18) (17) 200
из величины диагональных элементов вычисляемой треугольной матрицы. Как отмечено в [26*], обычный способ выбора к можно интерпретиро¬ вать следующим образом: норма активной подматрицы становится сравни¬ мой с нормой матрицы эквивалентного возмущения; при этом нормой тХ п-матрицы Л служит величина \\А\\ = шах ( 2 я,2*)1'2. 1 < к < п i = 1 Многочисленные приложения нормализованного процесса к различ¬ ным задачам линейной алгебры указаны в работах В Я. Кублановской (см., например, [5* — 8*]). Главы 15-17. Пусть А - т X «-матрица псевдоранга п. Как следует из теорем 16.1, 17.11, приближенное решение х задачи Ах — Ъ> вычислен¬ ное алгоритмами ортогонально-треугольного разложения, будет точным для задачи со слабо возмущенными входными данными А + Е, Ь + /, Одна¬ ко в силу теоремы 9.7 это не означает, что разность dx = х - х, где дг - точное решение задачи Ах ^ Ь, обязательно будет мала. Два фактора влия¬ ют на увеличение нормы dx: плохая обусловленность матрицы Л и сильная несовместность системы (т.е. большая величина оптимальной невязки г). Что же делать, если качество вычисленного приближения х неприемлемо? При решении линейных систем с квадратными невырожденными матри¬ цами в такой ситуации широко используется итерационное уточнение - метод, впервые предложенный и подробно исследованный в книге [66*]. Техника итерационного уточнения была перенесена на случай решения задачи наименьших квадратов в работах [13*, 32*]. При этом использо¬ вался наиболее очевидный подход: если 6 - решение задачи НК Аб ^ s b - Ах, то х + 5 есть решение исходной задачи Ах ^ Ь, т.е. совпадает с х. Таким образом, нужно хранить матрицу А, чтобы вычислить (обычно это делают с удвоенной точностью или посредством операции накопле¬ ния) невязку г = b - Ах, после чего решается задача НК с той же матри¬ цей А и правой частью г. Если сохранено ортогонально-треугольное раз¬ ложение А, решение новой задачи НК потребует лишь 0(тп) операций вместо 0(тп2). Если 6 — вычисленное решение этой задачи и точность приближения х = х + 5 все еще недостаточна, то процесс повторяется и т.д. Метод реализован алгольной программой [18*]. Внутреннее ограничение, присущее этому подходу, вскрыто в [35*]. Пусть на вход процедуры итерационного уточненияв ’’подано” точное реше¬ ние х, и пусть точно вычислена невязка г = Ъ - Ах. Мы считаем, что г Ф 0. Точным решением задачи АЬ ^ г был бы нулевой вектор. Однако о вы¬ численном решении 5 мы можем сказать лишь, что оно является точным для задачи (А + Е)Ь s г +/. Оценки теорем 16.1, 17.11, 9.7 показывают, что мы можем гарантировать для нормы 6 оценку типа IISH < f(m,rt)K2\\r\\T)l\\A ||. (19) Здесь f(m, п) — некоторое выражение от т и п, зависящее от деталей машинной арифметики и метода, в частности от того, используется или нет вычисление скалярных произведений с повышенной точностью. Чтобы сумма х + 6 не искажала точного решения, нужно, как минимум, потребо¬ 14.4. Лоусон 201
вать, чтобы выполнялось неравенство II Г ll/dl А II II дс ||) < 1. (20) Для задач с большими невязками и не очень хорошо обусловленной А это условие будет нарушено. Пусть для решения задачи Ах ^ b строилось ортогонально-треугольное разложение А, и пусть R — вычисленная треугольная матрица этого раз¬ ложения, a R — отвечающая ей точная матрица. Поскольку задача Ах ^ b теоретически эквивалентна системе нормальных уравнений АтАх = АТЬ и АтА - RTR, то Кахан предложил следующую процедуру итерационного уточнения: х(0) = 0 r(s) = ъ _Ах(*)' RTR6is) = ATr{s\ *(s+1) =x(s)+5is\ s =0,1,2,... У этой процедуры, казалось бы, нет отмеченного выше недостатка про¬ цесса Голуба: если невязка г точно ортогональна образу А, то Атг = 0 и 5 = 0, Однако г*5* и произведение Атг^ не будут, вообще говоря, вычислены точно. Пусть — правильно округленное точное решение*. Вместо точной невязки г в лучшем случае будет вычислена г = г + А, где II Л || <171| г ||,Так как Атг = 0, то для 5 получаем систему RTRb = ATht откуда ||6 || £ к2(А) || г || т?/М II, т.е, практически то же самое, что ив (19). Итак, для сильно несовместных систем описанные выше приемы итера¬ ционного уточнения работают неудовлетворительно. В работах Бьорка [14*, 17*] развит другой подход, использующий эквивалентность задачи Ах^ Ь и системы линейных уравнений где г = Ъ - Ах — оптимальная невязка. Матрица В системы (21) квадрат¬ ная, а если rank А = п, что в дальнейшем предполагается, то и невырожден¬ ная. Поэтому к (21) применим обычный процесс итерационного уточне¬ ния. Приводим его описание, следуя [14*]. Полагаем =0, =0. Итерация с номером s состоит из трех шагов: 1. Вычислить невязки На этом шаге операции проводятся с удвоенной точностью. 202
2.Определить поправки б,6x<s), решая систему Г/ А 1 Гбг^-1 [* А'МЛА (23) 3.Найти новые приближения r(s+1) =r(5) + 6r(s\ х(5+1) +6x(s). Процедура Голуба получается, если в этом описании положить =0 для всех 5. Это означает, что в случае совместной системы асимптотическое поведение методов должно быть одинаковым, и также отчасти объясняет, почему при больших невязках процесс Голуба дает неудовлетворительные результаты. Как решать систему (23)? Заметим, что при s = 0 из формулы (22) следует, что = Ь, = 0, а тогда (23) превращается в (21). Таким образом, первая итерация есть попросту первоначальное решение исходной задачи Ах э* Ь. Предположим, что для этого (методом HFT или модифици¬ рованным методом Грама — Шмидта (MGS) из гл. 19) вычислено орто¬ гонально-треугольно е разложение А (мы рассматриваем пока случай точных вычислений): \RVn QA ~ I (24) L 0 J}т-п Опуская в (23) верхний индекс, подставим в оба соотношения системы формулу (24), а затем умножим первое из них слева на Q. Тогда получим *,♦[*]*-*. (25) [Лг : 0] Q8r = g. (26) Представим вектор d-Qf в виде Jjdi IR L d2 .1 }т-п Из (26) следует, что верхние п компонент m-вектора Qdr образуют вектор А = (RT)~lg, а из (25) видно, что нижние т - п компонент Qdr составля¬ ют вектор d 2 • Значит, Ъг = QT (I! Вектор Ьх определяем, приравнивая верхние компоненты в соотноше¬ нии (25): Bx = R~1(dl - А). Итак, решение системы (23) требует: 1) вычисления вектора d^s^ = = QfU)\ 2) решения треугольной системы RTh« = 3) вычисления 14* 203
вектора 4) решения треугольной системы Rbx^ = d[s* - h^s\ Для каждого из этих действий достаточно 0{rnti) или О (л2) операций, что значительно меньше стоимости ортогонально-треугольного разложения Л. Это же можно сказать об итерации процесса (шаги 1) -3)) в целом. В первой части работы [14*] проведен очень тщательный анализ описан¬ ной процедуры итерационного уточнения для двух спбсобов ортогонально¬ треугольного разложения: метода отражений и метод* MGS. Главный вывод этого анализа: для не слишком плохо обусловленных задач процесс сходится в обоих случаях; сходимость линейная, и ее замедление при ухудшении обусловленности А пропорционально первой степени числа обусловленности. Это утверждение имеет место независимо от того, мала или нет оптимальная невязка. Для величины lim ( II х - 1/ i jc У) можно дать верхнюю оценку, в которой главным членом является произ¬ ведение f(mtn)K2 Яг 0 772/( \\А II II* И). По сравнению с (19), (20) здесь прибавился множитель 17. Поэтому, если выполнено (20), то процесс Бьорка приводит к результату, мало отличаю¬ щемуся от округленного вектора jc. Для случая, когда ортогонально-треу- гольное разложение вычисляется методом отражений, алгольная програм¬ ма процесса дана в [17*]. При решении больших разреженных задач стараются избежать хранения ортогонального сомножителя в разложении матрицы А. Две модификации процесса Бьорка для таких задач описаны в [33*, 29*]. В первой из этих работ выводится следствие из (23), позволяющее вычислять 8jc^, не используя Q. Именно Вычислив 8х^ (т.е., согласно (28), построив произведение Аг/^ и решив две треугольные системы), найдем б г^ из (27) : 5r(s)=/(s) -A6x(s\ Шаги 1, 3 те же, что в методе Бьорка. В качестве начального приближения этого процесса можно брать пару (д:(0),г*0)), где - приближенное решение, вычисленное методом отражений; г*0* — отвечающая ему невязка. Но, как отмечено в [15*], A6x(s) = f(s)- 8r(s\ (27) откуда, умножая обе части на Ат и используя равенство А = g^\ получаем RTR6xM=ATfis) -g(s\ (28) 204
можно взять = г<°) = 0. В этом случае Q не используется даже для формирования начального приближения, что является достоинством при необходимости решать серию задач с одной и той же матрицей Л и разными правыми частями. В [15*] показано, что скорость сходимости этой модификации по-преж нему (как и в методе Бьорка) зависит от первой степени числа обусловлен¬ ности А. Иначе обстоит дело во второй модификации [29*], где в качестве матрицы R в (28) предлагается брать вычисленный методом Холесского треугольный множитель матрицы АТА. Здесь (см. [15*]) с ростом числа обусловленности к скорость сходимости падает пропорционально к2. Итерационное уточнение для задачи неполного ранга анализируется в [2*]. Для этого же случая во второй части работы [14*] дана алгольная процедура. Г л а в а 18. Алгоритм Голуба—Бизингера-Райнша пришел на смену более раннему алгоритму сингулярного разложения, так называемому методу односторонней ортогонализации. Идея этого метода независимо высказана рядом авторов (см., например, [4*]). Наиболее ранняя публи¬ кация принадлежит, по-видимому, Хестенсу [37*], почему и говорят обыч¬ но об алгоритме Хестенса. В последние годы интерес к этому методу, одно время совершенно вытесненному из практики алгоритмом SVD, снова оживился в связи с удобством его реализации как на мини-ЭВМ, так и на мощных компьютерах четвертого поколения [46 *, 48 * ]. Нужно отметить, что почти одновременно с Бизингером и Голубом и независимо от них алгоритм сингулярного разложения, очень схожий с алгоритмом SVD, построил В.В. Воеводин [1*]. Основное различие обоих методов состоит в том, что шаг итерационной фазы в алгоритме Воеводина эквивалентен шагу QK-алгоритма без сдвигов для соответствующей трех диагональной матрицы. Высказанная в начале § 5 идея о том, что при больших размерах задачи и m > п целесообразно вначале привести матрицу к верхней треугольной форме последовательностью левых отражений, подробно развита в [19*] Этот вариант алгоритма сингулярного разложения становится эффектив¬ ней стандартной процедуры уже при р = m/п > 2. Для р % 10 экономия машинного времени может достигать 50%. Интересно и следующее наблю¬ дение. Если для т-п любой вариант сингулярного разложения требует много большей работы в сравнении с нормализованным процессом, то уже при р % 3 соотношение числа операций для модифицированного SVD и нормализованного процесса равно приблизительно 3. Это соотношение может оказаться вполне приемлемым, если учесть, что SVD дает значитель но больше информации о задаче. Там же, в [19*], указана другая возможность экономии вычислений, правда, ценой введения дополнительного п X я-массива. Если пользователю нужна матрица U левых сингулярных векторов, то обычно она вычисляется следующим образом. После завершения двухдиагонализации строится в явном виде произведение Q отражений Qn . .. Q\ (точнее, первые п столбцов Q); до этого каждая из матриц Q{ хранилась в компактной форме (т.е. фактически хранился соответствующий вектор ut) в нижней части массива А. Итак, Q- тХ я-матрица. В последующем каждое левое вращение 7} (по стандартной оценке в QR-процессе их ^ 2п2) применяется 205
к столбцам Q, требуя 4т операций умножения (при обычной, ”не быстрой” форме вращений). Более экономный способ состоит в накапливании произ¬ ведения вращений 7} в виде л X л-матрицы Т в выделенном для этой цели дополнительном массиве. Лишь по окончании итерационной фазы алгорит¬ ма производится перемножение Q и Т. В [24*] предлагается вообще отказаться от формирования в явном виде ортогональных сомножителей разложения; хранятся лишь порождающие векторы отражений и информация о вращениях. Если опорная пара индек¬ сов вращения известна, то для устойчивого восстановления с и s достаточно хранить одно число (см., например, [9*, с. 110]). В QR-процессе вращения следуют одно за другим циклами (1,2) ,(2,3),..., (л - 1,л ), пока матри¬ ца не будет расщеплена вследствие появления малого внедиагонального элемента. Показано, что информация о расщеплениях и, следовательно, полная информация об опорных индексах вращений может быть упакована в целом массиве длины л. Общие требования к памяти при таком методе хранения возрастают приблизительно в полтора раза, но и время вычисле¬ ния сингулярного разложения сокращается по меньшей мере вдвое. Отметим, что алгольная программа алгоритма сингулярного разложения имеется в справочнике [10*], а фортранная, как уже говорилось в предис¬ ловии, - в книге [12*]. Г л а в а 19. Метод Питерса-Уилкинсона, описанный в упражнении 19.38, привлек к себе внимание многих алгебраистов. Первые отклики [20*, 56*] представляли собой попытки усовершенствовать метод (в сторону умень¬ шения числа операций) в случае слабо переопределенных систем. Пусть L - нижняя треугольная m X л-матрица, полученная на первом этапе метода Питерса-Уилкинсона. Для искомого решения* справедлива формула Применим к L последовательность левых отражений Gi, опреде¬ ляемых следующим образом. Отражение Qn действует на строки L с номера¬ ми л, л + 1,... ,/л и аннулирует элементы (л + 1, л), ... , (/л, л); Q„_i действует на строки QnL с номерами л — 1, л + 1,..., m и аннулирует элементы (л + 1, л — 1),..., (ш, л — 1); наконец, Q\ действует на строки Q2. .. QnL с номерами 1, л + 1, .. . ,т и аннулирует элементы (л + 1, 1),... . .., (m, 1). Хранить порождающие векторы отражений можно в освобож¬ дающихся позициях m X л-масс ив а, первоначально содержащего матрицу L. Результатом описанного процесса будет нижняя треугольная л X л-матрица L. Полагая Q - Q\... £?л> имеем Это значит, что для вычисления х нужно найти первые л компонент вектора QPTb = Q\ ... QnPTb, а затем решить две треугольные системы с матрица¬ ми L и R. Главный член числа операций умножения в изложенном методе равен Зтл2/2 — 7л3/6. Это меньше, чем в исходном методе Питерса-Уил¬ jc = (LTLJxLTPTb. (29) (30) Подставляя (30) в (29), получим jc =Л“1ХГ1(/П: 0) QPTb. 206
кинсона или в методе отражений, если т <5л/3, и даже меньше, чем в обычном методе нормальных уравнений, когда т < 4л/3. Рассмотренный нами метод Клайна [20*] отличается от метода Питерса- Уилкинсона тем, что задача наименьших квадратов Ly^PTb решается (вместо перехода к нормальным уравнениям) своеобразным вариантом метода отражений, учитывающим форму матрицы L. В [56*] предлагается на этом этапе вместо отражений использовать модифицированный процесс Грама-Шмидта. Главная идея метода Питерса—Уилкинсона состоит в том, чтобы заме¬ нить решение ’’плохо обусловленной” системы нормальных уравнений Надежда на хорошую обусловленность системы (31) опирается на то, что все элементы матрицы L по абсолютной величине не превосходят едини¬ цу - это обеспечивается матрицей перестановок Р. Практика метода свиде¬ тельствует, что эта надежда обычно оправдывается (хотя с точки зрения теории существуют треугольные матрицы, ненулевые элементы которых равны 1 или — 1, с числом обусловленности порядка 2”; такова, например, первая матрица Кахана из гл. 6). Так как, однако, число операций в методе Питерса—Уилкинсона (в главном члене) такое же, что и в методе отраже¬ ний, где нет проблем с обусловленностью, то для задач с хранимыми матри¬ цами первый метод не обладает никакими преимуществами. Современный интерес к нему связан с тем, что для больших систем разреженность обычно удается сохранить лучше при неортогональных преобразованиях. ’’Разреженная” трактовка метода Питерса-Уилкинсона дана в [16 *]. Глава 20. Оценки возмущения для решения линейной задачи наи¬ меньших квадратов с линейными ограничениями-равенствами получены в [27* ]. Эти оценки обобщают выведенные в гл. 8, 9 оценки возмущения для решения обычной задачи НК. Пусть система Сх= d совместна, и пусть х - решение задачи Составляя функцию Лагранжа Ф(х, Х) = || £дг -/||2 +(Х, Cx-d), где X — т i -вектор множителей Лагранжа, и приравнивая нулю grad х Ф, АТАх=АТЬ решением "хорошо обусловленной” системы LTLy = LTPTb. (31) min ||£x-/||, F = (x\Cx=d). (32) F получим ET(Ex-f) + CT\ = 0. (33) Вводя вектор невязки г, отвечающий решению х: Г = Ех перепишем (33) в виде (34) СГХ + Етт = 0. (35) 207
Вместе с уравнением связи Сх = d соотношения (34), (35) означают, что вектор -ш является решением системы Ви = [:; ц..; L ст Ет oJ L о J = Л. (36) Это решение единственно, если кег С П кег Е = {0}. Заметим, что матри¬ ца В квадратная и в случае единственного решения будет не вырождена. Будем считать, что С — матрица полного строчного ранга: rank С = тх. Наряду с задачей (32) рассмотрим задачу min \\Ех -f\\, F F = (x|Cx=d>, (37) где £ - £ + еЕНЕ, С - С + есНс, f-f+€fhf, d - d + edhd 9\\НЕ ||- = ll#c||e II Луг II = \\hd\\ = 1; € Е, €с, €f, €d > 0. Предполагаем* что rank С = тх, и обе задачи (32), (37) имеют единственное решение: х и х = х + dx соответственно. Построенный по х вектор и будет решением си¬ стемы с матрицей В, аналогичной системе (36). Положим - 0 0 ес^с Нв=В-В = 0 0 еЕ^Е _V*c ‘X 0 Малость возмущения будет определяться требованием \\В~1Нв || < 1. Введем обозначения: кс(Е ) = || Е || || (ЕРС ГИ, />с = / - С*С, МО=нсц \\с;е\\ (по поводу обозначения Cj Е см. комментарий к гл. 7), р(Е,С) = ||£С;£|||^, Ре = Уе ~ 11*11 IIх || 11/11 11£|| 11*11 208
Оценки Элдена [27*] имеют вид || dx || < || (ЕРСУ ||J(ec || X || + еЕ || г || ) + + (ес11С;.яН + еяН №)*И )И*'И + + €</ Н CI,E II + «/ Н (ЕРсУ Н + «(бJ), II dx || , / er еЕ \ <*£(£)( V(E> C)-£-+—S-\pe + IIjc|| ск \ к ’ цен ||£1/ Е + к + \+MC)(_fL +_!*-) + 0(е'). с Vll^ll II/II / VIIС-II \\d\\J Коэффициенты кс (Е), кЕ(С) Элден называет числами обусловленности задачи (32). Он отмечает, что эти числа могут быть невелики даже при плохо обусловленной Е, Тем самым задача (32) может оказаться хорошо обусловленной, хотя соответствующая задача без ограничений min||Ex - /|| обусловлена плохо (разумеется, может быть и наоборот). х Поэтому вряд ли стоит начинать решение задачи (32) с преобразования малицы Е. Тот же вывод, впрочем, содержится в более ранней работе [43 * ]. Анализ чувствительности решения задачи (32) к возмущениям исходных данных проводится и в [57 * ]; при этом применяются тблько обычные псевдообратные матрицы. Представление (36) используется в [17*] для построения алгоритма итерационного уточнения решения задачи (32). Полагая = 0, можем описать процесс формулами (s = О, 1,... ): а) =Л - б) бы<*> в) + О = W(J) + б При s > О в векторе d<*>п f (s) L g (s) подвектор g не будет нулевым. Заменяя в векторе h нулевой подвек- тор вектором g, укажем, следуя [17], метод решения системы (36). При этом считаем, что rank С = т х и кег С П кег Е = {0}. Предположим (переставляя в случае необходимости столбцы С), что в представлении С = [Сц :С12] подматрица Сц квадратная и невырожден¬ ная. Пусть Q\ 1 — ортогональная матрица порядка т х такая, что в матрице Q\\C = [Лц :Л12] (38) 20?
R11 верхняя треугольная. Разбивая Е аналогично С: Е = [Ец ■ Е12 ], т l n-m, ПОЛОЖИМ Q^г , Ei2=Et2- Q?2R12. (39) Введем еще матрицу Q2 2 порядка т2 — ортогональный сомножитель QR-разложения ЕХ2: ГЛ2Л} п-т 1 Q22E\2 = I I , L О J ) т — п т=тх + т2. (40) Матрицу размера (п - тх) X m2i образованную верхними п — тх строка¬ ми Q2 2, обозначим через Q2 2. Полагая [*" *"], L о r22\ запишем соотношения (38) - (40) в форме матричного равенства ГИ* ДЬ- L Е J lQf2 Ql2 J (41) Векторы x,g и последующие векторы той же размерности п будем представ¬ лять в виде t*il}™i Г£il} гпх х2\)п - тх g Yg2\)n-mx Умножая нижнюю блочную строку системы (36) слева на R , полагая Rg = t и выполняя замену переменных у - Rxt получим (см. (41)) 0 0 1 о О* X 0 -/ qL qL г Q11 Ql2 0 0 У\ 0 Q22 0 0 _ У2- d f ti h _ (42) Пользуясь ортогональностью Qxx, находим ух из верхней блочной 210
строки (42): Ун = Gu'i • Построим вспомогательный т2-вектор s : Последняя блочная строка (42) Q22т = ?г показывает, что верхние п— т х компонент вектора Q22r образуют вектор t2. Из второй же блочной стро- равенство (43) означает, что последние т — п компонент Q22r составляют Алгольная процедура описанного процесса для случая, когда необходи¬ мые ортогонально-треугольные разложения выполняются методом отраже¬ ний, приведена в [17*]. Во второй части работы [14*] дана программа этого же процесса, в которой для разложений используется модифициро¬ ванный метод Г рама—Шмидта. Глава 22. Введенный в комментарии к гл. 7 аппарат взвешенных псевдообратных матриц очень облегчает доказательство сходимости метода взвешивания [28]. Прежде всего, если система Сх = d совместна, то реше¬ ние минимальной длины задачи (32) выражается формулой Здесь Рс - проектор на ядро С: Рс = I — С+С. Вектор х тогда и только тогда будет единственным решением (32), когда ker СПкег£’ = {0}. Будем считать это условие выполненным. КИ -r + Q?2)>i + (2ггУ1 =/ следует Qitr = * + йгг0.1гУг- ~ у Поскольку произведение Q22Q22 имеет вид (43) вектор s2. Итак, Q22r = откуда в силу ортогональности Q22 Т r ~ Qn • То же равенство (43) позволяет определить у2: у2 = t2 - sx. Наконец, X находим из третьей блочной строки (42) ^ ” Q\1 (*i - 612 О- х = с; Ed + (ерс) у. 211
Решение хе задачи можно определить из нормальной системы (СтС + е2ЕтЕ)х = CTd + е2 ETf, т. е. *е = (СТС + е2ЕтЕ)-1 (CTd + e2ETf ). Применяя к первому слагаемому правой части формулу (13), а ко второму формулу (14), получим Нш хе = С*Ed + (EPc)*f = х. е О Вычислительные трудности, возникающие при реализации метода взве¬ шивания, анализируются (посредством обобщенного сингулярного разло¬ жения) в [65 * ]. Там же описаны два приема - экстраполяция и итерацион¬ ное уточнение, позволяющие во многих случаях получить приемлемое при¬ ближение к решению задачи (32) при не слишком малых значениях весо¬ вого параметра е. Глава 23. Для задачи min || Ex-f II, F = {x\Gx>h} (44) F анализ чувствительности решения к возмущениям входных данных про¬ водится в [44 * ]. Численным методам для задачи (44) посвящены рабо¬ ты [58 *, 45 * ]. Во второй из них рассматривается случай ограничений спе¬ циального вида: сi <*/ <dif / = 1,..., к\ xt / = к + 1,..., /. Главы 24, 27. Устойчивость методов перестройки QR-разложения, предполагающих хранение ортогонального сомножителя, анализируется в [54 * ]. Вот итоги этого анализа. Как отмечено в гл. 15 (см., в частности, формулы (15.39), (15.40)), матрица А к + |, полученная в результате применения к m X л-матрице А последовательности к левых преобразований Хаусхолдера, может быть представлена в виде Ак +1 = Q* .. Qx (А + Нк ) = Q(A + Нк ), (45) Q = Qk Qif А{ = А. Таким образом, Ак + { можно рассматривать как продукт точного ортого¬ нального преобразования возмущенной матрицы А + Нк. Для нормы матрицы эквивалентного возмущения Нк выполняется оценка II Нк ||F < 0(n)\\A ||F. (46) Вид коэффициента при i?, приведенный в (15.40), для нас сейчас не важен. Такого же типа оценки справедливы и для других видов ортогональных 212
преобразований - последовательностей левых, правых или двусторонних отражений либо вращений. Алгоритмы, дающие результат, являющийся точным преобразованием слабо возмущенной исходной матрицы, в вычислительной линейной алгебре принято считать устойчивыми. Как показано в [54 * ], методы перестрой- ки (Ж-разложения из гл. 24 устойчивы именно в этом смысле. Некоторую особенность составляет случай удаления строки. Для простоты будем считать, что т > п и rank А = п. Пусть QhR дают приближенное ортогонально-треугольное разложение матрицы А, т.е. где Р - ортогональная матрица, a R — невырожденная верхняя треугольная матрица. Таким образом, матрица Q не предполагается точно ортогональ¬ ной, но должна быть близка к некоторой ортогональной матрице Р. Пусть А — матрица, полученная из А удалением какой-либо строки. Пер¬ вый метод модификации из § 5 гл. 27 приводит к построению почти-орто- гональной матрицы Q порядка т — 1 и новой треугольной п X л-матрицы R. Почти-ортогональность Q означает существование ортогональной матри¬ цы Р такой, что IIС - Р II <0(т7); при этом можно показать, что Обратим внимание, что норма эквивалентного возмущения оценивается через норму матрицы А, а не А. Если бы к А был заново применен алго¬ ритм QR-разложения (а не алгоритм перестройки £/?-разложения А), то, согласно (45), (46), в правой части оценки была бы норма самой матри¬ цы А. Указанное различие может оказаться существенным, если из А уда¬ ляется строка с наибольшей нормой, так что уровень элементов в Л стано¬ вится значительно ниже, чем в А. В [63 * ] дан обзор методов вычисления ортогонально-треугольного раз¬ ложения и его перестройки при модификациях ранга 1 для задач с матри¬ цами ленточной структуры. Глава 25. Способ сведения взвешенных наименьших квадратов к обычной задаче НК, описанный в конце § 2, может оказаться несостоя¬ тельным во (вполне реалистической) ситуации, когда ковариационная мат¬ рица С вырождена. Пэйджем [52 * ] указана эквивалентная формулировка, сохраняющая смысл и при вырожденной С; на основе этой формулировки им построен устойчивый численный алгоритм. Пусть вначале матрица С не вырождена и . \\H\\F<0(ri)\\A ||F, \\Q-P\\ < 0(т?), С = FFT (47) 213
есть ее разложение Холесского. Задача min || F~l (Ах - b) || * е яп эквивалентна задаче min || у ||, Ъ = Ах + Fv. (48) V Если С вырождена, но сохраняет положительную полуопределенность, то ее все еще можно представить в виде (47), где теперь F есть т X ^-матрица, к = rank С. При этом постановка (48) по-прежнему осмыслена, если v счи¬ тать fc-мерным вектором, а систему b = Ах + Fv — совместной. Ограничимся ради простоты случаем, когда матрица А имеет цолный столбцовый ранг. Матрицу Q из ортогонально-треугольного разложения А А -в ["'] (49) разобьем на подматрицы Qu Q2: Q = [ <2i : Qi ]• T Умножая обе части равенства Ах + Fv = b на Q , получим R\X + Q\Fv = Q\b, (50) QlFv = Qlb. (51) Если v известно, то (50) превращается в треугольную систему, однозначно определяющую х. Согласно (48), наша задача свелась к вычислению нор¬ мального решения (= решения минимальной длины) для совместной системы (51). Полагая v = Ри, где Р — ортогональная матрица, выберем Р так, чтобы матрица Q\FP приобрела вид QlFP = [0:S\. (52) Матрица S в (52) должна иметь полный столбцовый ранг, скажем /. В соот¬ ветствии с (52) разобьем матрицу Р и вектор и: L “2 J)/ Р = [ Р1 : Р2], ч-— к - I / Система (51) перейдете Su2 = Qlb. (53) А Если рассматривать (53) как систему относительно и2, то ее решение и2 214
определено однозначно, поскольку S - матрица полного столбцового ран¬ га. Вектор й2 может быть вычислен посредством алгоритма HFT — HS1 из гл. 11. Та же система (53), рассматриваемая на этот раз относительно век¬ тора и, имеет нормальное решение а откуда следует, что нормальным решением (51) будет вектор v =P2Z2. (54) Подставляя (54) в (50), найдем решение х исходной задачи. В [52*] проведен анализ чувствительности решения задачи (48) к ма¬ лым возмущениям ее коэффициентов, а также анализ численной устойчиво¬ сти изложенного выше алгоритма. Вот основные выводы этой работы. Будем считать, что возмущения коэффициентов настолько малы, что не изменяют ни ранга матрицы А, ни ранга / матрицы S в (52). В наихудшем случае погрешность в решении задачи (48) пропорциональна произведению погрешности в коэффициентах и числа o^2in(>l) о“\п(5); omin( . ) обо¬ значает минимальное сингулярное число соответствующей матрицы. Полеэ- т но заметить, что amin (5) = amin (Q2F)\ при этом, как следует из ДО-разложения А, столбцы Q2 образуют (ортогональный) базис подпрост¬ ранства (1пь4)х = ker А т. Таким образом, произведение Q2F указывает, в частности, в какой степени неортогональны к образу А столбцы весовой матрицы F. В случае обычной задачи НК F = /т, omin(Q7) = 1, и мы при¬ ходим к известному из гл. 9 факту появления в оценке для dx квадратич¬ ного по \\А* || члена. В некоторых ситуациях оценка для dx более оптимистична. Если, напри¬ мер, Q2bA = 0, т.е. возмущения в коэффициентах матрицы А не изменяют ее образа, то обусловленность задачи определяется произведением [(7щ 1п(Л) am in(S ) ] . Если же все возмущения ЬА, 6F, ЬЪ ортогональ¬ ны к Q2i то коэффициентом пропорциональности будет (А ). Анализ алгоритма (49) —(54) проделан в [52*] при дополнительном предположении, что F — квадратная и, следовательно, невырожденная мат¬ рица. Для этого случая показано, что вычисленное решение х будет точным для задачи, отличающейся от (48) малым возмущением коэффициентов. Таким образом, алгоритм устойчив в смысле обратного анализа погрешностей. Пэйдж отмечает, что, поскольку условие b = Ах + Fv должно удовлетво¬ ряться точно (а не в смысле наименьших квадратов!), для упрощения внешнего вида матриц А, F необязательно использовать ортогональные преобразования. В [53*] описаны алгоритмы решения задачи (48) (в том числе включаю¬ щие неортогональные преобразования) для нескольких ситуаций, когда 215
матрица F имеет какую-либо специальную форму, например является невы¬ рожденной нижней треугольной либо блочно диагональной матрицей. Алго¬ ритм, построенный для первого случая, требует ^ (т2л/2+тл2—2л3/3)р операций умножения. Если используются обычные вращения, то р в этом выражении нужно положить равным 4. Неучет треугольной формы матри¬ цы F приводит к тому, что в формуле для числа операций возникает слагае¬ мое порядка т 3. В [51 *] указаны численно устойчивые и эффективные алгоритмы пере¬ стройки решения задачи (48) при удалении столбца из матрицы или, наобо¬ рот, введении нового столбца. В [42* ] анализируются статистические свой¬ ства формулировки (48) и устанавливается связь этого подхода с предло¬ женным Рао методом обобщенного обращения фундаментальной матрицы С А АТ 0 ’ Обзор методов численного решения задачи (48) дан в [36]. Упомянутая в конце § 4 задача о выборе X из условия, чтобы норма ре¬ шения либо норма невязки имела заранее предписанное значение, в более общей постановке рассматривается в [31]: для заданных тп X л-матри- цы А, р X л-матрицы С, ш-вектора Ь, р-вектора d и положительного чис¬ ла а найти вектор х, минимизирующий ||Ах — Ь\\ при условии \\Сх - d\\ = а, Будем называть эту задачу задачей наименьших квадратов с квадратичным ограничением (сокращенно ЗНККО). Предполагается, что множество {х\ \\Cx-d\\ = а} непусто и а > min || Сх - d ||. х Rn Это условие обеспечивает разрешимость ЗНККО. Чтобы число решений бы¬ ло конечным, потребуем, чтобы ker А П кег С = (0), Метод Лагранжа, примененный к ЗНККО, дает следующие нормальные уравнения: (АТА + \СтС)х = ATb + \CTd, || Сх - d ||J = а2. Среди решений (X, *(Х)) системы нормальных уравнений решение ЗНККО дает пара ( X 0, *(А 0)) с наибольшим значением X t Если, в частно¬ сти, имеется пара с положительным X, то такая пара будет ровно одна, и со¬ ответствующий единственный вектор дс(Х) решает ЗНККО. Если же все X отрицательны, то решение ЗНККО может оказаться неединственным. Так будет, если Х0 - собственное значение пучка А ТА + ХСГС. Интересно отметить, что исследование системы нормальных уравнений проводится в [31] посредством обобщенного сингулярного разложения пары (А, С). Частными случаями ЗНККО являются задачи: минимизировать || Ах- b || (55) 216
при условии IUH = а (эта задача рассматривалась еще в [30]) и минимизировать || х II (56) при условии || Сх — d\\ = а. Последняя интерпретируется геометрически как определение точки гиперэллипсоида, ближайшей к началу координат. К ЗНККО тесно примыкает задача минимизировать \\Ах-Ь\\ при условии || Сх- d || < а. (57) В самом деле, либо II Сх — d\\ < а для некоторого псевдорешення х зада¬ чи Ах s b9 и в этом случае одним из решений (57) будет х, либо минимум достигается на границе, и мы приходим к соответствующей ЗНККО. В [28] рассмотрены задачи, получающиеся из (55) либо (56) заменой ограничения-уравнения ограничением-неравенством и заменой евклидовой длины в целевой функции либо в левой части ограничения на эллипсоидаль¬ ную полунорму. Некоторый метод выбора гребневого параметра X в задаче (25,31) пред¬ ложен в § 12.1 книги [34]. Там же на стр. 418 описан следующий алгоритм выбора подмножества (см. § 5) : 1. Вычисляется сингулярное разложение матрицы А : UTA V = diag(cr,, Матрица V должна быть сохранена. 2. Определяется значение к псевдоранга, после чего V разбивается в соответствии с к: П> к } п - к 3. К матрице [Vjx : V\x] применяется алгоритм HFTI из гл. 14: QI Кг ■ vh )Р = ;*12 ]; здесь Р - матрица, описывающая произведенные перестановки столбцов. 4. Положим АР = [Вг : В2 ]. Решается задача наименьших квадратов к п-к Bxz а Ь. (58) Таким образом, мощность выбираемого подмножества определяется на этапе 2, а само это подмножество столбцов указывает матрица Р. На эта¬ пе 4 решается редуцированная задача (58). у г 1 ^12 у21 У22 . „ / к п — к 15.Ч. Лоусон 217
Насколько велика невязка задачи (58) по сравнению с невязкой исход¬ ной задачи Ах s b? Если z, х - решения обеих задач, г2, гх - отвечаю¬ щие им невязки, то II r2-rx II <-—!■ IIЛ-; ||||*||. (59) Сингулярные числа а1# а„ предполагаются упорядоченными по убыва¬ нию. Понятно, что II Г 2 II > ||г*||. Оценка (59) объясняет, почему для выбора подмножества был применен алгоритм HFTI: он позволяет определить в достаточной степени невырож¬ денную подматрицу порядка к в первых к столбцах К, т.е. по возможности уменьшить значение \\R~X\ II. Есть и другая причина: необходимость обеспе¬ чить линейную независимость столбцов В г. Справедливы неравенства < omIn(*i) < о*. Чем меньше ||/^\||, тем большим ’’запасом” линейной независимости обладают столбцы В j.
СПИСОК ЛИТЕРАТУРЫ 1. А л б ер т А. Регрессия, псевдоинверсия и рекуррентное оценивание. - М.: Нау¬ ка, 1977. 2. Гордонова В.И. Оценки ошибок округления при решении системы ус¬ ловных уравнений. - ЖВМ и МФ, 1969, 9, № 4, с. 775-782. 3. Г э й л Д. Теория линейных экономических моделей. - М.: ИЛ, 1963. 4. Д р е й п е р Н., С м и т Г. Прикладной регрессионный анализ. - М.: Статистика, 1973. 5.0 р т е г а Дж., Рейнболдт В. Итерационные методы решения нелинейных систем уравнений со многими неизвестными. - М.: Мир, 1975. 6.Тихонов А.Н., Гласно В.Б. О приближенном решении интегральных уравнений Фредгольма 1 рода. - ЖВМ и МФ, 1964,4, № 3, с. 564-574:. 7.Уилкинсон Дж. Алгебраическая проблема собственных значений. - М.: Наука, 1970. 8. Уилкинсон Дж., Райнш К. Справочник алгоритмов на языке АЛГОЛ. Линейная алгебра. - М.: Машиностроение, 1976. 9. Фадде ев Д.К., К у б л а н о в с к а я В.Н.,Фаддеев а В.Н. О решении линей¬ ных алгебраических систем с прямоугольными матрицами. - Тр. Мат. ин-та АН СССР, 1968,96, с. 76-92. 10. Ф и а к к о А., М а к-K о р м и к Дж. Нелинейное программирование: методы последовательной безусловной минимизации. - М.: Мир, 1972. 11.Форсайт Дж., Молер К. Численное решение систем линейных алгебраи¬ ческих уравнений. - М.: Мир, 1969. 12. Халмош П.Р. Конечномерные векторные пространства. - М.: Физматгиз, 1963. 13. ANSI Subcommittee X3J3. Clarification of Fortran standard-second report. - Com- mun. ACM, 1971, 14, № 10, p. 628-642. 14. ASA Committee X3. Fortran vs. Basic Fortran. - Commun. ACM., 1964, 7, №10, p. 591-625. 15. Autonne L. Sur les matrices hypohermiti^nes et sur les matrices unitaires. Ann. Univ. Lyon, 1915, 38, p. 1 -77. 16. Bar d Y. Comparison of gradient methods for the solution of nonlinear parameter estimation problems. - SIAM J. Numer. Anal., 1970, 7, №l,p. 157-186. 17. Bartels R.H. A stabilization of the simplex method. - Numer. Math., 1971, 16, p. 414-434. 18. B a r t e 1 s R.H., Golub G.H., Saunders M.A. Numerical techniques in mathematical programming.-Nonlinear programming. - New York: Academic Press, 1970, p. 123-176. 19. Bauer F.L. Optimal scaling of matrices and the importance of the minimal condi¬ tion. - Proc. IFIPCongr. 1962. - Amsterdam: North Holland, 1963, p. 198-201. 20. B e n-I s r a e I A. A modified Newton-Raphson method for the solution of systems of equations. - Israel J. Math., 1965, 3, p. 94-98. 21. В e n-I s г a e 1 A. On error bounds for generalized inverses. - SIAM J. Numer. Anal., 1966, 3, №4, p. 585-592. 22. Bennett J.M. Triangular factors of modified matrices. - Numer. Math., 1965, 7, p. 217-221. 15* 219
23. В jo гс к A. Solving linear least squares problems by Gram-Schmidt orthogona- lization. - BIT, 1967, 7, p. 1-21. 24.Bj5rck A. Iterative refinement of linear least squares solutions I. - BIT, 1967, 7, p. 257-278. 25. Bjorck A.,Golub G.H. Iterative refinement of linear least squares solutions by Householder transformation. - BIT, 1967, 7, p. 322-337. 26. В j о г с к A., Golub G.H. Numerical methods for computing angles between li¬ near subspaces. - Math. Comp., 1973, 27, p. 579-594. 27. В о g g s D.H. A partial-step algorithm for the non-linear estimation problem. - AIAA J., 1972, 10, №5, p. 675-679. 28. В о u 11 i о n T., Odell P. Generalized inverse matrices. - New York: Wiley, 1971. 29. В г о w n K.M. Computer solution of nonlinear algebraic equations and nonlinear optimization problems. - Proc. Share, XXXVII. - New York, 12 p. 30. Buchanan J.E., Thomas D.H. On least-squares fitting of twodimensional data with a special structure..- SIAM J. Numer. Anal., 1968, 5, №2, p. 252-257. 31. B u singer P.A. Matrix scaling with respect to the maximumnorm, the sum-norm, and the euclidean norm. - Texas Univ., Austin. Thesis TNN71,1967, 119 p. 32. Businger P.A. MIDAS-solution of linear algebraic equations. - Bell Teleph. Lab., Numer. Math. Comp. Programs 3, issue 1. - Murray Hill, N.J., 1970. 33. Businger P.A. Updating a singular value decomposition. - ВГГ, 1970, 10, p. 376-385. 34. В u s i n g e г P.A., Golub G.H. An Algol procedure for computing the singu¬ lar value decomposition. - Stanford Univ. Rept. №CS-73. - Calif., Stanford, 1967. 35.Businger P.A., Golub G.H. Singular value decomposition of a complex mat¬ rix. -Commun. ACM, 1969, 12, №10, p. 564-565. 36.Carasso C., Laurent P.J. On the numerical construction and the practical use of interpolating spline-functions.- Proc. IFIP Congr., 1968. - Amsterdam: North Holland, 1969. 37. Chambers J.M. Regression updating. - J. Amer. Stat. Ass., 1971, 66, p. 744- 748. 38. Cheney E.M., Goldstein A.A. Mean-square approximation by generalized rational functions. - Boeing Sci. Res. Lab. Math. Note, №465. - Seattle, 1966, p. 17. 39. С о d у W.J. Software for the elementary, functions. - Mathematical Software. - New York: Academic Press, 1971, p. 171 186. 40. С о w d e n D.J. A procedure for computing regression coefficients. - J. Amer. Stat. Ass., 1958,53, p. 144-150. 41. С о x M.G. The numerical evaluation of B-splines. - Nath. Phys. Lab. Rept. №NPL- DNAC-4. - England, Middlesex, Teddington, 1971, 34 p. 42. С г u i s e D.R. Optimal regression models for multivariate analysis (factor analysis).- Naval Weapons Center Rept. NWCTP 5103. - Calif., China Lake, 1971, 60 p. 43.Davidon W.C. Variance algorithm for minimization. - Optimization. - London: Academic Press, 1968, p. 13-20. 44. D a v i s Ch.D., К a h a n W.M. The rotation of eigenvectors by a perturbation III. - SIAM J. Numer. Anal., 1970, 7, №1, p. 1-46. 45. De Boor C. Subroutine package for calculatingwitl)ZJ-splinfes.- Los Alamos Sci. Lab. Rept. №LA-4728-MS, 1971, 12 p. 46. D e Boor C. On calculating with 5-splines. - J. Approximation Theory, 1972, 6, №1, p. 50-62. 47. De Boor C-, Rice J.R. Least squares cubic spline approximation I - fixed knots. - Purdue Univ. Rept. CSD TR 20. Ind., Lafayette, 1968, 30 p. 48. D e Boor C., Rice J.R. Least squares cubic spline approximation il - variable knots. - Purdue Univ. Rept. CSD TR 21. Ind., Lafayette, 1968, 28 p. 49.Dyer P., McReynolds S.R. The extension of square-root filtering to include process noise. - J. Opt.: Theory and Applications, 1969, 3, p. 92-105. 50.Eberlein P.J. Solution to the complex eigenproblem by a norm reducing Jacobi type method. - Numer. Math., 1970, 14, p. 232-245. 51.Eckart C., Young G. The approximation of one matrix by another of lower rank. - Psychometrika, 1935, 1, p. 211-218. 220
52. F1 с t с h в r R.H. Generalized inverse methods for the best least squares solution of systems of non-linear equations. - Comput. J., 1968, 10, p. 392-399. 53. F 1 e t с h e r R. A modified Marquardt subroutine for non-linear least squares. - Anionic Energy Res. Est*b. Rept. № R-6799. - England, Berkshire, Harwell, 1971, 24 p. 54. F I e t с h e r R., L i 11 S.A. A class of methods for nonlinear programming, II, com¬ putational exprience... - Nonlinear programming. - New York: Academic Press, 1970, p. 67-92. 55. Forsythe G.E. Generation and use of orthogonal polynomial for data-fitting with a digital computer. - J. Soc. Indust. Appl. Math., 1957,5, p. 74-88. 56. Forsythe G.E. Today’s methods of linear algebra. - SIAM Rev., 1967, 9, p. 489- 515. 57. Forsythe G.E. Pitfalls in computation, or wliy a math, book isn’t enough. Amer. Math. Monthly, 1970, 77, p. 931 -956. 58. Fox L. An introduction to numerical linear algebra. - New York: Oxford Univ. Press, 1965. 59. F r a n с i s J.G.F. The QR transformation; Parts I, II. - Comput. J., 1961, 4, p. 265 -271, 33 2 -345. 60. F r a n к 1 i n J.N. Matrix theory. - Prentice-Hall, 1968. 61. F r a n к 1 i n J.N. Well-posed stochastic extensions of ill-posed linear problems. - J. Math. Anal. Appl., 1970, 31, p. 682-716. 62. G a 1 e D. How to solve least inequalities. - Amer. Math. Monthly, 1969, 76, p. 589- 599. 63. G a r s i d e MJ. Some computational procedures for the best subset problem. - Appl.Stat., 1971, 20, p. 8-15, 111-115. 64. G a s t i n e 1 N. Linear numerical analysis. - New York: Academic Press, 1971. 65. Gentleman W.M. Least squares computations by Givens transformations without square roots. - Univ. of Waterloo Rept. CSRR-2062. - Canada, Ontario, Waterloo, 1972, 17 p. 66. Gentleman W.M. Basic procedures for large, sparse or weighted linear least squares problems. - Univ. of Waterloo Rept. CSRR-2068. - Canada, Ontario, Waterloo, 1972,14 р. 67. Gill P.E., Murray W. A numerically stable form of the simplex algorithm. - Nat. Phys. Lab. Math. Tech. Rept. N* 87. - England, Middlesex, Teddington, 1970, 43 p. 68. G i 1 1 P.E., Golub G.H., Murray W., Saunders M.A. Methods for modifying matrix factorizations. - Stanford Univ. Rept. №CS-322. - Calif., Stanford, 1972, 60 p. 69. G i v e n s W. Numerical computation of the characteristic values of a real symmetric matrix. - Oak Ridge Nat. Lab. Rept. ORNL-1574. - Tenn., Oak Ridge, 1954,107 p. 70. G о 1 u b G.H. Least squares, singular values and matrix approximations. - Aplikace Mathematicky, 1968,13, p. 44-51. 71. G о 1 о b G.H. Matrix decompositions and statistical calculations - In: Statistical Calculations. - New York: Academic Press, 1969, p. 365-397. 72. G о 1 u b G.H., Businger P.A. Linear least squares solutions by Householder transformations. - Numer. Math., 1965, 7, p. 269-276. ' 73. G о 1 u b G.H., К a h a n W. Calculating the singular values and pseudoinverse of a matrix. - SIAM J. Numer. Anal., 1965, 2, №3, p. 205-224. 74. G о 1 u b G.H., Pereyra V. The differentiation of pseudoinverses and nonlinear least squares problems whose variables separate. - SIAM J. Numer. Anal., 1973, 10, p. 413— 432. 75. С о 1 u b G.H., R e i n s с h C. Singular value decomposition and least squares solu¬ tions. - Numer. Math., 1970, 14, №5, p. 403-420. 76.GolubG.H., Saunders M.A. Linear least squares and quadratic programming. - Integer and nonlinear programming, II. - Amsterdam: North Holland, 1970, p. 229-256. 77. G о 1 u b G.H., Smith L.B. Chebyshev approximation of continuous functions by a Chebyshev system of functions. - Commun. ACM, 1971,14, №11, p. 737-746. 78. G о 1 u b G.H., S t у a n G.P.H. Numerical computations for univariate linear modeles.-J.Stat.Comp.and Simulation, 1973, 2, p. 253-274. 79. Golub G.H., Underwood R. Stationary values of the ratio of quadratic forms, subject to linear constraints. - Z. Angew. Math. Phys., 1970, 21, p. 318-326. 221
80. G о 1 u b G.H., Wilkinson J.H. Note on the iterative refinement of least squares solution. - Numer. Math., 1966, 9, p. 139-148. 81. G г a у b i 1 1 F.A., Meyer C.D., Painter R J. Note on the computation of the generalized inverse of a matrix. - SIAM Rev., 1966, 8, p. 522-524. 82. G r e v i 1 1 e T.N.E. The pseudo-inverse of a rectangular or singular matrix and its application to the solution of systems of linear equations. - SIAM Rev., 1959,1, p. 38-43. 83. G r e v i 11 e T.N.E. Some applications of the pseudoinverse of a matrix. - SIAM Rev., 1960, 2, p. 15-22. 84. G r e v i 1 1 e T.N.E. Note on the generalized inverse of a matrix product. - SIAM Rev., 1966, 8, p. 518-521. 85. H a 1 m о s P.R. Introduction to Hilbert space. - New York: Chelsea Publ. Co., 1957. 86. H a n s о n R.J. Computing quadratic programming problems: linear inequality and equality constraints. - JPL Sec. 314 Tech. Mem. № 240. - Calif., Pasadena, California Inst, of Technology, Jet Propulsion Lab., 1970. 87.Hanson R.J. A numerical method for solving Fredholm integral equations of the first kind, using singular values. - SIAM J. Numer. Anal., 1971,8, №3, p. 616-622. 88. H a n s о n R.J. Integral equations of immunology. - Commun. ACM, 1972, 15, №10, p. 883-890. 89. H a n s о n R.J., D у e r P. A computational algorithm for sequential estimation. - Comput. J., 1971,14, №3, p. 285-290. 90. Hanson R.J., Lawson C.L. Extensions and applications of the Householder algorithm for solving linear least squares problems. - Math. Comp., 1969, 23, № 108, p. 787- 812. 91. H e a 1 у MJ.R. Triangular decomposition of a symmetric matrix. - Appl. Stat., 1968,17,p. 195-197. 92. Hemmerle W.J. Statistical computations on a digital computer. - New York: Blaisdell Publ. Co., 1967. 93. H estenes M.R. Inversion of matrices by biorthogonalization and related results.- J. Soc. Indust. Appl. Math., 1958,6, p. 51-90. 94. H e s t e n e s M.R., S t i e f e 1 E. Methods of conjugate gradients for solving linear systems. — Nat. Bur. Stand. J. Res., 1952,49, p. 409-436. 95. H il se n г a t h J., Ziegler G.G. et al. OMNITAB, a computer program for sta¬ tistical and numerical analysis. - Nat. Bur. Stand., Handbook 101, 1966 (Revised 1968), 275 p. 96. H о e r 1 A.E. Optimum solution of many variable equations. - Chem. Eng. Progress, 1959,55, № 11, p. 69-78. 97. H о e r 1 A.E. Application of ridge analysis to regression problems. - Chem. Eng. Pro¬ gress, 1962, 58, № 3, p. 54-59. 98. H o e r 1 A.E. Ridge analysis. - Chem. Eng. Progress, 1964, 60, № 50, p. 67-78. 99. H о e r 1 A.E., Kennard R.W. Ridge regression: biased estimation for nonortho- gonal problems. - Technometrics, 1970, 12, p. 55-67, 69-82. 100. Hoffman A.J., W i e 1 a n d t H.W. The variation of the spectrum of a normal matrix. - Duke Math. J., 1953, 20, p. 37-39. 101.Householder A.S. Unitary triangularization of a nonsymmetric matrix. - J. ACM, 1958,5, p. 339-342. 102. H о useholder A.S. The theory of matrices in numerical analysis. - New York: Blaisdell Publ. Co., 1964. 103. Householder A.S. KWIC index for numerical algebra. - Oak Ridge Nat. Lab. Rept. № ORNL—4778, 1972,538 p. 104. Jacobi C.G.J. Uber ein leichtes Verfahren die in der Theorie der Siculflrstonm- gen vorkommenden Gleichungen numerisch aufzulosen. - Crelle’s J., 1846, 30, p. 297-306. 105. J e nnings L.S., Osborn M.R. Applications of orthogonal matrix trans¬ formations to the solution of systems of linear and nonlinear equations. - Australian Nat. Univ. Comput. Centre Tech. Rept. №37. - Australia, Canberra, 1970, 45 p. 106.Jennrich R.I., Sampson P.I. Remark AS-R3. A remark on algorithm AS-10. Appl. Stat., 1971, 20, p. 117-118. 107. К a h a n W. When to neglect off-diagonal elements of symmertic tri-diagonal matrices. - Stanford Univ. Rept. №CS-42. - Calif., Stanford, 1966. 222
108. К a h a n W. Numerical linear algebra. - Canad. Math. Bull., 1966, 9, №6, p. 757- 801. 109. Kalman R.E. A new approach to linear filtering and prediction problems. - ASME Trans., J. Basic Eng., 1960, 82D, p. 35-45. 110. Kammerer WJ., N a s h e d M.Z. On the convergence of the conjugate gra¬ dient method for singular linear operation equations. - SIAM J. Numer. Anal., 1972, 9. p. 165-181. 111.Korganoff A., Pavel-Parvu M. Elements de theorie des matrices carries et rectangles an analyse num£rique. - Paris: Dunod, 1967. 112. Krogh F.T. Efficient implementation of a variable projection algorithm foi nonlinear least squares problems. - Commun. ACM, 1974,17, №3, p. 167-169. 113. La Motte L.R., Hocking R.R. Computational efficiency in the selection of regression variables. - Technometrics, 1970, 12, p. 83-93. 114. Lawson C.L. Contributions to the theory of linear least maximum approxima¬ tion. - Thesis. UCLA. - Calif., Los Angeles, 1961, 99 p. 115. Lawson C.L. Applications of singular value analysis. - Mathematical Software. - New York: Academic Press, 1971, p. 347-356. 116. L e r i n g e O., W e d i n P.-А. A comparison between different methods to compute a vector x which minimizes \\Ax—B\\2 when Gx=h. - Lund. Univ. - Sweden, Lund, 1970, 21 p. 117. Levenberg K. A method for the solution of certain nonlinear problems in least squares. - Quart. Appl. Math., 1944, 2, p. 164-168. 118. Longley J.W. An appraisal of least squares programs for the electronic compu¬ ter from the point of view of the user. - J. Amer. Stat. Ass., 1967,62, p. 819-841. 119. L у n n M.S., Tim lake W.P. The use of multiple deflations in the numerical solution of singular systems of equations with applications to potential theory. - IBM Houston Sci. Center, 37.017. - Texas, Houston, 1967. 120. Marcus М., Gordon W.R. An analysis of equality in certain matrix inequali¬ ties II. - SIAM J. Numer. Anal., 1972, 9, p. 130-136. 121. M ar q u a r d t D.W. An algorithm for least-squares estimation of nonlinear para¬ meters. - J. Soc. Indust. Appl. Math., 1963, 11, №2, p. 431-441. 122. Marquardt D.W. Generalized inverses, ridge regression, biased linear estimation, and nonlinear estimation. - Technometrics, 1970, 12, p. 591 -612. 123. M a s о n J.C. Orthogonal polynomial approximation methods in numerical analy¬ sis. - Univ. of Toronto Tech. Rept. №11.- Canada, Ontario, Toronto, 1969, 50 p. 124. M e у e r C.D., Jr. The Moore-Penrose inverse of a bordered matrix. - Lin Alg. and Its Appl., 1972, 5, p. 375-382. 125. M i t с h e 1 1 W.C., Me С r a i t h D.L. Heuristic analysis of numerical variants of theCram-Schmidtorthonormalization process. - Stanford Univ. Rept. №CS-122. - Calif., Stanford, 1969. 126. M о 1 e r C.B. Iterative refinement in floating point. - J. ACM, 1967, 14, № 2, p. 316-321. 127. M о 1 e г C.B., Stewart G.W. An algorithm for generalized matrix eigenvalue problem. - SIAM J. Numer. Anal., 1973, 10, №2, p. 241-256. 128. Moore E.H. On the reciprocal of the general algebraic matrix. - Bulletin AMS, 1920,26, p. 394-395. 129. Moore E.H. General analysis, Part 1. - Mem. Amer. Philos. Soc., 1935, 1, p. 1-231. 130. Morrison D.D. Methods for nonlinear least squares problems and convergence proofs. - Proc. of Seminar on Tracking Programs and Orbit Determination. - Calif., Pasade¬ na, Jet Propulsion Lab., 1960, p. 1 -9. 131. Murray W. An algorithm to find a local minimum of an indefinite quadratic program. - Nat. Phys. Lab. Rept. № NPL-DNAC-1. - England, Middlesex, Teddington, 1971,31 p. 132. Newman М., Todd J. The evaluation of matrix inversion programs. - J. Soc. Indust. Appl. Math., 1958,6, №4, p. 466-476. 133. Osborne E.E. On least squares solutions of linear equations. - J. ACM, 1961, 8, p. 628-636. 134. Osborne E.E. Smallest least squares solutions of linear equations. - SIAM J. Numer. Anal., 1965, 2, №2, p. 300-307. 223
135. Paige C.C. An error analysis of a method for solving matrix equations. - Stanford Univ. Rept. №CS-297. - Calif., Stanford, 1972. 136. Parlett B.N. The LU and QR transformations. - Mathematical methods for digital computers, II. - New York: Wiley, 1967, p. 116-130. 137. Pa vel-Parvu М., Korganoff A. Iteration functions for solving polynomial matrix equations. - Constructive aspects of the fundamental theorem of algebra. - New York: Wiley, 1969, p. 225 - 280. 138. P e n г о s e R. A generalized inverse for matrices. - Proc. Cambridge Phil. Soc., 1955, 51, p. 406-413. 139. P e г e у г a V. Stabilizing linear least squares problems. - Proc. IFIP Congr. 1968.- Amsterdam: North-Holland, 1969, p. 119-121. 140. P e г e у г a V. Stability of general systems of linear equations. - Aequat. Math., 1969, 2, №2-3, p. 194 -206. 141.Perez A., Scolnik H.D. Derivatives of pseudoinverses and constrained non¬ linear regression problems. - Numer. Math. 142. Peters G., Wilkinson J.H. The least squares problem and pseudoinverses. - Comput. J., 1970,13, p. 309-316. 143.Philips D.L. A technique for the numerical solution of certain integral equations of the first kind. - J. ACM, 9, p. 84-97. 144. P 1 а с к e 11 R.L. Principles of regression analysis. - New York: Oxford Univ. Press, 1960. 145.Powell MJ. D. A Fortran subroutine for solving systems of nonlinear algebraic equations. - Atomic Energy Res. Estab. Rept. № R-5947. - England, Berkshire, Harwell, 1968. 146. P о w e 11 M J.D., Reid J.K. On applying Householder’s method to linear feast squares problems. - Atomic Energy Res. Estab. Rept. №T-P.332. — England, Berkshire, Harwell, 1968, 20 p. 147. Pо w e 11 MJ.D., Reid J.K. On applying Householder’s method to linear least squares problems. - Proc. IFIP Congr. 1968. - Amsterdam: North-Holland, 1969, p. 122-126. 148. Powell MJ.D. A survey of numerical methods for unconstrained optimization. - SIAM Rev., 1970,12, p. 79-97. 149. Pringle R.M., R а у n e г A.A. Expressions for generalized inverses of a bordered matrix with application to the theory of constrained linear models. — SIAM Rev., 1970,12, p. 107-115. 150. Pyle L.D. A generalized inverse (epsUon)-algorithm for constructing intersection projection matrices, with applications. - Numer. Math., 1967,10, p. 86-102. 151.Ralston A., Wilf H.S. Mathematical methods for digital computers. - New York: Wiley, 1960. 152. Ralston A., Wllf H.S. Mathematical methods for digital computers, II. - New York: Wiley, 1967. 153. Raо C.R., Mitra S.K. Generalized inverse of matrices and its application. - New York: Wiley, 1971. 154. R e i d J.K. A Fortran subroutine for the solution of large sets of linear equations by conjugate gradients. - Atomic Energy Res. Estab. Rept. №6545. - England, Berkshire, Harwell, 1970, 5 p. 155. R e i d J.K. The use of conjugate gradients for systems of linear equations posses¬ sing property A. - SIAM J. Numer. Anal., 1972,9, № 2, p. 325-332. 156. Reid J.K. (ed.). Large sparse sets of linear equations. - New York: Academic Press, 1971. 157. Rice J.R. Experiments on Gram-Schmidt orthogonalization. — Math. Comp., 1966,20, p. 325-328. 158. Rice J.R. The approximation of functions, 2 — advanced topics. - Addison Wesley Publ. Co., 1969. 159. Rice J.R. Running orthogonaHzation. - J. Approximation Theory, 1971, 4, p. 332-338. 160. Rice J.R. (ed.). Mathematical software. - New York: Academic Press, 1971. 161. Rice J.R., White J.S. Norms for smoothing and estimation. - SIAM Rev., 1964,6, №3, p. 243-256. 224
162. Rosen EJtl. The instrument spreading correction in GPC III. The general shape fraction using singular value decomposition with a nonlinear calibration curve. - Monsanto Co., St. Louis, Mo., 1970. 163.Rosen J.B. The gradient projection method for nonlinear programming, Part I, linear constraints. - J. Soc. Indust. AppL Math., 1960,8, № 1, p. 181-217. 164.Rutishauser H. Once again the least squares problem. - Lin. Alg. and Its AppL, 1968,1, p. 479-488. 165.Saunders M.A. Large-scale linear programming using the Cholesky factoriza¬ tion. - Stanford Univ. Rept. CS-252. - Calif., Stanford, 1972,64 p. 166. Saunders M.A. Ptoduct form of the Cholesky factorization for large-scale linear programming. - Stanford Univ. Rept. CS-301. - Calif., Stanford, 1972, 38 p. 167. S с h u r I. Ober die charakteristischen Wuizeln dner linearen Substitution mit einer Anwendung auf die Theorie der Integrafeleichungen. - Math. Ann., 1909, 66, p. 488-510. 168. Sherman J., Morrison WJ. Adjustment of an inverse matrix corresponding to the changes in the elements of a given column or a given row of the original matrix. - Ann. Math. Stat., 1949,20, p. 621. 169. Sherman J., Morrison WJ. Adjustment of an inverse matrix corresponding to a change in one element of a given matrix. - Ann. Math. Stat., 1950,21, № 1, p. 124-127. 170. Sm i t h G.L. On the theory and methods of statistical inference. - NASA Tech. Rept. TR R-251. - Washington, 1967,32 p. 171. Stewart G.W. On the continuity of the generalized inverse. - SIAM J. Appl Math., 1969,17, № 1, p. 33-45. 172. Stewart G.W. Incorporating origin shifts into the QR algorithm for symmetric tridiagonal matrices. - Commun. ACM, 1970,13, № 6, p. 365-367. 173. Stewart G.W. Introduction to matrix computations. - New York: Academic Press, 1973. 174. Stoer J. On the numerical solution of constrained least squares problems. - SIAM J. NBmer. Anal., 1971, 8, N» 2, p. 382-411. 175. S t r a n d O.N., Westwater E.R. Statistical estimation of the numerical soluti¬ on of a Fredholm integral equation of the first kind. - J. ACM, 1968,15, №l,p. 100-114. 176. S t r a n d O.N., Westwater E.R. Minimum-RMS estimation of the numerical solution of a Fredholm integral equation of the first kind. - SIAM J. Numer. Anal., 1968, 5 №2, p. 287-295. 177. S w e r 1 i n g P. A proposed stagewise differential correction procedure for satellite tracking and prediction. - J. Astronaut. Sd., 1959,6, № 3, p. 46-52. 178. Tornheim L. Stepwise procedures using both directions. - Proc. 16th Nat. Meeting оГАСМ, 12A4.1-12A44. 179. Tucker A.W. Least distance programming. - Proc. of the Princeton Sympos on Math. Programming. - Princeton: Princeton Univ. Press, p. 583-588. 180. Turing A.M. Rounding-off errors in matrix processes. Quart. J. Mech., 1948, 1 p. 287-308. 181. T w о m e у S. On the numerical solution of Fredholm integral equations of the fust kind by inversion of the linear system produced by quadrature. - J. ACM, 1963,10. p. 97-101. 182. V a n der S 1 u i s. Condition numbers and equilibrium of matrices. - Numer. Math., 1969,14, p. 14-23. 183. Van der Sluis. Stability of solutions of linear algebraic systems. - Numer Math., 1970,14, p. 246-251. 184.V a r a h J.M.Computing invariant subspaces of a general matrix when the eigensys- tem is poorly conditioned. Univ. of Wisconsin Math. Res. Center Rept. 962. - Wis., Madison, 1969, 22 p. 185. Wampler R.H. An evaluation of linear least squares computer programs. - Nat. Bur. of Standards J. Res., 1969, 73B, № 2, p. 59-90. 186. We din P.-А. Perturbation bounds in connection with singular value decompo¬ sition. - BIT, 1972, 12, p. 99-111. 187. W e d i n P.-А. Perturbation theory for pseudo-inverses. - BIT, 1973, I3; p. 217-232. 188. W e d i n P.-А. On the almost rank deficient case of the least squares problem. - BIT, 1973, 13, p. 344-354. 225
189. W e s t w a t е г E.R., Strand O.N. Statistical information content of radiation measurements used in indirect sensing. - J. Atmospheric Sciences, 1968,25, № 5, p. 750-758 190. W i 1 к i n s о n J.H. Error analysis of floating-point computation. - Numer. Math., 1960, 2, p. 319-34Q. 191. Wi lk i n s о n J.H. Householder’s method for symmetric matrices. - Numer. Math., 1962,4, p. 354-361. 192. W i 1 к i n s o n J.H. Rounding errors in algebraic processes. - Prentice-Hall, 1963. 193. W i 1 к i n s о n J.H. Convergence of the LR, QR and related algorithms. - Comput. J., 1965, 8, №1, p. 77-84. 194.Wilkinson J.H. Global convergence of tridiagonal QR algorithm with origin shifts. Lin. Alg. and Its Appl., 1968,1, p. 409-420. 195.Wilkinson J.H. Global convergence of QR algorithm. - Proc. IFIP Congr. 1968. - Amsterdam: North-Holland, 1969, p. 130-133. 196.Wilkinson J.H. Elementary proof of the Wielandt-Hoffman theorem and its generalization. Stanford Univ. Rept. N CS-150. - Calif., Stanford, 1970. 197.Willoughby R.A. (ed.). Sparse matrix proceedings. - Thomas J. Watson Res. Center Rept. RA1411707), 1968,184 p. 198. Wo If e P. The composite simplex algorithm. - SIAM Rev., 1965, 7, p. 42-54. СПИСОК ЛИТЕРАТУРЫ, ДОБАВЛЕННОЙ ПРИ ПЕРЕВОДЕ 1*. Воеводин В.В. Ортогональные преобразования и решение систем уравнений с прямоугольными матрицами. - В кн.: Ошибки округления в алгебраических про¬ цессах. - М.: Изд-во МГУ, 1968, с. 39-58. 2*. Дрыгал л а Ф. Уточнение псевдорешений системы линейных уравнений. - Журнал вычисл. мат. и матем. физ., 1982, 22, № 5, с. 1-7. 3*. И к р а м о в X. Л Численное решение линейных задач метода наименьших квадратов. - В кн.: Математический анализ, 23. Итога науки и техники, М.: ВИНИТИ, 1985. 4*. Кублановская В.Н. О вычислении обобщенной обратной матрицы и проектора. - Журнал, вычисл. мат. и матем. физ., 1966, 6, № 2, с. 326-332. 5*. Кублановская В.Н. О применении метода Ньютона к определению собст¬ венных значений матриц. — Докл. АН СССР, 1969, 188, № 5, с. 1004-1005. 6*. Кублановская В.Н. Применение ортогональных преобразований к числен¬ ной реализации линейно алгебраических задач на возмущение. - Журнал вычисл. мат. и матем. физ., 1970, 10, № 2, с. 429-433. 7*. Кублановская В.Н. Применение нормализованного процесса к решению обратной проблемы собственных значений матриц. - Зап. науч. семинаров ЛОМИ АН СССР, 1971,23, с. 72-83. 8 * Кублановская В.Н. Применение нормализованного процесса к решению линейных алгебраических систем. - Журнал вычисл. мат. и матем. физ., 1972, 12, №5,с. 1091-1098. 9*. Парлетт Б. Симметричная проблема собственных значений. Численные методы, - М.: Мир, 1983. 10*. Уил кинсон Дж., Р а й н ш К. Справочник алгоритмов на языке АЛГОЛ. Линейная алгебра. - М.: Машиностроение, 1976. 11*. Фаддеев Д.К., Кублановская В.Н., Фаддеева В.Н. Линейные алгебраические системы с прямоугольными матрицами. - В кн.: Современные числен¬ ные методы. Вып. I (Материалы междунар. летней школы по численным методам. Киев, 1966). - М., 1968, с. 16-75. 12*. Форсайт Дж., Малькольм М., Моулер К. Машинные методы мате¬ матических вычислений. - М.: Мир, 1980. 13. Bauer F.L. Elimination with weighted row combinations for solving linear equa¬ tions and least squares problems. - Numer. Math., 1965, 7, p. 338-352. 226
14. В j б г с к A. Iterative refinement of linear least squares solutions, 1,11. - BIT, 1967, 7,p. 257-278; 1968, 8,p. 8-30. 15.Bjorck A. Comment on the iterative refinement of least squares solutions. - J. Amer. Statist Assoc., 1978, 73, p. 161-166. 16. BjSrck A., Duff I.S. A direct method for the solution of sparse linear least squares problems. - Linear Algebra and Appl., 1980, 34, p. 43-67. 17. В j б г с к A., G о 1 u b G.H. Iterative refinement of linear least squares solutions by Householder transformation. - BIT, 1967,7, p. 322-337. 18. Businger P., Golub G.H. Linear least squares solutions by Householder trans¬ formations. - Numer. Math., 1965, 7, p. 269-276. 19. С h a n T.F, An improved algorithm for computing the singular value decomposi¬ tion. - ACM Trans. Math. Software, 1982, 8, № 1, p. 72-88. 20. С 1 i n e A.K. An elimination method for the solution of linear least squares prob¬ lems. - SIAM J. Numer. Anal., 1973, 10, №2, p. 283-289. 21. С 1 i n e A.K., Conn A.R., Van Loan Ch. F. Generalizing the LINPACK condi¬ tion estimator. - Lect. Notes Math., 1982, №909, p. 73-83. 22. С 1 i n e A.K., Moler C.B., Stewart G.W., Wilkinson J.H. An estimate for the condition number of a matrix. - SIAM J. Numer. Anal., 1979, 16, № 2, p. 368-375. 23. С 1 i n e R.E., P1 e m m о n s R.J. lt -solutions to undetermined linear systems. - SIAM Review, 1976,18, p. 92-106. 24. Cup pen J.J.M. The singular value decomposition in product form. - SIAM J. Sci. Stat. Comp., 1983,4, № 2, p. 216-222. 25. D a v i s Ch.D., К a h a n W.M. The rotation of eigenvectors by a perturbation. - SIAM J. Numer. AnaL, 1970, 7, p. 1-46. 26. D e u f 1 h a r d P., S a u 11 e r W. On rank-deficient pseudoinverses. - Linear Algebra and AppL, 1980, 29, p. 91 -111. 27. E 1 d e n L. Perturbation theory for the least squares problem with linear equality constraints. - SIAM J. Numer. Anal., 1980,17, p. 338-350. 28. E 1 d e n L. A weighted pseudoinverse, generalized singular values and constrained least squares problems. - ВГГ, 1982, 22, p. 487-502. 29. F.l e t с h e r R.H. On the iterative refinement of least squares solutions. - J. Amer. Statist. Assoc., 1975, 70, p. 109-112. 30. F о r s у t h e G.E., Golub G.H. On the stationary values of a second degree poly¬ nomial on the unit sphere. - J. Soc. Indust. Appl. Math., 1965, 13, p. 1050-1068. 31. Gander W. Least squares with a quadratic constraint. - Numer. Math., 1981, 36, p. 291-307. . 32. G о 1 u b G.H. Numerical methods for solving linear least squares problems. - Numer. Math., 1965, 7, № 3, p. 206-216. 33. Golub G.H. Matrix decompositions and statistical calculations. - In: Statistical Computation. - New York: Academic Press, 1969, p. 365-397. 34. G о 1 u b G.H., Van Loan Ch.F. Matrix computations. - The Johns Hopkins University Press, 1983. 35. G о 1 u b G.H., Wilkinson J.H. Note on the iterative refinement of least squares solution. - Numer. Math., 1966, 9, p. 139-148. 36. Hammarling S.J., Long E.M'R., Martin D.W. A generalized linear least squares algorithm for correlated observations, with special reference to degenerate data. - Nat. Phys. Lab. Inf. Technol. and Comput. Rept., 1983, №33, 88 p. 37.Hestenes M.R. Inversion of matrices by biorthogonalization and related results. - J. Soc. Indust. AppL Math., 1958, 6, p. 51-90. 38. J e n n i n g s L.S., Osborne M.R. A direct error analysis for least squares. - Numer. Math., 1974, 22, p. 325-332. 39. J i-g u a n g, Sun. Perturbation analysis for the generalized eigenvalue and the genera¬ lized singular value problem. - In: Matrix Pencils. Springer-Verlag, 1983, p. 221-244. 40. Kaneko I., Plemmons R.J. Minimum norm solutions to linear elastic analysis problems. - Int. J. Numer. Meth. Eng., 1984, 20, №6, p. 983-998. 41.Karasalo LA criterion for truncation of the QR-decomposition algorithm for the singular linear least squares problem. - BIT, 1974, 14, p. 156-166. 42. Kourouklis S., Paige C.C. A constrained squares approach to the general Gauss-Markov linear model. - J. Amer. Stat. Assoc., 1981, 76, p. 620-625. 227
43.Leringeft., Wed in P. A. A comparison between different methods to compute a vector x, which minimizes \\Ax-B ||a when Gjc=/i. - Sweden, Lund, Lund University, 1970, 21 p. 44. L o t s t e d t P. Perturbation bounds for the linear least squares problem subject to linear inequality constraints. - BIT, 1983, 23, № 4, p. 500-519. 45. L o t s t e d t P. Solving the minimal least squares problem subject to bounds on the variables. - BIT, 1984, 24, № 2, p. 206-224. 46. L u к F.T. Computing the singular-value decomposition on the ILLIACIV. - ACM Trans. Math. Software, 1980,6, №4, p. 524-539. 47. M i t r a S.K., R a о C.R. Projections under seminorms and generalized Moore-Pen- rose inverses. - Linear Algebra and Appl., 1974, 9, p. 155-167. 48. Nash J.C. A one-sided transformation method for the singular value decomposition and algebraic eigenproblem. - Comput. J., 1975, 18, p; 74-76. 49. N a s h e d M.Z. Generalized inverses and applications. - New York: Academic Press, 1976. 50. Paige C.C. An error analysis of a method for solving matrix equations. - Math. Сотр., 1973, 27, № 122, p. 355-359. 51. Pa i g e C.C. Numerically stable computations for general univariate linear models. - Comm. Statist., 1978, B7, №5, p. 437-453. 52. P a i g e C.C. Computer solution and perturbation analysis of generalized least squares problems. - Math. Comp., 1979, 33, p. 171-183. 53. Paige C.C. Fast numerically stable computations for generalized linear least squares problems. - SIAM J. Numer. Anal., 1979, 16, p. 165-171. 54. P a i g e C.C. Error analysis of some techniques for updating orthogonal decomposi¬ tions. - Math. Comput., 1980, 34, №150, p. 465-471. 55. P a i g e C.C., Saunders M.A. Towards a generalized singular value decompo¬ sition. - SIAM J. Numer. Anal., 1981, 18, p. 398-405. 56. Plemmons R.J. Linear least squares by elimination and MGS. - J. ACM, 1974, 21, №4, p. 581-585. 57. Sautter W. Zur Kondition des linearen Ausgleichsproblems mit linearen Gleichun- gen als Nebenbedingungen. - Numer. Math., 1984,44, p. 139-152. 58. Schittkowski K. The numerical solution of constrained linear least-squares problems. - IMA J. Numer. Anal., 1983, 3, № 1, p. 11 -36. 59. S 1 u i s A. Stability of the solutions of linear least squares problems. - Numer. Math., 1974/75, 23, p. 241-254. 60. Stewart G.W. A note on the perturbation of singular values. - Linear Algebra and Appl., 1979, 28, p. 213-216. 61. Stewart G.W. A method for computing the generalized singular value decomposi¬ tion. - In: Matrix Pencils. Springer-Verlag, 1983, p. 207-220. 62. Stewart G.W. A second order perturbation expansion for small singular values. - Linear Algebra and Appl., 1984, 56, p. 231-235. 63. T s a о N.K. On the orthogonal factorization and its updating in band-structured matrix computations. - J. Franklin Inst., 1981, 311, №6, p. 355-381. 64. V a n Loan Ch.F. Generalizing the singular value decomposition. - SIAM J. Numer. Anal., 1976, 13, p. 76-83. 65. Van Loan Ch.F. A generalized SVD analysis of some weighting methods for equality constrained least squares. - In: Matrix Pencils. Springer-Verlag, 1983, p. 245 -262. 66. Wilkinson J.H. Rounding errors in algebraic processes. - Prentice-Hall, 1963.
ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ Алгоритм Пауэлла-Рида 80,115 - BSEQHT 165 -COV 54 -G1 46 -62 46 - HI 45 -Н2 45 -НВТ 58 - HFT 50 - HFTI 62 - HS1 50 - HS2 58 -LDP 127 - LSE 107 -NNLS 124 - QRBD 88 - SEQHT 163 Арифметика со смешанной точностью 76 Взвешивание 114 Возмущения класса I 198 - - II 199 Вытеснение 87 Гиперплоскость 183 Главный элемент преобразования Хаус¬ холдера 43 Гребневая регрессия 145 Двойственный вектор задачи НКН 124 Задача наименьших квадратов (задача НК) 8 с квадратичным ограничением (за¬ дача НККО) 216 с ограничениями-неравенствами (задача НКН) 122 с ограничениями-уравнениями (за¬ дача НКУ) 58, 103 - о выборе подмножества 149 -LDP122 -NNLS 122 Итерационное уточнение 201 Линейное многообразие 182 Матрица вращения 184 - двухдиагональная 183 - диагональная 183 - единичная 183 - идемпотентная 185 - Кахана 25, 27 - ковариационная 52 - обратная 183 левая 183 правая 183 - ортогональная 183 - отражения 184 - перестановки 184 - проекционная 185 - псевдообратная 31 AfA-взвешенная 19898 - симметричная 184 неотрицательно определенная 184 положительно определенная 184 - транспонированная 180 - треугольная 183 - Хаусхолдера 12 - хессенбергова 183 - эквивалентного возмущения 212 Матрицы главная диагональ 183 - диагональные элементы 183 - инвариантное подпространство 184 - симметричной собственное подпро¬ странство 184 собственные векторы 184 значения 184 спектральное разложение 184 Метод Джентльмена 47 - Клайна 206, 207 - Марквардта 145 - односторонней ортогонализации 205 - Питерса-Уилкинсона 102, 206 - стабилизации Левенберга-Марквард¬ та 152 - Холесского 94, 95 без квадратных корней 103 Модифицированная ортогонализация Грама- Шмидта 92 229
Модифицированный метод Грама-Шмид- та 100 Норма вектора евклидова 180 - матрицы евклидова (Шура, Фро- бениуса) 181 спектральная 181 Нормализованный процесс 200 Нормальное псевдорешение (решение за¬ дачи НК) 39 - решение (решение минимальной дли¬ ны) 39 Нормальные уравнения 92, 216 Оболочка системы векторов 182 Образ матрицы 182 Ортогональное разложение матрицы 11 Подпространства базис 181 - ортогональное дополнение 182 - размерность 181 Подпространство 181 Полупространство 183 Последовательное накапливание 161 - оценивание 160 Пошаговая регрессия 150 Преобразование Гивенса 12 - Хаусхолдера 12 Пробное решение 151 Пространство столбцов матрицы 182 - строк матрицы 182 Прямая сумма подпространств 182 Псевдоранг 59 Размерность линейного многообразия 182 - подпространства 181 Ранг матрицы 182 неполный 182 полный 182 Сингулярное разложение матрицы 18 пары матриц 194 Сингулярные числа 18 Сингулярный анализ 151 Система векторов линейно зависимая 181 независимая 181 ортогональная 183 Сплайн кубический 172 - линейный 169 Теорема Виландта-Хофмана 22 - о глобальной сходимости С .^алго¬ ритма 83 Теоремы Пауэлла-Рида 79-81 Условия Куна-Таккера 123 - Пенроуза 32 Фильтрация 160 Число обусловленности 39 Ширина ленты 164 Ядро матрицы 182 С5-разложение ортонормальной матри¬ цы 195 £/?-алгоритм 82 ^/{-разложение матрицы 12 ^/{-разложения модификация 134, 160» 174
Чарльз Лоусон, Ричард Хенсон ЧИСЛЕННОЕ РЕШЕНИЕ ЗАДАЧ МЕТОДА НАИМЕНЬШИХ КВАДРАТОВ Редактор Е.Е. Тыртышпиков Художественный редактор Т.Н. Кольченко Технический редактор С.В. Геворкян Корректор Т. В. Обод Набор осуществлен в издательстве на наборно-печатающих автоматах ИБ N* 12433 Сдано в набор 09.12.8 5 Подписано к печати 14.03.86 Формат 60 X 90 1/16. Бумага офсетная Гарнитура Пресс-Роман. Печать офсетная. Усл.печ.л. 14,5 Усл.кр.-отт. 14,5. Уч.-издл. 15,2. Тираж 12 300 экз. Тип. зак. 25 . Цена 1 р. 40 к. Ордена Трудового Красногр Знамени издательство "Наука” Главная редакция физико-математической литературы 117071 Москва В-71, Ленинский проспект, 15 4-я типография издательства "Наука" 630077 г.’ Новосибирск-77, ул. Станиславского, 25