Text
                    Б.ПЛРЛЕТТ
Симметричная
проблема
собственных
значений
Численные
методы
Москва-Мир»


The Symmetric Eigenvalue Problem BERESFORD N. PARLETT University of California Berkeley, California Prentice-Hall, Inc., Englewood Cliffs, N.J. 07632 1980
Б.ПАРЛЕТТ Симметричная проблема собственных значений Численные методы Перевод с английского X. Д. ИКРАМОВА и Ю. А. КУЗНЕЦОВА Москва «Мир» 1983
ББК 22.193 П18 УДК 512.8 + 518.12 Парлетт Б. П 18 Симметричная проблема собственных значений. Числен- Численные методы: Пер. с англ.— М.: Мир, 1983. 384 с. Книга известного американского специалиста по вычислительной алгебре, со- содержащая систематическое описание численных методов решения задач на собствен- собственные значения. В ней представлены важные разделы, недостаточно полно освещенные в литературе на русском языке —полная теория метода Ланцоша, методы одновре- одновременных итераций и др. Для чтения не требуется высокой математической подготовки Для математиков-вычислителей, инженеров, решающих задачи алгебры на ЭВМ „ 1702070000-С78 ос „„ , ББК 22.193 041 @1)-83 " — ™ " 518 Редакция литературы по математическим наукам © 1980 by Prentice-Hall, Inc., Englewood Cliffs, N.J. © Перевод на русский язык, «Мир», 1983.
Предисловие к русскому изданию Профессор Бересфорд Парлетт сейчас является одним из са- самых видных американских специалистов по вычислительной алгебре. Он приобрел известность еще в 60-е годы, опубликовав цикл статей по геометрической теории сходимости LR и QR-ме- тодов. Другие его заметные достижения связаны с работой по созданию алгоритмов решения симметричных неопределенных линейных систем и численной реализации метода Ланцоша. В первом случае речь идет об алгоритмах, которые имея быстро- быстродействие и запросы к памяти, сравнимые с методом Xодесского, обладали бы для неопределенных систем относительной устойчи- устойчивостью, свойственной методам типа метода Гаусса с выбором главного элемента. Эта деятельность, начатая вместе с Рейдом и продолженная совместно с Банчем, привела в конечном счете к появлению двух эффективных алгоритмов, называемых сейчас методом Аасена и методом Банча соответственно. Очень большой вклад внесен Парлеттом в теорию и практи- практику метода Ланцоша, который в последние годы стал основным средством решения разреженных симметричных задач. В гл. 13 читатель познакомится с алгоритмом выборочной ортогонализации, разработанным автором (совместно со Скоттом) и предназначенным для отыскания группы младших или старших собственных чисел и соответствующих собственных векторов. В последующих работах, уже не отраженных в книге, Пар- Парлетт обращается к алгоритму Ланцоша как методу вычисления всего спектра, а затем как методу решения больших симметрич- симметричных систем уравнений. (Изложение этих работ Парлетта, как и работ других авторов, связанных с методом Ланцоша, читатель найдет в моем обзоре «Разреженные матрицы», опубликованном в сборнике «Математический анализ. Т. 20» ежегодника ВИНИТИ «Итоги науки и техники».) В литературе по численной алгебре, отечественной и переводной, имеются существенные пробелы. Возьмем, к при- примеру, методы вычисления собственных значений и обратимся к популярному «Справочнику алгоритмов на языке АЛГОЛ» Уил- кинсона — Райнша, переведенному в 1976 г. в издательстве «Ма- «Машиностроение». Ни в одной книге, изданной на русском языке после 1970 г., мы не найдем описания ряда методов, реализован-
Предисловие к русскому изданию ных программами этого справочника: QR-алгоритма в примене- применении к симметричным ленточным матрицам, приведения симметрич- симметричной ленточной матрицы к трехдиагональному виду без увеличе- увеличения ширины ленты на промежуточных этапах приведения, и т. д. Эти методы, правда, изложены в фундаментальном труде Уил- кинсона «Алгебраическая проблема собственных значений», кото- который именно в 1970 г. благодаря издательству «Наука» появился на русском языке, однако, это издание смело можно отнести к разряду библиографических редкостей. А метод одновременной итерации для симметричных матриц, разработанный Рутисхау- зером и также содержащийся в «Справочнике», отсутствует и в книге Уилкинсона. Предлагаемая книга должна заполнить указанные пробелы. Кроме того, она дает картину прогресса, достигнутого в области решения симметричных спектральных задач в 70-е годы. Осо- Особенно большую ценность представляет изложение современной точки зрения на методы Ланцоша. Этому вопросу в книге по- посвящены фактически четыре главы: гл. 13 непосредственно, а гл. 10—12 в качестве подготовительных к ней. Много нового материала, недостаточно полно освещенного в литературе на русском языке, и в других разделах книги. Упо- Упомянем хотя бы о доказательстве глобальной сходимости обратной итерации со сдвигом Релея (гл. 4), о быстрых вращениях и методе Кахана вычисления скалярных произведений с высокой относительной точностью (гл. 6), об обратных трехдиагональпых задачах на собственные значения (гл. 7), о схемах QR-алгоритма без квадратных корней (гл. 8) и т. д. За два года, истекших со времени опубликования книги Б. Парлетта, она стала в зарубежной литературе по численной алгебре часто цитируемым изданием. Эта книга представляет интерес для многих читателей. Она будет полезна инженерам и математикам-прикладникам, профессионалам-вычислителям и тем, чей интерес к теории матриц не связан с вычислениями. Перевод предисловия, введения и первых десяти глав выпол- выполнен мною, гл. 11 —15 и приложения перевел Ю. А. Кузнецов. X. Икрамов
Моим родителям — Терезе и Норману Предисловие Когда моя Жюли в шелках шагает, Мне кажется, Чудесная волна по платью пробегает. Как восхитительно свободны колебанья! Гляжу на них не в силах оторваться И вдоволь не могу налюбоваться. Роберт Геррик A591—1674) Гармония между Небом, Землей и Человеком проистекает не из физического союза или прямого действия; она происходит от на- стриивания на одну и ту же ноту и это порождает согласные колебания. Тон Цун-жу A1 в. до н. э.) Е. Шредингер A925). Колебания встречаются повсюду, и это же верно для связан- связанных с ними собственных значений (или частот). Слушатель на концерте, не сознавая того, анализирует колебания своих бара- барабанных перепонок; специалист по спектроскопии с помощью собственных значений определяет компоненты газа, а в Калифор- Калифорнии федеральное управление по строительству требует, чтобы собственные частоты новых зданий лежали вне полосы частот, возбуждаемых землетрясением. Поскольку математические моде- модели завоевывают все новые и новые дисциплины, можно прогно- прогнозировать рост потребности в вычислении собственных значений во все более богатом многообразии контекстов. Читатель, не вполне владеющий понятием собственного значения, должен об- обратиться к первой главе или какой-либо другой книге. Различия в задачах на собственные значения, как бы они ни были интересны, исчезают, когда дается достаточно абстракт- абстрактная формулировка, и конкретные проблемы сводятся к одной и той же задаче вычисления собственных чисел квадратной матри- матрицы с действительными или комплексными элементами. Все же в одном отношении эту задачу следует разделить: некоторые
8 Предисловие матрицы имеют только действительные собственные значения, а другие—нет. Матрицы первого класса обычно происходят из так называемых самосопряженных задач, с которыми намного приятнее иметь дело. Кроме узкого круга специалистов, немно- немногие интересуются решением и самосопряженных, и несамосопря- несамосопряженных задач. Есть определенные преимущества в раздельном рассмотрении этих двух случаев. Данная книга посвящена вы- вычислению собственных значений для действительных симметрич- симметричных матриц. Этот случай, возможно, проще, но и ожидания здесь соответственно выше. Для того, кто впервые сталкивается с вычислением собствен- собственных значений, я хотел бы кратко обрисовать общую ситуацию. (Подробнее содержание книги обсуждается дальше.) Матрицы бывают либо малыми, либо большими в соответствии с термино- терминологией гл. 2. Для малых матриц в настоящее время в большин- большинстве научных вычислительных центров имеются хорошие про- программы, по-существу способные удовлетворить любые запросы пользователя. Более того, достигнуто в сущности полное понима- понимание методов, реализованных этими программами. Многократно переработанная теория упростилась настолько, что приобрела черты элегантности. Обо всем этом рассказывается в гл. 6—9. В последнее время внимание исследователей переключилось на большие матрицы. Задачи стали труднее, разработаны неко- некоторые хорошие методы, но здесь до элегантности еще далеко. Пока нет общепринятого мнения о том, какой метод следует применять для той или иной задачи, и помимо интеллектуаль- интеллектуальных есть финансовые стимулы для достижения большего про- прогресса. В 1978 г. мне говорили, что вычисление 30 пар собст- собственных значений и собственных векторов некоторой матрицы по- порядка 12 000 потребовало машинного времени стоимостью в 12 000 долларов (не считая стоимости составления программы). В последних пяти главах книги представлен аппарат, который должен быть в распоряжении всякого, кто связан с решением больших спектральных задач. Каждый автор хотел бы, наверное, изложить материал и кратко, и в то же время понятно. Из этих двух достоинств последнее в большей степени зависит от подготовки и стойкости читателя. Уровень трудности этой книги повышается и понижает- понижается в зависимости от рассматриваемых вопросов, но, пожалуй- пожалуйста, дорогой читатель, не рассчитывай, что тебе удастся про- пробираться сквозь доказательства так же просто, как сквозь текст романа. Переход от одной строки к другой подчас требует при- привлечения и упорядочения изложенных ранее фактов, и лишь во- вовлекаясь в эту утомительную работу, можно вполне овладеть материалом. Упражнения в конце каждого параграфа послужат подкреплению этой проповеди.
Предисловие 9 Я надеюсь, что даже специалист найдет для себя в каждой главе что-то интересное. Изложение классических вопросов пере- переработано, а результаты в значительной части, если и не всегда новы, то, во всяком случае, либо малоизвестны, либо малодо- малодоступны. Сильным стимулом к написанию книги было и осознание того, что мой друг и коллега Уильям Кахан никогда не сможет оторваться от исследований для того, чтобы опубликовать свои замечательные идеи. Наиболее трудной частью всего этого предприятия была попытка внести какой-то порядок в отобранную информацию. После многих перестановок окончательное оглавление явилось как бы само собой. Книга была задумана как справочник, содержащий наиболее важный материал по состоянию на 1978 г. В таком качестве ее можно рассматривать как продолжение гл. 5 из кни- книги 1965 г. «Алгебраическая проблема собственных значений» — этого шедевра Уилкинсона. Выборка из материала первых девяти глав используется как часть лекционного курса для старшекурсников Университета Беркли; кое-что из последующего материала вынесено на семи- семинар для аспирантов. Начиная с гл. 10, уровень сложности зна- значительно возрастает. Несмотря на математический характер об- обсуждения, в действительности оно адресовано всем, кому нужно вычислять собственные значения. Если бы мне довелось узнать, что кому-то из практиков, не занимающихся теорией численных методов, чтение каких-либо разделов книги принесло пользу, а может быть, и некоторое удовольствие—ничто не обрадовало бы меня больше. Здесь мне хотелось бы признать некоторые свои долги и по- поблагодарить тех, кому я обязан. Покойный Джордж Форсайт, консультант моей диссертации, сумел добиться того, что пред всеми его студентами численный анализ предстал как полезный и интересный предмет. Джим Уилкинсон вывел многих вычисли- вычислителей из бесплодной пустыни бессистемного анализа и показал, как правильно подходить к матричным вычислениям. Уильям Кахан был терпеливым гидом в моих исследованиях по симмет- симметричным матрицам, равно как и по другим вопросам. Вниматель- Внимательный читатель сам увидит, как велик его вклад; те же, кто знает его, поймут, что будь мое сотрудничество с ним теснее, эта книга никогда не увидела бы свет. Конечно, я много приобрел от регулярных контактов с Джином Голубом, Кливом Моулером, Крисом Пэжем1' и Питом (G. W.) Стьюартом. Мне помогали мои *> Во избежание путаницы следует предупредить, что канадский матема- математик Пэж, часто упоминаемый в этой книге, может быть известен читателю как Пэйдж.— Прим. перев.
10 Предисловие бывшие и нынешние студенты. Рукопись прочли Джоэл Фрэнк- Фрэнклин, Джин Изаксон, Клив Моулер и Гил Стрэнг. Я благодарен им за поддержку и за сделанные ими замечания. Далее, хотелось бы выразить признательность Дику Лау и покойной Лейле Брэм из Службы военно-морских исследований за великодушную помощь, позволившую мне написать книгу. Рут Сузуки снова оказалась на уровне своей высочайшей репу- репутации по части машинописи. Бересфорд Н. Парлетт
Введение Основные обозначения указаны на странице 369. Во многих местах книги делаются ссылки на более или менее хорошо известные факты теории матриц. Для замкнутости изло- изложения эти результаты пришлось включить в книгу. Однако с целью экономии места я опустил доказательства и элементарные определения. Благодаря этому читатель сможет увидеть предмет в целом — результат, который не всегда достигается после изу- изучения курса линейной алгебры. Не все факты гл. 1 элементарны. Вторая глава — это то, что следует знать читателю относи- относительно воздействия факторов, связанных с ЭВМ, на решение спектральных задач. На мой взгляд, именно необходимость при- примирить противоречивые требования делает составление алгорит- алгоритмов захватывающе интересным делом. С другой стороны, сердце у меня всегда падает, когда затрагивается вопрос об ошибках округлений. Причудливые подчас эффекты арифметики конечной точности должны всегда быть в поле зрения при матричных вычислениях. И все же формальный анализ округлений, хотя он, по-видимому, необходим, редко вдохновляет меня. К счастью, существует превосходная книжка Уилкинсона «Ошибки округле- округлений в алгебраических процессах», дающая полное и доступное изложение основ предмета. Поэтому я счел возможным сосредо- сосредоточиться на тех вопросах, которые считаю особо важными, на- например на часто обвиняемом явлении взаимного уничтожения близких чисел. Кроме того, я указываю на некоторые великолеп- великолепные программы, существующие в настоящее время. По-настоящему книга начинается с гл. 3, сконцентрированной вокруг того замечательного факта, что число отрицательных главных элементов в процессе стандартного гауссова исключения, примененном к матрице А—11, равно числу собственных значе- значений А, меньших, чем g. Степенной метод и обратная итерация — очень простые про- процессы, но за ними стоят далеко идущие идеи. Обычно эти мето- методы анализируют посредством разложений по собственным векто- векторам. Однако небольшие тригонометрические выкладки позволяют получить результаты, более точные и простые, чем обычные формулировки. В том же духе я пытался найти наиболее эле-
12 Введение гантные доказательства для хорошо известных оценок, связанных с материалом гл. 4. Итерация с отношением Релея—возможно, самый известный вариант обратной итерации с переменным сдвигом. Хорошо из- известно, что если она сходится к собственной паре, то сходится быстро. Обнаруженный Каханом факт, что метод в действитель- действительности сходится почти при любом начальном приближении, очень удачно завершает его теорию. К сожалению, этот факт мало известен. Доказательство (§ 4.9) сравнительно трудное, и в сту- студенческом курсе его следует опустить. В вопросе об «исчерпывании» вычисленной собственной пары из матрицы важным моментом является то, что надежность и желательность этой операции зависят от того, как она выполня- выполняется. Мне казалось полезным поместить рядом различные методы, чтобы облегчить их сравнение. Глава 6 подготавливает почву для обсуждения явных пре- преобразований подобия; в то же время ортогональные матрицы играют важную роль и во многих других матричных вычислениях. То обстоятельство, что любую ортогональную матрицу можно представить произведением матриц отражения, кажется, не слиш- слишком широко известно. Таким образом класс отражений доста- достаточно богат для любого случая; при этом каждый его член ха- характеризуется единственным вектором, указывающим положение соответствующего зеркала. Этим матрицам по праву принадлежит высокий статус, хотя им совершенно не уделяли внимания до 1958 года, когда Хаусхолдер выступил с предложением исполь- использовать их в численной алгебре. Плоские вращения снова вошли в моду в конце, 1960-х годов, когда выяснилось, что при надлежащем масштабировании они не менее эффективны, чем отражения, и в особенности приспособлены для разреженных матриц. Кроме упомянутого выше материала, гл. 6 содержит простое доказательство, принадлежащее Уилкин- сону, того факта, что округления оказывают лишь очень неболь- небольшое влияние на последовательность явных ортогональных пре- преобразований подобия. Наконец, вводится QR-разложение просто как матричное описание процесса ортонормализации Грама — Шмидта. Действительный способ, каким должны вычисляться со- сомножители Q и R,—это другой вопрос, и ответ на него зависит от обстоятельств. Влияние округлений на ортогонализацию иссле- исследуется в заключительном параграфе. Трехдиагональные матрицы были выделены в качестве особого предмета еще в 1954 г., когда Уоллес Гивенс предложил при- приводить малые заполненные матрицы к такой форме в качестве промежуточного этапа при вычислении собственных значений первоначальной матрицы. Глава 7 начинается полезной теоремой, указывающей, в какой степени трехдиагональная форма опреде-
Введение 13 ляется исходной матрицей. Далее следует важная (но обычно опускаемая) характеризация внедиагональных элементов трех- диагональной формы. После этой подготовки изложены методы приведения и анализ Уилкинсона кажущейся неустойчивости приведения, показывающий, что этого явления не следует опасаться. Для последующего использования я счел необходимым вклю- включить в главу параграф, описывающий интересные соотношения между элементами собственных векторов трехдиагональных мат- матриц. Еще один параграф трактует трудный вопрос о том, какой внедиагональный элемент можно считать достаточно малым, чтобы пренебречь им. Наконец, кратко рассмотрена задача восстановле- восстановления трехдиагональной матрицы по собственным значениям и не- некоторой дополнительной информации. Эти последние разделы представляют собой не совсем стандартный материал. Первоклассным методом диагонализации малых трехдиагональ- трехдиагональных матриц зарекомендовал себя QR-алгоритм (последний вари- вариант метода называется QL-алгоритмом, что еще увеличивает тер- терминологическую путаницу). Специалисты по численному анализу должны испытывать некоторое удовлетворение от того, что наи- наилучшим методом оказался не какой-то очевидный способ вроде степенного метода либо характеристического многочлена, либо той или иной формы метода Ньютона, а последовательность слож- сложных преобразований подобия. Понимание алгоритма улучшалось постепенно, и сейчас мы имеем элегантное объяснение того, поче- почему он всегда работает. Сначала излагается теория, а затем не менее интересные схемы реализации процесса. Из соображений эффективности QL-алгоритм обычно применяют к матрицам с ма- малой шириной ленты. Более чем на сто лет старше QR-алгоритма метод Якоби для диагонализации симметричной матрицы. Идея метода проста, и в гл. 9 освещены его узловые моменты. Должен сознаться, что я не вижу роли, которую методы Якоби могли бы играть на вычислительной сцене будущего. Эти сомнения аргументируются в последнем параграфе главы. Начиная с гл. 10, центр внимания смещается в сторону боль- больших задач, хотя материал этой главы сам по себе представляет чистую теорию матриц. В ней собраны старые и новые резуль- результаты, относящиеся к оценкам собственных значений матрицы через собственные значения ее подматриц или матриц, отлича- отличающихся от данной возмущениями малого ранга. До сих пор эти результаты были разбросаны по разным публикациям. Здесь они собраны и изложены со всеми подробностями. Это делает главу очень «питательной», но, пожалуй, трудно усвояемой при первом чтении. (В основе материала—конспекты Кахана к его различ- различным лекциям.)
14 Введение Глава 11 представляет собой очень полное описание полезного орудия, называемого процедурой Релея — Ритца, по в приложе- приложении к матрицам, а не дифференциальным операторам. В пара- параграфе 11.4 объясняется, в каких отношениях аппроксимации Ритца оптимальны, а в каких — нет. Я сам часто заблуждался на этот счет, пока не приступил к написанию книги. В следующей главе вводится специальная последовательность подпространств, называемых (без достаточных оснований) подпро- подпространствами Крылова. К ним применяется процедура Релея — Ритца. Полагаю, что для большинства читателей привлекатель- привлекательная теория аппроксимаций из этой главы будет новой. Эта теория устанавливает большой потенциал алгоритма Ланиоша для вычис- вычисления собственных значений. В главе 13 анализируются широко распространенные опасе- опасения, что округления могут помешать в сборе того богатого уро- урожая, какой обещала гл. 12. В своей неопубликованной диссерта- диссертации A971 год) Пэж показал, что эти опасения неоснова- неосновательны. Приводя доказательство основной теоремы, я пытался очистить его от мелких деталей, которые обременяют глубокий пионерский анализ, проведенный Пэжем для простого алгоритма Ланцоша. Далее изложена выборочная ортогонализация, которая представляет собой направляемую теорией Пэжа модификацию, ослабляющую весьма экономичным образом потерю ортогональ- ортогональности векторами Ланцоша—этой потери обычно очень боятся. Метод опубликован в 1978 году и продолжает совершенство- совершенствоваться. Глава заканчивается обсуждением блочных схем алго- алгоритма Ланцоша, необходимых, по всей видимости» для обработки очень больших матриц. В главе 14 рассмотрены тщательно разработанные и эффек- эффективные методы, основанные на блочной обратной итерации. Они совершенствовались физиками, инженерами и специалистами по численным методам начиная с 1960-х годов в тот период, когда алгоритм Ланцоша находился в тени. Сомневаюсь, что в буду- будущем они сохранят свое превосходство. Последняя глава посвящена обобщенной спектральной задаче. Она начинается с обсуждения тех основных свойств, которые не являются общеизвестными. Мне встречались книги, где эти свой- свойства изложены неверно. Следующий и ключевой для главы во- вопрос— это, следует ли преобразовывать данную задачу к стан- стандартной форме, явно или неявно, или не следует Еообще. Осталь- Остальная часть главы, хоть и пространная, посвящена лишь тому, как идеи и методы, развитые на протяжении книги, могут быть пере- перенесены на случай обобщенной задачи. Оба приложения кажутся мне полезными. Первое описывает элементарные матрицы; во втором перечислены наиболее полезные свойства многочленов Чебышева.
Введение 15 Время от времени возникают приложения, в которых специ- специальные обстоятельства позволяют пользоваться экономичными методами, вообще говоря, неустойчивыми или неприменимыми. Способность распознавать такие ситуации — одно из преимуществ, достигаемых при понимании предмета численных методов в его совокупности. Для больших матриц А выбор метода сильно зависит от того, какие из следующих операций осуществимы: 1. Умножение любого подходящего вектора х на А. 2. Расщепление А в сумму Н-fV, где V мала по норме, а для Н легко могут быть вычислены треугольные множители. 3. Треугольное разложение А. 4. Треугольное разложение А—ol для многих значений ст. Чем больше из операций этого списка можно выполнять для А, тем более эффективные методы можно привлечь для вычисле- вычисления ее собственных значений. В первоначальных вариантах кни- книги методы излагались в соответствии с этими операциями. Хотя я отказался от такого упорядочения, эту схему полезно иметь в виду при выборе алгоритма для конкретной задачи. В разделе 15.9.1 и параграфе 15.13 это обсуждение распро- распространяется на случай обобщенной спектральной задачи.
ГЛАВА 1 Основные сведения о самосопряженных матрицах § 1.1. Введение В этой главе мы предпримем быстрое турне по разделам ли- линейной алгебры, имеющим отношение к методам приближенного вычисления собственных значений и собственных векторов сим- симметричных матриц. Попутно вводятся соглашения о принятых в книге обозначениях, но для читателей, которые хотели бы, не останавливаясь здесь, двигаться дальше, эти обозначения указаны в списке на стр. 369. Вводные сведения могут быть полезны чи- читателям, желающим выяснить, в какой мере они владеют курсом линейной алгебры—они могут попытаться самостоятельно дока- доказать утверждения, сформулированные в ходе турне. Те же, кто предпочитает неторопливое путешествие, должны обратиться к ан- аннотированной библиографии (в конце книги) за подходящим учеб- учебником. Прежде чем начать, следует напомнить, что обозначения помо- помогают нам тем, что прячут излишнюю информацию. Всякое конкрет- конкретное обозначение удачно в той мере, в какой оно отражает необхо- необходимую часть информации. В матричных обозначениях отдельные элементы векторов или матриц оказываются скрытыми. В резуль- результате, пока такой язык не освоен, это может привести к недора- недоразумениям, но для тех, кто привык к подобным обозначениям, это очень удобно. § 1.2. Евклидово пространство В этой книге не используется абстрактное понятие векторного пространства как множества объектов, в котором выполняются некоторые аксиомы. Вместо этого мы сразу переходим к коорди- координатному представлению и берем tAn как векторное пространство всех n-мерных век тор-столбцов с действительными компонентами. Однако линейная алгебра объемлет комплексные векторы столь же легко, как и действительные, и в этой главе (и только в этой) каждое число (или скалярI' комплексное, если не оговорено про- D Объект, имеющий величину, но не имеющий направления.
§ 1.2. Евклидово пространство Вторая ось , Первая О 2 ось Рис. 1.2.1. Оси. тивоположное. По всей книге скаляры, как правило, обозначаются малыми греческими буквами—а, |3, а векторы—малыми прямыми латинскими, например х, q^ Пространство всех комплексных n-мерных векторов обозначается через %п. Для наглядности вектор х из f%2 можно представлять себе как отрезок или стрелку, направленную из выбранного начала -И- координат о к точке плоскости с координатами х = 11 | . (См. рис. 1.2.1.) Наиболее подходящей средой для задач, связанных с действи- действительными симметричными матрицами, является не просто Э1п, а n-мерное евклидово пространство, называемое ?" и представляю- представляющее собой Э1", украшенное некоторой дополнительной структурой. Отличает <§" от Э1п или %п идея о том, что любая пара векторов х и у составляет некоторый угол. Точнее, дополнительная структура, присущая ?п, есть функция скалярного произведения, которая каждой паре векторов х (с компонентами |х, ..., |п) и у (с ком- компонентами %, ..., tiJ ставит -в соответствие число, обозначаемое через (х, у) и определяемое соотношением п (х, у)—2 л/Б/. О-2-1) Всюду в книге знак =эе обозначает определение, а а—комплекс- а—комплексное число, сопряженное с а. Некоторые приложения, такие, напри- например, как анализ устойчивости конструкций, подсказывают другие, более сложные определения функции скалярного произведения; эти определения обсуждаются ниже. Однако определение A.2.1) простейшее, и оно отличает евклидово пространство от других пространств со скалярным произведением. В некоторых ситуациях, таких, как решение большинства систем линейных уравнений, нет необходимости во введении углов, и 31п является подходящей средой. Исключая следующий параграф, вся книга сфокусирована на действительном евклидовом пространстве &". Строго говоря, ?2,
18 Гл. 1. Основные сведения о самосопряженных матрицах Рис. 1.2.2. Углы между лучами и прямыми в действительном пространстве ^2. к примеру, не является множеством точек плоскости (или концов стрелок), поскольку не имеет смысла говорить об угле между двумя точками. Графически <§г есть множество всех стрелок, исходящих из некоторого выбранного начала о. Оси, к которым относят все прочие векторы, выбираются перпендикулярными (или ортогональными) друг другу. Такие содержательные понятия, как ортогональность, угол и длина, коренятся в скалярном произве- произведении и определяются в следующем абзаце. Евклидова длина, или норма, вектора х определяется как ||х| = К(хГх). A.2.2) Есть ряд других норм, которые можно ввести в *вп или Э1п, однако для <§" естественной нормой является A.2.2). Знаменитое неравенство Коши—Шварца, а именно |(х, У)|<||х||-||у|| A.2.3) для всех х, у из <?", оправдывает даваемое ниже, в A.2.4), опре- определение угла. Угол между х и у, измеряемый в радианах и обозна- обозначаемый Z.(x, у), есть действительное число 9, удовлетворяющее неравенствам О^б^я и такое, что x, у) |у|| ' V-ZA) Обычно интерес представляет не только вектор х, но и вся прямая, определяемая им, т. е. множество всех скалярных кратных х, включая —х. Мы обозначаем эту прямую через Span(x). Угол (острый) ф между направлением х и направлением у есть дейст- действительное число, удовлетворяющее неравенствам 0^ф^л/2 и такое, что Рис. 1.2.2 иллюстрирует различие между 0 и ф. В частности, два вектора х и у ортогональны, если (х, у) = 0. Вектор х назы- называется нормированным, или единичным, если |х||=1. Матрицы, всегда обозначаемые прописными буквами, обычно входят в произведения с векторами. Если F—(тхга)-матрица, a w принадлежит #", то произведение Fw принадлежит ч§т.
§ 1.2. Евклидово пространство 19 Полезно представлять себе, что F умножается на все векторы в *6п и таким образом преобразует *вп в %т. Это преобразование линейное, т. е. F (ax -fPy) =aFx -f-PFy, и в действительности любое линейное преобразование %" в %т может быть описано некоторой (/л хя)-матрицей F. Квадратную и обратимую матрицу F можно рассматривать не только как преобразование векторов в #", но и как простое изме- изменение базиса в <6п. Таким образом, Fw есть либо образ w под действием F, либо с равным основанием новые координаты того вектора, который прежде имел координаты w. Эта гибкость трак- трактовки полезна для тех, кто привык к ней, но смущает начинаю- начинающего. Широко распространено обозначение у* для вектора-строки (Ун •••> Уп)> однако, по существу операция * лишь еще одно следствие структуры евклидова скалярного произведения. Пусть F—(тхя)-матрица. Ее сопряженная матрица F* имеет размеры пхт и определяется абстрактно тем свойством, что для всех х из 4>п и и из ?т вектор F*u есть единственный вектор, удовлет- удовлетворяющий соотношению (х, F*u) = (Fx, u). A.2.6) Можно показать, что F* есть хорошо известная матрица, полу- получаемая из F транспонированием и взятием комплексного сопря- сопряжения (упр. 1.2.3). Например, если Р =—1, аир действитель- действительные, то Г» а + ФУ Г —i ОТ [о , Если произведение FG определено, то (FG)*=G*F*. A-2.7) В частности, (Fw)* = w*F*. Даже если F действительная, тот же символ F*, а не ?н или Fr, или F', может и будет использо- использоваться для обозначения транспонированной матрицы. Далее, если F квадратная и обратимая, то (F*)~1 = (F-1)*, A.2.8) и обе матрицы будем записывать просто как F~*. Матрица Р с размерами тхп, т^п, называется ортонор- мальной, если ортонормальны ее столбцы, т. е. если р*р = 1п (=1 для краткости). A.2.9) Квадратные ортонормальные матрицы называются унитарными (если они комплексные) и ортогональными (если действительные). Соблазнительно заменить эти два не слишком согласованных при- прилагательных единственным и естественным прилагательным орто-
20 Гл. 1. Основные сведения о самосопряженных матрицах нормальный. Важность этих матриц заключается в том, что ска- скалярное произведение, определяемое формулой A.2.1), сохраняется под их действием, т. е. (Рх, Ру) = у*Р*рх=у*х=(х, у). A.2.10) Если в <Вп производится ортогональная замена базиса, то коорди- координаты всех векторов умножаются на некоторую ортонормальную матрицу Р, но к счастью, значения норм и углов при этом сохра- сохраняются. В действительности, множество всех ортогональных пре- преобразований вместе с простыми переносами составляет хорошо известное множество движений евклидовой геометрии. Упражнения к параграфу 1.2 1.2.1. Вывести неравенство Коши — Шварца, заметив, что и произведя подходящий выбор для ф и |Л. 1.2.2. Даны комплексные х и у. Возможно ли выбрать вещественное 9 таким образом, что exp (t'8) x и у ортогональны? Рассмотреть A.2.4). 1.2.3. Используя в качестве х и у координатные векторы е,-, показать, что из A.2.6) следует (F*);.-= (F).7. 1.2.4. Вывести A.2.7) из A.2.6). 1.2.5. Доказать, что A.2.10) имеет место тогда и только тогда, когда спра- справедливо A.2.9). § 1.3. Собственные значения Понятия собственного значения и собственного вектора не за- зависят от длины, угла или скалярного произведения! и потому мы в этом параграфе сменим <Вп на %п. Центральную роль при изу- изучении (пхп)-матрицы В играют те специальные векторы из %п, направления которых не меняются (за исключением, возможно, знака) при умножении на В. Всякий такой вектор z должен удовлетворять равенствам Bz = z?i = ?iz, z=^o A.3.1) для некоторого скаляра %, называемого собственным значением В. Каждое ненулевое кратное вектора z является собственным век- вектором1', и к и z отвечают (или соответствуют) друг другу. По соглашению о не может быть собственным вектором. Факт 1.1. Пусть С= FBF. Если {к, г)—собственная пара для В, то {Я, Fz}—собственная пара для С. 11 Если бы мы приняли обычный символ, т. е. х, для собственного вектора, то матрица Хез(хь ...; х„) обозначалась бы симметричной буквой, что нару- нарушает одно полезное соглашение, которое будет введено в следующем параграфе.
§ 1.4. Самосопряженные матрицы 21 ОБЪЕКТ Новые координаты Старые Координаты Рис. 1.3.1. Подобное преобразование. Отображение В—+FBF называется подобным преобразова- преобразованием (короче, подобием) В. Алгебраическая точка зрения состоит в том, что подобие есть отношение эквивалентности на множестве (пхп)-матриц, которое сохраняет собственные значения и простым образом меняет собственные векторы. Геометрическая интерпрета- интерпретация факта 1.1 (и проклятье для новичков): каждая из матриц В и С представляет одно и то же (абстрактное) линейное преобра- преобразование на <6п, в то время как F определяет замену базиса в <6" (старые координаты w, новые координаты Fw). Эта связь показана на рис. 1.3. J; имеются два разных способа перехода от верхнего левого к верхнему правому углу. Характеристический полином % определяется соотношением XB(?) = det[?I-B]. A.3.2) Согласно теории линейных уравнений, A.3.1) имеет ненулевое ре- решение z, если и только если % (к) = 0. Поэтому В может иметь не более п собственных значений. Множество этих значений на комплексной плоскости составляет спектр В. § 1.4. Самосопряженные матрицы Мы возвращаемся теперь к рассмотрению (пхя)-матриц в рам- рамках <?" и сосредоточимся на матрицах, удовлетворяющих равен- равенству М* = М. A.4.1) Заметим, что A.4.1), вообще говоря, не сохраняется при произ- произвольной замене базиса в <6" или 3L". В более общем контексте, чем 4>п, линейные операторы со свойством A.4.1) называются самосопряженными, и нет нужды различать действительный и комплексный случай. К сожалению в размерности п такие матрицы называют эрмитовыми, если они комплексны, и симметричными, если действительны. В этой главе мы будем придерживаться
22 Гл. 1. Основные сведения о самосопряженных матрицах прилагательного «самосопряженный»: впоследствии мы отбросим общность и сконцентрируемся на действительных симметричных матрицах. Если не оговорено противоположное, то буквы, сим- симметричные относительно вертикальной оси, а именно А, Н, ..., Y, изображают самосопряженные матрицы. Факт 1.2. Все собственные значения самосопряженных матриц действительны. Используя факт 1.2, мы можем занумеровать собственные значения в порядке возрастания: ' Я1<Я1<...<Я„, A.4.2) и kj (М) будет обозначать /-е (снизу) собственное значение М. Любой нормированный собственный вектор, отвечающий К-, обо- обозначается через z,-; Azi = kizi, i=\, ..., п. Для больших значений и иногда удобно помечать наибольшее собственное значение без ссылки на размерность. Поэтому мы будем упорядочивать собст- собственные значения и так: Ь-в<" •<*--! <*--i- О-4-3) Таким образом, Я_, всегда является наибольшим (алгебраически) собственным значением. Факт 1.3. Если kk^k,, то (Zy, zft) = г\г} = 0. Несколько слов нужно сказать о кратных собственных значе- значениях. Соблазнительна такая интерпретация факта 1.3: различные собственные векторы самосопряженных матриц ортогональны. Рас- Рассмотрение единичной матрицы I показывает, однако, что правиль- правильная формулировка иная: собственные векторы А всегда можно выбрать попарно ортогональными. Кратные собственные значения предоставляют широкий выбор соответствующих собственных век- векторов. Если к—собственное значение А, т. е. если к = ЯДА], то под- подпространство olV\> ядро матрицы А—-к, т. е. множество всех х, таких, что (А—к)х—о, называется иногда собственным подпро- подпространством, отвечающим к. Единственный вектор в о)У\, не являю- являющийся собственным,— это нулевой вектор о. Кратность к есть размерность o)V\. (Для несимметричных матриц понятие кратности собственного значения более сложное.) Собственные подпростран- подпространства— простейшие из инвариантных подпространств (обсуждаемых в конце этого параграфа), и одно из следствий следующего факта заключается в том, что все инвариантные подпространства натя- натянуты на собственные векторы. Факт 1.4 (спектральная теорема). Всякая матрица А подобна диагональной матрице А посредством ортогонального подобия.
§ 1.4. Самосопряоктные матрицы 23 В символах A=ZAZ* = 1=1 I=ZZ*= 2 z,z?. i = 1 Z = (Zi, ..., zn) — матрица ортонормированных собственных век- векторов А. Определение. Матрица Е называется проектором, если Е2=Е. Она называется ортогональным проектором (в отличие от косого проектора), если Еу = о для всех у, ортогональных к области значений Е (обозначаемой через span Е). Условие этого просто Е* = Е. A.4.4) Для произвольной квадратной матрицы В спектральный проек- проектор Е% (иногда называемый идемпотентой) для собственного зна- значения К удовлетворяет соотношениям ВЕЯ = ЕХВ = ЛЕЯ. A.4.5) Чтобы достигнуть единственности разложения при наличии кратных собственных значений, используют собственные подпро- подпространства оЛГх или, что эквивалентно, спектральные проекторы #ь определяемые формулами х, если x?o)V\, _ .„ _,_. A.4.6) о, если х?о)У^, \1ф%. v ' Теперь спектральную теорему можно записать без какой-либо неопределенности равенствами А = 2АуН,, 1 = 2Н/> О-4-7) где суммы берутся по спектру А. Поскольку А самосопряженная, ее спектральные проекторы ортогональны, почему мы и исполь- использовали в A.4.6) и A.4.7) симметричную букву Н. Пример 1.4.1 2 1 I ~2 0 1 0 0 1 1 0 1 2 1 1 2 «i «4 О Z' 1 -1 -1 1 1 Hi H. - I 4 1 4 — — I -1 I 1 I 1 1 -1 1 1 1 1 -1 1 1 -1 1 1 1 1 1 -1 1 1 1 1 1
24 Гл. 1. Основные сведения о самосопряженных матрицах z3 и z3 определяются неединственным образом. Одна подходящая пара jLA( i; i; i)*) —A, 1, 1( 1)*; другая A/К2)A, 0, 0, -1)*, A//2)@, 1,-1, 0)*. Однако и * л. * ! определен уже однозначно и 10 0-1 0 1-10 0-Г 1 О -10 0 1 1.4.1. Инвариантные подпространства Важное следствие факта 1.4 состоит в том, что любое подпро- подпространство if из &", инвариантное относительно А, т. е. №'=3', есть просто линейная оболочка (или прямая сумма) некоторых собственных векторов. С каждым инвариантным подпространст- подпространством if связан линейный оператор А| а,, сужение оператора А на $', действие которого совпадает с действием А, но областью опреде- определения является of. Строго говоря, всякая функция характери- характеризуется как своим действием, так и областью определения, поэтому любое изменение области определения приводит к новому опера- оператору, который должен получить свое собственное имя. Можно проверить, что А|^> самосопряжен и его собственные значения и собственные векторы представляют собой подмножества соответ- соответствующих спектральных элементов А. 1.4.2. Эрмитовы матрицы Закончим этот параграф практическим замечанием. Факт 1.5. При вычислении собственной системы эрмитову матрицу Н можно заменить действительной симметричной матри- матрицей Й удвоенного порядка. (См. упр. 1.4.6.) Факт 1.5 полезен в двух ситуациях: не только тогда, когда нет в наличии программ для комплексных эрмитовых матриц, но и тогда, когда такие программы есть, но комплексные арифмети- арифметические операции реализованы неэффективно. По этому поводу нужно проконсультироваться у специалистов местного вычисли- вычислительного центра. Если комплексная арифметика реализована хо- хорошо, то программы, действующие с исходной эрмитовой Н, должны быть вдвое быстрее, чем программы для действительных симмет- симметричных матриц, работающие с Н.
LI. Квадратичные формы _25 Упражнения к параграфу 1.4 1.4.1. Найти 2x2 комплексную симметричную матрицу (иеэрмитову) с ком- комплексными собственными значениями. 1.4.2. Доказать факт 1.2, рассматривая z{Az,\ 1.4.3. Доказать факт 1.3, рассматривая z^Azy. 1.4.4. Проверить факт 1.4 для матрицы А=/ог ВЫЧИСЛИТЬ Ej^ZxZ] И E2 = Z2Z2. 1.4.5. Показать, что ранг (Еу) = размерность (df/) = mj- Заметить, что ранг (Еу) = след (Еу). Использовать тот факт, что Е? = Еу и след (ВС) = след (СВ). п След (F)s 2^//- 1.4.8. Пусть Н = М+Й> эрмитова (/•=—1), и пусть Н % действительное. Проверить, что матрица н Г м ~ s симметрична и имеет собственные векторы и , отвечающие X. И - [" 1.4.7. Использовать факт 1.3 для доказательства того, что спектральный проектор ортогонален, если А самосопряженная. 1.4.8. Показать, что Щ = ]!>j Zj-z?, где {zj— произвольный ортонормиро- ваиный базис 1.4.9. Показать, что если ?f — подпространство, инвариантное относи- относительно А, то любое собственное значение А 1^ является собственным значе- значением А. Пусть {ги .... гп}~базис <§"*, состоящий из собственных векторов. Всегда ли верно, что некоторое подмножество множества {z1( ,,,, гп\ есть базис <^? § 1.5. Квадратичные формы Самосопряженные матрицы появляются естественным образом при изучении чисто квадратичных форм (или функций), не содер- содержащих членов низшей степени; в общем виде п п г|;(х) = х*Ах= 2 ^ й,Ь;. A.5.1) Эти формы часто описывают тот или иной вид энергии системы, будь то атом или небоскреб. Линейные обратимые згмены пере- переменного, скажем х —»• у = Fx, имеют следствием изменение формы, т. е. уАу A.5.2)
26 Гл. 1. Основные -сведения о самосопряженных матрицах для всех х, если и только если A = F»AF. A.5.3) Отображение А —>• F*AF называется конгруэнтным преобразова- преобразованием А; будем говорить, что А конгруэнтна А. Эти преобразо- преобразования сохраняют самосопряженность, но, вообще говоря, не со- сохраняют собственные значения. Тем не менее конгруэнции все же в некотором смысле сохраняют знаки (±) собственных значений. В этом—суть следующего факта: Факт 1.6 (теорема Сильвестра об инерции). Каждая матрица А конгруэнтна некоторой диагональной матрице вида diag(In, — lv, О?), где числовая тройка (я, v, ?) зависит лишь от к. и на- называется инерцией матрицы А. При этом л, v, ? суть соот- соответственно число положительных, отрицательных и нулевых собственных значений А. Вдобавок, п-\-\ = ранг (А), A.5.4) я—v =; сигнатура (А). Факт 1.6 показывает, что две самосопряженные матрицы кон- конгруэнтны тогда и только тогда, когда они имеют одинаковую инерцию. Среди квадратичных форм есть такие, которые строго положи- положительны для всех ненулевых векторов: \р (х) > 0, если х Фо. Такие формы и связанные с ними самосопряженные матрицы называются положительно определенными. [Слово «определенный» служит для того, чтобы отличать эти матрицы от просто положительных, т. е. матриц В, таких, что bif>0 для всех i, /.] Если \р(х)~^О для всех х^о, то г); и ее матрица называются положительно полу- определенными. Если \р(х) принимает и положительные, и отри- отрицательные значения, то она является неопределенной формой. Факт 1.7. Следующие утверждения эквивалентны: 1. А положительно определена. 2. А имеет инерцию (п, О, 0). 3. Собственные значения А положительны. 4 А имеет единственный множитель Холесского С, т. е. верх- верхнюю треугольную матрицу с положительными диагональ- диагональными элементами, удовлетворяющую уравнению А = С*С (см. гл. 3 о треугольной факторизации). В общем случае проверка 4 проще проверки любого из остальных трех условий.
§ 1.5. Квадратичные формы 27 N1 Рис. 1.5.1. Геометрический смысл невязки. Чисто квадратичная форма \|з является однородной функцией степени 2: г|5(ах) = а2\|з(х). Следовательно, не будет потери ин- информации, если ограничиться рассмотрением ее значений на еди- единичной сфере в 4>п. Новая функция есть отношение Релея р и определяется обычно формулой Факт 1.8. Отношение Релея обладает следующими основными свойствами: Однородность: p(au) = p(u), a^O (степени 0). Ограниченность: р(и) заключено в интервале [Ки А._,], когда и пробегает множество всех ненулевых «-векторов. Стационарность: р (и) стационарно в точке и (т. е. градиент р есть о*), если и только если и—собственный вектор А. Отношение Релея играет большую роль при вычислении соб- собственных значений и собственных векторов и более подробно обсуждается в гл. 4. Однако одно важное свойство стоит упомянуть уже теперь. Для произвольного и^о определим специальный вектор не- невязки г (и) соотношением r(u) = [A-p(u)]u. A.5.6) Рис. 1.5.1 иллюстрирует тот факт, что Au = p(u)u + r(u) A.5.7) есть ортогональное разложение Аи. Другими словами, Факт 1.9 (свойство минимальной невязки). Для любого и из S" каково бы ни было ц из
28 Гл. 1. Основные сведения о самосопряженных матрицах Упражнения к параграфу 1.5 1.5.1. Представить х*Ах суммой квадратов. 1.5.2. Найти инерцию матрицы [10 1 —14П 1 17 —4 . -14 -4 20 J ицы Г2 1 01 1 1 I . Lo I -1J 1.5.3. Показать, что матрица В*В положительно полуопределена для лю- любой (тхп)-матрицы В. Когда В*В будет положительно определенной? 1.5.4. Показать, что собственные значения положительно определенной матрицы положительны. Верно ли обратное? 1.5.5. Показать, что треугольное разложение единственно, если существует. Здесь L—нижняя треугольная с единицами на диагонали, а Д — диагональная матрица, 1.5.6. Доказать факт 1.8. Для третьего утверждения представить и в виде u = z-f-6w, где w*z = 0, ||w||=l, Аг = гЯ, и положить е—>-0. 1.5.7. Для матрицы А, указанной в примере § 1.4, и и = A, 1, 1, 0)*/ У~3 вычислить р(и) и ||r(u)||. 1.5.8. Показать, что если Аг = гЯ, то р(г; А)=Я. § 1.6. Матричные нормы Имеется специальная матричная норма, связанная с евклидо- евклидовой нормой векторов, именно |||| ^гв-В]) . A.6.1) Она называется спектральной или граничной нормой. Это наимень- наименьшая норма, удовлетворяющая полезному неравенству |]Ви|<норма(В)||и|| A.6.2) для всех u€^". К сожалению, вычислять ее непросто. Другая норма, которая также удовлетворяет A.6.2) и является простой функцией матричных элементов,— это норма Фробениуса (или Шура, или Гильберта—Шмидта): [п П "[1/2 2 2|Ы2 • С1-6-3)
§ 1.6. Матричные нормы 29 Для произвольной (/пх«)-матрицы В при |ВК|В|г<Кранг (В)|В|^Кп||В||. A.6.4) Если В = А = А*, то |А| = тах {| А.х|, |А.„|}== спектральный радиус А, A.6.5) Следующий факт показывает, что последовательность унитарных Преобразований не меняет обе нормы. Факт 1.10 (унитарная инвариантность норм). Для того чтобы при любой (тхп)-матрице В выполнялись равенства |JBGfH|B||, необходимо и достаточно, чтобы J и G были ортонормальны, т. е. J J = J J = lm, G G = Обе нормы участвуют в следующих полезных неравенствах. Факт 1.11 (собственные значения обусловлены превосходно). *|А-М1, Последнее неравенство называется неравенством Виландта—Хоф- фмана. Элементарное, хотя и длинное доказательство можно найти в книге [Wilkinson, 1965, гл. 3]. Первое неравенство доказано в гл. 10. Часто его интерпре- интерпретируют следующим образом: каждое собственное значение само- самосопряженной матрицы превосходно обусловлено, т. е. (абсолютное) изменение собственного значения не превосходит (абсолютного) изменения матрицы. Другими словами, задача вычисления соб- собственных значений самосопряженных матриц всегда корректно поставлена; решение надежно определяется входными данными. Не так обстоит дело для некоторых несимметричных матриц. Для собственных векторов ситуация более деликатна. Пусть Az = za, Ms = Sfx. Если fx отделено расстоянием у от собственных значений А, не совпадающих с а, то Факт 1.12. |sin^/(z, s)|<JA —МЦ/у. Этот факт и некоторые его обобщения устанавливаются в гл. 11. В этих оценках замечательно то, что они не являются асимп- асимптотическими; здесь нет требования, чтобы «возмущение» М—А
30 Гл. 1. Основные сведения о самосопряженных матрицах было мало. С другой стороны, при отсутствии отделенное™ соб- собственные векторы могут быть очень чувствительными функциями входных данных. Предположим, что элементы А являются функ- функциями параметра /. Если А (/„) имеет кратное собственное значе- значение, то нет гарантии, что нормированные собственные векторы непрерывным образом изменяются в окрестности t0: Это показы- показывает следующий пример, сконструированный Гивенсом. .. ' .... Г 1-И cos B//) /sin B11) 1 Матрица: А@=[ /sinB//) 1-/cos B/0 J • Спектр: {1-М, 1 — /}. г * [cos A//)] Г sin A/01 Собственные векторы: [sin j^jj . [_Cos(l/o|- При /—+0 собственные векторы плотно распределены в еди- единичном круге плоскости, а при / = 0, А @) = I собственные век- векторы заполняют единичный круг (упр. 1.6.8). Разрыв при / = 0 в формуле для собственных векторов не сле- следует истолковывать как указание на патологическую ситуацию. Он сигнализирует попросту, что два различных собственных на- направления объединились, чтобы породить собственную плоскость, в которой никакая отдельная пара векторов не отличается от любой другой. Эти замечания наводят на мысль, что если имеется группа очень близких собственных значений, то гораздо больший смысл имеет вычисление произвольного ортонормнрованного базиса в ин- инвариантном подпространстве, отвечающем этой группе, чем вычис- вычисление отдельных собственных векторов для каждого собственного значения. Но где провести границу между просто близкими и очень близкими собственными значениями? Упражнения к параграфу 1.6 1.6.1. Доказать, что || А || = || А \\р тогда и только тогда, когда A = uu* для некоторого и. 1.6.2. Доказать A.6.5), используя факт 1.4. 1.6.3. Показать, что || В \\р есть евклидова норма В в яа-мерном простран- пространстве (пхл)-матриц. 1.6.4. Доказать A.6.1), используя факт 1.4. 1.6.5. Доказать факт 1.10. 1.6.6. Доказать, что для каждого / найдется k, такое, что |Ху[А] — Х^[М]|< <||А— М||. Записать для этого: А—М = Н, М = РЛР*, и использовать то обстоятельство, что определитель (М+Н—а) обращается в нуль, если а— = Х/[А]. Нужно использовать также факт 1.6. Этот результат есть специаль- специальный случай теоремы Бауэра—Файка: пусть дана B=G~1AG, где Д = diag F^ ..., 6„), тогда для каждого 6/ найдется собственное значение ц матрицы
§ 1.7. Обобщенная проблема собственных значений Ш+С, такое, что |ц—ey|<||G(|||G~1|||C||. Дополнительным фактом в само- самосопряженном случае является то, что соответствие между ц и бу взаимно- взаимнооднозначное. 1.6.7. Проверить факт 1 12 для Г2П м ГО Ч м П [ M[ j ИМ[ 1.6.8. Вычислить один и тот же собственный вектор матрицы A (t) (по указанной в тексте формуле) для ?=10~3 и t=\0~i. На какой угол повер- повернулся собственный вектор? Здесь может помочь карманный калькулятор 1.6.9. Определим ||В||*ив ^) Х_/|В*В]. Показать, что j|Bj|» является унитарно инвариантной матричной нормой. § 1.7. Обобщенная проблема собственных значений Задачи, возникающие во многих разделах естествознания, включают в себя две квадратичные формы. В механике, например, и (/) может обозначать состояние некоторой системы, и — ее про- производную по времени, u*Mu — ее кинетическую энергию, a u*Au — потенциальную энергию. Законы физики утверждают, что в от- отсутствие внешних сил действительное состояние и будет мини- минимизировать отношение этих энергий. Следовательно, ключевой функцией в задачах с двумя квадратичными формами А и М является отношение Релея, определяемое для всех и^=0 фор- формулой u*Au p(u) = p(u; А, М)= изМ (М положительно определена). A.7.1) Оказывается, что р стационарно в точке z тогда и только тогда, когда (А—ЯМ)г = о A.7.2) для некоторого скаляра Я. Будем говорить, что (к, г) есть соб- собственная пара для пары форм, или пучка (А, М). Факт 1.8 со- сохраняет справедливость для р(и; А, М), если либо А, либо М, либо некоторая линейная комбинация aA + fxM положительно определены. Мы будем считать впредь, что положительно опре- определена матрица М. Надлежащей средой для этой задачи оказывается уже не &п, а пространство в?" со скалярным произведением, представляющее собой <ёп (или Э1п), в котором введено скалярное произведение (х, у) = у*М~ах или (х, у) = у*Мх. A.7.3)
32 Гл. 1. Основные сведения о самосопряженных матрицах Такие фундаментальные величины, как длина и угол, опреде- определенные соотношениями A.2.2), A.2.4), A.2.5), принимают новые значения, если вместо обычного евклидова взято скалярное про- произведение A.7.3), однако спектральная теорема и большая часть параграфа 1.4 распространяются на пучки (А, М) с положительно определенными М. Говоря абстрактно, эта задача никак не отличается от стан- стандартной проблемы собственных значений (одно скалярное произ- произведение ничем не хуже другого), но на практике присутствие М усложняет задачу и увеличивает стоимость ее решения. В гл. 15 эта проблема исследуется более подробно.
ГЛАВА 2 Задачи, помехи и средства § 2.1. Что мало? Что велико? В 1954 г. был изобретен язык программирования Фортран, вследствие этого у программиста появилась возможность одина- одинаково легкого доступа к любому элементу матрицы А посредством простой записи А (/, /). Каждая вычислительная система может располагать квадратные матрицы до определенного порядка как обычные двумерные массивы. Это так называемые хранимые матрицы. Естественно, точная верхняя грань для порядков таких матриц меняется от системы к системе, однако смысл прилага- прилагательного „малый"u всегда тот, что все матричные элементы до- доступны одинаково и быстро. Для большинства ЭВМ, используе- используемых в научных • расчетах, заполненная матрица порядка 50 яв- является малой. Теперь, когда для большинства задач на собственные значе- значения для малых симметричных матриц имеются удовлетворительные методы, внимание переключилось на более трудные вопросы. Будем говорить, что матрица большая, если лишь часть ее может храниться единовременно в быстродействующей памяти. Однако порядок матрицы—слишком- грубая мера запросов к памяти. Симметричная матрица А порядка 400 с полушириной ленты 30 (т. е. .а/у = 0 при | i — }\ > 30) — мала для многих вычислительных систем, в то время как симметричная матрица порядка 200 со случайным расположением нулевых элементов большая. Более точны были бы фразы: „допускающая обычное хранение" и „не допускающая обычное хранение", но мы предпочтем простые слова малый и большой. Оказывается, что большие матрицы, как правило, являются разреженными (большая часть их элементов—нули), но, как ука- указано выше, идет в расчет лишь то, насколько легко можно ис- использовать расположение нулевых элементов. Такое свойство, как ленточность с малой шириной лентыв), слишком ценно, чтобы им пожертвовать. 11 По отношению к порядку матричной задачи.— Прим. перев. 2) Полуширина ленты матрицы А определяется как тах|(^/| по тем i, /, для которых aij Ф 0.
34 Гл. 2. Задачи, помехи и средства Рис. 2.1.1. Портрет разреженной матрицы Ключевой фактор при обработке больших разреженных мат- матриц—это способ, выбранный для представления их ненулевых элементов. Например, очевидной возможностью является состав- составление списка ненулевых значений и приписывание каждому та- такому значению atj пяти целых чисел т, I, j, k, I, где т—положение этого элемента в списке, k указывает поло- положение следующего ненулевого элемента строки /, а /—следую- /—следующего ненулевого элемента столбца /. Имеются более удачные ехемы, однако мы не будем вдаваться в этот вопрос, хотя он и является важной гранью эффективности, с которой могут об-
§ 2.2. Задачи 35 рабатываться разреженные матрицы. Хорошее введение в этот предмет дано в книге [Jennings, 1977], см. также [Bunch, Rose, 1976]. На рис. 2.1.1 показана разреженная матрица. § 2.2. Задачи С математической точки зрения, книга посвящена единствен- единственному предмету—вычислению собственных значений и собственных векторов симметричных матриц. Однако, как только мы перехо- переходим к деталям и сталкиваемся с вопросами эффективности, это внутреннее единство уступает место мозаике различных задач. В известной степени ситуация такова, что метод, наилучший для одной задачи, оказывается непригодным для другой, и этот факт ведет к неприятному изобилию программ. Прежде чем перечислить некоторые типичные запросы, дающие ощущение предмета, нужно подчеркнуть особенность сегодняшних задач, отличающую их от задач 1950-х годов. Результаты многих (хотя и не всех) матричных вычислений не представляют самостоятельного интереса. Они являются просто промежуточными величинами, необходимыми в более широком вы- вычислительном процессе. 1. Найти наименьшее собственное значение ^ifF*F], где F = = (fi, ..., fft). IIf/1=1. ?'=1. • ¦•> k, с двумя верными значащими цифрами. Число К A,t является простой мерой линейной незави- независимости векторов ff. 2. Найти с рабочей точностью все собственные значения (но не собственные векторы) малой матрицы А. Такая необходимость возникает, к примеру, в ходе вычисления нескольких собствен- собственных значений больших матриц. В некоторых случаях при анализе электросетей нужны все kt [Cullum, 19791. 3. Найти р наименьших (самых левых) собственных значений большой матрицы А и соответствующие собственные векторы с точ- точностью до 4 значащих десятичных цифр. Такие задачи (/?=¦= 30, п = 6000) встречаются в расчетах модели оболочки ядра. 4. Найти р наименьших (самых левых) собственных значе- значений kj и соответствующие собственные векторы z, для пучка (А, М), т. е. удовлетворяющие равенствам (А—k,M)zt = 0, t = l, ..., р. При анализе мостов, зданий, летательных аппаратов, ис- испытывающих малые смещения от положения равновесия, каждое z, изображает форму нормальной моды колебания, a Vkt—частоту, соответствующую этой моде. Кроме того, если и (/) обозначает смещение структуры в момент времени t, то u*Au дает потен-
36 Гл. 2. Задачи, помехи и средства циальную энергию (или энергию деформации), a uMu—кинети- uMu—кинетическую энергию системы. Здесь и—производная и. На практике А и М сами являются приближениями, и потому большие собственные пары не имеют физического смысла. 5. Найти все собственные значения, принадлежащие данному интервалу, и соответствующие им собственные векторы. Подобные задачи встречаются, например, при моделировании течений Атлан- Атлантического океана [Cline,. Golub, Platzman, 1976], а также при проверке конструкций на способность выдерживать локальные землетрясения. 6. Чтобы выделить значимые переменные в статистическом ана- анализе, полезно найти несколько наибольших собственных пар кор- корреляционной матрицы FF»/(m — 1), где F—(пхт)-матрица и 1^ § 2.3. Противоречивые требования Одна из привлекательных особенностей изучения численных методов—это исследование того, насколько различные методы удовлетворяют взаимно несовместимым требованиям из следую- следующего списка: надежность, надлежащая точность, быстрота испол- исполнения, малые запросы к памяти, краткость программы. В кон- конкретной вычислительной задаче одно или несколько из этих требований могут отсутствовать. Стремительное развитие машинной технологии постоянно на- нарушает баланс между этими пятью целями, и так, несомненно, будет и впредь. 2.3.1. Надежность По мере того как вычислительные задачи усложняются, рас- растет вероятность того, что данный метод может „не сработать". Сама по себе осечка не предосудительна; в самом деле, она может быть единственным разумным ответом на незаконное требование, например, извлечения действительного квадратного корня из отри- отрицательного числа или разложения по Холесскому неопределенной матрицы. Большой грех для метода—солгать, выдать результаты, на вид вполне разумные, но в действительности совершенно не- ве рные. Численный метод или программу можно рассматривать как функцию, отображающую вход в выход. В этом смысле пользо- пользователь имеет дело с областью определения метода, т. е. множе- множеством матриц, для которых метод работает. Иногда область опре- определения неизвестна, и тогда осечку можно трактовать как обна- обнаружение конкретного множества данных (например, некоторой
§ 2.3. Противоречивые требования 37 матрицы), не принадлежащего области определения метода. Надеж- Надежность связана также с тем способом, каким осечка сигнализи- сигнализируется внешнему вычислительному процессу: сообщение, преры- прерывание или какая-то промежуточная мера. Конечно, пользователь хотел бы иметь методы с широкими и аккуратно описанными областями определения. Можно ли удов- удовлетворить пользователя, зависит от задачи, мощности метода и полноты его анализа. 2.3.2. Точность На первый взгляд кажется разумным искать методы, способ- способные давать результаты любой желаемой точности. Можно на- надеяться при этом, что результаты с малой точностью будут стоить меньше, чем результаты с высокой точностью. На практике, од- однако, численные методы работают иначе. Во-первых, такая гибкость может оказаться невозможной. Собственные значения и собственные векторы матрицы сильно взаимосвязаны. Вполне вероятно, что принятие приближенного значения для ^шах, имеющего 2 десятичных знака, может за- затруднить или даже воспрепятствовать получению приближенного значения для кт]п той же точности, и так далее. Во-вторых, схема представления чисел в большинстве ЭВМ очень жесткая; арифметика выполняется в режиме с плавающей точкой с фиксированной точностью, которая в большинстве слу- случаев эквивалентна 7, 14 или 16 десятичным разрядам. Иногда доступны операции с удвоенной точностью. Собственные значения симметричной матрицы А суть непре- непрерывные функции элементов А, и это же верно для собственных векторов, отвечающих изолированным собственным значениям. Для малых матриц А главным источником ошибки являются округления, и методы, которые будут описаны, обычно дают ре- результаты, точные для матрицы А + Н при некоторой неизвест- неизвестной Н. В любом случае мы рассчитываем, что где е—относительная точность арифметики. Это сильное и прос- простое утверждение, которое, однако, мы не можем подкрепить до- доказательством. Чтобы получить строгую оценку, нужно заменить п не вполне определенной неинформативной функцией от п, зави- зависящей от деталей конкретного метода. Эта функция отражает трудность анализа не в меньшей степени, чем реальную возмож- возможность роста ошибки. Во всяком случае, согласно факту 1.11, ошибка в вычислен- вычисленном собственном значении ограничена величиной ||Н||, и по боль- большей части такая точность значительно превосходит нужную. По поводу этой, казалось бы, чрезмерной точности следует сделать
38 Гл. 2. Задачи, помехи и средства два замечания. Экономия, достигаемая принятием менее точных результатов, незначительна, и, во-вторых, стоимость малых мат- матричных вычислений непрерывно уменьшается. Все собственные значения матрицы порядка 50 можно вычислить менее чем за 1 доллар по курсу 1970 г. Для очень больших матриц (п > 1000) ситуация совершенно иная. Точность результатов уже не определяется ошибками округ- округлений, а используемые в настоящее время итерационные методы сходятся подчас очень медленно. Здесь есть большой стимул для методов, способных давать желаемую точность и не более того! 2.3.3. Быстрота исполнения Это традиционный критерий сравнения двух методов, каждый из которых надежен. По историческим причинам стандартной мерой времени исполнения является число необходимых умноже- умножений. В сложных вычислительных системах, многопроцессорных, с разделением времени, с оптимизирующими трансляторами, число умножений стало к 1975 г. значительно менее убедительной ха- характеристикой, чем оно было в I960. Однако оно все же сохра- сохраняет некоторое значение, и большие различия в числе операций (/г4 по сравнению с п3 операциями) будут отражены в стоимости исполнения, хотя и не слишком резко. С развитием машинной технологии время, необходимое для выполнения одного умножения, сократилось (с 10~3 с в 1955 г. до 10~в с в 1970), вследствие чего продолжительность малых матр-ичных вычислений по-видимому упала ниже той черты, за которой она заслуживает внимания. Хотя так обстоит дело на больших ЭВМ, картина может значительно измениться по мере того, как все больше малых вычислений выполняется на мини- процессорах, настольных машинах и даже на ручных калькуля- калькуляторах. Возможно, наступит день, когда выборка данных из па- памяти потребует большего времени, чем умножение. 2.3.4. Малые запросы к памяти По мере развития накопительных устройств этот критерий претерпевал огромные изменения. Поначалу, в районе 1950 г., он имел первостепенное значение. С изобретением больших C2 000 ячеек) накопителей на ферритовых сердечниках он, казалось бы, исчез (около 1960 г.), а затем с появлением больших матричных задач и малых машин обрел прежнюю силу. Для малых матриц важно число необходимых (п хп)-массивов, а также то, нужно ли сохранять исходную матрицу А. Для боль- больших матриц важно число я-векторов, которые требуется хранить в быстродействующей памяти.
§ 2.4. Арифметика конечной точности 39 2.3.5. Краткость программы Это свойство алгоритма, с одной стороны, входит в ту же ка- категорию, что и запросы к памяти. Тем не менее в двух контекс- контекстах оно выступает отдельно. Поскольку надежные программные библиотеки, начавшие появляться в 70-х годах, содержали все большее и большее число программ, составители этих библиотек были вынуждены обратить внимание на проблему бесконтроль- бесконтрольного размножения. Каким облегчением было бы наличие про- программы, способной решать все виды задач на собственные зна- значения для малых симметричных матриц, даже если для любой из них эта программа неоптимальна! Этот трудный вопрос далеко еще не разрешен и относится скорее к области математического обеспечения, чем к численному анализу. Другая ситуация, где очень важна длина программы,— ручной калькулятор, программы которого должны укладываться в 100 или 200 шагов. Несомненно, что в скором времени возникнет потребность в выполнении малых матричных расчетов на настоль- настольных машинах. С другой стороны, во многих научных вычислительных лабо- лабораториях на длину программы нет никаких ограничений. § 2.4. Арифметика конечной точности Рассмотрим представление числа 101ол= 10пх0.314159265... в числовой системе, допускающей лишь 5 десятичных разрядов в дробной части чисел. Многие цифровые машины попросту от- отбрасывают лишние разряды, что приводит к усеченному значению абсолютная ошибка относительная Ю1Олусеч = 0.31415x10" 0.93хЮв 0.29хЮ. Более точное, но и более дорогостоящее приближение—округ- приближение—округленное значение абсолютная ошибка относительная A010л)окр = 0.3141бхЮи —0.73x10? —0.23x10-^. Однозначность представления этих чисел достигается путем их нормализации: дробная часть меньше единицы и имеет нену- ненулевой старший разряд. Что можно сказать в общем случае о величине неизбежных ошибок округления в такой системе? Минутное размышление показывает, что верхняя граница абсолютной ошибки должна включать в себя абсолютную величину числа, в то время как верхняя граница~относительной ошибки нормализованного числа не зависит от его величины. Поэтому обычно проще обсуждать
40 Гл. 2. Задачи, помехи и средства относительную ошибку. Например, в использованной выше 5-раз- 5-разрядной системе относительная ошибка при усечении всегда меньше чем 10~4 (по абсолютной величине). Эта оценка уменьшается вдвое, если результаты округляются. (Тот факт, что большин- большинство ЭВМ работает с числами, представленными по основанию 2 или 16, а не 10, несуществен для обсуждаемых здесь вопросов.) Рассмотрим теперь основные арифметические операции + , —. X, /, применяемые к нормализованным машинным числам. Для большей конкретности предположим, что числа записаны в деся- десятичной системе с плавающей точкой, причем показатели никак не ограничены, а в дробной части 5 разрядов. Даже если бы арифметическим устройством был получен точный результат сло- сложения или умножения, машине пришлось бы округлить или усечь его при записи в память. Таким образом, лучшее, на что можно надеяться, это то, что относительная ошибка каждой арифмети- арифметической операции ограничена величиной 10~4. Это число 10~4, или его аналог для произвольной конкретной ЭВМ называется единичной ошибкой округления или относительной точностью ма- машины и обозначается через е. Система, которую мы обсуждаем, называется арифметикой с плавающей точкой, потому что правильные показатели резуль- результатов устанавливаются автоматически арифметическим устрой- устройством. (В 1950-х годах некоторые машины предоставляли эту черную работу программисту и работали в режиме с фиксиро- фиксированной точкой.) Полезно принять обозначение И (С) для храни- хранимого результата произвольного вычисления С. Читать это обо- обозначение нужно так: «результат вычисления С в арифметике с плавающей точкой». Единичная ошибка округления е для любой машины может быть теперь точно охарактеризована определением е = минимальное ?, для которого Чтобы устранить отвлекающие детали, будем использовать следующую простую модель. Каждая из основных арифметических операций выполняется арифметическим устройством точно. Единственная ошибка воз- возникает, когда результат записывается в память. Реальное поведение многих цифровых машин не соответствует этой модели; однако их отклонения от нее несущественны для анализа чувствительности описанных в этой книге методов к опас- опасностям, связанным с ошибками округлений. Наша модель ведет к некоторым очень простым соотношениям, на которых основан анализ ошибок. Пусть а и |3—произвольные нормализованные числа с плавающей точкой, и пусть П обозна- обозначает любую из операций +. —, X, /; тогда Н(аПЭ) = (аПЭ)A+Р) Ф?=0 для операции /), B.4.1)
§ 2.4. Арифметика конечной точности 41 где относительная ошибка р является сложной функцией от а, Р, ? и точности арифметики. Тем не менее р удовлетворяет не- неравенству |р|<8, B.4.2) где е—единичная ошибка округления, независящая от а, р и Q. Суть анализа ошибок в том, чтобы мажорировать р посредством е и получить этим путем простые, хотя и пессимистичные оценки ошибок, насколько возможно не зависящие от входных данных. Нужно отметить, что абсолютная и относительная ошибки не являются конкурентами. В более сложных вычислениях абсолют- абсолютные ошибки отдельных частей необходимы, чтобы оценить отно- относительную ошибку целого. Основное соотношение B.4.1) можно интерпретировать различными способами, каждый из которых справедлив и полезен в соответствующем случае. Например, в окрестностях аир найдутся некоторые вещественные числа а = аA+р) и р==РA-|-р), не обязательно являющиеся «машин- «машинными» числами, которые связаны сайр следующим образом: fl(ap B.4.3) В каждом случае вычисленный результат рассматривается как точный для операции со слабо возмущенными данными. Эта интер- интерпретация может быть очень полезной и носит название обрат- обратного анализа. Ее цель — уравнять в правах ошибки округлений и неопределенность во входных данных. Посредством этого под- подхода Уилкинсон дал доступный и строгий анализ ошибок для большинства методов, используемых в вычислениях с малыми матрицами. Необходимо взглянуть на некоторые из более ранних попыток проанализировать влияние округлений, чтобы оценить огромные упрощения, которые он внес в предмет. Более стандартный подход, при котором попросту оценивается ошибка конечного или промежуточного результата, называется прямым анализом. Эти два подхода не соперничают, и успех обычно приходит на пути разумного сочетания обоих методов. Всеобъемлющее и элементарное изложение анализа ошибок дано в книге [Wilkinson, 1964], поэтому, мы надеемся, читатель извинит нас, если мы ограничимся неформальным обсуждением нескольких важных вопросов.
42 Гл. 2. Задачи, помехи и средства § 2.5. Взаимное уничтожение Вычитание в подлинном смысле слова происходит при вычис- вычислении разности двух чисел одинакового знака, например плюса. Существует широко распространенное заблуждение, что вычитанию очень близких чисел свойственна прирожденная неточность, в огромной степени увеличивающая относительную ошибку. Это явле- явление называют катастрофическим взаимным уничтожением1'1. Как и в большинстве заблуждений, в этом есть своя доля правды; однако вот простой факт: ошибка при вычитании нор- нормализованных чисел с плавающей точкой, имеющих одинаковые показатели, равна нулю. Так, П @.31416x10»—0.31415х Ю11) = 0.10000хЮ7. А что если близкие числа имеют смежные показатели? Согласно нашей модели, будет сформирован точный результат, который для своего представления потребует не более 5 разрядов (скорее всего, меньше). Так, например, П @.10012хЮ-«—0.99987 х10-8) = 0.13300х10-п, и снова нет никакой ошибки. В этом месте мы должны сделать краткое отступление, чтобы отметить, что наиболее существенной особенностью, которая не позволяет многим машинам (включая машины фирмы Control Data) соответствовать нашей простой модели, является отсутствие за- запасного разряда. Запасной разряд—это дополнительный разряд в нижнем конце арифметического регистра, назначение которого — сохранить младший знак, который иначе при выравнивании деся- десятичных точек будет потерян. Без запасного разряда конечная цифра 7 в примере 2.5.1 теряется и относительная ошибка ста- становится огромной. Пример 2.5.1 о —0.10012 хЮ~8 р=.0.09998[7]хЮ-8 0.00014 хЮ"8 = 0.14х Ю~п (после нормализации) Абсолютная ошибка: —Ь.70хЮ~13, Относительная ошибка: —О.бЗхЮ»—500е!! Для машин без запасного разряда имеет место неестественное положение, при котором относительная ошибка вычитания очень близких чисел обычно есть 0, но при различающихся показате- показателях может подчас достигать 9(«105е!). На таких машинах и 1) Читатель не явйдет упоминания о таких катастрофах в элегантных теориях Р. Тома. [См. Zeeman, 1976.]
§ 2.5. Взаимное уничтожение 43 в подобных особых случаях оценка B.4.2) полностью отказывает. Тем не менее все же верно, что где Так, в рассмотренном выше примере а = 0.100127x10"8. Вернемся к нашей модели, в которой вычитание близких чисел всегда производится точно. Числа аир часто, хотя и не всегда, являются результатом предыдущих вычислений и тем самым обладают унаследованной неопределенностью. Когда происходит взаимное уничтожение, то велика именно относительная неопре- неопределенность разности, а не относительная ошибка вычитания. Это различие отнюдь не академическое; иногда близкие числа точны, и их разность не содержит ошибки. Явление взаимного уничто- уничтожения не ограничено машинной арифметикой и может быть вы- выражено следующим формальным образом. Пусть 0<р<а, Р»а, и пусть т]а и щ—относительная неопределенность в а и р соот- соответственно; тогда «A +ТЬ) где )а—ртK)/(а— В точной арифметике коэффициент увеличения а/(а—р) может быть произвольно большим, но в нашей десятичной системе он ограничен числом 10/е. К этому нужно добавить следующее. Если а и р* были полу- получены в результате предшествующих вычислений, то информация, содержавшаяся в младших разрядах, утрачена при предыдущих операциях записи. Именно об утерянной информации мы и скор- скорбим в случае взаимного уничтожения. Те утраченные разряды прежде казались маловажными в сравнении с а и р. Не следует винить вычитание; оно просто указывает на потерюп. Нижесле- Нижеследующие примеры иллюстрируют эти замечания. *> Древние спартанцы, как я слышал, имели обыкновение казнить вест- ннка, по несчастью принесшего плохие новости.
44 Гл. 2. Задачи, помехи и средства Пример 2.5.2 В нашей простой модели арифметики относительная ошибка в числе П(а-)-р') ограничена единичной ошибкой округления е. Однако, относительная ошибка числа fI (a-f-Р* + ?) может дости- достигать 1. Возьмем а=1, р=1017 и у — —1017. При первом сложе- сложении П («-f-p*) дает р* (а аннигилировало); при втором fl ф + у) при- приводит к полному взаимному уничтожению. Этот пример показы- показывает также, что ассоциативный закон сложения не выполняется. Вычисление 1\(а + пф + у)) дает верный результат. Пример 2.5.3 (По поводу «лекарства» см. параграф 6.9.) В плоскости, натянутой на у и z, найти единичный вектор х, ортогональный к у. 0.16087 X 10° -0.11852 X 10° 0.98216 X 10"' -0.50069X10-' 0.36889 X 10~r -0.30569X10-' У*У W «¦ 0у X "Z- W — 0.31123 (в 5-значной десятичной арифметике с усечением ) -0.50067[5701] X 10 0.36886[9796] X 10~' -0.30567[7657j X 10-' -0.50069 X 10"' 0.36889 X 10 -0.30569 X 10"' -2.0000 X Ю 3.0000 X 10~6 -2.0000 X 10'6 -0.50067 X 10"' 0.36886 X 10"' -0.30567 X 10-' х" 11*11 Г-0.48507' 0.72760 [-0.48507. cos?" Twiw" -0.95177; Точное решение 0.62307 0.77789 -0.81837 X 10"г у -» 18298 rad 162.-1 Закончим этот параграф тремя заповедями вычислительной премудрости.
§ 2.6. Анализ скалярного произведения 45 1. Если алгоритм оказывается ненадежным, то это, как пра- правило, происходит не потому, что миллионы крохотных ошибок округления постепенно накапливаются в достаточной мере, чтобы исказить результаты; скорее, причина в том, что при округлении нескольких чисел (а возможно, и одного) утрачивается критически важная информация. Анализ ошибок помогает обнаружить такие чувствительные места. 2. Катастрофическое взаимное уничтожение не всегда ката- катастрофа. Это зависит от роли разности в последующих вычисле- вычислениях. Обратный анализ ошибок часто разрешает этот вопрос. 3. Вычитания, которые могут вызвать катастрофическое взаим- взаимное уничтожение, иногда удается алгебраически преобразовать в произведения или частные; например, | а | - Vtf=f* = § 2.6. Анализ скалярного произведения 2.6.1. Численный пример Начнем с детального обсуждения процесса вычисления y*z для векторов примера 2.5.3. Когда эти детали будут усвоены, станет ясен общий случай. В данном параграфе yt обозначает /-и элемент вектора у. Произведение уггг есть —0.805460003х 10~2; хранимый резуль- результат (—0.80546х 10~2) можно записать в виде угги где г/, == = г/! @.80546/0.805460003) = 0.1608699992. Аналогично, произве- произведение г/222 есть —0.437208428 хЮ~а, а хранимый результат (—0.43720хЮ) можно записать как #222, где г/2 = г/2 @.43720/ 0.437208428) = —0.1185177153. Сумма s2='y1z1 + y2z2 равна —0.1242660x10-», а хранимый результат (—0.12426х Ю) можно записать как у^у-^-у^, где у, = 0.1608622315 =у1 @.12426/0.1242660), г/2 = — 0.1185119926 = у2 @.12426/0.1242660). Последнее произведение yaza есть — 0.3002364904х Ю", и хра- хранимый результат (—0.30023х Ю") можно записать в виде yaza, где г/з = г/а@.30023/0.3002364904) = 0.9821387679хЮ-1. Конечная сумма sa = s2-ty3z3 равна —0.1542830х Ю, а хранимое скаляр- скалярное произведение (—0.15428 хЮ) можно записать как y*z, где
46 Гл. 2. Задачи, помехи и средства #!= 0.1608591034 = ^9, в то время как ^ = 0.16087, Уг = — 0.1185096878 = #2ср, в_ то время как г/2 = — 0.11852, г/з= 0.9821196701 хЮ-1 = йф, в то время как у3 = = 0.98216 х Ю-1, Ч- = 0.15428/0.1542830» 1 — 1.944Х10"!. Подлинное скалярное произведение y#z есть —0.154294921 х 10. В данном случае при суммировании не происходит взаимного уничтожения, и относительная ошибка вычисленного значения меньше чем -^-10~4. Обратный анализ ошибок позволил выявить вектор у, близкий куй такой, что Другое, менее систематическое размещение ошибок в сложениях позволило бы получить иной вектор у, еще более близкий куй также удовлетворяющий равенству Н (y»z) = y»z. 2.6.2. Общий случай Перейдем теперь к формальному обратному анализу ошибок для И (х*у). Машинное сложение неассоциативно, поэтому поря- порядок, в котором организовано суммирование, влияет на вычислен- вычисленное значение. Результаты будут чуть проще, если ^ixiyl вычис- вычисляется для i, изменяющегося от п к 1. Для определенности найдем вектор х, такой что П(х»у) = >у, хотя, конечно, ошибку можно было бы распределить между х и у. Формальные анализы ошибок довольно скучны; однако, если вам никогда не приходилось иметь с ними дело, настоятельно рекомендуем проработать этот строка за строкой. 2.6.3. Алгоритм $„ = 0, для j — n, п—1, .., 2, 1, pj~\\(x/yf), B.6.1) «/-i = fl(p/+s,). B-6.2) От арифметической системы требуются лишь следующие свойства: где|ц|<в, B.6.3) + A—а)Р, где |р|<е, |а|<е. B.6.4)
§ 2.6. Анализ скалярного произведения 47 В нашей простой модели р = а, но в данном приложении из этого свойства не проистекает никаких особых выгод. Кроме того, большинство машин (с запасным разрядом или без него) удовлет- удовлетворяет условию B.6.4). 2.6.4. Обозначение • xf' обозначает результат умножения х} на k множителей вида A—т), где |т|<е. Таким образом, — 1 &ke (если бе<0.01). B.6.5) 2.6.5. Анализ (Будьте внимательны и следите за верхними индексами.) Рп = 0— Vn)xnyn, Es^'Vn. согласно B.6.1) и B.6,3), sn_i =Рп> так как sn = 0, pra-i = (l — Ии-1)^-1^-1=4^п_1, определение 4-i, s«-2 =(l-p«-,L12i^-,+(l-an_1L'V«. согласно B.6.2) и B.6.4), = 422i^_, + v<,2Vn- определение x^l, и 42\ Ра-2 == (' И'и-г) хп-гУп-2 = хп-гУп-%1 sn-s =A— рп-гL-2г/и_* + П— an_a)sn_2, согласно B.6.2) и B.6.4), 43)г/и, определение 4fc). 4^п-а, определение x$La, — on_a)sn_3, l/ fiy/+j-\- .. ¦+х(п~'+1)уа, (доказательство по ин- индукции) = x*y, определение х. Кроме того, )' + 1—1 »(«-M)e (если пе<0.01). Обратный анализ на этом завершен; однако уместны будут некоторые дополнительные замечания. 1. Ничего не говорилось об ошибке в s0. В общем случае, поскольку выполняется три или более сложений, относительную ошибку ограничить не удается. Для абсолютной ошибки справед-
48 Гл. 2. Задачи, помехи и средства лива оценка Множитель п отражает скорее общность результата, чем поведе- поведение ошибки. 2. Если в элементах х (или у) имеется неопределенность, не меньшая п единиц последнего разряда, то эта неопределенность доминирует над влиянием округлений; можно сказать, что вычис- вычисленное значение правильно в той мере, в какой оно определено входными данными. 3. Вектор х близок к х не только по норме, но и поэлементно. 4. Если известно, что элементы векторов х и у убывают по абсолютной величине (|*/| >|*/+1|), то имеет смысл суммировать в направлении от л к 1. 2.6.6. Произведение матрицы на вектор Следствием проведенного анализа скалярного произведения является равенство П(Ау) = Ду, где аи = пц, если а/;,=«0; в противном случае Если суммирование производится в направлении убывания индек- еа, то Если элементы А содержат неопределенность в п единиц послед- последнего разряда и /ге<О.О1, то вычисленное произведение правильно в той мере, в какой оно определено входными данными. 2.6.7. Накопление скалярных произведений с удвоенной точностью В проведенном выше анализе возможно точное вычисление произведений Р( = И(Х{У[)\ тогда ц, = 0. На машинах фирмы IBM серий 360 и 370 стоимость получения длинного произведения двух коротких «слов» (т. е. чисел с приблизительно 6 десятичными разрядами) не больше стоимости получения короткого (усеченного) произведения. На машинах фирмы CDC, чтобы вычислить точное произведение двух чисел одинарной,, точности (приблизительно 14 десятичных разрядов), требуется выполнить две отдельные операции, так что стоимость удваивается. Следует суммировать эти произведения в режиме двойной точ- точности; иначе их дополнительная точность бесполезна. Это можно сделать, и результатом часто, хотя и не всегда, является точное
§ 2.7. Малые собственные значения с малой ошибкой 49 скалярное произведение. Однако результат нужно записать в па- память, и потому будет сделана единственная ошибка округления, соответствующая обыкновенной точности. Заметим, что это вычис- вычисление не требует добавочной памяти; работа с двойной точностью производится в арифметических регистрах. Каковы выгоды этой дополнительной точности? 1. Часто (но не всегда) И(х*у) = х*уA—р), (р|<е. 2. Всегда П(х*у) = х»у, где \х,—лс,| < е|л:,( при условии, что пе<0.01. 3. Всегда |fl(x*y)—х*у| < е||х||]у|| при условии, что/ге<0.01. Другими словами, из оценок ошибки устраняется множитель п; это помогает в построении простых, даже элегантных анализов ошибок. Однако абсолютная ошибка сама по себе не уменьшается в п раз, поскольку результат, полученный при вычислениях с обычной точностью, как правило, точнее, чем указывает наш анализ, рассчитанный на наихудший случай. В итоге накопление скалярных произведений с двойной точностью практикуется обычно, лишь когда его добавочная стоимость мала, например меньше 5%. § 2.7. Можно ли находить малые собственные значения с малой относительной ошибкой? Ответ на этот вопрос следующий: мы не имеем оснований ожидать такой точности в общем случае; но если матрица устроена подходящим образом и численный метод выбран правильно, тогда все собственные значения можно получить с малой относитель- относительной ошибкой. Все хорошие численные методы (длямалых матриц) дают числа, являющиеся точными собственными значениями матрицы A + W, близкой к исходной матрице А. Это значит, что flWf мала (по- (порядка ошибок округления) в сравнении с ЦАЦ. Факт 1.11 из гл. 1 гарантирует, что абсолютная ошибка любого собственного значе- значения ограничена числом ||W||. Как показывает случай W = el, этот результат—лучшее, на что можно надеяться в общей ситуации. Для точного вычисления наименьших собственных значений (когда они очень малы в сравнении с |А|) это печальное обстоятельство. Рассмотрим матрицу +2у 1 где у2 « е, е—единичная ошибка округления. Прибавим к At матрицу Зуа1, и Kt [А] меняет значение — 2^а на у?. Можно ска-
50 Гл. 2, Задачи, помехи и средства з'ать, что Кг очень плохо определено матрицей Аг и ни один метод не сможет вычислить Я,х точнее без использования повышенной разрядности. Малые относительные изменения в любом элементе Aj вызывают большие относительные изменения в Kv Так же обстоит дело в общем случае. Рассмотрим теперь матрицу которая имеет приблизительно тот же спектр, что и Аг. Заметим, что если к А2 прибавляется Зу2Г, то в элемент B,2) вносится огромная относительная ошибка, в точности такая же, что и в ?4[Аа]. Что примечательно в А2—так это то, что малые отно- относительные возмущения элементов приводят к малым относитель- относительным возмущениям в обоих собственных значениях. В действи- действительности А2 есть крайний пример градуированной матрицы. Менее эксцентричный пример — матрица А, = 1" 10 10 О О 10 10 102 102 0 10 102 102 103 103 0 102 103 103 104 0 0 103 104 104 Такая матрица может возникнуть, когда обобщенная проблема собственных значений сводится к стандартной форме (А—/U)z=o. Справедливо требовать от метода, чтобы (когда это возможно) он находил малые собственные значения с малой относительной ошибкой. Описанные в гл. 8 QL- и QR-алгоритмы способны на это. § 2.8. Существующие программы В настоящее время имеется несколько высококачественных пакетов программ для вычисления собственных значений и/или собственных векторов малых матриц различных типов, включая действительные симметричные матрицы, как полные, так и трех- диагональные (аг/ = 0, \i — /|> 1). Эти программы можно вызы- вызывать таким же образом, как элементарные функции вроде SIN или ЕХР. Число входных параметров неизбежно возрастает парал- параллельно усложнению задачи; однако главным образом благодаря отличной документации от пользователя требуется лишь очень небольшое знакомство с численными методами. В основе этих программ — книга [Wilkinson, Reinsch, 1971], и J> Впредь называемая «Справочник».
§ 2.8. Существующие программы 51 которая представляет собой собрание процедур, написанных на языке Алгол 60, вместе с необходимыми комментариями по по- поводу методов и важными вычислительными деталями. Это собра- собрание было составлено Уилкинсоном и Райншем-, признанными лидерами в области матричных вычислений; однако оно явилось результатом замечательно согласованных усилий многих других специалистов, работающих над теми же задачами. Еще более важно то, что все программы были заранее опубликованы и почти все в процессе использования были модифицированы и усовер- усовершенствованы. (Это очень любопытный факт; математикам, цель которых—с первого же раза получать правильные доказатель- доказательства, редко приходит в голову публиковать их регулярные усовершенствования!) Не так легко опознать трудности, связан- связанные с превращением хорошего метода в хорошую программу; каждый, кому приходилось с этим сталкиваться, обнаруживал с удивлением, сколько времени нужно для того, чтобы достичь должного уровня надежности и эффективности. В Соединенных Штатах лучшим пакетом по собственным зна- значениям является систематизированный набор подпрограмм на языке Фортран IV, называемый EISPACK. Он хорошо докумен- документирован, проверялся независимо и распространен по всей стране. Он был создан (в 1973—1974 гг.) в Национальных лабораториях в Аргонне в рамках проекта NATS (Национальная программа тестирования математического обеспечения) в сотрудничестве с представителями Стэнфордского университета и Техасского университета в Остине. Стоит отметить, что проект NATS был учрежден лишь для того, чтобы исследовать проблемы перехода от хороших алго- алгоритмов к полезным пакетам программ. На первый взгляд кажется почти тривиальным транслировать хорошо изученные, доведен- доведенные до блеска алгол-программы из Справочника в фортранный пакет. Тем не менее задача оказалась на удивление трудной; отчасти потому, что никогда прежде не осуществлялось пред- предприятие такого размаха и качества. По ходу дела были обнару- обнаружены небольшие ошибки в алгоритмах Справочника и введены различные усовершенствования (например, в подходе к задачам масштабирования). Некоторые данные о состоянии на 1974 г. приведены в сле- следующем параграфе. Последнее издание EISPACK выпущено в 1977 г. Инструкция к нему опубликована как том 51 в серии Lecture Notes in Computer Science (Springer-Verlag, 1977), ав- авторы—В. S. Garbow и др". Запросы по поводу информации и относительно ленты с за- записью EISPACK нужно направлять по адресу ARGONNE CODE CENTER
52 Гл. 2. Задачи, помехи и средства Bldg. 221, Room С—235 Argonne National Laboratory Argonne, Illinois 60439, USA. В Европе запросы следует посылать по адресу ENEA Computer Programme Library Euratom CCR Espra (Varese), Italy. Высококачественные фортран-программы для вычисления соб- собственных значений имеются также в пакете IMSL (International Mathematical and Statistical Libraries), который содержит далеко не только матричные программы. Программы по собственным значениям этого пакета являются прямым переводом на Фортран .некоторых программ Справочника. Запросы следует адресовать так: IMSL Sixth Floor—GNB Bldg. 7500 Bellaire Houston, Texas 77036, USA. В Британии центром продолжающейся коллективной работы по созданию и сопровождению математических программ на Алголе и Фортране является NAG (Numerical Algorithms Group — Группа по численным алгоритмам). Ее адрес: NAG 7 Banbury Rd. Oxford, England 0X2 6NN Программы NAG no собственным значениям создаются по образцу программ EISPACK. § 2.9. Длительность вычислений Нижеследующие данные, содержащиеся в первой инструкции EISPACK, дают представление о скорости вычислений на 1974 г. для малых матриц. Всюду время приведено в секундах. 1. IBM 360/75, Фортран Н, ОРТ = 2. 2. IBM 360/67, Фортране 3. IBM 370/165, Фортран Н, ОРТ = 2. 4. CDC 6400, FTN, ОРТ = 2.
§ 2.10. Другие виды машинной архитектуры 53 п 10 40 80 Машина I 2 3 4 1 2 3 4 1 2 3 4 Все \ и *• 0.08 0.28 0.13 3,08 14,28 0.74 4,62 22.78 112.00 5.25 32.64 2Х и 2г 0.04 0.13 0.06 0.56 2.52 0.14 0.87 3.68 17.28 ' 0.94 5.24 1Л 0.02 0.04 0.04 0.49 2.22 0.12 0.75 3.46 16.22 0.88 4,92 § 2.10. Другие виды машинной архитектуры 2.10.1. Векторные машины В научных расчетах, по-видимому, преобладают операции над векторами, в частности формирование линейных -комбинаций ах + у и вычисление скалярных произведений у*х. По мере услож- усложнения задач векторы увеличиваются в длине (т. е. в размерности). Векторные машины имеют специальное оборудование, которое в большой степени облегчает эти операции; например, за каж- каждый так называемый малый цикл машины (их в секунде 108) можно получить по одному элементу выходного вектора. Распла- Расплатой за это является то, что каждая векторная операция сопро- сопровождается большими стартовыми затратами. Этот стартовый штраф для малых векторов (п < 100) перевешивает скорость последую- последующих вычислений. Однако для больших разреженных задач (п > 1000) получается внушительный выигрыш в скорости; поэтому методы следует изучить на предмет легкости, с которой они могут быть «векторизованы». Три примера векторных машин: Star-100 фирмы Control Data, ASC (Advanced Scientific Computer) фирмы Texas Instrument и (более новый) Cray-1.
54 Гл. 2. Задачи, помехи и средства 2.10.2. Параллельные машины Существует несколько машин, имеющих большое число ариф- арифметических устройств C2, 64, 128), которые могут одновременно выполнять одну и ту же команду1'. Соединение процессоров, как и программирование для них, представляет собой сложное дело. Тем не менее для некоторых классов задач эти машины дают соблазнительные преимущества. Ситуация, по-видимому, такова, что большинство утонченных методов, развитых для традиционных последовательных машин, не удается эффективно реализовать на параллельных машинах. Требуется свежий подход, но в этой книге вы его не найдете. Похоже, что параллельные машины найдут свое место в обра- обработке весьма специальных задач. 11 Если имеется пг процессоров, то в принципе произведение двух матриц можно вычислить за время, требуемое для одного скалярного произведения; однако возникают трудные проблемы доступа к данным.
ГЛАВА 3 Количество собственных значений § 3.1. Треугольное разложение Треугольные системы уравнений легко решать по той при- причине, что неизвестные можно вычислить одно за другим, если брать уравнения в правильном порядке. Это придает важное значение тому факту, что большинство квадратных матриц могут быть представлены произведением треугольных матриц. Пример показан на рис. 3.1.1. 4 12 16' 8 26 28 -4 -6 -27 1 2 1 -1 3 1 3 4" 1 "Я В L D U Для наглядности нулевые элементы опущены. Ведущие главные подматрицы в В: , -[4]. B2 Рис. 3.1.1. Треугольное разложение. По теоретическим соображениям удобно выделить D и U из про- произведения DU. Стандартный метод исключения Гаусса для решения системы линейных уравнений лучше всего представлять себе как процесс вычисления треугольного разложения матрицы коэффициентов. Множители, необходимые при исключении11, суть элементы мат- матрицы L, а результат есть матрица DU (упр. 3.1.1). С помощью этого разложения непосредственное решение полной системы Вх = b сводится к решению двух треугольных систем. *> То есть отношения Ь& исключения.— Прим. перев. fc 1), где.бй; 1) -главный элемент й-го шага
56 Гл. 3. Количество собственных значений Алгоритм решения системы Вх = Ь. 1. B = LDU (Треугольное разложение). 2. Найти с из системы Lc = b (Прямая подстановка). 3. Найти х из системы (DU) х = с (Обратная подстановка). Это все, что нужно для случая малых матриц. Существуют все же матрицы В, для которых Шаг 1 невоз- невозможен. Такие матрицы не обязательно являются странными или патологическими. Простейшая из них — 0 1 1 О Этот пример наводит на мысль, что после переупорядочения строк матрицы А треугольное разложение станет возможно. Дей- Действительно, если А не вырождена, такое переупорядочение можно найти, но оно разрушает симметрию (упр. 3.1.3 и 3.1.4). На практике наилучший способ установить возможность тре- треугольного разложения—это попытаться вычислить его и убе- убедиться, прервется или нет процесс. В теоретической работе полезно зиать условия, при которых разложение гарантировано; удобно также нормировать L и U, приписав значение 1 диаго- диагональным элементам. Теорема, лежащая в основе треугольного разложения, исполь- использует ведущие главные подматрицы матрицы В. Они обозначаются через By и указаны на рис. 3.1.1. Поскольку D—несимметрич- D—несимметричная буква, мы впредь заменим ее на Д. К сожалению, U—сим- U—симметричная буква, но она скоро будет заменена на L*. Теорема LDU. Если det By Ф О для /=1,2, ..., п — 1, то существуют однозначно определенные нормированные треугольные множители L, Д, U, такие, что B=L AU. Обратно, если det By=O для j^n—1, то разложение может не существовать; если же оно существует, то множители определены не единственным образом. 3.1.1. Замечания 1. Допускается, чтобы det В = 0. Вырожденные матрицы ранга п—1 могут допускать или не допускать треугольное разложение. 2. Если A = LAU, то U — L*, поскольку А* = А. 3. Если А положительно определена, то А = L ДЬ* и Д также положительно определена. Разложение можно переписать в виде А = (LA1/2) (LA1'2)* = С*С, где матрица С=эД1/2Ь* называется множителем Холесского мат- матрицы А. К сожалению, G иногда называют квадратным корнем
^ § 3.1. Треугольное разложение 57 из А, хотя этот термин следует зарезервировать исключительно за единственным положительно определенным симметричным ре- решением уравнения Хг = А. 4. Если А—ленточная и A = LAL», то L наследует ленточ- ленточную структуру А; это значит, что если а/у = 0 при \i—j\>m, то /,7 = 0 при i—j>m. Пример: [4 4 01 П I А= 46 2 , L= 1 1 L L0 2 1J LO 1 IJ Число т есть полуширина ленты А. 5. Часто бывает полезна блочная форма треугольного разло- разложения. Разумное использование блочных матриц (т. е. матриц, элементами которых в ^свою очередь являются матрицы) дает большую экономию. Например, если Ви обратима, то ¦а Ва] Г. Г О1ГВЦ О If, B2I B22j .[.В21ВП1 IJ[O B22|[q где 22=D22 — D21DU Bli' Иногда В22 называют гауссовым преобразованием матрицы В2г, иногда дополнением Шура1'. 3.1.2. Стоимость Треугольное разложение—настолько полезное орудие, что заслуживает дальнейшего изучения. Дорого ли оно обходится? Надежно ли? Ответы будут даны в этом и следующем параграфах. Память. В случае заполненных матриц общего вида для хра- хранения L, А и U можно использовать массив пхп. При отсутст- отсутствии перестановок сохраняется ширина ленты. Внутри ленты может происходить заполнение. В случае ленточной матрицы А с полушириной ленты т для L и А часто используется обычный массив пх(т + 1). Для больших разреженных матрице нетипич- нетипичным расположением ненулевых элементов может потребоваться специальная структура данных. В табл. 3.1.1 указано число арифметических операций, необ- необходимых в двух важных случаях. Читателю, никогда не делав- делавшему такого подсчета, советуем проверить числа в таблице (расписав алгоритм и рассмотрев внутренний цикл). Драматиче- Драматическая эволюция от О (п3) процесса (в общем случае) до О (п) про- процесса (симметричные матрицы с узкой лентой) показывает, что 11 Подматрицы Вц в матрице В.— Прим. перев.
58 1 Тип матриц 1 Заполненные ! п х п, общего вида Симметричные п х п, 1 С полушириной \ ленты т Гл. 3. Количество собственных значений Арифметические операции Деления т(п — т) + +!«(«-1) Таблица 3.1.1 Умножения и сложения 2 1 6 ¦1) т) + п "" 1 структура разреженности имеет огромное значение для эффек- эффективности алгоритмов. Если А —трехдиагональная, то вычисление А~'и стоит лишь немногим больше, чем вычисление Аи! Если сравнивать запросы к памяти, выявляется такое же преимущество матриц с узкой шириной ленты. Проблема «запол- «заполнения» привлекла большое внимание и превратилась в особую область, называемую технологией разреженных матриц. «Запол- «Заполнение» в любом матричном преобразовании — это множество эле- элементов, которые первоначально были нулями, но затем, в ходе преобразования, стали ненулевыми. Упражнения к параграфу 3.1 3.1.1. Провести стандартный процесс гауссова исключения для матрицы, изображенной на рис. 3.1.1, и проверить, что L действительно составлена из множителей, а конечная треугольная матрица есть AU. 3.1.2. Приравнивая по столбцам элементы (i, j) обеих частей равенства B = LAU, вывести алгоритм Краута, в котором элементы L, А и U вычис- вычисляются непосредственно, минуя промежуточные приведенные матрицы В*/', /=1, .... п — 1. 3.1.3. Показать, что существуют невырожденные матрицы А, такие, что никакая симметричная перестановка А, т. е. матрица РАР*, не допускает треугольного разложения. 3.1.4. Построить две недиагональные C х 3)-матрицы ранга 2, одна из которых допускает треугольное разложение, а другая — нет. Указание: дейст- действуйте в обратном направлении. 3.1.5. Показать, что если A = LAU. то U = L*. Использовать свойство А» = А. 3.1.6. Показать, что для любой положительно определенной матрицы А справедливо A = LAL*. Одни из способов доказательства состоит в использо- использовании блочной B X 2)-матрицы и применении индукции. Что можно сказать о полуопределенном случае, если ранг А равен п—1? 3.1.7. Вычислить разложение по Холесскому для матрицы
§ 3.2. Анализ ошибок треугольного разложения 59 Г * 1/2 1/3] 1/2 1/3 1/4 . 1.1/3 1/4 1/5 J Если имеется калькулятор, воспользуйтесь им. 3.1.8. Доказать, что если а,у = 0 при | i — j | > т, то /,-/ = 0 при t —/ > /и. 3.1.9. Положим В=ГВ" В [B2i BJ где Вп и В22—(п X л)-матрицы. Предположим, что.Вц не вырождена. Найти формулу, выражающую det В произведением двух определителей порядка п. Найти другую формулу для случая, когда Вп вырождена, а В22 —нет. 3.1.10. Проверить подсчет числа умножений при треугольном разложении заполненной матрицы. Каково соответствующее число для симметричной мат- матрицы, если симметрия используется полностью? 3.1.11. Проверить подсчет числа операций для симметричной матрицы с полушириной ленты т. 3.1.12. Указать «заполнение» при треугольном разложении положительно определенной матрицы с отмеченными ненулевыми элементами. Л* X X X X X X X X. X X X X X X X X X X X X X X X X X X X 3.1.13. Используя индукцию и замечание 5, доказать первое утверждение LDU-теоремы. Привести пример B X 2)-матрицы, доказывающий обратную часть. § 3.2. Анализ ошибок треугольного разложения Треугольное разложение некоторых хорошо обусловленных матриц может быть безнадежно испорчено ошибками округлений в двух-трех местах процесса. Это разложение настолько полезно, что стоит разобраться, почему оно может потерпеть неудачу. К счастью, чтобы обнару- обнаружить, где и как может произойти катастрофа, не нужен полный анализ ошибок. Достаточно внимательно взглянуть на первый шаг процесса приведения. Пусть А записана в блочной форме Га С! [с Mj- C.2.1)
60 Гл. 3. Количество собственных значений М—матрица порядка п—1. Используя блочную 2x2 факториза- факторизацию, указанную в замечании 5 параграфа 3.1, получим h t: где АA) - М - ЬаЬ* = М - СС*/«. C-2-3) или, расписывая поэлементно, a\f = al+1, j+i—bfLbj, i, /=1, ..., п—\. C.2.4) Аш называется первой приведенной матрицей процесса. На следующем шаге такое же приведение выполняется для да» Чтобы лучше понять роль округлений, будем теперь счи- считать, что b и Аш обозначают величины, действительно храни- хранимые в машине; предположим, что благодаря некоторой счастливой случайности каждое a\f вычислено с минимальной относительной ошибкой (по поводу деталей модели арифметики см. гл. 2). Таким образом, = («,+.,y+i-A-aW-P.v). |P/yl<e. C.2.5) Здесь 8—единичная ошибка округления. Удобно переписать 1— ptJ в виде 1/A+TiG). Следовательно, п/у = р/у/A — р/у) « р{/. Ключевое замечание состоит в том, что C.2.5) можно теперь записать как / , i, /=1 п-\, i^i C.2.6) В матричных обозначениях C.2.6) выражает равенство 'о Т] C.2.7) Вследствие ошибок округлений алгоритм факторизует матрицу А — НA), а не А. Это не удовлетворительно, если Аш имеет много большие элементы, чем А, даже при оптимистическом предположении, что каждый арифметический шаг выполняется с минимальной ошибкой. Нетрудно доказать обратное, не выдви- выдвигая никаких оптимистических предположений; именно, если | АA) |«| А |, то отношение || Нш||/| А || мало и имеет порядок ошибки округления. Если учесть все округления, то выражение для /г#> будет включать кратное произведения btbjau\ в этом случае ||НA'| мала в сравнении с тах(||А||, |АA)|). См. упр. 3.2.2.
§ 3.2. Анализ ошибок треугольного разложения 61 На следующем шаге вычисленные величины Ь<8> и А(г> оказы- оказываются частью разложения матрицы Аш—Н<2), а не Аш, и так далее. Можно проверить, что множители L и Д удовлетворяют соотношению L ДЬ* = А—НA)—Н<2>—... —Н1"» = А — Н, C.2.8) где Н^'^О,,.!® Нш и Htfe) в сравнении с наибольшей из мат- матриц А"" и А1*-11 имеет относительный порядок ошибки округ- округления. Если какая-либо из норм [|А(*>|| велика относительно ЦАЦ, то алгоритм попросту разложил не ту матрицу х>. Заметим, что малые главные элементы bk = afi, как и боль- большие множители в Ьш, могут приводить или не приводить к боль- большим А</!+1>. Эти традиционные «виновники» в случае неудавше- неудавшегося разложения отнюдь не являются подходящими величинами. По-настоящему идет в расчет лишь их внешнее произведение (b(*>b<*>e)a&\ Треугольное разложение без выбора главных элементов дейст- действительно может потерпеть неудачу, которая всегда сопровож- сопровождается ростом элементов, т. е. |А(*'|[^>||А| при некотором k < п. За таким ростом легко следить, и потому неудачу можно обна- обнаружить. Этот вопрос разбирается в следующем параграфе. Для положительно .определенных матриц ]|АШ|^||А'*'!, поэтому треугольное разложение очень устойчиво (упр. 3.2.5). Вопрос о выборе главных элементов для обеспечения устой- устойчивого разложения не является центральным для наших целей, и за этой информацией мы отсылаем читателя к книге [Forsythe, Moler, 1967]. Выбор посредством односторонних перестановок разрушает симметрию, а симметричный выбор (посредством оди- одинаковых перестановок строк и столбцов) обычно разрушает лен- ленточную структуру разреженных матриц. Упражнения к параграфу 3.2 3.2.1. Используя 4-значную десятичную арифметику с плавающей точкой и с усечением, провести для матрицы ю-» кл HJ численный анализ ошибок. Указать матрицы L, Д и Н. 3.2.2. Если имеется калькулятор, разложите нижеприведенные матрицы в 4-значной десятичной арифметике. Затем точно сформируйте произведение LAL* и сравните с исходной матрицей. 1) По поводу описания символа ф обратитесь к списку обозначеиий.
62 Гл. 3. Количество собственных значений W 1.000 0.5000 0.3333 0.2500 0.5000 0.3333^ 0.2500 0.2000 0.3333 0.2500 0.2000 0.1666 0.2500 0.2000 0.1666 0.1428 5 1 1 3 I 1 1 1 1 — 1 1 1 -3 1 1 -5 После этого вычислите L и Д в режиме полной точности калькулятора и срав- сравните с прежними их версиями. 3.2.3. Доказать, что если В не вырождена, то найдется матрица переста- перестановки Р (а возможно, и много таких матриц), для которой РВ допускает треугольное разложение. Указание: Вначале покажите, что на каждом шаге разложения всегда можно произвести перестановку строк, обеспечивающую выполнимость этого шага. Во-вторых (это труднее), покажите, почему можно считать, что нее перестановки были сделаны заранее, до начала разложения. 3.2.4. Пользуясь теоремой Сильвестра об инерции, доказать, что если А1*-11 положительно определена, то и А<*> положительно определена. 3.2.5. Показать, что для fe-ro главного элемента при всех k справедливо 6fc=a$j<o(tii1\ Используя результат упр. 3.2.4, вывести отсюда, что||А(А)||<: <|| А**-1*!]. Здесь А положительно определенная матрица. § 3.3. Деление спектра Существует элегантный способ определить число собственных значений матрицы А, меньших любого заданного вещественного числа а. Поскольку результат есть целое число, кажется, что этот способ избавляет нас от козней машинных округлений; в ка- какой степени оправдана эта надежда, будет исследовано ниже. Специалисты по теоретической физике используют метод с давних пор, по крайней мере с начала 1950-х годов. Метод является следствием теоремы Сильвестра об инерции (факт 1.6), которая устанавливает инвариантность числа v(W) отрицательных собственных значений матрицы W при конгруэнт- конгруэнтных преобразованиях. .Большое значение имеет тот факт, что метод непосредственно приложим к обобщенной проблеме собст- собственных значений А—ХМ. Теорема. Предположим, что А—оМ допускает треугольное разложение А—aM = LoAoL*> где Ао—диагональная, а Ж положи- положительно определена. Тогда v (Л—о!) = v (А—оМ) = v (До),
§ 3.3. Деление спектра 63 здесь A = diag(X1( Xit ..., Хп), а К{—собственные значения пары (А, М). "Доказательство. Поскольку La—нижняя треугольная матрица с единицами на диагонали, она обратима и, следовательно, А—оМ конгруэнтна матрице Д„. Согласно A5.3.3), теореме об одновре- одновременном приведении пары квадратичных форм, существует обра- обратимая матрица F, такая, что F»(A — aM)F = A—ol, поэтому А—оМ конгруэнтна Л—ol. Утверждение теоремы вы- вытекает из теоремы Сильвестра об инерции, примененной к конг- конгруэнтным диагональным матрицам Л—ol и До. С одной стороны, v (Ао) есть просто число отрицательных элементов на диагонали матрицы Ао. С другой стороны, v(A—ol) есть число собственных значений пучка (А, М), которые меньше, чем о. Вычисление Ао и v(Ao) показывает, каким образом о делит спектр на две части. Будем называть v(Ao) (или я(Д0), если вы предпочитаете положительные собственные значения) делителем спектра. Пример 3.3.1 демонстрирует деление спектра. Пример 3.3.1. Деление спектра (А-0) (А-2) = Подсчет: Выводы: 12 13 2 3-20 1 -2 -1 -7 3 0-70 M = f I 2 1 1 4 3 6 I l ^ 1 14 13 1 -2 1 -1 0 1 -3 1.2 2 1 diag 12 13 1 4 6 1 Г 1 — 1 5 -2 7.8 1 -2 1 -1 0 1 -3 1.2 2 1 Х,[А] < 0 < А2[А] < 2 < А3[А] < Х4[А]. 3.3.1. Трехдиагональный случай В этом важном приложении оказывается, что элементы L и А не требуют хранения. Нужна лишь одна ячейка рабочей памяти (см. упр. 3.3.5). Для последующих ссылок приведем подробное описание про- процедуры. Пусть а хранит диагональные элементы, у — квадраты внедиагональных элементов, 6—дополнительная ячейка, а о—вы-
64 Гл. З. Количество собственных значений бранная точка (или сдвиг начала). Цель состоит в том, чтобы вычислить v = v[A—а]. Начало: б <— ах — а, I, если б < О, в противном случае. Цикл: для k = 2, ..., п выполнить I1' \o, 6 «-(aft—Va-i/S)—о, 6 6 i о -»— (ak—Va-i/oi—a, I если 6 = 0, то o«-e(|aA| + |a| + e), C.3.1) ' если б < 0, то v ¦•— v + 1. В действительности, я предпочитаю в случае 6 = 0 изменить слегка а и провести процесс заново. 3.5.2. Точность деления Для произвольной симметричной А рассмотрим А—а, когда a меняется на действительной оси. Теорема LDU показывает, что разложение не существует тогда и только тогда, когда одна или несколько ведущих главнйх подматриц Ак—а вырождены. Согласно теореме Коши о разделении (§ 10.1), собственные значения X'f матрицы Ак разделяют собственные значения Aft+I. Заметим, что п-1 А„ = А. Следовательно, имеется 2 k = n(n—1)/2 значений а, не fee 1 обязательно различных, для которых А—а не допускает LAL# разложения. Если о принадлежит одному из малых интервалов около этих значений, то разложение неустойчиво вследствие округ- округлений. Чтобы понять, почему, представим А в следующем блоч- блочном виде: FV С-1 = [cmJ C.3.2) и предположим, что а совпадает с некоторым ^y[V] в первых р значащих десятичных цифрах. Тогда одной из приведенных мат- матриц, встречаемых в процессе разложения, будет (см. упр. 3.3.2) М = М-а—C(V—о)-1 С» C.3.3) и, поскольку а столь близко к собственному значению матри- матрицы V (упр. 3.3.3) Вполне вероятно, что []С[|да||А|| и, если только не произойдет благоприятного взаимного уничтожения, о^ОЦ» Юр\\А\\. C.3.5)
§ 3.3. Деление спектра 65 Примечателен тот факт, что для о имеется лишь п(п—1)/2 опасных мест (именно, собственные значения главных подматриц А /=1, ...., п—1). Вероятность неудачи в треугольном раз- разложении А — о невелика, Это подсказывает следующую простую стратегию. Если при разложении А—о наблюдается неприемле- неприемлемый рост элементов, нужно изменить а на 0.01 % и начать заново. Вычисленные множители Ln и Аст удовлетворяют соотношению ЬоАоЦ = (А-о)-Но C.3.6) (согласно § 3.2), и поэтому Деление спектра нечувствительно к ошибкам округлений в треугольном разложении, если v(A — Ho—a) = v(A — о). C.3.7) Если роста элементов не происходит, то Но очень мала в сравнении с А и деление дает настолько хороший результат, на- насколько позволяет точность вычислений. Однако два значения v могут совпадать и тогда, когда элементы Но не малы. Таким образом, неточное треугольное разложение не обязательно озна- означает неточность деления. С другой стороны, отметим следствия неправильного подсчета. По теореме Вейля о монотонности (§ 10.3 или Факт 1.11) ЦНД /=1, ..., п. C.3.8) Следовательно, если v(A—Но—а)фу(А—о), то |НоВ > тш|А,у [А]—а\. C.3.9) Точность, с которой могут быть локализованы собственные зна- значения путем деления спектра, менее удовлетворительна, если при некоторых I и / имеются очень близкие Я,,-[А] и Ay[V]. V — матрица, указанная в C.3.2). 3.3.3. Неудача процедуры деления Имеется два несколько различающихся способа вычисления Ао. Самый естественный состоит в вычислении и = Ь-1А путем иск- исключения и последующем использовании диагональных элементов. Однако если А хранится в компактной форме, то для U может не быть места; в этом случае элементы А модифицируются по формуле min (I. /)-i а'а *- ац— 2 hkhh* Как показывает пример 3.3.2, различие может быть поразитель- поразительным. Вычисления для примера 3.3.2 были проделаны в смодели- смоделированной на CDC 6400 24-битовой арифметике с плавающей точкой.
66 Гл. 3. Количество собственных значений Пример 3.3.2. Неудачное деление 1.0? + О 2.8?-2 1.0? + 1 ].5?+ 1 1.0? + О 2.8? - 2 2.7? + 1 2;7? + 1 ].3?+ 1 2.7 ? + 1 1.0? + 1 2.7? + 1 1.3Е + 2 1.9? + 1 2.8? + 1 1.ОЕ+1 2.0? + 0 1.2? 1.5? + 1 1.3E + 1 1.9E + 1 -3.0? + 2 -8.7E + I 2.8? + 1 1.0? + О 2.7? + 1 2.8? + 1 -8.7? + 1 2.7? + 1 1.0? + 1 2.0? + О \2Е + 1 2.8Е + 1 1.2Е + 1 1.2Е 4- 1 1.0? + 1 Пожалуйста, сравните указанные ниже Ао и L, полученные раз- разложением по LU-методике, с матрицами Ао и L, вычисленными посредством L (ЬД)*-методики, которые приведены далее. LU-методика (l.OE + О, 2.6E+1, 8.5Е-7, 2.4?+11, I.5JS+1, UE + 2) A-LU 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -4.9E -8.4? -4.2E + + + 0 0 0 2 I 2 6.4? -2.9? 3.2? + + + 0 0 0 1 0 0 -UE 1.2? -4.8? 0 0 0 + 2 + 1 + 2 1.0? 2.8E 1.0? 1.5? l.OE + 0 -2 + 1 + 1 +.P l.OE l.OE 4.8 ? 1.0? + 0 + 0 - 1 + 1 l.OEH -1.7EH -1.1EH h 0 h 8 h7 1.0? + 0 6.2? - 2 1.0? + 1 6.6E - 2 - 1 ¦ 8 6.2? - I I.OJ? + 0 6.0Е + 1 1.0Я+0 Собственные значения А (—3.3? + 2, —5.9? + U, l.lf+1, 1.7Е+1, 5.0?+1, 1.5Е + 2), о=— 8.БЕ — 6. Пожалуйста, сравните До и L, полученные нижеследующим ме- методом, с Ао и L, вычисленными посредством LU-методики, которые приведены выше.
§ 3.3. Деление спектра 67 L(ЬА)*-методика A.02? + О, 2.6Е+1. 8.5?-7, -2.4Е+1О. I.82+1. -2.3Я + 2} А - ЩЛ)* 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -4.92? 3.9? -4.3Е 0 0 0 + 2 + 1 + 2 6.4 ? + 9.0 ? - 3.1? + 0 0 0 I I 0 -1.1?Ч 7.3?н -4.8?ч 0 0 0 h 2 hO - 2 1.02?+ 0 2.8? - 2 1.0Я + 1 1.52? + 1 1.0Я + 0 1.0Я + 1 1.0? + 1.0? + 4.8?- 1.0? + 6.6Е- 0 0 2 0 2 1.02? + -1.7? + -1.1? + -1.12? + 0 8 7 3 1.02? + 6.2 ? - 6.2?- 0 2 1 !.0? + 9 4.8Е + 0 1.02? + 0 Упражнения к параграфу 3.3 3.3.1. Строго говоря, v (А) есть число отрицательных элементов в любой диагональной матрице, конгруэнтной А. Используя спектральное разложение А, показать, что v (А) есть число отрицательных собственных значений А. 3.3.2. Доказать C.3.3) опираясь на единственность треугольного разло- разложения. 3.3.3. Доказать C.3.4). 3.3.4. Изменив в примере 3.3.2 о на 1% (в ту и другую сторону), пере- перевычислить Ло и v(A,, ) и сравнить рост элементов во всех трех случаях. 3.3.5. Пусть Т — трехдиагональная матрица, k-я строка которой имеет вид (...О, Pjj_1, ajj, Pfc, 0, ...). Расписать алгоритм разложения матрицы Т—o = LAL*, а затем показать, как можно исключить элементы L и получить алгоритм, при- приведенный в этом параграфе. 3.3.6. Пусть А и W—трехдиагональиые, за исключением того, чтоо1я=ая1^0, win = wnl Ф 0. Пусть DA и DW — и-векторы, содержащие диагональные эле- элементы, а ЕА и EW — и-векторы, содержащие прочие ненулевые элементы. Выписать алгоритм, вычисляющий v(A— oW) и не использующий никаких Других массивов, а лишь 6 илн 7 дополнительных простых переменных.
68 Гл. 3. Количество собственных значений § 3.4. Связь с последовательностями Штурма Пусть X/ (т) обозначает характеристический многочлен веду- ведущей главной (/х /)-подматрицы в А. Так, %i(T) —т—Яц. Положим Х„(т)=1. По теореме Коши о разделении (§ 10.1) последователь- последовательность многочленов {%0, %lt ..., %„} есть последовательность Штурма, т. е. нули соседних многочленов разделяют друг друга. Довольно громоздкое доказательство1' устанавливает, что число совпадений знака у соседних членов числовой последовательности {%/(°)> / = 0, 1, ..., п) равно числу нулей многочлена %„, меньших, чемо2)-3). Для матрицы А общего вида не существует дешевого способа вычислить Х/(°) п0 X/ (°)> * < /> но в случае трехдиагональной А имеются хорошо известные трехчленные рекуррентные соотношения X/+i(°) = (°—a^+i. /+i)X/(°)—a'/+i./X/-i(°). C-4Л) обсуждаемые также в гл. 7. Эти соотношения были использованы для подсчета числа собственных значений, меньших, чем о, в основополагающем отчете [Givens, 1954]. Если А—o = LAL* (треугольное разложение), то (упр. 3.4.1) (-l)/X/(°) = 61...6/ = detA/, /=1, ...,п, C.4.2) в/ = — X/(°)/X/-i (о). Таким образом, совпадениям знака в последовательности {х/(°)} соответствуют отрицательные значения в последовательности {8,}. Однако по характеру рациональные функции 6f спокойнее, чем многочлены %/> почему их и следует предпочесть в вычислениях с конечной точностью. Проблемы, связанные с возможностью переполнений и машинных нулей, упрощаются, если вместо C.4.1) использовать треугольное разложение. Постоянный упор на последовательности Штурма (т. е. C.4.1)) задержал применение в рамках численного анализа метода деле- деления спектра к ленточным матрицам и обобщенной проблеме соб- собственных значений. Некоторые авторы называют даже деление спектра методом последовательности Штурма, хотя здесь и не вычисляются %/• u Это доказательство приведено в книге [Wilkinson, 1965]. а> Много исследований было посвящено каверзному вопросу о том, как правильно приписать знак одному или даже двум нулевым значениям в после- последовательности Х/(°)- Это привело к экзотическому правилу Гундельфингера, которое можно найти в работе [Browne, 1930]. 3) Правило Гундельфингера, в котором, правда, иет ничего экзотического, относится к случаю изолированного нуля в последовательности (ху (о)}, (т. е. если xft(o) = 0 TOXft_i (о) Xft+i (о) 5^ 0) и утверждает, что безразлично, какой знак приписать такому нулю. Более общее правило Фробениуса допускает наличие изолированных пар нулей. В обоих случаях предполагается, что Хп(оM^0. Эти сведения, как и обсуждение вопроса о возможности обобщения правила Фробениуса, читатель найдет в книге: И. С. Иохвидов. Ганкелевы и теплицевы матрицы и формы.—М.: Наука, 1974.— Прим. перев.
§ 3,5. Методы деления пополам и секущих 69 Упражнения к параграфу 3.4 3.4.1. Вывести C.4.2), а затем получить из C.4.1) трехчленные рекуррент- рекуррентные соотношения для бу, которые требовали бы одио деление за шаг и не тре- требовали бы умножений. 3.4.2. Для примера из предыдущего параграфа вычислить последователь- последовательность Штурма {х/(о)} н сопоставить с {6} § 3.5. Методы деления пополам и секущих 3.5.1. Деление пополам Если известно, что полуоткрытый интервал [а, Р) содержит по крайней мере одно собственное значение, то посредством ме- методов деления из параграфа 3.3 можно определить, содержит ли собственное значение полуинтервал [а, (а-\-$)/2). Процесс можно повторять нужное число раз, чтобы локализовать собственное значение с точностью, ограничиваемой лишь ошибками при тре- треугольном разложении. Эта идея была с большой тщательностью воплощена в про- программе bisect (см. Справочник), но лишь для трехдиагональных матриц. Стоимость. Одно треугольное разложение при каждом деле- делении. Число операций указано в § 3.1. Использование. Метод деления пополам эффективен, если не требуется высокой точности. Он хорош также для нахождения нескольких собственных значений матрицы с узкой лентой, осо- особенно когда нужны все собственные значения в заданном интер- интервале. При необходимости методом деления пополам можно зачас- зачастую получать результаты, верные с полной рабочей точностью. Метод не рекомендуется, если нужны более чем п/4 собствен- собственных значений или если матрица содержит значительный процент ненулевых элементов. 3.5.2. Метод секущих Если обнаружилось, что интервал [а, C) содержит лишь одно собственное значение X, то деление пополам—довольно прими- примитивный и медленный способ для того, чтобы найти X с высокой точностью. Классическая задача вычисления нуля многочлена, локализованного в данном интервале, привлекала к себе боль- большое внимание в течение многих лет, и были созданы некоторые первоклассные алгоритмы. Ценой всего лишь л —1 дополнительных умножений програм- программа разложения может вычислять сам многочлен, поскольку Х(о) = б1...б„
70 Гл. 3. Количество собственных значений (остерегайтесь переполнений и машинных нулей); следовательно, можно применить любой вариант метода секущих. Порядок схо- сходимости равен 1.618 по сравнению с 1 для метода деления попо- пополам; таким образом, сходимость должна ускориться. В случае трехдиагональных матриц %(а) можно вычислять прямо по фор- формулам C.4.1), но для более заполненных матриц естественным подходом является треугольное разложение, и добавочная стои- стоимость формирования произведения 6t...6n мала. Важная альтер- альтернатива многочленам % обсуждается в параграфе 3.6. Формула шага в методе секущих такова: / I/-0. ' C-5.1) где Дх(а.Р)^(х(«)-Х(Р))/(а-Р) C-5.2) — разделенная разность первого порядка функции %. Значение со = 1 дает стандартную формулу, со = 2 приводит к более прак- практичному двойному методу секущих. Более подробно об этом см. упр. 3.5.4. В хороших программах формула метода секущих не приме- применяется слепо; она является лишь одним из кандидатов для сле- следующего приближения. Ценой некоторого усложнения и включе- включения проверок различных трудных случаев, удалось добиться образцовой работы программ отыскания нулей многочленов. Ясно, что в случае, когда приближение по методу секущих лежит вне наименьшего до сих пор найденного интервала, содержащего X, его не следует использовать. Что же взять взамен? Это интерес- интересный вопрос. Соблазнительно было бы вернуться к делению попо- пополам, однако имеются лучшие решения. Читатель может обратить- обратиться за подробным обсуждением этого вопроса к книге [Brent, 1973] либо к статье [Bus, Dekker, 1978]. Предупреждение. Программы, вычисляющие нули многочле- многочленов, не имеют в своем распоряжении ничего сравнимого с дели- делителем спектра v (Ao), и потому им приходится быть очень осто- осторожными из-за опасности перескочить через пару нулей (не даю- дающую перемены знака). Программы по собственным значениям могут быть не так осторожны. См. книгу [Bathe, Wilson, 1976], гл. 11, по поводу применения этих идей в вычислениях с боль- большими матрицами. В случае трехдиагональных матриц можно получить рекур- рекуррентные соотношения для вычисления %' (о) и даже более высо- высоких производных. Поэтому при вычислении к можно использо- использовать всю гамму методов отыскания нулей. Однако рекуррентные соотношения не удается удовлетворительным образом перенести на матрицы с большей шириной ленты, почему этот подход не будет исследоваться.
§ 3,6. Скрытые собственные значения 71 Упражнения к параграфу 3.5 3.5.1. Считая, что итерации метода секущих сходятся к К, найти выраже- выражение, связывающее ошибку данного шага с произведением двух предыдущих ошибок. Вывести отсюда, что порядок сходимости есть (l-f-У*" 5)/2. 3.5.2. Написать простую программу, комбинирующую деление пополам с ускорением по методу секущих, и проверить ее на примерах, приведенных в этой главе. Сравнить результаты с результатами простого деления пополам; учесть при этом сравнительную стоимость одного шага в обоих методах. 3.5.3. Задание. В алгоритме bisect из справочника заменить метод после- последовательности Штурма треугольным разложением ленточной матрицы. 3.5.4. Пусть Я., <A.2s?.. .<А.„ — нули х- Пусть ц1а^|л2< ...<nn_! — нули х'. производной многочлена Х- Если ?/-i < I/ < %i, показать, что при использовании формулы C.5.1): а) если со= 1, то |у+1 < \ъ б) если @ = 2, то |у+1 < (Л! (неопубликованный результат Кахана). В лю- любом случае |у+1 не может перескочить через два нуля многочлена \. § 3.6. Скрытые собственные значения Согласно C.4.2), последний главный элемент при разложении А—а равен—Xn(°)/Xn-i(a) и потому имеет те же нули, что и %п. Следовательно, метод секущих или любой его вариант можно применить к рациональной функции бп(а), избегая тем самым п—1 умножений, необходимых для вычисления %п(о) по извест- известным главным элементам 6,-(a), i=\, ...,«. При прямолинейной реализации этой замены % на б легко можно упустить из виду следующее интересное явление. Может случиться, что К—хорошо отделенный простой нуль х„> который в то же время очень бли- близок к нулю некоторого из многочленов %„_1, Х„-2> %п-з> и т- Д- Другими словами, |хП^I велико, в то время как | %n-i(^)l очень мало. Результат будет тот, что для почти всех значений а полюс функции бп, находящийся вблизи А,, нейтрализует и тем самым скроет нуль в X; при этом можно прийти к выводу, что возле X сокровища не найти. Рис. 3.6.1 дает картину скрытого нуля. Уилкинсон построил прекрасный пример—трехдиагональную мат- матрицу Wji, определяемую соотношениями wtl=ll — i, i=l, ..., 21, Наибольшее собственное значение К2[ ( = 10.746...) совпадаете наибольшим собственным значением главной подматрицы поряд- порядка 20 в первых пятнадцати десятичных разрядах. График 621(a) близок, к —20 на всем интервале [10, 11], за исключением под- подынтервала с центром в Я,21 с шириной, меньшей, чем 10~13. На многих машинах этот критический интервал неразличим.
72 Гл. 3. Количество собственных значений *„(*)¦ нис. з.в.1. скрытый нуль. Нужно подчеркнуть, что W« не является патологической мат- матрицей. Если алгоритм параграфа 3.3 провести в обратном направ- направлении (для k = n 2), то для нового б(сг) %г1 не будет скрыто и легко находится. Мы хотели лишь указать на то, что на прак- практике некоторые рациональные функции скрывают свои нули от любопытных глаз. Упражнение к параграфу 3.6 3.6.1. Найти наименьшее значение п, такое, что Я;[\Ул] либо Я„[\У^] не удается обнаружить на машине, которой вы пользуетесь, посредством вычис- вычисления б„. Выведите на печать нули %п, Xn-i. Хп-2. и т. д. 3.7. Характеристический многочлен Если многочлен %д задан или может быть легко найден, то матричная задача сводится к классической задаче вычисления всех или некоторых нулей многочлена; в таком случае читатель должен обратиться к одной из книг [Brent, 1973], [Traub, 1964] или [Wilkinson, 1964], в которых подробно обсуждается эта за-
^ § 3.7. Характеристический многочлен 73 дача. Однако если задана лишь матрица А, то нет никакого побудительного мотива, чтобы вычислять коэффициенты %а, по- поскольку нули многочлена являются чрезвычайно чувствительными функциями этих коэффициентов. Если п = 300 (средний порядок для матрицы), то неясно, сколько сотен десятичных разрядов нужно взять в коэффициентах, чтобы определить все нули с точ- точностью до двух или трех десятичных знаков. По этой причине мы не будем впредь рассматривать коэффициенты %А. С другой стороны, зса (а) можно удовлетворительно вычислять посредством треугольного разложения, как это описано в пара- параграфе 3.5. Здесь можно отметить фундаментальное ограничение на любой алгоритм вычисления собственных значений. Свыше ста лет назад Галуа доказал, что не может существовать конечная процедура, использующая лишь основные арифметические операции и извле- извлечение корней, которая позволяла бы находить нуль произволь- произвольного многочлена пятой (или более высокой) степени °. Однако коэффициенты %а можно вычислять по коэффициентам А посред- посредством различных конечных схем, некоторые из которых описаны в книге [Фаддеев, Фаддеева, 1963]. Таким образом, в контексте точной арифметики не может быть конечного численного алгорит- алгоритма, дающего собственные значения произвольной матрицы, для порядка п которой допускаются значения, большие четырех. По- Поэтому все программы по собственным значениям содержат тот или иной итерационный компонент. Иногда метод называют пря- прямым, если в нем делается конечное число преобразований подобия (или вовсе не делается); однако этот термин не кажется полезным. 11 Как известно, еще раньше доказательства этого факта были даны Руффиии. и Абелем.— Прим, перев.
ГЛАВА Простые векторные итерации Степенной метод уже не имеет серьезного значения в зада- задачах вычисления собственных векторов. Тем не менее он заслу- заслуживает изучения, поскольку тесно связан с современными алго- алгоритмами; хорошее владение им помогает понять более сложные методы. В частности, полезным методом является обратная ите- итерация, хотя она используется сейчас не совсем так, как перво- первоначально задумывалось. В этой главе методы рассматриваются сперва теоретически, в контексте точной арифметики, а затем практически, в условиях ограниченной точности. Наиболее важным вариантом обратной итерации является итерация с отношением Релея. Мы увидим, что этот метод схо- сходится для почти всех начальных приближений, как бы они ни были плохи, и что впоследствии, обычно после двух или трех шагов, число верных знаков утраивается на каждой итерации. § 4.1. Собственные векторы матриц ранга 1 Существует один класс заполненных симметричных матриц, собственные значения которых находить легко. Это матрицы ранга 1. Пример 4.1.1. Заполненная матрица ранга 1 8.41 -6.09 3.19 -6.09 4.41 -2.31 3.19 -2.31 1.21 2.9] -2.1 [2.9 -2.1 J.M I.I J Предположим, что А = vv*, но это неизвестно пользователю. Первый шаг состоит в том, что берется произвольный х=^о и вычисляется ysEAx[=v(v'x)]. D.1.1) Если у = о, то х—собственный вектор, отвечающий собственному значению 0. В противном случае у—собственный вектор, отве-
§ 4.2. Прямая и обратная итерация 75 чающий собственному значению v*v; действительно, согласно D.1.1), Ay = Av (v*x) = v (v*v) (v*x) = у (v*v). D.1.2) Вычислитель или машина все еще этого не знает. Второй шаг: 1. Вычислить z = Ay. 2. Вычислить min (г(-/г/(-) и тах(г(-/г/,) по всем I, для которых У/ не равно 0 (или не слишком мало). Все отношения бу- будут равны v*v. Конечно, если известно, что А имеет ранг 1, то любой ненуле- ненулевой столбец А будет .доминирующим собственным вектором11. Если же это заранее не известно, то для опознания достаточно всего лишь двух произведений матрицы на вектор. Всякий век- вектор, ортогональный к v, является собственным вектором с собст- собственным значением 0 (т. е. вектором из ядра). Можно было бы надеяться, что еще одного произведения матрицы на вектор хватило бы для вычисления доминирующего собственного вектора матрицы ранга 2. К сожалению, как пока- показывает пример 4.1.2, это не так. Пример 4.1.2 А " -4 10 8 10 -2 8 -4 2 Ранг (А) - 2. Последовательные итерации, нормированные так, чтобы наи- наибольший элемент был равен единице, показаны в табл. 4.1.1. Таблица 4.1.1 Шаг итерация 1 1.0 1.0 0.1429 1.0 1.0 0.0714 0.9286 0.5 1.6 0.5714. 1.0 0.1 § 4.2. Прямая и обратная итерация Специальный случай матриц ранга 1 связан с общим случаем,, поскольку для больших k нормированная степень А* близка к матрице ранга 1 (упр. 4.2.1). Таким образом, необходимо лишь- найти у = А*х, а затем проверить точность, сравнивая у и Ау. 11 Более точным было бы громоздкое выражение «собственный вектор, отвечающий доминирующему собственному значению». —Прим. перев.
76 Гл. 4. Простые векторные итерации К счастью, нет нужды вычислять А* в явном виде, так как A«x = A(A(A(A(Ax)))). Степенной метод РМи. Выбрать единичный вектор х0. Затем для й=1, 2, 3, ... 1) сформировать yft = Axft_t, 2) нормировать xft = yft/|yft|, 3) подвергнуть xft тесту на сходимость. Таблица 4.1.1 показывает несколько шагов процесса. 4.2.1. Сходимость Напомним наши стандартные обозначения: *¦!<*!< •••<*„• D-2.1) Заметим, что |А| равна либо—Ки либо %п. Для определен- определенности будем предполагать последнее и пренебрежем влиянием округлений. Анализ является по существу двумерным. На k-м шаге имеем однозначно определенную плоскость, содержащую xft и нужный собственный вектор zn2). Пусть, как показано на рис. 4.2.1, ик—единичный вектор этой плоскости, ортогональный к гп. По мере продолжения алгоритма плоскость проворачивается вокруг фиксированной оси zn, как раскрытое окно. После этой геомет- геометрической подготовки можно написать xft=-zncos6ft + uftsin8ft, D.2.2) где 8ft3=Z.(xft, zn)—угол ошибки. В некоторых отношениях 8ft—более естественная мера ошиб- ошибки, чем обычное ||xft—zj (= 2 sin (8ft/2)), из-за которого так часто приходится делать необязательные нормировки. Наша на- надежда состоит в том, что степенная последовательность {х0, Xj, х2, ...} сходится к гп. Теорема. Если %п—единственное доминирующее собственное значение А и z^xo=^O, то \к^гп при k -+ с». Сходимость ли- линейная, причем коэффициент сходимости равен max{VA,. \K\IKV D.2.3) 1) РМ—Power Method. — Прим. rupee. 2> Автор делает неявное предположение "Кп > Хп-±.—Прим. перев.
§ 4.2. Прямая и обратная итерация Рис. 4.2.1. Разложение xk. Когда сходимость линейная, интерес фокусируется на коэф- коэффициенте сходимости, определяемом в нашей задаче как Iim8ft+1/8ft. Доказательство. Рассмотрим (&-}-1)-й шаг, на котором фор- формируется Axft. Умножая D.2.2) на А слева и используя D.2.1), находим AUfeJsin8ft. D.2.4) Ключевое наблюдение заключается в том, что Aufe, как и uk, ортогонален к гп (упр. 4.2.4). Поскольку xfe+il лишь множителем отличается от Axft, формула D.2.4) дает ортогональное разложе-
78 Гл. 4. Простые векторные итерации ние xft+1. Сравнивая D.2.4) с D.2.2), получаем ¦Л D.2.5) tg eft+] = I Auft || sin Qk/Kn cos 6ft. D.2.6) При всех k вектор uk должен оставаться в инвариантном под- подпространстве z;J-. Поэтому можно привлечь А1, сужение А наг^- (см. разд. 1.4.1) и вывести оценку -^, Х„_Л- D-2.7) Из D.2.6) и D.2.7) вытекает решающее неравенство Tg6ft ~~ К ^= ||А|| —г^'- D.2.8) По предположению | tg 901 < с» и, следовательно, при k ->¦ оо Быстрая сходимость может иметь две причины: малое р и/или малое 90. Предоставляем читателю в качестве упражнения 4.2.6 пока- показать, что почти всегда J Auft || -»|| А-1-1 при k -»¦ оо. Таким образом, коэффициент сходимости обычно стремится к своей верхней гра- границе р. 4.2.2. Обратная итерация (INVIT) Это степенной метод, применяемый к А. Нет необходимости обращать А; вместо этого заменим предписание yA = Axft_j в РМ на 1': решить относительно yft уравнение Аук = хк.1. Свойства сходимости вытекают из теоремы D.2.3). Следствие. Если %г—собственное значение, ближайшее к 0, и г]хоф0, то в методе INVIT11 Xj-^z, при к—> с». Сходимость Таблица 4.2.1 к атвк+1 sin9k 0 1.0 1.0 1.0 0.1758 I 0.700 1.00 -0.720 0.0439 2 0.559 1.00 -0.931 0.0433 3 0.554 • • 1.00 • • -0.943 • • оо 0.554 1.00 -0.944 0.0449 »Л2/Л3 = с0
§ 4.2. Прямая и обратная итерация 79 t=i К Х.2 Рис. 4.2.2. Зависимость предела от о (вверху: степенной метод находит %si внизу: обратная итерация находит %{)¦ линейная, причем коэффициент сходимости не превышает v = = |^/Я,|.«. Пример 4.2.1. (INVIT) (см. табл. 4.2.1 на с. 78) А з -4 10 8 10 -7 -2 8-2 3 -17.895 Q.425 Л3 « 9.470 4.2.3. Сдвиги начала Степенной метод и обратную итерацию можно применять к А—о вместо А. Новые коэффициенты сходимости имеют следую- следующий вид (упр. 4.2.3). Степенной метод: po = maxj^./—o\/\Xs—o\, где \К—о\ = тах\Хт—(т|. т Обратная итерация: va = \Xt—a\/min\X/—a\, где \Kt—a| = min|Xm—а\. Рис. 4.2.2 обнаруживает некоторые особенности неявно опре- определенных выше индексвв. Когда а принимает произвольные ве- вещественные значения, s может принимать только значение 1 либо 11 INVIT —Inverse Iteration.— Прим. перев. 2) Здесь автор отходит от соглашения D.2.1) и считает, что ^ — собст- собственное значение с наименьшим модулем, а %2 имеет наименьший модуль среди остальных собственных значений. — Прим. перев.
80 Гл. 4. Простые векторные итерации значение п. Таким образом, степенной метод может сходиться лишь к z1 либо zn; выбор а, которое минимизирует р0, есть (?^2 -|- А,„)/2 в первом случае и (Я,1 + Х„_1)/2 в последнем; ни одно значение не дает существенного улучшения по сравнению с р0. Напротив, v0 —*¦ 0 при а—>-%/, поэтому INVIT сходится быстро, если а выбрано удачно. 4.2.4. Стоимость Для малой заполненной матрицы А каждый шаг РМ требует n2ops1! для формирования Ах, nops для JAxf и п делений для у. Как это ни удивительно, каждый шаг INVIT стоит (прибли- (приблизительно) столько же при условии, что имеется треугольное раз- разложение А — cr = LAL*. Более подробно о LAL* см. § 3.1. Новая итерация у в Г вычисляется в два этапа, Lw = x и AL*y=w, каждый из которых требует na/2ops. Значительные начальные затраты на треугольное разложение, именно /г3/3 ops, могут быть амортизированы по всем сделанным шагам. Пробел в этом утверж- утверждении тот, что в INVIT часто выполняют только один шаг! В подобных случаях а—это вычисленное собственное значение, верное почти во всех знаках. Случай ленточной матрицы оставлен в качестве упражнения 4.2.5. Для больших матриц трудно высказать общее утверждение относительно стоимости. Для больших ленточных матриц разло- разложение часто все же возможно, несмотря на заполнение внутри ленты. Для матриц, которые разложить не удается, уравнение Ayft = xft_, иногда само решают итерационно, поэтому стоимость нельзя ограничить априори. Упражнения к параграфу 4.2 4.2.1. Рассмотреть матрицу AA/|AAJ и дать оценку нормы разности между этой матрицей и близкой матрицей ранга 1. Считать, что 0<A,!<...< <Я„_1 < %„¦ 4.2.2. Показать, что xft+i = A«x1/|j AftXi ||. 4.2.3. Используя теорему D.2.3) и ее следствие, проверить приведенные выше выражения для коэффициентов сходимости степенного метода и обрат- обратной итерации. 4.2.4. Показать, что если и^ ортогонален к zn, то это же верно для Aufe. По поводу обозначений см. D.2.1), D.2.2) и D.2.4). 4.2.6. Сравнить стоимость одного шага в РМ и INVIT, когда А имеет полуширину леиты, равную т. 11 Начиная отсюда, сокращение ops (operations) используется автором для обозначения числа умножений. — Прим. перев.
§ 4.3. Преимущества плохо обусловленной системы 81 4.2.6. Показать, что последовательность {и*} в доказательстве теоремы D.2.3) порождается степенным методом, проводимым для А-1-. Какое условие обеспечивает, чтобы || Au^ || -»|| A-L [| при 6-»со? 4.2.7. Предположим, что Яй > 0. Какое значение должно иметь XJX^, чтобы ттра=-„-ро, если Ро близко к 1? о * § 4.3. Преимущества плохо обусловленной системы Обратную итерацию часто (хоть и не всегда) используют со сдвигом о, очень близким к некоторому собственному значению %j. Программы INVIT и TINVIT из EISPACK берут в качестве о вычисленное собственное значение, а оно часто является вер- верным во всех своих разрядах. В подобных обстоятельствах А—a может иметь число обусловленности по отношению к обращению, достигающее 10;4. Одним из основных фактов матричных вычис- вычислений является то, что ошибки округлений могут приводить к совершенно ошибочным «решениям» очень плохо обусловленных систем уравнений. Поэтому ситуация на первый взгляд такова: выигранное благодаря удачному сдвигу в теоретической скорости сходимости теряется на практике из-за нескольких ошибок округ- округлений. И в самом деле, некоторые учебники предостерегают пользователей, чтобы они не брали значение о, очень близкое к какому-либо собственному значению. К счастью, эти страхи неосновательны и дают прекрасный пример того, как путают цель и средства. В этом параграфе мы объясним, почему методы EISPACK. работают столь хорошо. Пусть х обозначает единичный начальный вектор, а у—вы- у—вычисленный результат одного шага обратной итерации со сдвигом а. Вследствие округлений (см. § 3.2 или книгу [Forsythe, Moler, 1967]) у удовлетворяет уравнению (A—a—H)y = x + f, D.3.1) где для хорошей программы решения линейных систем |Н|| очень мала в сравнении с JA—(т|, а ||f[| очень мала в сравнении с 1(=||х|). Можно считать, что ||у|| очень велика (скажем, 1010) в сравнении с 1. Для целей анализа введем вектор gs= f-f-Hy; тогда D.3.1) можно переписать в виде (A—(T)y = x+g. D.3.2) Таким образом, «верное» решение есть t = (A—o)~lx, а ошибка— е = (А—o)~1g. Конечно, g зависит от у, и это не очень естест- естественный подход для доказательства чего-то относительно у. Одна- Однако одного очень слабого предположения о g достаточно, чтобы показать, почему не следует опасаться округлений.
82 Гл. 4. Простые векторные итерации Рис. 4.3.1. Ошибка в методе обратной итерации. Рис. 4.3.1 иллюстрирует ситуацию. Пуеть а очень близко к %j, и пусть \f>=Z.(g, г-). Тогда для g можно написать ортогональное разложение g = (z,cos^-j-usin^)fgf, D-3-3) где u*z; = 0. Оказывается, что Jgfl несущественна; все, что нужно предположить относительно направления g,—это некоторая скром- скромная оценка. В обозначениях рис. 4.3.1 положим, что |tgiJ»|<100. D.3.4) Из D.3.3) получаем ортогональное разложение пугающей нас ошибки: D.3.5)
§ 4.3. Преимущества плохо обусловленной системы 83 где и—единичный вектор направления (А—а) и, который как и и, ортогонален к Zy (см. упр. 4.3.1). Если т] обозначает един- единственно важный для нас угол ошибки между е и Zy, то из D-.3.5) следует tg Л = II (А—а) и il^y—cr| tg % - {Kf~°l — ^ D.3.6) ,—а поскольку u J_ Zy. Нас интересует именно тот случай, когда множитель при tg\|> в D.3.6) очень мал (например, 10~10). В совокупности D.3.4) и D.3.6) показывают, что Ошибка е, которая может быть почти столь же велика, Как и точное решение (А—а) х, почти полностью сосредоточена в направлении zf. Этот результат тревожный, если мы надеялись получить точное решение уравнения (А—а)у = х (средства); но для вычисления zy (цель)—это прекрасный результат. Если а с рабочей точностью совпадает с собственным значе- значением, то обычно для сходимости хватает одного шага обратной итерации. Пример 4.3.1 иллюстрирует это. Пример 4.3.1. Обратная итерация с хорошим сдвигом Таблица 4.3.1 1 1 1 1 ?301.3 I 3598.1 I 296.8 I 1567.6 I 1708.6 I 14I.0 I 1 3598.4 I 3921.8 ' 323.4 ' Таблица 4.3.2 I I 0.91744 i 0.91746 i 0.91775 I 0.43564 I 0.43567 I 0.43500 ! 1.0000 I 1.0000 I 1.0000 1 | 1 Собственный вектор 0.91745 | 0.43562 I 1Д000 I Те же А и х, что и в примере 4.2.1. а — 9.463. Обусловлен- Обусловленность матрицы (А—а) = (Х1 — о)/(Ка—о)= 10*.
84 Гл. 4. Простые векторные итерации Упражнения к параграфу 4.3 4.3.1. Показать, что если г — собственный вектор А и ugz-1-, то это же верно для (А—о)-1 и. 4.3.2. (Использовать калькулятор.) Пусть В — треугольная матрица: 123.4 0.2273 0.14281 0 31.41 -0.8571 , о - 123.3. 0 0 2.718 J Выполнить один шаг-обратной итерации для х = A, 1/6, 1/36)*. Сначала про- проделать это в 4-значной арифметике (сохраняя лишь 4 старших разряда каж- каждой промежуточной величины). Затем сделать то же самое в полной точности. Прежде чем нормировать два полученных вектора у, вычислить их разность в качестве оценки для е. Диагональная матрица слишком специальна, а симметричная матрица требует больше работы, чем наша несимметричная матрица В. § 4.4. Сходимость и ортогональность На k-м шаге обратной итерации вычисляют вектор yk, удов- удовлетворяющий (в теории) уравнению (A-or) yk = xh_lt 1x^1=1. D.4.1) Вектор невязки для приближенной пары (a, yk) определяется соотношением г, = (А—а) y*/fly*I= Ч-г/ЬЛ D.4.2) и, согласно D.4.1), ||rft||= l/fyftf. Теорема D.5.1) показывает, что а отличается от точного собственного значения А не больше чем на |rft||. По этой причине число ||уЛ| используется как мера сходимости. Главная, возможно даже единственная, слабость обратной итерации—это то, что вычисленные векторы для двух близких собственных значений могут быть приемлемы (по критерию ма- малости их невязок) и все же не быть взаимно ортогональными. Это звучит как противоречие, поскольку точные собственные векторы должны быть ортогональны. Однако малый вектор не- невязки rk гарантирует точность лишь в случае изолированных собственных значений, как показывают теоремы гл. 11, в кото- которых присутствует отделенность собственных значений. Правильным методом в таком случае было бы взять все вы- вычисленные собственные векторы, соответствующие группе очень близких собственных значений (а кто решит, что значит—очень близкие?), и вычислить приближения Релея — Ритца в их оболоч- оболочке, как это описано в гл. 11. После того как такая возможность была включена в программу, прекрасная простота обратной ите-
$ 4.5. Простые оценки ошибок 85 рации исчезла и конкурирующие методы, такие, как QR-алго- ритм из гл. 8, стали (по крайней мере для малых матриц) более привлекательными. Простое средство в случае группы очень близких собственных значений состоит в том, чтобы ортогонализовать каждый прибли- приближенный собственный вектор в процессе его вычисления к ранее вычисленным векторам, относящимся к той же группе. Этот и другие приемы используются в подпрограммеTINVIT H3EISPACK. Подробности приведены в последнем дополнении к Справочнику A1/18) под названием Tristurm. § 4.5. Простые оценки ошибок Пусть х — приближенный собственный вектор, а у = Ах. Про- Простейшее приближение к собственному значению, которое можно получить из х и у, есть а = у;/х,-, где х,-—максимальный элемент х. Лучшее, но более дорогостоящее приближение будет дано ниже. Во-первых, выясним, насколько хороши а н х. Теорема. Для любого скаляра а и любого ненулевого вектора х имеется собственное значение % матрицы А, такое, что |>,—а К [Ах—хаЦ/ЦхЦ. D.5.1) Доказательство. Если а = %, то утверждение очевидно. Если оф%, то матрица А—а обратима. Поэтому х = (А—а) (А—а) х и О#||х||<||(А-а)-ЧН|(А-а)х|| В большинстве приложений вектор у(=Ах) и число fxf имеются, и в таком случае оценку ошибки можно вычислить за скромную цену в 2n ops. Еще за п ops можно вычислить отноше- отношение Релея p = p(x) = x*(Ax)/(|xf. Факт 1.9 из гл. 1 показывает, что р—скаляр, который минимизирует по всем а оценку теоремы D.5.1). Следовательно, вполне разумно определить невязку век- вектора х как г — г(х) = Ах — хр. Тогда, как показано в параграфе 1.5, г*х = 0, и это дает иной и поучительный вывод оценки D.5.1). Первый шаг такой: Теорема. Пусть х — произвольный ненулевой вектор с отноше- отношением Релея р и вектором невязки г. Тогда (р, х) есть собствен- собственная пара для некоторой матрицы А—М, где ^Цг||/||х||>0. D.5.2) Доказательство. Магическая формула для М:(хг* + гх*)/||х| Проверка того, что ненулевые собственные значения М суть ±
86 Гл. 4. Простые векторные итерации и что М удовлетворяет утверждению теоремы, предоставляется читателю. Этот результат согласуется с духом обратного анализа ошибок (гл. 2). Если \х меньше, чем неопределенность в А, то вопрос об ошибке становится неясным; пара (р, х) может быть собствен- собственной парой в пределах точности, с которой задана А. В этих обстоятельствах возникает новый вопрос: насколько чувствительны собственные значения и собственные векторы к возмущениям или неопределенности в А? Факт 1.11 из гл. 1 устанавливает, что собственные значения симметричной матрицы робастны, что их изменения не превосходят изменений в элементах А. Применяя это к теореме D.5.2), полу- получаем | К/ (А)—р|<||А— (А — М)|| == ||М[| = [д. при некотором зна- значении i. Это тот же результат, что и теорема D.5.1). Более точные оценки даны в гл. 11. Аналогичной оценки ошибки для х нет главным образом потому, что собственные векторы не определены однозначно для кратных собственных значений. Это иллюстрируется приме- примером 4.5.1. Пример 4.5.1, 1 \1 !1Г 1Г Г1 е и 1Г i-<JLi -i Если взять x = et, то р(х) = 1 и г(х) = ее2. Таким образом, J/¦ || = |х = е, и тем не менее угол ошибки для х составляет я/4, или 45°! Разумеется, близкой матрицей А — М (см. теорему D.5.2)) является здесь I, для которой х есть, конечно, собственный вектор. Если имеется больше информации, то ошибку в вычисленных собственных векторах можно все же оценить. Некоторые из таких результатов приведены в гл. 11. Упражнение к параграфу 4.5 4.5.1. Используя х и г из георемы D.5.2) и Ц = ||г||/|| х ||, иайти собствен- собственные векторы М, отвечающие собственным значениям ± ц. Проверить, что (р, х) есть собственная пара для А—М. § 4.6. Итерация с отношением Релея Естественное обобщение обратной итерации состоит в том, чтобы менять сдвиг от шага к шагу. Оценки ошибок из преды- предыдущего параграфа показывают, что наилучший сдвиг, который
§ 4.6. Итерация с отношением Релея 87 можно получить из очередного приближения х к собственному вектору, есть отношение Релея для х, а именно р(х) = х*Ах/х*х. Итерация с отношением Релея. Выбрать единичный вектор х0; затем для k = 0, 1,2, ... повторить следующее: 1. Вычислить рА = р(х,г). 2. Если А-—р^ вырождена, то найти из (А — pk) xk+1 = o еди- единичный вектор xk+l и остановиться. В противном случае решить уравнение (А — Pk)Yk+i — xk относительно ук+1. 3. Нормировать, т.е. хЛ+1 = уЛ+1/ЦуЛ+1||. 4. Если ||yft+][| достаточно велика, то остановиться. Определение. Последовательность Релея, порождаемая векто- вектором х0, есть \хк, k — 0, 1, . ..}. Не обязательно пользоваться в C) и D) именно евклидовой нормой. При вычислении в 1870-х годах основной моды колебательной системы лорд Релей улучшал приближенный собственный вектор Xj. решая относительно yj уравнение [А—Р (-^i)] Yj = ^i- Это менее мощный метод, чем RQI1>, который, насколько нам известно, лорд Релей никогда не исследовал. Название просто указывает на сдвиги, используемые для ускорения обратной итерации. Стоимость. На каждом шаге приходится решать новую си- систему уравнений. Увеличение стоимости по сравнению с обратной итерацией при фиксированном сдвиге большое, если А — заполнен- заполненная матрица, и умеренное для трехдиагональной А. См. упр. 4.6.2. Компенсация за возросшую стоимость значительна, поскольку последовательность Релея сходится очень быстро. Это подтверж- подтверждает пример 4.6.1. Пример 4.6.1 Те же А и х, что и в примере 4.1.2. к *к Рк 0 1.000 1.000 1.000 8.000 1 0.8686 0.3644 1.000 9.444 1 0.9176 0.4358 1.Q00 9.468 оо 0.9175 0.4356 1.0000 9.468 Инвариантные свойства. Анализ поведения последовательности {рд,, хк} более сложен, чем для обратной итерации, поскольку RQI является нестационарным итерационным процессом, т. е. 11 RQI — Rayleigh Quotient Iteration (итерация с отношением Релея).— Прим. перев.
88 Гл, 4, Простые векторные итерации функция, отображающая xk в xft+1, меняется от шага к шагу. По этой причине поведение RQI нельзя легко описать посред- посредством А—р0. Например, {pft} не обязана при k—*-оо сходиться к собственному значению, ближайшему к р0. Стоит отметить следующие инвариантные свойства RQI. Пусть А и х0 порождают последовательность Релея {pft, xk:k=* = 0,1,2,...} Масштабирование. Матрица аА, а^О, и х0 порождают Перенос. Матрица А—а и х0 порождают {pk—a, xft}. Ортогональное подобие. Матрица QAQ*, где Q* = Q~1, и Qx0 порождают \pk, Qxft}. Последнее свойство означает, что RQI не зависит от системы координат, т. е. свойства метода одинаковы, какой бы базис ни был выбран для представления А и xft. Упражнения к параграфу 4.6 4.6.1. Проделать один шаг RQI, взяв A = diagD, 2, 1) и xl = {0.1, 1.0, 0.1). 4.6.2. Провести подсчет числа операций одного шага RQI в двух разных случаях: а) А—заполненная («х«)-матрица; б) А имеет полуширину ленты, равную т. 4.6.3. Проверить инвариантные свойства RQI. § 4.7. Локальная сходимость Если последовательность Релея \xk\ сходится к собственному вектору г, то ее поведение лучше всего описывается посредством углов ошибки ф* = ^/(хА, z). Оказывается, что когда k—»¦ со, то ФА —>- 0 с третьим порядком, а это обеспечивает, что для доста- достаточно больших k число верных знаков в xk на каждом шаге утраивается. Часто это справедливо уже при k > 2 (см. при- пример 4.6.1). Очередную итерацию xft с помощью ц>к можно записать в виде ftsincpft, D.7.1) и JuJ=I=Izp>. Отчасти феноменальную скорость сходимости можно приписать стационарности отношения Релея р в точке, совпадающей с соб- собственным вектором; в частности, [?,-p(uft)]sinacpft. D.7.2) lf Как видно из дальнейшего, автор не считает собственное значение К, отвечающее собственному вектору г, простым. В случае кратного К вектор и^ выбирается в ортогональном дополнении к собственному подпространству для X, а не просто из условия u?z = 0. Прим. перев.
§ 4.7. Локальная сходимость где Az = zk. Проверка D.7.2) оставляется читателю в качестве упражнения 4.7.2. Теперь можно сформулировать результат. Анализ схож с ана- анализом для степенного метода, и при необходимости читатель должен обратиться к параграфу 4.2. Теорема. Предположим, что последовательность Релея \xk\ сходится к собственному вектору. При k —> оо углы ошибки cpft удовлетворяют соотношению Hm | <f>/,+Jq>l 1^1- Почти всегда здесь имеет место равенство. D.7.3) Доказательство. Будем игнорировать приятную, но малове- маловероятную возможность, что итерация закончится при конечном k, причем pft будет собственным значением, a xft+1—собственным вектором. Прежде всего применим (А—pft)-1 к D.7.1), что даст * z cos <{>k/(l—pk) + uk+1 sin cpft || (A—p*)-1 uj, D.7.4) где uft+l = (A—p^iyKA—pk)-luk\\ и uk+1 ортогонален к z. Поскольку xk+l отличается от yk+1 лишь множителем (см. шаг C) RQI), то из D.7.4) следует tg Ф*+1=-sin Ф*1 (А—Р*) uaif/cos cpft (K—pft)-x = (^—Рй) II (A — pfe) -1 uft f| tg Фй *. D.7.5) В последнем переходе использовано D.7.2). Наиболее аккуратный способ оценить норму в правой части D.7.5)—это привлечь суже- сужение А—pk на инвариантное подпространство ziU. Тогда так как <|)[(A-Pft)-4H так как ||uj=l, = 1/min ] Хг.—pft | D.7.6) (см. разд. 1.4.1). Кратность самого К здесь несущественна. При оценке правой части D.7.6) используется предположение {хк\—*ъ. Определим отделенность у как y^minjX,—Х\ по всем к[^к. Поскольку срА^О, D.7.2) показывает, что ркs=?p(xk) —»¦ к при k —> оо. Таким образом, для достаточно больших k D-7.7) Из D.7.2), D.7.5), D.7.6) и D.7.7) вытекает кубическая сходи- сходимость (р^ к 0. Однако более внимательное изучение обнаруживает следующее удивительное обстоятельство: отделенность у не влияет х> В случае кратного К нужно рассматривать сужение А—р^ на ортого- ортогональное дополнение к собственному подпространству Jfx для Я.— Прим. перев.
Гл. 4. Простые векторные итерации на саму по себе асимптотическую скорость сходимости; малое значение у попросту задерживает наступление асимптотического режима. Пристальное рассмотрение D.7.4) показывает, что после- последовательность {uk\ порождается обратной итерацией с переменным сдвигом pk, который сходится к X. Для достаточно больших k переход от uk к uft+1 произвольно близок к шагу обратной ите- итерации в подпространстве z11) при фиксированном сдвиге X. Случай 1. {uk} сходится. Предельный вектор z должен быть собственным вектором А, лежащим в z11). Соответствующее соб- собственное значение X почти всегда будет ближайшим к X, но не совпадающим с ним. При k—* оо главные члены в D.7.5) удовлет- удовлетворяют соотношению pkr*ukl-+±U\-l)il(%-\n=±l. D.7.8) При подстановке D.7.8) в D.7.5) предел, очевидно, будет равен 1. Случай 2. {uk\ не сходится. Мы выносим в упражнения 4.7.3 и 4.7.4 доказательство того, что имеются два собственных зна- значения А, равноудаленных от X, и что точками накопления {uk\ являются два вектора в плоскости, натянутой на соответствующие собственные векторы, скажем агя±ргд> где а2 + Р2=1> афО, Р Ф 0. Отсюда следует, что при k —> оо р (uk) сходится и !ф*+1|ф!1^|а2-Р2|<1- Пример 4.7.1. Кубическая сходимость Те же данные, что и в примере 4.6.1. к Рк 0 8.000 0.3073 1.708 1 9.444 0.4954 х 0.9903 ю-' 2 9.468 0.1204 X — ю-3 Упражнения к параграфу 4.7 4.7.1. Доказать, что ||(А—а)-1 и ||< l/у, где и —единичный вектор, а у—расстояние от а до множества собственных значений А. 4.7.2. Проверить D.7.2). 4.7.3. Пусть {life} порождена процессом (А—a) \ik+\=Ukik< гДе ik обеспе- обеспечивает условие || Ufc+j ||= 1. Предположив, что {и^} ие сходится при k —-> оо, показать (посредством разложения по собственным векторам или каким-либо *> Или в подпространстве Jffc в случае кратного X.— Прим. перев.
§ 4.8. Монотонность невязок 91 иным способом), что точки накопления {и&} имеют вид azp ± +б ~к б В ()а)B и ) {} % =а+б, ~кп=° — б. Вывести отсюда, что р f1 || 16 p P а-)-(а2—Р*) 6 где || fA-а)-^ [Г-* 1/6. 4.7.4. Пусть {Uft} порождена процессом (А—ak) Uk+i — ukxki где хк обес- обеспечивает услорие ||Ufc+1||=l. Предположим, что а) ок—> о и б) {uk} не схо- сходится. Показать, что режим, описанный в упражнении 4.7.3, должен иметь место и в этом случае. § 4.8. Монотонность невязок Наилучшей вычислимой мерой точности (р, хк) как собствен- собственной пары для А является вектор невязки rft=s(A—pft)xft. Клю- Ключевой факт, обнаруженный лишь в 1965 г., состоит в том, что невязки всегда убывают, как бы плохо ни был выбран началь- начальный вектор х„. Теорема. В RQI при всех k справедливо |rft+1 |^||гл|. Равен- Равенство имеет место тогда и только тогда, когда рА+1 = рА, a xk есть собственный вектор для (А — pftJ. D.8.1) В общем случае собственный вектор М2 не обязан быть собст- собственным вектором М. Таким образом xk в теореме D.8.1) не обя- обязан быть, а в действительности и не может быть, собственным вектором А. Доказательство. ||гл+1|| = |(А—pft+1)xk+1|, по определению, <|)(А—Рй)ха+1||, согласно факту 1.9, == | Xft (А—pft)xft+i|, Xfc — кратное вектора (А—pk)xk+1, <||(А—p*)*xj|-||xfc+l||, по неравенству Коши — Шварца, так как А — рк—симметричная матрица а |Ху|=1 при всех /. В первом <! равенство имеет место, лишь если pfe+J = pA, а во втором—лишь если хк есть кратное xft+1, т. е. если (А—рк)хк = = (А—pft)-1 х^ для некоторого \к. Пример 4.8.1. A-diag C,2,1). Таблица 4.8.1 Нормальный случай к Рк \\h\\ 0 0.3333 0.6667 0.6667 1.6667 0.6667 1 0.1374 0!5494 -0.8242 1.340 0.5119 2 0.0322 0.3242 0.9455 1.107 0.3104 3 0.0019 0.0411 -0.9992 1.002 0.0413 4 0.2 X 0.7 х 1.0 1.0 0.7 х ¦ ю-5 ю-* ю-*
92 Гл. 4. Простые векторные итерации Таблица 4.8.2 Случай зацикливания к Рк Ы\ 0 0 0.707 0.707 1.5 1 1 0 0.707 -0.707 1.5 1 2 0 0.707 0.707 1.5 I *§ 4.9. Глобальная сходимость Обратная итерация была предложена как способ улучшения приближенного собственного вектора. Применение автоматических вычислений на ЭВМ привело к естественному вопросу, может ли этот метод находить собственные векторы, если используется как самостоятельный. Наш анализ обратной итерации с фиксирован- фиксированным сдвигом показывает, что сходимость имеет место для всех начальных векторов, которые не ортогональны к искомому собст- собственному вектору. Необходима, однако, некоторая оговорка: если у А—о есть ± пара наименьших собственных значений, то {хк\ «не знает», к какому из соперничающих собственных векторов ей следует сходиться, хотя она без всякого колебания прибли- приближается к натянутому на них подпространству. Если используются переменные сдвиги, то сходимость может ускориться; однако существует неприятная возможность, что при плохом начальном приближении сдвиги могут повести к беско- бесконечному зацикливанию. Поэтому важно знать, что для итерации с отношением Релея (определенной в § 4.6) вероятность такого цикла равна нулю. Доказательство, приводимое ниже, является незначительным видоизменением первоначального доказательства Кахана. Теорема. Пусть \%к\—последовательность Релея, порождаемая единичным вектором х0. При k —> оо 1. {pk\ сходится и либо 2. (pk, xk) —* (К, z), где Az = zK, причем сходимость кубическая, либо 3. х2А—>-х+, х2?+] —*х_, где х+ и х_ направлены по бис- биссектрисам пары собственных векторов, для которых соответ- соответствующие собственные значения имеют полусумму р = lim pk.
§ 4.9. Глобальная сходимость 93 Ситуация в C) неустойчива относительно возмущений в хк. Доказательство. Из монотонности норм невязок, доказанной в предыдущем параграфе, следует Р4)хЛ-*т>0 D-9.1) при k—»-оо. Поскольку последовательность {xk\ принадлежит единичной сфере, компактному подмножеству фп, то \xk\ должна иметь одну или несколько точек накопления (т. е. векторов, к которым последовательность приближается бесконечное число раз). Остается охарактеризовать эти точки, а затем подсчитать их. Заметим, что рА также принадлежит компактному подмно- подмножеству 51, а именно [—||А||, ||А|]. Случай 1: т = 0 (общий случай). Всякая точка накопления (р, z) последовательности {рк, хк) есть по определению предел подпосле- подпоследовательности {(ру-, zy):/?^} для некоторого индексного мно- множества f-. Пусть j—юо, оставаясь в f-. Поскольку р(^)—непре- р(^)—непрерывная функция на единичной сфере, то ) = limp,. = p D.9.2) " f lim|jry[| = T = 0. D.9.3) f Таким образом, (р, z) должна быть собственной парой А. По тео- теореме о локальной сходимости из параграфа 4.7, как только обе величины |ру—р| и Jxy—z|| станут достаточно малы, то при k —+ <х> (уже по всем ,целочисленным значениям, принадлежат они f или нет) будет иметь место очень быстрая сходимость (рй-— р( —>- 0 и |jxA—z||—*-0. Следовательно, lim xA существует и совпадает с собственным вектором -z. По всей видимости, нельзя дать простое описание зависимости z от х0. См. упр. 4.9.1. Чтобы проанализировать более трудный случай т > 0, запи- запишем определяющее уравнение RQI в виде p^-'xJ. D.9.4) Пусть Qk = Z.(Tk> x*+i)- Умножая D.9.4) слева на х?, получим 0<TA = r^+1=||rJcoseA. D.9.5) Следовательно, угол Qk острый. Случай 2: т > 0. Характерная черта этого случая то, что lr*+ilHir*I ~* т/т= 1 при /г-^-оо. Поэтому в пределе должны вы-
94 Гл. 4. Простые векторные итерации подняться два условия равенства теоремы о монотонности невя- невязок, именно |Р*+.-Р*|-0 D.9.6) при k-^cx> (что само по себе не означает, что \рк\ сходится) и, поскольку вк—острый угол, ||г*-(х,+1[Ы)||-+0, D.9.7) т. е. вк—>-0. Теперь из D.9.4), D.9.5) и D.9.7) вытекает важный результат: при fe—>-оо р^-||г,||2соз6,]х,|Н|(А-р,)(г,-х,+ 1||г,1)!|< <l|A-pJ-||rft-xft+,|M||-+0. D.9.8) Таким образом, всякая точка накопления р ограниченной после- последовательности \рк\ должна удовлетворять уравнению det[(A—pJ—т2] = 0 D.9.9) независимо от того, сходится или нет {%к\. Другими словами, р = Лу±т для некоторого собственного значения Xj матрицы А (может быть, не одного). Это дает лишь конечное число возмож- возможных точек накопления, и при таком ограничении из D.9.6) уже сле- следует, что {рк\ на самом деле сходится1', т. е. pfc—>-р при k—>- оо. Обращаясь теперь к {хк\, видим, что всякая точка накопле- накопления х должна быть собственным вектором (А—рJ, не будучи собственным вектором А (случай 1). Это может произойти (упр. 4.9.2), лишь если ортогональные собственные векторы, отвечающие различным собственным значениям р + т и р—т, образуют базис всего собственного подпространства для (А—рJ. [Если р + т и р—т — простые собственные значения А, то на соответствующие им собственные векторы натянута собственная плоскость матрицы (А—рJ. Например, если i). то A-v = v для всех v.J Последовательность {xk} не может сходиться, так как по определению рк, хк ±.гк, и в то же время, согласно D.9.7), г*/!!г*11~* xa+i ПРИ k—>°o. Это наводит на мысль рассмотреть {х2к} и {x2fc_j} порознь. Пусть х+ — произвольная точка накопле- к) Для достаточно больших k последовательность {рк} не может (вслед- (вследствие D.9.6)) перескочить расстояние между двумя точками накопления.
§ 4.9. Глобальная сходимость 95 ния для {x2ft}. Тогда при 2/ —>- оо по соответствующей подпосле- подпоследовательности индексов D.9.4), D.9.5) и D.9.7) показывают, что x2y_i = (A—pjy.^Xj/Tj,.! —(А—р)х+/г = х_. D.9.10) Умножая D.9.10) на А—р и используя D.9.8), получим (А—р)х_ = (А—р)ах+/т = тх+. D.9.11) Объединяя, наконец, D.9.10) и D.9.11), имеем (А—р)(х + ±х_)=±т(х + ±х_). D.9.12 Последнее уравнение показывает, что х+ и х_ действительно являются бисекторами собственных векторов А, отвечающих р|т и р—-т. Если эти собственные значения простые, то х+ и х_ определены однозначно (с точностью до ±) и потому должны в действительности быть пределами соответствующих последова- последовательностей: {х2к} и {x2fc_,}. Даже и в том случае, если р + т и р—т —кратные собственные значения, имеются все же единствен- единственные нормированные собственные векторы, отвечающие этим собст- собственным значениям, которые совместно определяют х+ и х_ одно- однозначно. Эти собственные векторы (упр. 4.9.3) суть проекции х0 на собственные подпространства для p-f-т и р—т. Остается показать, что сходимость {х2к} к х+ линейная и неустойчивая при возмущениях. Предельное поведение {х2к} такое же, как в обратной итера- итерации с матрицей (А — рJ. Если т2—ее наименьшее собственное значение, то сходимость будет линейная и коэффициент сходи- сходимости будет зависеть от следующего по абсолютной величине собственного значения (А — рJ. Если имеются собственные зна- значения, меньшие, чем т2, то компоненты х2к в соответствующих направлениях должны в пределе исчезнуть, чтобы была возможна сходимость к х + . Детали вынесены в упр. 4.9.4. Чтобы убедиться в неустойчивости, проще всего проверить, что для вектора v = x+-J-ex_ будет (упр. 4.9.5) |](A-p(v))vf = T2—Зе2т2 + О(е3), ||v|i2=l+e2, < т2 для достаточно малых е. Таким образом, х+—седловая точка для нормы невязки, и возмущения xft, которые нарушают равновесие между х+ и х_, заставят норму опуститься ниже т, что соответствует случаю 1. Возмущения, ортогональные к обоим векторам х+ и х_, сохра- сохраняют режим случая 2 (упр. 4.9.6), и норма невязки остается большей, чем т. Отношения Релея в качестве сдвигов можно использовать в обратной итерации с самого начала, не опасаясь помешать
96 Гл. 4. Простые векторные итерации сходимости; однако, мы не можем сказать, к какому собствен- собственному вектору сойдется {xft}. Упражнения к параграфу 4.9 4.9.1. Показать на примере 3x3, что RQI может сойтись к собствен- собственному значению, не являющемуся ближайшим к р0, и к собственному век- вектору, не являющемуся ближайшим к х0. 4.9.2. Показать, что любой собственный вектор матрицы А есть собствен- собственный вектор А2. Используя разложение по собственным векторам или какой- либо иной способ, показать, что обратное неверно лишь тогда, когда различ- различные собственные значения А отображаются в одно и то же собственное зна- значение А2. 4.9.3. Используя возможность различного выбора собственных векторов для кратных собственных значений, показать, что при анализе простых век- векторных итераций не будет потери общности в предположении, что все собст- собственные значения простые. 4.9.4. Выяснить, какие условия должны выполняться, чтобы x2k—>х+, pk—> р, ||rfc||—»¦ т даже при наличии у (А—рJ собственных значений, мень-^ ших, чем т2. Существенно ли, чтобы х0 не имел компонент по соответствую- соответствующим собственным векторам? 4.9.5. Напомним, что (А—{>) х± = ± гх^. Вычислить р(х++ех_), а за- затем || [А—p(v)]v||* где v = x++ex_, удерживая члены до е*. Вычислить- градиент и гессиан от || (А—р) v ||* при v = x+. 4.9.6. Показать, что возмущение ей в х+ увеличивает норму невязки, если и_|_х+ и uj_x_. Примечания и ссылки В книгах [Householder, 1964] и [Wilkinson, 1965] даны ценные сведения об истории степенного метода и обратной итерации в 1950-х годах и даже в более ранний период. Уилкинсон способствовал разоблачению мифа о том, что близость А—о к вырожденной матрице, когда о — вычисленное собствен- собственное значение, мешает быстрой сходимости обратной итерации. Простые оценки ошибок из параграфа 4.5 были получены многими авто- авторами, но все же известны не так широко, как должно бы быть. Островский [Ostrowski, 1958—1959] посвятил итерации с отношением Релея для симметричных матриц две сложные статьи и дал строгое доказательство асимптотически кубической сходимости. См. также работы [Crandall, 1951 j и [Temple, 1952]. Ключевое замечание, что нормы векторов невязки монотонно убывают, принадлежит Кахану, так же как и связанная с этим замечанием теорема о глобальной сходимости [Parlett, Kahan, 1969]. Доказательство мо- монотонного убывания невязок дано в статье [Parlett, 1974].
ГЛАВА 5 Исчерпывание Если собственные векторы или собственные значения вычис- вычисляются поочередно, необходимо воспрепятствовать тому, чтобы алгоритм снова вычислял те величины; которые были им найдены ранее. Другими словами, важно избавиться от любого собствен- собственного вектора, как только он найден. Устоявшийся термин для такого избавления — исчерпывание. Ниже описываются различные его способы. В каждом случае изгоняемым является единичный вектор z, составляющий с некоторым единичным собственным вектором z малый угол т], так что можно написать , w*z = 0, ||w|=l. E.1) § 5.1. Исчерпывание вычитанием Спектральная теорема (факт 1.4 в гл. 1) представляет А я в виде 2К(ziz*i)- Если бы X и z были известны, было бы i=\ _ соблазнительно работать с новой (пхп)-матрицей А, определяе- определяемой соотношением Jj- E.1.1) В этой матрице вектору ъп вместо старого собственного значе- значения кп соответствует новое А„=0. Если |Я,„| > |^„_г| > |А,„_2| >..., то, применив к А, например, степенной метод, получим сходи- сходимость к гп_г; тогда процесс исчерпывания можно повторить, при- приходя к матрице А, наибольшее собственное значение которой есть Я,п_2, и так далее. Такова формальная теория, но что будет на практике? Рассмотрим исчерпывание А посредством вектора z,
98 Гл. 5. Исчерпывание указанного выше в E.1). Заметим прежде всего, что гг*=гг* cos2 Tj-f--2-sin2 tj (zw* -+- wz*) + ww* sin* tj = zz*+W; E.1.2) этим определено W, и ||W|j = sinT] (упр. 5.1.1). Если имеется лишь z, то наилучшим приближением к собственному значению к, отвечающему z, будет отношение Релея (§ 4.5). (*=р(г) = Л—[К—p(w)]sin2T]. E.1.3) Даже если бы вычитание цгг* было проведено точно, результат был бы А е= А — \хгг* вместо А. Мы выносим в упражнение 5.1.2 доказательство того, что при tj —> О вА-А|.= |цт|/ + О(ч«). E.1.4)' Согласно факту 1.11, изменения некоторых собственных значений могут достигать |цт)|. Если ц—приближение к наименьшему собственному значению, а ц очень мало, то E.1.4) дает вполне удовлетворительный результат. Если ц приближает доминирующее собственное значение Хп и/или tj не слишком мало (скажем, t)=10~4 вместо т)=10~13), то E.1.4) показывает, что А не очень близка к А; можно опаса- опасаться, что при переходе к А мы потеряли точность в малых соб- собственных значениях. Как следует из приводимого ниже анализа, эти опасения безосновательны. Пусть (ц, z) аппроксимирует (кп, zn). Посмотрим, насколько близка (Xlt zt) к собственной паре матрицы А = А—цг?*+Н, где Н учитывает ошибки округлений при вычитаниях atj—ц.|,-|у. Предположим, что ||Н||^ 2е|| АЦ. Вектор невязки равен Az,—гД, = (Az, — Zj^i)—\iz B*z,) + Hzj E.1.5) и z*z, = (zn cos r| -f wn sin r])* zx = (w^zj sin tj. E.1.6) По теореме D.5.1) найдется собственное значение kt матрицы А, такое, что {^-^KiAz.-z^K 1^1^X15^^ + 261] А||. E.1.7) По сравнению с E.1.4) в первом члене правой части появился новый множитель w^Zj. Как следует из параграфа 4.2, wn«2n_, и потому |w^Zi|»e. Таким образом, в ошибке доминирует вто- второй член 1) E.1.7). *) Правой части.— Прим. перев.
§ 5.1. Исчерпывание вычитанием 99 Изменения в отдаленных собственных значениях и собствен- собственных векторах, вызванные исчерпыванием приближенной собствен- собственной пары, таковы же по величине, что и изменения, происходящие от возмущений элементов А в их последнем разряде. Пример 5.1.1 разъясняет это. Пример 5.1.1. Исчерпывание в 6-значной десятичной арифме- арифметике А=матрица Гильберта порядка 6 А = А- 0.1II93 X 10~6 0.12568 X 10~4 0.61576 X 10~3 0.16322X10-' 0.24236 X 10° 0.16189 X 101 MA]} 0.11832 X 10~6 0.12569 X Ю-4 0.61576 X 10 0.16322 X 10 0.24236 X 10° 0.24544 X 10"т Таблица 5.1.1 Собственный вектор ХД (Az - Az) (Az = fc) ЛД (Az - Xz) (Az « Az) z 0.11193 > -0.1246 X -0.3553 X 0.2406 X -0.6254 X 0.6899 X -0.2717 x С IO 10~2 jo-' 10° 10° 10° 10» 0.12568 X 10~4 0.1114 X -0.1797 X 0.6042 x -0.4437 X -0.4414 X 0.4591 X I0 10° 10° 10° 10» 10» z 0.11833 > -0.8704 X -0.8728 X 0.2010 X -0.6510 X 0.6602 X -0.2912 X С 10 10" 1Q- 10° 10° 10° 10° 0.12569 X 10 0.1238 X -0.1790 X 0.6043 X -0.4434 X -0.4409 X 0.4593 X io- 10° 10° 10° 10° 10° -6 1 1 -4 1 Z.(z, z) 6.6s @.12 радиан) 0.63" @.011 радиан) Различия в остальных собственных векторах незначительны. Упражнения к параграфу 5.1 5.1.1 Показать, что матрица W из E.1.2) удовлетворяет равенству II W| = si'nrj.
100 Гл. 5. Исчерпывание 5.1.2. Используя упр. 5.J.1 и E.1.3), показать, что при т)—»¦ 0 имеет место E.1.4). 5.1.3. (Задание, связанное с выходом на машину.) Возмутить элементы матрицы А из примера 5.1.1, перевычислить A,x и z1 и сравнить результаты с результатами примера 5.1.1. § 5.2. Исчерпывание посредством сужения Если Az = zA. и z известен, то естественно было бы в даль- дальнейшем работать с А-1, сужением А на инвариантное подпро- подпространство z-L. Основная информация об А1 приведена в § 1.4. А1 имеет те же собственные пары, что и А, за исключением (к, г). Чтобы применить для А1 степенной метод или обратную итера- итерацию, необходимо лишь при точной арифметике выбрать началь- начальный вектор, ортогональный к z. Конечно, вычисление произве- произведения A-i-x стоит по меньшей мере стольких же затрат, что и вычисление Ах, сколько бы собственных векторов ни было уда- удалено; это неизбежное следствие использования исходной матрицы А. На практике мы имеем z вместо z, и вследствие округлений каждое вычисленное произведение Ах будет иметь очень малые, но ненулевые компоненты в направлении уже найденных собст- собственных векторов. Если их игнорировать, эти компоненты будут расти, пока в конечном счете снова не станут доминирующими. В действительности это дело случая: сойдется ли текущая по- последовательность векторов к новому собственному вектору или же доминирующий собственный вектор притянет эту последова- последовательность к себе. Таков вычислительный вариант соревнования между зайцем и черепахой. Чтобы избежать подобного риска, разумно время от времени ортогонализовать текущий вектор х по отношению к уже вычис- вычисленным собственным векторам. Текущая оценка собственного зна- значения может быть использована, чтобы определить, как часто следует подавлять компоненты по известным уже векторам. См. упр. 5.2.2. Посредством этих приемов можно заставить степенной метод или обратную итерацию по очереди сойтись ко всем собственным векторам. Точность при этом ограничивается лишь точностью вычисления предыдущих собственных векторов и точностью подав- подавления соответствующих им компонент в последующих вычисле- вычислениях. Расплата за это удобство—небольшое увеличение стоимости. Чтобы подавить в х компоненту по z, необходимо вычислить z*x, а затем заменить х вектором х = х — z(z*x) = (I—zz*)x. Это тре- требует In ops. Если все собственные векторы вычисляются степен- степенным методом и этим способом исчерпывания, то стоимость полу- получения начальных приближений для более поздних собственных
§ 5.3. Исчерпывание посредством подобных преобразований 101 векторов становится довольно высокой. Суть, однако, в том, что этот метод способен давать точные результаты и привлекателен для больших разреженных матриц. Упражнения к параграфу 5.2 5.2.1. Если степенной метод или обратная итерация порождают последо- последовательность {xjj, то для любого собственного вектора z из XjZ = 0 следует хд.г = 0 при k > 1. Доказать это, а затем исследовать эффект от явной орто- гонализации х^ к вектору г, указанному в E.1). 5.2.2. Пусть (Кп, zn) — вычисленная собственная пара. Пусть (\х, х)—те-, кущие оценки другой собственной пары. Показать, что относительное увели- увеличение компоненты по ъ„ на следующем шаге степенного метода составляет приблизительно |Х„/(х/. Найти формулу для частоты, с которой гп следует подавлять в очередном приближении, если нужно поддерживать эту ком- компоненту на уровне, меньшем, чем Уе • § 5.3. Исчерпывание посредством подобных преобразований Область определения оператора А-Ц о котором говорилось в § 5.2, имеет размерность п — 1; поэтому имеет смысл рассмот- рассмотреть вопрос об отыскании матрицы порядка п—1, представляю- представляющей А-Ц вместо того чтобы продолжать работу с А. Формально такую матрицу найти легко. Возьмем "произвольную ортогональ- ортогональную матрицу Р, первым столбцом которой является собственный вектор z. Таким образом, Р* = Р~1 и Pej = z. Желаемое пред- представление есть матрица Аш, показанная в E.3.1). Рассмотрим ортогональное подобное преобразование А, индуцированное матри- матрицей Р: E.3.1) поскольку P*z = e!. Если AA)u = ua, то Pf ) является собствен- собственным вектором А с собственным значением а. Поэтому вычисле- вычисления можно в дальнейшем вести с Аш при условии, что Р каким- то образом сохранена. В главах 6, 7 и 8 будет показано, как выбрать простую матрицу Р, выполнить преобразование и сох- сохранить Р. Нужно признать, что этот метод на первый взгляд кажется сложным и дорогостоящим. Однако если требуются все собственные значения, то преимущество понижения порядка матри- матрицы при каждом исчерпывании определенно является привлека- привлекательным.
102 Гл. 5. Исчерпывание Не вдаваясь в особые подробности, можно все же объяснить одну тонкую и важную черту метода. На практике мы имеем лишь вектор z, указанный в § 5.1, а не собственный вектор г. Поэтому приходится рассматривать ортогональную матрицу Р, такую, что Pex = z, и соответствующее подобное преобразование . - Гц с* Р*АР=[с Можно показать (упр. 5.3.1), что если t] = ^(z, z) достаточно мал, то || с 1^1 А—цЦт^ + О^2). То, о чем мы хотели сказать, заключается в следующем: вычисление Р*АР в явном виде может подчас обнаружить, что с не так мал, чтобы им пренебречь. Это ценная информация: вместо того чтобы провести автомати- автоматическое исчерпывание, попросту игнорируя с, алгоритм может выполнить дополнительные ортогональные подобия, которые умень- уменьшат величину элементов в блоках B,1) и A,2), так, как это описано в § 7.4. Если это сделано, E.3.2) заменяется на dH' E-3-3) где d уже пренебрежимо мало, а и—уточненное значение ц, скорее всего от него неотличимое. Преимущество E.3.3) в том, что АЦ) будет адекватным представлением А-1- и вычисления можно продолжать без опаски. Именно это происходит в трех- диагональном QL-алгоритме гл. 8. Подобные преобразования про- продолжают до тех пор, пока матрица не окажется приведенной (с рабочей точностью), после чего исчерпывание происходит есте- естественным образом. Упражнение к параграфу 5.3 5.3.1. Показать, что Упростить Az— z|x, используя E.1), а затем вывести, что | с|] = || (А — |х) w||X Xsin rj-j-0 (гK). Взять |x = p(z) = zAz. Примечания и ссылки Исчерпывание вычитанием часто приписывают Хотеллингу [Hotelling, 1943], хотя идея является вполне очевидной. В нескольких ранних работах Уилкинсона анализируется исчерпывание; первый и третий методы подробно обсуждаются в книге [Wilkinson, 1965], а также во вводных учебниках типа книги [Fox, 1964]. Нужно упомянуть и о важной статье (Householder, 1961-].
ГЛАВА б Полезные ортогональные матрицы (Орудия ремесла) § 6.1. Важность ортогональности Таблица 6.1.1 указывает на важность ортогональных матриц. Таблица 6.1.1 Свойство Собственные значения Симметрия Преобразования, которые сохраняют данное свойство Подобия Конгруэнции Символ A_FAF-i А —у FAF* F обратима Каждое из этих свойств настолько ценно, что мы сосредото- сосредоточимся на тех преобразованиях, которые сохраняют оба. Это означает, что F*=F~a. В вещественном случае такая матрица F будет ортогональной, а преобразования, индуцируемые такими F, называются орто- ортогональными конгруэнциями или, на один слог короче, ортого- ортогональными подобиями. Определение. Вещественная матрица F называется ортогональ- ортогональной, если = FF»=1. Ортогональная матрица F называется собственной, если det F = + 1. Определение ортогональности можно интерпретировать как утверждение: столбцы F попарно ортонормальны и таковы же строки. Следующим шагом будет отыскание классов легких в исполь- использовании ортогональных матриц, которые достаточно богаты для того, чтобы любую ортогональную.матрицу можно было получить, образовав произведение простых ортогональных матриц.
104 Гл. 6. Полезнее ортогональные матрицы (Орудия ремесла) § 6.2. Перестановки Перестановка упорядоченного множества из п объектов есть расстановка этих объектов в другом порядке; иными словами, перестановка есть взаимно-однозначное отображение множества на себя. Одно из обозначений для перестановки п выглядит как (jxj, я2, ..., лп), F.2.1) где nj—новое положение объекта, ранее находившегося в поло- положении /. Пример 6.2.1 л = 3, я = C,1,2), О^(О^Ог,Оя), лО = (О2, Os, Ot). Если упорядоченное множество О из л объектов перестав- переставляется вначале в соответствии с пп), а затем—в соответствии с яB), то результатом будет новая перестановка О, называемая композицией или произведением лп) и nw и обозначаемая, как и умножение, через л<»>л»>0. F.2.2) Перестановки образуют группу по умножению; в частности, каж- каждая перестановка имеет обратную. Пример 6.2.2 я = C, 1, 2), я = B, 3, 1). Если объектами являются столбцы матрицы В, то их пере- перестановка может быть осуществлена посредством умножения В справа на специальную матрицу Р, называемую матрицей пере- перестановки. Р получается из I перестановкой столбцов в соот- соответствии с п. Так, если я = C, 1, 2), то я^, Ь„ Ь3) = (Ь„ Ь„ Ь0=ВР, ГО 0 11 '= 1 0.0 . L0 1 0J F.2.3) Заметим, что Р можно получить и перестановкой строк 1 в соответствии с я. Матрицы перестановок порядка п образуют группу относи- относительно матричного умножения. Каждую такую матрицу можно изображать компактно посредством соответствующей переста- перестановки л. Большинство матриц перестановок, встречающихся в вычис- вычислениях собственных значений, являются произведениями очень простых матриц, называемых трашпозициями, которые меняют
§ 6.3. Отражения (или симметрии) 105 местами пару столбцов или строк, а все остальные оставляют неизменными. Известно, что любую перестановку можно записать как произведение транспозиций обычно несколькими способами. Пример 6.2.3 C, 1, 2) = A, 3, 2)B, 1,3) (умножение справа налево). Более компактным способом является представление пере- перестановки произведением независимых циклов. Однако это пред- представление, по-видимому, не используется в матричных вычис- вычислениях, вероятно, в связи с трудностями перехода от транс- транспозиций к циклам и в обратном направлении. Каждая транспозиция сама себе обратна, поэтому последова- последовательность транспозиций одновременно изображает как переста- перестановку, так и ее обратную. Обратная перестановка получается выполнением транспозиций в обратном порядке. Хотя перестановки и не связаны с арифметическими опера- операциями с плавающей точкой, они являются полезным орудием. При решении больших разреженных систем линейных уравнений упорядочение уравнений оказывает решающее воздействие на стоимость гауссова исключения. Более подробную информацию о реализации перестановок на машине можно найти в книге Кнута A976, т. 1, разд. 1.3.3). Упражнения к параграфу 6.2 6.2.1. Если Р —матрица перестановки, соответствующая л, доказать, что Р* соответствует я~1. 6.2.2. В матричных приложениях последовательность транспозиций часто имеет специальный вид A, v^, B, v2) (я— 1; vn_i), где VyS=/. Эту последовательность можно компактно представлять посредством массива (v^ v2, ..., vn_!)=n. а) Написать алгоритм, выполняющий перестановку, обратную к той, ко- которая представлена массивом п. б) Написать алгоритм для перехода от представления массивом п к про- произведению независимых циклов. § 6.3. Отражения (или симметрии) Один из основных результатов действительной евклидовой геометрии—тот, что всякое движение, оставляющее начало не- неизменным (т. е. любое ортогональное преобразование), можно пред- представить произведением отражений. Зеркалом для отражения в ?п является подпространство размерности п— 1, или гиперплоскость,, которую проще всего характеризовать направлением, ортогональ- ортогональным (или нормальным) к ней.
106 Гл. 6. Полезные ортогональные матрицы (Орудия ремесла) Определение. Гиперплоскость, нормальная к вектору и, есть {х: и«х = 0[. Каждому и соответствует единственное отражение, которое обращает и и .оставляет неизменным всякий вектор, ортогональ- ортогональный к и. Определение. Отражением, обращающим и, называется мат- матрица Н(и), такая, что ( — v, если v = au, Н (u) v = v, если u*v = 0. Заметим, что H(au) = H(u) для любого афО. Легко проверить, что матричное представление Н (и) имеет вид H(u)=I— yuu», y = Y(u) = 2/u»u. . Основные свойства Н (и) указаны в упражнениях 6.3.1 и 6.3.2. Обратим внимание, что Н (и) имеет все желаемые свойства: она элементарна, симметрична, ортонормальна и совпадает со своей обратной! Посредством последовательности отражений можно построить любое ортогональное преобразование. Никаких других средств не нужно (упр. 6.3.3). Имеется, однако, один небольшой недо- недостаток: I не является отражением (хотя Н2=1). Если последо- последовательность ортогональных матриц сходится к I, то множители- отражения каждой матрицы не будут сходиться к I. В упраж- упражнении 6.3.6 указана собственная ортогональная матрица (опреде- (определитель + 1), аналогичная Н(и). Типичная задача: Дан вектор Ь; найти вектор с, такой, что H(c)b = el(i. Решение: [i = + ||b||, c = b±e1[i (см. упр. 6.3.4). 6.3.1. Вычислительные аспекты Пусть Ь = (РД, ..., р„)*, c = (i'1, • •-, у„)*- Единственным ариф- арифметическим шагЬм при нахождении с будет вычисление у1 = ^1 ± \i. Случай 1. [i = -||blsign(p]). Величина ?1 = (| pt | + ||b ||) sign (P0 получается сложением положительных чисел и будет всегда иметь малую относительную ошибку. Случай 2. [1 = || b | sign (&). Формула у1 = (|Р1|—jj b [j) signPj пред- предполагает подлинное вычитание, которое будет приводить к боль- большой относительной ошибке всякий раз, как | рх (== j{ bJ|. Пример 6.3.1 показывает пагубные последствия использования в этом случае очевидной формулы. Иногда говорят, что случай 2 неустойчив и его нужно избе- избегать. Это неверно. Опасна только формула (|Pi|—|b|). Мы при-
§ 6.3. Отражения (или симметрии) 107 ведем сейчас формулу, которая всегда дает малую относительную ошибку. В ней разность преобразована аналитически. где a = pjj+ - • • +Р?- Дополнительная плата—одно деление и одно сложение. Пример 6.3.1. Отражения в случае 2 Рассмотрим 4-значную десятичную арифметику A -)- 10~4 —¦ 1). {io-4 Применение указанной выше альтернативной формулы дает 10-V2 что верно в рабочей точностью. В случае 1 вектор b отражается во внешней биссектрисе b и et; в случае 2—во внутренней биссектрисе. Для действитель- действительных векторов случай 1 (наиболее популярный) приводит к век- вектору—Jbjet. Это представляет некоторое неудобство, поскольку в определении QR разложения (§ 6.7) предполагается, что R имеет положительную диагональ, а случай 1 делает ее отрица- отрицательной. Упражнения к параграфу 6.3 6.3.1. Показать, что H(u)* = H(u), H2(u) = I и Н (и) элементарная. 6.3.2. Найти собственные значения и собственные еекшры Н (и). Пока- зать, 6 что .3.3. det[H]=—1. Выразить матрицу Г COS 0 — sin 0 sin 61 cos в произведением двух отражений. Изобразить на рисунке отражающие зеркала. 6.3.4. Вывести формулу u = v — е^, обеспечивающую, чтооы H^v^e^.
108 Гл. 6. Полезные ортогональные матрицы (Орудия ремесла) 6.3.5. Как следует выбрать и, чтобы H(u)v=w, если w*w = v*v? 6.3.6. Пусть s—вектор размерности п — 1, и пусть -у2 +1| s j|2 = 1. Как сле- следует выбрать v, чтобы блочная матрице была ортогональна? Чему равен detR (s)? Как нужно выбрать s, чтобы R(s)b=ei||b|l? § 6.4. Плоские вращения Матричное представление преобразования, которое поворачи- поворачивает &* на угол 9 (против часовой стрелки), есть [cos 9 —sin 9] sin 9 cose]' R-' С R связаны две различные типовые задачи: 1. Найти 8, такое, что R(9)b = e!ji при заданном b = fl3,, р,)*. Решение дается уравнением: tg9 = — |32/|3j (упр. 6.4.1). 2. Найти 8, такое, что R (9) AR (—8)—диагональная матрица. Два решения, 0^8<я, находятся из уравнения ctg28 = = (й28—ап)/2а12 (упр. 6.4.2). В п-мерном пространстве используется плоское вращение R (i, j, 8), которое поворачивает плоскость (i, /), т. е. плоскость, на- натянутую на е,- и еу-, на угол 8, а ортогональное дополнение к этой плоскости оставляет неизменным. Таким образом, R (/, /, 9) со- совпадает с единичной матрицей, за исключением элементов ги = г/j = cos 9, — r(j = rfi = sin 9 (I < /). Вращения составляют класс собственных ортогональных матриц, включающий I. Каждая R (t, /, 8) является элементарной матри- матрицей (упр. 6.4.3). Аналогом задачи 1, указанной выше, будет преобразование данного вектора b в кратное вектора е, посредством последова- последовательности плоских вращений. Годится каждая из следующих последовательностей: где
§ 6.4. Плоские вращения 109 ВC,5,в)* I I Ключ: с -5 * a' a" s I с 1 * ¦ 1 * а51 ¦ * 2 * Элемент не изменился Элемент изменялся Элемент изменялся Нули не указаны один 3 3 3 3 3 3 раз дважды * * 4 ¦ 4 5 5 Й35 5 5 5 RC, 5, в) Рис. 6.4.1. Воздействие плоского вращения на А. Возможны и другие последовательности плоскостей. В общем слу- случае каждая последовательность порождает свое ортогональное преобразование b в rfcejbj. Эти решения конкурируют с двумя отражениями, которые выполняли ту же задачу в § 6.3. Задача 2 имеет два варианта. См. рис. 6.4.1. 6.4.1. Вращение Якоби Найти 8, такое, что элементы (i, j) и (/, i) в матрице R (i, /, 8)AR (i, j, —8) будут нулями. Эти вращения более подробно обсуждаются в гл. 9. 6.4.2. Вращение Гивенса Найти ф, такое, что элементы (k, l) и (/, к) в матрице R (i, /, (p)AR(i, /, —ф) будут нулями. Поскольку меняются лишь строки i и /, то один из индексов пары (I, /) должен быть равен одному из индексов пары (к, I). Якоби использовал вращения еще в 1846 г., но отражения и вращения Гивенса были предложены лишь в 1950-х годах. Во многих отношениях вращения Гивенса более полезны, чем вращения Якоби. Привлекательность вращений Якоби объяс- объясняется тем фактом, что при заданных i, j среди всех возможных 8 такое вращение обеспечивает наибольшее уменьшение суммы квад- квадратов внедиагональных элементов. 6.4.3. Число операций Если B' = R(i, /, 6) В, то b'ik = bik cos 8—bJkb\n 8 = cos G (bik—b/k tg 9), b'tk = bik sin в + bJk cos 8 = cos 8 (blk tg 6 + bjk)
НО Гл. 6. Полезные ортогональные матрицы (Орудия ремесла) для всех k. Эта операция требует 4п умножений. То же число получится при формировании RAR, если использовать симмет- симметрию. При вычислении cos 9 требуется извлечение квадратного корня. Относительно масштабированных вариантов R (t, /, 8) см. § 6.8. 6.4.4. Компактное хранение Если нужно сохранить в памяти длинную последовательность плоских вращений, то часто есть смысл затратить чуть больше вычислений, чтобы закодировать каждое вращение одним числом, а не парой cos 8, sin 8. Ясно, что запомнить само 8 неэкономно, и естественный выбор — это / = tg8. Формально с и s восстанав- восстанавливаются из соотношений c=\JV\+P, s = c-t (— Эта схема отказывает, если 8 равно или очень близко к л/2, и требуется несколько более сложный процесс. Стьюарт [Steward, 1976]—сторонник хранения числа р, определяемого так: 1 если sin8= 1 sin8, если |sin9|<cos8, sec8-sign(sin8), если | sin 81^ cos 8. Упражнения к параграфу 6.4 6.4.1. Показать, что R (в) v= ± е1\\ v||, если tg 0 = — vg/v^ 6.4.2. Показать, что e*R (в) AR (— в) е2 = 0, если ctg 26 = (я22 —an)/2alt. Каково соотношение между двумя возможными значениями в? 6.4.3. Показать, что R ((', /, 0)—элементарная матрица. Указание: исполь- использовать 0/2. 6.4.4. Найти вращение Гивенса в плоскости B, 3), которое аннулировало бы элементы A, 3) и C, 1). 6.4.5. Выписать произведение R B, 3, 0) R B, 4, 0) для п = 5. 6.4.6. Найти четкий и устойчивый алгоритм для восстановления sin 0 и cos 0 из указанного выше кода р. §6.5. Распространение ошибки в последовательности ортогональных конгруэнции Этот параграф имеет огромное значение для понимания устой- устойчивости многих популярных методов вычисления собственных зна- значений, основанных на преобразовании заданной матрицы к более простому виду. Типичная ситуация такова: дана матрица Ао;
§6.5. Распространение ошибки в конгруэнциях III Ak вычисляется (в теории) как последний член последовательности где каждая матрица By ортогональна и зависит от kj_l. Не то происходит на практике. Рассмотрим типичный шаг. Из очередной матрицы Ау-_д вычисляем Ву-, но она не будет в точ- точности ортогональной. Пусть В, = С1, + Р„ F.5.1) где G-—неизвестная ортогональная матрица, очень близкая к By. Мы обсудим величину ошибки Fy позже. Теперь мы пытаемся точно вычислить В;*Ау_,Ву, но это не удается. Вместо того полу- полученная матрица Ау будет удовлетворять равенству . А^В'А^ + Г,, F.5.2) где Wj—локальная матрица ошибки, происходящая от ошибок округлений в подобном преобразовании. Иногда полезна бывает запись Ay = fl (В;*Ау_,В/), чтобы обозначить намерение; Я есть акроним для выражения „результат вычисления с плавающей точкой". Поскольку с ортогональными матрицами приятней иметь дело, заменим By на G/ и найдем , y // =g;a/_1g/+w/, где /_]F/ + F;Ay_1Gy + FJA^Fy. . • • ; Здесь Wy обозначает громоздкую, но, можно надеяться, очень малую локальную матрицу ошибок. Применим теперь F.5.3) по очереди для j = k, k—1, ..., 2, 1: = ЛАвЛ„+_2 J/'WyJ,, F.5.5) где Jy. = G/+1...Gfe, J,= I. F.5.6) Последний шаг состоит в том, чтобы переписать F.5.5) в бо- более простой форме o, F.5.7)
112 Гл. 6. Полезные ортогональные матрицы (Орудия ремесла) где Mo^j/ 2 j;wyj^j;. F.5.8) Все, что мы сделали,— это связали матрицу Ak с Ао посред- посредством ортогональных матриц. Уравнение F.5.7) выражает тот факт, что вычисленная матрица Ak в точности ортогонально кон- конгруэнтна матрице Ао + М„. Определение. Мо называется матрицей эквивалентного возму- возмущения, соответствующей данному вычислению. Когда, наконец, матрица Aft записана на место Ak_lt лучшее, что можно сделать, это найти собственные значения матрицы А„ + Мо; собственные значения Ао уже недоступны. Поскольку Gy, следовательно, и Jy ортогональны, имеем IIMoKSlWJ. F.5.9) Более того, используя F.5.4) и ортогональность G, получим l|W/|KJlW/J + ||A/_1||B||F/|| + lF/f). • F.5.10) Лишь в этом месте потребуется все же изучить детали процесса. Отражения Н (w) и плоские вращения R/y не будут ортогональ- ортогональными только потому, что для вычисленных величин у, s и с ока- оказывается, что 2—7(w*w)^=0 и s'-^-c*—l^O. Для хороших арифметических устройств I^/K», F.5.11) е—единичная ошибка округления. Можно сказать, что Н и R,-. с рабочей точностью являются ортогональными. Заметим, что ошибки в w или 0(s = sin0) несущественны для F.5.11). Некоторых усилий потребует оценка Wy, поскольку эта мат- матрица сильно зависит от вида By. Заметим, что если бы А/ была просто результатом округления точного произведения В/А^Ву, то мы имели бы где использовано F.5.11). На практике ошибка несколько больше. Предположим, что для всех / п^ F.5.12) Ц. F.5.13)
§ 6.6. Обратный анализ ошибок 113 Подставляя F.5.10)" и F.5.11) в F.5.9), получим Даже если бы ошибки действительно достигали этих грубых оце- оценок, результат можно считать удовлетворительным при обычных значениях k, п и е. Например, если й = 99, п=100 и е=10~14, то ||М0|/|| Ао|^ 10~10. Если бы было нужно проводить вычисления при е=10~', то имело бы смысл выяснить, при каких усло- условиях п в F.5.12) можно заменить константой порядка 5. Для больших матриц (п > 400) редко пользуются последова- последовательностями ортогональных подобных преобразований, поскольку это приводит обычно к заполнению матрицы и повышению за- запросов к памяти. § 6.6. Обратный анализ ошибок Уравнение F.5.7) выражает точную связь между входом Ао и выходом Aft; оно не является ни приближенным, ни асимпто- асимптотическим. И все же читателя можно простить, если он думает, что пока было сделано мало и результаты довольно тривиальны. Именно в этом элементарном характере и заключается отчасти их важность. Прежние попытки проанализировать влияние оши- ошибок округления утвердили взгляд на эту задачу как на трудную и скучную. Простота была вновь обретена благодаря точке зре- зрения, развивавшейся в 1950-х годах главным образом Уилкинсо- ном и названной „обратным анализом ошибок". Этот шаг „обратно" привел на самом деле к значительному прогрессу. Стоит отметить следующее: 1. Нигде не упоминалось об ошибке! Даже символа не было предусмотрено для подлинной матрицы „Aft", которая была бы получена в точной арифметике. 2. Удалось избегнуть использования символов типа ® для обозначения операции машинного сложения. (Автору, когда он начинал изучение численных методов, пришлось повоевать с этими псевдооперациями.) Поскольку =, -(- и т. д. сохраняют свой обычный смысл, то такими хорошими свойствами, как ассоциа- ассоциативность и коммутативность, можно пользоваться без специаль- специального упоминания. 3. Уравнение F.5.7) относит ошибку обратно, как если бы она была возмущением входных данных. Эффект всех этих оши- ошибок таков же, как если бы в Ао было поначалу произведено воз- возмущение Мо, а все последующие вычисления были проделаны точно с ортогональными матрицами Gy. Если окажется, что Мо
114 Гл. 6. Полезные ортогональные матрицы (Орудия ремесла) поэлементно меньше, чем неопределенность в Ао, то и последствия ошибок округлений уступают влиянию входной неопределенности. 4. Может случиться, что (прямая) ошибка \Ак—„A*"J| будет очень велика, даже если Мо мала по сравнению с Ао. Это может иметь или не иметь значения, но может происходить лишь тогда, когда функция, отображающая А„ в „Ак", чувствительна к малым изменениям в Ао. Интуитивно мы представляем себе функцию с большой производной « говорим, что вычисление плохо обус- обусловлено. Другими словами, подход обратного анализа ясно пока- показывает, как реальная ошибка зависит от алгоритма (именно, М„) и как она зависит от задачи (именно, обусловленность послед- последней). Легко ошибиться, думая, что большая ошибка всегда озна- означает, что плох метод. 5. При вычислении собственных значений построение Ак мо- может быть промежуточной целью; например, Ак может быть трех- диагональной матрицей. В этом случае Мо гораздо более уместна, чем реальная ошибка, поскольку собственные значения Ак не могут отличаться от собственных значений А„ более чем на ||М0||, как бы велика ни была ошибка в Ak. 6. Прямой анализ ошибок (оценка ошибки) не является по- побежденным соперником обратного анализа. Необходимы оба. В част- частности, пользователи заинтересованы главным образом в оценке точности своих выходных результатов. Соединение обратного ана- анализа (когда он может быть применен) и теории возмущений часто дает лучшие оценки, чем прямолинейные попытки проследить, как округления увеличивают промежуточную ошибку на каждом шаге. § 6.7. QR-разложение и процесс Грама — Шмидта Всякая ненулевая прямоугольная (тхп)-матрица В может быть записана в виде B = QR, где Q—(тх г)-матрица, удовлет- удовлетворяющая условию Q*Q—\r, a R—(гхп) верхняя треугольная матрица с неотрицательными диагональными элементами; г = ранг (В). Обе матрицы Q и R определяются однозначно. Относительно доказательства см. упр. 6.7.3. Пример 6.7.1
§ 6.7. QR-разложение и процесс Грама — Шмидта 115 " 2:| -1 1 1 1 2/V6 I/V2T -1/V6 4/V17 2/V2T fvTe VJ]_i. I О V7JV3 QR-разложение есть матричная формулировка процесса Грама— Шмидта для ортонормализации столбцов В в порядке, указанном записью bj, b2, .... Ь„. Другими словами, множество {q1( q2, ..., q,}—один из ортонормированных базисов подпространства, натянутого на {Ь1; ..., Ь/\, /= 1, 2, ..., п; в символах, span(Qy) = ='span(B/). Здесь предполагается, что г = п. Если В имеет полный, ранг, т. е. если г = п, то R есть (верх- (верхний) множитель Холесского для В*В, поскольку В случае полного ранга другая ортонормальная матрица с той же линейной оболочкой столбцов, что и у В,— это матрица В^В'В)/*. См. упр. 6.7.6. В арифметике конечной точности неразумно вычислять Q и R путем слепой имитации формального процесса Грама—Шмидта; именно, при г = п > i п. Имеются альтернативные варианты. 6.7-.1. Модифицированный процесс Грама—Шмидта (MGS) Как только qy вычислен, исчерпываем его из остающихся векторов Ь. Положим b<1 =b,-, / = 1, ..., п; далее, для / = 1, п находим / t=, + i п. Это переупорядочение стандартного процесса Грама —Шмидта. Оно предпочтительней, если есть опасность сильного взаимного уничтожения при вычитаниях. 6.7.2. Метод Хаусхолдера Умножим В слева на последовательность отражений Н,- с тем, чтобы привести ее к верхней треугольной форме. На первом
116 Гл. 6. Полезные ортогональные матрицы (Орудия ремесла) шаге вычисляем Далее работаем с В<2> и продолжаем таким образом, пока не при- придем к Наконец, Q = Ht...HnEn, где Е„—матрица, образованная первыми п столбцами \т( Другой метод, приспособленный для больших т, указан в § 6.8. Упражнения к параграфу 6.7 6.7.1. Как связаны коэффициенты, вычисляемые в MGS, с элементами R? 6.7.2. Показать, что В*В положительно определена при r=n<s?,m. 6.7.3. Доказать существование QR-разложения в случае неполного ранга, модифицировав процесс Грама — Шмидта так, чтобы учесть возможность появ- появления нулевых векторов. 6.7.4. Найти QR-разложение для трех матриц (abc), (bca), (cab), где "[?]•ь= й- 6.7.5. Провести подсчет числа операций для вычисления Q, если векторы w,-, определяющие отражения Н,-, заданы. 6.7.6. Если X положительно определена, то Х1/а обозначает единственную симметричную положительно определенную матрицу, квадрат которой есть X. Проверить, что если ранг (тХ«)-матрицы В равен п, то В(В*В)-'/« сущест- существует и является ортонормальной. *§ 6.8. Быстрые масштабированные вращения Рассмотрим умножение произвольной матрицы В на плоское вращение R (k, /, 6). Меняются в В лишь строки k и /, поэтому можно упростить обсуждение, записывая %i = bki, ¦х\( = Ь)[, у = cos 6, a=«sin9. Задача заключается в том, чтобы вычислить для i=\, 2,3 п F.8.1)
§ 6.8. Быстрые масштабированные вращения П7 В обычном преобразовании Гивенса недостатком является необхо- необходимость извлечения квадратного корня при вычислении у и о. (Если операция извлечения квадратного корня реализована аппа- ратно, она требует не больше времени, чем два или три умножения). Более крупный недостаток — то, что при каждом i в F.8.1) тре- требуются четыре умножения. Цель состоит в том, чтобы избавиться от половины этих умножений; трюк, позволяющий ее достигнуть, — хранение векторов в факторизованной форме. Если ограничиться только одним вращением, то никакого улуч- улучшения добиться нельзя. Однако на практике обычно выполняют последовательность плоских вращений, как, например, при при- приведении В к верхней треугольной форме, обсуждавшемся в § 6.7. Чтобы объяснить идею, запишем F.8.1) как двухшаговую операцию. Пусть r=tg0, у = cos 6. Вначале вычисляем I,- = ^-тт,,., \ =э т1{ + Л/, i = 1 п, F.8.2) а затем заметим, что Нужный результат получается, если отложить выполнение F.8.3). Цена за это—та, что новая матрица В' хранится в факторизо- факторизованной форме ЛВ, где диагональная матрица А в позициях k и / должна содержать множитель у. Наше изложение основано на статье [Hammerling, 1974]. 6.8.1. Как сократить число умножений Исходя из изложенных замечаний, начнем снова. Предполо- Предположим, что В задана в факторизованной форме АС, где А—диаго- А—диагональная матрица. Наша задача—вычислить R (k, \, 6) В в виде А'С, где А' можно выбрать из соображений удобства. Итак, рас- рассматривая строки k и /, видим, что у очГй й ••• €1 „гу -<пГ» о ni *•* %\ L" 'JLO »• «2 ' ' • С 4l % * ' * Чл F.8.4) и для каждого I F.8.5) Имеется несколько вариантов выбора (х' и v', позволяющих вычисление % и tjJ посредством лишь двух умножений:
118 Fa. 6. Полезные ортогональные матрицы (Орудия ремесла) |Г = уЦ, v' = 7v; F.8.6а) ji' = av, v' = <T|i; F.8.6а') (д' = yja., v' выбирается из условия vv/v' = av/fx'; F.8.6в) ju,' = av, v' выбирается из условия y\i/\x' = <jfx/v'. F.8.6c) 6.8.2. Как избежать извлечения квадратных корней Чтобы избежать взятия квадратного корня, нужно использо- использовать то обстоятельство, что гивенсово вращение сконструировано специально для того, чтобы аннулировать матричный элемент, обычно г],'. В этом случае F.8.5) при i=\ дает для r=tg8 - F-8.7) Из основных тригонометрических тождеств следует у2=1/A+т2), а2 = у2т2. F.8.8) Для определенности выберем ц/ и v' в соответствии с F.8.6а). Тогда из F.8.5) <+п<" F-8-9) Ключевое замечание состоит в том, что о/у кратно v/fx. Согласно F.8.7), ^ _?И. = Ч1. F.8.10) Уравнение F.8.10) показывает, что \х и v не нужны, и достаточно иметь лишь }г2 и v2! Чтобы подготовиться к следующему гивен- сову вращению, требуются только F.8.11) и нет необходимости в вычислении у, о или т. Подведем итоги: Быстрое преобразование Гивенса перестраивает А2 и С так, чтобы произведение АС давало вращаемую матрицу. Приведем реальный алгоритм, основанный на F.8.6а): a — цЛи Р ^ (v2)a/(^2), о «- 1/A №) <- (ц2) ш, (v2) - (v2) со, ?, *- и для j = 2, ..., п Л, - П/-оЛ- F.8.12).
§ 6.8. Быстрые масштабированные вращения 119 Пример 6.8.1. Быстрое преобразование Гивенса А2 С Г1 01 Г5 2 4 61 [0 4J [2 3 7 5J ш+- 1/A +сф) = 1/A +@.4) A.6)) = 0.61 ц'2 —(ц2)ш=1 @.61) = 0.61 v'2 *- (v2) ш = 4 @.61) = 2.44 и т)(- вычисляются в соответствии с F.8.12). 0.61 0 Л' 01 2.44 Г8.2 0 6.8 2.2 С 15. 5. 2 4 14. 2.6 Элементы А не могут возрастать, но возможность машинных нулей существует. Чтобы предупредить подобную катастрофу, лучше не опираться лишь на какую-либо одну из формул F.8.6), а позволить программе выбирать, скажем, (а), если | vt)j | ^ | jx|, | (что обеспечивает (|х'J^ (ц2)/2), или (а'), в противоположном случае. 6.8.3. Анализ ошибок Алгоритмы типа F.8.12) робастны при наличии округлений. Этого и следовало ожидать, поскольку F.8.12) всего лишь масшта- масштабированный вариант стандартного гивенсова вращения, а произ- произведения всегда вычисляются с очень малой относительной ошибкой (исключая машинные нули и переполнения). Ситуация достаточно проста, чтобы ее можно было изложить. С целью убрать отвлекающие детали будем обозначать через е очень малое число (например, |е|=10~14), которое при каждом своем появлении может принимать новое значение. Так, A -f-eJ — краткая запись для A -Ь ег) A Ч- е2). Вычисленные величины будем отмечать чертой сверху: а, р, и т. д. Сделаем реалистическое предположение, что при реализации алгоритма F.8.12) = [A +е)т]2. F.8.13) Мы усердно изгоняли у и а из вычислений в F.8.12), но сейчас для целей анализа мы хотим вернуть их обратно. Чтобы сделать это, введем (х'( величину, которая нигде в реальном процессе не участвует, определив ее как точный квадратный .корень из нового значения переменной (х21). Предположим, опять же вполне реали- И аналогичную величину v'.—Прим. перев.
120 Гл. 6. Полезные ортогональные матрицы (Орудия ремесла) стически, что j? = (l+e)|*v, v' = (l+e)vT. F.8.14) Теперь мы готовы рассмотреть главное вычисление в F.8.12). Имеем вследствие операций умножения и сложения. Далее, умножая на и используя F.8.14), F.8.13) и F.8.10), находим ']П = Wtt A + еJ + W (av/w) ц{ A + «K, -}:6)?. F.8.15) Заменим (l+e)ft на \-\-Ы (вспомните подвижной характер е) и, опираясь на F.8.5), получим нужное соотношение v'ti'J Lv4'J L—Зеа 2eT J [хц{ Это уравнение в точности того же вида, что и уравнение для ошибок, связанных со стандартным гивенсовым вращением. Новые формулы столь же устойчивы, как и старые, а машинных нулей избегают, гибко используя возможность выбора среди формул F.8.6). 6.8.4. Накопление произведения В некоторых приложениях нужно иметь произведение всех плоских вращений. Обычно это произведение накапливается по- постепенно; на каждом шаге текущее произведение умножается слева на очередное плоское вращение. В этой ситуации нужны значе- значения у и а, и кажется, что квадратный корень все же придется извлекать! Разумеется, при этом желательно все-таки сохранить формулы с двумя умножениями для перестройки Д2 и С. Однако снова оказывается, что без квадратного корня можно обойтись. Если вычислять несколько неортодоксальный вариант QR-разложения, то можно перестраивать на каждом шаге масшта- масштабированную версию Q, не извлекая квадратных корней. Покажем, как это делается для выбора масштабирования в соответствии с. F.8.6а). Обозначим через Q текущую ортогональную матрицу. Нетривиальная часть гивенсова вращения записана в виде °1 Предположим, что Q масштабирована и две изменяемые строки суть _^о] |-;:: ... ^
§ 6.9. Ортогонализация в условиях округлений 121 Чтобы сохранить возможность перестройки с двумя умноже- умножениями, нужно переставить G и W. Таким образом, RQ = (Y<F)(GS), где имеет ту же желаемую форму, что и G. Эту перестановку G и ? можно сделать для произвольных положительных %, %, достигнув тем самым экономии умножений при формировании GS. Однако величины у, т, |л и v нельзя получить непосредственно из алго- алгоритма F.8.12) и вычисление yW требует, как кажется, квадрат- квадратного корня из со. К счастью, выбор % = ц, if>2 —v(t. e. ЧГ=Д) устраняет этот маленький недостаток. Действительно, согласно F.8.7), F.8.11) и F.8.12), ТР = — (VTh/lilj) (v/Ц) = — Р, т/р = —(vTh/H&)(l*/v) = —« . (а и Р известны), Результат тот, что одни и те же масштабирующие множители используются как для В, так и для трансформирующей матрицы Q. В символах В=«ДС—B' = RB = A'C, где вычисляются C'=GC, S' = GS, (Л') и 1 PI *§ 6.9. Ортогонализация в условиях округлений Простейшая задача ортогонализации, к которой можно свести все остальные, такова. Даны векторы у^=о и z; вычислить век- вектор р — компоненту вектора z, ортогональную к у. Формула имеет вид Р = z—у (y*z/y»y) = [1 —у (у'уГ'уЧг. Округления осложняют процесс в двух местах. Во-первых, мы можем вычислить лишь приближение к к y*z/y*y. Во-вторых, мы
122 Гл. 6. Полезные ортогональные матрицы (Орудия ремесла) Рис. 6.9.1. Ортогональность в условиях округлений можем вычислить лишь приближение х к p = z—Ay. В частности, если г почти параллелен у, то в последнем вычислении произойдет катастрофическое взаимное уничтожение, после чего вместо р оста- останутся лишь ошибки округления. Это иллюстрирует пример 6.9.1. Пример 6.9.1 Вертикальная черта отделяет удерживаемые знаки от отбра- отбрасываемых. Даны У 0.3179 0.0253 0.0082 • 2 = 0.3170 0.0258 0.0085 Вычисляем Л = ^ = O.9973J37O7 Р-2 (Лу)8 - X = 2 - (ЛуL = 0.3170 0.0252 0.0081 5346 3263 7816 -0.00005346' 0.00056737 0.00032184 0.00001 0.0006 0.0004 ' II II /IIIIPII у*х У|И|х|| 0.0802. В большинстве приложений ортогонализации требуется, чтобы вектор х, вычисленное приближение к р, имел следующие два свойства:
§ 6.9. Ортогонализация в условиях округлений 123 I. х с рабочей точностью ортогонален к у. II. z очень близок к линейной комбинации х и у. В таком случае х очень близок к компоненте, ортогональной к у, вектора, очень близкого к г. Насколько можно приблизиться к удовлетворению этих тре- требований, если наивно вычислять A = y*z/]|y||2 с округлением, x = z—%у с округлением? В этом случае оказывается |!x-(z-Ay)||<6g||z|| для некоторых очень малых положительных чисел бх и б2, зави- зависящих от разрядности арифметики и других вычислительных де- деталей. Последнее неравенство удовлетворяет свойству II, указан- указанному выше. Однако поскольку то и мы получаем, что Таким образом, свойство 1 может не выполняться, если отношение [|z||/|x| велико, что и будет, если г и у почти параллельны. Тем не менее, несмотря на округления, можно вычислить х, который удовлетворяет и I, и II, хотя и за некоторую плату. Приводимый ниже алгоритм („двойной цены достаточно") и анализ принадлежат Кахану. Предположим, что имеется .простая подпрограмма orthog, ко- которая для заданных у^О и г вычисляет приближение х' кр = s=z—у(y*z/j|y|a). Пусть ошибка е'(г==х'—р) удовлетворяет не- неравенству ||e'||^8||z| для некоторого очень малого положитель- положительного е, не зависящего от у и z. Пусть х—произвольное фикси- фиксированное, число в интервале [1/@.83—е), 0.83/е]. Алгоритм. Произвести вызов orthog (у, г, х'), чтобы вычис- вычислить х'. Случай 1. Если ||х'J^||z||/x, принять х = х' и е = е'. В противном случае произвести вызов orthog (у, х', х"), чтобы вычислить х" с ошибкой е"Е=х"—(х' — уу*х7||у||а). удовлетворя- удовлетворяющей неравенству ||е"|^в|х'|, и перейти к случаю 2.
124 Гл. 6. Полезные ортогональные матрицы (Орудия ремесла) Случай 2. Если |х"|^|х'|/х, принять х = х", е = х"—р. ' Случай 3. Если ||х"|| < ||х'|/х, принять х = 0, е = — р. Заметим, что при малом я, например и =1.25, оценки получатся очень хорошими, но случай 1 будет более редким, а алгоритм—более дорогостоящим, чем при х=100. Лемма. Вектор х, вычисленный алгоритмом, удовлетворяет оценкам Доказательство. Исследуем три случая, которые могут иметь место в алгоритме. Случай 1. ]у*х[ - |у*х'| - |y*e'j < ||у Случай 2.и ]у*х] - ]у*х"| « |у*е"| Цв|| - Цх" - р|| - ||р + A -уу71!у!!>' + е" - рЦ < |[е'|[ + ||е"|| < в||2Ц + е||х'Ц < Случай 3. Поскольку х = о, то |у*х| = О<х8||у||-|хЦ. Теперь мы должны доказать, что е = — р удовлетворяет неравенству ||р|^м_)—j e||z||. В действительности мы докажем большее, именно, что ||р||<[1—(е + хJ]-1'2^'!, откуда и следует ну ж- ное неравенство, так как || е' |]< е || z || и [ 1 —(б + хJ]/2 < 1 + х. Последнее неравенство вытекает из принятого нами ограничения на х (см. упр. 6.9.2) и служит, чтобы придать оценке для ||е|| тот же простой вид, что и в двух других случаях. Представим е' в виде a-j-b, где а=A—уу»/| у ||2) е' и Ь=уу*е'/[|у Ца- Тогда, используя упражнение 6.9.1, получим 11 См. упр. 6,9.1 и определение вектора а, приведенное ниже,—Прим, иерее.
§ 6.9. Ортогонализация в условиях округлений 125 ИР + а|| - ||е"Ц > IIP или (e + и-')||х'|| = (e + x- a[f. Поскольку b*p = b*a = O, то, возводя в квадрат, имеем (е + х-'JA1Р + а||2 + ЦЬЦ2) > а||2, откуда J|p|| < ||p + a[[ + Hall < Half + ЦЬЦ(? + *-')/0 - (г +.*-') -l\2 llbf что и утверждалось. Пример 6.9.2 показывает алгоритм в действии. Пример 6.9.2 Данные взяты из примера 2.5.3 У 0.16087 -0.11852 0.98216 X Ю. |у|| = 0.22264 х"(= х' -Л». 0.8353 X 10"* 0.9110 X 10 -0.2689 X 10 2 -0.50069 0.36889 -0.30569 ||z|| <= 0.69297 Р 0.48705 0.60812 -0.63987 X X X X X X X 10"' ю-' ю-' X (*= 2 -0.20000 0.30000 -0.20000 10-' ||х'|| = 0.41231 е («= х" 10 10'6 10"8 0.34825 0.30288 -0.20431 X X X X - X X X лу; 10 10 ю-5. ю-5 Р) ю-6' ю~6 ||х"|| = 0.12648' X 10~5 > 0.41231 X 10 = ||х'||/« ||е|| = 0.50498 X 10~в < 0.76227 х 1(Г« - (I + \/*)Ф\\ |(х")*у| = 0.72914 х 10-" < 0.28160 X Ю0 •= jtfi||x"||
126 Гл. 6. Полезные ортогональные матрицы (Орудия ремесла) Упражнения к параграфу 6.9 6.9.1. Показать, что х" = е" + а + р. 6.9.2. Решить относительно ц > 0 уравнение 1=A+ц)! A—(х2). Здес<> можетпомочь калькулятор. Для каких значений (х будет [1 — (е + [гJ] A -}-[г)а^1? Примечания и ссылки Плоские вращения были использованы в статье [Jacobi, 1846] и вошли в широкую вычислительную практику после работы [Bargmann, Montgomery, von Neumann, 1946]. Странно, что отражения (или симметрии, как их называют в теории групп), которые составляют единственный класс элементарных матриц, способный порождать всю группу ортогональных матриц, не использовались как вычислительное средство до 1958 года [Householder, 1958]. Быстрое их внед- внедрение обязано в значительной степени работе [Wilkinson, 1960]. Альтернатив- Альтернативные формулы для отражений во внутренних бисекторах были даны в статье [Parlett, 1971]. Возможность сократить вдвое число умножений в последовательности пло- плоских вращений путем остроумного применения масштабирований была указана в статье [Gentleman, 1973]. В своем изложении мы следовали работе [Hammer- ling, 1974]. Очень схожие идеи используются в статье [Gill, Murray, Saunders, 1975], где матрица Грама —Шмидта. Q в разложении B = QR сама хранится в масштабированной форме. Нужно упомянуть также и о недавних работах по перестройке Q, когда В претерпевает малое изменение; в частности, [Gill и др., 1974]. Параграф 6.9 основан на неопубликованных работах Кахана. Тот факт, что „двойной цены достаточно" при ортогоналнзации в условиях округлений, недостаточно хорошо известен. Результаты работы [Daniel et al., 1976] можно рассматривать как расширения этого анализа применительно к случаю ортого- нализации сразу к нескольким почти ортонормальным векторам. Анализ ошибок в §§ 6.5—6.6 основан на гл. 3 книги [Wilkinson, 1965J.
ГЛАВА 7 Трехдиагональная форма § 7.1. Введение В этой главе рассматривается вопрос о приведении произ- произвольной симметричной матрицы А к подобной трехдиагональной матрице Т, а также о спектральных свойствах, которыми обла- обладает Т. Определение. Матрица Т называется трехдиагональной, если /,7 = 0 при |/ — /|>1- Чтобы упростить обозначения, полезно писать /// = «,-, /,-, t+i =Р,- (иногда удобней положить /,-, j+i —Р/+1) и J А-. А- G.1.1) Определение. Т( = Т1п) называется неразложимой, если C, =^0, 1=1, . . ., л—1. Если при некотором k окажется Рй = 0, то Т есть прямая сумма двух трехдиагональных матриц, скажем Т\ порядка k и Т2 порядка п — k. Собственные значения и собственные векторы Т легко получить из собственных значений и векторов Tj и Т2 (упр. 7.1.1); таким образом, вычисления можно свести к нахож- нахождению собственных значений и собственных векторов меньших трехдиагональных матриц, которые уже являются неразложи- неразложимыми. Поэтому не будет потери общности, если в дальнейшем мы ограничимся неразложимым случаем. Ключевыми являются следующие факты: 1. Собственные значения и собственные векторы Т можно найти со значительно меньшей затратой арифметических опера* ций, чем требуется для заполненной матрицы А.
128 Гл. 7. Трехдиагональная форма 2. Всякую матрицу А можно привести к подобной Т посред- посредством конечного числа элементарных ортогональных подобных преобразований. Для того же чтобы диагонализовать матрицу, требуется в принципе бесконечное число преобразований. 3. Если матрица Т неразложимая, то ее собственные значе- значения различны (хотя и могут быть очень близки), а ее собствен- собственные векторы имеют некоторые полезные специальные свойства. См. параграфы 7.7 и 7.9. Не всегда разумно пользоваться трехдиагональной формой. Чем меньшую ширину ленты имеет матрица, тем больше цена приведения к трехдиагональному виду по отношению к полному процессу вычисления собственных значений и/или собственных векторов другими методами. Иногда трехдиагональные матрицы выступают как входные данные задачи. Например, такие матрицы связаны с семействами ортогональных многочленов и со специальными функциями, вроде функций Бесселя, которые удовлетворяют трехчленным рекур- рекуррентным соотношениям. К примеру, нули Jт выражаются фор- формулой 2\У\кк, k= 1, 2, ..., где цк — собственные значения Т1щ „ и а, = 2/(т + 2i — 1) (т + 2i + 1), Упражнение к параграфу 7.1 7.1.1. Пусть T = diag(Tb T2), и пусть T/=S^e/S/—спектральные разло- разложения матриц Т/, (=1,2. Каково спектральное разложение Т? Пусть 9 — собственное значение обеих матриц: Тх н Т2. Описать собственные векторы Т, отвечающие 6. § 7.2. Единственность приведения Существует несколько способов приведения произвольной мат- матрицы А к трехдиагональной форме Т. Однако, прежде чем обсуж- обсуждать какой-либо из них подробно, разумно выяснить, в какой степени конечная матрица Т зависит от метода. Ответ дает при- приводимая ниже теорема, но, прежде чем ее сформулировать, необ- необходима некоторая дополнительная нормировка. Лемма. Пусть Т неразложима, и пусть Т+—матрица, полу- полученная из Т заменой каждого р,- на |Р/|, t = l, ...,п—1. Тогда т+=дтд=дтд-<, где A = diagF1 б„) и б,. = ±1. G.2.1)
§ 7.2. Единственность приведения 129 Доказательство предоставляется читателю в качестве упраж- упражнения 7.2.1. Лемма показывает, что без потери общности можем считать: р1; > 0, i = 1, . .'., п— 1. Теорема. Пусть Q*AQ = T+, где Q—ортогональная. Тогда Т+ и Q = (qt, q2, ..., qn) единственным образом определяются матрицей А и вектором q: или А и qn. G.2.2) Доказательство. Поскольку Q* = Q~1, то посылку теоремы можно записать как QT+ = AQ. G.2.3) Приравняем теперь /-е столбцы в обеих частях G.2.3), исполь- используем то обстоятельство, что /-й столбец Т+ содержит лишь три ненулевых элемента, и переставим члены. В результате придем к важному соотношению: q/+iP/ = Aq,—q/z,— qy-jP/-! =ry. G.2.4) Если положить Ро = Р„ = О, то это соотношение выполняется для всех /, /=1, ...,п. Таким образом, гп = 0 и q0, qn+1 не опре- определены. Используем далее ортогональность Q в форме q*qft = 6,-A (кронекеров символ 6), что дает: 1. 0 = q; (q/+lPV) = qJAq/-1 •а/-0.-Ру_1, 2- P/Hlq/^P/liHIM, так как по предположению р*7 > 0. Таким образом, р*^, qf_t и q^ определяют в указываемом порядке a/t tj, p^ и q; + 1 для /=1,2, ..., п. Поскольку ро = О, то оц, г^ Pi и q2 определяются одним лишь q:. Следовательно, путем конечной индукции q: однозначно определяет все элементы Т+ и Q. Переписывая G.2.4) в виде можем показать, что Р7, q/+1 и qf определяют а}, tf, py-1 и qy_,. Так как Р„ = 0, то qn также однозначно определяет Т+ и Q. 7.2.1. Замечания 1. Мы не доказали, что для данной матрицы А каждый еди- единичный вектор q: определяет единственные Т+ и Q. Единствен- Единственность нарушается, если 1^ = 0 при некотором /. Тогда Ру = |Гу||=О и Т разложима. Этот редкий случай срыва следует благослов- благословлять, а не проклинать. Срыв может произойти, лишь если q: ортогонален по крайней мере к одному собственному вектору А.
130 Гл. 7, Трехдиагональная форма Если Р^г = 0, то в качестве q^+1 можно взять любой единич- единичный вектор, ортогональный к предшествующим векторам q, и продолжать процесс. Потеряна лишь единственность. 2. В доказательстве $f_x было определено как Р/_1 = ||г/_1||. Однако если умножить G.2.4) слева на qj_1( то ясно, что P/-i = q/-iAq/. G.2.5) Эти два выражения для р/_1 в точкой арифметике эквивалентны, но оказываются весьма различными при использовании на ЭВМ. Выясняется, что следует избегать G.2.5); но это далеко не оче- очевидно, и действительно часто рекомендовали именно формулу G.2.5). 3. Не предполагается, что Т и Q непременно должны быть вычислены посредством использованной в доказательстве про- процедуры, которая является на поверку алгоритмом Ланцоша. Для больших А процесс Ланцоша очень полезен, но, чтобы извлечь все его выгоды, необходима тщательная реализация. См. гл. 13. Упражнения к параграфу 7.2 7.2.1. Доказать лемму G.2.1). Считая, что заданы А и собственный век- вектор - матрицы Т+, найти алгоритм замещения s соответствующим собствен- собственным вектором Т. 7.2.2. Пусть  О П А=|0 2 0 . OlJ Привести А к трехдиагональному виду, следуя доказательству теоремы G.2.2). Взять два начальных вектор? '-•-, и ея. ?.2.3. Привести к трехдиагональному виду матрицу diag A, 10, 100), начиная с вектора A, 1, 1)*/^3. § 7.3. Минимальные характеристики Пусть 1 =T+=Q*AQ. Поскольку Т и Q определены вектором qt (=Qe1), вполне вероятно, что существуют простые и удобные формулы по крайней мере для некоторых элементов Т и Q. В этом параграфе указаны такие формулы, и их вывод по суще- существу сводится к систематической эксплуатации трехдиагональ- ной формы. Рассмотрим, к примеру, матрицу 4x4:
§ 7.3. Минимальные характеристики 131 Те, Т'е, О a\ + Ba, + a2)fif Оказывается, что вид первых столбцов степеней матрицы Т дает причудливую, но полезную характеризацию Р и q с помощью некоторых многочленов. В соответствии с § 7.1 ведущую главную подматрицу порядка / матрицы Т можно обозначить через Tlt,. Ее характеристичес- характеристический многочлен обозначим через %/• Для удобства положим %0(l)=U и пусть (Ж3"к—множество всех многочленов степени k со старшим коэффициентом 1. Теорема. Пусть трехдиазональная матрица Т имеет положи- положительные поддиагональные элементы (см. G.1.1)). Тогда для 1=1, .... л—1 а) РА ... р, = ||>Х/ (Т) et || = min И(Т) ех|| ло всем т|) 6 ^^., б) е/+1==х/(Т)е1/(р(...р/). G.3.1) Доказательство. Заметим, что последний ненулевой элемент вектора Т^ находится в строке / +1 и равен pf ... р^ (упр. 7.3.1). Отсюда вытекает, что это же верно для вектора г|)(Т)е, при любом г|) из <Ж9*}, поскольку JJ—единственный член, дающий ненулевой вклад в строку / +1. Следовательно, причем равенство имеет место, лишь если ¦ф(Т)е1 = еу+, (Р, .. . Р,-). Более пристальный взгляд на первые / элементов вектора ¦фСГ^ или скорее векторов T*ef, k<ij, показывает, что они зависят только от Тг,/. Более точно, положим Еу = (е!, ...,е,), тогда (упр. 7.3.2) для любого ty^aSOPj K. G.3.2) Заметим, что et в левой части есть вектор из ё", а е? в правой части —вектор из <?Л По теореме Кэли — Гамильтона, %/(Ти/)=О, и потому E]%j(T)e% = 0. Согласно сказанному выше, X/(T)ef
132 Гл. 7. Трехдиагональная форма должен совпадать с e/+J flij ... f>j), и тем самым оба утверждения установлены. Конечно, если мы имеем Т в явном виде, то у нас нет ника- никакого стимула, чтобы характеризовать р^ или е,-. Однако можно подставить Q*AQ вместо Т и получить выражения, содержащие лишь А и qt. См. упр. 7.3.3. Следствие. Пусть T = T+ = Q*AQ, edeQ = (qlt ..., qn)—орто- qn)—ортогональная. Тогда для /== 1 п—1 Pi • • • Эу = IX/(A) qf || =min||ф(A) qt 1 по всем ф€<^,, G.3.3а) ..py). G.3.3b) Существуют ситуации, когда А и q4 известны, а Т и Q — нет. Неизвестны также и %у, однако интересно, что неизвестные Ру должны иметь минимальное свойство G.3.3а). Если А фикси- фиксирована, то X/ называют минимальным многочленом для q1 в (ЖЗ*/. Иногда X/ называют также многочленом Ланцоша для qf. Упражнения к параграфу 7.3 7.3.1. По индукции или каким-либо иным способом показать, что eftT^! =0, если fr > / + 1, и =pt ... f>j, если k=j-\-l. 7.3.2. По индукции илн каким-либо иным способом показать, что для Вывести отсюда, что E/tj) (Т) е1='ф (Т^ y)et для всех ¦»]) из 7.3.3. Доказать следствие теоремы G.3.1). 7.3.4. Найти выражения для a.j через qt и многочлены от А. 7.3.5. Доказать следствие непосредственно, приравнивая /'-е столбцы обеих частей равенства AQ = QT; используя затем тот факт, что X/ удовлет- удовлетворяют некоторым трехчленным рекуррентным соотношениям, показать, что qy+] должен быть кратным вектора % (A) qv 7.3.6. Пусть Г4 2 П j Г_П Найти оценки сверху на р^ и $!$2. Использовать метод доказательства тео- теоремы G.2.2), чтобы вычислить в данном поридке а.ъ plf qa, a2 и р2- Указать Xi и Х2- § 7.4. Явное приведение заполненной матрицы Всякую матрицу А можно привести к трехдиагональному виду Т посредством последовательности простых ортогональных подоб- подобных преобразований, получая нулевые элементы столбец за столб-
§ 7.4. f/вное приведение заполненной матрицы 133 цом. Первый шаг типичен для процесса и проще всего может быть описан, если разбить А на клетки следующим образом: Рассмотрим теперь произвольное ортогональное подобное преоб- преобразование матрицы AJf оставляющее неизменным элемент A,1): А, 1 0*]|Ч cf «I -OfP, ] Pfci PfM,P,J* 1 0*] 0. P,J Всякая ортогональная матрица Р1( такая, что Р^с1 = е1р1, приве- приведет к матрице А1? трехдиагональной в первом столбце. Поскольку Pt ортогональная, то IPxHieAIHIPtqlHNI- Ниже описаны два практичных выбора для Pt. Когда Pf выбрана, то P'1NilP1, которую мы назовем А2, вычисляется в яв- явном виде. Поскольку этот шаг—суть алгоритма, его стоимость имеет критическое значение для эффективности метода. На пер- первый взгляд кажется, что здесь два матричных умножения, а это обычно требует 2 (п—IK операций. Однако мы сумеем добиться гораздо лучшего результата. На втором шаге тот же прием применяется к матрице PfM,P, га А2 А2—матрица порядка п Р2 так, чтобы Р Р 1. Выбирается ортогональная матрица а затем нужно вычислить А РМР дб 2 , 22 1Р2 у 3 22 Решающим обстоятельством является то, что подобное преобразо- преобразование второго шага сохраняет нулевые элементы, полученные на первом шаге. Это можно увидеть, вычисляя произведение следую- следующих трех матриц: I 0 0 0 1 0 0*' 0* «I Pi 0 «2 o*. c* M2 1. 0 0 0 I 0 0* 0* Pi Процесс продолжается, матрица, еще не приведенная к трех- диагональному виду, сокращается, и, наконец, после п—2 шагов будет получена Т.
134 Гл. 7. Трехдиагональная форма Нужно отметить еще одно обстоятельство: P*-2J l° Pf JA[0 Р, «« Q*AQ, чем определена матрица Q, и t ?.]«-•¦• По теореме G.2.2) о единственности приведения произведение п — 2 ортогональных матриц, содержащих в себе Р,-, определено одно- однозначно, несмотря на различные возможности выбора матриц Р„ i = l, ..., п—3. 7.4.1. Использование симметрии Если А—заполненная матрица и может быть хранима в быст- быстродействующей памяти, то предпочтительным выбором для Р, удовлетворяющей условию Рс = е,р\ является матрица отражения P = H(w) = I—yww*, y = 2/w*w, где = || с I sign (etc). Этот выбор приносит существенную выгоду в двух отношениях. Во-первых, Р не нужна как явный двухмерный массив; она опре- определяется вектором w, a w отличается от с лишь своим первым элементом. Таким образом, не требуются дополнительные пхп массивы. Во-вторых, как объясняется ниже, подобное преобра- преобразование Н (w) MH (w) может быть выполнено с большой эффек- эффективностью. Было бы нелепо заполнить (/х/)-массив Н, а затем выполнить два матричных умножения ценой 2/3 скалярных умно- умножений. Вместо этого воспользуемся тем, что Н—элементарная матрица, и напишем НМН = (I - yww*)M(l - yww*) •» М - yw(w*M) - y(Mw)w* + y2w(w*Mw)w, <- M - wp* - pw* + (yw'p)ww* G.4.1) где p = yMw. !) В правом конце 2-й строки G.4.1) по-видимому должно быть w*.- Прим. перев.
§ 7.4. Явное приведение заполненной матрицы 135 Удачное введение вектора р сокращает число операций до 3/? умножений. Однако имеется еще один трюк (принадлежащий Уилкинсону), который является прекрасным примером искусства в составлении программ, реализующих численные методы. Значе- Значение yw*p = Y2w*Mw действительное (даже если М—комплексная эрмитова матрица), поэтому четвертый член в1' G.4.1) можно распределить между вторым и третьим членами следующим обра- образом. Вычислим q = p — w(yw*p)/2, а затем НАШ = М—wq* — qw*. Порядок вычислений и число операций указаны в следующей таблице: Величина Число умножений W 0 Y j Л) р + 1) W* j р q j M-wq*- / qw* Всего • Ж) + 2) На каждом шаге приведения к трехдиагональному виду по- порядок / уменьшается на единицу. Общее число операций 2) равно п— I ?, 2/ (/ + 2) = -=-n3 + n2 + O(n), в то время как наивная реализа- = 2 ция потребовала бы na(n + l)a/2 ops. Число квадратных кор- корней—(п— 2). Более подробное описание данов алгоритме П/2 Справочника. Метод был впервые предложен в 1958 г. Хаусхолдером. 7.4.2. Плоские вращения Другой способ приведения с к ?±ei||c||—это последователь- последовательность из /—1 плоских вращений. Эти элементарные ортогональ- ортогональные матрицы были описаны в § 6.4. Каждое вращение воздей- воздействует на две строки (и два столбца) матрицы и создает один новый нуль в векторе, первоначально совпадавшем с с. Элементы могут аннулироваться в естественном порядке 2, 3, ...,/ или в обратном. Кроме того, имеются два распростра- распространенных способа аннулирования элемента k: путем вращения в плоскости (\,k) либо в плоскости (k—l,k). Каждое из /—1 вращений требует 4/ умножений и 1 извле- извлечение квадратного корня. Это дает общее число операций умно- умножения, равное 11 Правой части.— Прим. перев, 8J Умножении.—Прим. перев.
136 Гл. 7. Трехдиагональная форма и п(п —1)/2 квадратных корней. Метод и сама идея приведения А к Т были предложены Гивенсом в 1954 г. Для заполненных хранимых матриц вращения не могут кон- конкурировать с отражениями; однако они полезны при обработке разреженных матриц, особенно если используются в масштаби- масштабированной, или быстрой, форме, которая сокращает вдвое число операций. См. § 6.8. Вдобавок легко опустить ненужные вращения. Упражнения к параграфу 7.4 М Sym О 1 -1 2 42 4-2 0 4. 7.4.1. Выполнить первый шаг приведения М :> к трехдиагональному виду посредством отражения. Указать векторы w, p и q. 7.4.2. Привести первый столбец М к трехдиагональиой форме посредством плоских вращений в плоскостях B,3) н B,4). 7.4.3. Использовать быстрые преобразования Гнвенса, описанные в § 6.8, для приведения М к факторизованной трехдиагональной форме ДТД,. где Д диагональная. § 7.5. Приведение ленточной матрицы djj — Q для jt — /|>/n, ширина ленты А равна 2пг+1. Матрица порядка 500 с шириной ленты 51 требует для хра- хранения своих элементов 13000 слов и может быть обработана в быстродействующей памяти при условии, что ширина ленты в ходе алгоритма не возрастает. Аннулируя пары элементов atJ и ciji в некотором неочевидном порядке, можно привести ленточ- ленточную матрицу к трехдиагональному виду, не увеличивая в про- процессе ширину ленты. Напомним, что посредством подходящего плоского вращения R (i, j, 8) можно аннулировать любой внедиагональный элемент /-го столбца А, переходя к матрице R*AR. Если этим обречен- обреченным элементом является aif, то R часто называют вращением Якоби; в противном случае R называется вращением Гивенса. 11 Символ sym означает у автора дополнение матрицы по симметрнн.— Прим. перев.
§ 7.5. Приведение ленточной матрицы 137 XXX X—X— X — \ Рис. 7.5.1. Уменьшение ширины ленты. Выбор угла 0 различен в этих двух случаях. В приводимом ниже алгоритме i = j — 1 и обреченным является элемент atJ, где /</¦-!. Представление о порядке исключения элементов дает (для случая /г=10, т = 3) рис. 7.5.1. 7.5.1. Метод Вначале приводится к трехдиагональному виду первая строка, затем вторая и так далее. Элементы каждой строки аннулиру- аннулируются поочередно, извне вовнутрь. Однако, чтобы исключить один элемент и сохранить ширину ленты, требуется несколько враще- вращений. Операции с первой строкой типичны для всего процесса. 1. Выполнить вращение в плоскости (т, т + 1), аннулиру- аннулирующее элемент A, т + 1). Это приводит к появлению ненулевого элемента (а) в позиции (т, 2т + 1) вне ленты.
138 Гл. 7. Трехдиагональная форма 2. Выполнить вращение в плоскости Bm, 2m +1), аннулирую- аннулирующее элемент (пг, 2т+1). Это приводит к появлению ненулевого элемента (Ь) в позиции Bт, Зт+1) вне ленты. 3. Выполнить вращение в плоскости (Зт, Зт+1), аннулирую- аннулирующее элемент Bт, Зт-fl). В данном случае (п=10) выступ был вытеснен через дно матрицы. В общем случае потребуется боль- большее число вращений (всего [(п—1)/т]) для того, чтобы восстано- восстановить первоначальную ширину ленты. Следующим элементом внутри ленты, который должен быть аннулирован, является A, т); получающийся выступ нужно вы- вытеснить через дно матрицы и так далее. После того как исключен элемент A, 3), можно обрабатывать вторую строку. 7.5.2. Число операций Общее число вращений Л^вращ удовлетворяет оценке Каждое вращение требует одного извлечения квадратного корня и обычно 8m+13ops. Таким образом, Novs <л2 (т-1) D + 13/2т). Эта оценка показывает, что стандартный способ приведения будет более быстрым при m > n/6. Однако, использование ленточного приведения u диктуется обычно соображениями, связанными с па- памятью. 7.5.3. Хранение Обычно используется прямоугольный nx(m+l) массив, столбцы которого хранят последовательные диагонали ленточной матрицы; главная диагональ находится в первом столбце. 7.5.4. Справка Алгольная программа под названием bandrd приведена в алго- алгоритме II/8 (Н. R. Schwarz) Справочника [Wilkinson, Reinsch, 1971]. Этот метод включен и в EISPACK. Для сокращения работы вдвое можно использовать быстрые гивенсовы вращения. •> То есть алгоритма приведения к трехдиагональному виду, описанного в 7.5.1.— Прим. перев.
§ 7.6. Кажущаяся неустойчивость 139 Упражнения к параграфу 7,5 Пусть М б — 4 6 sym 1 -4 6 0 1-46 0 0 1-4 6 7.5.1. Используя алгоритмы предыдущего параграфа, привести М к трех- диагональному виду посредством 4 плоских вращений. 7.5.2. Привести М к трехдиагональному виду посредством быстрых гивен- совых вращений. Получить при этом факторизованный результат At А, где Д диагональная. Ручной калькулятор будет полезен. Вы должны вычислять Д2 и Т. См. § 6.8. § 7.6. Кажущаяся неустойчивость Мы не собираемся проделывать подробный анализ влияния ошибок округлений на описанные выше алгоритмы. В действи- действительности эти методы охватываются общим анализом, изложенным в § 6.5. В каждом случае вычисленная трехдиагональная матрица будет в точности подобна возмущению A-f W исходной матрицы А, а отношение II W|[/|[ А[| будет умеренным кратным единичной ошибки округления. Даже если бы этим отношением достигались пессими- пессимистические оценки, для большинства приложений результаты все же были бы вполне удовлетворительными. Приведем зато один образчик (пример 7.6.1) интересного явле- явления, которое, как кажется на первый взгляд, опровергает преды- предыдущий абзац. Примеры этого рода породили большое и неоправ- неоправданное беспокойство. В примере 7.6.1 одна и та же программа приведения была пропущена для одной и той же хорошей ленточ- ленточной матрицы порядка 24 на двух разных машинах. При этом были получены совершенно разные результаты; сравните, например, два значения ав или а, в таблице 7.6.1. Есть ли ошибка в программе? Быть может, одна из машин (или обе) работает неправильно? Или алгоритм неустойчив? Ведь разумеется, что воспроизводимость результатов необходима в научной работе?! В самом деле, две матрицы Т различны, но каждая из них с рабочей точностью подобна А, а только это и важно при вы- вычислении собственных значений. Конкретная последовательность подобных матриц, получаемых алгоритмом из этой матрицы А, крайне чувствительна к очень малым возмущениям, порождаемым округлениями. Эта неустойчивость кажущаяся. Действительно,
140 Гл. 7. Трехдиагональная форма не всегда легко отличить средства от цели и не легче оценивать алгоритмы. Собственные значения и собственные векторы А были вычис- вычислены с максимально возможной для каждой машины точностью. Пример 7.6.1. Чувствительность трехдиагональной формы к ошибкам округлений в процессе приведения М О о M Cf ог м cj с4 м С, - (e6ef - e,e?)/10J' .Гн. в*] [в н J* н 1.0 2.0 3.0 2.0 4.0 5.0 3.0' 5.0 6.0' ; Р - 0.0 -1.0 -0.5 1.0 0.0 -0.33333330 0« 0.33333330 0.0 Специальные меры были приняты, чтобы.обе машины действительно работали с одной и той же матрицей. § 7.7. Собственные значения — простые Собственные значения Т не имеют никаких особых свойств, кроме следующего: Лемма. Все собственные значения неразложимой матрицы Т различны. G.7Л) Доказательство. При всех I дополнительный минор для эле- элемента A, п) в матрице Т—| равен р^.. .pn_L Ф 0. Следовательно, ранг [Т—1]^п — 1 и размерность ядра Т—I либо 0 (когда I не является собственным значением), либо 1 (когда I—собственное значение). Это значит, что для каждого собственного значения имеется лишь один (с точностью до константы) собственный век- вектор. Поскольку Т обладает полной системой ортогональных векто- векторов, то кратность каждого собственного значения должна быть равна единице. Этот результат полезен в теоретической работе, но может по- повести к ложному предположению, что если имеется пара очень
§ 7.8. Ортогональные многочлены 141 близких собственных значений, то некоторые |3f должны быть малы. Широко известный контрпример—матрица WJ, (обсуждае- (обсуждаемая в книге [Wilkinson, 1965]): ar- Ю,9, 8,..., 1,0, 1,..., 10; Д =• 1, W. *2iIW+] = 10.74619 41829 0339 - 10.74619 418290332 .... § 7.8. Ортогональные многочлены Большой шаг вперед был сделан в линейной алгебре благодаря осознанию того факта, что длина вектора не является априорным, внутренним свойством этого вектора. В действительности имеется бесконечно много законнорожденных функций скалярного произ- произведения, и каждая порождает свой вариант длины и угла. Числен- Численная мера угла между двумя векторами—это вопрос соглашения, а не объективная реальность. То же самое и для функций; суще- существует много скалярных произведений. Для прикладной математики важны действительные функции одного действительного переменного. Мы не станем рассматривать общие интегральные скалярные произведения (Ф, \|з) = J ю (х) ф (х) г|) (х) dx, а а перейдем прямо к дискретному случаю (Ф, Ч>)=51«>,ф(?,Ж?/)- G.8.1) «=i Каждому набору из п различных действительных чисел {\lt ... ..., ?„} и положительным весам {%, .... со„:со, >0} отвечает одна и только одна функция скалярного произведения вида G.8.1). Соответствующие норма и угол даны в гл. 1. Многочлены являются довольно специальными функциями, и для каждого скалярного произведения имеется единственное семей- семейство нормированных1' ортогональных многочленов {ф0* щ, ... ¦¦¦> Фп-Л; т-е- Ф/ имеет степень /', старший коэффициент 1 и (ф;> ф^) = 0 для \фк. Это семейство представляет собой выделен- выделенный базис пространства со скалярным произведением (или гиль- гильбертова пространства), образованного многочленами, степень кото- которых меньше, чем п, и данным скалярным произведением. 11 В оригинале — monic.— Прим. перев.
142 Гл. 7. Трехдиагональная форма Таблица 7.6.1 1 ¦ I 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 .19 20 21 22 23 24 A CDC 6400 0.0000 0.0009 0.0141 0.6169 -0.0115 -0.0642 0.3520 -0.0007 0.5058 0.0114 0.0004 0.0000 -0.0088 -0.0319 -0.3579 0.0435 -0.2052 0.0001 -0.2107 1.3226 -0.0000 -0.8784 -5.8618 — PDP11 -0.0080 -0.0011 0.1441 1.5997 -0.0002 -4.3642 -0.2957 -0.0002 - 1.3585 0.0531 -0.0006 -1.6807 -0.0535 0.0317 -0.0118 -0.0731 -1.1474 -0.0000 -0.9605 2.2464 -0.0000 -0.8784 -5.8618 . — a CDC 6400 0.4428 -0.8777 0.4429 11.4038 -0.8466 0.4431 11.4244 -0.8676 11.4115 0.4661 -0.8776 11.4348 0.4429 -0.8775 11.4231 0.5431 -0.8728 П.4314 0.4088 -0.6994 11.2907 -0.0453 5.0453 6.0000 PDP1I 0.4428 -0,8877 0.4444 11.2215 -0.6659 9.2954 2.5251 -0.8205 11.2643 0.6113 -0.8756 11.1716 0.7040 -0.8755 11.4348 -0.8737 0.5599 11.3138 -0.7741 10.8806 0.8936 -0.0453 5.0453 6.0000 (Мантисса: CDC —48 битов; POP—24 бита) Значения приведены о четырьмя Зеоятичными знаками Трехдиагональные матрицы появляются по той причине, что многочлены ф7 подчинены замечательным трехчленным рекуррент- рекуррентным соотношениям. Именно, для /=1, 2, ..., п — 1 и |30 = 0 ф/ (I) —(I—а/) Ф/-1 (I)—Р/-1Ф/-2 (!)• G.8.2) Как только наличие таких соотношений разгадано, вычисление коэффициентов о, и Ру не составляет труда (см. упр. 7.8.1). Эти числа очевидным образом, как в G.1.1), могут составить нераз- неразложимую симметричную трехдиагональную матрицу Т. Тогда, согласно упр. 7.8.2, для /=1, .... п Ф, Ш = к, (Ь = tiet [I — Tlt .]. G.8.3)
§ 7.8. Ортогональные многочлены ИЗ Таким образом, числа \f и со,- определяют единственную ма- матрицу Т. Поставим теперь вопрос: как определить ?у и со^ по заданной матрице Т? Другими словами, для каких скалярных произведений многочлены Х/> / = 0. Ь i n, будут попарно орто- ортогональными? Теорема. Пусть T = SOS*—спектральное представление нераз- неразложимой матрицы Т. Соответствующее ей скалярное произведение вида G.8.1) получается при 1, = 9„ оо, = у^, i=\, ..., п, а для произвольного положительного у; ^(о^—у. G.8.4) Доказательство. Важное наблюдение состоит в том, что S* (а не S) «приводит» 0 к трехдиагональной форме Т. Поэтому, согласно следствию из теоремы G.3.1), Ортогональность (/+1)-го и (k-\- 1)-го столбцов S* дает i =1 если взять в G.8.1) со,- = S?t- и !, = (),. Какие еще значения для сог- могут подойти? Необходимое усло- условие (хо, Хй) = 0 требует, чтобы п ^ согХй("г)==0, к=1, 2, ..., п—1, G.8.5) а при й = 0 2со, = у, G.8.6) = 1 где у—произвольное положительное число. Однако матрица G, схожая с матрицей Вандермонда и имею- имеющая в качестве элемента (i, /) число X/-i (®i)> J. /=1» •••. «. не вырождена (упр. 7.8.4). Поэтому система линейных уравнений G.8.5), G.8.6) имеет единственное решение {со1( ..., со„[ для каж- каждого положительного у. Обычно берут у=1. В работе [Golub, Welsh, 1969] показано, как применить методы гл. 8 к вычислению чисел su, i = 1, ..., п, не отыскивая всю матрицу S. См. также § 7.9.
144 Гл. 7. Трехдиагональная форма Упражнения к параграфу 7.8 7.8.1. Обозначим через т| тождественную функцию т](|) дящее скалярное произведение, показать, что Ф/)/(фу. Ф/)> |. Взяв подхо- подхо7.8.2. Положим Хо (I)!1*5 !• Раскладывая det [|—Тх .-] по последней строке, проверить, что %/ также удовлетворяют соотношениям (/.8.2). Вывести отсюда, что ф,- = х/ для всех '• 7.8.3. Пусть F —матрица с элементами /;у = 8|-1. Показать, что F ие вы- вырождена, опираясь на то, что det[F] есть многочлен от 8;, ( = 1, ..., п. 7.8.4. Пусть Q = [x/-i F/)]- Показать, что G не вырождена. 7.8.5. Какое скалярное произведение соответствует матрице вторых разно- разностей!...—1 2 —1...] и как называется соответствующая система многочленов? § 7.9. Собственные векторы Т Имеется замечательная формула для квадрата любого элемента произвольного нормированного собственного вектора матрицы Т; есть также несколько очень красивых соотношений между эле- элементами каждого собственного вектора. Чтобы вывести эти результаты, напомним (классическое) поня- понятие присоединенной матрицы, именно матрицы, составленной из алгебраических дополнений и вдобавок транспонированной. Напри- Например, если обозначить J В | = det В, то adj I 0 1 1 1 1 г -1 1 1 -1 1 2 1 2 1 - 1 - \ 1 1 1 1 1 -1 •1 •1 1 * > ~~ ,.. 1 * 0 1_ 0 I 2 1 2 1 1 1 1 0 -1 > г 0 1 1 1 1 1 1 1 1 1 0 1 Важность присоединенной матрицы проистекает из знаменитой формулы Коши—Бине B-adj[B] = det[B]-I. Мы начнем с одного факта, относящегося к произвольным сим- симметричным матрицам и доказанного в работе [Thompson, McEnteg- gert, 1968]. В нем используется характеристический многочлен % матрицы А и некоторые присоединенные матрицы связываются со спектральными проекторами \\1^г{г\, описанными в гл. 1.
§ 7.9. Собственные векторы Т 145 Теорема» Пусть A=eZAZ*—спектральное разложение матри- матрицы A; Z=a(z?, ..., zn) ортогональная, A = diag(?4 Хп). Тогда для t= 1, ..., п а<1Л>,-А] = х'(Ь/)^, G.9.1) где %'—производная многочлена %. Доказательство. При цт^ матрица [х—А обратима, и по- потому ad j О—А] = det [ц — А] (у,—А) -х = x(fx)Z(n-A)-'Z* = ZA(jx)Z», A^diag^, ..., б„), G.9.2) где Элементы adj[B] суть суммы произведений элементов В и, следо- следовательно, непрерывные функции от них. При \i—*¦?(,,• обе части G.9.2) имеют пределы. В частности, 0, k ф i, откуда и следует нужный результат. Прежде чем применить этот результат, к Т, напомним опре- определение Tn,v в G.1.1). Положим I det[t—T^v], (i<v, b'v(T)~\l, fx>v. Приводимое ниже следствие теоремы G.9.1) было указано в работе [Paige, 1971]. Теорема. Пусть Т = S0S* — спектральное разложение трех- диагональной матрицы Т; S = (s1( ..., sn) ортогональная, Ь = = diag @!, ..., 8И). Тогда для \х ^ v и всех j элементы sw- (^ e^,s;) нормированных собственных векторов Т подчинены соотношениям XI. „(в,) Siljsvj = Xl,,._, (ву) Эр.. . .р,., xv+l. „ (В/)- G.9.3а) В частности, если Q/ —простое собственное значение (Т неразло- неразложима), то 4/ = Xi. •*-! (9/) b+i. n (ByVxI, »(в,). G.9.3Ь) Доказательство вынесено в упражнение 7.9.3. Придавая специальные значения fi и v, получим несколько ценных и наглядных соотношений между элементами S.
146 Гл. 7. Трехдиагональная форма Следствие. Для всех j ^п svsn/-x' (8у) = Р1р2.. .Pn_i, G.9.4а) S2/X'(ey) = x2,n(8/). G.9.4b) S«/X' (8у) = Xi, l-i (8/)- G.9.4c) Напомним, что х (8) = Xi, пF)- Следующий результат полезен при установлении сходимости различных итерационных методов вычисления собственных век- векторов. Теорема. Если Т неразложима, то ее матрица собственных векторов не имеет нулевых элементов в первой и последней стро- строках, а также в столбцах, отвечающих крайним собственным значе- значениям. G.9.5) Доказательство. Поскольку Т неразложима, ее собственные значения различны по лемме G.7.1). Таким образом, ^'(б^^О. По следствию G.9.4а) slfsnj— Ц|Ух' (8у) Ф®- Рассмотрим теперь столбцы. Согласно теореме Коши о разделении (§ 10.1), нули Xi.n-i» tin и в^ех Хц. v лежат строго между 6, и 8И. По формуле Пэжа (Paige) G.9.3) соответствующие собственные векторы не имеют нулевых элементов. Таблица S для случайной матрицы Т порядка 25 приведена в примере 13.2.1. Пример 7.9.1 Поучительную иллюстрацию G.9.4Ь) дает случай п= 100, а,- = = 0, Р/=1 при всех L Собственные векторы те же, что и у зна- знаменитой матрицы вторых разностей (а,- = —2, Р,-=1 при всех i), a Xi, «(т) связан с многочленом Чёбышева Т„+1, описываемым в приложении В. Положим со = я/(п + 1). В данном примере удоб- удобнее занумеровать 8; так, чтобы в\ > 82 >. .. . Собственные значения: 8/ = 2cos/ю, / = 1, ..., п. j 9j хЩ) S2 = 52 Хг. ioo(9,) 1 0.1999 X 0.5221 х 0.1915 х 1.0 101 103 ю-" 2 0.1996 X -0.1307 X 0.7654 х -1.0 Ю1 105 ю'-* 49 0.9328 х 10-' 0.5061 хЧО1 0.1976 х 10 1.0 50 0.3110 X -0.5051 х 0.Й80 х -1.0 ю-1 102 ю-1 11 В левом конце 3-й строки таблицы по-видимому должно быть s| ..- Прим. перев.
§ 7.JO. Последовательность Штурма 147 Собственные векторы: ьц = jAcsint/co, х=2/(и + 1). [sl;- = = (— 1 )/+1sn/; следовательно, х2,»(9/) = (— 1 )у+' \\ ¦ ¦ ¦ К-. = = (—1)у+1-3 В действительности х (9) = х7'1в1 (8/2). Отметим боль- большие значения х'(8*). '=1. 2, несмотря на то что Вг и 82 близки. Упражнения к параграфу 7.9 7.9.1. Вычислить Г2 10-1 adj 1 2 1 L0 1 2j и adj [Tlt 3] для матрицы Т общего вида. п 7.9.2. Показать, что ^ adj [Я/ — А] = %' (А). i =1 7.9.3. Доказать теорему Пэжа G.9.3), вычислив элемент (\i, v) матрицы асУ[0у-Т]. 7.9.4. Указать значения (х и v, позволяющие установить следствие к гео- геореме Пэжа. 7.9.5. Вычислить значения sly- и sn/- при всех / для матриц 10 1 01 1 0 I 0 1 10 10 1 0 10 . 1 |. 0 1 . -10 7.9.6. Вычислить x'(^i)ziz* и adj [A.i — А] для матрицы А = . § 7.10. Последовательность Штурма Для данной матрицы Т последовательность характеристиче- характеристических многочленов {х/(|)> / = 0. 1. :--. п\, определенных в G.8.3), есть последовательность Штурма, т. е. нули xy-i разделяют нули X/- Этот результат является приложением теоремы Коши о разделении (§ 10.1). Интересное свойство последовательности Штурма состоит в том, что число совпадений знака у соседних членов числовой последовательности |х*(?)> k = 0, 1, ..., п\, назовем его а(|), равно числу нулей %п, которые меньше, чем |. Если | < т), то a(ri)-a(?) есть число собственных значений Т, заключенных в полуоткры- полуоткрытом интервале [|, ц). Рис. 7.10.1 показывает последовательность Штурма для простой (ЗхЗ)-матрицы Т. Разделение нулей будет строгим, если Т неразложима; однако, матрица W.fr, введенная в § 3.6, показывает, насколько слабыми
148 Гл. 7. Трехдиагонамная форма А = 1 -I О -1 I 1 О 1 -J i Хо Х| Х2 X? . а -1 1 -2 3 -0.5 0 0 1 -1 0 1 1 1.5 1 0.5 . -0.75 -1.75 2 3 1 2 3 7.5 3 Рис. 7.10.1. Последовательность Штурма. могут быть строгие неравенства. Для W^ наибольший нуль Хгс совпадает с наибольшим нулем %2i в первых 14 десятичных раз- разрядах.
§ 7.10. Последовательность Штурма 149 Если использовать трехчленные рекуррентные соотношения, указанные в § 7.8, то последовательность {х&(Ш можно вычислить ценой 2п умножений. Методом деления пополам (§ 3.5) собствен- собственные значения можно вычислить так точно или так грубо, как хочется (разумеется, в пределах, установленных округлениями). Эта остроумная техника была предложена Гивенсом в 1954 году и с тех пор широко используется. Однако ту же информацию можно получить посредством треугольного разложения и теоремы Сильвестра об инерции, метода, который и более устойчив, и имеет более широкую область применимости (он описан в гл. 3). Поэтому от сослужившего свою службу метода вычисления последователь- последовательности Штурма {Х/(Ш по трехчленным рекуррентным формулам можно теперь отказаться. Наблюдательный читатель, возможно, заметил, что если 8—соб- 8—собственное значение Т, то [1. Xi(9)/Pi. XB-.(e)/(PiP,...PB-,)]' G.Ю.1) есть собственный вектор Т (упр. 7.10.2). Однако, на практике, когда 8 —лишь приближение к собственному значению, пусть даже очень точное, указанный вектор может быть ортогонален к пра- правильному собственному вектору. Метод, основанный на вычисле- вычислении G.10.1), совершенно неустойчив. Подробное и убедительное обсуждение дано в книге [Wilkinson, 1965, с. 316]. Этот вопрос рассматривается и в некоторых из последующих упражнений. Однако, алгоритм заслуживает дальнейшего изучения: уж больно скромны его требования к памяти. Упражнения к параграфу 7.10 „ 7.10.1. Показать, что если Ху (I) определен как det [Tji j—|], тосс(|) даст число собственных значений Т, больших, чем |. Однако,' при нечетном / многочлен X/ не будет нормированным 1(. 7.10.2. Рассмотрев трехчленные рекуррентные формулы для (х/(8)}, пока- показать, что G.10.1) дает собственный вектор Т, отвечающий собственному зна- значению 8. 7.10.3. Показать, что если 0 не является собственным значением, то век- вектор v, указанный в G.10.1), удовлетворяет уравнению 7.10.4. Заменить 0 на 8 + 60 и разложить каждый многочлен Х/Ф + Щ относительно 0, чтобы получить выражение для воздействия возмущений, вно- вносимых в 0, на вектор G.10.1). 7.10.5. Рассмотреть трехдиагональную матрицу (... — 1 2 —1...), собствен- собственные значения которой приведены в примере 7.9.1. Найти изменения в прибли- приближенном собственном векторе для различных собственных значений (внутренних и внешних), если 60=10-108 и и=100. 1) Так как старший коэффициент будет равен (—I).— Прим. перев.
150 Гл. 7. Трехдиагональная форма § 7.11. Когда можно пренебречь внедиагональным элементом Если Pf = 0, то Т разложима, имеет вид diag(Tj, T2) и две подматрицы Тх и Т2 могут обрабатываться независимо, что дает некоторый выигрыш в эффективности. Более важно то, что неко- некоторые методы (например, QL-алгоритм) требуют, чтобы всякое такое распадение было обнаружено; процесс может сорваться, если неожиданно натолкнется на нулевое значение E. На практике мы должны, следовательно, уметь распознавать случаи, когда Т разложима «в пределах рабочей точности». Ситуа- Ситуация с этой проблемой представляет собой наименее удовлетвори- удовлетворительный аспект вычисления собственных значений симметричных трехдиагональных матриц. Полезно разделить несколько различ- различных, хоть и связанных между собой вопросов. 7.11.1. Математическая задача Найти верхнюю границу в терминах элементов Т на измене- изменение 68, вносимое в произвольное собственное значение 8, если Р,- заменяется нулем. Простой ответ: 168^1^1^1 для всех / (упр. 7.11.1). Неверный ответ: \bQ/\^.^ym'mjalx—avj; минимум берется повеем Пример: Т = \_V~2 0 2 Р о р о Собственные значения: 3 + О(Р2), ±Р/]/ + 0(Р2), если 8 очень мало; 3, ±0, если 0 = 0. Более сложный ответ: положим ро = |Зп = О и определим - в/^<а/+1-*#)/2, рг = A Тогда Доказательство дано в отчете [Капап, 1966]. Автор п-рименяет теорему Виландта — Хоффмана (см. § 1.6) к матрице, полученной в результате вращения в плоскости (i, i-j-l). Оценка затем ми- минимизируется как функция от угла вращения. Для простоты эту оценку можно несколькими способами осла- ослабить. См. упр. 7.11.3. Для большинства приложений простая оценка \^\ слишком груба.
§ 7.11. Когда можно пренебречь внедиагональным элементом 151 Пример 7.11.1. Для матрицы ~ 3 Ю-5 О Т= Ю-6 2 Ю-6 [ О КГ6 1 указанный выше неверный ответ будет правильным. 7.11.2. Алгоритмическая задача № 1 Найти экономичный критерий для отбрасывания р\-, если задана граница на величину допустимого возмущения в собствен- собственном значении. Если е—относительная точность основной арифме- арифметической операции, то граница может быть абсолютной, е||А||, или относительной, е(ja,| + ja(+1 [). 7.11.3 Алгоритмическая задача № 2 Для тех матриц Т, которые получены подобными преобразо- преобразованиями из заполненных матриц А, найти экономичный критерий, решающий, для какого р\- отбрасывание «эквивалентно» ошибкам округления, уже сделанным при вычислении Т. Другими слова- словами, нужно обеспечить, чтобы Т была в точности подобна мат- матрице, достаточно близкой к А. Потребность именно в простом тесте связана с тем обстоя- обстоятельством, что QL-алгоритм может преобразовать Т в матрицу Т, более близкую к диагональной, ценой приблизительно 11 п умножений и п квадратных корней. Наш тест будет применяться ко всем п — 1 числам р\- и почти всегда не будет срабатывать. Вот в чем состоит затруднение: простой тестр\- < е||Т|| упустит {$,-, которым следует пренебречь, что может повредить QL-алго- ритму. С другой стороны, тест, который обходится хотя бы в 5 умножений, значительно увеличит время, затрачиваемое на эту часть вычислительного процесса. Выход из этого затруднительного положения—двухуровневый тест: 0. ... 1. Если jP,-1^ J/"efT||, то перейти к 4. 2. Если |Р,-|> выбранный тест, то перейти к 4. 3. Положить Р, = 0. 4. ... В упражнениях предложены некоторые практичные тесты. 7.11.4. Последний внедиагональный элемент В QL-алгоритме последним среди чисел р\ вычисляется C,. Здесь, по-видимому, имеются веские основания использовать более
152 Гл. 7. Трехдиагонадьная форма точный тест, поскольку цель алгоритма как раз в том и состоит, чтобы сделать |3j пренебрежимо малым. В этом параграфе мы указали на некоторые проблемы, но не предложили ясного решения. Следует сообщить, что программы EISPACK версии 1977 г. применяют лишь простой тест |Р| | | Упражнения к параграфу 7.11 7.11.1. Применить теорему Вейля о монотонности (§ 10.3) к доказательству того, что изменение 86 в любом собственном значении при замене $; на 0 удовлетворяет оценке I ее к | р,-1. Указании: из Т вычитается матрица ранга 2 специального вида. 7.11.2. Найти собственные значения матрицы как функции от р\ 7.11.3. Показать, что По поводу обозначений см. G.11.1) и G.11.2). 7.11.4. Применить вращение Якобн для аннулирования |3/. Это приводит к появлению —sp"i-i в позиции (f-f-1, I—1) и sp",- + i в позиции (f-J-2, г), где s=sin6. Исходя отсюда, показать, что IP, I (I P.-I l + l P/ + 11 X е| 8,-1 (|«« l + l«/ + il) является разумным критерием для отбрасывания рУ § 7.12. Обратные задачи на собственные значения Основная мода колеблющейся однородной струны, закреплен- закрепленной на обоих концах, связана с наименьшим собственным значе- значением X дифференциального уравнения —ф" + шр = tap с краевыми условиями ф(а) = ф(Ь) = 0. Высшие гармоники (обертоны) связаны с другими собственными значениями. Если струна неоднородна, то константу а следует заменить функцией а (?), определяемой плот- плотностью струны. Собственные значения новой задачи будут зави- зависеть от а, и в обратной задаче спрашивается, можно ли восстано- восстановить функцию аA), если известны все собственные значения. Ответ таков: при некоторых условиях и достаточной дополни- дополнительной информации это можно сделать. Один из проектов подобного рода состоит в том, чтобы определить свойства ядра Земли по результатам обширных замерений сейсмической актив- активности на ее поверхности.
§ 7.12. Обратные задачи на собственные значения 153 Если дифференциальное уравнение дискретизовано, получается трехдиагональная матрица и дискретная обратная задача зак- заключается в построении Т по заданным собственным значениям 9U 92, .. ., 9П и некоторой дополнительной информации. Предыдущие параграфы содержат достаточно материала для того, чтобы решить эту задачу в ряде важных случаев. Мы записали спектральное разложение Т в виде T = SeS» = (S*)»@S*, G.12.1) где S—матрица нормированных собственных векторов. Если в задана, то обратную задачу можно рассматривать как приведе- приведение (вероятно, точнее было бы сказать «расширение») 9 к трех- диагональной форме. Согласно единственности приведения [тео- [теорема G.2.2)], Т и S* определены заданием S^ и 9. Параграфы 7.4 и 7.5, так же как и доказательство теоремы G.2.2), описы- описывают способы такого приведения, если S*ej уже имеется; именно, методы § 7.4 и 7.5 можно применить к матрице Р*6Р, где Р — произвольная ортогональная матрица, первый столбец которой есть S'e^ Все, что остается, это найти Sy, /=1, ..., п. Случай 1: Симметрия относительно середины. Предположим, что Т должна быть симметрична относительно второй диагонали (из правого верхнего угла в левый нижний), так же как и отно- относительно главной, т. в. ос,- = a,,+W) fy = ft,-/ > 0, / = 1, .... [/г/2]. Это условие соответствует струне и связанной с ней функции а (|), симметричным относительно середины интервала. Из двойной симметрии Т вытекает (упр. 7.12.2), 4tosv = (—\)"~Jsnj, /= 1, ... ..., п. Используем это соотношение в формуле G.9.4а): x'(9/)=PA---P«-i=P. /=1. .... л, G.12.2) где %—характеристический многочлен обеих матриц: Т и 9. п Следовательно, х'(9/) = П(9/—®t)> i=?j, и эти числа определе- определены при заданной 0. Кроме того, р определяется условием нор- нормировки п п l-S^PS^lx'f8/)!. G-12.3) и потому начальным вектором eJS будет вектор (|зс' (9i)j~1/2, 1х'(92)|/2 |5С"(9п)|/2) после того, как он будет подверг- подвергнут нормировке. В том, что элементы вектора S*et выбраны по- положительными, нет потери общности.
154 Гл. 7. Трехдиагональная форма Случай 2: Спектр подматрицы. Предположим, что кроме 9 заданы еще собственные значения матрицы Т2> п. Эти числа (л,-, i' = 1, .... п— 1, не могут быть произвольными, а должны в соот- соответствии с теоремой Коши о разделении (§ 10.1) разделять числа 6„ т. е. Формула G.9.4Ь) дает 82д'(ву)=х..»(8Д i-i п, п-\ гДе %г, п@/> — П (8/—И-/) и может быть вычислено. Как и рань- != 1 Я ше, х' (9/) = II (9/—9,-). < Ф 1> и условие разделения гарантирует, t=i что х*. nit' будет положительно в точках 8,-. Следовательно, | siy | определено для /=1, ..., п и можно построить единственную матрицу Т с положительными C{. Случай 2 соответствует физической задаче, в которой дискре- тизованная струна закреплена в первой внутренней точке сетки, а затем вычислены новые частоты. Пример 7.12.1 дает результаты случая 2 для малой и простой задачи. Пример 7.12.1 о . /1111,, и- !± -L ± 1\ г- 140' 24' 12' 4J- JV: {0.633, 0.437, 0.356, 0.333, 0.413).. в : {0.6, 0.66326, 0.42933, 0.32508, 0.26566). Р: {0.34046, 0.16216, 0.085823, 0.044658). В какой степени непрерывная функция а(|) определяется собственными значениями уравнения —ф"н-аф = 1ф, где ф(а) = = Ф(Ь) = О, — это гораздо более тонкая и интересная задача, рассмотренная в работах [Hald, 1977J и [Hochstadt, 1975]. Оба автора исследуют также и приведенные выше матричные случаи, но используют при вычислении Т менее устойчивые алгоритмы. Наш метод приведения матрицы Р*6Р к трехдиагональному виду прост для понимания и устойчив в работе, но не очень эффективен для больших задач. Более новые и эффективные ме- методы описаны в статье [De Boor, Golub, 1978].
§ 7.12. Обратные задачи на собственные значения 155 Упражнения к параграфу 7.12 7.12.1. Показать, что для каждого нуля 6у многочлена X справедливо Х'(ву) = П(в/-в/). 1Ф\. 7.12.2. Положим 7=(е„, ..., е^, и пусть Т = 1Т1. Используя тот факт, что собственные векторы определены с точностью до скалярного множителя, показать, что sxy= ±snj, /'= 1 п. Показать, что если р,- > 0 при всех ('. то sv = sn/(— 1)«-А 7.12.3. Задание. Изучить требования к памяти в различных методах вы- вычисления Т при заданных в и S*ej. Необходимо ли хранить массив пхп в быстродействующей памяти? 7.12.4. Задание. Написать программу для вычисления НвН, где Н = = Н (w), w = f ± еь a f = S*e!. Затем обратиться к библиотечным подпрограм- подпрограммам, приводящим НвН к Т и вычисляющим собственные значения Т. Срав- Сравнить результаты с исходными числами 6,\ Использовать для каждого набора 6,- различные множества разделяющих чисел ц/. Примечания и ссылки Предложение приводить А к трехдиагональной форме Т вместо того, чтобы находить коэффициенты Хд. было высказано в двух основополагающих работах ILanczos, 1950] н [Givens, 1954]. Это приведение описано в ряде книг. Ука- Укажем лишь несколько: [Wilkinson, 19651, [Householder, 1964], [Stewart, 1973], [Fox, 1964|. Формулы, выражающие собственные векторы Т через собственные значе- значения, использованы в работе [Paige, 1971], но не имеют широкой известности. С другой стороны, связь Т с ортогональными многочленами—это стандартный материал в анализе: [Szego, 1939] и [Golub. Welsch. 1969]. Критерий отбра- отбрасывания внеднагональных элементов содержится в неопубликованном отчете [Kahan, 1966]. Существует обширная литература по обратным задачам для дифферен- дифференциальных-уравнений. Только после 1975 г. появились устойчивые и эффектив- эффективные методы вычисления матрицы Т с заданными спектральными свойствами.
ГЛАВА 8 Алгоритмы QR и QL § 8.1. Введение Хотя до 1958 г. ничего похожего на алгоритмы QR и QL не было и в помине, появившись, они быстро утвердились как самый эффективный способ нахождения всех собственных значений ма- малой симметричной матрицы. Вначале посредством последователь- последовательности отражений (§ 7.4) заполненная матрица приводится к трех- диагональной форме, а затем QL-алгоритм быстро уменьшает ве- величину внедиагональных элементов, пока они не станут пренеб- пренебрежимо малыми. На каждом шаге алгоритма применяется довольно сложное подобное преобразование, чем порождается последова- последовательность матриц, сходящаяся к диагональной матрице. Более того, сохраняется трехдиагональная форма. Преобразование основано на ортогонально-треугольном раз- разложении матрицы (скажем) В, а это разложение есть матричная формулировка процесса ортонормализации Грама—Шмидта (§ 6.7), примененного к столбцам В. Если столбцы берутся в порядке Ъг, Ъ2, ..., bn, то факторизация есть B = QRR, где R правая (или верхняя) треугольная, aQR = Qj^1. Если же столбцы берутся в обратном порядке bn, bn_u ..., blt то результатом будет B = QlL, где L левая (или нижняя) треугольная и Q^= =Ql-\ Психологически сильным сдерживающим фактором, препятст- препятствовавшим открытию алгоритмов, была, должно быть, высокая стоимость этого разложения. Однако ортонормальные матрицы Ql и QR в изобилии появляющиеся в этой главе, никогда не вычис- вычисляются в явном виде. Преобразования QL и QR определены для любой квадратной матрицы. Поэтому мы отказываемся от свойст- свойства симметрии в тех параграфах, где даны формальные определе- определения и основные свойства. Далее выявляются связи с другими, более простыми методами и дана в высшей степени удовлетвори- удовлетворительная теория сходимости. В заключение обсуждаются различ- различные реализации.
§ 8.2. QL-преобразование 157 § 8.2. QL-преобразование Пусть даны матрица В и скаляр о, называемый сдвигом на- начала. Рассмотрим разложение матрицы В—о в произведение ор- ортогональной и левой треугольной В —o = QL. (8.2.1) По Q, L и о определим В, QL-преобразование матрицы В, по- посредством формул Be=LQ = Q*(B—o)Q + o (здесь использовано (8.2.1)) = Q*BQ, (8.2.2) поскольку Q* = Q~\ Неясно, чем матрица В лучше В; никаких нулевых элементов в ней не появилось. Тем не менее QL-алгоритм со сдвигами упорно повторяет преобразование В—*-В. 8.2.1. QL-алгоритм Для k—l, 2, ... и заданной последовательности {ok}, обсуж- обсуждаемой ниже: 1. Найти QL-разложение QftLft матрицы Ek—ak. 2. Определить Bft+1 E=QJ*BftQft. Все матрицы Ek ортогонально подобны друг другу. Связь между Bfc+i и В1 такова: = Р31Р„ (8.2.3) где P* = Q,Q2-..Q* (8.2.4) есть произведение ортонормальных матриц и, следовательно, также ортонормальная. QR-преобразование определяется аналогично, но в (8.2.1) QL нужно заменить на QR. Конечно, Qh В будут теперь отличаться от приведенных в (8.2.2). Упражнения к параграфу 8.2 8.2.1. Показать, что PkLk = {Bi—a) Pk_l и, следовательно, Рйе„ получает- получается нормировкой вектора (В]—а)Р^_!еп. 8.2.2^ Показать, что если а^ = 0 при всех А, го
158 Гл. 8. Алгоритмы QR и QL Bi~*i б.О 1.0 3.0 О.б 4.0 -0.8 0 2.0 0. 2.4 4.8 2.0 1.8 З.б -1.0 0 1.0 4.0 0.8 0 О.б 3.0 S.G .1.0 О.б 0 ¦-0.8 1.0 4.0 0' 1.0 0. 2.0 >< '3.0 6.0 .1.0 ¦\ 0.8 0 .0.6 1.0 4.0 О.б 0 -0.8 2.0. 0" 1.0 0. Рис. 8.2.1. Один шаг QL-алгоритма. 8.2.3. Выполнить один шаг QL-алгоритма с 0!=О для матрицы R Г2 21 8.2.4. Выполнить один шаг QR-алгоритма для примера иа рис. 8.2.1. § 8.3. Сохранение ширины ленты Если В = А = А*, то симметрия сохраняется, поскольку наши преобразования являются одновременно конгруэнциями и подо- подобиями. То, что сохраняется и ширина ленты, можно видеть из рис. 8.3.1. Что сохраняются нулевые элементы над диагональю А, пока- показывает сам вид Q и L. Элементы под диагональю должны обра- обращаться в нуль вследствие взаимного уничтожения, поскольку А симметрична. Сохранение трехдиагональнои формы является весьма ценным свойством. Удивительно, что такая сложная и далеко не разре- разреженная матрица, как Qk, может сохранять трехдиагональную форму. Упражнения к параграфу 8.3 8.3.1. Выполнить один шаг QL-алгорнтма с CTi = 0 для матрицы А = 10 1 01 L= 1 0 1 . 0 1 1J Проследить за взаимным уничтожением в элементе C,1) матрицы А. 8.3.2. Показать, что если Ь/у = О для i </—1, то при QL-преобразоваиии bj'y = 0 для t < / — 1.
8.4. Связь между алгоритмами QL и QR 159 О X Q О Ключ: * Ненулевые элементы • Элементы, обращающиеся S нуль вследствие взвиннога уничтожения Рис. 8.3.1. Сохранение ширины ленты. § 8.4. Связь между алгоритмами QL и QR QL-алгоритм представляет собой простую реорганизацию пер- первоначального QR-алгоритма, и в теоретическом смысле оба ме- метода не следует различать. Чтобы формально описать связь между ними, удобно обозна- обозначить через Q#[B] результат ортонормализации столбцов квадрат- квадратной матрицы В в порядке b,, b2, ..., bn; QL[В] получается при обратном порядке столбцов bn, bn.lt ..., Ьх. Если ясно, о какой матрице В идет речь, будем писать просто Qw или QL. Нужна будет также матрица Г, полученная изменением порядка столб- столбцов единичной матрицы на обратный. Заметим, что Г* = Г = 1. Между ортонормальными матрицами Qh [В] и QL [В] нет три- тривиального соотношения. С другой стороны, если В обратима, то справедлива Лемма. QL[fBl] = TQK["B]L (8.4.1) Доказательство. (8.4.2)
160 Гл. 8. Алгоритмы QR и QL Поскольку RB—верхняя треугольная, вторая строка (8.4.2) дает единственное QL-разложение матрицы ГвГ, что и утверждалось. Единственность доказана в § 6.6. Вернемся к двум преобразованиям QL: B-*Q2BQL> QL = QL[B — a], QR: В — Q^BQ*, Q^ = QR[B-o]. Лемма. Пусть {Bi\ и \В%\ —последовательности, порождае- порождаемые соответственно QL и QR—алгоритмами при одной и той же последовательности сдвигов. Если B{?=fBiI, то B?=fBjTl (8.4.3) для всех k > 1. Доказательство оставляется читателю в качестве упражнения 8.4.1. Если В^ сходится при k —*¦ оо к нижней треугольной форме, причем наименьшие (по абсолютной величине) собственные зна- значения находятся вверху, то В^ сходится к верхней треугольной форме и наименьшие собственные значения находятся внизу. Для симметричных матриц и QL, и QR-алгоритмы сходятся к диаго- диагональной форме. Единственная причина для введения QL-алгорит- ма — та, что некоторые типы задач порождают градуированные матрицы, в которых меньшие элементы уже находятся вверху матрицы, а большие—внизу; об этом говорится в § 8.13. Мат- Матрицы этого вида часто получаются из обобщенной проблемы А — ХМ, где М—плохо обусловлена, но положительно определе- определена. Нижний треугольный множитель Холесского С, удовлетво- удовлетворяющий условию СС* = М, часто имеет столбцы, монотонно убы- убывающие по величине и приведенная матрица С-1АС~* будет градуирована аналогично матрице, указанной в § 8.13. Упражнение к параграфу 8.4 8.4.1. Доказать лемму 8.4.3. § 8.5. QL, степенной метод и обратная итерация Теперь мы установим связь QL-алгоритма с более хорошо знакомыми нам методами, описанными в гл. 4. Пусть даны мат- матрица А и некоторая последовательность сдвигов \ak, /г=1, 2,. . .}. Три алгоритма, упомянутые в заголовке параграфа, порож-
§ 8.5. QL, степенной метод и обратная итерация 161 дают три различные последовательности. QL (при А, = А): {Ак), где Ak+l = QlAkQk и Ak—ak = QkLk. РМ (v1 — произвольный единичный вектор): \vk\, где уй+1 = = (А—ok)vkl\k и ||vj=l. INVIT (u, — произвольный единичный вектор): {ик\, где (A—a*)u*+i = u*** и KN1- Интересно, что при подходящем выборе vt и ut эти три по- последовательности тесно связаны. Связывает их матрица, введенная в параграфе 8.2 для описания связи между Ак+1 и А, а именно P*=QiQf.-Q*. Po=i- (8.5.1) Напомним, что, согласно (8.2.3), Ak+i = PlAPk. Теорема. Предположим, что ни один сдвиг ак не совпадает с собственным значением А. Если U! = e, и vx = en, то для k^l, будет справедливо ч* = Р*-.е, и Уй = Рй_,е„. (8.5.2) Вспомним, что если А трехдиагональная, то таковы же все Aft; кроме того, Ай+1 будет однозначно определена матрицей Ак и либо вектором Pfte{, либо вектором Рйе„ (§ 7.2). Доказательство. Перепишем равенство АЙ = Р^_1АР4_, в виде Pfc-iAfc-AP*.,. (8.5.3) Далее, РйЬй = Р*_Л*Ц, согласно (8.5.1), = Pft_f(AA—ак), по формуле QL, = (А—ак)Рк_и согласно (8.5.3). (8.5.4) Приравняем последние столбцы в (8.5.4), учитывая, что Lk—ниж- Lk—нижняя треугольная матрица: Pften = (A-a,)Pft_ie(,/v,, vk = e*nLken. (8.5.5) Заметим, что (8.5.5) определяет степенную последовательность со сдвигами, порождаемую А и Рое„. Поэтому если в указанном выше алгоритме РМ v, = Poen(= е„), то Уй+1 = Рйе„. Чтобы получить аналогичное соотношение для ик, понадобится небольшая манипуляция, превращающая строки в столбцы. Транс- Транспонируя (8.5.4), получим LlPl = P'k.t(A-ak). Умножим это равенство слева на Pk-lt а справа на Рй; тогда РА_1Ц = (А-а,)Рй. (8.5.6)
162 Гл. 8. Алгоритмы QR и QL Так как Ц верхняя треугольная, то (8.5.7) Поскольку PU=I, то (8.5.7) определяет обратную итерацию со сдвигами, начинаемую с вектора е^ Поэтому если в указанном выше алгоритме INVIT и1 = Р„е1 = е1, то Pke1 = uk+l. Этот результат поднимает такой вопрос: могут ли когда-нибудь на практике указанные три различных метода иметь одну и ту же последовательность сдвигов? Ответ на этот вопрос дан в § 8.7. § 8.6. Сходимость основного QL-алгоритма Если сдвиги не используются, т. е. ок = 0 при всех k, то QL- алгоритм называют основным. Он связан одновременно и с прямой, и с обратной итерациями, проводимыми без сдвигов. Сходимость основного QL-алгоритма можно получить как следствие свойств сходимости этих двух простых итерационных методов. Теорема. Предположим, что собственные значения А удовлет- удовлетворяют неравенствам Пусть z,- — нормированный собственный вектор, отвечающий Я,-, i=l, п, и пусть {Ak\—основная QL-последовательность, полу- полученная из Ajs=A. Если е/2,-^0, *' = 1> «» то при к—>¦ оо спра- справедливо Ал —еД„ Aften-*eA,- • (8.6.1) Доказательство. Пусть {uft}—последовательность, порожденная обратной итерацией без сдвигов из ut = et. Сделанные предполо- предположения гарантируют в соответствии со следствием из теоремы 4.2.3, что uk = z,+O(\X1/Xi\k) при k—* оо. По теореме (8.5.2) Используя (8.2.3), получаем оо. Аналогично, используя степенную последовательность {vft}, пока- показываем, что Акеп —+ е„Я„. С QL и QR-алгоритмами связаны два представления о схо- сходимости. Строго говоря, сходимость следовало бы понимать как сходимость матричной последовательности {Aft} к некоторой пре-
§ 8.7. Отношение Релея как сдвиг 163 дельной матрице. На практике, однако, как только j|Afte, — e^'fl становится пренебрежимо мала, aft1 берут в качестве собствен- собственного значения, а вычисления продолжают с подматрицей, полу- полученной отбрасыванием первой строки и первого столбца. Другими словами, в QL и QR-алгоритмы встроена устойчивая форма исчер- исчерпывания, обсуждавшаяся в § 5.3. Поэтому второе представление относится лишь к сходимости векторной последовательности {AseJ к пределу еД. Мы будем пользоваться исключительно вторым толкованием. Результат, установленный в теореме (8.6.1), важный, но пока что не слишком хороший. Для заполненной матрицы каждый шаг QL стоит дорого («3ops), а сходимость линейная с неизвест- неизвестными и часто очень плохими коэффициентами сходимости. Сила практичного алгоритма проистекает из а) сохранения ширины ленты (что снижает цену одного шага для трехдиагональных мат- матриц до О (п) ops) и б) использования сдвигов, чтобы сократить число шагов. Как показано в § 7.9, предположения e,z, =^0 и e^zn=/*0 в теореме (8.6.1) выполняются для всех неразложимых трехдиа* тональных матриц. Перейдем теперь к вопросу о выборе сдвигов ak. § 8.7. Отношение Релея как сдвиг Основной QL-алгоритм для неразложимой трехдиагональной А сходится в один шаг, если А вырождена. Поэтому сдвиги выби- выбираются так, чтобы аппроксимировать собственные значения. Схо- Сходимость основного алгоритма обеспечивает, что aft = e*Ake1—+ki при k—> оо, поэтому кажется разумным использовать а$ в ка- качестве сдвига после того, как значение этого элемента уже в какой- то степени установилось. Однако обсуждаемая ниже стратегия сдвигов отбрасывает осторожность и использует а($ как сдвиг с самого начала. Формально а* = М* = еГА»е„ *=1, 2 (8.7.1) Неожиданно оказывается, что ak совпадает с отношением Релея pfe, применяемым в RQI (§ 4.6). Чтобы отличать RQI от INVIT (первый является специальным случаем последнего), будем писать xk вместо uk. Теорема. Если RQ1 начинается с х1 = е1 и QL использует сдвиг (8.7.1), то pk(=x'kAxk) = ok при всех k. (8.7.2) Доказательство. Первоначально 0! = eiA,e, = Xi Ах, = р,-.
164 Гл. 8. Алгоритмы QR и QL Примем в качестве предположения индукции, что ok==pk для k—\, ..., j. Тогда теорема (8.5.2) показывает, что Pke1 = xk+i для к = 1, ..., Следовательно, <V+i = e*A/+iei = еГР/АР^ = х;+1Ах/ + 1 = Р/+1. По принципу индукции результат справедлив при всех k. Все сво ва сходимости RQI (§ 4.7, 4.8 и 4.9) можно теперь перевести в утверждения относительно QL с этим конкретным сдвигом. В частности, пусть rss=(A— pjxs обозначает вектор невязки для xft, и пусть в QL-алгоритме со сдвигом (8.7.1) получена матрица Тогда (упр. 8.7.5) ||Ьк|| = Jrk|. Далее, пусть фл = Z(xs- zt)—угол ошибки. Если q>s—>-0 при k—* оо, то (упр. 8.7.3) irs||/|sincps|-+ |Я2-Яг|. (8.7.3) Асимптотически кубическая сходимость ц>к к нулю (теорема 4.7.3) влечет то же поведение |]rs||(= || bft|). Обычные доказательства того, что отношение flbs+,||/fbs|j3 имеет конечный предел (в пред- предположении, что Ibftj—>-0), являются довольно сложными. Переходя к глобальному поведению QL-алгоритма, заключаем, что I bЛ <[ || bs_ j || при всех k (согласно § 4.8) и f bs|—*-0 для почти всех А (§ 4.9). Однако, существуют все же недиагональные мат- матрицы, инвариантные относительно QL со сдвигом по отношению Релея. Простейший пример—матрица *-l"? i j- Однако малейшее возмущение этой матрицы А приводит к схо- сходимости. Никому ещё не удалось построить матрицу Alt такую, чтобы в точной арифметике последовательность {Ак}, порождаемая QL- алгоритмом со сдвигами (8.7.1), не сходилась и в то же время была нестационарна, хотя такие матрицы и должны существовать. Простая стратегия сдвигов по отношениям Релея превращает QL в мощное средство диагонализации матрицы. В § 8.9 будет опи- описана несколько более сложная стратегия, дающая еще лучшие результаты.
§ 8.8. Внедиагональные элемент» Упражнения к параграфу 8.7 8.7.1. Сформулировать и доказать аналог теоремы (8.7.2) для QR-алгоритма. 8.7.2. Вычислить А2, если ПО 10 1 ,= 1 20 2 [О 2 30 J = 10. 8.7.3. Используя разложение показать, что1' rft f = sin* < || (A-pfc)wb| Z! cos (pft + wft sin <pft, z*wft = 0, j] Wfe [[ = 1, sina и тем самым установить (8.7.3). 8.7.4. Доказать, что при k —> оо и xk —>¦ zj I Ях—pfe+11/1 Яа.—pfep —v 1. 8.7.5. Используя указанное в тексте разбиение А& иа блоки, показать, что ЦЬ» ||=|| г* ||, хотя bft ф тк. 8.7.6. Показать, что основной QL-алгоритм, примененный к вырожденной неразложимой трех диагональ ной матрице, должен сходиться sa один шаг. § 8.8. Внедиагональные элементы В контексте обратной итерации единственный вектор, которым мы располагаем на fe-м шаге,—-это текущее приближение ик к соб- собственному вектору; естественно поэтому брать в качестве сдвига отношение Релея. Однако в случае QL-алгоритма имеется мат- матрица Ак, и потому можно вычислить более точное приближение к A,j. Более того, если А1 трехдиагональная, то это уточненное значение можно получить очень малой ценой. Прежде чем под- подробно обсудить такие сдвиги, посмотрим на результат одного QL- преобразования с произвольным сдвигом а для трехдиагональной матрицы А. Формулы таковы: А =• Т T - а = QL, Т « Q*TQ. (8.8.1) J) В случае кратного ^ предполагается, что w& ортогонален к соответ- соответствующему собственному подпространству.— Прим. перев.
166 Гл. 8. Алгоритмы QR и QL Поскольку ширина ленты не меняется, Т также трехдиаго- нальная и, следовательно, в формальном смысле, Т есть резуль- результат «приведения» Т к трехдиагональной форме посредством Q. По теореме G.2.2) Т полностью определяется матрицей Т и либо вектором qu либо вектором qn. Рассмотрим последние столбцы обеих частей равенства Т—a = QL. Видим, что цп есть кратное вектора @, . .,0, р„_„ ап—а)*. Этот факт используется при реализации преобразования (см. § 8.12 и 8.13). Оказывается, на- напротив, что анализ упрощается при описании Т посредством q,, а не qn. Если а—собственное значение, алгоритм сойдется не- немедленно; поэтому нам нужно рассмотреть лишь случай, когда а не является собственным значением. Из связи с обратной итерацией [теорема (8.5.2), k = 2] следует или %=l/HT-o)-*ell = HT-o)qll. (8.8.2) Нормирующий множитель т играет в последующем централь- центральную роль. Результаты § 7.3 характеризуют новые внедиагональ- ные элементы р,- посредством некоторых нормированных много- многочленов. В частности, |$, | = min |ф(Т) q,|| по всем ф(|) = ?—ц <||(Т—a)qJ = T, согласно (8.8.2), (8.8.3) и |^ра | = minfl<p(T) q,j по всем нормированным многочленам степени два, <[||(Т—«i)(T—a)q1\, ловкий выбор, = ||(Т—а,)е,т|, согласно (8.8.2), HkMMPiK (8-8.4) Эти соотношения (8.8.3) и (8.8.4), справедливые при всех а^ЯДТ], показывают потенциальную полезность нормирующего множителя т из (8.8.2). Хотя можно получить точные выражения для р, и р^а (§ 8.11), они более сложны, чем верхние оценки для т. Для наших целей таких оценок вполне достаточно. § 8.9. Оценка невязки при сдвиге по Уилкинсону Пусть формулой (8.8.1) задана матрица Т. Сдвиг по Уилкин- Уилкинсону ш—это то собственное значение матрицы LA <
§ 8.9. Оценка невязки при сдвиге по Уилкинсону 167 Рис. 8.9.1. Сдвиг со по Уилкинсону. которое находится ближе к о^. В случае равенства а^ = аг выби- выбираем меньшее из собственных значений, именно а^ — |($j|. Такой сдвиг, очевидно, лучше, чем ах, если $t либо |$2 малы. Одна из формул для со о, = (о, + a2)/2-sign где 8 = (а2—а^/2, но лучше будет такая формула (упр. 8.9.1): (o = o,-signF)p;/(| б Ц-КбЧИ). Из рис. 8.9.1 видим, что |а,—со|<|аа—со|, (8.9.1) равенство имеет место тогда и только тогда, когда 6 = 0. Заме- Замечая, что 11$! | есть среднее геометрическое чисел \а^—со] и \аг—и>\, находим . IPiI -./"l к-«>1 - У g9 причем равенство имеет место тогда и только тогда, когда 6 = 0. Наша цель, вытекающая из (8.8.4), состоит в том, чтобы по- получить оценку для т = |(Т—u))q1||=l/||p|, где р определяется уравнением (Т—ш)р = е1. (8.9.3) Лемма. Если сдвиг со по Уилкинсону не является собственным значением Т, то единичный вектор qt определяется уравнением (Т—(i))q1 = e1x и _ ||(T-co)q1||2 = T2<min{2pf, PI, \?>А\1^2}. (8.9.4) Доказательство. Пусть вектор р из (8.9.3) имеет элементы пи л2 я„. Тогда (8.9.5)
168 Гл. 8. Алгоритмы QR и QL Для удобства положим а, = а,-—со. Тогда первые два уравнения из (8.9.3) можно записать в виде If (8.9.6) 0. (8.9.7) Исключая щ и используя равенство а>1Р>г = §\, находим (8.9.8) Замечательно, что л, зависит лишь от а1( р1( р2. Напротив, пг и я, зависят от всех элементов Т—со. Однако простую оценку для л|-|-ат| можно получить из линейного уравнения (8.9.6) и элемен- элементарной геометрии (упр. 8.9.2) Й (8.9.9) Подставляя (8.9.8) и (8.9.9) в (8.9.5), получаем (89Л0) Эта оценка имеет более сложный вид, чем нужно. Согласно (8.9.2), Ta<(l/2f$? + l/p?)-»<min{2pLP§}. ' (8.9.11) Наконец, поскольку среднее геометрическое не превосходит сред- среднего арифметического, из (8.9.11) можно вывести также (8.9.12) и лемма доказана. Среднее выражение в (8.9.11) есть деленное пополам среднее гармоническое чисел 2E? и Р|. Упражнения к параграфу 8.9 8.9.1. Показать, что обе формулы для &> в точной арифметике эквивалентны. Найти пример, в котором при вычислении по первой формуле теряется половина знаков. Показать, что при вычислении по второй формуле такой потери не может произойти. 8.9.2. Найти точку (|, tj) на прямой Я| + р/п=1, ближайшую к началу координат. § 8.10. Трехдиагональный QL-алгоритм сходится всегда Для произвольной неразложимой трехдиагональной матрицы Tj алгоритм QL порождает последовательность неразложимых трехдиагональных матриц {Tft> k= 1,2. ...}. Замечательный факт
§ 8.10. Трехдиаеональный QL-алгоршпм сходшпея всегда 169 состоит в том, что при сдвигах по Уилкинсону pi** быстро стре- стремится к нулю при k —> оо. Единственное предположение: ариф- арифметика выполняется точно. Из этой теории проистекает несколько практических преиму- преимуществ: 1) нет нужды в тесте, улавливающем правильный момент для переключения с одной стратегии сдвигов на другую; 2) нет необходимости добавлять к программам операторы для проверки и обработки редких специальных случаев и 3) на число итераций, допускаемых при вычислении одного собственного значения, можно установить верхний предел, скажем 30. Эта последняя возмож- возможность гарантирует быстрое исполнение в конечной точности, не ограничивая существенно область применимости алгоритма. См. упр. 8.10.1. В отличие от стратегии сдвигов по отношениям Релея, где ok — alf\ здесь внедиагональный элемент ffl не обязан убывать на каждом шаге. Монотонность принесена в жертву гарантиро- гарантированной, сходимости к нулю. Одна из трудностей при анализе немонотонного процесса со- состоит в том, что неизвестно, сколько последовательных шагов следует рассмотреть, чтобы выйти на основной режим. К счастью, в нашем случае достаточно одного шага, ибо величина Р!Р2 уже монотонно стремится к нулю, мажорируя при этом J3f. Теорема. Трехдиагональный QL-алгоритм со сдвигами по Уил- Уилкинсону сходится всегда, т. е. Pift) —»-0 при fe—><». (8.10.1) Доказательство. Пусть Т и f — соседние члены трехдиаго- нального QL-алгоритма. По лемме 8.9.4 Используя теперь первую и третью кандидатуру на Этот мини- минимум, получаем lP1|3 = |Pi|-!P!l<(K2|pi|)(|pip2|/K2) = |Pfpa|. (8.10.2) Далее рассматриваем последовательность {(Pift)JPBft>}. Произведе- Произведение (8.8.3), IPxKt, и (8.8.4), | &Р, | < I Pi I*. Д^т I РЖ |< I Pi I f2 < I Pi I • I PA |/K? (8.10.3) Следовательно, при k —*¦ oo I ftft+1) Is < | (pi*»I Pf I < I (PiI}J Pi41/A^2)*-* — 0. В следующем параграфе показано, что для достаточно боль- больших k, а часто уже при k > 2, реальная скорость сходимости много выше, чем указано в приведенном выше доказательстве. Важность теоремы (8.10.1) в том, что сходимость гарантирована и с самого начала не хуже линейной.
170 Гл. 8. Алгоритмы QR и QL В высшей степени замечательно, что скромный переход от сдвига по отношению Релея (о = аи) к сдвигу по Уилкинсону (а = ш) преобразует сходимость почти всегда в сходимость всегда. Однако при сдвиге по отношению Релея не обязательно ограни- ограничиваться лишь трехдиагональными матрицами; теория гл. 4 не зависит от системы координат. Можно спросить, существует ли стратегия сдвигов, гарантирующая сходимость обратной итерации с любого начального вектора? Ответ утвердительный, поскольку предположение о трехдиагональности не есть реальное ограниче- ограничение, а скорее удобное нормирование. Единственная задача состоит в том, чтобы выразить сдвиг по Уилкинсону в геометрической форме, и сейчас это будет сделано. Пусть и—текущий вектор в обратной итерации для заданной симметричной матрицы А. Согласно единственности приведения [теорема G.2.2)], существует единственное ортогональное преобра- преобразование Q такое, что Q*u = e, и Q*AQ = T — трехдиагональная. Теперь мы перенесем сдвиг со из трехдиагональной формы в исход- исходную постановку. Определение. Даны А и и, причем fu[|=l. Положим a! = u»Au, r = Au — Г™1 Тогда то собственное значение со матрицы W2, которое находится ближе к а,, есть сдвиг по Уилкинсону для обратной итерации: (А—со) u = ut. Если А заполнена, то вычисление со требует формирования Аг, так же как и Аи, что является дорогой платой. Для QL-алго- ритма и = е,, и потому лишь необходимость вычисления Аг является аргументом против использования ш для матриц общего вида. Однако если А имеет ширину ленты 2т +1, то цена вычисления Аг равна m2ops и при т<^.п кажется обидным не пользоваться со, пожиная при этом плоды гарантированной сходимости. Упражнения к параграфу 8.10 8.10.1. Возьмите любую, какая вам по душе, трехдиагональную матрицу порядка 10. Обозначим ее То. Пусть Т (т, б) — трехдиагональная матрица, полученная соединением т копий То, как показано на рисунке. Используя библиотечную QL или QR-программу, вычислить собственные зна- значения Т (т, б) и начертить график максимального числа итераций, необходи- необходимых при вычислении одного собственного значения, как функции от б при малых
§ 8.11. Асимптотическая скорость сходимости 171 ¦ ¦ ¦ ¦ о. значениях 6(е/10, е, Юе, ... , 105е). Сделать это для различных значений т E, 10, 15, 20). Мы обнаружим, что QL-алгоритм может сходиться медленно. Неясно, как следует выбирать сдвиги, чтобы заставить уменьшаться лишь одно из чисел 6. 8.10.2. Объяснить приведенное выше определение сдвига по Уилкинсону для матрицы А, ие являющейся трех диагональной. § 8.11. Асимптотическая скорость сходимости При сдвигах по отношению Релея QL-алгоритм сходится почти всегда, и если он действительно сходится, то асимптотическая скорость сходимости кубическая. В трехдиагональном случае по- последовательными значениями $г могли бы быть числа 10, 10~3, 10~Л 10"7. При сдвигах по Уилкинсону асимптотическая скорость сходимости почти всегда лучше кубической; однако никто еще не сумел доказать невозможность (всего лишь) квадратичной схо- сходимости к одной очень специальной предельной матрице. При обсуждении асимптотического режима будет удобно опустить итерационный индекс k, от которого зависят все величины. Типичный шаг QL-алгоритма преобразует трехдиагональную матрицу Т в матрицу t = Q*TQ, где -^)-1е1|| (8.11.1) и а—сдвиг. Оценка для т из леммы (8.9.4), которая имела кри- критическое значение при установлении глобальной сходимости, слиш- слишком груба для асимптотического режима. Прежде всего получим точное выражение для \^\. Лемма. Пусть f=»Q*TQ есть QL-преобразование Т. со сдви- еом о, т. е. (T-aR-e^. (8.11.2) Тогда (8.11.3)
172 Гл. 8. Алгоритмы С)Ц и QL Доказательство. Пусть Q=Z.Di> ei)- Переупорядочивая члены равенства QTej = Tqu находим 42Pi = Tqt — q,a, 1( так как a1 = q*Tq1, ) согласно (8.11.2) Поскольку q2 — единичный вектор, то Обычно если р, стремится к нулю, то р2 и р„ также стремятся к нулю, только гораздо медленнее. Следовательно, все три эле- элемента аи а2 и а3 приближаются к собственным значениям; но к каким именно собственным значениям, мы в общем случае ска- сказать не можем. Исход в большой степени зависит от начального сдвига. Однако, если собственные значения получаются в естест- естественном порядке, можно высказать точное утверждение относи- относительно асимптотической скорости сходимости. Как и прежде, мы опускаем итерационный индекс k. Элемент $, полностью определен вектором qt. Удобным крат- кратным qt является вектор р = (п1, л2, ..., л„)*, введенный в (8.9.3) уравнением (Т-а)р = е1. (8.11.4) Теорема. Пусть QL-алгоритм со сдвигами по Уилкинсону при- применяется к неразложимой трехдиагональной матрице Т. Тогда pt —*¦ 0 при k—>-оо. Если, кроме того, Р2 —0, ft,-—0 и «/-^-[Т], 1 = 1, 2, 3, (8.11.5). то при h —*¦ оо I Pi/PiPi I —-1/| ^2—^i I31 К—КIФ 0- (8.11.6) Удобно будет положить a,- = a,-—ш. Тогда, согласно (8.9.2), Доказательство. Пусть а = й>. Из первых трех уравнений (8.11.4) выразим щ, л2 и ля через л4. Тогда получим (упр. 8.11.1) Л1— o2Q2 T^ -7)
§ ii.ll. Асимптотическая скорость сходимости 173 Гарантированная сходимость QL-алгоритма обеспечивает, что pt —> О, а!—* О при k—* оо, но судьба р2 не определена. Пред- Предположение (8.11.5) дает р2 —> 0 и, что особенно важно, гаранти- гарантирует также, что все остальные элементы вектора р, именно л4, ..., яп, ведут себя при k —* оо как О()Р8я3|). Доказатель- Доказательство этого утверждения вынесено в упр. 8.11.2. В конечном счете в р будут преобладать компоненты лх и я2, а в правых частях выражений (8.11.7) для лх и я2 будут преобладать пер- первые члены. Поэтому при k —* оо Я2 Я2 Pi Р2 Up 11 |sin0| = Г Нужный результат вытекает из леммы (8.11.3). На практике сходимость р, столь быстрая, что при вычисле- вычислениях с 14 десятичными разрядами исчерпывание, как правило, происходит прежде, чем р2 и % войдут в асимптотический режим. Это явление иллюстрируется примером 8.11.1. Пример 8.11.1. Локальная сходимость QL-алгоритма ( 2i — \ при *=/, А = (а,7), t, /=1, ...,10, гдеаG = | 1 при i—i-l, \ 0 в противном случае, Таблица 8.11.1 1 МА1 0. 1 549129 2 2 .95307 4. 3 99785 6. 4 99995' Шаг Сдвиг Pi 1.0 1 0.585786 0.01724 -0.01724 2 0.549132 0.01434 2 X 10"8 3 0.549129 — 10-21t 1.0 0.5427 0.2991 0.1617 1.0 1.0 0.6825 0.7589 0.4736 0.5801 0.3280 0.4437 Маг 3 4 5 Сдвиг 2.95323 3.93307 0.016181 = |A/AJA2I 0.02778 0.028902 - 1/61.801 А ю-21 101 ю-21 1/34.599 - 1/[(А2 - А, А 0.1617 -1х 10 io~18t ) С з ~* ^ i А 0.3280 0.1663 0.08393 '(А,-А2) • А 0.4437 0.2976 0.1994 ¦Шум
174 Гл. 8. Алгоритмы QR и QL Остается показать, почему предположение (8.11.5) может не выполняться. Рассмотрим матрицу т ¦¦ 'оо ""  0 0 0 0 0 1 0 0 1 0 * о" 0 * * Если QL-программа не сумеет распознать, что pt =0, то при сдвиге по Уилкинсону Т. будет инвариантна относительно QL. Вполне вероятно, что при небольшом возмущении Т. получится матрица, для которой QL алгоритм сходится к Т.. В таком случае ^2-^-0, в то время как а2 —>- 0. Однако в р по-прежнему преобладает я1( но теперь это выявляет третий член в выраже- выражении для nv При k —»¦ оо t = 0(PJ/|oi|)-0(|oJ), I sine |=0A^1), Ik 1=0A «iPilHO(PB- Таким образом, даже в этих обстоятельствах сходимость квад- квадратичная. Здесь мы закончим обсуждение сходимости QL-алгоритма. Остальные параграфы посвящены проблемам реализации. Упражнения к параграфу 8.11 8.11.1. Вывести (8.11.7) из (8.11.4). 8.11.2. Положим p*=(Jij, щ, пя, s*). Показать, что е1л3р3 + (Т4)„—to) s=0. Используя теорему Коши о разделении A0.1.2), показать, что || (Т4, „—ш)-1!! ограничена при ш—*¦ Xi. Вывести отсюда, что | njn3 [=О(Р3) при k—*¦ оо. Считать, что выполняются условия (8.11.5). 8.11.3. Исследовать асимптотическую скорость сходимости при предполо- предположениях р2—* 0, а3^—»-0, § 8.12. Трехдиагональный QL-алгоритм с явными сдвигами Трехдиагональная форма сохраняется QL-преобразованием (см. § 8.3), и в этом параграфе будет показано, как перевести Т в f s=Q*TQ экономичным способом. Пусть а—сдвиг, тогда Т—a = QL и ортогональная матрица Q должна быть так назы- называемой нижней матрицей Хессенберга (т. е. <?,7 = 0 при i < /—1), что можно увидеть из рис. 8.3.1. К счастью, как мы сейчас покажем, Q не нужно формировать в явном виде.
§ 8.12. Трехдиагональный QL-алгоритм с явными сдвигами 175 Представим себе приведение Т—а к L посредством последо- последовательности из я—1 плоских вращений. Q» (T-a) = Rt .. . Rn_, (Т-а) = L, (8.12.1) где каждое Ry = R(/, / + 1, 9у) выбрано так, чтобы аннулировать элемент (/, /+1) текущей матрицы. Плоские вращения описаны в § 6.4. Приведем несколько «стоп-кадров» процесса. Удобно будет обозначать cos 8, через с/у sin 8, через ?f. Начнем с двух нижних строк и положим al — <xi—о. Гс„_1 -V-ilF' ' О Д,_2 ал_, д, n n,n,n,pn, ^tP,,-!«i» Последнее уравнение определяет 8n_j, но нам, разумеется, нужны лишь sn_1 = Pn_1/Jn и cn_i = an/?n. Далее применяем Rn_2; строки п—2 и п—1 приобретают вид с„_2 О с,_,б , тг , О Ч-З О сл_2/?„_3 тгп_2 О О и так далее, до тех пор, пока не будет получена L. На втором этапе строится матрица f согласно уравнению Т~ г* 1 (~\ ID* D * /Q 1 О Q\ — о = ьц/= LKn-i . . . Ki- (о. iZ.o) Затруднение при таком прямолинейном подходе состоит в необ- необходимости хранить все величины ct и s(, i = n — 1, п — 2, ..., 2, полученные во время первого этапа, задаваемого соотношением (8.12.1). Однако, когда матрица Rn_2Rn_, (T—а) вычислена, последние два ее столбца имеют окончательный вид столбцов матрицы L. Следовательно, R^_, можно применить справа уже сейчас, не дожидаясь, пока L будет сформирована полностью. После того как это сделано, с„_, и sn_, больше не нужны. Реальные вычисления протекают еще более сложным образом, чем мы здесь указали. Поскольку Т трехдиагональная, то элементы L в позициях (I, j — 2) должны в конечном счете обратиться в нули. Они не влияют ни на какие другие из вычисляемых величин, и их можно
176 Гл. 8. Алгоритмы QR и QL игнорировать. В действительности посредством изобретательных алгебраических манипуляций можно добиться того, чтобы f—а получалась на месте, прежде занятом матрицей Т, используя всего лишь шесть рабочих слов памяти, п — 1 квадратных кор- корней, 3(га—1) делений, 10(га—1) умножений и 10 (га—1) сложе- сложений. Флюктуации во времени исполнения основных арифметиче- арифметических операций затрудняют точную сравнительную оценку этих цифр. Полные сведения относительно алгоритма приведены в алго- алгоритме П/3 Справочника и соответствующих параграфах инструк- инструкции к EISPACK (см. § 2.8). Сдвиг а не восстанавливается; вычисляется именно матрица f—а. Поэтому в процессе итераций нужно хранить текущую сумму сдвигов. Иногда на ранних этапах алгоритма неудачный выбор сдвига может повести к утрате информации, содержащейся в элементах а.[. Поэтому мы опишем другую реализацию. § 8.13. Вытеснение выступа Существует способ выполнить преобразование Т—*T = Q*TQ так, что единственными модификациями Т будут плоские враще- вращения, и нет необходимости вычитать а из диагональных элементов. Первое вращение Rn_! выбирается в точности так же, как в предыдущем параграфе, именно tg8n_1 = Pn_1/(an—а) и Т умно- умножается на Rn-1 слева, как показано в (8.12.2). Далее, вместо умножения слева на Rn_2 матрица умножается справа на R^-i> чем завершается подобное преобразование Т. Применяя R*_i к (8.12.2), получаем «я-2 С„_, Д,_2 (8.13.1) где ?п-1 = сп-1лп-1 и ап можно выразить через cn_t и &п_ь Однако, поскольку след сохраняется, имеем Трехдиагональная форма нарушена в позициях (га, га — 2) и (га — 2, га). Это и есть выступ. Остальные вращения предназна- предназначены для восстановления трехдиагональной формы у матрицы
§ 8.13. Вытеснение выступа 177 (8.13.1) посредством описанного в § 7.5 метода Гивенса. Вели- Величина sn_,pn_2 аннулируется вращением Rn_2~R (п—2, п— 1, &„_2), где tg9n_2 = sn_ipn_2/sn_1nn_1 = pn_2/nn_1. Это подобное преобра- преобразование дает «„-3 C.-2P.-3 0 0 <,-2А.-з Уп-2 0 0 «я-I 0 0 0 Д.-1 «я (8.13.2) где ?п_2 = сп_2я„_2 и «n Ynn vn Выступ переместился из позиции (я, я—2) в позицию (я—1, я—3), и (8.13.2) показывает типичную ситуацию процесса. Пло- Плоские вращения выполняются, пока выступ не дойдет до позиции B, 0) и тем самым исчезнет. Кружок над R, подчеркивает, что в принципе нет причин для того., чтобы Ry- совпадала с матри- матрицей Ry из § 8.12. Конечной матрицей будет f, и пока не ясно, как преобразование Т—«-Т связано с QL. (Более подробно о пре- преобразовании Т-ч-Т см. в § 8.15.) По теореме о единственности приведения (§ 7.2) f пол- полностью определяется матрицей Т и первым (или последним) столб- столбцом матрицы Q = R^_iR^_2 • •. R*. Заметим, что над Rn-1 нет кружка. Вследствие специального вида плоских вращений Qe« = Rn-iR«-2 • • • Rie«= Rn-iRn-2 • • • R^n -Ri-ie,,. (8.13.3) Аналогичные выкладки проводим для матрицы преобразования из предыдущего параграфа: Qen= R^RJ., ... R;en= R*_ien = Qen. (8.13.4) Если либо f, либо f неприводимы, то из (8.13.4) и теоремы G.2.2) следует, что обе матрицы должны совпадать (с точностью до знаков внедиагональных элементов). Все, что необходимо в новом варианте,— это чтобы первый угол вращения Ва_1 определялся QL-факторизацией матрицы Т—а. Посредством вычисления Т вместо f—о преобразование было выполнено неявно.
178 Гл. 8. Алгоритмы QR и QL Чтобы завершить теорию, стоящую за этой неявной модифи- модификацией QL-алгоритма, нужен еще один результат. Лемма. Пусть t = Q*TQ, еде Q получена QL-факторизацией матрицы Т—а. Если Т неразложима, а а не является собствен- собственным значением, то f также неразложима. ' (8.13.5) Доказательство. Пусть яу = ру ... Pn_lt j — n—1, ..., 1. Нужно показать, что nj^O при /^1. Небольшая вариация результатов § 7.3 дает K-v-IHIX/COeJ, 1</<л, ¦ где X/ — нормированные многочлены степени /. Поэтому |nB-/MQ*X/(T)QeJ, так как f = Q»TQ, = II Xj СО Чп II» вследствие ортогональной инвариантности нормы, = j)Xy(T)(T—а)е„||//пп, согласно QL-разложению, и 1пп > 0, поскольку а не является собственным значением. Кроме того, многочлены от одной матрицы перестановочны; по- поэтому, если лл_у = О, то (Т-а)ху(Т)ел = 0 и вследствие обратимости Т—а Элемент с номером п—/ вектора в левой части равен лл_у = = Р„_У ... ^„-г- Другими словами, лл_/ = 0 тогда и только тогда, когда лл_/ = 0. 8.13.1. Сравнение явного и неявного сдвигов Единственным недостатком явного сдвига является то, что при вычитании большого а из малого а/ информация, содержа- содержащаяся в а,, безвозвратно 1еряется. Полный алгоритм и детали реализации u приведены в алго- алгоритме П/4 Справочника и в tHSPACK.. Число операций примерно то же, что и для явного сдвига: 9« умножений, 2« делений и п — 1 квадратных корней. Обычно вычитание о портит собст- собственные значения не в большей мере, чем некоторые предыдущие арифметические операции. В общем случае малые собственные значения не определяются с такой высокой относительной точ- 11 Речь идет о варианте с неявным сдвигом.—Прим. перев.
§ 8.14. Сдвиги на любой случай 179 ностью, как большие. Однако для некоторых «градуированных», или почти диагональных матриц,— пример указан ниже—малые собственные значения можно вычислить с высокой относительной точностью при условии, что выбран подходящий алгоритм. Не- Неявный алгоритм обеспечивает это свойство всегда. Явный сдвиг тоже дает сравнимую точность, если находить собственные зна- значения в порядке возрастания абсолютных величин. Пример 8.13.1 «Градуированная матрица» т = i 1 • 1 103 102 102 10е 105 105 108 108 108 1012. Малые собственные значения можно определить с высокой от- относительной точностью. Этот параграф следует закончить предупреждением. Теоремы, использованные при установлении эквивалентности алгоритма с не- неявным сдвигом и QL-алгоритма, основаны на точной арифметике и свойстве неразложимости Т. На практике нужно проверять, является ли Т неразложимой в пределах рабочей точности. Такая проверка нелегка. См. обсуждение различных тестов в §7.11. Если пренебрежимо малый элемент р не будет обнаружен алгоритмом, то наказанием будет не потеря точности, а неудачный выбор сдвига и вследствие этого замедление сходимости. Более подробно об этом см. в работе [Stewart, 1970]. § 8.14. Сдвиги на любой случай Опыт показывает, что при использовании сдвигов по Уилкин- сону все собственные значения Т можно вычислить в среднем приблизительно за 1.7 QL-преобразований на одно собственное значение. Экспериментальное правило (§8.15) говорит, что доста- достаточно 9п2 ops, чтобы найти все собственные значения. Поэтому трудно построить модификацию, значительно улучшающую эту часть вычислительного процесса. Напомним, что приведение заполненной матрицы А к Т уже требует B/3) п3 ops. Ситуация заметно изменяется, если в алгоритме нужно накап- накапливать матрицу Р, произведение всех Qk. Этот способ вычисле- вычисления Р гарантирует, что вычисленные собственные векторы всегда будут ортогональны в пределах рабочей точности, даже если имеются очень близкие собственные значения. Вычисление
180 Гл. 8. Алгоритмы QR и QL Pft(=P*-iQft) требует 4я(я—l)ops и поднимает цену одной QL- итерации с 24яорэ (§ 8.13) до 4я2-(-21я ops. Спектральное раз- разложение Т этим методом есть процесс О (я3), и имеется опреде- определенный стимул сократить число QL-преобразований. Дадим теперь краткий комментарий к некоторым используе- используемым стратегиям. 8.14.1. Без сдвигов Собственные значения вычисляются в монотонном относительно абсолютных величин порядке—при точной арифметике. В общем случае этот вариант слишком медленный. 8.14.2. Сдвиг по отношению Релея Эта стратегия очень легко программируется; сходимость очень быстрая; однако могут возникать нестандартные ситуации. 8.14.3. Сдвиг по Уилкинсону Этот вариант легко программируется в случае трехдиагональ- ных матриц. Возможно его применение для матриц Т общего вида; сходимость очень быстрая. Собственные значения обычно вычисляются в более или менее монотонном порядке. 8.14.4. Сдвиг по Ньютону Эта стратегия предназначена для того, чтобы вычислять соб- собственные значения трехдиагональных матриц в монотонном по- порядке, не теряя второй порядок сходимости. Исходная матрица Т должна быть определена (положительно или отрицательно); тогда Т + %т (O)/xf(O) все еще определена. Бауэр нашел остроумный спо- способ реализации QL-преобразования, в котором величина — 1т (ОУХг @) получается как побочный результат и может быть использована в качестве сдвига для следующей итерации. Детали даны в алгоритме П/6 Справочника и в программе RATQR из EISPACK- сообщалось о затруднениях в связи с машинными нулями. В трудных случаях сходимость довольно медленная, и меры предосторожности, встроенные в ньютонову стратегию, нужны лишь для устойчивости реализации. Быстрее было бы найти не- несколько больше, чем нужно, собственных значений, пользуясь сдвигом по Уилкинсону или каким-либо другим мощным сдвигом, а затем проверить, какие именно собственные значения были найдены, посредством деления спектра, описанного в гл. 3. 8.14.5. Сдвиги по Сааду Поскольку каждая перестройка Р стоит 4я2 ops, было бы разумно потратить О (я) ops, чтобы найти еще лучший сдвиг, чем по Уилкинсону. В работе [Saad, 1974] сделаны конкретные
§ 8.15. Как избавиться от квадратных корней предложения. За 4nops можно вычислить и %(<i>), и %'{&), не меняя Т; затем можно провести одно QL-преобразование со сдви- сдвигом ш—5С(ш)/х'(й>) и перестроить Р. Конечно, вовсе не обяза- обязательно ограничиваться при выборе сдвига первой ньютоновой итерацией числа ш. На самом деле Саад предлагает, пользуясь методом Ньютона, вычислить собственное значение с желаемой точностью и лишь затем выполнить QL-преобразование, взяв собственное значение11 в качестве сдвига. Подобные методы сокращают общее число QL-итераций почти до л и позволяют п п вычислить матрицу P = HQft приблизительно за 2i4k(k—1) = k=\ i =4(я3—n)/3ops, что является снижением стоимости на 40%. 8.14.6. Финальные сдвиги Если имеются два я-вектора дополнительной памяти, то ко второму экземпляру Т можно применить QL-алгоритм без квад- квадратных корней из § 8.15, что позволяет вычислить все собствен- собственные значения приблизительно за 9я2 -(- 42я ops. Затем к Т приме- применяются QL-преобразования, причем собственные значения исполь- используются в монотонном порядке как сдвиги и накапливается про- произведение матриц Q. Преимущество вычисления собственных значений QL-алгорит- мом перед методом Ньютона состоит не столько в числе опера- операций, сколько в гарантированной сходимости QL-алгоритма со сдвигом по Уилкинсону. Чтобы заставить метод Ньютона схо- сходиться во всех ситуациях, требуется гораздо более тщательная реализация. *§ 8.15. Как избавиться от квадратных корней Неявное QL-преобразование Т в f требует 9я умножений, 2я делений и я— 1 квадратных корней. Обычно для вычисле- вычисления всех собственных значений достаточно A.7) я преобразова- преобразований, и алгоритм по праву считается эффективным и устойчивым. Он находится в сердцевине современных программ для собствен- собственных значений. Тем не менее, если собственные векторы не нужны, его можно еще больше ускорить. В 1963 г. Ортега и Кайзер [Ortega, Kaiser, 1963J заметили, что QR-преобразование можно реорганизовать так, чтобы исклю- исключить все квадратные корни. К сожалению, их программа иногда дает неточные результаты. Это может случиться, поскольку в новом варианте не выполняются в буквальном смысле ортого- ортогональные подобные преобразования. Названная статья повела 11 Вычисленное.— Прим. перев.
182 Гл. 8. Алгоритмы QR и QL к замечательной цепочке исследований, посвященных изгнанию квадратных корней из QR-алгоритма. Назовем лишь некоторых из авторов—Рутисхаузер, Уилкинсон, Уэлш, Стьюарт, Глаус, Перейра и Сэк. Можно подумать, что каждый автор устранял дефект в программе предшественника лишь затем, чтобы допу- допустить свой собственный мало заметный просчет. Казалось, что цепочка завершилась статьей [Reinsch, 1971], где был дан про- простой и устойчивый алгоритм под названием TQLRAT. Однако программа Райнша имеет особенность, которая иногда мешает вычислению малых собственных значений с максимальной воз- возможной относительной точностью. Поиски оптимальной реализа- реализации все еще не закончены. В этом параграфе изложен неопубликованный алгоритм, раз- разработанный (в 1968—1969 годах!) Пэлом и Уокером под руко- руководством Кахана. Это было аспирантское задание в Университете Торонто. Мы будем называть его PWK.-алгоритмом. Метод не требует задания границ для ошибки, при этом не приносится в жертву устойчивость и элегантность. Пользуясь PWK-алгоритмом либо алгоритмом TQLRAT, обычно можно вычислить р наименьших или р наибольших соб- собственных значений Т приблизительно за 20рп умножений. В лучших стратегиях сдвигов собственные значения обычно получаются в монотонном порядке. После того как вычислены р собственных значений, легко поделить спектр (§ 3.3) и проверить, не пропущено ли какое-либо из нужных собственных значений. Если действительно пропущено, то алгоритм продолжают, пока не найдут все. Простая оценка: на каждое собственное значение затрачи- затрачивается в среднем 2 итерации. Эта оценка слишком занижена, если р = 1, и слишком завышена если р ^ я/3. Если деление эквивалентно 2 умножениям, то каждое QL-преобразование без квадратных корней требует лишь 10п умножений. Все собственные значения Т можно вычислить приблизительно за 9л2 ops. Обоснование: Предполагаем затрату в среднем 1.8 преобра- преобразования на одно собственное значение; при этом порядок каж- каждый раз уменьшается на единицу. 8.15.1. Вывод алгоритма Наша цель—представить QL-преобразование из § 8.13 таким образом, чтобы было ясно, как избежать квадратных корней и в то же время при всех обстоятельствах сохранить точность. Мы нач- начнем с Т = Т„ и постепенно построим Т = Т1 посредством после- последовательности плоских, вращений Т, = R^T^^R*, i = n—1, .... 1,
§ 8.15. Как избавиться от квадратных корней 183 T*+i «1 A, ¦Pi • • • «/-i A-1 A-% La «/+2 A+2 P/+2 Рис. 8.15.1. Выступ в QL-преобразовании. Преобразование элемента T+i—*" > 7,-—>¦ т?—* 7/»^. а,- , согласно § 8.13 где R/ = R (i, t-f-1, 8,.), а Т,- имеет выступ в позициях (t±l, t+1). Важный ингредиент в этом предприятии — понимание струк- структуры активных элементов Т/+1. Эта структура обсуждалась в § 8.13 и для общего случая показана на рис. 8.15.1. Сейчас будет полезно игнорировать сдвиг о; в конце процесса он без труда будет возвращен на место. Чтобы продвинуть выступ в Т/ + 1, переменные с, и s,, опре- определяющие R,-, должны удовлетворять условию c/(s/+1p,)—s/(s/+1nl + 1) = 0. (8.15.1) Отсюда следует Теперь (8.15.2) (8.15.3) Интересный вопрос: как выразить новые значения элементов ('» 0, (t, i + 1) и (t + 1, i+ 1)? Полезно изобразить активные стро-
184 Гл. 8. Алгоритмы QR и QL КИ а/_1 /3^1 О О С/Д-1 ет> О О (8.15.4) где я,- = срч—s, (с;+1р,). (8.15.5) Когда справа применяется R,, то элемент (t, t) приобретает зна- значение — cfai—CtS{Ci+$i, согласно (8.15.5), = cfa,— sfci+itij + i, согласно (8.15.1), = ф,—sfoi+1. (8.15.6) Значительные усилия были направлены на то, чтобы избавиться от с) либо sf, но из соображений устойчивости в PWK-алгоритме предпочитают сохранить обе величины. Условие постоянства следа дает хороший способ перевычисления элемента (t-}-l, t-j-1), а именно ai+1=.Y/+i+a, — Y,- (8.15.7) Перевычислив у в соответствии с (8.15.6), мы можем перевычис- перевычислить п по формуле П1=*у,/с,. (8.15.8) Эта формула не годится при с(- = 0, и кажется, что она должна быть ненадежна при очень малых с{. Однако анализ ошибок1' показывает, что избыточность формулы (8.15.6)8) позволяет сохра- сохранить устойчивость (8.15.8) даже при очень малых значениях с(. Предоставляем читателю (упр. 8.15.1) проверку, что случай с; = 0 приводит к безобидной перестановке: s, = I, a;+1=a(., но я{=—Р,-с/+^. Таким образом, (8.15.8) приобретает вид -К«ГГ-<1 (8-15-9> Формулы (8.15.2), (8.15.3), (8.15.6), (8.15.7) и (8.15.9) дают слегка неортодоксальную реализацию внутреннего цикла стандартного 1) См. ниже раздел 8.15.5.— Прим. перев. * Автор имеет в виду наличие в (8.15.6) и с2{, и s*.— Прим, перев.
§ 8.15. Как избавиться от квадратных корней 185 QL-алгоритма. Чтобы избавиться от квадратного корня в (8.15.2), необходимо лишь возвести в квадрат формулы (8.15.2), (8.15.3) и (8.15.9). При этом никакая существенная информация не будет утеряна, поскольку (8.15.6) использует с? и sf. Внутренний цикл подробно расписан в конце параграфа. Приятной особенностью является то, что в (8.15.9) выбор между двумя формулами происходит в соответствии с простым нулевым тестом. Сдвиг участвует лишь в (8.15.6), поскольку фор- формула (8.15.7) инварианта. Прежде чем исследовать устойчивость, рассмотрим некоторые другие варианты. 8.15.2. Вариант Ортеги — Кайзера Если записать i) (8.15.10) вместо Y/ = cia/ — s!?*+i> T0 экономится одно умножение. Если sfr=l и 7/+i<^a/> т0 У1 должно быть очень близко к —-у/+1, однако вычисленное значение будет иметь очень большую отно- относительную ошибку. Само по себе это не так важно. Потеря про- происходит на следующем шаге (8.15.9), где n? = yf/cf. Если s*=l, то ошибка в я? будет велика относительно ЦТ—afl. 8.15.3. Алгоритм Райнша Райнш также хотел избежать излишества, состоящего в ис- использовании обеих величин с\ и s\, и потому для перевычисле- перевычисления у применил формулу (8.15.10). Это вызвало необходимость записи (8.15.9) в следующей остроумной форме: я? = 7?/с? = у/-Ч|, (8.15.11) где = <*/ — sh>;+i/c?> согласно (8.15.6), = Щ—Y/+iP?/n?+i> согласно (8.15.1), = аг—P?c?+i/?/+i» согласно (8.15.9), = a/-P?Mi+i- (8.15.12) В действительности r\t есть i-й диагональный элемент в треуголь- треугольном разложении Т снизу вверх. В случае т]/+1 = 0 Райнш заме- заменяет в (8.15.12) 0 на emax|aft—а\. Это можно оправдать в смысле обратного анализа ошибок как эквивалент возмущения а{, не превосходящего етах|аА—а\, что является малым возмущением относительно ЦТ—а\\. Тем не менее хорошо, что есть алгоритм, в котором такая жесткая замена не нужна.
186 Гл. 8. Алгоритмы QR и QL 8.15.4. Деление спектра Райнш заметил, что v, число отрицательных r\h равно числу собственных значений Т, которые меньше, чем сдвиг а. Причины объяснены в § 3.3. Поскольку yi = r\ic2i, ту же информацию можно получить из схемы Пэла — Уокера—Кахана. Если а сошлось в пределах рабочей точности, то его индекс дает число v-f 1. Это — ценная информация, если нужны лишь несколько собственных значений Т. С другой стороны, несколько быстрее было бы проверять индекс вне внутреннего цикла QL-схемы. 8.15.5. Устойчивость В этой книге нет места для формального анализа ошибок в PWK-алгоритме. Большинство формул анализируется «в лоб». Мы сосредоточимся на том способе, которым в (8.15.6) вычисляется у,-. Будет показано, что на практике деления в (8.15.8) не следует бояться. Пусть черточки вверху указывают вычисленные величины. Предположим, что e); (8.15.13) Величина е изображает очень малые числа, возможно, различные в каждом ее появлении. Несмотря на ошибки, алгоритм сохраняет следующие соотно- соотношения: я,.+17, = р;с]A +е), согласно (8.15.1), (8.15.14) 7,- = с,.л,. A+е), согласно (8.15.9). (8.15.15) Тогда в (8.15.6) Y/+iS?O+e)*. согласно (8.15.13), ~ e1~~s2c, (8.15.16) если пренебречь членами порядка е2 и выше. Кажется, что по- последний член в (8.15.16) предвещает катастрофу, если yt делится на малое с,-. Однако это не так, потому что T,4iS?=^+i^+1(l+e)s2-, согласно (8.15.15), 7^), согласно (8.15.14). (8.15.17)
§ 8.16. QL-алгоритм для ленточных матриц 187 Отсюда следует, что после того, как деление в (8.15.8) выполнено, -|sI.| + |n/|}, (8.15.18) и потому ошибка всегда очень мала по сравнению с соседними элементами матрицы. Приведем теперь внутренний цикл алгоритма. Упражнение к параграфу 8.15 8.15.1. Исследовать случай, когда c,-+i Ф 0, но с,=0. Показать, что пе- перестановка приводит к я/ = —Р,-с/ + 1. Таблица 8.15.1 Внутренние циклы алгоритма PWK Присвоение наче/тьных значений Цикл Окончание QR(изменяет Bkti) У * i <— ВВ <г R <~ Д-1 ^ OLDC с <— s <- oldy < а <— Y<- а, <— р ^ вт , - с <—i,s <—о, '—ak-o,P<r-yy k, k Л- 1,,. ,j -m — 1: .Р+Д8 — 5е-Л <^—С P/R BB/R — у С • (а - о) - 5 ¦ оИу oWy + (а •=-; у) Г (уу)/С,С?*0, { OLDC-BB,C~0. (r-SP - а + у QL (изменяет Вгт С <— 1, S <— У <— ат - а, Р <г i ^— т — 1,.,., к ВВ <— В, R <— Р+ ВВ Bi+t <—S-R OLDC <— С С <—P/R S <—BB/R oldy <—у a ^— a; у <—C-(a-o)- e,- + i <—oldy + (a - i,<_[ (yy)/c, I OLDC- ВВ, Bk <r-SP <*k ^— a + У ) •о, — у. у t 1, Л: Soldy -у) С = 0. Стоимость З деления, 4 умножения, 5 сложений на итерацию Память ВВ, R, P, S, С, OLDC, у, old у Матрицу следует масштабировать до начала процесса, Масштаои- используя степень основания машинной арифметики, чтобы избежать машинных нулей в QL-преобразовании лОбозначения: заглавными dj/нИомиуказаны 1е/шчты, ябляющиеся к напри fief, B^pf, i**k,. .. , т - 1.
188 Гл. 8. Алгоритмы QR и QL § 8.16. QL-алгоритм для ленточных матриц Если нужны 4 собственных значения матрицы А порядка 400 с шириной ленты 41, то было бы не очень эффективно приводить А к трехдиагональной форме в соответствии с § 7.5. Поскольку ширина ленты сохраняется, QL-алгоритм со сдвигами можно реа- реализовать, экономя как память, так и количество операций. Алго- Алгоритм оформлен как алгоритм П/7 Справочника. Это—хороший образец математического обеспечения, далекий от слепой реали- реализации преобразования, описанного в § 8.2. Мы не станем входить в детали, однако у.кажем главные идеи. При заданном сдвиге о матрица А = А—о в принципе умно-; жается слев.а на последовательность отражений Н„, Ип_и ... с тем, чтобы привести ее, столбец за столбцом, к нижней треуголь- треугольной форме L. Отражения — это элементарные ортогональные мат- матрицы, описанные в § 6.3. Таким образом, H2...HnA = L, (8.16.1) где Н„ = Н (wn), выбрана так, чтобы привести п-й столбец к тре- треугольному виду; Hn-1 приводит к треугольному виду (п—1)-й столбец матрицы Н„А и так далее. Выбор w(- происходит обыч- обычным образом и указан в § 6.3. Вторая фаза преобразования требует умножения L справа на все матрицы Н(-, и здесь трудность становится очевидной. Нужно хранить векторы w;, определяющие матрицы Н,-, а это требует п(т-\-\) ячеек памяти. Здесь т-\-\—полуширина ленты. Проб- Проблема устраняется, если заметить, что для начала второй фазы нет необходимости находить всю матрицу L. Изучение рис. 8.16.1 показывает, что после того, как слева были применены т мат- матриц Н,., можно начинать вторую фазу. Это наводит на мысль, что полное QL-преобразование можно выполнить посредством т-\-п малых шагов следующего вида: HiAH)+m, i = n, л—1, ..., — т, (8.16.2) где А—текущая матрица и Ну=1 для / <; 1 и / > п. Дальней- Дальнейшее исследование рис. 8.16.1 (см. с. 193) показывает, что после этого шага вектор w/+2m уже можно не хранить. В действительности алгоритм не выполняет (8.16.2) «в лоб». Вместо этого вектор (А—о)е,- преобразуется прямо в соответст- соответствующий столбец L посредством формулы Н#-.. •Н1+2та(а1. — ее,),
§ 8.16. QL-алгоритм для ленточных матриц 189 w,- записывается в память, остальные столбцы А не затрагива- затрагиваются, вычисляется и записывается в память A + т)-я строка ко- конечной матрицы А. Симметрия используется полностью, и воп- вопросы хранения решены весьма удовлетворительным способом. 8.16.1. Сдвиги Алгоритм применяется лишь тогда, когда нужно небольшое число собственных значений; поэтому порядок, в котором вычис- вычисляются собственные значения, важен. В Справочнике использо- использована двухэтапная стратегия: первоначальный сдвиг есть 0; затем, после того как для первой внедиагональной строки проходит тест, применяется трехдиагональный сдвиг по Уилкинсону. Это— единственная неэлегантная черта данной программы. Ценой одного треугольного разложения (m2n/2ops) можно най- найти точное положение в спектре любого вычисленного собствен- собственного значения. Это делает менее важными предосторожности при выборе сдвига. 8.16.2. Число операций 3(m + l)Bm-f I) ops на малый шаг; (пг + п) малых шагов за итерацию; 5 итераций (в среднем) для первого собственного значения; 1 итерация для каждого последующего собственного значения. 8.16.3. Память пх(т-{-\) для А (хранение по диагоналям); (т + l)xBm-fl) для w{; 2xBm-f-l) для рабочего массива; Этот метод включен и в EISPACK, выпуск 2, под названием BQR. Примечания и ссылки С практической точки зрения QL-алгоритм решает проблему вычисления собственных значений малых матриц. Тем не менее он был изобретен лишь в 1958—1959 годах, а по достоинству оценен в середине 1960-х годов. Ключевая идея принадлежит Рутисхаузеру, который в 1958 году построил родственный метод, называемый LR-алгоритмом. Нужно воздать должное также и молодому английскому системному прог- программисту Фрэнсису, который сделал три открытия, необходимых для того, что- чтобы метод был эффективным; именно: 1) основное QR-преобразование; 2) инва- инвариантность формы Хессенберга; 3) использование сдвигов для ускорения схо- сходимости. Следует добавить, что Фрэнсис получил некоторую помощь отСтрейчи и Уилкинсона. Соответствующие статьи [Francis, 1961, 1962]. Независимой в тот
190 Гл. 8. Алгоритмы QR и QL же период пункты 1) и 3) были обнаружены Кублановской1»; однако без усо- усовершенствования, которое позволяет пункт 2), метод является очень медлен- медленным. См. [Кублановская, 1961]. Тесная связь между итерацией с использованием отношения Релея (RQI)- и QR-алгоритмом была замечена Каханом и Уилкинсоном. В действительности монотонное убывание последнего внедиагонального элемента в трехдиагональ- ном QR-алгоритме привело Кахана к анализу глобальной сходимости RQI, изложенному в гл. 4. Уилкинсон н Райнш поддержали нас в переходе на QL-формулировку, использовав ее в своем авторитетном Справочнике. В 1968 году Уилкинсон доказал, что трехдиагональный QL-алгоритм с предложенными им сдвигами всегда сходится. Его доказательство основано на монотонном убывании произведения | PjPa |. Однако анализ упрощается, если вместо PiP2 взять Р^2! этот последний подход изложен в § 8.9—8.10, которые следуют работе [Hoffman, Parlett, 1978] и используют некоторые идеи статьи [Dekker, Traub, 1971]. Вариант PWK QL-алгоритма без квадратных корней (§ 8.15) не был опуб- опубликован в открытой литературе. По-видимому, это лучший способ вычисления всех собственных значений симметричной трехднагональной матрицы. Кроме того, скорейший путь вычисления полного набора ортонормированных собст- собственных векторов состоит в выполнении QL-алгоритма на основе быстрых пре- преобразований Гивенса при использовании ранее вычисленных собственных зна- значений в качестве сдвигов. Кажется, эта комбинация методов никем до сих пор не была указана. Некоторые идеи, поведшие к открытию QR-алгоритма, описаны в статье Parlett, 1964]. 1) Первая публикация В. Н. Кублановской по QR-алгорнтму появилась годом раньше в «Дополнении» к изданию 1960 г. монографии Д. К- и В. Н. Фаддеевых «Вычислительные методы и линейная алгебра».— Прим. перев.
ГЛАВА 9 Методы Якоби § 9.1. Вращение плоскости В размерности два вращение на угол 8 достигается умноже- умножением векторов слева на матрицу На протяжении этой главы мы будем пользоваться обозначения- обозначениями с, s и t для скалярных величин cos 8, sin8 и tg 6. Соответ- Соответствующее подобное преобразование матрицы А имеет вид Новая матрица будет диагональной, если to oft - Нет необходимости вычислять 8 в явном виде. Пусть 6 = |р—a|/2, v^VfTb*. (9.1.3) Пользуясь стандартными тригонометрическими тождествами (упр. 9.1.1), находим c2 = |(l + 6/v), s* = l(l-6/v). (9.1.4) Выражение для s3 представляет собой классический пример формулы, опасной при вычислениях с конечной точностью. Если 9 мало, то б/v близко к 1, и формула была бы прекрасна, если бы легко было вычислить б/v с запасом точности. При фиксиро- фиксированной длине машинного слова приходится пользоваться форму- формулами получше. Имеется несколько устойчивых способов вычисления cos8 и sin 8 по данной информации. Вероятно, наилучший тот, что ис- использован в программе метода Якоби из Справочника, написан-
192 Гл. 9. Методы Якова ной Рутисхаузером. Посредством тригонометрических тождеств tg 20 можно выразить через / = tg 0: !^ = ctg28=b^. (9.1.5) Таким образом, t—наименьший по абсолютной величине корень уравнения Р + 2&—1=0 (9.1.6) и, следовательно, ^ = sign а)/A С [ -Ь КГ+Та). (9Л.7) Тогда c=l//T+7i, s = ct. (9.1.8) Навязывая с положительный знак, получаем вращение с |0|^-|-. Есть и другое решение уравнения ctg20 = ?. Это—угол я/2 + 0. Причина, почему нужно выбирать малый угол, объяснена в кон- конце параграфа 9.3 о сходимости. Дальнейшее применение тригонометрии (упр. 9.1.2) показы- показывает, что новая матрица имеет вид Га— yt 0 1 ,9 . Упражнения к § 9.1 9.1.1. Пользуясь соотношениями между тригонометрическими функциями углов 8 и 26, доказать (9.1.4). 9.1.2. Показать, что диагональные элементы RAR* можно записать как а—yt и P § 9.2. Вращения Якоби Традиционные формулы, определяющие матрицу вращения R@), которая диагонализует Bх2)-матрицу А, даны выше в (9.1.5), (9.1.7) и (9.1.8). Идея методов Якоби в том, чтобы применить эту технику для случая (пх/г)-матрицы А посредством плоских вращений R (i, }, в), описанных в § 6.4. Если положить а = аи, р = ау/) y — a{J, то приведенная выше формула (9.1.5) и формулы для с и s неявно определяют угол в, такой, что элементы (t, /) и (/, i) матрицы A' = R (/, /, 8) AR (I, j, 0)* суть нули; именно, tg28 = 2a,//(a//-a//). При таком выборе R (t, j, 6) называется матрицей якобиева вра- вращения, а соответствующее подобное преобразование—якобиевым
Гл. 9. Методы Дкоби 193 Ключ: • Элементы А (.неизменившиеся) • • • Активный столбец х х X Элементы А Рис. 8.16.1. Ленточный алгоритм. вращением. Оно аннулирует элемент (i, /), и, поскольку 0 фик- фиксировано посредством (9.1.5), мы можем писать Ri7 вместо R (i, /, 8), не впадая в двусмысленность. Новым при п > 2 будет то, что в строках / и / имеются дру- другие внедиагональные элементы, которые подвергаются преобра- преобразованию. Так, при k Ф i, I dlk = s-alk+caJk. (9.2.1 Отметим еще, что при кфг, \ (a'ikJ + (a'lkJ = a% + a%. (9.2.2) Стоимость. Используя симметрию и работая с нижним либо верхним треугольником А, традиционное якобиево вращение можно выполнить за An умножений плюс 2 квадратных корня (упр. 9.2.1). Альтернативы. Прежде чем оставить этот предмет, подчерк- подчеркнем, что возможны и другие способы выбора 0 при вращении плоскости (i, /). Якобиево вращение характеризуется тем, что достигает наи- наибольшего уменьшения суммы квадратов внедиагональных элемен- элементов. Локально оно оптимально, но для всего вычислительного
194 Гл. 9. Методы Якоби процесса не обязательно является наилучшим. При гивенсовом вращении плоскости (i, /) выбирают 8 так, чтобы аннулировать не элемент atj, а какой-либо другой. Пример 9.2.1. Аннулирование элемента а1а вращениями в двух различных плоскостях Г 3.0 -12.0 ю.О] А - -12.0 64.0 -60.0 . [ 10.0 -60.0 60.0 J След (А) = 127.0, со (А) ( = 2 а},) = 3844.0 \ KI ) Якоби Г 61.70 -быв а Aj - R*(l, 3, <?)ARA, 3, <?) - -61.16 64.0 1.75 I 0. 1.75 U0 в = 9.67°, tg(tf) - 0.17, w(A}) m 3744.0. Гиеенс A'G - R*B, 3, 0)ARB, 3, в) - 3.0 -15.62 0. -15.62 121.38 -8.85 0. - 8.85 2.62 в - -39.81% tq(O) - -0.83, «(A'c) =» 322.37. Значения со, казалось бы, противоречат утверждению, сделан- сделанному выше, что якобиево вращение дает наибольшее уменьше- уменьшение со. Разрешение этого противоречия составляет предмет уп- упражнения 9.2.3. 9.2.1. Модификация Рутжхаузера В приложениях, которые мы вскоре опишем, углы 8 часто будут малыми; имеются альтернативные к (9.2.1) выражения, которые стоят не дороже и имеют большую устойчивость к округ- округлениям. Определим тзз tg 8/2 = 5/A+с); (9.2.3) тогда (упр. 9.2.2) при кф1щ \ T-a/ll). (9.2.4) Закончим этот параграф упоминанием о другом эффективном приеме, введенном Рутисхаузером. Он прост, но до 1965 года
§ 9.3. Сходимость 195 никому не пришло в голову воспользоваться им. Поправки (± ^ к диагональным элементам в течение полного цикла обхода вне- диагональных элементов накапливают в отдельном массиве длины п и лишь потом суммы этих (обычно) малых величин добавляют к диагональным элементам, которые также хранят отдельным массивом. Подобные приемы составляют суть хорошего матема- математического обеспечения. Упражнения к параграфу 9.2 9.2.1. Проделать подсчет числа операций для одного якобиева вращения, используя (9.1.5), (9.1.7) и (9.1.8) и изменяя лишь верхнюю треугольную часть А. 9.2.2. Вывести (9.2.3) и (9.2.4), пользуясь стандартными тригонометриче- тригонометрическими тождествами. 9.2.3. Гивенсрво вращение, использованное в примере 9.2.1 для аннули- аннулирования элемента A,3), дает гораздо большее уменьшение <в, чем якобиево вращение в плоскости A,3). Противоречит ли это утверждению, что якобиевы вращения достигают наибольшего уменьшения <в? § 9.3. Сходимость Методы Якоби стремятся диагонализовать данную матрицу А посредством последовательности якобиевых вращений. Нулевые элементы, полученные на одном этапе, становятся ненулевыми на последующих, и всякая диагонализующая последовательность должна в принципе быть бесконечной. Методы Якоби разли- различаются единственно своими стратегиями выбора очередного обре- обреченного элемента. Прежде чем обсуждать конкретные стратегии, введем поня- понятия, на которых основан их анализ. Напомним определение мат- матричной нормы Фробениуса и факт 1.10: если Q ортогональная, то j]QAQ*||f=J AJ^. Полезно разбить || А || на две части: 22/ ( Оказывается, что для любого плоского вращения R (p, q, 8) 6(RAR») = 6(A) + 2[a^—(новое а%)]. (9.3.2) В частности, для якобиева вращения R,7 (упр. 9.3.1) (RAR;)(AL. (9.3.3)
196 Гл. 9. Методы Якоби В каком бы порядке ни аннулировались внедиагональные эле- элементы, величина ш монотонно убывает, и единственный вопрос — будет или нет предел равен нулю. Если предположить лишь, что на каждом шаге napa(t, /') выбирается так, чтобы а?,-> среднее от {alq:p<q} = 2(о(А)/п(п — 1), (9.3.4) то, используя (9.3.3), получаем ^)(A) (9.3.5) и, следовательно, со должна сходиться к нулю. Условие (9.3.4) гарантирует сходимость к диагональной форме, и, с практической точки зрения, этого достаточно. Тем не менее вполне законно поинтересоваться, будут ли диагональные эле- элементы блуждать или они будут сходиться к конкретным собст- собственным значениям. Факт 1.11, теорема Виландта—Хоффмана, показывает (упр. 9.3.4), что существует некоторое упорядочение зх собственных значений, такое, что IW>-«,,-!2<2l^(v>—am |2<2ю(А). (9.3.6) V Наше опасение состоит в том, что это упорядочение может от шага к шагу меняться. Можно применить (9.3.6) на поздней ста- стадии якобиевых итераций, когда a)(Ax|min|^-^|2^oa, (9.3.7) где минимум берется по различным парам собственных значений. Если выполняется (9.3.7), то для каждого из различных собст- собственных значений К в интервале [К—о, Х-\-а] найдется диагональ- диагональный элемент, причем число элементов аи в таком интервале в точности равно кратности X (упр. 9.3.2). Может ли на следующем шаге какое-либо ai( переместиться в другой интервал? Да, может, поскольку условию Якоби tg2Q = 2aiJ/(aJ/-aii) (9.3.8) удовлетворяют два угла Й. Больший угол заставляет аи и atj покинуть свои интервалы, а меньший угол препятствует их по- побегу. Пример 9.3.1 ГО -11 Г2 01 Г 0 11 Г1 0 1.1 0j[0 Jl j [
§ 9.4. Различные стратегии 197 Теорема. Если в методе Якоби на каждом шаге выполняется (9.3.4), а 0, удовлетворяющее (9.3.8), выбирается всегда в полу- полуоткрытом интервале (— я/4, я/4], то последовательность матриц сходится к диагональной матрице. (9.3.9) Доказательство предлагается читателю (упр. 9.3.3). Упражнения к параграфу 9.3 9.3.1. Доказать (9.3.3), пользуясь (9.2.2) и инвариантностью величины 2ш + 6. 9.3.2. Используя (9.3.6) и (9.3.7), показать, что каждый интервал [X — о, ] содержит по крайней мере один диагональный элемент. 9.3.3. Доказать теорему (9.3.9). 9.3.4. Показать, что (9.3.6) есть следствие теоремы Виландта —Хоффмана при соответствующем выборе матриц А и М. § 9.4. Различные стратегии 9.4.1. Классический метод Якоби На каждом шаге аннулируется максимальный внедиагональ- ный элемент. Сходимость следует из (9.3.5). На некоторых машинах поиск наибольшего внедиагонального элемента обходится довольно дорого. Значительные усилия были затрачены на снижение этой цены. Однако неравенство (9.3.5) показывает, что для обеспечения сходимости можно выбирать любой достаточно большой элемент, и этот факт приводит к дру- другим стратегиям. 9.4.2. Циклические методы Якоби Простейшая схема —аннулирование элементов независимо от их величины в порядке A,2), A,3) A, л), B,3) B, п), C,4), .... (л —1, /г), затем начинают новый проход по матрице. В статье [Henrici, 1958] было показано, что при некоторых ограничениях на углы метод сходится. Трудность анализа заклю- заключается в априорной возможности, что большие внедиагональные элементы будут все время уходить от текущей позиции (i, /). Если бы это случилось, то значительного сокращения со никогда бы не произошло. В принципе внедиагональные элементы можно аннулировать, придерживаясь в каждом проходе произвольного порядка, при условии, что ни один элемент не будет пропущен. Однако схо- сходимость никем не была доказана.
198 Гл. 9. Методы Якоби В циклических методах происходит растрата времени на анну- аннулирование малых элементов в ранних проходах. 9.4.3. Барьерные методы Предпочтительней стратегия, состоящая в том, чтобы исполь- использовать простую циклическую последовательность, но опускать вращения, если ait меньше некоторого барьерного значения т, которое может быть фиксировано, а может меняться при каждом вращении. Фиксированный барьер, конечно, заменяется, если все внедиагональные элементы стали меньше его. Рутисхаузер предпочитает в каждом из первых 3 циклов вы- вычислять фиксированное т, являющееся приближением к ш, а именно P < Я Вероятно, самой быстрой из известных является стратегия переменного барьера Кахана и Корнейла [Corneil, 1965]: вначале вычисляют величину co==2Sap« иеной N= ¦ ^~ умножений, затем T = jAo/JV—среднее квадратичное внедиагональных эле- элементов. При каждом реально выполняемом вращении ш умень- уменьшают на а2-/ и т перевычисляется; цена—1 умножение, 1 деление и 1 квадратный корень на вращение. Затраты на вычисление квадратных корней оправдывают себя, если число реальных вра- вращений за цикл будет существенно ниже N/3. Альтернатива со- состоит в изменении теста на Na)j > со, что стоит 2 умножения на тест, т. е. 2N умножений на цикл независимо от числа вращений. С падением стоимости вычисле- вычисления квадратных корней вариант с перевычислением т при каждом вращении становится все более привлекательным. § 9.5. Асимптотически квадратичная сходимость После первых 3 или 4 проходов по всем внедиагональным элементам сходимость к диагональной форме обычно становится очень быстрой. Если в конце некоторого прохода имеем ш/о2 ^ 2~J', то можно ожидать, что в конце следующего прохода будет Строгие доказательства этого свойства квадратичной сходи- сходимости [Schonhage, 1961, Wilkinson, 1962] слишком сложны, чтобы их можно было привести здесь. Однако центральная идея проста и состоит в следующем.
§ 9.5. Асимптотически квадратичная сходимость 199 Рассмотрим конкретную позицию в матрице, например элемент A, п\ после нескольких проходов в циклическом порядке по стро- строкам, именно A, 2), A, 3), ..., (п — 1, п). Будучи аннулирован, элемент A, п) снова становится ненулевым при якобиевом вра- вращении R2n. Его новое значение, согласно (9.2.1), будет а[п = са1п—sain = — sain, (9.5.1) поскольку ain = 0. Кроме того, так как |0|<зт/4, то |s| = jsine|<|8|<|tg8Ki-|tg2ej = |fl2n|/|flnn-fl28|. (9.5.2) Объединяя (9.5.1) и (9.5.2), получаем ключевое неравенство \a[n\<\a2n\V\ann-a2i\. (9.5.3) При продолжении итераций ап—«-Я,-. Предположим пока, что все К,- простые. После некоторого этапа l—Xj\l2 (9.5.4) для всех кф1. В следующий раз, когда изменится элемент A, п), его новым значением будет \a\n\ = \ca'ln—sa3n\ la, поскольку | s\ < \aSn\/a. (9.5.5) Пусть в конце некоторого более позднего прохода выполняется (9.5.4) и вдобавок maxla/yl^T] для некоторого г\, меньшего, чем а. Неравенства (9.5.3) и (9.5.5) показывают, что в конце следующего прохода должно быть max I новое at/\^i\4n—l)/o = 0(i\*) (9.5.6) при т) —»• 0. Такое поведение называют {асимптотически) квадра- квадратичной сходимостью. 9.5.1. Кратные собственные значения Проведенный выше анализ как будто свидетельствует о том, что начало быстрой сходимости к диагональной форме может сильно задержаться, если имеются близкие собственные значения (т. е. когда о очень мало), и может даже не быть асимптотически квадратичной сходимости, если есть кратные собственные значе- значения. Однако эти опасения неосновательны, как показывает сле- следующий удивительный факт. Не будет потери общности в предположении, что все ап, схо- сходящиеся к кратному собственному значению к, находятся в конце
200 Гл. 9. Методы Дкоби диагонали А. Разобьем матрицу А на блоки: А= gi д , Aj:(n—т)х(п—т), А2:тхт. (9.5.7) Наше предположение состоит в том, что А2—*Х1т, где т'— кратность X, а все прочие собственные значения А отделены от X величиной 2а. После соответствующего числа проходов все собст- собственные значения А] будут отделены от X не меньше чем на а; другими словами, || (As—A,)1|= 1/minjA,,.—А, К 1/ст. Доказательство кэадратичной сходимости было основано на пред- предположении, что углы вращения, \a-ij\l\a-n—а//\< становятся ма- малыми. Это предположение не выполняется для внедиагональных элементов А8, где каждое akk—*X, но справедливо для В. К счастью, углы, соответствующие А,, не имеют значения, поскольку здесь все внедиагональные элементы уже очень малы, что показывает следующая теорема. Теорема. Пусть А разбита на блоки в соответствии с (9.5.7). Если ||(Aj—X)'1|j< \/а и X—собственное значение кратности т, то [А,-Я,|<|В||»/о. (9.5.8) Доказательство получается применением блочно треугольного разложения. Доказательство. А -Л где А, - в* I В*(А, - В А2 - X ОТГА.-Х О i (A, - Х)~1В = (А2-Х)-В*(А,-Х)-'В. Заметим теперь, что ранг А—X равен п—т. По закону Силь- Сильвестра об инерции ранг блочно диагонального множителя также должен быть равен п—т, и потому Хл, = О. Таким образом, Следствием этой теоремы является то, что при / > п—т Ky-MOlBp/ci, (9.5.9) поэтому диагональные элементы сходятся к кратным собственным значениям быстрее, чем к хорошо отделенным11. 11 Утверждение и доказательство теоремы справедливы, очевидно, и при /7i=l. Поэтому правильно было бы сказать не „быстрее, чем", а „так же быстро, как".— Прим. перге.
§ 9.6. Оценка методов Якоби 201 § 9.6. Оценка методов Якоби Отвергнуть в процедуре диагонализации матрицы А все плос- плоские вращения, кроме якобиевых,— это все равно, что выходить на боксерский ринг с одной рукой, привязанной за спину. Что случится, если слегка „обобщить" методы Якоби, допуская ис- использование гивенсовых вращений для аннулирования элементов? Мы можем прежде всего, пользуясь обычным методом Гивенса, привести А к трехдиагональной форме Т (см. гл. 7). Эти враще- вращения могут не уменьшить ш2, но они зато сохраняют нули, которые с такой заботой были созданы. Далее мы можем проделать яко- биево вращение Rn_lt „. Это приведет к появлению ненулевых элементов в позициях (п, п—2) и (п—2, /г), т. е. породит выступ в трехдиагональной форме. Этот выступ можно вытеснить через верх матрицы цепочкой гивенсовых вращений, как указано в § 8.13. На этом этапе мы выполнили одно трехдиагональное QL-преобра- зование с нулевым сдвигом. Так можно продолжать, пока внедиаго- нальные элементы не станут пренебрежимо малы. И вот метод Якоби превратился в метод Гивенса, сопровождаемый QL-алго- ритмом без сдвигов. Если отказаться от привычки аннулировать матричный эле- элемент на каждом шаге, то можно выполнить плоское вращение в плоскости (п—1, п) с углом, отличающимся от якобиева. Это позволит включить сдвиги в QL-алгоритм и тем самым очень сильно ускорить сходимость. Есть ли основания искусственно ограничивать себя вращением лишь на якобиев угол вместо того, чтобы позволить другие вы- выборы 8? Прежде всего нужно сказать, что даже лучшие про- программы методов Якоби примерно в три раза медленнее, чем трех- диагональные QL-методы. Говорят, однако, что методы Якоби должны по-прежнему приниматься в учет по причине своей простоты, а не эффективности. Это может быть очень важно в специальных обстоятельствах (ручные калькуляторы или вы- вычисления на борту космического корабля). Исследуем эту предполагаемую простоту. Ниже приведено число исполняемых операторов (на уровне языка ассемблера) для различных программ Справочника. Ни одна из программ не пы- пытается минимизировать это число. Все собственные значения и собственные векторы (Tred 2(приведение к трехдиагональному виду) 81 Tql 2 (QL-алгоритм) 89 - Все собственные значения без собственных векторов \ Tred 1 58 Jacobi 99 против ч „ . . „_
202 Гл. 9. Методы Якоби В этом подсчете записи в память и считывания игнорируются, если они встречаются как часть арифметических выражений. Преимущество метода Якоби невелико, и следует сказать, что имеется некоторое преимущество в случае небольшого объема быстродействующей памяти в том, чтобы разделить вычислитель- вычислительный процесс на два отдельных этапа. Примечания и ссылки В работе [Jacobi, 1846] плоские вращения были использованы для диаго- нализации действительной симметричной Gх7)-матрицы. Сто лет спустя метод был переоткрыт и описан в отчете [Bargmann, Montgomery, von Neumann, 1946]. Позднее он был воплощен в хорошо продуманной и эффективной про- программе Рутисхаузером (алгоритм 11/1 Справочника). Стратегия переменных барьеров изложена в неопубликованном отчете [Corneil, 1965]. Квадратичная скорость сходимости не была тайной, и формальные дока- доказательства даны в работах [Schonhage, 1961] и [Wilkinson, 1962]. Более дис- дискуссионной проблемой оказалась возможность, что циклическая и другие бо- более удобные стратегии ие всегда дают сходимость к диагональной матрице.
ГЛАВА 10 Оценки для собственных значений Полезную информацию о собственных значениях матрицы А можно получить из некоторых ее подматриц. Более того, собст- собственные значения А можно связать с собственными значениями близлежащих матриц таким образом, который далеко выходит за рамки стандартной теории возмущений. Подобные исследования начались в девятнадцатом столетии и продолжаются до сего вре- времени. Многие работы обобщают результаты матричной теории на дифференциальные и интегральные операторы. В этой главе изложены классические матричные результаты, а затем мало известные их усиления, найденные в связи с необ- необходимостью вычисления собственных значений все больших и боль- больших матриц. Все результаты являются теоремами включения; это значит, что они описывают интервалы, гарантированно со- содержащие одно или несколько собственных значений А. Последние параграфы показывают, как использовать информацию, имею- имеющуюся, как правило, в конце очередного шага дорогостоящего итерационного метода того типа, что описан в гл. 13 и 14. Вычис- Вычислив соответствующие оптимальные интервалы, итерации можно прекратить в надлежащий момент, когда требуемая точность до- достигнута. Близкие по духу оценки ошибок даны в следующей главе, однако они используют лишь нормы некоторых невязок. Поэтому они менее сложны, и их проще вычислять, чем интервалы дан- данной главы. В основе материала — заметки и лекции Кахана, который сумел упорядочить старые и новые результаты в простой, единой по- последовательности. Читатель, возможно, найдет эту главу более трудной, чем предыдущие. Ее содержание относится скорее к тео- теории матриц, чем к численным методам. Наша цель состоит и в том, чтобы привести полные доказательства некоторых до сих пор не- неопубликованных результатов. В этой главе оказывается удобным соглашение об отрицатель- отрицательных индексах для наибольших собственных значений.
204 Гл. 10. Оценки для собственных значений § 10.1. Теорема Коши о разделении Как связаны собственные значения главной подматрицы с соб- собственными значениями самой матрицы? Чтобы поставить этот вопрос точно, положим ГН В*1 А: пхп, А=[В Uj- Н: /их/я. (Ю.1.1) Собственные значения A: at ^23и Собственные значения Н: 8j <; 82 ^... ^ 0га. Для удобства будем считать: ( — оо, если t^O, I — оо, если i > m, г\ * А '~~\ +оо, если i > т; ~'~~\ +°°, если t^O. Теорема. Для /=1 т или, что эквивалентно, С другой стороны, для k=\, 2, ..., п (,_я+т). (ю.1.2) Словами: 8±; есть внутренняя по отношению к спектру А гра- граница для а±/. В доказательстве используется теорема Сильвестра об инерции (факт 1.6). Доказательство. Если Н—| обратима, то блочно треугольное разложение (гл. 3) матрицы А — | имеет вид [(H-J)-1 1„_т\[ О W@j[o !л_м ]' (Ю.1.3) где (п-пС) х (п-т) матрща Wзадается выражение» /\q j 4) w(D - (и - о - в(н - 0-'в*. Таким, образом, А—| конгруэнтна матрице diag(H — |, W(|)). По теореме Сильвестра обе матрицы имеют одинаковую инерцию (л, v, ?), которая является (покомпонентной) суммой инерции
§ 10.1. Теорема Коши о разделении 205 матриц Н — | и W (|). Это простое замечание дает n(H-6)<n(A-6) = n(H-E) + <л(Н — 1)+п—т, v(H-l) <v(H — i) + n — m. A0.1.5) A0.1.6) Неравенство ау s^O, можно вывести из A0.1.6). Предположим, напротив, что By < а;-. Тогда можно выбрать |, такое, что 0у < I < olj и \Ф${ ни при каком i. Рассмотрим следующую диаграмму: Под чертой расположены величины, положение которых относи- относительно | не определено. Из расположения | следует, что Н имеет по меньшей мере / собственных значений, меньших, чем |, а А имеет самое большее / — 1 собственных значений, меньших, чем ?, т. е. v(H — |) >/, v (A —1)< /\ Это противоречит A0.1.6), и по- потому OL] ^ 6у. Другие неравенства выводятся аналогичным образом либо из A0.1.5), либо из A0.1.6). Пример 10.1.1 0 е 0 е 0 1 0 1 0 Значения -. ° Пример 10.1.2. Собственные значения знаменитой трехдиагональной матрицы Т„ с типичной строкой (... —1 2 —1 ...), как известно, равны Ty» = 4sin2/<pn, /=1 га, Фп = я/2(га + 1). Оценки теоремы о разделении дают следующие типичные резуль- результаты. (Здесь га= 100.) т(т) ^ _М) <^ Т(т>
206 Гл. 10. Оценки для собственных значений Случай 1. т = 99, ?=45, 1.6252 < 1.6595 < 1.6871 < 1.7210. Случай 2. т = 90, ? = 45, 1.2908 < 1.6595 < 1.9655 < 2.2790. При возрастании п—т оценки становятся очень слабыми. Упражнения к параграфу 10.1 10.1.1. Рассмотреть случай п—т= 1 и показать, не используя теорему о разделении, что det (А—|) изменяет знак между различными собственными значениями 6у и 9у+1 матрицы Н. 10.1.2. Для п—т=\ проверить, что неравенства теоремы о разделении — наилучшие возможные в следующем смысле. Пусть даны множество чисел {a,-, i=\, ..., п) и другое множество {9/, /=1, ..., я —1}, разделяющее первое, т. е. а,- < 9,- < а,- + ]. Показать, что существуют матрица Н с собствен- собственными значениями 9/, вектор b и скаляр я, такие, что матрица ГН Ь] имеет собственные значения {а,-}. Заметьте, что здесь мы положили1' В = Ь*. 10.1.3. Распространить результат упр. 10.1.2 на случай, когда а,<9,-< <а,-+1, т. е. считать, что осу=9у для некоторого /, и построить затем b и л. (Это труднее.) 10.1.4. При п—т—\ начертить график W(?)ae<o(|), заданной в A0.1.4), как функции от |. Считать, что А — трехдиагоиальная матрица с ненулевыми поддиагональными элементами. 10.1.5. Доказать неравенства, вывод которых отсутствует в нашем дока- доказательстве теоремы Коши. § 10.2. Минимаксные характеризации В §1.5 было отмечено, что собственные значения а]( а2, ..., ап матрицы А являются стационарными значениями отношения Релея р(х) = х*Ах/х*х. В частности, aj = minp(x), минимум берется по всем х^0. Точно так же, при / > 1 cty можно характеризовать как условный минимум; именно ay = minp(x), минимум берется по всем х=т^О, удовлетворяющим условию zt*x = 0 при i < /'. Впредь будем без специального упоминания считать, что о исклю- исключен из области определения р. Недостаток этой характеризации а, в том, что она явным образом зависит от предыдущих собственных векторов zlt ..., zy_,. Приводимая ниже минимаксная характеризация не упоминает о каких-либо собственных векторах и часто бывает полезна в теоретической работе. Например, с ее помощью проще всего доказать, что если к матрице А прибавить положительно опре- определенную матрицу V, то каждое собственное значение возра- 1( Если сравнивать с основным текстом параграфа.— Прим перев.
§ JO.2. Минимаксные характеризации 207 Рис. 10.2.1. Минимаксная характеризация собственных значений, стает, т. е. Прежде чем заняться общим случаем, полезно рассмотреть пример 3-го порядка, допускающий геометрическую интерпрета- интерпретацию. Если А положительно определена, то ее собственные зна- значения alt as, a3 суть квадраты длин полуосей эллипсоида Л, представляющего собой образ единичной сферы под действием A1/2:t/? = .{A1/2x:||x|]= 1}. На рис. 10.2.1 изображен типичный эллипсоид Л. Рассмотрим длины всех лучей, идущих из начала о к точкам Л. Ясно, что }Лх8—наибольшая, а |Ахг—наименьшая из этих длин. Есть ли удобный способ, чтобы описать 1Л*2? Каждая плоскость л, проходящая через о., пересекает Л по эллипсу; каждый эллипс имеет диаметр (наибольшую хорду), и мы можем вообразить все эти диаметры при изменяющейся плоскости л. Наименьший из этих диаметров есть 21Л*2- Кроме того, когда х изменяется в плоскости ли вектор А1/2х изменяется в другой плоскости я2. Формально'это характеризует jAx2 как минимакс max 6 Я, II X 11=1 или, что эквивалентно, a2 = minmaxp(x). Я Х6Я Теорема будет сформулирована в терминах подпространств из S" (аналогов плоскостей л в примере), и единственная труд- трудность в доказательстве—это совладать с обозначениями. Полное обсуждение способов представления подпространств читатель най- найдет в § 11.1. Для доказательства нам нужны три вещи: 1) верхний
208 Гл. 10. Оценки для собственных значений индекс указывает размерность подпространства; 2) для каждого подпространства oft существует (п х /)-матрица By (а в действи- действительности много таких матриц), столбцы которой образуют орто- нормированный базис для &', 3) для каждой By найдется пх(п—/)-матрица С„_у (а в действительности много таких мат- матриц), для которой (п х м)-матрица Р = (Ву, С„_у) ортогональная. Результат теоремы восходит еще к Пуанкаре, но его часто называют теоремой Куранта—Фишера. Теорема. Для /=1, ..., п cty == Ay [A] = min max p (u; A) = max min p(v; A). '*/1 Здесь if и 3L—подпространства из &п. A0.2.1) Словами: функция р непрерывна на единичной сфере и потому должна достигать своего максимального значения на каждой /-мерной единичной сфере. Минимум этих максимальных значе- значений и есть cty. Доказательство. Опираясь на 3) в приведенном выше перечне, определим для каждого подпространства &ч из $" матрицу гв;ав, в;ас„_, А = Р«АР — 1с;-,ав; спЧасп1 Применяя к А теорему Коши о разделении, получим ау шт Яу [А] = X, [А] < kj [В;АВ,J. Поскольку Яу[-] для (/х/)-матрицы является наибольшим собст- собственным значением, то = тахх»В;АВхх/х»х, x?gJ. = тах u*Au/u*u, и = В/х^<У/, так как u»u = х'В'ВуХ = х»х. Этим доказано, что ay ^maxp(u; А), где максимум берется по векторам произвольного *f>. Чтобы показать, что на самом деле имеет место равенство, рассмотрим специальное подпрост- подпространство %J, натянутое на собственные векторы г{, отвечающие а,- при ( = 1,2, !..,/. Если ау — кратное собственное значение, то будет некоторая свобода в выборе z; и, следовательно, также и в выборе %1. Это отсутствие единственности здесь не имеет зна--
§ 10.3. Теорема о монотонности 209 чения. Существование такого %' следует из спектральной теоремы (факт 1.4), и только для него ^[В*АВу] = а,- при i—l, ..., /. Максиминную характеризацию можно доказать аналогичным образом, используя результат Коши: Ее можно вывести также и из минимаксной характеризации, рас- рассматривая матрицу —А. Одно из наиболее важных приложений^ этой теоремы—дока- теоремы—доказательство теоремы следующего параграфа. Упражнения к параграфу 10.2 10.2.1. Не используя минимаксную теорему, доказать, что A.1[A-j-Y)> >А,![А], если Y положительно определена. Дать для приращения верхние и нижние оценки через собственные значения Y. 10.2.2. Доказать, что <Х/= max min p(v; A), пользуясь результатом a_j S:A,_ft [В*АВу]. 10.2.3. Доказать результат упр. 10.2.2, используя матрицу —А и мини- минимаксную теорему. § 10.3. Теорема о монотонности Основной факт, не упомянутый в гл. 1, состоит в том, что A.,-[W] не является линейной функцией от W. Какие же соотно- соотношения существуют между собственными значениями матриц W, Y и W + Y? Чтобы упростить обсуждение, положим А = W -f- Y и t = .l, ..., га. Прежде чем формулировать теорему, рассмотрим некоторые специальные случаи. Из минимального свойства A.j[-] следует, что Также верно, хотя и менее очевидно, что «>у + Л1 <a/SS>, + n-i. /=!.•.., га. Второму неравенству часто придают форму полезную, если Y — малое возмущение W. Менее известен тот факт, что ранг Y ограничивает пределы, в которых1 а, может отличаться от со,-.
2iO Гл. 10. Оценки для собственных значений Следующий результат был известен еще в девятнадцатом сто- столетии, но, по-видимому, никем не был изложен в полной форме до работы [Weyl, 1912]. Теорема. Пусть A = W +Y. Для любых i, j, удовлетворяющих условиям l^t + /—1^м, выполняются следующие неравенства: «>«• +Л/<«*+/-!*. ?*_„•+,_!> <©_,.+ !!_,. A0.3.1) Доказательство. Идея состоит в том, чтобы выбрать подхо- подходящие подпространства в максиминной характеризации. Пусть Slw1 и З^'у — подпространства из <§п, определяемые неявно соот- соотношениями min p(s; W) = min p(s; W), &1 ^ min p(s; Y)^ min p(s; Y). В действительности Slw1 есть линейная оболочка собственных векторов W, отвечающих i—1 наименьшим собственным значе- значениям. Аналогично для Э1у~1. Эти подпространства могут пересе- пересекаться или иметь лишь тривиальное пересечение. В любом случае пусть of—подпространство наименьшей размерности, содержащее и ЭСх?1, и Sly. Положим Соображения, связанные с размерностями, показывают, что k— l причем равенство имеет место только тогда, когда Э^^1 Л есть {0}. Поэтому = max min p(x; А), по определению ak, ^minp(x;A), поскольку dim if— k—1, xiJ- = min[p(x; W) + p(x; Y)] in p(u; W)+ min p (v; Y) nl & v ±& = min p(u; W)+ min p(v; Y), так как эС^1 с if и т!ух <=. if,
§ 10.3. Теорема о монотонности 211 Второе неравенство можно доказать, пользуясь минимаксной характеризацией. Это—теория возмущений без требования, чтобы Y была мала! Пример 10.3.1 иллюстрирует применение теоремы о монотонности к некоторым матрицам малого порядка. Пример 10.3.1 W 5 2 — 1 2 3 1 — 1 1 1 ¦I I 4 2-1 2 4 1 -1 1 3 {\[WJ} - {-0.0571, 2.7992, 6.2579} {X,[Y]} - {~1Д 1.0, 2.0} (MM) - {1.0, 4.0, 6.0} Таблица 10.3.1 — i 2 1 3 2 1 i 1 2 3 2 1 j 1 - 1 2 1 2 3 -j 1 1 2 1 2 3 A,[W] + X,[Y] — 1,0571 1.7792 0.9429 5.2579 3.7792 1.9429 X_;[WJ + X_,[Y] 8.2579 4.7792 7.2579 1.9424 3.7792 5.2579 < W.IA1 1.0 4.0 6.0 Таблица 10.3.2" > X,-,-,M 6.0 4.0 1.0 Чем больше известно об Y, тем более точные заключения можно сделать. Пусть инерция (определяемая в § 1.5) матрицы Y 11 В левой части первой строки табл. 10.3.2 по-видимому вместо — i и —/ должно быть i и /.— Прим. перге.
212 Гл. 10. Оценки для собственных значений есть (я, v, ?), а ее ранг — р. Тогда каждый интервал, содержа- содержащий р чисел ©у, содержит по крайней мере одно а. Следствие, щ-р^ак-ч^аь^Ык+я ^(i)ft+p. A0.3.2) Доказательство. Из определения v следует, что %+1>0. Полагая в теореме t = /s—v, / = v-(-l, находим cu*_v^cu/f_v + +i]v+i=S^aft- Затем берем t = n + l—k — it, / = п + 1 и из второго неравенства теоремы, используя п_(п+1)< 0, получаем Поскольку a_(n+1_ft, = aft, утверждение доказано. В частности, если Y положительно полуопределена, т. е. v(Y) = 0, получается первоначальный результат Вейля о моно- монотонности сйй<аА<сй*+р, k=\,...,n. Словами: все собственные значения возрастают, но их прираще- приращение ограничено как рангом Y, так и величиной jjY|. Пример 10.3.2 Пусть Y = yy*9^0 —положительно полуопределенная матрица ранга 1; тогда в теореме Вейля р=1 и <oft ^Caft =s^coft+I. С другой стороны, можем взять в теореме о монотонности i = n-\-\—k, j =}; получим Это специальный случай результата, упомянутого в начале па- параграфа. Приложения теоремы содержатся в § 4.5, 11.5. Упражнение к параграфу 10.3 10.3.1. Когда может иметь место равенство в теореме о монотонности? § 10.4. Теорема о разделении с учетом невязок В этом параграфе начинается изложение результатов, получен- полученных в связи с потребностью в оценке собственных значений все больших и больших матриц. Теорема Коши о разделении слишком общая, чтобы ее можно было непосредственно применить к этой задаче. Напомним соглашения § 10.1: Н В*] ( Uimxm, k,[H\=Qh J {
§ 10.4. Теорема о разделении с учетом невязок 213 Теорема Коши дает двусторонние оценки для каждого а^ через числа 0,- и ± оо. Эти оценки неизбежно будут очень слабыми при т ^ /г/2; между тем наибольший интерес представляют как раз случаи типа п =1000, т=100. Чего же не хватает? Теорема Коши игнорирует В. В то же время если В = О, то каждое 0,- совпадает при некотором / с а,-. Вполне вероятно, что если В в каком-либо смысле мала* то каж- каждое 0,- должно быть близко к одному из чисел a.f. Во многих приложениях матрица В известна, и можно счи- считать, что в нижеследующих теоремах делаются наилучшие воз- возможные заключения относительно чисел {а,}, если помимо {0,} дана еще-и В. В действительности В является матрицей невязок, и в гл. 11 объясняется, как она возникает в методе Релея — Ритца. Обычно В — вытянутая и узкая матрица, и для последующего изложения ее следует привести к более полезному виду (о)' где С имеет лишь k [=ранг (В)] строк и удовлетворяет условию С*С=В*В. Это можно сделать несколькими вполне удовлетвори- удовлетворительными способами, указанными в упражнениях. Оценки оши- ошибок, использующие лишь Н и ||В||, представлены в гл. 11. Далее мы будем рассматривать матрицы А вида А = Н С* О* С V Z* О Z W Н: тхт, V: kxk, A0.4.2) А: п х п, причем реально мы имеем лишь Н и С. В некоторых приложе- приложениях k = m; в других k-Щт-^п; типичная ситуация: k = 3, m = 40, « = 1000. Если С малая, то результаты будут непосред- непосредственно приложимы. Однако в § 10.6 и 10.7 будет показано, что при дополнительной, очень грубой информации об отсутствующей подматрице можно получить значительно более точные оценки. Весьма неожиданно, что полезную информацию о спектре матрицы 1000x1000 можно почерпнуть из собственных значений несколь- нескольких матриц порядка 50. (См. гл. 13, 14 и 15.) Не зная (kx^-подматрицу V, заменим ее симметричной мат- матрицей X размера kxk по своему выбору. В дальнейшем X рас- рассматривается как параметр во вспомогательной матрице порядка m + k: . C*i X Ее собственные значения обозначим через ц, —Н7 (Х)^Х,[М(Х)], i=l, .... m-\-k. Чуть позже мы обсудим подходящие способы выбора X. Для некоторых результатов необходимо предполагать,
214 Гл. 10. Оценки для собственных значений что X удовлетворяет условию матрица (V — X) обратима, A0.4.4) которое невозможно проверить1». При удачном выборе X числа ц дают гораздо больше инфор- информации, чем одни только числа 8. Если применить теорему Коши о разделении к трем парам матриц (А, Н), [A, M(V)] и [М(Х), Н], то получим (упр. 10.4.3) а,.<е,<ц/+,(Х); Ц-/-*(Х)<9-/<«-/; a/<MV). (Ю.4.5) Не всегда верно, что ц,-(Х)^а?; тем не менее следующая теорема показывает, что интервал [ц{, ni+k] должен содержать собствен- собственное значение А. Какое именно, сказать труднее. Пример 10.4.1 H = diagA0, 11), C = diag @.1, 1.). Простые оценки § 4.6 гаран- гарантируют, что каждый,из интервалов [9.9, 10.1] и [10, 12] содер- содержит а, возможно, одно и то же, поскольку интервалы перекры- перекрываются. Конкретные выборы X дают интервалы [\ilt \is] и [ц,, ц4], каждый из которых содержит свое собственное а 2>. X diagA0,10) diag(ll, 11) diagA0, 11.21) diag(9.85, 11.1) 9.382 9.9901 9.9 9.8 9.9 10.0 ЮЛ 10.05 Таблица 10.4.1 ft /«4 10.1 11.618 11.010 12.0 10.1 12.11 10.05 12.05 Это небольшое вспомогательное вычисление устраняет опасения, что 10 и 11 аппроксимируют одно и то же собственное значе- значение а. Выбор двух последних матриц X продиктован теоремой A0.5.3). Следующий неопубликованный результат принадлежит Кахану. Теорема. Пусть матрица А задана формулой A0.4.2), и пусть для некоторой (kxk)-матрицы X, удовлетворяющей условию A0.4.4), известны собственные значения Ц/(Х), i=l, ..., m-\-k, вспомогательной матрицы М(Х) из A0.4.3). Тогда каждый ин- интервал [Цу, H-/+fc]> /== 1, ..., т, содержит собственное значение а, матрицы А; при этом между интервалами и числами ау можно установить взаимно-однозначное соответствие. Кроме того, во внешности каждого открытого интервала (\it, ц1+т), t= 1, ..., /г, J> Поскольку V неизвестна,— Прим. перев. а> Что вытекает из нижеследующей теоремы.— Прим. перев.
§ 10.4. Теорема о разделении с учетом невязок 215 имеется собственное значение а{, и между интервалами и чис- числами а, можно установить взаимно-однозначное соответствие. A0.4.6) Различие между внутренними и внешними интервалами исче- исчезает, если замкнуть действительную прямую (— оо = + оо) и каждый индекс / для ц понимать как /—т—k, если />m-|-fe. Доказательство. Представим А подходящей суммой матриц" и применим теорему о монотонности: о о W-Z(V-X)~'z* О О О О V - X Z* о z z(v-x)~'z* A0.4.7) - Т(Х) + U(X), Этим равенством определяются матрицы Т и U. Блочно-треугольное разложение матрицы U имеет вид О Z(V - X) -I о о 'п—т—к о о v-х о о о о о \к (v-x)-'z» О h-m-k A0.4.8) Обозначим инерцию матрицы V — X через (я, v, 0), где по пред- предположению A0.4.4) n-\-v = k. Теорема Сильвестра об инерции, примененная к A0.4.8), показывает, что инерция U (X) есть (я, v, n—k). Положим теперь т, = Х/[Т(Х)], i=\, ..., п, и используем следствие из теоремы о монотонности. Получим п. A0.4.9) Поскольку Т—прямая сумма М и еще одной матрицы, то каж- каждое ц совпадает с некоторым т. Наша теорема сводится попросту к соотношениям A0.4.9), записанным для первых т значений i, при которых T(-v являются собственными значениями М (X). Чтобы выразить это более точно, обозначим через J минимальный индекс, такой, что \i/ = tj-v. Тогда из A0.4.9) следует: Ц/^О/^ Не каждое т совпадает с каким-либо уь; наименьшее \i,
216 Гл. 10. Оценки для собственных значений которое гарантированно превосходит xJ+Jl, получается из нера- неравенства T7+n = TG_v)+ft ^Ну+й- См. иллюстрацию ниже. Второе утверждение теоремы вытекает из таких односторон- односторонних оценок следствия из теоремы о монотонности: t,_v<a/ для / = v+l, .... п, а7<т/+я для /=1, 2, ..., п — л. Чи.ч.ш; Снова применяем эти неравенства лишь для тех значений /, для которых T/_v = nm+/, i= I, ..., kn. Детали оставляются читателю в качестве упр. 10.4.4. Иллюстрация: ? = 2, я = v = 1 вести такие оценки для а4 и а8: 7 = 1; J - 4 и •/ - 8 и Из иллюстрации можно вы- вы2; ftt «4 а* Гц Собственные значения Т I1! ^4 значения М Как следует выбирать X? Ответ зависит от того, имеется ли какая-либо дополнительная информация об А помимо Н и С. Различные случаи рассматриваются в последующих параграфах. Упражнения к параграфу 10.4 10.4.1. Показать, что если Xi3sX2 (т.е. Xt —Хг неотрицательно опре- определена), то ^/(XiJSsn.yfX.s), / = 1, ..., m + k. 10.4.2. Рассмотреть простой выбор Х = |, где ? — большой скаляр. Используя теорему Сильвестра, показать, что —оо для 1 -J<«0, 6,' для 1 «^ i s? m, 4- оо для 1 — k < i < О, 6_, для 1 <{<т. 10.4.3. Пользуясь теоремой Коши, вывести все неравенства A0.4.5). 10.4.4. Указать правильный выбор индекса в A0.4.10), позволяющий опознать собственное значение а вне интервала ((х^, ц,-+|В). *§ 10.5. Оптимальные интервалы Леманна Для того случая, когда никакой дополнительной информации относительно А, кроме Н и С из A0.4.2), не имеется, наилуч- Либо перев.
$ 10.5. Оптимальные интервалы Леманна 217 ший выбор матрицы X из A0.4.3) был указан (неявно) в рабо- работах [Lehmann, 1949] и [Lehmann, 1966]. В нашем изложении этот результат, а именно A0.5.5), будет получен как непосред- непосредственное следствие теорем Кахана о разделении с учетом невя- невязок A0.4.6) и A0.5.3). Слово «оптимальные» имеет здесь специальный, но вполне естественный смысл: для любого действительного числа ? можно ука- указать матрицу X, дающую наименьшие интервалы для собственных значений а матрицы А, примыкающих к Z, с обеих сторон. Для простоты потребуем, чтобы C^Q/O^^/fH]), i=l, ..., т. На- Напомним, что, согласно A0.4.6), все интервалы включения, полу- получаемые из М (X), имеют вид [\if, Ц/+*]> где k—ранг С. Следова- Следовательно, чтобы иметь пару интервалов включения с общей гра- границей ?, скажем [ц', ?] и [?, \i"], необходимо, чтобы ? было 6-кратным собственным значением М (X). Подходящим выбором оказывается (бхб)-матрица Е=? + С(г1 — ?) хС*. A0.5.1) Лемма. Параметр Z, является k-кратным собственным зна- значением M(Xj). Кроме того, каждое собственное значение ц,-(Xj) есть монотонно неубывающая функция от ?, i= 1, 2, .. ., m-\-k. A0.5.2) Доказательство. Рассмотрим блочно-треугольное разложение матрицы М—?. Н-? С* С С(Н-?)~'С»_ О с(н-«-« ij[ о» По теореме Сильвестра об инерции М—% имеет тот же дефект (т. е. порядок—ранг), что и матрица diag(H—?, О), т. е. k, поскольку ?=т*=Л,/[Н]. Другими словами, ? есть 6-кратное собст- собственное значение М(Х^). Чтобы показать монотонность, используем минимаксную ха- рактеризацию (§ 10.2) /V ч • S*M(Xr)s где SP'—произвольное подпространство размерности i. Предста- Представим s* в виде (u*, v*), где и: mxl, a v: 6x1. Тогда, согласно
218 Гл. 10. Оценки для собственных значений определению М? из A0.4.3), s*M?s = u*Hu + u*C*v + v*Cu A (s*M?s) = v*v+v*C (H — ?)~2 C*v = ||v|p+||(H-C)-1C*vf>0. Наилучший интервал зависит от расположения ?. Теорема. Пусть ?— произвольное число, удовлетворяющее нера- неравенствам 9у<?<9у+1. Каждый из интервалов [ц,у(Хг), ?] и [?> V-j+k+i (^c)J содержит по крайней мере одно собственное зна- значение А. Кроме того, существует матрица А, собственными значениями которой являются только концевые точки этих интер- валов1*. A0.5.3) Доказательство. Теорема о разделении A0.1.2), примененная к M(XS), дает /«0,1. - Поскольку ? есть /г-кратное собственное значение матрицы M(Xj), эти неравенства показывают, какие именно2' собствен- собственные значения равны ?: Наше утверждение оказывается теперь следствием теоремы Ка- хана A0.4.6) и попросту использует совпадение всех ц3). Опти- Оптимальность устанавливает выбор в качестве А матрицы diag[M(Xs), ?ln-ffi-ft]*> все ее собственные значения, отличные от чисел ц, равны ?. Из этого результата далеко еще не видно, как выбрать ?, чтобы до минимума сократить ширину интервала [\i/t ?]. В дей- действительности общая формула неизвестна; однако рис. 10.5.1 показывает, как меняется ширина с изменением ?. Приложение было дано в примере 10.4.1. Исходная форма, в которой Леманн представил свои резуль- результаты, подтверждает, что ? следует выбирать не слишком далеко от Qj. Как эта формулировка получается из предыдущей теоремы, указано в упражнениях 10.5.5, 10.5.6 и 10.5.7. '• Помимо тех собственных значений, которые лежат вне обоих интерва- интервалов.— Прим. перев. 2> По номеру.—Прим. перев. *> В средней части неравенства.— Прим. перев.
§ 10.5. Оптимальные интервалы Леманна 219 О цен Рис. 10.5.1. Ширина оптимального интервала как функция от ?— Для произвольного действительного числа | Леманн опре- определяет величины . г = 1, .... /п. A0.5.4) б, = б, (|) а /X, [(Н-Е) Вот первоначальная формулировка теоремы A0.5.3), взятая из статьи [Lehmann, 1949]. Теорема. Для каждого I и для t = l, 2, ..., m матрица А имеет по меньшей мере i собственных значений в интервале [| —6/f ? + 6;] и по меньшей мере т-\-\—i собственных значений, не лежащих в интервале (|—б;, Ё -{- б7-). Существует матрица А, у которой в этом открытом интервале нет собственных значе- значений. A0.5.5) В формулировке Леманна цель состоит в том, чтобы мини- минимизировать б^!), а по теореме Вейля о монотонности из A0.5.4) следует Во многих приложениях [|С|| мала в сравнении с |Н||, и в любом случае эта оценка для Ь\ минимизируется при ? = 6у для некото- некоторого /. Однако выбор | = ву- в общем случае не минимизирует 6t. Оказывается (упр. 10.5.5), что ? и Ь1 (?) являются соответственно
220 Гл. 10. Оценки для собственных значений серединой и полушириной интервала [\if, ^J+k]l), как показано на следующем рисунке. 5, { 5, Какая формулировка предпочтительней? Матрица (Н — ?J+С*С имеет порядок т, а М(Х^) — порядок m-\-k. Однако k из соб- собственных значений М известны, равно как и соответствующее собственное подпространство (упр. 10.5.8). Эту информацию можно использовать, чтобы упростить вычисление остальных собствен- собственных значений М. Правда, в данном случае соображения эффек- эффективности должны отступить на второй план по сравнению с тре- требованиями точности. К сожалению, б-формулировка предполагает вычисление бх (?) через предварительное вычисление б2 (?). Величина Ь\ является наименьшим собственным значением и будет вычислена (см. § 2.7) с ошибкой 2), очень малой в сравнении с || (Н — ?J -f С*С||. В наибо- наиболее интересных случаях отношение 6x/j|j мало, например 10~5. Хотя вычисленное Ь2т было бы верным в пределах рабочей точ- точности, в б2 и, следовательно, в б: мы должны ожидать-на десять верных десятичных знаков меньше. Этой потери достаточно, чтобы обесценить вычисление как раз тогда, когда его потенциал наибольший. Поскольку bj\\\ мало, в Ьх не требуется очень высокой относительной точности, но некоторые верные знаки все же нужны. В М-формулировке вычисленные значения \ij и ^/+ft(=?) могут быть очень близки, но это не помешает хорошей программе вычислить их с такой точностью, какую допускает их разделенность. Резюмируем: б-формулировка неизбежно при- приводит к почти удвоенной потере верных знаков. Упражнение 10.5.10 иллюстрирует это явление. Упражнения к параграфу 10.5 10.5.1. Что происходит с матрицей Xj = ?-j-C (Н— 0-1С* и числами \1{(Х?), i= I m-if-k, если ?—» Qj? 10.5.2. Показать, что при t'</ интервал [|х,- (Xj , ?] содержит по край- крайней мере столько же собственных значений а матрицы А, сколько он содер- содержит собственных значений (х матрицы M(XjK). Аналогично, при i > / интервал [?, ц.,- (ХЕ)] содержит по крайней мере столько же собственных значений а, сколько собственных значений р.. « Для ? = |4-61 (|).— Прим. перев. 2> Абсолютной.—Прим. перев. 3) Напомним, что / определяется условием: 0у < С < Qj+l.— Прим. перев.
§ 10.6, Использование оценок для отсутствующи подматрицы 221 10.5.3. Каково наименьшее число собственных значений а, которые могут лежать в объединении [—оо, (х,(Х?)] и (?, оо)? Указание: Использовать последнюю часть теоремы Кахана. 10.5.4. Показать, что интервал в упр. 10.5.2 оптимален в том смысле, что ни для какого подынтервала нельзя доказать наличие стольких же соб- собственных значений А. 10.5.5. (Трудное.) Пусть 8/ < ? < 9/+ь и пусть (х—произвольное собствен- собственное значение M(Xj), отличное от ?. Определить величины | = (?|)/2 6 = (? — [х)/2. Показать, что —62] = О. 10.5.6. Пусть б? (|)^Х,[(Н —|)а4-С*С], i=l, ..,т. Применяя к (А —|J теорему Кошн о разделении, доказать, что интервал [?—бу(|), |-|--6y(g)J содержит по меньшей мере / собственных значений А. 10.5.7. Вывести исходную формулировку Леманна из A0.5.3). 10.5.8.-Проверить, что для любого ^-вектора v (m-\-k)-вектор [v*C (Н — 5)-1, _ v*]* есть собственный вектор M(Xj), отвечающий ?. 10.5.9. (Трудное.) Проводя для M(Xj) аналитическое исчерпывание, по- получить более сложную (тхт)-матрицу, собственными значениями которой являются ць ..., (Ху, цу+ц+1, ..., (Jm + ft. Указание: Использовать матрицу где R—это верхняя треугольная (йХ?)-матрица, выбранная так, чтобы столб- столбцы произведения были ортонормированными, т. е. R~*R~1- есть разложение Холесского (см. гл. 3) для матрицы 10.5.10. Рассмотреть случай ?=1, С = @, у2), Предположить, что вычисленная сумма 1 + Y4 равна 1 (или попробовать Y=10~3). Исследовать вычисление 6t (|) в соответствии с A0.5.4). Затем рассмотреть вычисление чисел Цг(Х^), если ?= 1-|-Y2/V^' + Y2- *§ 10.6. Использование оценок для отсутствующей подматрицы Напомним, что мы исследуем матрицы вида A0.6.1) н с о с* о* Y где А: пхп, Н: тхт и Y неизвестна. Оценки Леманна можно значительно улучшить, если какая-нибудь информация об Y все же имеется, например оценка для |Y|| или ЦУ}. Чтобы полу-
222 Гл. 10. Оценки для собственных значений чить эти меньшие интервалы, полезно вначале посмотреть, что можно сказать, если известны собственные значения {т),, i—\, ..., п—т) матрицы Y. С этой целью возьмем в качестве матри- матрицы X в A0.4.3) матрицу тIЛ: , f » I,,.., m + k. A0.6.2) Соглашение: цг- = —oo, если ?=S^0; fi(. = +oo, если i^ Далее следует целый каскад результатов, вытекающих из теоремы Вейля A0.3.1) о монотонности. Они были получены Каханом в 1957 году, но независимо были доказаны и опубли- опубликованы в работах [Weinberger, 1959, 1974]. Лемма. Для 0<t^m-fl, 0^/<n—т и а(- = А,г[А] min{M4/+i). 4/+i} <«/+/< max {h-+ft (*!/)• Л/}. (Ю.6.3) т1п{1х_г._л(т)_/))г]_/}<а_/_/<тах{^_/(Л-/-1)» Л-z-ib (Ю.6.4) «<• < V4 (Л-i). (*-/ (%) <«-/• A0.6.5) Доказательство. Разложим А в подходящую сумму матриц и применим теорему о монотонности из § 10.3; получим н с о с* о*' го о о о* о*' Заметим, что второй член1} по-прежнему равен 0, когда / = л—т и t),+1 = 4-°°- Результат, очевидно, верен и при i = 0?K Вторая часть теоремы о монотонности приводит к неравенству «_,,_„<max{ja^(л-,,!), л-ff-i}- Используя соотношения а_г==а„+1_г, {х_г = {хм+*+1_г, т]_г = = Цп-т+1-1 ПРИ /' = +1—i. q = n—т—/, переводим это нера- неравенство в а,+/< m ах {ц,+ Тем самым доказано A0.6.3), а A0.6.4) эквивалентно A0.6.3). 11 В правой части.— Прим. перев. *> Поскольку min {fiO(Ty + 1), т)/+1} =fi0 (r)y+i) = — °°-— Прим. пврев.
§ 10.6. Использование оценок для отсутствующей подматрицы 223 Последнее утверждение A0.6.5) оставляется читателю в каче- качестве упражнения 10.6.1. Установленные результаты являются чисто академическими; если бы числа r\t были известны, то роли Y и Н можно было бы с выгодой поменять. На практике если что-нибудь известно об Y, то это, скорее всего, какая-нибудь грубая оценка. Напомним, что из т) =^ Y следует т)<р(х; Y) для любого Следствие 1. Для 1—\, если T)'=^Y, то т если Y ^ т)", то а^Мт)") и а_,.<тах{1х_,.(л"), ц"}. A0.6.6) Доказательство. Из монотонности чисел \1г (см. A0.5.2)) следует Применим теперь A0.6.3) при / = 0, чтобы получить нижнюю оценку для а,-, и A0.6.5), чтобы получить верхнюю оценку. Вывод неравенств для а_; аналогичен. Если известна лакуна в спектре Y, то ее также можно исполь- использовать для нахождения интервалов включения. Следствие 2. Предположим, что чЪг^1!' < T)";?STb+] для некоторого тс и тогда A0.6.7а) A0.6.7Ь) A0.6.7с) Доказательство оставляется читателю (упр. 10.6.3). Отметим, что для того, чтобы пользоваться этими оценками, не обязательно знать индекс it. Пример 10.6.1 в У 0 У 0 Y Н = в, С = у. в у у ?Г Если взять et в качестве приближенного собственного вектора, то оценка из § 4.5, основанная на норме невязки, показывает, Что в интервале [6—у> б-f у] есть собственное значение а. Если
224 Гл. 10. Оценки для собственных значений ничего не предполагать относительно Y, то оптимальный интер- интервал Леманна — Кахана, построенный для числа ?. = 0+?> также оказывается совпадающим с [6—у, в + у]> а все остальные ? дают худшие оценки. Теперь мы попробуем некоторые другие М. Положим а е= j/в2 + 4у2 == в 4- 2у2/8. S Ml Р-г 0 9 19 9 1(9 + 1(9 -а) 9 — о 1= _ -у г)Ф( ¦У2/9 9~у2/в Ц9 + 9 + 0^ а) 9 ha Ф + 9+ ¦) У ¦2*н ?/9 Yy*/9 Предположение: 0 ^ Y ^ 20. Следствия из A0.6.6)х): —т2/в<а, <6—Т2/В, Оба а имеют большую свободу. Предположение: fl ^ Y ^ 26. - Следствия из A0.6.6)х): 0— Отметим узкий интервал для аг. Предположение. % ^ 0 < 26 ^ цг. Следствие из A0.6.7): Пока не было показано, что оценки в A0.6.6) и A0.6.7) улучшают оценки Леманна. Различие наиболее явственно при ||С|| —»¦ 0 и 6у—>¦ «у+р для некоторого р. Ширина интервала Ле- Леманна есть 26j(i); согласно определению чисел бу в A0.5.4), &Л1)Ш> К[Н-1]*. A0.6.8) Таким образом, если ||—6..| = О (JCf) при |С|->0, то 6t (|) = = 3AС||). В отличие от этого 2||С||а '— (Ю.6.9) Поэтому, например, интервалы [н, (л'), М-(- ("Л")] сужаются к а( со скоростью O()|Cja) при условии, что т]', г)" отделены от 6, и 11 При выводе оценок для а3 используется также A0.6.3) соответственно при i = 2, /=1 и 1=1, j = 2.~ Прим. перев.
§ 10.7. Использование лакун в спектре 225 не зависят от [|С||. Доказательство A0.6.9) дано в работе [Wie- landt, 1967, разд. 28]. Пример 10.6.1 иллюстрирует это явление. Упражнения к параграфу 10.6 10.6.1. Используя теорему Вейля о монотонности A0.3.1), показать, что a,-<fi;(T]-i) и [i_/(Th)«Sa_/. 10.6.2. Показать, что если t|'^Y<t|", to ц_/ «) <а_,<тах {^_, (г,»), yf}. 10.6.3. Доказать A0.6.7), применяя лемму с /, замененным на п. 10.6.4. Если собственные значения г); матрицы Y известны, то их можно использовать совместно с собственными значениями 6; матрицы Н. Доказать, что если e,«?ri/+i, то Ц((г1/+1)<а;+/, и если ^«гв,-, то a(-+/<ji/+ft (r\f). *§ 10.7. Использование лакун в спектре Рассмотрим пример из § 10.6, в котором имеется хорошев приближение 9 к собственному значению а: у о Y в у у «Г Если об Y ничего не известно, то лучшее, что можно сказать: а принадлежит интервалу [6—у, ( +у]. Предположим, однако, что имеется дополнительная информация такого типа: а является единственным собственным значением А в большем интервале [9—р, 9 + Р], где у<р. Тогда можно сделать сильное утверж- утверждение: а в действительности лежит в интервале [9 —уа/т, 9+уа/т], где т = (р + КР2 + 4уа)/2 = р + уа/р. Если р/в = 10, у/в == Ю"8, то 9 совпадает с а в пяти десятичных разрядах. Наблюдения такого сорта позволяют ускорить выход из дорогостоящих итера- итерационных процедур для вычисления чисел а. Эти улучшенные оценки получаются с помощью двух конкрет- конкретных вспомогательных матриц М. в в й а' а" /7л, се + в у2Л) + т В 1929 г. Темпл по существу доказал, что ц,, (a")^() и теорема, приводимая ниже, обобщает этот результат и анало- аналогичные результаты Като.
226 Гл. 10. Оценки для собственных значений Рассмотрим матрицу А вида A0.6.1) с достаточно малой ||С| так, чтобы, например, интервал [а', а"] содержал то же число собственных значений а матрицы А, что и собственных значе- значений 6 матрицы Н. Ситуация показана на рисунке. Оптимальные интервалы получаются с помощью собственных зна- значений [I вспомогательной матрицы М(Х?) (см. A0.4.3), A0.5.1)) при подходящем выборе ?. Теорема A0.7.1) есть следствие A0.5.3) и была впервые сформулирована в работе [Lehmann, 1949]. Теорема. Предположим, что для некоторых индексов n, k и I «л < «' <ал+1 <.. .<ал+, <с;а" < ая+;+1, A0.7.1а) %<<*' <вп+1<..-<вн+1<а" <в„+/+1, A0.7.1 Ь) тогда и<я и A0.7.1с) ) для 1</</. A0.7.1d) Напомним, что /г=ранг [С]. Эти неравенства наилучшие возмож- возможные при данной информации. Чтобы применять теорему, не обязательно знать п. Доказательство. По теореме Коши ах =^8И, а согласно A0.7.1а) и A0.7.1b), 8X <»' ^ая+1, откуда и следует A0.7.1с). Теперь перейдем к более трудной части. По A0.7.1Ь) 6И <а' < 8к+1, поэтому можно применить при t, = <x' теорему A0.5.3) о разделе- разделении g учетом невязок. Заключаем, что [a', iix+K+, (Ха,)] содер- содержит по крайней мере одно а и, кроме того, а' = цх+1(Ха,)= ... ... =fAx+x (Ха,). Согласно A0.7.1а), ая+1 должно принадлежать этому интервалу, в то время как ая+2 может принадлежать или не принадлежать ему. Таким образом, что доказывает правое неравенство в A0.7.Id) при / = 1. Чтобы провести доказательство для прочих значений /, исполь- используем либо формулировку Леманна A0.5.5) при подходящем |, либо упражнение 10.5.2. Получим больший интервал [а', Щс+й+/-(Ха,)], содержащий по крайней мере / чисел а. Согласно A0.7.1а), _рн должен включать ая+1, ..., ая+/. Это доказывает правое неравенство в A0.7.Id) для всех / до т—к включи- включительно; однако лишь при / ^ / одновременно будет выполняться и левое неравенство.
§ 10.7. Использование лакун в спектре 227 Чтобы доказать левое неравенство, возьмем ? = <х" и применим упр. 10.5.2. Заключаем, что fxx+/+i(Xa") = • • • =^*+/+б(ха») = а" и что [>Чс+/(Ха"), а"] содержит по крайней мере /+1—/ чисел a для всех / от / и до (в направлении убывания)—(х—1). Соглас- Согласно A0.7.1а), этот интервал должен включать ая+;-, ..., ая+Л Значениями /, для которых выполняются оба неравенства, будут 1 </</. Равенство в A0.7.Id) слева достигается для матрицы А = = diag[M(Xa»), а" 1], а справа—для матрицы A = diag[M(Xa,), a' —1]. Упражнение к параграфу 10.7 10.7.1. Предположим, что ||С|| настолько мала, что в предположении (Ь) теоремы 10.7.1 справедливо a'+|Gj|<8e+i. Показать, что для /=1, ...,1 Примечания и ссылки Теорема о разделении восходит к работе [Cauchy, 1821] так же, как про- простейшие случаи полной теоремы о монотонности—к работе [Weil, 1912]. В действительности эти две теоремы и минимаксная характеризация собствен- собственных значений [Fischer, 1905] составляют совокупность, в которой любой ре- результат можно вывести из остальных. В 1930-х годах Темпл начал работу по выводу оценок, основанных на использовании иевязок, для ошибок приближенных собственных пар. Другие авторы, сделавшие вклад в этот раздел и распространившие его результаты иа дифференциальные операторы,— Вайиштейн, Като и Виландт. Изображая спектр А на рисунке, можно вывести интересные априорные оценки ошибок. Полный и современный обзор этой области дан в книге [Weinberger, 1974]. Той же теме посвящена более поздняя работа [Chatelin, Lemordant, 1978]. В этой главе выделена единственная тема—использование матрицы не- невязок, а не только ее нормы,— и сделана попытка изложить идеи просто и в то же время полно. Лемаин [Lehmann, 1949, 1963] первым получил опти- оптимальные оценки, которые можно вывести из дайной информации. Однако здесь мы придерживались подхода, предложенного в неопубликованных замет- заметках Кахаиа. Эти заметки унифицируют все результаты и имеют то преиму- преимуществоJ), что написаны на английском. С точки зреиия автора.— Прим. пврев.
ГЛАВА 11 Аппроксимации из подпространства § 11.1. Подпространства и их представление Некоторым читателям может показаться, что широкое исполь- использование абстрактных понятий векторного пространства и подпро- подпространства при обсуждении численных методов излишне затрудняет понимание. В действительности же язык подпространства упро- упрощает такие обсуждения за счет отбрасывания несущественных деталей. В этом параграфе рассматривается способ задания под- подпространств и показывается, как выбор базиса соответствует не- некоторым явным матричным преобразованиям. Подпространство if пространства <Вп является его подмноже- подмножеством, замкнутым относительно операции линейной комбинации векторов. Однако более полезным определением представляется следующее: & — совокупность всех линейных комбинаций некото- некоторого малого множества векторов из &'. Любое малое множество, которое таким образом задает <У, называется порождающим мно- множеством. Для каждого &', отличного от тривиального подпрост- подпространства {о}, существует бесконечно много таких порождающих множеств. Удобно т векторов порождающего множества упорядо- упорядочить как столбцы некоторой матрицы S = (s!, ..., s™) и затем сказать кратко и не совсем корректно, что S порождает^. Sx—это хорошее обозначение линейной комбинации столбцов матрицы S. Имеется несколько различных способов описания <У: = §<Sm. A1.1.1) Другие названия для if: область значений, образ или простран- пространство столбцов матрицы S. Использование в A1.1.1) пространства $т оказывается весьма важным: в то время как х пробегает все пространство /л-мерных векторов <§т, векторы Sx пробегают лишь некоторую часть ?п, а именно «го подпространство if (см. упр. 11.1.2). Порождающие множества выгодно иметь настолько малыми, насколько это возможно. Такие минимальные порождающие мно- множества называются базисами подпространства if', и все они состоят из одинакового числа векторов. Это число называется размерно-
§ 11.1 .Подпространства и их представление 229 стью &'. В дальнейшем размерность подпространства будет авто- автоматически обозначаться верхним индексом, т. е. of == &"*. Одним из преимуществ использования (/гх/л)-базиса S для & является существование взаимно-однозначного соответствия между длин- длинными /г-мерными векторами s из tfm и короткими вспомогатель- вспомогательными векторами х из <Вт, которое задается соотношением s = Sx. Учитывая потребности, возникающие в § 11.4,.опишем типич- типичные подпространства %1 подпространства <Ут из $"¦ Как это можно сделать? Пример 11.1.1. Пусть = span Г'1 1 1 Lo i i 0 i П 0 1 1 j cS4. По отношению к такому базису подпространство a* «pan 1 1 1 ! 1 О О 1 span I I I I 1 О 1 0 1 О 1 I 1 О а 1 о о cS1 соответствует подпространству t2 == span Другой, более интересный пример показывает, что [1 0 [о °] 1 0J §2 s •Г 1 1 0 + /8 "Г 1 0 1 + У •1 0 1 1 : « + р + у •= О соответствует подпространству : « + р + у О с S3. Аналогичная ситуация имеет место и в общем случае. Если для <Ут выбран конкретный базис S, то имеется естественное соот- соответствие между подпространствами %> подпространства <Ут и под- подпространствами Р из <Вт, задаваемое соотношениями %i—\ = {Su: u€-$J\ (см. упр. 11.1.4).
230 Гл. П. Аппроксимации из подпространства и Ет « S$m, s : и х т, U и J, Gifflx/, Взаимно-однозначное соответствие между подпространствами Sw и $г подпространства ?"* Рис. 11.1.1. Подпространства пространства. Рисунок 11.1.1 иллюстрирует смысл изложенного другим спо- способом. Подпространство <Ут принадлежит ?" (не только 91"), и поэтому одновременно удобно и правильно использовать для его описания ортонормальные базисы (см. упр. 11.1.5). Упражнения к параграфу 11.1 11.1.1. Пусть подмножество if пространства $п обладает свойством, что для любых и и v из if этому подмножеству принадлежит их линейная комби- комбинация au + pV Почему if должно быть совокупностью всех линейных комби- комбинаций некоторого конечного подмножества из if? II. 1.2. Пусть S= I 1 2 —порождающее множество (избыточное) для if. Показать, что каждый вектор s из if может быть записан в виде Su для неко- некоторого и из <^а. Сколько таких и существует для каждого s? 11.1.3. Описать вторую пару подпространств $а и %% из примера 11.1.1 как пространства столбцов некоторых матриц G и й. И.1.4. Пусть S является базисом ifm. Доказать, что соответствие между подпространством ifm и пространством ?т, задаваемое матрицей S, действи- действительно взаимно-однозначно. 11.1.5. Используя процесс Грама — Шмидта или иным способом, построить ортонормальиые базисы заданных в § 11.1 подпространств. § 11.2. Инвариантные подпространства Собственный вектор г матрицы А может быть нормирован так, чтобы иметь любую удобную ненулевую норму. Иначе говоря, вместе с вектором z собственными векторами А являются также 2z, — z и т. д. Однако удобнее говорить о подпространстве if1 ~ = span (z) из ?", которое обладает двумя замечательными свой-. етвами: 1. if1 отображается матрицей А в себя, т. е.
§ 11.2. Инвариантные подпространства 231 2. Результат действия А на любой вектор z из &1 является кратным z с постоянным множителем: Az«zA., причем К зависит только от if1, но не от z. Подпространства, удовлетворяющие условию 2, называются соб- собственными подпространствами. Пусть теперь столбцы {пX/л)-матрицы Z = (z1, ..., гт) явля- являются собственными векторами матрицы А. Тогда span (Z) удовлет- удовлетворяет условию 1, но не удовлетворяет условию 2, за исключением случая К1 = К2 = ... = Кт. Подпространства «?", удовлетворяющие условию 1, называются инвариантными. Обратно, любое инвариант- инвариантное подпространство обладает базисом из собственных векторов (см. упр. 11.2.1). Для любой заданной (пх/л)-матрицы F = (f1; ..., fm) жела- желательно иметь способ проверки инвариантности span (F). Согласно 1, для инвариантности необходимо, чтобы Af/ = 2^ici7 для всех/ = = 1, ..., т с некоторыми неизвестными коэффициентами ci;-. Эти равенства могут быть записаны более элегантно в виде матрицы невязки для F: A1.2.1) Когда F имеет полный ранг, то A1.2.1) дает единственное решение C=(F*F)~1 F*AF. Если же paHr(F)</n, то уравнение A1.2.1) имеет много решений, но работать с такими матрицами F весьма затруднительно и нет необходимости. Если доступен ортонормированный базис Q подпространства span(F) (т.е. span(Q) = span(F)), то изложенный выше критерий принимает более удобную форму R(Q)^AQ-QH = O, H^Q»AQ. A1.2.2) Матрицы С и Н обе представляют сужение А на span (F), но Н имеет то преимущество, что она симметрична. Более того: Каждый собственный вектор С или Н определяет собственный вектор матрицы А. Действительно, если Су = уА,, то Fy—собственный вектор А, соот- соответствующий ее собственному числу К, а если Нх = хА,, то Qx является собственным вектором А, также соответствующим ее собственному числу А,.
232 Гл. 11. Аппроксимации из подпространства Пример 11.2.1. 3 1 -1 -3 0' 1 -1 а , Q - 3 I -1 -3 -г" 3 -3 1 А = 1 i -2 0 110-2 2 0 11 0-211 2V5 ' Вычисление Сиу предлагается как упражнение, но нетрудно показать, что Упражнения к параграфу 11.2 11.2.1. Пользуясь результатами § 1.4, доказать, что если ^ — инвариантно относительно А, то if обладает базисом нз собственных векторов. 11.2.2. Пусть F = QL* и матрица Q ортоиормальна. Выразить С через Н и L*. 11.2.3. В примере 11.2.1 вычислить С, а также найти ее собственные век- векторы и соответствующие собственные векторы матрицы А. § 11.3. Процедура Релея — Ритца Обычно подпространство &"", с которым приходится иметь дело, оказывается не инвариантным относительно А. Тем не менее, если оно близко к инвариантному, то должно содержать хорошие аппроксимации к некоторым собственным векторам А. Для вычис- вычисления наилучших приближений из ё>т для собственных векторов А требуется выполнение трех условий: 1. S является (пх/и)-матрицей полного ранга, и ее столбцы образуют базис zfm. 2. Имеется подпрограмма, назовем ее ОР, которая для любого заданного х выдает вектор Ах. 3. Имеются служебные программы для ортонормализации мно- множества векторов и вычисления собственных систем симметричных (тх/и)-матриц. Знать матрицу А явно нет необходимости. В некоторых при- приложениях, но не во всех, п большое (п > 1000) и т<^п. Причем иногда требуется найти только подмножество р из т приближенных
§ 11.3. Процедура Релея—Ритца 233 собственных пар. Хорошо известная процедура Релея—Ритца (конкретизированная в табл. 11.3.1) позволяет вычислять эти аппроксимации. Таблица 11.3.1 Процедура Релея — Ритца Шаг Стоимость (в арифметических операциях — ops) " 1. Ортоиормировать, если это необходимо, столб- столбцы S для получения ортоиормальной матрицы Q, записываемой иа место S. 2. Сформировать AQ путем т вызовов подпрограм- подпрограммы ОР. Величина / является средним числом ие- нулевых элементов в строке А. 3. Сфор мировать (т X т)- матрицу Н = р (Q) з= Q* (AQ) (матричное отношение Релея для Q). 4. Вычислить р(^т) представляющих интерес соб- собственных пар Н, скажем Hg,-=g,-8,-, 1 = 1, .... р. 6;—значения Ритца. 5. Вычислить, если это требуется, р векторов Ритца y/ = Qg,-, « = 1, .... р. Множество {(в,-, у,), i— 1, ..., т) является наилучшим аппроксимирую- аппроксимирующим множеством для собственных пар А, которое может быть получено только из &"*¦ 6. Оценки ошибок через невязки. Сформировать р векторов невязок г,- == г/ (у,-) = Ау/ — у/в,- = = (AQ)gf — У/6;, используя для вычислений послед- последнее выражение. Затем вычислить ||г,-||. Каждый интервал [8,- — ||г,-||, 8f +1| г,-||J содержит собственное число А. Если некоторые интервалы перекрывают- перекрываются, то требуется несколько больше работы, чтобы гарантировать аппроксимацию р собственных чи- чисел А (см. § 11.5). 7. Нетрадиционный лишний шаг описай в § 11.8. т (т+ 1) п ~ 1тп (Больше, если представ- представлена в усложненном виде с целью экономии памя- памяти.) (меньше, если ртп 1 р(р+1)п+О(р>) Под арифметнческой операцией понимается умножение или деление. Упражнения к параграфу И.З Применить процедуру Релея—Ритца при следующих исходных данных; 11.3.1. Матрица А берется из § 11.2, <5p=span[B 1 -1 -2)*, B -1 -1 2)*]. 11.3.2. Матрица А берется из § 11.2, <у = span 1ег, еа, е8].
234 Гл. 11. Аппроксимации из подпространства 11.3.3. Матрица А берется из § 11.5, <5p = spanQ. 11.3.4. Проверить формулу количества арифметических операций в про- процедуре Релея —Ритца, вычисляя, когда это возможно, второй члеи в выраже- выражениях. Предполагая, чтоп=103, т=102, /7 = 10, подсчитать количество опера- операций для каждого шага при произвольном /. 11.3.5. Как изменится число действий иа третьем и четвертом шаге, если Н окажется трехдиагоиальиой? Изменит ли это обстоятельство значимость ве- величины / в оценивании стоимости реализации процедуры Релея — Ритца? § 11.4. Оптимальность Имеются три (родственных) пути обоснования утверждения об оптимальности аппроксимаций {0,-, у,} Релея — Ритца при заданной информации. Первый путь является естественным следствием мини- минимаксной характеризации собственных чисел. Согласно § 10.2, а/ = Я/[А]= min maxp(f; А), AфО). A1.4.1) Напомним, что размерности пространств указываются верхними индексами и р (f; А) = f*Af/f*f при f Ф о. Следовательно, естествен- естественным определением наилучшей аппроксимации р*у к ау из заданного подпространства &т является замена в A1.4.1) S" на &т, в ре- результате чего имеем Р,= min maxp(g; A), (g=^o). A1.4.2) Единственная трудность в доказательстве приводимой ниже тео- теоремы заключается в характеризации подпространств Р подпрост- подпространства ifm. Если Q—фиксированный ортонормальный базис Ут, то zfm = Q<Sm == {Qs: s??m\. Ключевым моментом здесь является то, что подпространства из zfm определяются подпространствами из <Вт с тем же самым соответствием. Это было установлено в § 11.1, а именно тогда и только тогда, когда Р = ф1 и & а?т. A1.4.3) Теорема. ву, /=1 /и, где H = Q*AQ. A1.4.4) Доказательство. Из A1.4.2), A1.4.3) и Q*Q=Im следует, что 8,— min max p (g; A)= min maxp(s; H) =
§ 11.4. Оптимальность 235 Здесь первый максимум берется по g = Qs^=o, а при переходе от (g; А) к (s; H) используются соотношения g/ = Q§/ и s*s = g*g ^ 0. Этот результат об оптимальности касается только величин 9. Второй путь в изучении оптимальности аппроксимаций связан с матрицей Q. Любой (/пх/п)-матрице В соответствует матрица невязки R(B) = AQ—QB. Минимизирующее свойство обычного отношения Релея наследуется матрицей H = Q*AQ=5p[(Q). Теорема. Для заданной (nxtn)-матрицы Q и любой (тхт)- матрицы В справедливо неравенство ||R(H)||<||R(B)||. A1.4.5) Доказательство. R (В)* R (В) = Q*AaQ—В* (Q*AQ) — (Q*AQ) В + + В*В. Тонкость заключается в том, чтобы увидеть, что последние три члена этого равенства в точности равны матрице (Н—В)*х х(Н—В)—Н2 и, следовательно, R (В)* R (B)=Q*A*Q-H* + (H—B)*(H — В) = = R(H)*R(H) + (H-B)*(H-B). Отсюда, поскольку матрица (Н—В)*(Н—В) положительно полу- полуопределена, имеем IIR (В) 8« - Я.х [R (В)* R (В)] > Я_х [R (Н)* R (Н)] = | R (H) f. Относительно единственности см. упр. 11.4.4 и 11.4.5. Далее, пусть S задает некоторый ортонормированный базис Ут и А—произвольная диагональная матрица. Тогда пары {(б;, s,), i = l, ..., т} являются конкурирующими аппроксимациями соб- собственных пар. Однако из теоремы A1.4.5) вытекает, что jj AS — SA|| минимизируется по всем S и А тогда и только тогда, когда s(- = y,-, б( = 0;, t = l, ..., т. Проверка этого предлагается как весьма важное упражнение (см. упр. 11.4.1). Родственные полезные харак- теризации векторов у,- предлагаются в упр. 11.4.6. Третий путь обоснования оптимальности аппроксимаций Ре- Релея— Ритца соответствует обратному анализу ошибок (см. гл. 2). Так как &т не инвариантно относительно А, бессмысленно гово- говорить о сужении А на <SPm. Лучше всего здесь говорить о проекции А на &т. Проекции обсуждаются в § 1.4. Если Р& — ортогональ- ортогональный проектор на &"", т. е. P^g является ближайшим вектором к g из zfm, то zfm инвариантно относительно Р^А, и поэтому имеет смысл говорить о сужении на zfm, а именно о матрице P^AIt»-, которая и является требуемой проекцией. Она тесно свя- связана с матрицей Р^АР,»., которая действует во всем <§", и также называется проекцией А. Такая двусмысленность не приносит вреда, поскольку действия двух проекторов на Ут одинаковы. Это и есть третья характеризация пар Ритца.
236 Гл. 11. Аппроксимации из подпространства Лемма. Пары @,-, у,), г=1, ..., т, являются собственными парами проекции А на ifm. A1.4.6) Доказательство леммы составляет предмет упр. 11.4.2. Пример НАЛ Если осуществить вращение А в плоскости 4>г против часовой стрелки, то проекция А на любое ЗР1 просто сжимает if1 в V2 раз, как показано на рисунке. 0 PCg g Приведем две ситуации, когда аппроксимации Релея —Ритца оказываются неоптимальными. Вообще говоря, ни один вектор Ритца у,- не является ближайшим единичным вектором из Ут к какому-либо собственному вектору А. Возможно, еще более удивительно то, что оценка ошибки j| Av — vp(v)||/|| v|| не миними- минимизируется в пространстве Ут никаким из векторов Ритца при т > 1. Иллюстрирует оба утверждения пример 11.5.1. Суммируя сказан- сказанное, можно утверждать, что, достигая коллективной оптимальности для т пар аппроксимаций Релея — Ритца, мы обычно теряем оптимальность для каждой конкретной собственной пары. Мало пользы в хороших аппроксимациях, если не известно, что они хорошие. Оставшуюся часть этой главы мы и посвятим оценке аппроксимаций Релея — Ритца. Упражнения к параграфу 11.4 11.4.1. Пользуясь теоремой A1.4.5), показать, что среди любых ортоиор- мальиых базисов S из Ут и диагональных матриц Д минимум величины || AS—SAIJ достигается при s,- = y,- и 8,- = 8,-. 11.4.2. Проверить, что каждая пара (8,-, у,-) является собственной парой матрицы Р^А^. 11.4.3. Показать, что <У иивариантио_также относительно матрицы А = А— — R(H)Q* — QR(H)*. Проверить, что |А—AJJ_= |[ R (Н)||. Являются ли (8,-, у,-) собственными парами матрицы А? Будет ли A = Pty.APty,?
§ 11.5. Оценки через невязку для близких значений Ритца 237 11.4.4. В соответствии с теоремой A1.4.5) показать, что j|R (B)||p>[|R (H)|||» о равенством только в том случае, если В = Н. 11.4.5. Найти такие матрицы А и Q и Bх2)-матрицу В ^ Н, чтобы |R(B)|| = ||R(H)||. 11.4.8. Показать, что для \??Рт Ах — хр (х) J_ ?fm тогда и только тогда, когда х = у,- для некоторого i < т. § 11.5. Оценки через невязку для очень близких значений Ритца На заключительном этапе шестого шага процедуры Релея — Ритца (см. табл. 11.3.1) мы получаем в распоряжение величины 6/. У|. г,-, || г,-1|, ./=1, ...,/?. Приведенные в § 4.5 простые оценки ошибок гарантируют, что в каждом интервале [9,—| г^Ц, 0; +1] г, ||] находится собственное число а матрицы А. Если интервалы не пересекаются между собой, то 9, аппроксимируют р различных собственных чисел А, что нам и требуется. Для отыскания улуч- улучшенных оценок требуется либо больше сведений о матрице А или больше вычислительной работы, как это описано в § 11.8 и гл. 10. Если два или более интервалов перекрываются, то возможно, что два или более различных 0, аппроксимируют одно и то же а, как это показано в примере 11.5.1. Пример 11.5.1 0 у 0 Y 0 1 0 1 0. , Q =  0 0: 1 0 Примем ".l, Тогда ,аг 0. Вычисляя Н, найдем 9±i - *y. у,*—0 -1 o)/V5. у| - О 1 o)/VJ. «г О О R Y " (h, r2) «= О О " h h - Ay, - у,( V2* 1 V2
238 Гл. 11. Аппроксимации из подпространства Заметим, что значения 0Х и 0а дают ложное основание считать, что в интервале ¦ —у, .— +Т находятся два собственных числа а. Способом устранения трудностей, связанных с перекрыванием интервалов, является использование нормы соответствующей ма- матрицы невязки R. Нижеследующая теорема известна с 1910 г. Она также справедлива для произвольной (/пх/и)-матрицы Н. Доказательство в [Kahan, 1967] аналогично A1.10.3). Теорема. Пусть Q — любая ортоноршальная (пхт)-матрица и ей соответствуют матрицы H(=Q*AQ) и R(=AQ— QH). Тогда имеются т собственных чисел {«у, /=1, ..., т) матрицы к, которые могут быть поставлены во взаимно-однозначное соответ- соответствие с собственными числами 0, матрицы Н таким образом, что 16,—a/'KJRB, /=1, ..., т. A1.5.1) Доказательство. Матрица Q может быть расширена (путем добавления ортонормальных столбцов) до квадратной ортонормаль- ной матрицы Р = (Q, Q). Тогда 6*АР = Г Q*AQ Q*AU ] _ Г Н В* } где явно известна лишь матрица Н. Далее ?*В » P*.AQ - P*QH «(P*AP)(P*Q) - (P*Q)H -IS w][A]-[i]H-[S]- "'•") В силу ортогональной инвариантности ||-|| (факт 1.10 из § 1.6) IM"!|P*Rll-|[g]|-||Bir. Далее, используя представлений Н% %} 01.5.3, и по теореме монотонности Вейля (см. § 10.3) для г = 1, ..., п имеем
§ 11.5. Оценки через невязку для близких значений Ритца 239 Поскольку 8, появляется где-нибудь в упорядоченном списке собственных чисел матриц Ни W, то существует такой набор индексов /', что о*1 - " ,,т. Вычислим, используя соотношение [О В*]2 Гв*В о*] ,„,« 1"В О J [о ВВ*Г U 1.5.5) второй член в правой части A1.5.4). Так как В*В и ВВ* имеют одинаковые ненулевые собственные числа (см. упр. 11.5.2), то Ч(в о*)] =VA-i[B*BJ -VPF - ия||. (и.5.6) т Полагая в A1.5.4) г = /', получаем утверждение теоремы. т > 2, то стоимость вычисления величины ||R|| мала, ишком. |] R [] можно легко мажорировать: | R ||? <! || R |g- = — 2ir/ft гДе величины [|г;|1? уже определены на шестом шаге процедуры Релея — Ритца. \Щр может также быть использована в следующем результате, доказательство которого составляет предмет упр. 11.5.3. Теорема. т 2(e/-a/,)i<2JRlS;. г(П-5.7) На практике теорема A1.5.1) будет обычно применяться не к матрице R (Q), а к матрице R = (г*, ..., rv), соответствующей подмножеству величин 0, интервалы невязок которых пересека- пересекаются ". При этом в доказательстве Q заменяется на Q = (уи..., yv), а Н — на H = diag@1, ..., 0V), а затем используется то обстоя- обстоятельство, что каждый из интервалов [9,—|JR|J, 9,--HI R |] содер- содержит свое собственное а, хотя бы и для очень близких величин е„ /=i, ..., v. Упражнения к параграфу 11.5 И.5.1. Пусть H=diag(9i, .... 64), C=diag(V! V4). <2=Ф1 е4). Т Н С*1 Применить теорему A1.5.1) к матрице А= „ н . Что показывает этот пример относительно возможности усиления результатов? 1> То есть интервалы (в;—||г,-||, 6/-J-||r/||).—Прим. перев.
240 Гл. 11. Аппроксимации из подпространства 11.5.2. Имеется несколько способов доказательства, что ненулевые собст- собственные числа матриц В*В и ВВ* совпадают. Показать, что матрицы ГВ*В ОТ ГО О I [в oj и Lb bb*J подобиы- 11.5.3. Применить теорему Виландта—Хоффмана (факт 1.11 из § 1.6) к A1.5.3) для доказательства теоремы A1.5.7). 11.5.4. Использовать пример $ 11.2 для вычисления R (Q). Насколько хуже || R (Q) || любой из оценок через вектор невязки? 11.5.5. Выбрав Q = (e!, ..., effl), применить теорему A1.5.1) к трехдиа- гоиальиой матрице. Какая теорема гл. 10 дает тот же самый результат? § 11.6. Оценок для векторов Ритца через невязки не существует - Насколько хорошо вектор Ритца у, аппроксимирует некото- некоторый собственный вектор z,,? Следующий пример с матрицей по- порядка два показывает, что без дополнительной информации оценки ошибок для векторов Ритца не могут быть получены. Рассмотрим матрицу T v— где 02 = 62-fY8, и выберем Q = ex. Тогда Н = 6= у4-6 и, следо- следовательно, где Г = 2, если 6>0, Г = 1, если б<0. „Истинный,, собственный вектор и вектор Ритца равны соот- соответственно [±v/(a+|6|)J и [oj- Если ф—острый угол между ними (угол ошибки), то , если 1/К2; если 6= Поэтому, когда 6 = 0, „истинный" собственный вектор для всех ненулевых у равен A, ±1)*, а угол ошибки равен я/4. Этот пример показывает, что общей границы ошибки вектора Ритца в терминах j| R || не существует. В чем тут дело? Почему метод не срабатывает, когда |б| мало? Ответ таков, что метод срабатывает, но не верна сама постановка вопроса. При 6 —*¦ 0 требования на норму вектора
§ 11.7. Отдеденность в спектре 241 ошибки Це, — ZjII становятся все глупее и глупее—прекрасный пример опасности чисто формального подхода. Когда величина |6/0| очень мала, то Э является почти столь же хорошей аппроксимацией для alt что и для аа. Кото- Который же из соответствующих собственных векторов будет аппрок- аппроксимировать вектор Ритца? Поскольку они взаимно ортогональны, нет ни одного вектора, который был бы близок к обоим, и с мудростью, не уступающей соломоновой, вектор Ритца выбирает среднее между двумя соперниками: в пределе при б—»-О Этот пример отражает общую ситуацию, когда собственные век- векторы необязательно являются непрерывными функциями элемен- элементов матрицы в окрестности матриц с кратными собственными числами (см. § 1.4). В таких случаях полезными объектами являются инвариантные подпространства, связанные с каждой группой очень близких собственных чисел. Трудности у пользователя меняют характер, но все же оста- остаются. Вместо вопроса, является ли вектор Ритца хорошим или плохим, он (или она) могут спросить, имеет ли матрица А не- несколько собственных чисел, близких к одному вычисленному значению 0? Метод Ритца не может ответить на этот вопрос. Когда в наличии имеется дополнительная информация (по- (помимо R), то она часто может оказаться полезной при построе- построении оценки ошибки. При ее отсутствии мы не можем сделать ничего лучше, чем в упр. 11.4.3. § 11.7. Отделенность в спектре Рассмотрим теперь произвольный единичный вектор и его отношение Релея 0 = р(у). Простая оценка ошибки из § 4.5 га- гарантирует, что матрица А имеет по крайней мере одно собствен- собственное число а, удовлетворяющее неравенству |<х—0|^||Ау—уВ|| = = ||г(у)||. Однако, если известно, что 0 хорошо отделено от всех собственных чисел, за исключением ближайшего к 0 собствен- собственного числа а (образующих дополнительную к 0 часть спектра), то можно не только улучшить оценку ошибки для 0, но могут быть получены некоторые оценки точности, с которой у аппрок- аппроксимирует собственный вектор г, соответствующий а. Теорема. Пусть у—единичный векторе 6 = р(у), а—ближай- а—ближайшее к 0 собственное число А и г—соответствующий нормиро- нормированный собственный вектор А. Далее, пусть y^min |Х,[А] —0| по всем Я,=^=а—расстояние от 0 до дополнительной части
242 Гл. 11. Аппроксимации из подпространства спектра и if = ^(y> z)- Тогда |9_a|<ll|lf. A1.7.1) , |a|<| Доказательство. Представим вектор у в виде суммы у= =z cos t|> + w sirup, где w—ортогональный к z единичный век- тор из плоскости у—z. Отсюда, так как Az = za, имеем г (у) = (А—8) z cos \р + (А—8) w sin f = = z(a—8)cost|3 + (A—8)wsinip. A1.7.2) К счастью, так как z"w = 0 и Az = za, то z"(A—8)w = 0, и поэтому по теореме Пифагора ||r(y)|| = (a—8Jcos2ip+||(A—8) w f sin8 ip. A1.7.3) Уже это для любого значения 8 приводит к неравенству |sirn|3|<||r(y)||/v (см. упр. 11.7.1). Если 8 = р(у), то г = г(у) ортогонально к у, т. е. 0 = y"r(y) = (a—8)cos2i|) + w'(A—8)wsin»^. A1.7.4) Таким образом, отношение cos2 ч|з к sin?tj3 равно отношению w* (А—8)w к 8—а. Используя эти значения в A1.7.3), прихо- приходим к выражению для [jrj2 в терминах w || г (у) |2 = [(8—aJ w» (А—8) w + w« (A—8J w (8—a)]/w« (A—a) w = (8—a)w'(A—a) (A—8)w/w'(A—a)w. A1.7.5) По предположению между айв нет собственных чисел А. По- Поэтому матрица (А—а) (А—8) положительно определена, и, сле- следовательно, полагая w = 2l/z/ и используя определение отделен- ности у, имеем = v|w*(A— a)w|. A1.7.6) Подставляя A1.7.6) в A1.7.5), получим второе неравенство тео- теоремы. Следствие. Если величина 8 = р(у) наиболее близка к а± или a_lf то Доказательство. В этих случаях |w*(A—8)w|^y (см. упр. 11.7.4)
§ 11.7. Отделенность в спектре 243 Во многих приложениях (но не во всех) величина у неизвестна и оценки теоремы A1.7.1) носят теоретический характер. Но при некоторых обстоятельствах, например в методе Ланцоша, насту- наступает момент, когда очень маловероятно, что между уже извест- известными а остаются какие-либо необнаруженные а. В таких ситуа- ситуациях отделенность у^ для 0у может быть заменена вычислимой величиной min A0,—0-|—||г,.||), в результате чего границы оши- бок становятся хорошими оценками. Теорема A1.7.1) весьма удовлетворительна для локализации изолированных собственных чисел. Но она оказывается беспо- бесполезной, когда группа очень близких а аппроксимируется группой величин 0 с перекрывающимися границами интервалов. Теорема A1.7.1) дает основания полагать (вычислительный опыт подтверж- подтверждает это), что векторы Ритца для таких близких 0 иногда явля- являются плохими аппроксимациями собственных векторов. Для кон- конкретности предположим, что у*, у2, у3—три таких вектора. Тогда оказывается, что если группа близких значений Ритца 0 хорошо отделена от всех а, не связанных с этими 0, то span (у^ у2, у3) намного лучше аппроксимирует соответствующее инвариантное подпространство, скажем Ша, чем любой из векторов у—индиви- у—индивидуальный собственный вектор. Другими словами, рассогласова- рассогласование между базисами не мешает тому, чтобы два подпространства были близки. Вот почему нам нужна мера близости двух под- подпространств. 11.7.1. Теоремы отделенности для подпространств Наша физическая ограниченность трехмерным пространством не дает нам почувствовать способ сопоставления даже плоско- плоскостей из ?*, не говоря уже о паре р-мерных подпространств, на- находящихся в ?". Надлежащее решение этого вопроса выходит за рамки этой книги, и интересующийся читатель может обра- обратиться к нашему первоисточнику—работе [Davis Kahan, 1970]. Дальнейшее является кратким изложением части этой работы. Если f и g—единичные векторы из <§", то /_ (span f, span g) = arccos | f*g |. Теперь пусть F и G—ортонормальные (лхр)-матрицы, Wp= = span(F), ^ = span(G). Оказывается, что правильной мерой близости ffp и %р является множество из р чисел, называемых углами между f> и %р. Однако нам потребуется только наи- наибольшее из них, и мы возьмем в качестве угла между подпрост- подпространствами величину $р) = arccosX1[(F*GG*F)'/2]. A1.7.8)
244 Гл. И. Аппроксимации из подпространства Заметим, что 0<;|F*G|Kl (см. упр. 11.7.6) и, кроме того, (см. упр. 11.7.7) #0- max mln Z(f- E)- A1.7.9) Следующей задачей является определение отделенное™. По теореме A1.5.1) заданная матрица А имеет р собственных чисел аг,, которые могут быть так попарно объединены с числами Q{ матрицы p(F) = F»AF, что|о,,—e,K|AF—Fp(F)|, i = l,...,p. (Если собственных чисел а, удовлетворяющих неравенству, больше, чем р, то из них могут быть выбраны любые р). Остав- Оставшиеся п—р собственных чисел а образуют часть спектра А, дополнительную к спектру матрицы p(F). Пусть индексы этих дополнительных а образуют множество ^. Расстояние между спектром р (F) и дополнительной к нему частью спектра А опре- определяется соотношением у - mf п {18,-0, |;1<<<р, j?f\. A1.7.10) Цель всех этих приготовлений—сравнить подпространство &р с инвариантным подпространством %р, которые соответствуют мно- множеству объединенных в пары р величин а и 9. Дэвис и Кахан дали следующее элегантное обобщение тео- теоремы A1.7.1). Теорема. Во введенных выше обозначениях 2'XIIAF—Fp(F)||. A1.7.11) Одно важное приложение заменяет F на множество векторов Ритца, соответствующих группе близких величин Ритца 0,- np(F) на diagF,, ..., Qp). Когда вместе тесно связано больше чем р собственных чисел а, то оценка A1.7.11) мало что дает, в осталь- остальном она очень удовлетворительна. Упражнения к § 11.7 11.7.1. Получить нижнюю оценку для || (А—9)w||2, отбросить часть ин- информации в A1.7.3) и вывести первое неравенство теоремы. 11.7.2. Показать, что когда 8 = р(у), то sin2 г|> = (в—a)/w*(A—a) w. 11.7.3. Используя равенство w*w=l, вывести вторую строчку формулы A1.7.5) из первой. 11.7.4. Показать, что в случае, когда 8 является ближайшим к наиболь- наибольшему собственному числу а_1=||А||, то | w* (A— 9) w |Э= у. 11.7.5. Остается ли справедливой теорема A1.7.1), если а —кратное соб- собственное число, а у—расстояние от в до других собственных чисел А, отлич- отличных от а. Если нет, то где нарушается доказательство?
§ 11.8. Сжатие невязки 245 11.7.в. Пусть F и G—ортонормальные (яХр)-матрицы. Показать, что JF*Gli<l. Указание: ||С|| = max | u*Cv |/(|| u||-|| v J). В каком случае равенство и, v может иметь место? 11.7.7. Доказать равенство A1.7.9). § 11.8. Сжатие невязки Шестой шаг процедуры Релея — Ритца осуществляет построе- построение р столбцов матрицы R(Y) = /4Y — Y6, где Э—диагональная матрица со значениями Ритца по диагонали, а столбцами Y являются векторы Ритца. Предыдущие оценки включали в себя величины ||г,-1, t = l р, или величину JR (Y)||, если 8 обра- образовывали группу очень близких величин. Улучшенные оценки можно получить, используя саму матрицу R (Y). Если к R (Y) применить процесс Грама—Шмидта, то это при- приведет к построению ортонормальной (пхр)-матрицы S и верхней треугольной (р х р)-матрицы С, являющихся сомножителями раз- разложения R(Y) = SC. Мы спешим добавить, что на практике де- делать это не нужно, поскольку R (Y)» (RY) = OS*SC = OC. Сле- Следовательно, С является, сомножителем Холесского для (рхр)- матрицы R (Y)*R (Y). С—именно та матрица, которая предостав- предоставляет дополнительную информацию, нужную для улучшения предыдущих оценок. Поэтому процедура Релея — Ритца должна быть дополнена еще одним, седьмым, шагом (см. табл. A1.3.1)). На седьмом шаге формируется (р х /?)-матрица W = = R (Y)*R (Y). Стоимость нахождения W составляет \/2р(р-\-\)п арифметических операций. Затем вычисляется треугольный мно- множитель Холесского С матрицы W за /?3/6 операций. Теперь могут быть применены оптимальные оценки, построенные в § 10.6, 10.7 и 10.8 с заменой матрицы Н на Э. Стоимость: О(ра) операций. Заметим, что если R (Y) не является матрицей полного ранга, то С будет иметь верхний трапецеидальный вид. Тогда построе- построение оценок ошибок гл. 10 потребует несколько меньше арифме- арифметических операций, но вычисление С наталкивается на некоторые трудности. Оправданием шага 7 служит следующая Лемма. А ортогонально подобна матрице A1.8.1) где подматрица U неизвестна. Доказательство леммы составляет предмет упр. 11.8.2. А =* G С О С* О* ' и
246 Гл. И. Аппроксимации из подпространства Упражнения к параграфу 11.8 11.8.1. Используя тот факт, что 9 является (матричным) отношением Релея для Y, показать, что в случае, когда R (Y) = SC имеет полный ранг, Y*S = O. 11.8.2. Пусть P = (Y, S, J)— ортонормальная (яхя)-матрица. Используя это, доказать лемму A1.8.1). 11.8.3. Показать, что || R (Y) |] = || R (Q) ||, если р = т. 11.8.4. Сравнить количество операций, требуемых для вычисления мат- матрицы С двумя способами: (а) формируя W и осуществляя разложение Хо- лесского, (Ь) с помощью модифицированного процесса Грама—Шмидта с отбрасыванием столбцов S. Что можно сказать относительно требований к памяти? *§ 11.9, Априорные оценки для внутренних аппроксимаций Ритца Подпространство &т дает аппроксимации Релея — Ритца (8,-, у,) к собственным парам (а{,, z(-,). Результаты этого параг- параграфа представляют интерес в том случае, когда ?fm достаточно хорошо расположено в ?п, т. е. сами а{ являются ближайшими собственными числами к 0,-. Оценки являются априорными и не- вычисляемыми. Их значение состоит в выявлении потенциальной точности аппроксимаций Релея—Ритца из ?fm (см. гл. 12). Идея заключается в том, чтобы использовать ошибки экстремального вектора Ритца у3 для получения простой границы ошибки для 82, затем воспользоваться ошибками в yf и 82, чтобы оценить ошибку в у2, и так далее, продвигаясь по направлению к внутренней части спектра. Согласно минимаксной характеризации собственных чисел, ai ^ 6i ^ Р (s) Д7151 любого s из <SPm. Разумный выбор s (близкого к собственному вектору zx) приведет нас к настолько хорошим оценкам, насколько это позволяют обстоятельства. Однако соот- соответствующие неравенства для 82, а2 ^ 82 ^ р (s) будут выпол- выполняться только в том случае, если s*y1 = O, s?efm (см. упр. 11.9.1). Здесь и лежит трудность, поскольку условие s*y! = 0 предпола- предполагает точное знание у^ что не допускается в строгом апприорном анализе. Средством против этого является использование двух допустимых условий: A) s*Zj = O и B) оценки для ^(у^), а затем получение модифицированных оценок вида а2^82^ ^p(s) + 8j, где е2—какая-то малая величина. Определим величины 9/ = ^(y,z/), i=l, .., т.
§ 11.9. Априорные оценки внутренних аппрокеищций Ритца 247 Лемма. Для каждого j ^т и любого s?afm, удовлетворяющего условиям 8% = 0, t = l, ..., / — 1, справедливы неравенства i-\ «/<e/^p(s) + _S (a-i—e^sin^q»^ %\ (П.9.1) < P (s) + 2 (a-i—«/) s'n2 Ф/- Доказательство. Первое и третье неравенства следуют из тео- теоремы Коши о разделении. Чтобы установить среднее неравенство, выберем в качестве s единичный вектор и представим его в виде s = t+'Sytf/. A1.9.2) i=i где t*y,- == 0, 1=1, ..., /—1. Предположение s*z,=0 приводит непосредственно к оценке для у{: Ы = ls*y/1 = Is* (У /—z/cos Ф/) I <||sf-|sinq>; = |sin(Pzl- A1.9.3) Поскольку t*y, = O и y*yt = O, то p(s) = fAt + 2(y;Ay,)v?. 01-9.4) Теперь, чтобы получить из A1.9.4) требуемое неравенство, все его члены должны быть отрицательными. Поэтому мы сдвинем А на величину а_и в результате чего, используя неравенство tJKl и соотношения A1.9.3), получим р (s) -о., = f (A -o_0't + 2 (в,- о.,) yfi> 2 /-1 > p (t)—a_! + 2 (9t—a_i) sin2 ф,. t=i Наконец, заметим, что p(t)^s6y = min p(u) по всем u?afm и u J_ y; для i < /. Отсюда, добавляя к каждой из сторон нера- неравенства величину а_!, получаем среднее неравенство теоремы. Следующая наша задача—увидеть, как каждый угол фу мо- может быть оценен через предыдущие углы. Чтобы сделать это, введем временно величины ф^ = /_^--п У/), '— 1, •••, п; /=1, ..., т. В частности, ф; = фп. Нам будут нужны следую- следующие тригонометрические факты: для каждого / п У/ = 2 z, cos ф,у, A1.9.5) |cos9/y|<|sin9/| (упр. 11.9.3), A1,9.6) п /-1 2 cos* ф// = sin2 фу—2 cos2 ф/у. A1.9.7) lm]+l i=l
248 Га. 11. Аппроксимации из подпространства Лемма. Для каждого j = 1, ..., т sm2(P/<[@/—a/)+2j («/+1—«/) sin2cp,-J /(а/+1—ау). A1.9.8) Доказательство. Согласно A1.9.5) и упр. 11.9.2, р(у,; А—ау) = 8,—а/= 2 (a,—cgcos^,,. I 1 Перенесем члены, содержащие предыдущие величины (р^, на другую сторону равенства. Тогда, используя упорядочение ах^ к, ^... и в самом конце равенство A1.9.7), получим -1 п >J (а,—aAcos'wi.ss У\ (а,—a,)cos (S cos^ Разрешая последнее неравенство относительно sin* фу, с помощью A1.9.6) приходим к требуемому неравенству A1.9.8). Случай / = 1 приводит к неравенству siir^j^—х__ 1 . Это скрытая форма оценки ошибки для отношений Релея. Истинные априорные оценки получаются путем выбора под- подходящих векторов s и затем попеременного применения A1.9.1) и A1.9.8) для мажорирования величин sin2 фу и 6у—«у. Цена, уплачиваемая за отход от явного использования 6у, довольно высока, как это обнаруживается в § 12.4. Упражнения к параграфу 11.9 11.9.1. С помощью минимаксной характеризации собственных чисел, до- доказать, что a2s^e2sSp(s) тогда и только тогда, когда &?&"* и s*yt = 0. 11.9.2. Используя определение у/, показать, что р(у;) = 9/ и у(*уу = О. П.9.3. Используя результаты упражнения 11.9.2, установить неравенство A1.9.6). /-1 11.9.4. Доказать, что а_у^9_уЭ=р (s)—2 (°Ч—ai)sin2q>_,-, где <р_,-= = Z(y-/. z~i) и s*z_, = 0, i=l, .... /—1. 11.9.5. Что является аналогом леммы A1.9.8) для sin2q>_y? 11.9.6. Показать, что лемма A1.9.1) остается справедливой, если а_х за- заменить на e_i.
§ 11.10. Неортогональные базисы 249 *§ 11.10. Неортогональные базисы В принципе в подпространстве <Sfm всегда возможно выбрать ортогональный базис, но на практике это делать не всегда удобно. Некоторые методы, такие, как метод обратных итераций, по- позволяют вычислять приближенные собственные векторы, которые не будут взаимно ортогональными в случае близко расположенных собственных чисел. Когда п велико, возникает соблазн обойти предупредительную переортогонализацию вычисленных собствен- собственных векторов, в особенности, если они почти ортогональны. Что при этом теряется? Чтобы ответить на вопрос количественно, возьмем (пхр)- матрицу S с нормированными столбцами, возможно, матрицу векторов «Ритца», и симметричную (рхр)-матрицу Т, возможно, T = diag(91, .... Вр). В любом случае 9,= Я,;(Т). Условие «почти ортогональности» имеет вид 0^u*(lp—S*S)u<l, и?<§Р. A1.10.1) Оно гарантирует, что матрица S полного ранга. Правильной ме- мерой степени линейной независимости столбцов S является вели- величина aj(S)—наименьшее сингулярное число S. По определению ot(S)^K[S*S]. A1.10.2) Таким образом, at = 0 указывает на линейную зависимость столб- столбцов, а а,= 1 гарантирует их ортонормальность. Оказывается, что предложенные ранее вычислимые оценки ошибок постепенно ухуд- ухудшаются по мере того, как a, (S) отклоняется от единицы. В простых границах ошибок из гл. 4 мы не пользовались ортогональностью, и они остаются в силе. Конечно, аппроксима- аппроксимации (8,-, s,-) не являются больше оптимальными аппроксимациями Ритца, но все еще остается возможным вычисление матрицы не- невязки R(S, T) = AS — ST и ее использование для группы близ- близких 6,-, как это показано в следующем неопубликованном резуль- результате [Капал, 1967]. Теорема. Для любой (рх.р)-матрщы Т и (п х р)-матрицы S, удовлетворяющей A1.10.1), найдется (по крайней мере) р собствен- собственных чисел ас матрицы А, которые могут быть объединены в пары с величинами 9, таким образом, что \ai>—9,|<1/2[|R(S, T)|j/a, (S), г = 1 p. A0.10.3) Доказательство. Поскольку утверждение не зависит от выбора системы координат, мы можем без потери общности выбрать такой ортонормальный базис, в котором S=|q| с некоторой (рхр)-
а ГН В*1 [ТО* А=[В UJ = [O U 250 Гл. 11. Аппроксимации, из подпространства матрицей J. Теперь соответствующим образом разобьем на блоки матрицу А и, исхитрившись, аналогично доказательству тео- теоремы A1.5.1), представим ее в виде суммы двух матриц Н-Т В» В X где X будет выбрана позже. Согласно теореме о монотонности из § 10.3, матрица А имеет р таких собственных чисел ас, что для i=\, ..., р |[нт 5*]lk (П.ю.5) В этот момент, используя теорему о расширении из следующего § 11.11, можно сказать, что существует такая матрица X, для которой [VT]|=IIR4 R=PV]- <"-»o-6> Однако обе матрицы Н и В неизвестны. Что известно, так это ||J для Теперь остается связать )) R )| с )| R || в нетривиальном случае, когда J T Ф TJ. Сначала заметим, что, согласно A1.10.2), l|J-ii2 = I(J*J)-Ii = ll(S*S)-i = ar2, A1.10.8) и поэтому [1В || = | (В J) J -111 ^ fj В J Ц аг1- A1.10.9) Чтобы разобраться с верхней компонентой матрицы R, перепи- перепишем ее в виде HJ— JT = (H — T)J+(TJ— JT), A1.10.10) второй член в правой части представляет собой кососимметрич- ную матрицу. Таким образом, для любого собственного вектора и матрицы Н—Т, соответствующего ее собственному числу К, u*"(HJ— JT)u = u*(H — T)Ju+0 = = ^u*Ju. A1.10.11) Выберем в качестве и доминирующий и нормированный собст- собственный вектор, чтобы
§ 11. JO. Неортогональные базисы 251 Тогда, используя при выводе последнего равенства A1.10.11), получим || HJ — JT1 = max | v» (HJ — JT w | > >max|v*(HJ — JT)v|> >[u*(HJ — JT)u| = ||H — T||-|uMu|> >||H-T||a1( A1.10.12) где первый максимум берется по всем единичным векторам v, w из ?р, а второй — по всем единичным векторам v из ?р. Каждая матричная компонента R может быть мажорирована, и поэтому iR*R|| = ||(H—TJ + B*B||<JH—T||2-H|Bf< < (Q HJ —JT В1 +В BJ p)/«^ < 2J R p/a|, A1.10.13) где при выводе второго' неравенства мы воспользовались оцен- оценками A1.10.12) и A1.10.9). Применение полученного неравенства A1.10.13) в A1.10.6), а затем в A1.10.5) приводит к требуемому результату теоремы. Кажется правдоподобным, что появляющийся на последнем этапе доказательства множитель 2 является лишним. В любом случае a1(s) может уменьшиться до значения 1/]^2, в то время как оценка ошибки только удваивается. Изменение небольшое, если учесть, что основное требование к оценкам—верно указы- указывать порядки оцениваемых величин (например, по основанию 10). Отметим тот факт, что после применения процесса Ланцоша с выборочной ортогонализацией, как это описано в гл. 13, вы- вычисленные векторы Ритца у,(= Sg,-), /=1 р, более близки к ортогональным, чем векторы базиса S из которого они полу- получены. #§ 11.11. Теорема о расширении Приводимая ниже теорема нужна для полноты доказательства теоремы A1.10.3) предыдущего раздела. Однако она интересна и сама по себе как часть проблемы, поднятой Крейном в 1946 г., о расширении оператора из подпространства на все пространство таким образом, чтобы сохранить некоторые его свойства. Изло- Изложенный здесь результат никогда не был опубликован и дает явную формулу единственного расширения. Он появился в ра- работе [Kahan, 1967I. [HI g , где Н—квадратная матрица. Тогда существует така'я матрица W, что «расширенная» матрица
252 Гл. П. Аппроксимации из подпространства а ГН В*1 , В W удовлетворяет равенству Доказательство. По теореме монотонности' Вейля (см. § 10.3) норма подматрицы не может превышать нормы самой матрицы. Пусть p = ||R||. Тогда ра^|А2|| для любого выбора матрицы W. Теорема требует, чтобы для некоторой W матрица р2 — А2 была положительно полуопределена. Доказательство начинается с выбора произвольного 0 > р и установления факта, что существует такая зависящая от а матрица W, что матрица 02—Аа положительно полуопределена. Затем исследование поведения W (а) показывает, что существует HmW@) при 0—<-р + 0. Для произвольной W определим матрицы Тогда 2x2 обычные треугольные разложения матриц 0*—А* и а?—RR* имеют вид [L lj О U(o) [О I-J O2_RR* ш\1 0} о2-Н2 О Г I К*] [К |J[ О V(o)JLO I J где U(o) - а2 - R*[l + R(o2 - R*R)-'R*]R, Поскольку о2 > р2 - ||R[|2 - ||R*R|| - 1|RR*|| то все три матрицы а2 — R*R, 02 — RR* и а2—Н2 положительно определены. По теореме инерции Сильвестра матрица V @) также должна быть положительно определена. Матрица U (а) зависит от W, и ее сигнатура вызывает сомнение. Вся хитрость доказа- доказательства заключается в нахождении такой W, чтобы U@) — V(a) и, следовательно, опять по критерию Сильвестра, матрица 02 — А2 была бы положительно -определена. Как упражнение предлагается проверить, что искомая магическая матрица W задается соотно- соотношением W(o) = — BH(a2—Н2)В* = — В(о2 — И2)"
§ 11.11. Теорема о расширении 253 Представляется вероятным, что конструкция W и вытекаю- вытекающее из нее равенство U (а) = V (а) нарушаются при о —->• р + О, что может произойти только из-за необратимости матрицы р2—R*R. Однако нарушиться может лишь сама формула. Матрица W(a) рациональная и, следовательно, мероморфная функция комплекс- комплексного переменного а. Если это так, то любые особенности являются полосами, в окрестности которых ||W| должна быть неограничен- неограниченной. Однако | W 1^A А || < а для всех вещественных a > р. Таким образом, матрица W (а) должна быть регулярной при а = р и, следовательно, W(p) = limW(a) при a—>р. Более того, по не- непрерывности нормы, ||А(р)||= litn IA (a) || = p. + 0 Упражнения к параграфу 11.11 П.11.1. Построить расширение с минимальной нормой в случае Н = 9, B* = (Pcoscp, Ps.n<p). 11.11.2. Показать, что ||R||<||A|| для всех W. Почему недостаточно до- доказать положительную полуопределеиность матрицы р—А? 11.11.3. Проверить приведенные в доказательстве треугольные разложения иц о2—А2 и о2—RR*. Каковы L и К? Заметьте, что матриц 11.11.4. Доказать,' что как бы ни были определены матрицы FG и GF, они имеют одинаковые ненулевые собственные числа. Рассмотреть для втого матрицы TFG СЛ ГО О 1 | oj и |g gfJ • |g Показать, что ||R*R Ц-=]| RR*||. 11.11.5. Проверить, что формула задания W (а) обеспечивает выполнение равенства U (a) = V(a). Вычисления весьма тонкие. Заметим, что Н@2 — Н2)-1= = (a2 — H2)-iH. 11.11.6. Показать, что уравнение (р2 —Н2)С*= В* всегда разрешимо для С*, причем даже в случае, когда матрица р2 — Н2 вырожденная. Вывести фор- формулу для W (р) и таким образом показать, как избежать исследования .на существование предела в доказательстве теоремы о расширении. Примечания и ссылки Аппроксимационная процедура Релея — Ритца давно стала стандартным аппаратом во многих областях математики и техники. Первоисточниками яв- являются работы Релея [Rayleigh, 1899] и Ритца [Ritz, 1909]. Очень легко спу- спутать, в каком смысле аппроксимации являются оптимальными, а в каком смысле они не оптимальны. Мы ие знаем учебника, где этот вопрос излагался бы ясно. Оценки для группы близких собственных чисел, которые используют невязки, были предложены в неопубликованном отчете [Kahan,. 1967]. Оценки для собственных чисел, основанные на отделенностях, берут свое начало с ра-
254 Гл. П. Аппроксимации из подпространства бот [Temple, 1933], [Weinstein, 1935] и [Kato, 1949], но материал для § 11.7 был взят из книги [Davis, Kahan, 1970]. Другое направление, дополняющее рассматривавшиеся до сих пор априор- априорные оценки, представляют неравенства, показывающие, как на аппроксимации Ритца к внутренним собственным числам воздействуют ошибки аппроксимации внешних собственных чисел. Источниками здесь являются работа [Kaniel, 1966] и некоторые неопубликованные исследования Пэжа. Приложения будут рас- рассмотрены в следующей главе. Расширение всех предыдущих результатов на случай, когда базис пере- перестает быть ортонормальным, имеет большое практическое значение. Основные результаты взяты нами из неопубликованного отчета [Kahan, 1967]. Теорема о расширении A1.11.1), аналогичная теореме Хана —Банаха, имеет и само- самостоятельное значение. В частности, она была обобщена на случай гильберто- гильбертовых пространств. По этим вопросам, а также за имеющимися там ссылками на более ранние работы иужио обращаться к работе [Parrott, 1978].
ГЛАВА 12 Подпространства Крылова § 12.1. Введение Важное значение в теории различных методов вычисления собственных пар матрицы А играет подпространство простого вида, которое определяется одним ненулевым вектором, скажем f. Матрицы Крылова KOT(f) и подпространства Крылова 9Ст (f) опре- определяются соотношениями KOT(f) = (f, Af A-!), ЯГ (f) = span К" (f). Размерность Жт, как правило, равна т, за исключением слу' чаев, когда f специальным образом связан с А или т > п. Если степенной метод, изложенный в гл. 4, использует в ка- качестве начального вектор f, то столбцы Кт (f) будут вычисляться последовательно один за другим. Однако каждый столбец записы- записывается на место предыдущего, так что с целью экономии памяти сохраняется только последний столбец. В принципе могли бы быть сохранены все столбцы К.т (f), а затем с помощью процедуры Релея — Ритца (см. гл. 11) вычислены аппроксимации из ^"(f), и уже для т^2 эти аппроксимации будут лучше, чем получен- полученные степенным методом, но они будут более дорогостоящими. Рентабельны ли эти аппроксимации? Это хороший практический вопрос, затрагивающий выбор f, величины а/(=Я,[А]), возмож- возможности памяти и легкость, с которой мы можем манипулировать матрицей А. Но краткий ответ—решительное «да». В этой главе будут приведены оценки сравнительной точности двух методов, а затем будет показано, как аппроксимации из Хт (f) могут быть вычислены гораздо более экономично, чем это кажется возможным g первого взгляда. Следующие примеры мо- могут служить хорошим стимулом для того, чтобы энергично взяться за детали анализа метода. .Мы надеемся, что вся теория пред- предстанет как естественное следствие использования подпространств Крылова.
256 Гл. 12. Подпространства Крылова Пример 12.1.1 Пусть т = 2, п = 3 (плоскость лучше, чем ее оси), A = diagC, 2, 1), f = (l, I, ti)*, где Ti —малая величина. Далее, пусть (8<.т), уН), i = l, ..., т, —аппроксимации Релея — Ритца .из 9f(f). Тогда для т] < 0.01 имеем m m = 2 = 3 Z(y<33). e, 1 = 0 Z(A2f, e,) Z(A3f, e,) Ф4/9 Ф8/27 Рис. 12.1.1. Плоскость лучше, чем ее оси. Этот простой пример выявляет тот факт, что степенной метод требует в принципе бесконечного числа итераций для вычисления собственного вектора, тогда как аппроксимации Релея —Ритца являются точными для 3^m(f). С другой стороны, случай ш = 2 показывает, насколько лучше оказывается плоскость ЭС2 (f) любой из заданных ее осей f и Af на что также указывает рисунок 12.1 .L Пример 12.1.2 Пусть
§ 12.2. Основные свойства 257 Степенной метод дает сходимость к доминирующему собственному вектору z_!. Эта задача несколько усложняется с возрастанием значения п. В таблице приведено количество шагов /га, требуе- требуемых, чтобы для любого f гарантировать уменьшение угла конеч- конечной ошибки по отношению к углу начальной ошибки в 100 раз. При этом ошибка собственного числа .будет уменьшена прибли- приблизительно в 10" раз. Нужные выражения взяты из § 12.5. п 102 10' Ю4 п Степенной /д ' ул» метод: vA а0 r 693 D63) 8061 D607) 92105 D6054) nlnUOOVn] (п ЫОО) зечо 38 C7) 139 (84) 500 B65) iVnln[200V«] (*Ул ln.200) Первое число в таблице соответствует неудачно выбранному на- начальному вектору f, равному z1-\-z2 + \0~ez_l. Второе число в круглых скобках с точностью до общего числового множителя в оценках ошибки из § 12.5 дает хорошие оценки величины т, когда начальный вектор f выбран разумно. § 12.2. Основные свойства 12.2.1. Теоретическое ограничение Каждому f соответствует конкретное множество собственных векторов, а именно проекции f на собственные подпространства А. Может случиться так, что некоторые из этих проекций являются нулевыми векторами, т. е. f ортогонален соответствующим собст- собственным подпространствам. Такие собственные подпространства будут также ортогональны ^"(f) для всех /га (см. упр. 12.2.1), и, следовательно, векторы из них никогда не могут быть найдены при помощи вычислений, основанных исключительно на подпро- подпространствах ^""(f). Это неизбежное теоретическое ограничение одновременно для степенного метода и метода, использующего подпространства Крылова. Для формального описания ситуации нужно ввести (a) множество 2(f) = {a:a = ^[A]- HJ^=0} —часть спектра матрицы А, соответствующая заданному f; (b) f (f)—наименьшее инвариантное подпространство S", со- содержащее f. Можно показать (см. упр. 12.2.), что ^(f) = span{HJ: a^2(f)} и что матрица А/( являющаяся сужением А на f (f), имеет прос- простые собственные числа (см. упр. 12.2.3). Кроме того, подпро-
258 Гл. 12. Подпространства Крылова странства Крылова полностью покрывают ^ (f) в том смысле, что для некоторого 1-^.п Имеются два пути адаптировать теорию аппроксимации к этому ограничению. Либо предположить (в хорошем академическом стиле), что f (f) = $" и А/=А, либо осложнить формулировку всех результатов, ссылаясь на к} вместо А. Остается фактом, что численные методы, основанные на возведении в степень, могут (в точной арифметике) не обнаружить некоторые собственные век- векторы матрицы А и они должны не обнаружить (опять в точной арифметике) кратность любого собственного числа, которое они вычисляют. К счастью, на практике ошибки округления делают предпо- предположение А/=А реалистическим. Это замечание будет усилено при обсуждении алгоритма Ланцоша в гл. 13. 12.2.2. Свойства инвариантности Подпространства f&TOT(f) зависят от А, и, когда это необходимо, они также обозначаются ^"(f; А). Укажем следующие важные свойства инвариантности. I. Умножение на скаляр: ЭГ* (af; %A) = JCm ({; А), а^=0 т^=0. II. Сдвиг: gp»(f; A—a) = 9*r»(f; A). III. Изменение базиса: 3B""(Pf; PAP*) = РЭГ»(f; А), Р* = Р~1. Проверка этих свойств оставляется читателю, но сделаем не- некоторые комментарии. Оценки ошибок, связанных с аппроксимациями из Жт0, А), также должны быть инвариантны в том же смысле. Свойство II сначала озадачивает, поскольку оно совершенно отсутствует для соответствующих матриц Крылова Km(U А). Так, степенной метод сильно зависит' от любого сдвига о, но каждое a просто приводит к различным базисам K"(f; А—а) того же са- самого подпространства №* (f, А). Одним из следствий свойств 1 и II является возможность без потери общности предполагать, что Я,, [А] = —1 и ^_,[А]=+1. Эта нормализация объясняет, почему при возрастании т пространства JCm (f; А) приближаются к собственным векторам, соответствующим экстремальным собст- собственным значениям. Нет ничего неожиданного и в том, что оценки ошибок включают в себя отношения разностей собственных чи- чисел А — эти величины сами являются инвариантными. Свойство III отражает тот факт, что ортогональное измене- ние базиса в $п влечет за собой ортогональное преобразование подобия матрицы А. Поэтому без потери общности можно рас- рассматривать случай диагональной матрицы А.
§ 12.3. Полиномиальные представления 259 Упражнения к параграфу 12.2 12.2.1. Показать, что если кг —га, г _|_ f, то г J_ &?m (f) для всех т > 1. 12.2.2. Показать используя равенства АНа = НаА=аНа, что ^(f) = = span{Haf: а^2@Г 12.2.3. Показать, что матрица Ay=A|,« имеет только простые собст- собственные числа. 12.2.4. Рассмотреть A = diag(—1, —0.5, 0, 0.5, 1) и f = (l, 1 1)*. Вычислить углы между Aftf и плоскостью (еь е,) для k = 0, 1, 2, 3, 4. 12.2.5. Проверить свойства инвариантности I, II и III. § 12.3. Полиномиальные представления Каждый элемент s из ^""(f) представим в специальном виде т-1 т—\ s= 2 (A'Dy/= S (v,AOf = n(A)f, A2.3.1) (=0 1=0 где л (|) = 2 У Л' полином степени меньше т. В этой главе интен- интенсивно используется векторное пространство 5** всех действитель- действительных полиномов степени не выше k. Например, A2.3.1) имеет хорошую интерпретацию Жт{1) = {л{к)\:п€3Ьт-г},. A2.3.2) что устанавливает взаимно-однозначное соответствие между УСт и 3im~1. Здесь предполагается, что размерность <Хт = т. Нет ничего неожиданного, что полиномы играют большую роль в описании аппроксимаций из *№". Для будущих ссылок мы опи- опишем свойства векторов Ритца. Согласно гл. II, для любого под- подпространства ifm векторы Ритца у,-, г = 1, ..., т, взаимно орто- ортогональны и характеризуются тем, что Ayi-yfii±^m, i=\,...,m. A2.3.3) Для случая подпространств Крылова охарактеризовать век- векторы, ортогональные и к конкретному уй, достаточно легко. Лемма. Пусть @,-, у,), г= 1, .. ., т,—аппроксимации Релея — Ритца из 9€тA). Тогда если сй?9*т~'1, то co(A)f _j_ уй тогда и только тогда, когда со(8л) = 0. A2.3.4) Доказательство. Предположим сначала, что со принадлежит &т, но не принадлежит 3^т~г и со(|) = (| —8А)я(|), где
260 Гл. 12. Подпространства Крылова Тогда и (A) f 6 9*fCTf, (I2.3.5) yl«>{k)i = yl{k-%)n(k)i = [(А—Qk)yk]*n(A) f, так как А = А», = 0. A2.3.3) и A2.3.5). Это доказывает достаточность с небольшой дополнительной ин- информацией. А именно, мы видим, что ук_]_Уь, где <S% = {% (A) f :т € 5»"; т (в*) = 0} = (А—6Й) эр» (f) является подпространством 5fOT размерности /п—1. Поскольку множество всех векторов из УСт, которые ортогональны к ук, тоже является подпространством размерности т—\, то оно должно совпадать с <?Рк. Этот результат дает описание ук. Естественно определить по- полиномы 1*E) = ПF-е,) и я,(|)^ц(|)/(|-еА). A2.3.6) Из результатов, установленных при доказательстве леммы A2.3.4), вытекает: Следствие. ук = пк(к)Щпн(к)Ц, ^-il^(A)f|| = min||co(A)f|, (I2.3.7) где минимум берется по всем нормированным полиномам1'1 сте- степени т. Доказательство следствия предлагается как упражнение. Есте- Естественно назвать ц минимальным полиномом вектора f степени т. Заметим, что |ц(А)!||—расстояние от кт{ до Хт. Следующий шаг—это доказательство основной леммы, которая будет использована при выводе оценок ошибок (8у—а^) для /= 1, ..., т. Роль f в этих оценках могут играть адекватно два числа: /_{\, zj)—одно число и /_{{, &)—другое, где %''=. = span(zx, ... , zy). Когда / > 1, второй угол может быть много меньше, чем первый. Лемма. Пусть h—нормированная ортогональная к %1 проек- проекция f. Тогда для каждого л^^ и каждого j^.m отношение Релея р удовлетворяет неравенству о (л (A) f- А а ) <(а а ) [sin Z (f) Г) ||я (А) h" Г П2 3 8V р (л (А) 1, А а,) ^(а„ а,) у cQ& ^ (f Zj) n((X/) J • (U. J-O) l> Полиномы со старшим коэффициентом, равным единице.— Прим. перев.
§ 12.3. Полиномиальные представления 261 Доказательство. Пусть "Ч = /_ (f, %]), g—нормированная проек- проекция f на %' и f = g cos \J)-f-rising1' является ортогональным разложением f. Поскольку & инвариантно относительно А, то ss=n (A)f = я (A)gcos\J)-J-n (A) hsinijj является также ортогональным разложением s. Небольшие вычис- вычисления приводят к соотношению p(s; A-ay) = [g*(A—ay)n*(A)gcos*i|>4- + h*(A—ct/) jt2 (A) h sin2 tj3]/|[ л (A) f |j2. A2.3.9) Собственные числа матрицы А пронумерованны в порядке не- неубывания: а, <с;а2 < ... < ап и (a) v*(A—а/)у<0 для всех у?Ш' и, в частности, для v = n(A)g, (b) w*(A-ay)w<(a,,-ay)|]wp для всех w j_M/ и, в частности, для w = n(A)h. Используя (а) и (Ь) для упрощения A2.3.9), получаем p(s; A-a/)<(an-a/Un(A)h(|sin1J)/jH(A)f||]2. A2.3.10) Завершает доказательство разложение f по собственным векторам матрицы А: = S л2 («/)cos2 (f. zi) > л2 К)cos2 ^ (f. Ь)- i = 1 Неравенства (а) и (Ь), использованные для получения A2.3.10), грубы, но без привлечения большей информации они не могут быть улучшены. Поскольку /_ (f, %') < /_ (f, z,), то в лемме воз- возможна замена синусов и косинусов на tg^(f, zj), но для /> 1 это приводит к излишнему возрастанию границы. Без потери общности можно предполагать, что все наши углы острые. Упражнения к параграфу 12.3 12.3.1. Доказать оба равенства из A2.3.7). Указание: Рассмотреть направ- направление [х (A) f. 12.3.2. Показать, что для каждого я?5>Я!-1 и /<т I tg Z (Ь< Жт) I < I ^ L (z/- 0 1-1 я (А) \] ||/| где \j нормированная ортогональная к г}- проекция f. х» Здесь f единичный вектор.— Прим. перев.
262 Гл. 12. Подпространства Крылова *§ 12.4. Оценки Каниэля и Саада для ошибок В этом параграфе рассматриваются априорные оценки ошибок аппроксимаций Релея —Ритца @„ у;), t= 1, ... , т, из ^'"(f, A) для соответствующих (одноименных) собственных пар (a,-, z,) матрицы А. Эти результаты легко отличаются от вычислимых оценок ошибок, использующих невязки (см. гл. 11), которые со- сопоставляют каждому 0; некоторое близкое число щ- неизвестного индекса. Естественно, априорные оценки наиболее интересны, когда f выбран настолько хорошо, что at действительно является ближайшим собственным числом к 0,-. Аналогичные оценки имеются и для близости @_,., у_,-) к («_,, z_;) для /=1, .... т. При этом по крайней мере одна из оценок будет мала. Оценка ошибки для 0у-—ссу зависит от нескольких величин: начального вектора f, /_ (у,, z,) для i <-/ и размаха (а„—ее,) спектра А. Однако, как мы вскоре увидим, основную роль играют полиномы Чебышева Тт_}, значения которых резко возрастают вне интервала [—1, 1] и которые помогают объяснить превосход- превосходное качество аппроксимаций, построенных с помощью подпрост- подпространств Крылова. Оценки ошибок получаются путем выбора в лемме A2.3.8) такого полинома я (А), чтобы среди других он обладал следую- следующими свойствами: I. |я(ау)| велико, в то время как ||я(А)п|| мала, II. p(s, A — «/)'><), где s = n(A)f. Требование I выводит на сцену полиномы Чебышева. Заметим, что 1 я (A) h f = ^ я» (ос,.) cos2 /_ (f, z,.)/Д 5 cos» /_ (f, ък) ^ max я8 (а,). »>/ Собственных . чисел а, превышающих а,-, будет п — /, но я, оказывается, имеет только т—/ свободных нулей, причем обычно т<^.п. Наилучшее я сильно зависит от фактического распреде- распределения собственных чисел А. С целью простоты |]я(А)п|| обычно мажорируют следующим образом: || я (А) Л ||2^тахяг(а,-)^ max я2 (х) т из [а,+1, сс„]. i > i Когда я (ссу) задано, то нормированный полином Чебышева минимизирует член в правой части неравенства. Требование II относится к левой части неравенства леммы A2.3.8), а именно к величине p(s, A — а,-). Известны следующие
§ 12.4. Оценки Каниэля и Саада для ошибок 263 факты: (A) 0<9/—а, (из § 10.1), (B) Эу—ay^p(s; A—aj) следует из A1.4.6), если s _|_ у,- для всех < / (С) 9/-cc/<p(s; А-ссу) 2 если s_|_z, для всех /</' (из § 11.9). Из (А) видно, что если р (s; А—а,) <0, го p(s; А—а/)<Э/ —ау и леммой A2.3.8) нельзя воспользоваться для построения оценок 9,—<Xj. Таким образом, требование II обращает наше внимание либо на факт (В), что приводит к оценкам Саада, либо на (С), что приводит к оценкам Каниэля. Выберем сначала (В). Теорема. Пусть 6, <; ... ^9Я — значения Ршпца, полученные из VCm (f), a(ah г,)—собственные пары А. Тогда для каждого g. /-1 п 1— ап). A2.4.1) Доказательство. Применим лемму A2.3.8). Следуя (В), проб- пробный вектор s = n(A)f должен быть ортогонален к у,, .. , Уу_н и поэтому, согласно лемме A2.3.4), достаточно рассмотреть поли- полиномы я вида п а) = (|—е.)... (|—е,^) я (|), и е s»--' Заметим, что для такого я, поскольку h J_ %J> ll^ (A> ЬЦ [| л (A)_hJ < IKA-ep.-.tA-Q/_v по всем т€Га/+1> Задача сводится к нахождению такого я^и-/, которое миними- минимизирует отношение в правой части A2.4.2). Хорошо известное ре- решение этой задачи (см. приложение В) дает полиним"Чебышева,
264 Гл. 12. Подпространства Крылова адаптированный к интервалу [ссу+1, сс„], а именно minmax -*=- \n\(af)\ где величина у определена в формулировке теоремы. Комбинируя (В) лемму A2.3.8), A2.4.2) и A2.4.3), получаем первый результат теоремы. Второй результат вытекает из представления f в виде На этот раз п выберем так, чтобы удовлетворялись условия я (а,) = 0 для i = 1, . .., / — 1 и чтобы s = п (A) f = о + zfn (ее,) cos / (f, гу) + л (A) h sin / (f, 2/). Это ортогональное разложение s, и, следовательно, gZ(S' %l)~ сО5^(Ьг/)| Завершается доказательство выбором того же самого л, что и раньше. Каниэль для своих оценок явно использует векторы Ритца у,-, i= 1, ... , /—1. Он подставляет то же самое s, что и выше, в именно s = n(A)f = (A—a,) ... (А—«^«(А), в лемму A1.9.1), что компенсирует, как показано в (С), тот факт, что s не ортогонален у, для i < /. Используя то же самое л, как при доказательстве теоремы A2.4.1), приходим к новой теореме. Теорема. Аппроксимации Релея—Ритца (Эу., у;) из ЭСт (f) для (a,, %j) удовлетворяют неравенствам о <»,- / -1 + 2 (а«—cc^sin —сСу+1)/(ау+1—сс„) ы, согласно A1.9.8), sinV(yv. zv)<|(9v—ccv) + V-l "I + S («v+i— ай)sin2/ (Уд> zM) /(«v+i—«у). A2.4.4)
§ 12.4. Оценки Каниэля и Саада ддя, ошибок 265 Рис. 12.4.1. Проекция zy иа Жт и span (уу) <P=Z (z/> Vy), @ = ,/ (vy, уу). Теорема A2.4.1) не дает явной оценки для /_ (yv, zv) и, исправ- исправляя это упущение, Саад связывает этот угол с меньшим углом ^/(zv, 9Cm), оценка которого была дана в теореме A2.4.1). Обра- Обращение к рис. 12.4.1 показывает, что 8т2^(Уу, гу) = Р(Зг + (ЗКг«=з!пгср + з1пго)СО52ф. A2.4.5) Мы имеем дело с трехмерным пространством, где {уу, uy-, Wy}~ множество ортонормальных векторов, причем у, и иу- принадлежат 3fm, в то время как wy-J_9Cm. Нормированной проекцией zy- на ЭСт является вектор Vy, и для доказательства последующей тео- теоремы нам будут нужны соотношения = Vy cos ф + W/ sin ф, = yj cos со + uy- sin (o. A2.4.6) A2.4.7) Чтобы обсуждать свойства векторов Ритца, нам нужен (орто- (ортогональный) проектор на Жт. Это должна быть матрица QmQm из § 11.4, но здесь мы обозначим ее через Н. Напомним, что (9,., уу) является собственной парой проекции А на 9fm, а именно суже- сужения оператора НА на %т. Последующий анализ дает хороший пример важного значения области определения оператора, по- поскольку для нас будет также интересно сужение НА на (Ж1*I-. Различать эти операторы можно, обозначая через НАН первый и через НАA — Н) второй. Следующая ниже теорема использует интересную величину, называемую вариацией подпространства 9fmi- матрицей А: A2.4.8)
266 Гл. 12. Подпространства Крылова т. е. норму сужения НА на (Ж1"I. Задача упр. 12.4.2—показать, что это то же самое Рт, которое возникает в A2.3.7). Теорема. Пусть zy—нормированная проекция f на собственное подпространство, соответствующее ссу для некоторого j ^т, и (9(« Уг), г'=1, ... , т — аппроксимации Ритца из Жт. Тогда sin8 /_ ty, У/) < A +Pm/V/mJ) si"8 Z (z/f Жт), где у" = ггпп |ссу—0, | по всем 1ф]. A2.4.9) Доказательство. Используя A2.4.6), перепишем уравнение (А—a/)z/ = 0, определяющее z/( в виде (А —се,) Vy cos ф = — (А—ссу) Wy sin ф. Этот вектор не принадлежит Жт, и прием заключается в рассмот- рассмотрении его проекции на 9Ст. Правая часть равенства || Н (А—ccy)vyCos<p|] = !|H (A—ccy)uyysin<p[| A2.4.10) легко с помощью A2.4.8) оценивается сверху ||Н (А—«,) Wysin фКЦН (А-ссу) A -H)||.|]Wy||sin Ф =-Рт5шФ. A2.4.11) Заметим, что уу- — собственный вектор матрицы Н (А—сс7). Поэтому (см. упр. 12.4.3), умножая A2.4.7) слева на Н(А — ссу), мы при- приходим к ортогональному разложению вектора из левой части A2.4.10), а именно Н(А — cc,)vy = @y—ссу) Уу cos (о + H (A—ay)UySin» A2.4.12) и, следовательно, iH(A-ccy)Vy||>||H(A-ccy)Uy||sino). A2.4.13) Заметим, что вектор Uy принадлежит подпространству у/" л <ЗСт, которое инвариантно относительно Н.(А — ау). Сужение Н(А —ау) Н на это подпространство имеет собственные числа {0,-—сс/? /= 1, ..., т, 1ф'}), и поэтому (,j) yf A2.4.14) Окончательно применение неравенств A2.4.11), A2.4.13) и A2.4.14) к A2.4.10) дает неравенство 5тф, A2.4.15) и требуемый результат следует из A2.4.5). Простейший выбор я, сделанный в теоремах A2.4.1) и A2.4.4). не всегда дает наилучшие оценки, как это показывает рисунок,
§ 12.4. Оценки Каниаля и Caafla для ошибок 267 Выберем для него / = 3, возьмем сс4 близким к ccg, a an-1 хорошо отделенным от сс„. t Расстояние Расстояние В этой ситуации лучше потребовать л(а4) = 0, я(сс„) = 0, а затем выбрать подходящий полином Tm_/_i, адаптированный к.интер- к.интервалу [сс5, а„_!]. Чем больше известно относительно А, тем лучше можно выбрать я. В общем случае пусть f = {j+\, ... , k—l, /+1, ... , п)—множество индексов таких а, которые являются нулями я, и соотношение ЕЕЭ («,-«»)/(«» — «,), l<k<l, A2.4.16) определяет отношение расстояний. В обеих теоремах' этого параграфа вполне законной является замена Тт_}{\ +2у/щ/+1< „) величиной где через \f-\ обозначено число элементов f. A2.4.17) Все границы становятся бесполезными для слишком больших значений /, поскольку мы имеем только т величин Э для п зна- значений а, и очень скоро af уже не будут ближайшими собствен- собственными числами к 0у. В силу свойств инвариантности -JCm (f) оба конца спектра равноправны. Результаты, двойственные теоремам A2.4.1) и A2.4.4), содержат немногим больше, чем просто изме- изменение знака индексов. Их точная формулировка является полез- полезным упражнением. Пример 12.4.1 Оценки Саада (теорема A2.4.1)) и Каниэля (теорема A2.4.4)) будут подвергнуты сравнению на примере, близком к использо- использованному Каниэлем в его первоначальной статье. Для простоты мы заменим sin^/(f, f')/cos /_ (f, zy) на tg фу, где ф/^^A, zj) и f является начальным вектором для Жт с ш = 53. Величины а, = 0, ссг = О.О1, a3 = 0.04, a4 = 0.1 иа„=1.0 являются собствен- собственными числами матрицы А. Границы Саада имеют вид где K{jm) являются функциями 9 и а. В этом примере и}га) равно
268 Гл. 12. Подпространства Крылова с заданной точностью соответствующему множителю ху. из оценок Каниэля. Следовательно, оценки Саада проще и компактнее. Мы ничего не потеряем, если предположим все углы острыми. У-1 Ъи - if, У-2 |.о X 5.77 X 1(Г4)\ 100 = x2m\ Г52A + 2у) - 1.73 X 10", *,-«,< (tg у, X 5.77 X Ю-5)'. sin2 Z(y,, Г,) < @, - «,)/ (а2 - «,) < (tg if ' + 2у) - 3.39 X 10r, Ki 3 («„ ~ «[)/ («2 ~ ai) Саад: 02 - ^ < 0.99(tg y2 X 2.95 X 10~6J Каниэль: $2 - аг < 0.99(tg yj x 2.95 X 10~eJ + 1.0(tg y, X 5,77 X 10~4J sin2 Z(y2) Zj) < 33.3@2 - a2) + 1.33 sin2 Z(y,, z,), < (tg 92 x 1.70 X 10J + (tg fl x 3.40 X lO)*. » = IT- TwC1 + 2y) - 8.Г7.Х 1010 :, - (ая - a,)(an - a2)/ (a, - «,)(a, - a^ - 825 = x\m\ - a, < 0.96(tg ъ X 1.00 X 10"8J. - a} < 0.96( " J + 0.99 sin2 Z(y2, z2) + 1.0 sin2 Z(y,, z,) -54* У-3 Саад: Каниалк < (tg <рг X 0.98 X 1СГ8J + (tg Vl X 1.70 X 10) + (tg <ft X 3.45 X 10-')* sin2 Z(y3, z3) < 16.7(*э - «,) + 1.5 sin2 /(y2, z2) + 1.67 sin5 Z(y,,z,). Саад не дает априорной оценки для (у,, zj), но его апостериор- апостериорная оценка (теорема A2.4.9)) имеет вид sin2 Z (У/, z,) и в этом примере очень похоже, что величина A +$т/у*), где у—соответствующее расстояние, имеет порядок единицы. В гл. 12 будет показано, как $т вычисляются в ходе процесса Ланцоша. Следующий пример показывает, что приведенные до сих пор оценки, по-видимому, очень сильно завышены. Пример 12.4.2 Уточненные оценки ошибок. Этот пример продолжает преды- предыдущий, но использует более сложный выбор л, описанный в A2.4.17), где Тш_/ заменяется на aTm-/-v. Дополнительно задана
§ 12.4. Оценки Каниэля и Спада для ошибок 269 величина а„_1 = 0.9 (иллюстрирует эффект вынужденного обра- обращения в нуль я в изолированных точках на обоих концах спектра). У= 1 У>Лп-1 = О-125' Г49A +2у) = 5.58 X 10м, («1 - «2)(gl - «з)[«1 - <*n] [<*4 - <*„] 1X2X10 ~ 5-81 Х 10 ' 89 X 43 X 9 а X Г49 = 3.24 X 10", #,-<*,< (tg у, X 3.09 X 10~12J sin2 Z(y,,z,) < (tg ЬХ 3.09 X Ю-"J. У = 2 («з ~ 33 860' 9.38 X Ю13 о X ГН9 4= 3.6 X 10'2, = юс. Саад: в2 - а2 < 0.99(tg ^2 X 2.76 X 10~"J Каниэль: 02 ~ а- < 0.99(tg угх 2.76 X 10""J + (tg у, X 3.09 X I0~")a sin2 L (yJ( z2) < \ [ 1OO@2 - ?2) + 4 sin2 У = з -У3.4.П-1 7-49(| + 2y) = 2.26 X 10n if- (.«3 ~ ai) (аз - «2) 825, Саад: 03 - a3 < 0.96[tg y3 x 3.41 x 10"9]2 Каниэль: в} - a3 < 0.96[tg <p3 X 3.41 X 10"9]2 + [tg <p2 x 2.76 x 10-'°J2 +[tg 9, X6.18X10-"]2 sin2 Z(y3, z3) < 16.7@, - tt3) + 1.5 sin2 Z(y2, z2) + 1.67 sin2 Z(y,, z,).
270 Гл. 12. Подпространства Крылова Упражнения к параграфу 12.4 12.4.1. Аккуратно сформулировать и. доказать результаты, двойственные теоремам A2.4.1) и A2.4.4). Нужно ли переопределять 7? 12.4.2. Показать, что EOT = ||n(A) f || = || НА (I — Н)||, где ц было опреде- определено в § 12.3. 12.4.3. Показать, что в равенстве A2.4.12) у/ _]_ Н (А— а./) иу. 12.4.4. Установить факт A2.4.17). 12.4.5. Предположим, что 0^ = 0, ocg=l иос„=1001. Для т=10 и т = 30 определить такие значения о^, чтобы оценка для 0t—at из теоремы A2.4.1) (или теоремы A2.4.4)) была настолько же хорошей, как оценка из A2.4.17) с ^ = {2}. 12.4.6. Пусть а/=Р', (=1, ... , п, где Р > 0. Взять л= 100 и л=1000 и определить значения т, при которых sin (у,-, z,)<sin(z/> f)/100 для двух случаев: (а) t'=l, 2 и (b) t' =—1, —2. § 12.5. Сравнение со степенным методом После (т—1)-го шага степенного метода наилучшей аппрок- аппроксимацией к собственному числу является величина p(Am~lf). В предположении я(?) = ?т~1 здесь для построения оценки ошибки может быть применена лемма A2.3.8). Степенной метод не инва- инвариантен относительно сдвига, и Am~ll/\ Am~1{|| сходится при т —<¦ оо либо к zo либо к гп. Когда [|А|= — alf то пределом является zt и оценки, аналогичные теореме A2.4.4), имеют вид р (А—Ч) —ai < («„-ее,) [tg /_ f, z1)/(cc1/cc2)'»-1]2( sin«^(A--4, z1)<(p(A'»-1[)—«!)/(«, — «!). A2.5.1) Более четкое сравнение с методом, использующим подпрост- подпространства Крылова, происходит тогда, когда мы рассматриваем матрицу с ||AJJ = aB и наименьшее собственное число cct аппрокси- аппроксимируется степенным методом с матрицей А—сс„. В этом случае имеем следующие оценки: р((A-a^-1 0-a, <(«„-a,)[tg / ([, Zl)/A + у»,,)--1]1, где у12п определено в A2.4.16), и sin2/(И— a«)m~lf. zt)< <{p[(A-aB)"-1f]-a1}/(a1-a1). A2.5.2) Сравнение теоремы A2.4.4) с A2.5.2) показывает, что обе оценки углов содержат множитель (ап—ai)/(cc2—a,), который нужен, чтобы учесть возможный неудачный выбор вектора {. Можно заменить простое выражение (сс„—cci)/(cc2—ai) на более
§ 12.5. Сравнение со степенным методом 271 сложное, содержащее все ^/(f, z;), i=\, ..., п, и, когда f разумно выбрано, простое выражение приводит к сильно завышенной оценке. Следующая таблица объединяет оценки отношения конеч- конечного угла ошибки к ^/ (f, z,) через соответствующее отношение расстояний у. Оценки для полиномов Чебышева Тт дает прило- приложение В. Степенной A + у)~т метод (А — а„) ( е-т* (у - { Г~" G ~ "f ->0) ->оо) he~^ (У- ->0) Именно показатель 2Vy и выявляет различие двух методов в трудных задачах, где у мало (например, у= 10~*). Если же у велико (например, 10*), то т окажется очень небольшим (воз- (возможно, 1 или 2) и методы различаются несущественно. Итак, теперь заложены основы для сравнения аппроксимаций из <ХтA) с различными другими методами. Блочный степенной метод использует в качестве начальной (пхр)-матрицу F и вы- вычисляет аппроксимации из span (A—yn)F) с по крайней мере в р раз более высокой стоимостью11. Оценки, аналогичные A2.5.2), получаются заменой уПп на yup+Utt и /_[\, zj Ha^/[f, %p~\. Если изменение углов игнорировать, то нетрудно видеть, что блочный степенной метод дает такие же хорошие результаты, как использование 9?""(f), если yt,p+uJyi, а, „ = 2 |/ylt 2i „. Для равно- равноудаленных ее/ равенство достигается только тогда, когда р = = 2n/()/n + 2)==2Vn, т.е. для слишком большого (в практи- практическом смысле) блока. Поучительно также сравнить обратную итерацию с методом, использующим ^""(f). (Такое сравнение довольно неестественно, поскольку если возможно вычислять (А—a) f, то будет возможно и воспользоваться ЖтA; (А—а)).). Если а близко к собствен- собственному числу и, скажем, о<а1, то оценка ошибки A2.5.2) остается применимой при условии, что ylin заменено на у = (ссг—«i)/^—а). (Почему это так?) Поэтому обратная итерация будет давать такие же хорошие аппроксимации, как получаемые из Жт(\; А) в случае равноудаленных ее,- всякий раз, когда lny>2j/Vt. Если итери- итерирование подпространства, или блочная обратная итерация, исполь- используется в той же самой задаче с равноудаленными ее,, то теперь аппроксимация из span[(A—a)m+1 F] будет лучше у[т\ если 1пр7>2|/^г. Это показывает, насколько мощным средством мо- может быть обратная итерация. '> По сравнению с обычным степенным методом. При этом, правда, нахо- находят приближения к р собственным парам А.— Прим. перев.
272 Гл. 12. Подпространства Крылова До сих пор стоимость различных подходов игнорировалась, так же как и тот факт, что ЗСт (f) дает аппроксимации для не- нескольких собственных пар А. Может случиться, что А настолько велика и неприступна, что единственная вещь, которая с ней может быть осуществлена, это умножение ее на вектор. Сущест- Существуют также ситуации, когда А, несмотря на ее размеры, допус- допускает возможность нахождения решения системы (А—0)u = v, но стоимость этого значительно больше стоимости вычисления произ- произведения Av. Наконец, возможен случай, при котором решение системы (A—0)u = v требует меньше времени, чем, скажем, три произведения v на А. При всем этом важным вопросом остается требование к памяти, кроме того, было бы своевременно затронуть проблему вычисления аппроксимаций Релея — Ритца из Ж""(/). Таблица в начале § 13.2 показывает, что для действительно трудных случаев значение т превосходит 25 и может составлять несколько сотен. Мы могли в 2 раза занизить скорость сходимости степенного метода. Если вместо <х_1 использовать оптимальный сдвиг (а2 + а_1)/2, то мно- множитель сходимости изменится с A+у) на \\-\-2у)~1. На прак- практике этот оптимальный сдвиг найти труднее, чем а_1. § 12.6. Частичное приведение к трехдиагональному виду Между подпространствами Крылова и трехдиагональными матрицами имеется тесная связь. Начнем с подпространства 3?""(f, А). Для теоретических целей, таких, как теория Саада — Каниэля, естественным базисом для Jf является базис Крылова Ки({, А) из § 12.1. Для практической работы особенно удобен ортонормированный базис Qm^E(qlt ..., qffl), который является результатом применения процесса ортонормализации Грама — Шмидта к столбцам Кт @ в естественном порядке f, Af, ... . Размерность Эй"" должна равняться т, т. е. матрица Ки должна быть полного ранга. Мы не будем рассматривать случай, когда 3f"+: — ЭСт. По причине, которая станет ясна в гл. 13, мы на- назовем Qm базисом Ланцоша подпространства Жт (f; А). В матрич- матричных обозначениях можно записать K«(f) = QeC-\ A2.6.1) что есть QR-разложение Ки. Элементами столбцов верхней тре- треугольной матрицы С являются коэффициенты полиномов Ланцоша, введенных в гл. 7, но здесь этот факт мы использовать не будем. Для произвольной последовательности векторов процесс Грама—Шмидта обременителен и тем сильнее, чем больше стано- становится число векторов. В противоположность этому для подпрост-
12.6. Частичное приведение к трехдиагональному виду ,273 ранств Крылова процесс исключительно упрощается' благодаря трехчленной рекурсии, связывающей столбцы QOT = Di, ••., q»,). Прежде чем браться за общий случай, рассмотрим пример, предварительно заметив, что поскольку q3 ? 3j?3 (qj), то span(q,, qa, q8, Aq3) = span(q1, q2, = span(q,, q2, q3, ^Ж* (qj. Таким образом, чтобы дополнить базис для 3f4, достаточно орто- гонализировать Aq3 к векторам q3,.q2. 4i- Нетрудно видеть, что Aq3 уже ортогонально к qj (см. упр. 12.6.1). Теорема. Если Кот (f; А) имеет полный ранг и Qm определена равенством A2.6.1), то Q*mAQm является неприводимой трехдиа- гональной матрицей A2.6.2). Доказательство. Включение AX/c9Cj4~1 для каждого / < т является свойством, характеризующим 9Ст (f), в частности С ; А.Х' рру . Следовательно, q-(Aqy) = O для каждого A2.6.3) В силу симметрии A, q* (Aq,) = (qj (Aqy)) = 0 для всех / < t — 1. Это доказывает трехдиагональность матрицы Q"mAQm. Заметим, что 3sr/+1=span(K/, A/f) = = span(Ky, Aq,) = Отсюда если Кот имеет полный ранг и / < т, то Aq^ и q/+, не могут быть ортогональны, т. е. q;*+1 (Aq/)=^O. Если ввести величины a., = q;* Aqy- и Cy = q*+1Aqy, то для трех- диагональной матрицы Q*mAQm можно воспользоваться обозначе- обозначением rm - т,, «2 Pi Рг ' Рт- 'm-I A2.6.4) С помощью этого дополнительного обозначения мы дадим полезное следствие теоремы.
274 Гл. 12. Подпространства Крылова Следствие. Для каждого j < m А ъ + о'. A2.6.5) где последним столбцом справа является вектор Доказательство. Проверка равенства q7-+гру.. C; A2.6.6) для всех /</ предлагается как упр. A2.6.2). Следствие просто выражает его в компактной форме. Необходимо только заметить что C/ = q;+1Aq/ = ||r/||2. Вторая матрица в правой части равенства из A2.6.5) может быть переписана как rfe*, где вектор ej = @, ..., О, 1) имеет только / компонент, хотя все другие векторы имеют п. Заметим, что фундаментальная матрица Крылова сошла со сцены в A2.6.5), матрица Q, непосредственно связана с А. Следствие указывает путь, каким все Q, и lf, /=1 т, могут быть построены, исходя из А и Q, =q, = f/|f J. В начале /-го шага в распоряжении имеются Т^_ f Q l_1 и 12.6.1. Алгоритм Ланцоша Из A2.6.5) вытекает, что где, поскольку q взаимно ортогональны, Далее, согласно A2.6.5), A2.6.7) A2.6.8) Ру = 1Ч/+|Р/1 = |г/1. A2.6.9) Если Р; > 0, то Цу+1 = г/ф/ и очередной шаг завершен. Если же Р7 = 0, то AQy = Q/Ty и алгоритм останавливается, причем span Q; = Ж> @ = Э^/+1 @ = f (f) A2.6.10) является наименьшим инвариантным подпространством, содержа- содержащим f. В 1950 г., когда целью являлось вычисление Тп, возмож- возможность |3И = 0 для т < п считалась легкой неприятностью. Сегодня при отыскании только нескольких собственных векторов ранняя
§ 12.6. Частичное приведение к трехдиагональному виду 275 остановка процесса—горячо желаемый результат, поскольку каждое собственное число Тт будет собственным числом А. В экстремальном случае, когда f является собственным вектором, алгоритм завершается после одного шага. Формула A2.6.6) представляет собой трехчленную рекурсию, связывающую столбцы Qm. Стоимость одного шага алгоритма ¦ полностью определяется формированием вектора Aq,, и это единственный способ, каким А участвует в алгоритме. Упражнения к параграфу 12.6 12.6.1. Используя свойства А* = А и q?qft = O для t ф k, с помощью не- непосредственных вычислений показать, что Aq3 ортогонально к qv 12.6.2. Показать, что A2.6.5) н A2.6.6) эквивалентны, а также, используя обозначения A2.6.4), переформулировать теорему A2.6.2). Показать, что что Г7 5 31 Г П 12.6.3. Вычислить Т3, когда А= 5 3 ll, f= —2 1. Верно ли, L3 1 oj L и ||1!о? Примечания и ссылки Идея степенного метода очень естественна. Инженеры-строители называют его итерациями Стодолы. Последовательность {х, Ах, А2х, ...} использопа- лась Крыловым [1931J для нахождения коэффициентов характеристического полинома, и, несмотря на эту неудачную цель, имя Крылова прочно связано с указанной последовательностью. В данной главе приведены оценки (Kaniel, 1966] (с поправками из работы [Paige, 1971]), которые показывают, что из подпространств Крылова умерен- умеренной размерности могут быть получены очень хорошие аппроксимации собст- собственных чисел. Нашей целью было сделать результаты понятными и доступными для ссылок. С недавними и лучшими оценками [Saad, 1980] я ознакомился, когда книга подвергалась окончательному пересмотру. Первоначальные дока- доказательства были упрощены, чтобы соответствовать соседнему материалу.
ГЛАВА 13 Алгоритмы метода Ланцоша § 13.1. Подпространства Крылова + процедура Релея — Ритца = метод Ланцоша Судьба алгоритма Ланцоша была переменчивой. Появился он еще в 1950 г. Хотя Ланцош указывал, что его метод предназначен для отыскания нескольких собственных векторов симметричных матриц, о нем сразу заговорили как о способе приведения в.сей матрицы к трехдиагональному виду. Но эта возможность метода была неосуществима на практике без привлечения очень дорого- дорогостоящих модификаций. Двадцатью годами позже Пэж показал, что, несмотря на чувствительность к округлениям, простой алго- алгоритм Ланцоша является тем не менее эффективным средством вычисления некоторых внешних собственных чисел и соответст- соответствующих им собственных векторов. Точный алгоритм может быть представлен несколькими спосо- способами. В действительности это уже было сделано при его появ- появлении в § 7.2, где конструктивное доказательство того факта, что q1 полностью определяет приведение А к трехдиагональной форме T(=Q*AQ) является просто изложением алгоритма Ланцоша. Другой подход дан в § 12.6, где показано, что столбцы мат- матрицы Qm = ((]i. • • ¦, цт) образуют превосходный базис для под- подпространства Крылова ЭСт (qt), достоинства которого со всеми подробностями превозносятся на протяжении гл. 12. В этом базисе проекция А на 5f"*(q,) представляет собой трехдиагональ- ную матрицу Тт. На шаге с номером / алгоритм резюмируется двумя уравнениями, а именно АЦ,—Q/l/=r/e,*, где r/ = 1— Q'Q^O. A3.1.2) Третий подход заключается во взгляде на алгоритм Ланцоша как на естественный способ реализации процедуры Релея —Ритца из § 11.3 для последовательности подпространств Крылова 3CJ (f), /=1, 2, ... . На каждом шаге процедуры размерность подпрост- подпространства возрастает на единицу и обычным образом могут быть вычислены наилучшие приближенные собственные векторы в под- подпространстве. Когда же рассматривается не одно, а последова-
§ 13.1. Подпространства -\- процедура Релея — Ритца 277 тельность подпространств Крылова, универсальная и довольно дорогостоящая процедура Релея — Ритца чрезвычайно упрощается. Посмотрим, каким образом возникает эта экономия. Первым этапом процедуры Релея — Ритца является определение ортонормального базиса подпространства, но в нашем случае на шаге / базис {qlf ..., qy_i} подпространства Ж''1 уже вычислен и к нему нужно добавить только один вектор. Этот вектор — компонента Aq^, ортогональная к ЧК>~1 (см. § 12.6), и, как будет видно ниже, уже имеется в нашем распоряжении, но не в нормированном виде. Таким образом, первым этапом будет простая нормировка вектора. Следующие два этапа процедуры Релея — Ритца заключаются в вычислении матрицы отношения Релея p(Qy) = Qj (AQy). В на- нашем случае по теореме 12.6.2 матрица p(Qy) (т. е. матрица Ту) трехдиагональна, и ее формируют из Т/_1 добавлением элементов р._! и а/ в соответствующие позиции. Опять оказывается, что Ру_! уже имеется в нашем распоряжении, и поэтому первым фак- фактическим вычислением является формирование величины a/ = q*Uy и вектора uy = Aq/- Затем в соответствии с процедурой Релея — Ритца происходит вычисление требуемых собственных чисел и векторов (б1/', s,s/>) матрицы Ту. Трехдиагональная форма очень удобна для реализа- реализации этого этапа (см. гл. 8). В § 11.4 показано, что наилучшими в совокупности аппроксимациями собственных пар А из ffl яв- являются пары Ритца (8Д у<;)), где y</> = Qy.s'/), i=l, ..., /. Далее, где это возможно, мы будем опускать верхний индекс (/). Последнее завершает процедуру за исключением этапа оцени- оценивания точности пар Ритца, что составляет предмет § 13.2. Для оценивания необходимо ортогонализировать вектор Uy(=Aqy) к q^ и qy_! и тем самым найти полезный вектор невязки гу. Оказы- Оказывается, что [Зу (== || Гу ||) необходимо одновременно в § 13.2 и на следующем шаге алгоритма Ланцоша. Как бы в награду Гу является кратным вектору qy+1. Теперь все готово для получения аппрок- аппроксимаций Релея — Ритца из зЬ'+1. Для завершенности мы выпишем один шаг процесса. В упраж- упражнении 13.1.1 предлагается объяснить, почему алгоритм несколько отличается от данного выше описания. 13.1.1. Простой алгоритм Ланцоша Пусть задано г„ и $и = ||г„||Ф0. Тогда для t=l, 2, ... повто- повторяется следующее: 1. q/^ry_1/|3y_1 2. Uy^Aqy
278 Гл. 13. Алгоритмы метода Ланцоша 5. O-r;-qA 7. Вычисляются те 0,-, s,, у,, которые нужны. 8. Если точность удовлетворительна, то процесс останавли- останавливается. Важные замечания для вычислений с большими матрицами сформулированы как утверждения A3.13) и A3.14). После этапа 3 вектор qy_t может быть передан в устройство вторичной памяти. Он не будет нужен до тех пор, пока,-ска- пока,-скажем, на т-м шаге алгоритма Ланцоша не будет формироваться вектор yf" = Qms;, когда сходимость у*-т) будет достаточно хорошей. A3.1.3) В оперативной памяти необходимо хранить только три л-мер- ных вектора—привлекательная особенность в случае, например, п > 103. Пэж установил, что часто имеется возможность обойтись только двумя л-мерными векторами (см. упр. 13.1.2). Матрица А может быть представлена подпрограммой, кото- которая по заданному х вычисляет вектор Ах, используя любые из- известные специальные свойства А. A3.1.4) Теория Каниэля—Саада (см. § 12.5) указывает, что хорошие аппроксимации Релея — Ритца для внешних собственных чисел и векторов будут получаться до значений / порядка 2]^п и что для таких вычислений алгоритм Ланцоша идеально подходит. Фиксировать заранее номер последнего шага ] (= т) нет необхо- необходимости. Процесс продолжается до тех пор, пока нужные пары Ритца (9„ ур), ( = 1, ...,р, не станут удовлетворительными по точности. В точной арифметике это должно случиться при / = п, но обычно это происходит много быстрее. Типичными значениями, которые можно иметь в виду, являются р=10, т = 300, п = 104. Начальный вектор f (или qt) лучше всего выбрать пользова- пользователю, чтобы можно было учесть любую имеющуюся в распоря- распоряжении информацию о требуемых собственных векторах А. При отсутствии такой информации в качестве f используется либо случайный вектор, либо вектор A, 1, ..., 1)*. Чтобы описать процесс Ланцоша полностью, следует что-то сказать о том моменте, когда алгоритм у должен побеспокоиться о вычислении некоторых собственных чисел Ту. Несколько не- неожиданным является ответ, что это нужно делать на каждом шаге. Следующий параграф, который сохраняет предположение о точной арифметике, объясняет, почему это так.
§ 13.2. Оценивание точности 279 Упражнения к параграфу 13.1 13.1.1. Этапы с третьего по пятый не соответствуют словесному описанию процесса Ланцоша. Показать, что в рамках точной арифметики эти две версии эквивалентны. Объяснить отличие. Указание: Обратиться к модифицированному процессу Грама — Шмидта (см. § 6.6). 13.1.2. Предположим, что операция u-<—Av выполнена в форме u-—u+Av. Перестроить простой алгоритм Ланцоша так, чтобы использовать только два n-мерных вектора. Указание: Потребуется поэлементное вычисление Av. § 13.2. Оценивание точности Теорема Каниэля—Саада (см. гл. 12) показывает, что мы можем надеяться на получение всех лучших аппроксимаций внеш- внешних собственных чисел из 3f (qt) при увеличении числа шагов /. На практике же нам нужны апостериорные оценки применительно к каждому специальному случаю. Теоремы из § 11.7 показывают, что норма невязки |)Ау—у8|| является хорошей мерой точности пар Релея — Ритца (8, у). В принципе возможно вычислять 0,- и у,- на каждом шаге алгоритма Ланцоша. Но, к счастью, вычисление ЦАу,— уД|| воз- возможно и без вычисления у,-! Чтобы увидеть, как это делается, опустим нижний индекс i и заметим, что II Ау — ув ]| = [] AQs—Qs0 j] = I| (AQ—QT) s [| = = ||(P/qy+]e;)s|| = P/|e;s|, A3.2.1) где нами последовательно использованы соотношения y = Qs, s8 = Ts, A3.1.1) и ||q/+]|i=l. Таким образом, нижние компоненты нормированных собственных векторов матрицы Ту являются по- показателем сходимости, и нет необходимости формировать вектор у до тех пор, пока его точность не будет удовлетворительной. Этот результат объясняет, почему некоторые значения Ритца могут быть очень точными, даже когда значение р, не является малым числом. Пример 13.2.1. Уменьшающиеся компоненты собственных векто- векторов матрицы Т Пусть S = (s,y)—матрица нормализованных собственных векторов слу- случайной симметричной трехдиагональной матрицы и S = (s,7), где s,7 = —Iog10|s;7|. Если каждый элемент v матрицы S, изображенной в виде таб- таблицы 13.2.1, заменить на величину 10~v, то новая таблица задает абсолютные значения элементов матрицы S. Некоторые
280 Гл. IS. Алгоритмы метода Ланцоша j 1 б 4 5 6 7 7 8 10 11 11 13 -40 2 3 3 3 4 4 5 5 7 7 7 9 >• ] 3 1 4 4 5 5 5 5 6 7 7 9 4 4 2 2 I ] ] ) 2 3 3 4 5 •• 1 2 3 4 4 3 3 • 5 5 5 7 -20 • 11 2 2 2 2 2 2 2 3 3 3 4 x< in Матрица 12 2 1 2 2 2 2 13 1 I I 1 1 s 14 J I ) 2 2 2 3 ) I ) 1 Mil 0 15 I I ) ) J 1 ) 1 ) ) 1 i 21 2 3 3 4 4 4 5 6 6 6 8 20 Таблица 13.2.1 22 7 2 2 I 1 I 2 3 4 4 6 23 3 4 4 5 5 6 7 8 9 10 1) 24 4 4 4 5 5 6 7 9 9 10 12 25 6 5 5 7 7 8 9 11 12 12 14 K . 40 элементы нижней строки этой матрицы очень малы (~ 10~13), и именно они соответствуют изолированным собственным числам Я, и Jl25. Это типичное явление. Пусть S/i'sseJs,- и определены следующие полезные числа Ру/ = Ру|$|. 1=1,...,/. A3.2.2) Без потери общности можно положить s/? > 0 для всех i ^ /. На ;-м шаге процесса Ланцоша, согласно теореме 4.5.1, для некоторого собственного числа к [А], зависящего от индекса i, имеем |8,—ЦА]|<р/;, A3.2.3) Кроме того, если использовать Bk как приближенные собствен- собственные числа для вычисления отделенностей у,-= mini 6-—0J, то кф1 теорема 11.7.1 позволяет дать предельно реалистичные оценки |sinA(y</', г)|фр,,./?/ A3-2.4) для векторов Ритца и |в*-М==Р/У?, A3.2.5) для значений Ритца, где (к, г) — собственная пара А. Когда несколько интервалов, скажем [8,—ру,-, 6,+Р/(] для t = /, / + 1, 1 + 2, пересекаются, то можно и нужно использовать
§ 13.3. Влияние арифметики с конечной точностью 281 1+2 теорему A1.5.1), а именно: пусть о^ 2Р//. тогда каждый ин- »=/ тервал [6,-0, в; + о], i = l, 1 + 1, / +2, содержит свое собствен- собственное число (см. упр. 13.2.1). Эти оценки ошибок весьма привлекательны, но они предпо- предполагают, что для формирования р/; должны быть вычислены не- некоторые собственные векторы s'/' матрицы Т-у-. Хотя такие вы- вычисления требуют только О(/) операций, заслуживает упомина- упоминания факт, что существуют по крайней мере два способа отыскания s^V без вычисления самих sjA Правда, эти два альтернативных способа тоже требуют О(/) операций. Все три подхода удовлетво- удовлетворительны. См. упр. 13.2.2 и 13.2.3. Важным вопросом является стоимость вычисления значений Ритца 8;. При использовании QL-алгоритма без операции извле- извлечения квадратного корня с разумными сдвигами все 0,- могут быть вычислены примерно за 9/2 умножений. С другой стороны, ком- комбинируя QL-алгоритм с делением спектра, можно вычислить р экстремальных собственных чисел в каждом конце спектра при- приблизительно за Збр/ умножений. При этом мы отводим 1.8 QL- итераций на одно собственное число и 10/ умножений на одну QL-итерацию. Число 36/?/ настолько мало, что составляет лишь незначительную долю стоимости одного шага процесса Ланцоша, когда j<^.n. Предложенные апостериорные оценки ошибок помогают снизить число шагов метода Ланцоша, останавливая процесс в тот мо- момент, когда достигается требуемая точность. Упражнения к параграфу 13.2 13.2.1. Показать, почему величина а = 2^// является оценкой нормы мат- матрицы невязки AY — Y6, где Y = (y/> yl+1, у/+2), a 6 = diag(8(, 9/+I, 8/+2). 13.2.2. Используя результаты § 7.9 и предполагая, что старые значения в;'', t=l, . . ., /—I сохранены вместе с в\'\ вычислить величины s)i. 13.2.3. Есть возможность видоизменить внутренний цикл стандартного QL-алгоритма так, что вектор e*S модифицируется каждым вращением. Сколь- Сколько действий (ops) добавится во внутреннем цикле? § 13.3. Влияние арифметики с конечной точностью Предыдущий параграф преподнес в очень розовом цвете кар- картину алгоритма Ланцоша. Однако еще Ланцошу в 1950 г. было известно, что вычисленные величины могут сильно отклоняться от их теоретических эквивалентов. Второе основное уравнение QJQj = lj полностью нарушается округлениями, и об алгоритме сложилось мнение (отчасти несправедливое), как о неустойчивом, Практически интересным алгоритмом его сделало то, что, не-
282 Гл. 13. Алгоритмы метода Ланцоша смотря на сильные отклонения от точной модели, он тем не менее дает полностью правильные аппроксимации Релея — Ритца. Его недостаток заключается в том, что он не останавливается вовре- вовремя и продолжает вычислять много избыточных копий каждой пары Ритца. Чтобы проанализировать процесс и не погрязнуть в не отно- относящихся к делу деталях, мы сделаем важное стандартное изме- изменение обозначений. Начиная с этого момента через Qy и Ту мы будем обозначать величины, хранящиеся в вычислительной ма- машине под этими именами, и не будем в будущем обращать вни- внимания на их платонические образы. Более того, вектор ур (=0/8^) будет назван «вектором Ритца» даже тогда, когда матрица Qy далека от ортонормальной. Кавычки напомнят нам, что это не истинные векторы Ритца из span Qy. Сейчас мы опишем любопытные стороны практического пове- поведения алгоритма Ланцоша и, прежде чем заняться их анализом, приведем один пример. На первых нескольких шагах (может быть, трех, а может быть, тридцати) получаемые результаты неотличимы от точного процесса. Затем новый вычислительный вектор Ланцоша q пере- перестает быть в пределах рабочей точности ортогональным пред- предшествующим векторам, а несколькими шагами позже Qy даже не имеет полного ранга, т. е. векторы Ланцоша становятся линейно зависимыми. Это похоже на бедствие, поскольку нет никакой гарантии, что Ту продолжает иметь отношение к А. Тем не менее происходят неожиданные вещи: в то время как ортогональность между векторами {qh i=l, .... /f исчезает, пары Ритца (8/'\ У'") Для некоторых значений / сходятся к собственным па- парам А. При продолжении процесса он как бы «забывает», что уже нашел эту собственную пару и начинает вычислять ее опять. Таким образом, вскоре будет уже две собственные пары, точно аппроксимирующие соответствующую простую собственную пару А, и, следовательно, два собственных вектора должны быть почти кратными один другому, а это может случиться только тогда, когда Qj имеет почти линейно зависимые столбцы. Точный алгоритм Ланцоша должен остановиться (|Зу = О) для некоторого j^n, но на практике процесс продолжается беско- бесконечно, вычисляя все большее число копий внешних собственных векторов для каждой новой обнаруженной внутренней пары. Потеря ортогональности чувствуется во всех частях алгоритма. Например, соотношение |Ау/ — У/9/| = Р// больше не выполняется. Вместо •«этого мы имеем A3.3.1)
§ 1S.3. Влияние арифметики с конечной точностью 283 где Fy учитывает ошибки округления, имеет малые элементы и совершенно безвредна. Более детально об этом говорится при обсуждении A3.4.1). Напомним, что мы не хотим вычислять у, на каждом шаге и должны считаться с реальной возможностью малости вектора у,, так как единственная имеющаяся в нашем распоряжении оценка имеет вид A3.3.2) Мы вернемся к этому вопросу несколько позже. Конечно, чтобы (8(-, у,-) обладала хорошими аппроксимирующими свойствами, нам необходима малость величин (Зу7. За исключением редких случаев, величина |Jy не будет очень малой. Такое необычное поведение алгоритма, конечно, представляет собой нежелательное свойство, но все же это не бедствие. Был предложен следующий пример [Scott, 1978], чтобы полу- получить изолированное доминирующее собственное число с целью вызвать быструю сходимость и, следовательно, появление дубли- дубликатов пар Ритца. Наилучшей мерой линейной независимости q, является величина а1 (Qy) = ^ [Q/Qy] — наименьшее сингулярное число матрицы Qy. Пример 13.3.1. A = diag@, lxlO, 2xl0, ЗхЮ, 4х10~4, 1.0), единица округления (или элементарная ошибка округления)— 10~7. Таблица 13.3.1 Поведение процесса Ланцоша в машинном эксперименте 1 2 3 4 5 0.1668333 0.8333665 0.0002004 0.1464297 0.9998344 0.3726035 0.0003464 0.0003094 0.3532944 0.0001098 1.0 0.9999999 0.9997097 0.0760186 O.00O0004 Упражнение к параграфу 13.3 13.3.1. Показать, что вектор y,-(=Q/S/) удовлетворяет неравенству A3.3.2).
284 Гл. 13. Алгоритмы метода Ланцоша Таблица 13.3.2 Избранные значения Ритца и нормы невязок J 3 5 3 ер ер = 1.000000 = 0.9999996 = 1.0000001 i|Ay, - уД|| 0.48 X 10 0.41 X 10~4 ¦ 0.68 X 10"' § 13.4. Теорема Пэжа Исследование элементов матрицы Q*Qy в различных ситуа- ситуациях наводит на мысль, что потеря ортогональности между столбцами Q,— одновременно широко распространенное и лишен- лишенное характерных черт явление. Такие наблюдения побудили к исключительно дорогостоящему средству — явной ортогонализации каждого нового вектора qJ+1 ко всем предыдущим векторам q. Однако при исследовании «векторов Ритца» у,- (sQ^s'-''), i= I, ... ..., j, причина потери ортогональности становится яснее. Приводимая ниже теорема, включающая равенства A3.4.6) и A3.4.7), принадлежит Пэжу, но эта часть его диссертации ни- никогда не была опубликована. Для изложения его результатов нужна определенная дополнительная подготовка. Завершением /-го шага алгоритма Ланцоша является построе- построение Qj — матрицы векторов Ланцоша, Ту — трехдиагональной мат- матрицы, задающей трехчленную рекурсию, и вектора невязки ry==(AQy—Q/Ty)ey. Информация об алгоритме может быть скон- сконцентрирована в двух фундаментальных соотношениях, которые регулируют вычисленные величины. Они имеют вид пХп nXj nXj /X/ rtXl IX/ пХ/ A Qy.-Qy Ty=ry e/ + Fy A3.4.1) I,.-Q;Qy = C;+A,. + Cy A3.4.2) где (/ х /)-матрица С- верхняя строго треугольная и Ау диагональ- диагональная. F, С и А учитывают влияние ошибок округления, но на этой стадии нет необходимости детально рассматривать, что они из себя представляют. Оказывается, что ||Fy|j остается очень малой (по- (порядка е) по отношению к jjAf для всех /, но |Cf || возрастает до единицы, как только появляются новые дубликаты пар Ритца. «Векторы Ритца» у, ==QyS^' строятся по нормированным собственным векторам Ц матрицы Ту: TyS</> = s</)8(/>, t = l, ..., /.
§ 13.4. Теорема Пэжа 285 Влияние большей части ошибок округления незначительно и при анализе алгоритма мы будем игнорировать те из них, кото- которые несущественны. Мы дадим строгий анализ модели вычисле- вычислений, которая учитывает все важные особенности. Первое пред- предположение заключается в том, что матрицы Sy и ву- являются точными, а именно Ty=syeys;f s; = s--\ ey=diag(e1 еу). A3.4.з> Второе предположение заключается в требовании сохранения локальной ортогональности, т. е. q;+1q,- = o, г=1 /—1 и г;Ч/=о, A3.4.4) или, эквивалентно, с помощью A3.4.2) (Су)//+1 = 0. Основанием для A3.4.4) является такой выбор а,-, чтобы удовлетворить этому условию с рабочей точностью. Если бы не последующее прило- приложение, мы предполагали бы также, что в A3.4.2) Л,- = О, т. е. ||q,-1=1 для всех i. Важно помнить, что /—число шагов метода Ланцоша — может возрастать без ограничения. Только в точной арифметике j^n. Теперь мы готовы установить для этой модели следующий инте- интересный результат Пэжа. Теорема. Предположим, что простой алгоритм Ланцоша удов- удовлетворяет условиям A3.4.1) — A3.4.4). Пусть К у и Ny — соответ- соответственно строго верхние треугольные части кососимметричных матриц F-Qy—Q*F и АД,— ТД., A3.4.5) и пусть G; = S* (Ky + N;) Sy. Тогда «векторы Ритца» y^^Q^.s,.) 2 = 1, ..., /, удовлетворяют соотношениям y*qy+, = vttvP/f A3.4.6) )-У&(^)-№-уШ A3.4.7) где Gy^(v^) и P,7 = pyS,,.. Доказательство. Опустим верхний индекс / у всех величин, которые от него зависят, и умножим A3.4.1) на матрицу Q* слева. В результате получим Q-AQ—Q*QT = Q*re* + Q-F. A3.4.8) Чтобы исключить А, вычтем из A3.4.8) транспонированное ра- равенство и применим к результату условия A3.4.2) и A3.4.4).
286 Гл. 18. Алгоритмы метода Ланцоша X X X ••• X X О I О -QV - ТС) -(тс*-с*т> \ -к* ч N -N Рис. 13.4.1. Структура матрицы Q*r. Тогда: (Q*r)e* - e(Q*r)* = (I - Q*Q)T - T(l - Q*Q) + F*Q - Q*F >= (C*T - TC*) + (CT - TC) + (ДТ - ТД) + F*Q - Q*F, «= (C*T - TC*) + (CT - TC) + (N - N*) + (K - K*). A3.4.9) Это важное соотношение проиллюстрировано на рис. 13.4.1. Поскольку матрица AT—ТА кососимметрична, то она должна иметь вид N — N* и, аналогично, F*Q—QF* = K — К*. Согласно A3.4.4), СТ —ТС является строго верхней треугольной, как и матрица (Q*r)e* ранга единица. Строго верхняя треугольная часть A3.4.9) и есть главная часть доказательства (Q*r)e* = CT — TC+N + K- A3.4.10) Теперь выражение st- A3.4.10) s,-с последовательным применением равенства r = q/+1p/ и соотношений A3.4.10) и A3.4.3) дает Р//) (, = s* (CT—ТС) s,. + s; (N + К) S,- = = s;cs,.e,.-e,.s;cs,. +y,,.=v,,. A3.4.П) что приводит нас к ревенству A3.4.6).
§ 13.4. Теорема Пажа 287 Чтобы получить A3.4.7), рассмотрим для i^k выражение s* A3.4.8) sk: p/fc + s*Q»Fsft. A3.4.12) Для исключения из него величины у* Ayft сформируем выражение st* A3.4.8)s^—84A3.4.8)8,-, а затем для устранения y*q/+J исполь- используем A3.4.6). В результате получим A3.4.7). Выводы теоремы более всего полезны тогда, когда JGy| очень мала (порядка ejjAf), и нам не известен случай, когда быЦGyj| > >е|А|| (е—единица округления). Для простого алгоритма Лан- цоша ||q,||=l, и поэтому lQyf=liQ/4-ll<c^ (QlQj) = h A3.4.13) но эта оценка груба, особенно если i > п. Хорошую вычислимую оценку для IQII дает величина V^tn, где т—размер наибольшей совокупности дубликатов «векторов Ритца» (см. упр. 13.4.1). В любом случае, когда в A3.4.2) Д- = 0, то в A3.4.5) N=0 и (см. упр. 13.4.3) IG/f = SK/l<fK/||F = (l//2)!|Ky— К/|U </21 Qy f ||FJF. A3.4.14) Поэтому |F/fp определяет, будет ли мала величина JGyJ. Напом- Напомним, что ||B||F = угслед(В*В) для любой матрицы В. Тщательный анализ ошибок, проделанный Пэжем [1976J, показывает, что IF,. ||F < G + a) YJ е| А ||, A3.4.15) где а объясняется ошибками, вносимыми программой пользовате- пользователя при вычислении вектора Ах. Однако нам не известно исклю- исключение из более сильного утверждения: ||F,.|!<e|jAfl. A3.4.16) Еще одно отношение в котором практический алгоритм Лан- цоша отклоняется от точного, связано с тем, что «векторы Ритца» при возрастании / не все обладают единичной длиной. Сложный анализ Пэжа, основанный на использовании A3.4.6) и некоторых результатов гл. 7, показывает, что только присутствие других «значений Ритца», которые являются ' дополнительными копиями 9,-, позволяет величинам |[у,| опускаться до значений порядка Y&. Таким образом, можно ожидать появления дубликатов пар Ритца с векторами у самой различной длины.
288 Гл. IS. Алгоритмы метода Ланцоша Упражнения к параграфу 13.4 13.4.1. Предположим, что для каждого / любые два «вектора Ритца» у,- н Уй либо ортогональны, либо параллельны. Показать, 4to|Q||< У~т, где т— количество элементов наибольшей совокупности очень близких значений Ритца. 13.4.2. Вывести трехчленную рекурсию для величин, мажорирующих чис- числа [|Q;qi + il|. а именно если ||Q(q; + i||<5,- + i для » = 1, ..., /—1, то 13.4.3. Доказать, что || FG(|f< j F||-||G||f всякий pas, когда определено FG. Затем вывести все соотношения в A3.4.14). Здесь может оказаться полез- полезной теорема монотонности из гл. 10. § 13.5. Альтернативная формула для р, Имеется вариант алгоритма Ланцоша, который приводит,не к матрице Ту, а к несимметричной трехдиагональной матрице Jy-. Эта версия широко использовалась, но настоящий параграф по- показывает, почему она хуже изложенной выше простой реализации. Изучение вопроса принадлежит Пэжу. Анализ Скотта [Scott, 1978] является изящным применением теоремы Пэжа и даст читателю возможность освоиться с формулами A3.4.6) и A3.4.7). Алгоритм. Выберем г0 так, чтобы Po = frf=^O. Тогда для j—\, 2, ... повторяется следующее: 1. Яу — VjS'i-i- 2. Uy <— Aqy. 3. т]у_, «-q;_, Uy. (qo = 0). 4. «y^-q/Uy. C ?* Of I! Г ' II 7. Вычисляются те 8,., у,-, $'jit которые нужны. 8. Если точность удовлетворительна, то процесс останавли- останавливается. Смысл этой версии состоит в том, что здесь достигается ло- локальная ортогональность, т. е. равенства qj+iq,-i = O и qJ+Iq( = O выполняются с рабочей точностью. Отрицательное значение т)у_, недопустимо, но слишком боль- большое различие положительных величин rjt- и fi'c (в точной арифме- арифметике они равны) будет увеличивать влияние ошибок округления. Мы предположим, что т],->.0 для всех i и г'-ой строкой Jy является вектор (... pt'_!, a,-, rj,-, ...).
§ 13.6. Сходимость вызывает потерю ортогональности 289 Лемма. Существует такая матрица Qy = diag(o>,, .... Юу_,, 1), что 0^,0, = Т, и Р,- = ^Ж /=!,..., л-1. A3.5.1) Доказательство составляет предмет упражнения A3.5.1). Уравнение, регулирующее алгоритм, может теперь быть пере- переписано в виде + r7e; + FjR,, A3.5.2) ПОСКОЛЬКУ @^=1. Как и прежде, мы хотели бы применить теорему Пэжа A3.4.5), но теперь длины столбцов Qfi, не равны единице, а являются величинами щ, ... , Wy.t, 1 т. е. в A3.4.2) Aj = Q*. Более того, верхняя часть N^ матрицы А/Гу—ТуЛу является нулевой, за иск- исключением того, что для i — l, ... , /—1 — P/w?+i(l—PI/7!/) = (см- УПР- 13.5.1) r' r / ft' \ _p/-,...p^i / |_Р? jp (исключая ю). Таким образом, чем больше асимметрия Jy, тем больше величина (| KyJ-ffNyJ), а вместе с тем числители у;/ в A3.4.6) и A3.4.7). Подобные трудности не досаждают в симметричном варианте. Упражнение к параграфу 13.5 13.5.1. Доказать лемму A3.5.1) и найти формулы для величин ш,-, i = \, ... ... , 1-1. § 13.6. Сходимость вызывает потерю ортогональности Формулы Пзжа A3.4.6) и A3.4.7) дают достаточные основа- основания для сделанного ранее утверждения (см. § 13.3) о поведении простого алгоритма Ланцоша в арифметике с конечной точностью. Появление отношения SjilsJk вместе с обратным ему в A3.4.7) проясняет всю ситуацию. Вопреки оценкам A3.4.14) и A3.4.15) для наихудшего случая есть, все основания полагать, что эле- элементы кососимметричной матрицы G/ == S* (К/ + Ny) Sy, которая появляется в этих оценках, удовлетворяют неравенству A3.6.1) для всех I, k, j, и поэтому |yjq/+i| полноотью регулируются поведением величин р/(- (= pysy/).
290 Гл. 13. Алгоритмы метода Ланцоша Мы оставляем читателю как важное упражнение вывод сле- следующих заключений: 1. Ортогональность между векторами q,-, t = l, ...,/, хорошо сохраняется до тех пор, пока один из векторов Ритца не начи- начинает сходиться (Ру/фК^ЦАЦ). 2. Каждый новый вектор Ланцоша q^+1 и каждый плохой «вектор Ритца» (Py;>JAJ//) имеет значительную по величине ком- компоненту в направлении каждого хорошего «вектора Ритца» (Р„М||| 3. Появление почти идентичных копий для тех пар Ритца, которые сошлись ранее, совершенно не противоречит A3.4.7). Рассмотрим, например, шаг, на котором третье значение Ритца 8 первый раз присоединяется к группе, образуемой значе- значениями в и 8, т. е. когда четко можно распознать появление этого нового члена группы. Обнаруживается, что 8 и 8 отклоняются от общего собственного числа А. из-за вторжения 6. То же самое явление имеет место с векторами Ритца у и у. На последующих шагах 8, 8 и 8 опять сходятся к К, пока не «сформируется» чет- четвертая копия Я, и не вторгнется в эту группу, расталкивая другие копии таким же образом, как ранее 8. И так будет продолжаться бесконечно. Теорема Пэжа ничего не говорит относительно частоты, с кото- которой могут появляться подобные копии собственных чисел. Длина цикла для каждого индивидуального собственного вектора оказы- оказывается довольно постоянной и сильно зависит от отделенностей в спектре по отношению к размаху всего спектра. Этот вопрос, кажется, не был исследован. - Последующие таблицы иллюстрируют A3.4.6) и A3.4.7) в кон- контексте рассмотренного выше примера A3.3.1). Пример 13.6.1 A = diag@,1x10-*, 2x10-*, Зх10~4, 4x10"*, 1.0), При / = 3 |ia = 0.0003094 и i 1 2 3 0.587 X 10v 0.3415 x 10 1.000000 ПУЛ! 0.9999745 1.000025 1.000001 h 0.2225 x 0.2228 x 0.48 x 10 io-3 io-3 -7 Таблица 13.6.1 lyfq*! 0.4297 x 10 0.4297 x 10 0.923981 ^
§ 13.6. Сходимость вызывает потерю ортогональности 291 В каждой строке произведение элементов из последних двух столбцов приблизительно равно 10~7 = е|А(|, как и требуется в A3.4.6). Кроме того, степень взаимной ортогональности между хорошими и плохими векторами Ритца оказывается слабой, что соответствует A3.4.7). У* Уз 1,0 0.15 X 1.0 Симметрично 10~6 -0.2 0.2 X X 1.0 10 10 -3 -3 При / = 5 р5 = 0.0001098 и Таблица 13.6.2 j I 2 3 4 5 9, 0.157 х 104 0.2001 X 10 0.3845 х 10"' 0.9999996 1.000000 11У.11 1.000490 1.000477 0.999509 0.75043 1.148672 0.486 0.778 0.486 0.414 0.681 & X X X X X ю-4 ю-4 ю-4 ю- ю-5 |У?Чб1 0.33997 х 0.21557 х 0.35172 х 0.70092 х 0.70535 х ю-2 ю-2 ю-2 ю-* ю-2 т т 1.0 -0.89 х Ю-3 1.0 Ci /мметрично 0.10 0.85 X X 1.0 ю- 10- 5 -0.40 хЧ0~6 0.54 X 10~6 -0.42 X ф-* 0.83 -0.35 0.60 -0.35 0.52 1 X X X X .3 10"*- 10"* 10'* ю-' В результате проделанного анализа и экспериментального опыта Пэж пришел к заключению, "то простой процесс Ланцоша может продолжаться настолько долго, насколько позволяет память. В конце процесса вычисляются все нужные пары Ритца, а дуб- дублирующие копии просто отбрасываются. Эта схема с успехом используется, но в остальных параграфах главы мы рассмотрим видоизмененный алгоритм Ланцоша в стиле Пэжа, который более эффективен и, что важнее, им можно пользоваться автоматически без какой-либо дополнительной экспертизы.
292 Гл. 13. Алгоритмы метода Ланцоша § 13.7. Сохранение ортогональности Как мы видели, векторы Ланцоша теряют взаимную ортого- ортогональность при возрастании числа шагов. Первоначальное сред- средство для борьбы с этим явлением было предложено самим Лан- цошем и требовало явной ортогонализации q,+1 ко всем предыду- предыдущим q. В этом случае пятый этап алгоритма из § 13.1 дополняется следующей процедурой: -i-. = /, /—1, .... 2, (Заметим, что г, ортогонализуется также и к qy и q,_i.) Таким образом, нужно хранить все векторы q и арифметическая стои- стоимость каждого шага резко возрастает (см. упр. 13.7.1). Этот вариант процесса называется алгоритмом Ланцоша с переортогонализацией. Представляет некоторый (главным образом академический) инте- интерес замечание, что переортогонализация не может гарантировать получение q, которые были бы ортогональны с рабочей точностью. Причина указана в § 6.9, и, как там предлагалось, возможным выходом является проверка уменьшения нормы каждого вектора и повторение ортогонализации всякий раз, когда это становится необходимым. Нужно отметить еще, что цена переортогонализации может быть уменьшена наполовину, если матрица Q хранится в факто-~ ризованном виде НгН2 ... НуЕу, где Еу = (е1э е , е^), а каж? дая Ну является матрицей отражения Н (w;), как это изложено в § 6.2. При этом необходимо хранить только векторы w,-, к тому же первые I— 1 компонент w, равны нулю. Более детально воп- вопрос рассмотрен в работе [Golub, Underwood, Wilkinson, 1972]. Несмотря на указанное улучшение, остается все же сильное жела- желание избежать затрат, связанных с переортогонализацией, как по памяти, так и по времени вычислений. Результат Пэжа A3.4.6) показывает, что в простом методе Лан- Ланцоша q/+1 больше всего отклоняется в сторону тех векторов уР, которые являются достаточно хорошими аппроксимациями собст- собственных векторов, точнее A3.7.1) где, согласно A3.6.1), lY'l'l^eJAf для всех I, /, k и, согласно A3.2.1), p/, = p/sy, = ||Ayi/>—yFWf. Более того, величины накло- наклонов могут контролироваться без вычисления y\f), поскольку каж- каждое f}/f может быть вычислено приблизительно за 4/ ops, если
§ 13.7. Сохранение ортогональности 293 Формула A3.7.1) подсказывает более гибкий способ поддержки хорошего уровня ортогональности, чем полная переортогонализа- ция, а именно q/+1 ортогонализуется к у'/} только тогда, когда Р/7 становится малым. Чтобы сделать это, у'7' должен быть вычис- вычислен и сохранен, и это само по себе составляет уже по крайней мере половину стоимости полной переортогонализации на одном шаге. Разница здесь в том, что новую ортогонализацию не надо осуществлять очень часто и постоянно возрастающую матрицу Qy уже не надо иметь в распоряжении на каждом шаге. Чтобы увидеть, есть ли смысл в этой идее, мы рассмотрим два примера, в каждом из которых вектор q ортогонализован к у4 для получения вектора q = <l_y2y')q/j|(l_y2y*)qjf: Вообще говоря, ортогональность векторов q, и у\'\ г=1, .... /, измеряется величиной х, = 11 -Q1Q, | = 11 - У/ Y, J. A3.7.2) В примерах через х3 обозначается эта величина перед ортогона- лизацией, а через х3 — после. Пример 13.7.1 Пусть У1 ¦ 1 о 0 У2 = 1 I 0 vT iV2' Тогда yfq = -1/V6, yfy2 - 1/V2, y?q = 0. Нет никакого выигрыша. Пример 13.7.2 Лусть У1 Тогда ¦ 1 ¦ 0 0 У2 = ю-4 1 0 . ц = 0 ю-2 1 q = -10 0 1 yfq = -10-*, У*У2 ю- ю-10, ю-".
294 Гл. 13. Алгоритмы метода Ланцоша Предыдущий уровень ортогональности был сохранен. Пример 13.7.1 пеказывает, что ортогонализация (сама по себе) может и не улучшить положения. Пример 13.7.2 более реалисти- реалистичен и показывает, что прием полезен всякий раз, когда |y*qy+il значительно превосходит величину х}. Преимущества, которые дает сохранение сильной линейной независимости векторов Ланцоша, т. е. выполнение неравенства JI-Q/Q/K0.01 1. Лишние пары Ритца не формируются. 2. Число шагов в методе Ланцоша становится минимальным и в любом случае не может превзойти п.- 3. Кратные собственные числа могут быть найдены одно за другим. 4. Метод может быть использован как «черный ящик» и не тре- требует деликатных параметров, задаваемых пользователем, сверх требуемой точности и размера оперативной памяти. Как плату за получаемые выгоды программа должна вычис- вычислять и хранить любой хороший «вектор Ритца», чтобы использо- использовать его для корректировки при построении новых q независимо от того, представляет он интерес для пользователя или нет. Напри- Например, если нужны три (алгебраически) наименьших собственных числа, то алгоритм может оказаться вынужден вычислять три или больше «векторов Ритца», соответствующих большим значениям Ритца, только потому, что некоторые из них сходятся быстро. В настоящее время Скотт исследует возможность ортогонализации новых q только к тем «векторам Ритца», которые необходимы поль- пользователю. В дальнейшем мы будем иногда говорить, что q очищен от у, понимая под этим ортогонализацию вектора q к у. Предположим, что допускается медленный рост величины ху [определенной в A3.7.2)] по мере роста / от начального значе- значения э^фе, но никогда не превышается некоторое значение х. Если х==пе, то ортогонализацию необходимо осуществлять прак- практически постоянно, и ее стоимость может превысить стоимость полной переортогонализации. В другом экстремальном случае х^ 1 получается процесс Ланцоша в стиле Пэжа. Таким образом, х позволяет нам интерполировать между двумя экстремальными вер- версиями процесса Ланцоша. Упражнение к параграфу 13.7 13.7.I. Помимо стоимости вычисления Aqy, число операций для простого алгоритма Лаицоша равно бя и для полной переортогонализации (/' + 3) я при условии, что Q не хранится в факторизованном виде, как это описано в работе [Golub, Underwood, Wilkinson, 1972]. Проверить эти подсчеты.
§ 13.8. Выборочная ортогонализация 295 *§ 13.8. Выборочная ортогонализация Небольшая модификация алгоритма Ланцоша обеспечивает сохранность заданного уровня линейной независимости векторов q,, qt, ... . Пусть Xy = f I — Q*Qy(|, и предположим, что требуется поддерживать Ку<1х для некоторого х из интервала (пг, 0.01). Если е=10~14 и я=104, то интервал все еще охватывает восемь порядков. Опыт и одновременно неформальный анализ показы- показывает, что х должно быть выбрано величиной порядка Ке, чтобы пожинать плоды полной переортогонализации при сравнимой, а иногда и меньшей стоимости, чем у простого алгоритма. Новая версия видоизменяет вектор х} простого алгоритма из § 13.1 перед его нормализацией, и, чтобы отличать первоначаль- первоначальный вектор Xj от последующего Гу, нам нужны некоторые обозна- обозначения. Мы примем обозначение г,- для конечного и г) для началь- начального вектора. Из A3.4.1) имеем г,' = Aqy —q/Z/—qy.ify.!—//f где fy—ошибки округлений в течение /-го шага и Jfyf остается меньше «ejj А|| для всех /. Нас интересует Z.ivh ?<)• »'= 1. ¦ •• j, или, эквивалентно, ^(rj. yF')> i—\, ..., /. Напомним, что yP = QyS; и (в,, s,) является собственной парой Ту. До тех пор пока углы остаются близкими к я/2, отклоняться от простого алго- алгоритма нет необходимости, и новый алгоритм полагает гу =Г/. По тео- теореме Пэжа A3.4.6) всех *"• /> P/( = P/S/,, p;=|r;i и s/f=e;S|. В силу завершающих замечаний § 13.4 ограничение ^ имеет следствием неравенство A—fyf ||<^х для всех i, /, поэтому мы будем игнорировать множитель ЦуРЦ в течение настоящего параграфа. Важным следствием этого является то, что значения углов можно будет контролировать, если следить за легко вычис- вычисляемыми величинами р;',-. С момента, когда векторы Ланцоша начинают терять ортого- ортогональность, внимание сосредотачивается на множестве индексов з(/)={г.[coszЫл. г;)|>kiVi). Пусть \J?(j)\ обозначает число индексов в ??{]). Для большин- большинства значений / оказывается, что \J^(j)\ = O, но когда \3 (/)| > 0, то вступает в действие идея очистки х) от соответствующего век- вектора у|'\ i € ^ (/)> который мы назовем пороговым, «вектором Ритца».
396 Гл. 13. Алгоритмы метода Ланцоша Есть надежда, что результирующий вектор Ту будет удовлетворять неравенству | cos /_ (у*", гу)| < к V\ для всех значений k =» 1, ..., /. Затем Гу нормируется, становится вектором qJ+1, и мы имеем -1 Y/Vi f < VT {*iVT) - и. Множитель V] является грубой верхней оценкой и не может быть достигнут. Более реалистические оценки даны в упр. 13.8.1. Чтобы подвергнуть корректировке г), необходимо вычислить у'" для i?J?(j)'. Это требует вызова из вторичной памяти старых векторов q. Мы говорим, что модифицированный алгоритм делает паузу всякий раз, когда | ? (/) | > 0. С другой стороны, если к^уТ. то |$/j<ef А||/(х/К/ ) = К/е JAJ, откуда следует, что 8}Л, I 6 3? (/) будет часто приближать соответствующее число А с рабочей точностью. Для некоторых, но не всех приложений такие пороговые «векторы Ритца» уже будут приемлемы, и поэтому их стоит вычислить. Стоит напомнить, что когда к превышает пг, то векторы уР не являются ни ортонормальными (с рабочей точно- точностью), ни подлинными векторами Ритца из span Q,. Последнее объясняет, почему мы сохраняем кавычки, когда говорим о них. Прежде чем продолжать описание алгоритма, следует сделать одно замечание о (подлинных) векторах Ритца. При изменении / возникает весьма досадная проблема иден- идентификации, поскольку множество векторов Ритца полностью изменяется на каждом шаге. Вообще говоря, нет никакого естествен- естественного соответствия между у(/' и yl'+1> для заданного значения i. Это хорошо видно на примере 10.1.1 при / = 1 и / = 2. Однако, как только последовательность {Qi;>} для некоторых фиксирован- фиксированных i, таких, как ±1 или ±2, стабилизируется по нескольким ее первым значащим цифрам, т. е. как только сходимость стано- становится очевидной, имеет полный смысл говорить об у; и его (век- (векторном) значении на различных шагах. Помня об этом замечании, проследим историю типичного «век- «вектора Ритца» в модифицированном алгоритме. Скажем, на 25-м шаге Qfb> выделяется из множества ничем не примечательных «значений Ритца» в середине спектра и стабилизируется, т. е. |е^>—е[-и>|/|8Н<0.1. Позднее, yfm становится пороговым век- вектором, вследствие чего устраивается пауза для вычисления yJ40> и, возможно, некоторых других пороговых векторов. Далее всегда случается так, что yj-41) является пороговым вектором и совпа- совпадает с у!-40' до некоторого (зависящего от х) знака. Возникает искушение не расходовать паузу на вычисление у^-41) и восполь- воспользоваться y'f40» вместо него для корректировки г^. К атому вопросу мы еще вернемся.
§ 13.8. Выборочная ортогонализация 297 Решающим фактором, который сразу не очевиден, является то, что для /' = 42,43, ..., i^_S{j). Влияние округлений иногда может, а иногда нет поместить i в S (/) опять, прежде чем вычис- вычисления будут закончены. В любом случае важно то, что для боль- большинства значений / величина i^3?{\). Это отчасти объясняет почему модифицированный алгоритм настолько же экономичен, как и простой. Давайте вернемся к у;40> и yfu. Подлинные векторы Ритца ортонормальны. Кроме того, yf40) будет отклоняться больше всего от подлинного вектора Ритца из-за компонент по тем у^40), кото- которые пересекли порог раньше и, следовательно, лучше сошлись, мы назовем их хорошими «векторами Ритца» на 40-м шаге. Поскольку векторы Ланцоша qt, q2, ..., qy все равно должны быть вызваны из вторичной памяти, потребуется лишь небольшая дополнитель- дополнительная работа для перевычисления всех хороших векторов у^,4"» (пра- (правильнее говоря, тех, которые еще не сошлись с рабочей точно- точностью). Можно также ортонормировать хорошие векторы у{,40) и получить новые векторы, которые мы обозначим уа..., у,- без верх- верхних индексов. В этом случае у, используется для коррекции одно- одновременно Г40 и г'п. Теперь паузы при / = 41 не будет, если другие «векторы Ритца» не пересекают порог на этом шаге. Пары FД, s^), которые должны быть вычислены на каждом шаге, соответствуют только экстремальным (самым крайним) значениям 6, если они еще не являются хорошими. Перевычислять хорошие 9 на каждом шаге не нужно, даже если они не сошлись. Заметим, что модификация не зависит от требуемой пользова- пользователем точности. Результаты могут быть получены с рабочей точ- точностью, но можно ограничиться и грубыми аппроксимациями. Аномалий не возникает, если вектор Ритца оказывается приемлемым раньше, чем он становится хорошим, поскольку прилагательные «хороший» и «плохой» относятся к степени ортогональности, кото- которая должна поддерживаться. Имеются сильные аргументы, чтобы положить х = ]/Т (см. следующий параграф), и поэтому пользо- пользователю не нужно принимать никаких дополнительных решений. Предположим, что А имеет кратное собственное число %v На шаге 30, скажем, у{т становится одним из собственных векторов, соответствующих ^ в пределах рабочей точности. После тридцатого шага выборочная ортогонализация обеспечивает у?Гу = = 0(е | А |0 для / > 30. Ошибки округления, будут порождать нену- ненулевые компоненты по другим собственным векторам для Хи кото- которые ортогональны к у,. В свое время новый вектор Ритца, ска- скажем, у&70) будет сходиться к одному из этих собственных векторов. Тогда уГг/ = О(е|А||) и увГ/ = 0(8||А||) для / > 70 и так до тех пор, пока все собственное пространство для X, не будет получено. Раздел 13.8.1 описывает алгоритм с выборочной ортогонали- зацией более детально.
298 Гл. 13. Алгоритмы метода Ланцоша 13.8.1. Диаграмма прохождения LANSOU Алгоритм Ланцоша с выборочной ортогонализацией Диаграмма отражает последнюю реализацию выборочной орто- гонализации SO, но алгоритм еще развивается. Параметры 1с—индекс последнего полностью сошедшегося вектора Ритца (P/;</e|AJ) с левого конца спектра. lg—индекс последнего хорошего вектора Ритца с левого конца спектра. re, rg—аналогичные величины для правого конца спектра. Начальные данные lc = lg=rc=rg=\J?\ = Q. J? = 0 (пустое). qo = o. r = o. Цикл Для /=1, 2, .., п повторяются этапы с первого по пятый. 1. Если \J?\ > 0, то очистить г' от пороговых векторов для по- получения г и положить P/_i *-[|г||. * 2. Если Py_i = O, то остановить процесс, иначе нормировать г для получения <\j. 3. Осуществить шаг процесса Ланцоша для. получения а,, г', р*/. 4. е|^^[Гу] для i = lg+l, lg + 2 и t = -(rg+l), -(rg + 2). Вычислить соответствующие sj{. Положить I^^O. б. Если P/<( = P/s/i)< Vz \Tj\ для любого из этих i, то устраи- устраивается пауза. Пауза 1. Сформировать ^{^i:%i<V&\Tffj. Исправить значения lg. rg. 2. Вызвать Qy и вычислить y</' = Q/s/ для 1 = 1с, ..., lg и l = — rc, ...,—rg. 3. Необязательный этап: Выполнить модифицированный процесс Грама —Шмидта с новыми у\'\ используя сначала наиболее точные. Исправить значения sJt. 4. Если векторы у достаточно приемлемы, то остановить процесс. 5. Для каждого хорошего уг вычислить у/г', если эта величина слишком большая, то добавить / к 3'. После паузы необходимо сохранять только пороговые век- векторы, векторы Ланцоша могут быть возвращены в*о внешнюю память. 1) От первых букв английского названия алгоритма "Lanczos, algorithm with selective ortogonalization".— Прим. перев.
§ 13.8. Выборочная ортогонализацил 299 Пример 13.8.1 Пример выборочной ортогонализации я = 6. A = diag(O., 0.00025, 0.0005, 0.00075, 0.001, 10.). ?х = 6->/1A., 1., 1., 1., 1., 1.)*. Единица округления =10~14. Заметим, что 0.75-10~в записано как .75?—06. Было проделано шесть шагов простого алгоритма Ланцоша q;qb .10?+01 .75?-14 -.30?-10 25Е-06 .97Е-02 .41Е+00 .15Е-Ы .10?4-0I .ЗЗЯ-10 .55Я-О6 .22Е-01 .91Е+00 -.ЗОЕ-10 .ЗЗЕ-Ю .lOf+OI -.97?^10 .19,5 — 05 .79Е-04 -.25?-06 .55?--06 -.97?-10 .Ю?Ч-01 .1L?-O9 .23E-0S .97Е-02 .22Е-01 Л9Е-05 .ПЕ-09 UOjS'+OI -Л2Е-12 .41Е + 00 .91Е+00 J9E-04 23Е-08 -Л2Е-12 .10?4-01 Алгоритмом Ланцоша с выборочной ортогонализацией пройдено шесть шагов. После четвертого шага возникла пауза, и был вы- вычислен хороший вектор Ритца для собственного числа 10. Затем были осуществлены еще два шага с ортогонализацией к этому вектору. QeQe Для выборочной ортогонализации .10?-01 /75Я-14 -.30?-10 .25?-06-.1LE-09 .92Е-Ю ,75?-14 Л0?+01 ЗЗ'Е-10 .55Я-О6 .5LE-10 -.36Е-10 -.30Е-10 .ЗЗЕ-Ю А0Е+01 -.97Е-^Ю-MS-10-.37Е-07 < .25?-06 .55?--06 -.97?--10 . Л0?Ч-01 .24^-07-.64?-08 -.11?--09 .51?-Ю-.44?--.Ю .24E-V7 .10^+01 ЛО^-13 .92Е-10-.36Е-\0-.37Е-07 -.64Е-0& Л0,?-13 Л0?+01 Заметим, что ведущий главный минор порядка 4 одинаков в обеих матрицах. Отметим также, что поддерживаемая схема выборочной ортогонализации сохранила приближенную ортого- ортогональность векторов q. Упражнения к параграфу 13.8 13.8.1. Предположим, что у1У)*г/ = У17> г] и I У*Л 1 = ! • I Vi-P | < 8 II А1 для * <? JC (/). Используя теорему Пэжа A3.4.6), вывести неравенство
300 Гл. 13. Алгоритмы метода Ланцоша 13.8.2. Пусть q/+iP/=Aq/—qy-ay—qy.^y.i для всех /. Пусть Аг = гХ, и предположим, что z*q40 = z*q41 = 0. Показать, что в рам- рамках точной арифметики z*qy = O при / > 41. *§ 13.9. Анализ выборочной ортогонализации В этом параграфе обсуждаются различные аспекты процедуры выборочной ортогонализации, изложенной в § 13.8. Простой алгоритм Ланцоша может продолжаться неопреде- неопределенно долго в условиях конечной точности, в связи с чем Пэж заинтересовался вопросом сходимости при /—»-оо некоторых „пар Ритца" (&/\ у}7'') к собственным парам матрицы А. Модифициро- Модифицированный алгоритм сохраняет сильную меру линейной независимо- независимости между qt, и поэтому процедура должна остановиться ф/ <! ие J A [D при / <; п. Следовательно, наше внимание переклю- переключается от сходимости к вопросу влияния величины х на ход выполнения модифицированного алгоритма. 13.9.1. Ортонормализация хороших векторов Ритца Эта дополнительная деталь не является необходимой частью выборочной ортогонализации, но она имеет свои достоинства, когда в наличии нет подпрограммы, обрабатывающей первичную информацию, выдаваемую процессом Ланцоша, и которая да- давала бы аккуратные апостериорные оценки ошибок в духе гл. 10. Для простоты перенумеруем „векторы Ритца" так, чтобы у[>\ ..., ур' были хорошими, предположим, что {i}=*J?(j) и без потери общности что Ря <Р/2^-. -^Р/,-- На протяжении паузы алгоритм вычисляет для 1—1, 2, ..., i У'/' — Q/S,, v=l Какое значение Ритца должно соответствовать у,? Естественно, отношение Релея р (уг) было бы наилучшим, но мы не хотим вычислять Ауг. Ответ на это дает следующий результат. Лемма. </. A3.9.1) Доказательство предлагается как упр. 13.9.2. Заметим,, что наилучшей оценкой, которую мы можем дать для yv;==y*y(/>, является | Yv/1 ^ *, + О (х|) (см. упр. 13.9.1). Если х2 < е, то мы ничего не теряем, используя 6(/' как значение Ритца для уг
§ 13.9. Анализ выборочной ортогонализации 301 В остающихся разделах параграфа мы не будем рассматривать использование векторов у„ /<л, а будем продолжать работать с ур для корректировки х). 13.9.2. Влияние корректировки на углы У всех «векторов Ритца» yk опустим верхний индекс /'. Нам необходимо сравнить /_ (yk, гу) и /_ (у^, т}) для всех k ? S (/). Отметим, что у*г/ = О(е|| А||) для i?J?(j) по построению. После коррекции и поэтому 2^. A3.9.2) v В точной арифметике обе величины |v и y^yv обращаются в нуль, но на практике требуется лишь, чтобы их произведение было очень мало, т. е. порядка е||А||. Это предотвращает увеличение скалярного произведения y*kr'j при корректировке. Очевидно, что |v не является малой величиной, поскольку yv, r;.)|p; (p; я ц г) id (по определению J3? (])). Другой множитель yjjyv из A3.9.2) ограничен величиной х,, и эта граница является реалистичной для отдельных значении k. Некоторые же члены в сумме A3.9.2) будут больше, чем fyxxj/j. При этом иногда Xj = x. Чтобы сохранить ^_{yk, r}) в рамках рабочей точности, необходимо, по-видимому, иметь A3.9.3) С другой стороны, если ||v| может быть много больше, чем и[ А ||, то A3.9.3) не защитит систему от постепенного ускорения в процессе потери ортогональности. Если теорема Пэжа A3.4.6) продолжает оставаться справедливой, то внезапная сходимость одного из у,, указываемая неравенством Ру?<^х|А||, может при- привести к такому большому |v. Следующий результат [Scott, 1978] показывает, что это опасение беспочвенно. Лемма. Если r/ = Aq7 — q/Xy — Чу-iPy-i — f/, mo J't+M 03.9.4) Доказательство предлагается как упр. 13.9.3. При применении выборочной ортогонализации теряют силу прекрасные оценки JAy*—УА11^Р/* + О(е|| А||) для плохих «век- «векторов Ритца» yh. Следующий раздел показывает, что для хоро-
302 Гл. 13. Алгоритмы метода Ланцоша шего у, (/ ? 3? (v) при некотором v <; /) разумная оценка все еще имеет место. Более того, по определению S Ц), Pfi < е V\ 1А [|/к. Таким образом, лемма A3.9.4) приводит к следующей интересной оценке: |у?г; |< в VJ ||А ||/х + х B1| А ||) + О (в || А И), i ? S? (/). Правая сторона неравенства минимизируется (приближенно) вы- выбором x=j/e, и, следовательно, ||;| никогда не может возрасти много больше величины J^e |A||. 13.9.3. Регулирующая формула Предположим, что первый раз «вектор Ритца» у1 пересекает порог на шаге /, т. е. | cos /_ (у1; х-) | > к/]//. Тогда после кор- корректировки имеем 17 = г;-у&, I, = уГг^/В у, 1. A3.9.5) Основное соотношение, данное в A3.4.1), имеет вид AC^-Q^T^rft+F,. A3.9.6) и, когда г) исключено из A3.9.5) и A3.9.6), получаем AQ/-QyTy-|1y1e; = rye; +Fy. A3.9.7) Имеет смысл перенести yje,* в левую часть, поскольку yjGspanQ и у*Гу = О (s J Л ||) по построению. Напомним, что yi = Q/si и Tys = s161. Поэтому A3.9.7) переходит в равенство AQ,—Qy (Ту +^6,') =.Г/е; + Fj. A3.9.8) Возмущение Ту матрицей ранга единица является компенсацией за то, что Ту не является проекцией А на spanQy. Можно проверить (см. упр. 13.9.4), что собственными парами возмущенной матрицы являются % [?(ee] O), k>\. (ld-9-9) По теореме Пэжа ?, = (уГг/)/| у, | = ^„/(s;, || у, ||), где уп = О (г || А ||). Следовательно, i1Syi = yn/||y] J), т. е. величина syi выпадает и нет нужды, модифицировать пару (8,, у^). В то же время значительные изменения других собственных векторов sft не будут неожиданными. Формулы точно указывают, каким образом можно убрать компоненту по у1( которая впол- вползает в другие «векторы Ритца» yft. Поскольку мы не заинтересо- заинтересованы в вычислении подлинных плохих векторов Ритца из spanQy, то, по-видимому, нет смысла в запоминании модификаций к sft. Это облегчает положение.
§ 13.9. Анализ выборочной ортогонализации 303 Чтобы увидеть общую картину более четко, мы перейдем к следующему шагу и предположим, что новых пороговых векторов не появляется. Алгоритм выбирает экономичный путь использо- использования для коррекции Г/+1 вектора yi" вместо у{'+1). Хорошей оценкой для sin/_(y[i\ y{i+1>) является величина s/+lil, т. е. элемент (/'-J-1, 1) матрицы S/+], и мы надеемся, что s'-ftVi < <s;(' = O(j/ s). В любом случае, близки у}'* и у\/+и или нет, мы приходим к соотношению - Q,-+i[t, ,+i J(o о, IP, ip+»)| Вектор s(/> должен быть наделен дополнительной нулевой компонентой в нижней части для соответствия с матрицей TJ+V На рисунке: хх Па. XXX ? Д X х х ? Д Щ д х X X О ™ элетнтт Д - элементы Нижние две компоненты возмущающих векторов являются вели: чинами порядка O(e||Ty + 1f). Можно предположить, что аналогичная картина имеет место на шаге /-f-2, но этого не происходит. После двух коррекций Г/+2 будет ортогонален к yi с рабочей точностью (благодаря трех- трехчленной рекурсии): - О(в) - О(е) - y+2+ 0@. - 0@. В действительности ух не становится опять пороговым вектором, пока округления не приведут к возрастанию скрытой компоненты по у, в текущем векторе г до требуемого уровня. Новых кор- корректировок не потребуется до тех пор, пока новый у,., скажем у2, не пересечет порог на шаге т. Поскольку Qm должна.быть вы- вызвана для вычисления yBm>(=Qms2m))> стоимость алгоритма уве- увеличится лишь незначительно, если одновременно вычислить у(,т> и записать его на место yi".
304 Гл. 13. Алгоритмы метода Ланцоша Вспомним теперь о возмущениях Ту+1, связанных с коррек- корректировкой на шагах / и / 4-1 • А именно, уBт) должен быть вы- вычислен из соотношения Qms2 = Qmf sBm>—I1 и). Цель этой кор- корректировки—увеличить степень ортогональности у2т> к y(tm>. Следовательно, проще и эффективнее игнорировать возмущения и просто ортонормализовать Qms2m) к нормированному вектору у[т\ чтобы получить, когда это необходимо, новую ортонормаль- ную пару. Одна из возможностей состоит в том, чтобы реализо- реализовать это немедленно, как предлагалось в начале этого параграфа. Другая возможность—ждать до самого конца процесса. Строгий анализ процесса выборочной ортогонализации невоз- невозможно провести в этой книге. Детали, касающиеся реализации метода, обсуждены в работе [Parlett, Scott, 1979J. Упражнения к параграфу 13.9 13.9.1. Доказать по индукции или другим способом, то 13.9.2. Предположим, что у</>*гу=О. >Тогда используя упр. 13.9.1 и ра- равенство доказать лемму A3.9.1). 13.9.3. Доказать лемму A3.9.4). 13.9.4. Проверить, что собствеииые векторы матрицы Ty-fl^e? задаются выражениями A3.9.9). 13.9.6. Для каждой вычисленной пары Ритца (9, у) определить соотно- соотношением 1УI в-о, H-r/-iP/-i+3e|| А Щ последовательность {ту}. Показать, что если | y*q/_i |«?xy_j и |y*qy|<x, |y*4y+i l<ty + i- Предположить, что Ау—уВ=</|5', где q--qz для некоторого / Р |/" А /< /—1 и Р< |/ 13.9.6. Записать регулирующее уравнение для выборочной ортогоиализа- ции в виде где ij—строго верхняя треугольная, содержащая соответствующие кратные собственных векторов s^, используемых в вычислении пороговых «векторов Ритца», т. е. J/ = 2s*5je/. Предположить, чтох=уге, I—Q/Q/=C/+Cy с||С/||<х и ||Jy||«?х||А||. Тогда, пренебрегая всеми величинами порядка О (в || А ||), промоделировать доказательство теоремы Пэжа и установить, что для {=1, .,., I Показать, что для пороговых аектороа величины s^J,-s,- незначительны.
§ 13.10. Ленточный (или блочный) алгоритм Ланцоша 305 *§ 13.10. Ленточный (или блочный) алгоритм Ланцоша Даже при использовании полной переортогонализации основ- основной алгоритм Ланцоша не может обнаружить кратность вычис- вычисляемых собственных значений. Причины были рассмотрены нами в § 12.2. Это ограничение побудило к развитию блочной версии процесса Ланцоша, допускающей определение кратностей вплоть до размеров блоков. Идея заключается в том, чтобы начинать процесс не с одного вектора qt, а с некоторого множества взаимно ортонормальных векторов, которые выбираются как столбцы начальной (nxv)- матрицы Q1. Типичными значениями для v являются 2, 3 и 4. Обобщение алгоритма § 13.1 на эту новую ситуацию осуществ- осуществляется непосредственно, и мы кратко его опишем. Матрице Qt соответствует большое подпространство Крылова (Для простоты предположим, что A-^'Qj имеет ранг v, но, как мы увидим, отсутствие такого предположения не приводит к трудностям, осложнилось бы»лишь описание процесса.) Процедура Релея — Ритца, примененная к Xv' для /=1, 2 приводит к оптимальному ортонормальному базису Q/ = (Qi, Q2, ..., Q,), и проекцией А в этом базизе является блочная трехдиагональная матрица >i Bf В/-, А, где А,—матрицы vxv. Матрицы В, могут быть выбраны верх- верхними треугольными. Из нашего предположения, что матрицы A-^Q, имеют полный ранг, следует (см. упр. 13.10.2) обрати- обратимость каждой матрицы В,.. 13.10.1. Блочный метод Ланцоша Пусть задана (пxv)-матрица Ro. Тогда для /=1, 2, ... по- повторяется следующее: 1. R/_1=-=Q/B/_1, т. е. QR-разложение матрицы Ry_, (см. §6.7). 3. kf+-Q/R,.
306 Гл. 13. Алгоритмы метода Ланцоша 5. Вычисляются и проверяются пары Ритца. Если исходные тре- требования удовлетворены, то процесс останавливается. Этот алгоритм значительно более сложен, чем простой алго- алгоритм Ланцоша. В частности, стоимость вычисления собственных пар матрицы Ту пропорциональна величине (va)(v/). Как вознаг- вознаграждение за это, матрица Т, может иметь собственные числа кратности вплоть до (и включая) величины v, и, таким образом, можно получать аппроксимации к кратным собственным числам А. На практике, однако, Q, теряют взаимную ортогональность, как только наступает сходимость. Существующие средства против этого описаны ранее: либо полная переортогонализация, либо выборочная ортогонализация. Привлекательной и удачной альтернативой является продол- продолжение процесса вплоть до тех пор, пока первые пары Ритца не сойдутся и не будет потеряна ортогональность. Тогда нужно на- начать с нового Ro, столбцы которого ортогональны ко всем извест- известным собственным векторам, и продолжать итерировать таким образом, пока не будут найдены все требуемые собственные век- векторы. Значительная часть эффективности алгоритма Ланцоша теряется при этих возобновлениях, и выбор нового подходящего Ro с использованием информации о предыдущих прогонах про- процесса требует дополнительных усилий. Тем не менее метод ока- оказался весьма полезным. Вернемся теперь назад и, следуя работе [Ruhe, 1979], пере- переформулируем блочный алгоритм Ланцоша к виду, который ста- ставит его на ту же самую основу, что и простой алгоритм Лан- Ланцоша. В этом случае первоначальная А непосредственно приво- приводится к матрице ленточного вида. 13.10.2. Ленточный алгоритм Ланцоша Выберем ортогональные векторы q^ ..., qv и положим r = qv, tv, n=l. Затем для /=1, 2, ... повторяется следующее: v-i. м- /-1 2. г —Aqy— 2 q/*,7(<7ft = 0, если k < 1). '='"v 4. */+v> / *—1 г I- Если tj+Vij — 0, то v уменьшается. 5. Вычисляются и проверяются пары Ритца. Если исходные тре- требования удовлетворены, то процесс останавливается. В точной арифметике ленточный алгоритм идентичен блочному алгоритму. На практике он обладает тем достоинством, что не требует специальной подпрограммы QR-разложения.
§ 13.10. Ленточный (или блочный) алгоритм Ланцоша 307 В конце /-го шага вычисленные величины удовлетворяют со- соотношению AQz-Q/f^R/EJ + F,, A3.10.1) где Е;* = @, ..., 0, Iv) и Ff учитывает округления при выпол- выполнении шага /. Векторы Ритца имеют вид yI=QyS,., где t/s,= s,.6,.. Точность пар Ритца может быть оценена обычным способом: умножая A3.10.1) на s,-, находим II Ау,-у,9,1 == р„ = || В, (E;s,.) ||. A3.10.2) Ленточная версия алгоритма несколько более сложна, чем алгоритм с одним вектором. Однако если известно, что многие из требуемых собственных чисел имеют кратность v, то ленточный алгоритм Ланцоша с выборочной ортогонализацией E0) будет более эффективен, чем простой 50, поскольку все копии кратных собственных чисел будут найдены на одном и том же шаге, вместо последовательного вычисления их один за другим. В то же время если все собственные числа простые, то обычный 50 пред- предпочтительнее. Упражнения к параграфу 13.10 13.10.1. Подсчитать количество операций одного шага ленточного алго- алгоритма Ланцоша. Предполагать, что для вычисления 2v собственных чисел Т применяется ленточный QL-алгоритм (см. § 8.16) и тратится в среднем два QL-преобразоваиия на одно собственное число. Отыскание каждого s,- требует (v+1J v/ops. 13.10.2. Предположить, что tl+v ;.> 0 для / = 1 (/ —l)v. Почему Т не имеет собственных чисел кратности, большей, чем v? 13.10.3. В точной арифметике Q/Qy = lv и AQy—QyTy=RyE/. Исполь- Используя эти соотношения, доказать, что ?)*_iRy=O, и если Aj=QjAQj, to Q/Ry = O. Примечания и ссылки Начало всему положила статья [Lanczos, 19S0]. Различные связи с дру- другими методами обсуждались в работах [Householder, 1961] и [Wilkinson, 1965]. Более глубокое понимание простого алгоритма Ланцоша связано с неопубли- неопубликованной диссертацией [Paige, 1971]. Некоторые важные аспекты этих иссле- исследований были опубликованы [Paige, 1972, 1976], но доказательство приве- приведенной в § 13.4 теоремы в доступной литературе отсутствует. Использование нижней компоненты собственного вектора матрицы Ту для оценивания точности вектора Ритца было предложено Пэжем, а также в работе [Kahan, Parlett, 1976], но ие было воспринято большинством поль- пользователей. Тем не менее инженеры, химики и физики с успехом применяли простой процесс Ланцоша в больших, трудных задачах, вставляя разнообраз- разнообразные способы контроля за прогрессом вычислений (см. работы [Whitehead,
308 Гл. 13. Алгоритмы метода Ланцоша 1972], [Davidson, 1975] и [van Katz, van der Vorst, 1976]). Идея итеративного применения алгоритма, т.е. с периодическим возобновлением, восходит к некоторым ранним попыткам применить алгоритм Ланцоша на имевшихся в 1950 г. вычислительных машинах. Использование блоков было описано в [Golub, 1973], [Cullum, Donath, 1974] и [Underwood, 1975]. Выборочная ортогонализация была введена в работе [Parlett, Scott, 1979]. Сейчас Скотт советует применять 50 только в нужном конце спектра. В настоящее время алгоритм Ланцоша начинают адаптировать к вычислению всего спектра боль- большой матрицы А (см. работы [Cullum, Willoughby, 1979, 1980]).
ГЛАВА 14 Итерирование подпространства § 14.1. Введение Итерирование подпространства — это прямое обобщение и сте- степенного метода, и метода обратных итераций, которые были представлены в гл. 4. Если задана матрица А и подпростран- подпространство of из <§", то нетрудно определить новое подпространство Повторяя этот процесс, образуем последовательность подпро- подпространств Крылова Возникает вопрос: как эта последовательность может быть пред- представлена, может ли она быть полезной? Прежде чем обсуждать поставленные проблемы, мы должны ответить на одно очень разумное возражение. На практике <Sf задается косвенно через ортонормированный базис, скажем S = (x1( х2, х3). Тогда kHof будет натянуто HaAAS = (A*X!, А*х2, А*х3). Даже если эти столбцы нормированы, они просто являются &-ми членами в трех отдельных последовательностях, каждая из которых будет сходиться (медленно) к доминирующему собствен- собственному вектору гп, где Azn = znXn и Я,„ = |А|. Почему же три мед- медленно сходящиеся последовательности могут быть предпочти- предпочтительнее одной? Ответ состоит в том, что A*S—плохой базис для хорошего подпространства Ahaf. В § 14.4 мы увидим, что ' кк^>р сходится к span (zn, zn_1; ..., zn_p+1)—доминирующему инвариантному подпространству размерности р, и для достаточно больших k одно применение процедуры Релея—Ритца (см. гл. 11) приводит к хорошим аппроксимациям для индивидуальных собственных векторов. Если системы вида (А—о)х = Ь легко поддаются решению либо путем факторизации матрицы А—а, либо итерациями, то метод итерирования подпространства с матрицей (А—а)~1 может быть эффективно использован для получения р ближайших к а собственных чисел вместе с соответствующими им собственными
310 Гл. 14. Итерирование подпространства векторами. Это наиболее распространенный прием использования рассматриваемой методики. Основной момент здесь в том, что наградой за одновременную работу с несколькими столбцами с их периодическим ортонорми- ортонормированием является улучшенный множитель в линейной сходимости последовательных подпространств. Когда требуется найти несколько очень близких собственных чисел, улучшение особенно ярко вы- выражено и с лихвой компенсирует дополнительную работу, вы- вызванную использованием подпространств большей размерности, чем это необходимо в действительности. В других ситуациях метод может оказаться очень медленным. Трудности заключаются в том, что распределение собственных чисел обычно неизвестно, и поэтому не ясно, насколько большим должно быть выбрано р— размерность подпространства of. Более того, сама эффектив- эффективность метода сильно зависит от значения величины р. ' В течение 1960-х и 1970-х гг., когда алгоритм Ланцоша на- находился в забвении, были разработаны тонкие версии метода итерирования подпространств. Сейчас, когда существуют простые в использовании и надежные программы, реализующие алгоритм Ланцоша, уместно спросить, не следует ли совсем отказаться от метода итерирования подпространства. Нет, не следует, поскольку имеются несколько ситуаций, в которых его применение оправ- оправдано. 1. Если в наличии нет вторичной памяти, а в оперативной памяти может одновременно храниться только несколько га-мер- га-мерных векторов, то не оказывается другого выхода, как отбрасы- отбрасывать предыдущие векторы ^последовательности Крылова и исполь- использовать итерирование подпространства. 2. Если относительное расстояние между искомыми собствен- собственными числами и остальными очень велико, как в обратных ите- итерациях с хорошим сдвигом, то для сходимости потребуется только один-два степенных шага метода. Ситуация настолько хороша, что преимущества метода Ланцоша здесь совсем не требуются. Тем не менее при таких благоприятных обстоятельствах метод Ланцоша также работает очень хорошо. Самым прекрасным примером того, насколько хорошо метод итерирования подпространства может быть приспособлен к автома- автоматизации вычислений, является программа Рутисхаузера RITZIT, которая приведена как алгоритм II.9 Справочника. Программа достаточно сложна, чтобы быть эффективной для широкого круга применений. Тем не менее она понятна, и при ее создании были затрачены значительные усилия, чтобы сократить количество вопросов, по которым пользователь должен принимать самостоя- самостоятельные решения. Следующие три раздела описывают некоторые аспекты этой разработки.
§ 14.2. Реализации 311 § 14.2. Реализации Описание метода будет упрощено предположением, что А положительно определена и что требуется найти р доминирующих собственных пар (a,-, zt), i = n—р + 1. Матрица не будет меняться и может не быть известна явно, поскольку ее роль в программе соответствует оператору, получающему в качестве аргумента векторы и и возвращающему (в качестве результата) векторы Аи. Любые специальные особенности, которые позволяют экономить память или арифметические операции, могут быть учтены поль- пользователем при написании подпрограммы умножения матрицы на вектор, которую Рутисхаузер называет ОР (от английского слова «operator» — оператор). Для каждой реализации v-й шаг преобразует ортонормальныи базис Sv_! подпространства Av~1#> в ортонормальныи базис Sv подпространства Avaf. Добавим, что у нас должен быть опреде- определенный критерий сходимости. (Прямоугольная матрица Sv не связана никаким образом с матрицей Sy, составленной из собст- собственных векторов матрицы 1f, гл. 13.) 14.2.1. Реализация № 1: Простое итерирование подпространства Таблица 14.2.1 Операция Стоимость (a) Вычисление Cv=ASv_1 p вызовов ОР. (b) Проверка критерия сходимости для pn ops. каждого столбца (c) Ортонормирование CV = C.VRV (моди- р(р-\-\)п ops. фицироваииым процессом Грама — Шмидта из § G.7) (d) Присваивание SV = QV 0. Замечания к таблице 14.2.1. Столбцы Sv не являются опти- оптимальными аппроксимациями из span Sv к искомым собственным векторам. Даже если of = span (zn, zn_^, то столбцы Sv будут сходиться при V—* со только линейно к гп и zn_,, несмотря на то что они уже находятся в #" = spanS0 (см. упр. 14.2.1). Этот недостаток наводит на мысль, что процедура Релея—Ритца (см. § 11.3) должна часто применяться к подпространству Sv.
312 Гл. 14. Итерирование подпространства 14.2.2. Реализация № 2: Объединение итерирования подпространства и процедуры Релея—Ритца Таблица 14.2.2. Операдия Стоимость (а) Вычисление Cv = ASv,_j (b) Ортонормирование CV=QVRV моди- модифицированный процессом Грама — Шмидта (c) Формирование Hv = Qv(AQv) (d) Разложение Hv = е) Формирование SV = QVGV векторов Ритца для AV?P р вызовов ОР, С записывается место S. на p{p+l)n ops, Q за- записывается на место С. р вызовов ОР, 1 хрэ(х==5) (х зави- зависит от метода спект- спектрального разложения). kp2n ops, S записывается иа место Q. Рис. 14.2.1 дает картину одного шага реализации № 2. Замечания к таблице 14.2.2. Если Gv найдено как произведе- произведение ортонормальных матриц, скажем Gv = Pj ... Pk, то (е) мо- может быть выполнено одновременно с (d) по следующему алгоритму: SV = QV и далее Sv-<— SVP, для i — l, ... k. Формировать явно матрицу Gv нет необходимости, а для хранения S, С и Q доста- достаточно одного массива размерности пхр. Sv является наилучшим базисом в Av#', а ее столбцы сходятся к векторам г. Однако затраты при этрм значительные, в частно- частности операция (с) требует р дополнительных вызовов подпрограммы ОР, что приводит к удвоению стоимости каждого шага в сравне- сравнении с реализацией № 1. К счастью, имеется разумный способ избежать этих дополнительных вызовов, основанный на факте, что ф (А) имеет те же самые собственные векторы, что и матрица А, для любой аналитической функции qp, значения которой для раз- различных собственных чисел (как значениях аргумента) также раз- различны. Пока оставим функцию qp неопределенной и найдем аппрок- аппроксимации Релея—Ритца к qp(A) из Av<5". Аналогично предыдущим
§ 14.2. Реализации 313 1. Вышлете n A m 2. Ортонормашвция а, 3. ФормироЙонив отношении Ре/гея 4. Разложение (рпектра/tb/tot) В. Формирование \ Gy AQ G* Рис. 14.2.1. Один шаг реализации № 2. реализациям положим A4.2.1) Найдем новый базис, например CVFV, с (/? х/?)-матрицей Fv, удов- удовлетворяющей двум условиям. А именно, условию ортонормаль- ности (CVFV)*(CVFV)=I/, A4.2.2) и условию (CvFv)*cp(A)(CvFv) = A-2, (I4.2.3)
314 Гл. 14. Итерирование подпространства (что приводит к векторам Ритца), где А^2—диагональная матрица. Правильным выбором является ф(?) = ?~г, так что A4.2.3) пре- преобразуется в соотношение ifv)=f;fv = a;2. A4.2.4) Отсюда следует, что FVAV будет ортонормальной матрицей и A3.2.2) принимает, согласно A4.2.4), следующий вид: c;cv=(F-*a-i)a2v(^1Fvi) = = (FVAV)^(FVAV)«. A4.2.5) Таким образом, Fv и Av определяются путем спектрального раз- разложения матрицы C*CV. 14.2.3 Реализация № 3: Это реализация № 2, примененная к А~2 Таблица 14.2.3. Операция Стоимость (a) Вычисление CV = ASV-1 р вызовов ОР, С записывается иа место S. (b) Вычисление Hv=CvCv l/2p(p+l)n ops (c) Спектральное разложение хр3 ops (x зависит от ме- . н r a2r* тода). (d) Формирование Sv= kp2n ops, CVBVA~' (=CVFV) S записывается иа место С. Замечания к таблице 14.2.3. Hv является проекцией А2 на spanSv_! (см. упр. 14.2.2). Новое Sv будет отличаться от Sv из предыдущей реализации. Кроме того, Sv не представлено в виде произведения ортонормальных матриц. Райнш нашел разумный способ устранить этот пробел [Reinsch, 1971] следующим обра- образом. Пусть QR-разложение матрицы Cv имеет вид QVRV, как и в реализации № 2. Тогда из операции (Ь) реализации № 3 имеем Hv = CVCV = RvQvQvRv == RvRy LR-преобразование было предшественником QR-преобразова- QR-преобразования, и, будучи примененным к Йу, оно приводит к матрице Hv (более близкой к диагональной), определяемой перестановкой со-
§ 14.2. Реализации 315 множителей матрицы Hv ^ RvRv = RVHVRV = RvBvAvr5vRv (здесь была использована операция (с) из реализации № 3). Можно проверить (см. упр. 14.2.3), что PV=RVBVA~1 является ортонормальной матрицей, составленной из собственных векторов Hv. Поэтому из операции (с) реализации № 3 имеем Sv = CvB^-1 = QVR VBVA;> = QVPV. 14.2.4. Реализация № 4 (no программе RITZIT) Таблица 14.2.4. Операция Стоимость (a) Вычисление Cv = ASv_j р вызовов ОР, С на место S. (b) Разложение Cv = QvRv p(p-\-\)n ops, Q на место С. (c) Формирование Hv = RvR* 1/3 p3 ops. (d) Разложение Hv = PvA*P* хрз ops (x ~ 5). (e) Формирование Sv=QvPv kp%n ops, S на место Q. Замечание: Операции (d) и (е) могут быть осуществлены сов- совместно. Упражнения к параграфу 14.2 14.2.1.- Выбрать S0 = (sb s2), где s/ = (zn ± zn_1)/]^ 2, и проверить, что S ej сходится линейно к zn. Чему равен множитель сходимости? 14.2.2. Показать, что Hv является проекцией А2 на spanSvl. Опреде- Определение и обсуждение свойств проекций даны в § 1.4 и § 11.4. 14.2.3. Показать, что матрица Р =RVBVA-' действительно ортогональна. 14.2.4. Почему, несмотря на совпадение собственных векторов матриц А и ф (А), векторы Ритца для А и ф (А) из Sv неодинаковы? Указание: Посмотреть разд. 11.4. 14.2.5. Составить таблицу, указывающую полное количество действий и объем памяти, требуемые для каждой из четырех реализаций.
316 Гл. 14. Итерирование подпространства § 14.3. Усовершенствования 14.3.1. Чебышевское ускорение Методика, описанная в этом разделе применяется во многих - областях численного анализа и, следовательно, заслуживает вни- внимания, краткого упоминания здесь будет недостаточно. Даже в связи с реализацией № 4 процедура Релея — Ритца остается дорогостоящей, и поэтому заманчиво сделать несколько шагов основного степенного метода между каждым применением процедуры Релея — Ритца. Для определенности предположим, что алгоритм вычисляет последовательность Sv+( = ASv+z-t, / = = 1, ..., т. Однако вместо этого не труднее вычислять после- последовательность SV+/ = (A—oj)Sv+j-i< /=li •••> т< введя сдвиги а,.. Таким путем алгоритм мог бы вычислять последовательность с любым нормированным полиномом степени т. Проблема состоит в том, чтобы выбрать полином qp. После первого применения процедуры Релея — Ритца, программа обладает аппроксимациями 0_!, ..., 0.^ к доминирующим собст- собственным числам. 0_/ являются собственными числами Hv, либо Hv, либо Hv. После недолгого размышления становится ясно, что полезным (это не означает, что оптимальным) является выбор такого ф, который на интервале [0lt Q_p] настолько мал, насколько это возможно. Поскольку 0t неизвестно, то обычно используют ин- интервалы [0, В_р], если матрица А положительно полуопределе- полуопределена, и [—Q_p, Q-p] в противном случае. Сформулированная задача в теории аппроксимации решается с помощью полиномов Чебы- шева, адаптированных к соответствующему интервалу. Эти поли- полиномы кратко описаны в приложении В. Замечательным фактом является то, что здесь не нужно знать, а затем использовать нули соответствующих полиномов Чебышева Тп (?) в качестве сдвигов а/у поскольку простая трехчленная рекурсия с постоян- постоянными коэффициентами позволяет вычислять Tf(k) через TJ_1{A) и Т/_г(А). Точнее говоря, если Тт адаптирован к интервалу [-9, 9], то >v+/ (I) = Ц- Tv+/_, (I)-Tv+/_2 (I)/ s _2 / = 2 т. Кроме того, сохранять Sv+,_2 нет необходимости при условии, что все столбцы Sv по очереди преобразуются непосредственно к столб- столбцам Sv+m. Это означает, что дополнительно нужно хранить только
§ 14.3. Усовершенствования 317 два n-мерных вектора, чтобы реализовать предлагаемое ускорение сходимости Sv. Как выбрать яг? Важное преимущество рекурсии заключается в том, что она не зависит от яг и, следовательно, значение яг может быть выбрано в ходе вычислений. В § 14.4 будет показано, что множитель сходимости для доминирующего вектора Ритца равен Q_p_1/Q_1. Если это отношение мало, например 0.1, то про- процесс практически не нуждаегся в ускорении, значение т может быть выбрано равным единице. Однако когда отношение близко к единице, скажем 0.98, то большие значения т дают заметную выгоду. Единственным ограничением, является требование, чтобы столбцы матриц Sv+m были полностью независимыми. В своей программе RITZIT Рутисхаузер требует, чтобы II Sv+m || = Тт (8_ ,/е_,) < ch 8 < 1500. Упомянутая программа, включающая в себя этот мощный меха- механизм, исключительно проста и даже элегантна. Тем не менее, чтобы придерживаться правильной перспективы, мы должны на- напомнить, что алгоритм Ланцоша через т. шагов дает больше, чем чебышевское ускорение, использующее неизвестный оптималь- оптимальный интервал [о^, a.^.J. Это замечание основано на теории, рассмотренной в § 12.4. 14.3.2. Рандомизация Имеется способ оградить алгоритм от неудачного выбора на- начального подпространства <У, которое может оказаться почти ортогональным к одному из искомых собственных векторов. После каждой ортогонализации базисных векторов, один из них с са- самым внутренним отношением Релея 8.^, заменяется случайным вектором, ортогональным к остальным векторам базиса. Это простейший способ сделать как можно менее вероятным пропуск любого искомого собственного вектора. Очевидно следует ожидать, пока не стабилизируются отноше- отношения Релея, и Рутисхаузер требует выполнения трех аппроксима- аппроксимаций Релея — Ритца. Это пример одного из редких специальных параметров, имеющихся в программе. Альтернатива, состоящая в вычислении отношений Релея до стабилизации 0_т представ- представляется излишне сложной. Заметим, что этот механизм в известной мере препятствует чебышевскому ускорению, которое использует величину р-го отношения Релея Q_p для определения интервала, к которому адаптируется полином Чебышева. Нужна некоторая осторожность при точном задании концов интервала, чтобы обезопасить их от неправильных текущих значений Q_p. С деталями читатель может ознакомиться в алгоритме II.9 Справочника.
318 Гл. 14. Итерирование подпространства 14.3.3. Критерий окончания процесса Аппроксимации Релея—Ритца б,- в отсутствии округлений монотонно приближаются к своим пределам a, (i = ± 1, ±2, ...) при продолжении итерирования подпространства. Рутисхаузер в программе RITZIT принимает значения б,-, как только они стабилизируются (достигаемая точность близка к рабочей). Про- Проверка векторов Ритца у,- не производится, пока значения 6, не приняты. Из § 11.7 напомним, что где г,-= (А—9,-)у,- известно, а расстояние y = rnin{|a/+1}—а,-|}> |а,—a,-+i| — нет.. Рутисхаузер использует значения б для аппрок- аппроксимации расстояния у и, таким образом, получает вычислимую оценку угла ошибки, которая может сравниваться с требуемой точностью. Те, кто имеет опыт вычислений, знают, что заданные пользо- пользователем требования к точности могут иногда быть недостижимыми. Поэтому Рутисхаузер встроил в простую меру ошибки (Цг^Ц/у) дополнение, которое обеспечивает, что работа программы будет закончена даже в тех случаях, когда требуемая точность выше, чем может достигнуть программа. Однако Рутисхаузер не исполь- использовал ни норму невязки для сгруппированных собственных чисел (см. § 11.5), ни уточненные границы ошибок гл. 10. *§ 14.4. Сходимость Пусть Z = (Zi, . . ,zm), где Azl = z,a1-, i—l, ...,/n — матрица искомых собственных векторов. Для определенности мы предпо- предположим <а-+1<..., A4.4.1) так, чтобы Ж = Ж == span Z было доминирующим инвариантным подпространством матрицы А. Пусть <У—произвольное т-мер- ное подпространство <§" и {А"*^: & = 0, 1, 2, .. }—соответст- }—соответствующая последовательность, образуемая итерированием подпро- подпространства <У. Величина /_{Ш, А"*^"), определенная в § 11.7, является слишком грубой мерой качества аппроксимации Ш под- подпространством A~kSf, поскольку пользователь хочет знать, на- насколько хорошо отдельные векторы, такие, как z,, могут быть аппроксимированы векторами из k~k^f. Поэтому естественными объектами изучения являются величины */*'== Z(z/. A-^^minZtz,, x) по всем \^к~к^.
§ 14.4. Сходимость 319 Нам нужно знать, как быстро tyf'—*0, в то же самое время хотелось бы сделать доказательство настолько близким к одно- одномерному случаю, насколько возможно. По этому вопросу чита- читатель может обратиться к § 4.2. Чтобы при k —> оо последовательность {А"*^} сходилась к Ш, а не к другому инвариантному подпространству, необходимо предположить или выполнение неравенства ^/B, &) < л/2, или, эквивалентно, что для любого ортонормированного базиса S под- подпространства if матрица Z»S обратима. A4.4.2) Полезное понятие в анализе—это угол W (матричный) между Ш и <if, определяемый соотношением 4f = arccos(Z*SS*ZI/2. A4.4.3) Функции от матриц могут быть определены различными способами, но в нашем случае матричный аргумент Т необходим только для того, чтобы придать смысл таким матрицам, как sinY и tg W, которые, будучи выраженными в терминах S и 2, имеют не очень удобный вид. Предположение A4.4.2) гарантирует, что W опре- определена корректно. Заметим, что она не является диагональной. По аналогии с одномерным случаем существует такой орто. нормальный базис S, что Z*S = S*Z = cos W (см. упр. 14.4.1), Этот базис S может быть выражен через Z следующим образом; A4.4.4) где (см. упр. 14.4.2) J*J = Im, Z*J=O. A4.4.5) Теорема. При сделанных относительно df и М предположе- предположениях A4.4.1) и A4.4.2) каждый собственный вектор zh i^.m, удовлетворяет неравенству tgZ(z,-, A-*^)<(a//am+1)Mg^B> if). A4.4.6) Доказательство. Умножая равенство A4.4.4) слева на мат- матрицу А~*, а затем справа на матрицу (sec 40 Л*, получим A~*S (sec V) Л* = A~*ZA* + A"*J (tg V) Л* *, A4.4.7) где A = diag(a1, ..., am). Ключевым фактом является ортогональ- ортогональность Z к A~*J (см. упр. 14.4.3). Поэтому оказывается удобным
320 Гл. 14. Итерирование подпространства переписать A~*J в виде A-*J=JftQft, Qft=(J»A-4J)»/2, A4.4.8) так чтобы матрица J* была ортонормальной. Заметим, что по- поскольку Z*J = О, то Л0*8* max VJ»A-a*Jv<a^i. A4.4.9) II о 11= I Рассмотрим теперь /-й столбец из A4.4.7): xf > = А ~ *S (sec Y) Q/xf = z, + u,, где Uj=*JkQk(tgW)ej<x,f. Отсюда, последовательно используя A4.4.8), A4.4.9) и упр. 14.4.4, окончательно получаем /t х<-*>) = 1^1/1= A4.4.10) /, S (sec 4) e,) Оценить этот результат можно, сопоставив вычисление z, путем итерирования подпространства и методом обратных итераций (см. упр. 14.4.5). Теорема A4.4.6) показывает, что некоторая последовательность {xj*>:xf) = A~*S(sec'lP)ejr} —> zy при k—* оо, но это не относится к поведению последовательности {у\ь\, вычисленной в действи- действительности, скажем, с использованием реализации № 4. Некоторые авторы, козыряя «оптимальностью» векторов Ритца, заключают, что последовательность {у}*1} должна сходиться по крайней мере так же быстро, как последовательность {х^>}. Такой аргумент ошибочен, поскольку yjk) не являются ближайшими еди- единичными векторами из А~к<У к z/. Таким образом, х могут схо- сходиться быстрее, чем у. Рутисхаузер показывает, что у$*'—*-х}*' с той же асимптотиче- асимптотической скоростью, что и \)к)—<-Zj% и, следовательно, линейную сходимость {у)к>\ к г, определяет тот же самый улучшенный множитель («//ат+1). Трудность доказательства объясняется слож- сложной природой векторов Ритца, и необходимо краткое отступление, прежде чем эти утверждения можно будет обосновать. Если В является неортонормальным базисом для span В, то каждая аппроксимация Ритца для А2 из span В имеет вид Bt, где t удовлетворяет уравнению (В*А2В —n2B*B)t = o A4.4.11) при соответствующем значении Ритца ц (см. упр. 14.4.6).
§ 14.4. Сходимость 321 Теорема. Если метод итерирования подпространства исполь- использует реализацию N° 4, то каждый вектор Ритца y\k) при k—»• оо связан с вектором х\к) теоремы A4.4.6) соотношением ^ ], f~l, ...,m. A4.4.12) Доказательство. В базисе В s= A~*S (sec 4) Л*, заданном в A4.4.7), х\к) представлен вектором е,, a yj*> представлен реше- решением t(> уравнения A4.4.11). После подстановки правой части A4.4.7) вместо В уравнение A4.4.11) принимает вид [A^-^ + {a-^A)"Hk(a^+lA)"]t = o, A4.4.13) где, согласно упр. 14.4.7, A4.4.14) Возмущение в A4.4.13) к Л2—ц2 при й-*оо обращается в нуль, поэтому для достаточно больших k существуют ц;, близкие к а,., и t{, близкие к е,. Рассмотрим теперь k, настолько большое, что \\1{—а, | ^6= -g-mln |сзсу—а,.| по всем aj^at. При таких k (a\, t,-) является хорошей аппроксимирующей парой для собственной пары (ц], е;), и вектор невязки г; для A4.4.13) удовлетворяет соотношениям («i/a.+i) * («-+,! tg TID2- A4.4.15) При выводе последнего неравенства используется A4.4.14). По теореме 11.7.1 (результаты об отделенностях) sinZ(t|.e,)<flr,||/6. A4.4.16) Для больших k базис В почти ортонормален, поскольку 1*1- <14-4J7> Если объединить неравенства A4.4.16) и A4.4.17) (см. упр. 14.4.8), то оказывается, что в пределе A4.4.17) доминирует и при k —*¦ ов Ef^)tgV||, A4.4.18) что завершает доказательство.
322 Гл. 14. Итерирование подпространства Упражнения к параграфу 14.4 14.4.1. Пусть S—произвольный ортонормальныи базис подпространства <У. Найти такую ортогональную (т X т)-матрицу О, чтобы S=SG удовлетво- удовлетворяла равенствам Z*S = S*Z = cos V, где cos V — положительно определенная матрица. 14.4.2. Проверить, что J=S cosec V — Zctg V. 14.4.3. Показать, что ZJ_A~*S. 14.4.4. Показать, что tg ? (z,-S sec Чге/) = || (tg V) еД. 14.4.5. Найти выражение для числа шагов метода итерирования подпро- подпространства, требуемых, чтобы уменьшить угол ошибки в 1000 раз. Разделить полученный ответ на яг и сопоставить с результатом для метода обратных итераций. Является ли это сравнение корректным? 14.4.6. Ортонормальным базисом для span В является матрица В(В*В)~1''2. Используя этот факт, вывести уравнение A4.4.11). 14.4.7. Показать, что Hft = tg <? (&!_! —(хай|) tg *?а%+, и затем подтвер- подтвердить A4.4.14). 14.4.8. Запишем имеем также cos ? (у,х,-) = t'iBBe,-/|| Bt/ [I• Be/ [|. С помощью этих двух фактов доказать неравенство A4.4.18). § 14.5. Секционные методы Существует вариант рассмотренных в § 14.2 и 14.3 реализаций, нацеленный на подкласс больших задач, в которых должны быть вычислены все собственные числа из заданного интервала (а, р), как бы много их там ни было. Интервал может оказаться весьма широким. Конечно, спектр можно было бы поделить в точках a и р, но что делает эту проблему интересной, так это желание свести число требуемых разложений матриц к минимуму и пред- предпочтительно к одному. В методе используется только одно применение процедуры Релея — Ритиа. Итеративная часть сведена к определению началь- начальных векторов, которые действительно порождают инвариантное подпространство, связанное с (a, (J). Дорогим (по цене) этапом является разложение матрицы А—ц Для некоторого ц, равного (или близкого) средней точке (а + Р)/2, но зато сомножители допускают относительно быстрое выполнение обратной итерации. Цель состоит в том, чтобы быстро определить, какая из трех возможных ситуаций имеет место: (а) интервал (а, р) не содер- содержит собственных чисел, (Ь) одно или больше собственных чисел,
§ 14.5. Секционные методы 323 близких к \i, (с) собственные числа группируются около а и Р, но не около \i: Это различение достигается путем тщательного контроля скорости сходимости обратных итераций для одиноч- одиночного вектора, который сохраняется ортогональным к уже найден- найденным направлениям, находящимся в инвариантном подпространстве, связанном с (а, Р). Обратная итерация эффективна для ситуаций (а) и (Ь), но не для (с). При раннем обнаружении ситуации (с), программа может отменить текущий сдвиг и, только когда это оправдано,^начать снова с хорошо выбранным сдвигом, близким к а, и другим, близким к р. В итоге для сложных ситуаций это приводит в сумме к трем разложениям. В ситуации (Ь) итерацию останавливают, как только стано- становится очевидно, что вектор лежит в требуемом подпространстве; здесь не приходится ждать сходимости. Поскольку программе значения а и Р заданы» то для дополнительного подавления ком- компонент по собственным векторам, соответствующим собственным числам, лежащим вне интервала (а, Р), можно воспользоваться чебышевским ускорением. Таким образом, к начальной матрице добавляются столбцы до тех пор, пока не придем к случаю (а), сигнализирующему о том, что инвариантное подпространство охвачено. Одно приме- применение процедуры Релея — Ритца, использующей А, приводит к искомым собственным векторам. Все важные детали описаны в работе [Jensen, 1972], где впервые был предложен секционный алгоритм. Другой вариант секционного метода был предложен недавно в работе [Wilson, 1978], который, по-видимому, не знал работы Йенсена. Минимизируя число действий и делая некоторые упро- упрощающие предположения, Уилсон установил, что хорошим выбором ширины блока в методе итерирования подпространства является величина У т/2, где т—половина ширины ленты А. Для опре- определенности будем считать, что оптимальный размер блока для заданной матрицы принимается равным десяти. Стратегия Уилсона более свободно использует разложения, чем подход Йенсена, и применяет деление спектра для нахожде- нахождения подынтервалов (а, Р), каждый из которых содержит при- примерно 7 собственных чисел. Затем Уилсон начинает с ближайшего к р подынтервала (т. е. самого внутреннего конца большого ин- интервала) и применяет итерирование подпространства для нахож- нахождения соответствующих ему собственных чисел и векторов. После этого он продвигается к а, пользуясь некоторыми векторами из предыдущих итераций как начальными и следя за тем, чтобы все начальные векторы были ортогональны к найденным ранее собственным векторам. Обычно процесс осуществляют, продвигаясь от а к р.
324 Гл. 14. Итерирование подпространства Когда ширина ленты w очень мала относительно п, то разло- разложения сравнимы по стоимости с другими векторными операциями, такими, как ортогонализация. В этом случае оправданы деление спектра и описанный в § 3.5 метод локализации собственных чисел, а затем отыскание собственных векторов за один или два шага метода обратных итераций. Когда собственные пары вычис- вычисляются последовательно, отпадает необходимость использовать блоки, размер которых больше числа искомых собственных век- векторов. Примечания и ссылки Одна нз работ, анализирующая блочные методы,— [Bauer, 1957], но самые важные работы по итерированию подпространств это [Rutishauser, 1969 и 1971]. Геометрические аспекты обсуждались в [Parlett, Poole, 1973]. Инженеры-строители применяли и развивали метод в значительной мере независимо от специалистов по численному анализу, и поэтому у них своя терминология. Например, Дженнигс пользуется термином «матрица взаимо- взаимодействия», говоря о том, что мы называем проекцией матрицы А на подпрост- подпространство. Относительно недавние работы, где описывается испытание некото- некоторых вариантов: [Bathe, Wilson, 1976] и [Jennings, 1977]. Изобретение секционного алгоритма [Jensen, 1972] оказалось очень полез- полезным для больших задач. Одиа из последних работ (смотри внизу) в этой области. [Jennings, Agar, 1978] 1>. 4) К моменту написания книги.— Прим. перев.
ГЛАВА 15 Обобщенная линейная проблема собственных значений § 15.1. Введение В этой главе обсуждается задача вычисления нескольких или всех пар (Я, г), удовлетворяющих для двух заданных симметрич- симметричных матриц Аи М уравнению (А—XM)z = o, гфо. Скаляр к называется собственным числом (или корнем) пары (А, М), a z— соответствующим ему собственным вектором. Гантмахер назвал матрицу А—ХМ матричным пучком. Несколько странно исполь- используемое слово «пучок» пришло из оптики и геометрии. Собранные вместе лучи (света), сходящиеся в точку, напоминают острый конец карандаша, и расширенный естественным способом термин стали использовать для обозначения любого однопараметриче- ского семейства кривых, пространств, матриц и других математи- математических объектов. В структурном анализе А соответствует матрица жесткости (обычно записываемая ¦ как К) и М — матрица масс. Два пучка (Ах, Mt) и (А2, М2) называются эквивалентными, если существуют такие обратимые матрицы Е и F, что A.-EAJF, M2=EMtF. A5.1.1) Корни двух эквивалентных пучков совпадают, а собственные векторы связаны простым соотношением (см. упр. 15.1.1). Кроме того, корни Я,, Я2) ... являются нулями характеристического многочлена X (т) = det [тМ—А]. A5.1.2) Симметрия—слишком драгоценное свойство, чтобы от нее отка- отказаться, и поэтому мы будем рассматривать только конгруэнтные пучки, т.е. эквивалентные пучки, для которых E = F*. Условие F*=F~l не является необходимым для сохранения собственных чисел, но ортонормальные матрицы весьма популярны, поскольку, согласно факту 1.10 гл. 1, |А,|| = ||A2j|, || Mt [| = |[ М21| и, следова- следовательно, существует опасное возрастание элементов, которое может иметь место при явном выполнении преобразования конгруэнтности. Было бы естественным пытаться искать аналог спектральной теоремы (см. факт 1.4 гл. 1) и соответственно определить канони- каноническую форму (т. е. простейшую пару) матриц в каждом классе
326 Гл. 15. Обобщенная линейная проблема конгруэнтных пучков. Ответ заключается в одновременном при- приведении к диагональному виду. Для некоторых пучков (А, М) существует такая обратимая матрица F, что FAF D Здесь имеется два важных отличия от спектральной теоремы: A) хотя отношения (если они существуют, т.е. %=т^0) Ф/Ф,-, t=l, ...,п, определяются однозначно, матрицы Ф и W опреде- определяются не единственным образом и B) приведение не всегда возможно. Если г|),.ФО, t = l, ...,п, то пару Ф, ? можно нормировать, полагая ?=1 и Ф = Л = diag(Я,1, .... Кп), но делать это не всегда разумно. Этот момент детально рассмотрен в § 15.2 и 15.3, где изложен основной материал по матричным пучкам или, эквива- эквивалентно, по парам квадратичных форм. , После подготовки, которую дают § 15.2 и 15.3, в § 15.4, 15.5, 15.6 и 15.7 обсуждается численное приведение пары (А, М) к канонической форме (Л, I), в то время как остальная часть главы связана с распространением методов предыдущих глав на большие пучки (А, М). Упражнение к параграфу 15.1 15,1.1. Пусть А2 —ЕА^, M2 = EM1F. Показать, что корни пучков (А^ Mj) и (А2, М2) одинаковы н установить соотношение, связывающее их собственные векторы1>. § 15.2. Симметрии недостаточно Обобщенная проблема собственных значений в принципе труд- труднее, чем стандартная, поскольку здесь могут иметь место три новых явления. К счастью, они могут быть проиллюстрированы на пучках порядка 2x2. собственны* пары (I, е,); XI. Ъ>- И A-F1 °1 М-Г° ° "• [о о]' м [о i -¦ - -[т 1} -«. 1> Предполагается, что Е и F обратимы.— Прим. перев.
§ 15.2. Симметрии недостаточно 327 В (I) все скаляры являются собственными числами для е2. В (II) бесконечности является собственным числом для хорошо опреде- определенного собственного вектора е,. В (III) собственные числа ком- комплексны, несмотря на то что матрицы А и М симметричны. Послед- Последнее явление проясняется следующим неожиданным результатом. Теорема. Любая вещественная квадратная матрица В может быть представлена в виде В = АМ~1 или В = М~1А, где А и М — соответствующие симметричные матрицы. Доказательство предлагается читателю как упр. 15.2.3. Отсюда следует, что любые трудности, возникающие при вычислении соб- собственных значений В, свойственны и задаче решения уравнения (А— Пучки типа I, для которых ^(/) = 0 при всех t, называются сингулярными. Часто, но не всегда, пучки сингулярны потому, что А и М имеют некоторый общий нуль-вектор, т. е. Ах = Мх = о, х^=о. Такой вектор х, строго говоря, является собственным век- вектором, и любое число будет соответствующим собственным числом. Подобная ситуация по меньшей мере не ортодоксальна, поэтому начальный этап анализа любого пучка должен заключаться в том, чтобы отыскать общее нуль-пространство и избавиться от него. Теоретически такое подпространство удаляется путем исчерпыва- исчерпывания, т. е. сужением А и М на дополнительное инвариантное под- подпространство в <Вп. На практике возникает опасение, что могут существовать век- векторы х, которые почти аннулируются обеими матрицами А и М. В таком случае программа может вычислить некоторые собствен- собственные числа, которые, хотя и выглядят вполне невинно, не только сверхчувствительны к возмущениям А и М, но чье присутствие сильно понижает устойчивость других собственных чисел. Следую- Следующий пример демонстрирует сущность этих замечаний: Г1 О I Г1 0 1 А=[о ю—J • мЧо 2xio-°J: Решения A-6l) A5.2.2) Возмутим теперь элементы А на величины порядка 10~8, т. е. положим 1 V2x 10-8 ]/2х10-8 2x10- А' = ю-81 A5.2.3) Корни (А', М) равны приблизительно 1 ± 10~4, а соответствую- соответствующие собственные векторы е2 + 10~4е,. Таким образом, изменение элементов А на 10~8 изменило корень 1 на 10~4, т. е. ошибка уве-
328 Гл. 15. Обобщенная линейная проблема ^_ личилась в 104, в то время как корень -у изменился полностью. Собственные числа, такие как у, называются плохо-определен- плохо-определенными—этот подходящий термин был введен Стюартом. Теперь заметим, что задача 15.2.2 эквивалентна задаче с матрицами ПО] Г1 01 А==[0 lj' М=[о 2\: Решение: 0' е»)' ПО] ==[0 lj' М= которая превосходно обусловлена. Математически в точной арифметике мы не можем провести различие между A5.2.2) и A5.2.4). Осознание, что A5.2.2) и A5.2.4) не в равной мере допустимые представления одной задачи, может оказаться важным в некоторых приложениях, но такая информа- информация является внешней по отношению к стандартной теории матрич- матричных пучков и должна рассматриваться как дополнительный аспект проблемы. Лучше, если это может быть сделано указанием спо- способа масштабирования, который может быть применен при конкрет- конкретных данных. Важно подчеркнуть, что бесконечные собственные числа (слу- (случай IIJ не обязательно являются плохо определенными. Факти- Фактически бесконечные собственные числа (А, М) являются нулевыми собственными числами пучка (М, А). Это еще одно указание на то, что каждое собственное число пучка следует скорее представ- представлять в виде отношения, а не обычного числа. Наша естественная мера разделенности собственных чисел, а именно \Xt-—X.|, также под вопросом. Поскольку роли А и М взаимно заменимы, то пред- представляется целесообразным использовать такую меру отделенности Xt и Xj, которая была бы инвариантна относительно обратного преобразования. Хордовая метрика Х(Х, ^^IX-iil/KT+vyT+l? обладает этим свойством (см. упр. 15.2.4 и 15.2.5). Она возникает при изучении неевклидовой геометрии. Располагая этим аппаратом, можно обобщить оценки ошибок из гл. 4, 10 и 11, чтобы охватить пучок (А, М) в подлинно инва- инвариантном смысле, Некоторые результаты подобного рода по воз- возмущениям имеются в работах [Crawford, 1976J и [Stewart, 1979]. Однако оценки ошибок в данной книге не требуют, чтобы сравни- сравниваемые матрицы были близки в каком-либо смысле. Упражнения к параграфу 15.2 15.2.1. Проверить приведенные решения примеров (I), (II), и (III). Найти симметричный Bх2)-пучок только с одним собственным вектором.
§ 15.3. Одновременная диагонализация 329 15.2.2. Найти сингулярный Bх2)-пучок, в котором А и М не обладают общим нуль-пространством. 15.2.3. Заметим, что р 0 - м 0 1 р 0 V- 0 р 0 1 р 0 V- 1 р ft 0 р 0 1 р 0 V- Р1 0 -** 0 и пусть B = FJrF-1, где J — вещественная жорданова форма. Показать, что Jr может ^быть записана в виде Jr = AM~A, а отсюда прийти к выводу, что В = = АМ-1, где A = FAF и M = FMF*. 15.2.4. Показать, что% = (к, ц) = хAА, 1/р,). Полагая к = а1/$1, р.=О2/Р2, выразить %(К, \i) через а и р. Заметим, что % инвариантно относительно орто- ортогонального преобразования 15.2.5. Показать, что х—длина хорды, соединяющей на рисунке ниже К и JL. § 15.3. Одновременная диагонализация двух квадратичных форм В точной арифметике все три явления, обнаруженные § 15.2, могут быть исключены, если мы ограничим наше внимание теми случаями, когда либо А, либо М, либо какая-нибудь их комбина- комбинация aA-(-(iM является положительно определенной матрицей. Это сужение класса матриц представляется естественным, если заме- заметить, что стандартная проблема собственных значений соответст- соответствует M=I, a I—это прототип всех положительно определенных матриц. Фактически для заданного пучка (А, М) мы ничего не теряем, рассматривая эквивалентный пучок (А, М) = (уА + аА, —аА+уМ) для любой пары чисел (у, а), такой, что у* + а*=1. Какую же наилучшую пару выбрать? Чтобы ответить на это, рассмотрим
330 Гл. 15. Обобщенная линейная проблема величину М)=з inf {(x*AxJ + (x*MxJ}1/2. A5.3.1) || х ||=1 Следующий интересный результат приведен в работе [Uhlig, 1979]. Теорема. Если ц(А, М) > 0, то при любом п > 2 существует такая пара (у, <т), что матрица М = уМ — а А положительно опре- определена. A5.3.2) Даже когда М положительно определена, может оказаться предпочтительнее работать с пучком (А, М), если Я^М)^.^, (М). В настоящее время нет экономичного способа, использующего теорему A5.3.2), для отыскания наилучшей пары. Пучки с ц > 0 называют определенными, и по идее остальная часть главы приме- применима к любым определенным пучкам, однако мы ограничимся только теми пучками, определенность которых выражена явно. Именно определенность пучка (А, М) гарантирует одновремен- одновременное приведение А и М к диагональному виду. Теорема. Если М положительно определена, то существует много таких обратимых матриц F, что F*AF и F*MF одновре- одновременно диагональные и вещественные матрицы. A5.3.3) Доказательство. Согласно спектральной теореме и предполо- предположению, M = GA2G*, где G —ортонормальная матрица, a A = diagF!, ..., бл)—вещест- бл)—вещественная матрица. Единственное, но решающее использование поло- положительной определенности состоит в том, что собственные числа М положительны и, следовательно, позволяют получить веществен- вещественную Д. Теперь приведение пучка к стандартной форме осущест- осуществляется следующим образом: A—>A~1G*AGA-1 = H, M—*A~1 По спектральной теореме для Н существует такая ортонормаль- ортонормальная Р, что Н = РЛР*, и поэтому при F = GA~]P, т. е. равным произведению обратимых матриц, имеем A^F*AF = A, M —F*MF=I. Заметим, что для любой неособенной диагональной матрицы Q ма- матрица FQ также осуществляет приведение к диагональному пучку. Доказательство предлагает простой способ вычисления корней пары (А, М), но пока эту тему отложим до следующего параграфа. Другая форма теоремы A5.3.3):
§ 15.3. Одновременная диагоналиэация 331 Теорема. Если М положительно определена, то симметричный пучок (А, М) в интервале [—||М~1А ||, || M~lA|J uueem n действитель- действительных корней Я.1( ..., Хп, которым соответствуют п линейно-незави- линейно-независимых собственных векторов z1( .., zn. Кроме того, если %1фХ/, то векторы z,- и г} являются Ж-ортогональными, т. е. zJMz/ = 0. A5.3.4) Если же Xi = 'kJ-, то г и zf могут быть выбраны ^-ортогональ- ^-ортогональными. Доказательство предлагается читателю как упр. 15.3.3. Другим важным следствием положительной определенности является то, что функции, задаваемые билинейными формами (х. У)л^УМх, (х, у^-аум-'х, A3.3.5) определяют скалярные произведения. Векторное пространство М", снабженное любым из этих скалярных произведений, переходит в пространство о/Й>п, и почти все свойства S", такие, как неравен- неравенство. Коши—Шварца, переносятся на.е?п. В упражнениях 15.3.3 и 15.3.4 предлагается рассмотреть некоторые из этих свойств. Пучок положительно определен только в том случае, если А и М одновременно положительно определены. Упражнения к параграфу 15.3 15.3.1. Доказать теорему A5.3.4), имитируя доказательство аналогичных результатов для стандартной проблемы. 15.3.2. Путем проверки свойств (a) (х, у)д!=(у. х)д,, (b) (ах + Ру, г)л=а(х, z^ + Pfr. г)м, (c) (х, х)м > 0, если х ф о, показать, что A5.3.5) определяет скалярное произведение. 15.3.3. Проверить, что ||ufl;n= Vru*Mu удовлетворяет аксиомам нормы: (a) II"Ail > °> если и = 0- (b) |аи||л = |а|Ци||д,, (c) IIu + vIIaj^HuIIaj + IIvIIa,. Для каких свойств существенно, чтобы матрица М была положительно опре- определена? 15.3.4. Рассматривая выраженяе (x + gy, x + gy)^ для всех вещественных \, доказать неравенство Кошн — Шварца (х- У)м<(х. х)ж(У. ?)м- 15.3.5. Найти такое 9, чтобы матрица (cos в) —(sin в) . была положительно определена. Каков наилучший выбор 9?
332 Гл. 15. Обобщенная линейная проблема § 15.4. Явное приведение к стандартной форме Благодаря Справочнику и пакету EISPACK (см. § 2.8), мы имеем в наличии высококачественные программы для малых стан- стандартных проблем на собственные значения. Поэтому, многое гово- говорит за приведение обобщенной проблемы (А—Ш)х = о к эквива- эквивалентной стандартной форме (А—А1)х = о. Имеется несколько спо- способов для осуществления этого приведения. 1. Сформировать М~1А, но зато потерять одновременно сим- симметричность и разреженность. 2. Решить стандартную проблему собственных значений для М, чтобы найти ортонормальную G и диагональную Д, такие, что M = GA2G*. Тогда (А—Ш) = GA (А —М) AG», где 3. Вычислить разложение Холесского M = LL". Тогда А—Ш = Ь(А—M)L*, где За деталями нужно обращаться к Справочнику, алгоритм 11.10, или руководству по пакету EISPACK. 15.4.1. Замечания 1. Если собственные векторы не требуются, то преобразующие матрицы L или G хранить не нужно. Если же собственные век- векторы требуются, то должны быть сохранены либо преобразования, либо исходная пара матриц. 2. Некоторые из преобразований матриц А и М могут быть выполнены одновременно, например когда G и L представлены как произведения простых матриц (см. упр. 15.4.1). 3. Расширение и усовершенствование метода 2 описано в § 15.5. 4. Уилкинсон дал элегантный способ вычисления А. Первона- Первоначально массивы размерности пхп хранят в А и М, а копии диа- диагоналей А и М—в двух одномерных массивах DA и DM. Затем вычисляется L, и ее нижняя треугольная часть хранится в нижней треугольной части М. Наконец, в два этапа вычисляется матрица (L~lA)L~*. При этом используется только нижняя треугольная часть А, на месте __ которой в конце процесса хранится нижняя треугольная часть А. Детали являются предметом упр. 15.4.2.
§ 15.4. Явное приведение к стандартной форме 333 5. Чтобы упростить изложение, предположим, что матрицы А и М обе положительно определены и что собственные числа пары (А, М) упорядочены: 0<^<. Заметим, что Во многих случаях некоторые элементы матрицы А сравнимы по величине с ЦМ-^Ц-ЦАЦ и много больше, чем [|А||. Это происходит, когда М плохо обусловлена с точки зрения обращения (почти осо- особенная), и тогда собственные числа А простираются по величине на много порядков, например от 103 до 10го. Возможно, что малые собственные числа будут вычислены со значительно меньшей отно- относительной точностью, чем большие. Это происходит потому, что вычисленные собственные числа являются точными для некоторой матрицы А и часто ||А—А||==в||А||, где е—единица округления. Грубая оценка изменения собственных чисел имеет вид \п—U\ < и—Ли _^с/цацл f=aij п Для t=l, 2, 3 вполне возможно, что [|Л||Дг== 1/е, следовательно, реально, что 1, не будет иметь правильных значащих цифр. Последнее—недостаток явного приведения, когда М близка к особенной матрице и арифметические действия выполняются с числами ограниченной точности. 6. Если М и, следовательно, L умеренно плохо обусловлены для обращения и если дополнительно столбцы L монотонно убывают, то А обычно будет градуированной матрицей, строки которой монотонно возрастают по норме (последняя .строка наибольшая). Для градуированных матриц наименьшие собственные числа обычно отыскиваются с большей относительной точностью, чем этого можно ожидать из стандартных оценок через норму (абсолютная ошибка < е | А |). Соответствующий пример приведен на рисунке 15.4.1. 15.4.2. Приведение ленточных пучков В § 7.5 предложен оригинальный алгоритм приведения ленточ- ленточной матрицы А к трехдиагональному виду Т без временного уве- увеличения ширины ленты в ходе процесса. В работе [Crawford, 1973] этот подход обобщен применительно к преобразованию ленточных пучков (А, М) к стандартной форме (Т, I) без использования дополнительной памяти. Мы не будем описывать алгоритм в деталях по следующей причине. Когда А и М малы, то выгоды в памяти не очень важны.
334 Гл. 15. Обобщенная линейная проблема А = 4 1 0 1 1 4 2 0 0 2 4 2 1 0 2 3 М = 10000 4000 ' 1000 100 4000 1700 430 ч 60 1000 430 НО 16.5 100 60 16.5 5.26 А = .0004 .0006 .0022 .119 100 40 10 10 3 1 2 - .0006 -.0384 .0908 -1.616 1 .5 Л. -.0022 .0908 3.150 2.658 Л19 -1.616 2.658 223.8 Рис. 15.4.1. Приведение пучка (А, М) к стандартной форме (А, I). Если же А и М большие, то очень маловероятно, что будут необ- необходимы все или даже большинство собственных чисел, поэтому методы, избегающие явной редукции, предпочтительнее. Более того, большие А и М с узкой шириной ленты идеально приспо- приспособлены для метода деления спектра (см. § 3.3) или алгоритма Ланцоша (см. § 15.11). Упражнения к параграфу 15.4 15.4.1. Найти количество действий, требуемых для спектрального разложе- разложения и разложения Холесского, Воспользоваться симметрией. Подсчитать коли- количество действий для приведений A5.4.2) и A5.4.3). 15.4.2. Пусть B = L-1A. Найти алгоритм, который вычисляет н записывает нижнюю часть BL~* иа место нижней части А, теряя в процессе диагональ А. Использовать, где это возможно, симметрию. 15.4.3. Рассмотреть пучок 2x2. Если М плохо обусловлена, и А плохо обусловлена, то А должна быть сильно градуированной. Правильно или нет это заключение? > *§ 15.5. Приведение Фикса—Хайбергера Этот параграф описывает осторожное приведение к стандарт- стандартной форме, предназначенное специально для тех случаев, когда М—с практической точки зрения положительно полуопределенная матрица (по крайней мере одно собственное число равно нулю). Иначе говоря, М либо особенная, либо так близка к особенной матрице, что предпочтительнее работать с особенной со всеми вытекающими отсюда последствиями. Цель подхода — найти беско- бесконечные или плохо определенные собственные числа (см. § 15.2) прежде, чем вычислять благополучные.
§ 15.5. Приведение Фикса — Хайбергера 335 В дальнейшем будет означать, что Кроме того, полагаем А, А, М = Р*АР, М = Р*МР. > = diag(P, Пусть т)—заданный пользователем критерий малости. Процесс состоит из трех шагов нарастающей сложности. Шаг 1. Отыскиваем спектральное разложение М= _ где Да содержит чрезвычайно малые собственные числа М, т. е. IIА21|2 ^ ЛII ^11|2. Заменяем Д2 на О. Определяется разбиение G*AG, соответствующее Да: А, М—> А|2 А22 д? О Шаг 2. А\ приводится к I, и находим спектральное разложе- разложение А82=Р(Ф0?) F», где Фф?—диагональная матрица и \\W\\K < т|||Ф|. Y заменяется на О. Представляя ДД12Р как (А12, А13), находим 'А„ А?2 АТз « Ф О А,з" О О " 1 О О о О О О О О Когда М хорошо обусловлена, последние две строки и два столбца пусты и результатом будет пучок (Ац, I), что соответствует ре- редукции № 2, изложенной в § 15.4. Если А22 хорошо обусловлена, то конечной формой является пучок Ац k*2 Ф Дальнейшее приведение этого пучка для получения конечных собственных чисел предлагается осуществить как упр. 15.5.1. В общем случае требуется еще анализ А,3. Шаг 3. Трудности возникают в случае, когда А13 не обладает полным рангом, но это и есть один из случаев, когда подход Фикса —Хайбергера оправдан. Поэтому мы допускаем такую воз- возможность. Сначала необходимо осуществить сингулярное разло-
336 Гл. 15, Обобщенная линейная проблема жение матрицы A1S: А13=< Р*. где Q и Р ортонормальные матрицы (различных размеров), а 2 — диагональная матрица с неотрицательными элементами. Матрицы Q и Р определяются не единственным образом. Q состоит из собст- собственных векторов матрицы A13Ai3, a P — из собственных векторов Ai3A13. Диагональные элементы ог матрицы 2 задаются формулой и называются сингулярными числами матрицы А13. Затем 2 представим в виде вфй, где © содержит большие сингулярные числа и ||й||^т|||в||. Теперь положим Q = O и оп- определим числа «j == число строк в, «j -f n% = число строк A1S, res = число строк Ф. Подматрицы в форме Фикса—Хайбергера задаются соотноше- соотношениями Q*A,,Q - Окончательно "а ОФ1ФР » Ац А„ в О Аи А23- О О Ф О О симметрично О О О I © I Ф О © О Ф О. Если 9 =? 2, то пятые (блочные) строка и столбец действитель- действительно присутствуют и пучок (А, М) является сингулярным. Программа должна выдать оповещение, что любая величина является собст- собственным числом. Теперь пятые строка и столбец могут быть от- отброшены, и это исчерпывает каверзное нуль-пространство. Под- Подлинные собственные числа и векторы могут быть найдены из остающихся четырех строк и столбцов аналогично случаю, когда матрица А13 на шаге 2 имеет полный ранг. Пусть (х,*, х2*, xj, xj) — разбиение собственного вектора ведущей Dх4)-подматрицы приведенной выше канонической формы. Раз-
§ 15.5. Приведение Фикса — Хайбергера 337 решая эти уравнения снизу вверх, получим Xi = О, (Ав-АиФ-|а?-Л)х2 = о, Таким образом, «а конечных собственных чисел находится из стандартной проблемы собственных значений, выписанной для х2 в третьей строке. Отыскание собственных векторов для бесконечных собственных чисел предлагается как упр. 15.5.2. Формулы для собственных векторов первоначальной проблемы составляют пред- предмет упр. 15.5.3. Дополнительная осторожность была проявлена в проделанной редукции для того, чтобы точно определить те малые собственные числа, которые хорошо определены первоначальными данными. Если подходящее значение т) не очевидно, то вычисления должны проводиться с двумя различными значениями ц (скажем, ц + пг и T) = V~e). а затем результаты должны быть подвергнуты срав- сравнению. В работе [Fix, Heiberger, 1972] даны оценки ошибок, вызван- вызванные аннулированием Д2, ? и Q. Упражнения к параграфу 15.5 15.5.1. Найти стандартную проблему собственных значений, которая дает конечные собственные числа пары ГА„ А„] П О] [А?, Ф J ' [О Oj * Напомним, что матрица Ф диагональная н обратимая. 16.5.2. Используя разбиение на хь х2, х3) х4> примененное в § 15.6, опи- описать собственные векторы формы Фикса — Хайбергера, соответствующие беско нечным собственным числам. 15.5.3. Предполагая, что А13 имеет полный ранг, дать формулы, по кото- которым преобразуются собственные векторы канонической формы в собственные векторы первоначального пучка. 15.5.4. Пусть в конце шага 1 возникает пара матриц б 5 4 4 3 2 симметрично 3 2 1 2 2 1 2. 3 ю-4 0 1 1 3 4 0 0 10 о -2 10 -4 О
338 Гл. 15. Обобщенная линейная проблема Найти форму Фикса—Хайбергера этой пары и, если в наличии имеется вы- вычислительная машина (нли калькулятор), определять все ее собственные числа и векторы. § 15.6. QZ-алгоритм Устойчивое обобщение QR-алгоритма на произвольные квад- квадратные пучки (В, N) было предложено в [Moler, Stewart, 1973]. Метод нарушает симметрию и заменяет (А, М) эквивалентным пуч- пучком (J, К), где J и К—верхние треугольные матрицы. Применя- Применяются исключительно ортогональные преобразования, так что | А | = | J || и ||М| = |К||, и на конечную точность не влияют такие неприятные обстоятельства, как особенность М или даже ее не- неопределенность. Плохо определенные собственные числа получа- получаются как отношения малых диагональных элементов J и К- Для малых пучков QZ-алгоритм является альтернативой ре- редукции Фикса—Хайбергера и обладает тем преимуществом, что в вычислительных центрах он обычно имеется в библиотеке про- программ. Для отыскания QZ-алгоритмом всех собственных чисел требуется приблизительно 20га3 операций. Временной штраф менее обременителен, чем необходимость использования двух дополни- дополнительных массивов размерности пхп. Однако для малых га оба вида затрат не будут слишком серьезными, если не приходится обра- обрабатывать очень большое число пучков. Потеря симметрии неприятна, поэтому в дальнейшем вернемся к методу, который использует конгруэнции, а не эквивалентные преобразования. § 15.7. Обобщенный метод Якоби Естественное расширение идеи Якоби (гл. 9) — это найти кон- конгруэнцию в плоскости (i, /) для уничтожения элементов в позиции (г, /) одновременно для А и М. Если М положительно определена, это всегда осуществимо и в выборе конгруэнции имеется значи- значительная свобода. Задача по существу двумерная. Ограничиваясь типичной (i, /)- плоскостью и пользуясь простейшими конгруэнциями, получим 1 -*}\а« «ИГ I Р J[ ам\[-сс I аи - 2ааи + а\, $аи + (I - а/З)^ - шм 0аа + A - «р)ац - <хам, р\ + 2/fy + ам A5.7.1)
§ 15.7. Обобщенный метод Якоби 339 и, аналогично, для матрицы М. Чтобы диагонализовать обе матри- матрицы, для аир нужно решить специальную пару квадратных урав- уравнений. К счастью, здесь имеется замкнутое решение (см. упр. 15.7.1): нелинейный член может быть исключен, и если положить a=b(lv, р= = б//у, где то v удовлетворяет квадратному уравнению „2 - V - ?j = 0, A5.7.3) «,, ^ det я..- A5.7.4) Когда М положительно определена, квадратное уравнение имеет ненулевое решение (см. упр. 15.7.2) и имеет место собственная конгруэнция, т. е. определитель 1-{-аР#0. Чтобы аир были достаточно малыми величинами, нужно выбрать в качестве v тот корень уравнения A5.7.3), который дальше отстоит от нуля. На рассмотренный случай распространяется асимптотическая квадратичная сходимость обычного процесса Якоби (см. работу [Zimmerman, 1969]), при условии, что процесс вообще сходится. Однако сходимость никем не была доказана. Эти подходы с определенным успехом были применены для А и М малого порядка, которые обладают доминирующей диаго- п налью, т. е. ап > 2 lQivl> /т^'» Д я всех t (см. [Bathe, Wilson, 1976]). Упражнения к параграфу 15.7 !5.7.!. Найти замкнутую форму решения системы 15.7.2. Показать, что когда М положительно определена, то A5.7.3) имеет ненулевое решение. 15.7.3. Показать, что прн правильном выборе v в A5.7.3) параметры а и Р удовлетворяют неравенствам 0ф1
340 Гл. 15. Обобщенная линейная проблема § 15.8. Неявное приведение к стандартной форме Три редукции, описанные в § 15.4, могут быть использованы неявно. Это важно при решении задач с большими разреженными матрицами А и М. "Рассмотрим три подхода: 1. Матрица М-1А не является ни симметричной, ни разрежен- разреженной, но она самосопряженная в смысле скалярного произведения, задаваемого матрицей М: (МАх, уЬ = (х, М Вектор w = M~lAn вычисляется в два шага. (a) С использованием разреженности формируется v = Au. (b) Система Mw = v решается либо итеративно, если М не мо- может быть факторизована, либо, если M = LL*, сначала решается система Lx = v, затем L*w = x. В каждом из вариантов на шаге (Ь) можно воспользоваться разреженностью М. 2. В принципе матрица A = A~lG*AG*A~1 может быть исполь- использована без явного формирования. Однако матрица редко насле- наследует какую-либо разреженную структуру М (исключая случаи М = Д3 и G = I!), а потому этим разложением в неявной форме не пользуются, насколько автору известно. 3. Произведение х = Аи, где A = L~1AL~*, может быть сфор- сформировано в три этапа: Относительно v решается система L*v = и. Формируется w = Av. Относительно х решается система Lx = w. Любая ленточная или профильная структура М наследуется множителем Холесского L. Разреженная матрица L не обращается. Если А и М имеют ширину ленты 2т-\-1 н т<^п, то рассмат- М % О О Рис. 15.8.1. Сохранение профиля в треугольной факторизации.
§ 15.9. Простые векторные итерации 341_ риваемый метод требует для формирования х приблизительно (Ат-\-3)п ops против п3 ops при использовании полной матрицы А. Поэтому когда нужно только несколько собственных чисел и век- векторов, то неявная редукция экономит и время, и память. На рис. 15.8.1 показано, как L наследует структуру разре- разреженности А. § 15.9. Простые векторные итерации Предыдущий параграф мог создать ипечатление, что если М может быть представлена в виде LL*, то нет ничего лучше, как применить наиболее подходящий метод к стандартной проблеме (А, I), где А задана либо в явном, либо в неявном виде. Этот подход, конечно, выдержан в чисто математических традициях — привести новую проблему к известной, которая уже была решена ранее. Однако в настоящей ситуации стандартная редукция может быть не оправдана. Чтобы изучить этот вопрос, мы рассмотрим заново степенной метод (РМ) и метод обратных итераций (INVIT) гл. 4. Управля- Управляющие уравнения этих двух методов со сдвигом а имеют вид РМ: Mvft+1 = (A-aftM)v,Tft) A5.9.1) INVIT: (А-айМ)и,+1 = МиЛ A5.9.2) где хк и \к—нормирующие константы. Отметим новый факт, что обе итерации требуют решения систем уравнений. Случай 1. Если А и М настолько большие, что факторизация неосуществима, то для решения систем A5.9.1) и A5.9.2) нужно осуществить какой-либо внутренний итерационный процесс. Оба этих подхода совпадают по стоимости при отсутствии у М каких- либо специальных качеств. Случай 2. Если А и М допускают факторизацию, то мы можем сравнить две версии INVIT, а именно 1. Для вычисления ик+л из A5.9.2) строится разложение мат- матрицы А—aftM. 2. Решение системы (А—ак\) wft+1 = viknk для wft+1 осуществляет- осуществляется в три этапа: x* = Lwft, (A—aftM)yft = xft, = (L*yft)Kft. A5.9.3) Если uk+l нормировано тем же способом, что и wft+1, то.обе вер- версии обладают одинаковой стоимостью, но первая версия несомненно более естественна, чем вторая.
342 Гл. 15. Обобщенная линейная проблема Предшествующие замечания показывают, что для больших матриц имеет смысл сохранять первоначальный вид задачи (А—Ш)х = о. 1. Техника деления спектра и итерации по методу секущих из гл. 3 непосредственно распространяются и хорошо подходят к тем случаям, когда А и М имеют малую ширину ленты и не требуются собственные векторы. Более подробно это обсуждается в гл. 11 книги [Bathe, Wilson, 1976]. 2. Большая часть результатов гл. 4 распространяются на пу- пучок (А, М), если только вместо | • | используется подходящая норма. Теоретически расширение проходит прекрасно, но на прак- практике новая норма значительно повышает стоимость. Возможно, что мы уже избалованы чрезвычайной простотой евклидовой нормы. Доказательства ¦ приводимых ниже результатов близки по духу к соответствующим доказательствам гл. 4 и будут опущены. Не- Некоторые из них совершенно очевидны, другие не очень. Напом- Напомним, что || х ||м - > ^ 1^х"М~ 1х. Теорема. Для произвольного вектора и Ф о и числа о сущест- существует такое собственное число X пучка (А, М), что .' ' A5.9.4) Как и в стандартном случае, превосходным выбором а для INVIT является отношение Релея p(u) = p(u; A, M) = u*Au/u'Mu, u^fco. Теорема. Если матрица М положительно определена, то от- отношение Релея обладает следующими свойствами: Однородность: p(au) = p(u), a^O (степени 0). Ограниченность: Когда и пробегает единичную сферу, значения р(и) принадлежат интервалу^, А._х]. Стационарность: grad р (и) = ур (и) = 2 (Аи — р (и) Ми)*/и*Ми. Таким образом, р стационарно на собствен- собственных векторах пары (А, М) и только на них. Минимум невязки: | (А—<хМ) и fc-, > | Аи fl^-i — | р (и) |а|| Мц ||&-,, причем равенство достигается тогда и только тогда, когда а = р(и). A5.9.5) Предлагались численные методы, имеющие целью исправить тот «недостаток», что величина р(и)не минимизирует ||(А—егМ) u j| по всем о. (Это слегка похоже на то, чтобы забыть обменять валюту перед поездкой за границу.) Как и раньше, мы определим вектор невязки г (и) соотношением Au = p(u) Mu + r(u)
§ 15.9. Простые вентерные итерации 343 и заметим, что оно является ортогональным разложением Аи. при скалярном произведении, определяемом М, т. е. (г(u), Mu)M-i = 0. Можно проверить, что r*u = 0, но в рассматриваемом случае это не так важно. Итерация с соотношением Релея (RQI) порождает последова- последовательность {xft} с помощью уравнения A5.9.6) где %к выбрано так, чтобы || MxftЦм-«= 1 для всех k и рк = р(хк). Теория сходимости RQI дана в следующих трех теоремах. Теорема. Предположим, что {xk\—*z при k—* оо, где г—соб- г—собственный вектор, и пусть % = ^/(Мхй, Mz) при скалярном произведении, определяемом М. Тогда lim |tg^+1/tg3^|<l. A5.9.7) к-* да Теорема. [(A—pk_1 M)xa+1||ai-' <||(А — pfeM)xft[|M-> для всех k. A5.9.8) Теорема. Для любого ненулевого начального вектора х„ (a) рк —»- р при k —* оо и либо (b) кубически (pft) xfe)->(A, z)—собственной паре пучка (А, М), либо (c) {xaft}->x+ u {x2A+i}-*x линейно, где х± — биссектрисы углов между собственными векторами, соответствующими собственным числам р ± т, и т = Пт||(А—pkM)xk\\M-u Режим (с) неустойчив в условиях округлений. A5.9.9) 15.9.1. Другие итерационные подходы Степенной метод и метод RQI предназначаются для решения однородных систем уравнений (А—AM)z = o. Конечно, величина к неизвестна, и поэтому задача нелинейна. Тем не менее почти каж- каждый известный подход к решению линейных систем приводит к соответствующему итерационному методу для задачи на собст- собственные значения. Например, метод последовательной верхней ре- релаксации (SOR) может оказаться очень эффективным для спе- специальных задач, когда треугольное разложение матриц невозможно. Для' подробного ознакомления с этими идеями читателю можно порекомендовать работы [Ruhe, 1975, 1977]. По мнению автора, ни один из итерационных методов вида xfe+1 = q>ft(xfe) не может
344 Гл. 15. Обобщенная линейная проблема конкурировать с методом Ланцоша, в котором не отбрасывается предыдущая информация. По той же причине мы не описываем те методы, которые осу- осуществляют поиск минимума величины |(А—jxM) x || различными градиентными методами, хорошо зарекомендовавшими себя в более общей проблеме минимизации нелинейных функций. В нашем слу- случае евклидова норма || • | не является естественной для рассматри- рассматриваемой задачи, и поэтому нет оснований полагать, что подобные итерации будут быстро сходиться. Одним из простейших итерационных подходов является коор- координатная верхняя релаксация. Идея заключается просто в мини- минимизации р(х + ае,; А, М) по всем а для каждого координатного вектора по очереди. Здесь х—текущий приближенный вектор, /-ая компонента которого изменяется. На практике оказывается вы- выгодной верхняя релаксация, т. е. замена х на x-f-юаеу при не- некотором о)? A.2). Каждый шаг требует два матрично-векторных умножения, и, что неизбежно, свойства сходимости оказываются не очень удовлетворительными. Обычный аргумент в пользу этих простых итерационных под- подходов заключается в том, что они не требуют факторизации мат- матриц и, следовательно, только они применимы к проблемам с ог- огромными матрицами А и М, где факторизация представляется не- невозможной. Это рассуждение пренебрегает старой пословицей: «Кто хочет, тот всегда найдет». Примеры, поставляемые инженерами- строителями, показывают, что нет пределов размерам матриц, ко- которые могут быть факторизованы. Конечно, вторичная память интенсивно используется, когда п > 5000, а надлежащее управ- управление обменами между различными иерархиями памяти не легкая задача, к тому же она выходит за пределы этой книги. В том случае, когда факторизация отвергается, уравнение Мх = Ь может быть решено либо итерациями, либо методом со- сопряженных градиентов. Поэтому здесь можно применять и алго- алгоритм Ланцоша, и итерации подпространства, как это описано в оставшихся параграфах. Упражнения к параграфу 15.9 J5.9.J. Доказать A5.9.4). 16.9.2. Доказать A5.9.5). 15.9.3. Провести подсчет числа операций одного шага RQI, предполагая, что полуширина ленты для матриц Аи М равна т. Предположить также, что A—pfeM допускает факторизацию и воспользоваться таблицей разд. 3.1 для подсчета числа операций. 16.9.4. Доказать A5.9.7). 16.9.6. Доказать A5.9.8).
§ 15,10. Аппроксимации Релвя — Ритца 345 § 15.10. Аппроксимации Релея — Ритца Пусть (их/7г)-матрица S имеет полный ранг т ^п. Мы хотим найти формулы тех линейных комбинаций столбцов S, которые в совокупности дают наилучшие аппроксимации некоторых собст- собственных векторов пучка (А, М). Иначе говоря, мы хотим найти наилучшие аппроксимации из span S. Наш критерий понятия «лучший» взят непосредственно из стандартной проблемы, обсуж- обсужденной в гл. 11. Такой подход отчасти неудовлетворителен, если говорить о независимом развитии теории матричных пучков, но это позволяет избежать довольно сложного обсуждения присущих (А, М) геометрических свойств. Каждая симметричная положительно определенная матрица обладает единственным положительно определенным квадратным корнем, и для теоретических целей удобно исследовать приведение (А, М) к стандартной форме при помощи квадратного корня М1/2 из М. Исходное основное уравнение Az —MzX = o A5.10.1) перепишем в виде (М-^АМ/*—k)M1/2z = M-1/2o = o. A5.10.2) Следовательно, интересующими нас объектами являются матрица А = М~1/2АМ~1/2, вектор z = M1/2zh видоизмененные пробные век- векторы в линейной оболочке столбцов матрицы M1/2S. Для преобразования задачи можно построить аппроксимации, обсужденные в § 11.4. Эти аппроксимации легче всего описать, когда базис ортогонален, т. е. когда (S*M1/2)(M1/2S) = Im. В теоре- теоретическом отношении самым легким способом нормирования является использование матрицы S = M1/2S(S*MS)~1/2. В этом случае S*S = I, и классическая теория Релея — Ритца го- говорит, что min||AS—SH||F A5.10.4) по всем матрицам Н порядка т достигается выбором H = p(S) = S*AS. A5.10.5) Заметим, что здесь используется || • \F вместо || • ||. К тому же наи- наилучшими аппроксимациями собственных векторов А из spanS являются векторы Sg,-, i=\, ..., т, где Hg/ = gI-8, и ||g,-J=l. Короче, аппроксимациями Ритца являются столбцы матрицы SG, где G6G*—спектральное разложение Н.
346 Гл. 15. Обобщенная линейная проблема Опишем теперь эту характеризацию с помощью выражений, включающих в себя матрицы А и М. Из A5.10.5) и A5.10.3) имеем Н = (S*MS)-1/2 (S*AS) (S*MS)-V2. A5.10.6) К счастью, матрица Н не требуется в явном виде, но именно ее собственные пары (8,-, g,) приводят к аппроксимациям Ритца. Из A5.10.6) получаем уравнение (S*AS—8,.S*MS)(S*MS)-1/2g. = o, A5.10.7) которое обычно записывается как (As-8,Ms)g,= o, t=l, ...,т. A5.10.8) Наилучшими аппроксимациями к z,- являются векторы Sg,-, и по- поэтому, согласно A5.10.2), наилучшими аппроксимациями к перво- первоначальным z являются векторы M-^-Sg^S^MSj-^g^Sg,., 1=1, ...,т A5.10.9). Суммируем изложенное в виде следующего заключения Аппроксимациями Релея —Ритца для пучка (А, М) из span S являются пары (8,., Sg,.), t' = l, ...,т, где (8,, g,) удовлетворяют A5.10.8). Они оптимальны в смысле минимизации величины (R'M-'R) по всем матрицам невязок R, где г, = Ах,-—Мх,-^, «'= 1, ..., т и Х( Мху = 6ц (символ Кронекера) х,- € span S. Упражнения к параграфу 15.10 15.10.1. Пусть <•, •>—функция, задающая скалярное произведение в Э1п. Найти скаляр ц, который для заданного х минимизирует выражение <Ах—Мх ц, Ах — Мх (i>. 15.10.2. Вывести уравнение A5.10.7). § 15.11. Алгоритмы Ланцоша Очень рекомендуется предварительное знакомство с гл. 13. Пусть заданы матрицы А и М (М положительно определена) и множитель Холесского L матрицы М. Тогда алгоритм Ланцоша с выборочной ортогонализацией или без нее может быть непосред- непосредственно применен к неявно заданной матрице A = L~1AL*, как это описано в § 15.7. Пользователь, которому предоставлена про- программа ОР, реализующая произведение матрицы на вектор, дол- должен дополнить ее операциями с матрицей L, но сама программа
§ 15.11. Алгоритмы Ланцоша 347 реализующая метод Ланцоша, не должна видоизменяться совсем. В конце процесса каждый вычисленный вектор у должен быть преобразован в собственный вектор z пучка (А, М) посредством решения относительно z системы L*z = y. Такой подход очень удовлетворителен и широко используется на практике, когда М имеет узкую ширину ленты. С другой стороны, можно использовать алгоритм непосредст- непосредственно для матрицы M-1A, заданной опять неявно, и такой подход является весьма ценным в случае, когда М не может быть под- подходящим образом факторизоваяа. В этом случае метод Ланцоша нужно переформулировать с учетом матрицы М и соответственно должны быть немного модифицированы алгоритмы его реализации из гл. 13. Математическое распространение метода осуществляется непо- непосредственно. Основные трехчленные рекуррентные соотношения принимают вид Mq/+iP/+i = Aqy—Mq/x,—Mqy.xPy. Индексы коэффициентов р* сдвинуты на единицу1'. Векторы Лан- Ланцоша qu q2, ... не являются взаимно ортонормальными, но они М-ортонормальны, т. е. q*Mqy = 6;/. Трехдиагональная матрица Ту та же, что и раньше, и, если алгоритм продолжается до п шагов, он приводит к обратимой матрице Q, с помощью которой пучок (А,.М) преобразуется к стандартной форме (Т, I). В конце /-го шага алгоритма мы имеем матрицу Q/ = (q1, ...,Цу) и мат- матрицу Ту—ведущую главную (/Х/)-подматрицу Т. Если (8, s) — собственная пара Ту, то @, Qy, s) будет соответствующей парой Ритца для пучка (А, М) (см. § 15.10). Для теоретических и практических целей полезно ввести до- дополнительные векторы рх, р2, ..., определяемые соотношением pI = MqI-. Заметим, что последовательности {qt} и |р,} биортонор- мальны в <Вп, т. е. р/^у = б*у. Алгоритм с выборочной ортогонализацией обобщается непо- непосредственным образом. Простой алгоритм получается опусканием первого шага в приведенной ниже схеме реализации. 15.11.1. Алгоритм Ланцоша с выборочной ортогонализацией для пучка (А, М) Выберем и^о. Вычислить гх-<— Mii! и 0Х *— КиГ^ >0. Для /=1, 2, ... повторить этапы с первого по девятый: 1. Если имеются некоторые пороговые векторы, то с их по- помощью осуществить коррекцию вектора Uy. Затем заново вычислить г,- <— Миу и Ру -<— Ки'Гу. 11 По сравнению с гл. 13.— Прим. перев.
348 Гл. 15. Обобщенная линейная проблема 2. q/^-Uy/py. 3. и, — Aq,—py_,py (Po = o). 4. о, «- q* Uy. 5. Ру*-Гу^у. 6. r/ + 1*T-Uy— Pytty. 7. Для отыскания u/+1 (=q/+ip/+i) решается система Mu/+1= 8. в,+1 —Ки;/+ 9. Вычислить требуемые пары (Q{, s,-) матрицы Ту. Проверить наличие пороговых векторов и нужна ли пауза. Проверить критерий сходимости. Если исходные требования удовлет- удовлетворены, остановить процесс. 15.11.2. Замечания' 1. Было отмечено, что нельзя применять метод Ланцоша, если не может быть факторизована матрица М. Однако итерационные методы на этапе 7 могут максимально использовать разреженность. Простым начальным- вектором является diag(M) г/+1. 2. Этапы 5 и 7 добавлены к алгоритму гл. 13. Этап 5 увели- увеличивает число операций на одном шаге (не считая матрично-век- торных умножений) с 5 до 6. Для хранения векторов u, r, q, p необходимы лишь четыре я-мерных массива — увеличение на один. 3. После этапа 4 вектор qy можно записать в последователь- последовательную память. Запоминать ру нет необходимости. 4'. Величины 0/t- = Ру | е* Sy | все еще характеризуют меру схо- сходимости, но уже в новой норме (см. упр. 15.11.2). 5. Приведенный выше алгоритм может выгодно применяться даже тогда, когда М допускает факторизацию, как это отмечено ниже. 15.11.3. Как пользоваться программой алгоритма Ланцоша Вычисление собственных векторов, соответствующих всем соб- собственным числам из интервала [а—ю, о-)-ю],— часто возникаю- возникающая задача. Пусть матрицы А и В могут быть большими и раз- разреженными, но для одной из них или даже двух осуществимо треугольное разложение. В этом случае оказывается выгодным применять алгоритм Ланцоша вместо пучка (А, М) к пучку (М, А—оМ) (см. [Ruhe, Ericsson, 1980]). Если при вычислении Aq или решении системы Ми = г интен- интенсивно используется вторичная память, то вычисление AQ или решение системы MU = R для (пхт)-матриц Q, U и R прит>1 может стоить ненамного дороже. При этих обстоятельствах блоч- блочный алгоритм Ланцоша с выборочной ортогонализацией оказы-
§ 15.12. Итерирование подпространства 349 вается наиболее эффективной процедурой для вычисления собст- собственных чисел и векторов. Работы этого направления интенсивно развиваются. Упражнения к параграфу 15.11 15.1J.1. Пусть полуширина ленты у матриц А и М равна т н М факто- ризоваиа в виде LL*. Подсчитать количество операций, требуемых для одного шага алгоритма, предполагая, что реализация произведения Aq требует B/n+l) n ops. 15.12.2. Нормой какой невязкн является величина $д? 15.11.3. Проверить, что алгоритм гл. 13, использующий матрицу A(^L~1AL~*), и изложенный в этом параграфе алгоритм для пучка (А, М) приводят в точной арифметике к одной и той же матрице Ту. § 15.12. Итерирование подпространства Изложенные в гл. 14 методы легко обобщаются на случай проблемы (А—Ш)х = о, когда М положительно определена. Как установлено в § 15.9, стоимость одного шага степенного метода (или прямой итерации) приблизительно та же самая, что одного шага обратной итерации (если М не диагональная), а ускорение сходимости в случае последнего метода делает его предпочти- предпочтительным для вычисления малых собственных чисел больших раз- разреженных пучков (А, М). Основная идея итерирования подпрост- подпространства заключается в комбинировании блочных обратных итераций при использовании время от времени сдвигов с аппроксимациями Релея — Ритца на каждом шаге. Тонкие реализации метода стали стандартным инструментом анализа динамики структур всех видов. Для типичных задач п > 1000, но, к счастью, у А и М полуширина ленты обычно приблизительно равна 100 и пучок (А, М) является положительно определенным. Как правило, требуется вычислить около 10 наи- наименьших собственных чисел вместе с соответствующими им соб- собственными векторами или (при расчетах, связанных с землетря- землетрясениями) все собственные числа, меньшие некоторой определенной величины. На каждом шаге k алгоритм вычисляет (ях/7г)-матрицу S(ft>, столбцы которой являются текущими аппроксимациями собствен- собственных векторов. Как показано в гл. 14, некоторые столбцы будут сходиться быстрее других, и на практике важно получить от этого явления какую-то выгоду, хотя в дальнейшем это обсуж- обсуждаться не будет. Одним из недостатков итерирования подпространства являет- является то, что т должно быть выбрано больше, чем число векторов, которые нужно вычислить в действительности. Улучшение ско-
350 Гл. 15. Обобщенная линейная проблема Таблица 15.12.1 Общая схема метода итерирования подпространства Х) ДАННЫЕ: А, М —матрицы порядка п со средней полушириной ленты, равной со. S* (лХт)-матрица, состоящая на шаге k из приближенных собственных векторов. 9<*> диагональная (/пх/и)-матрица значений Ритца 1 <т«и<п. НАЧАЛЬНЫЕ ВЫЧИСЛЕНИЯ 1. Выбор первоначального сдвига а. II. Разложение LAL* матрицы А — аМ. III. Выбор т начальных векторов, являющихся столбца- столбцами S(o). 9<0) полагается равной 1т. КОЛИЧЕСТВО ОПЕРАЦИЙ « пт ИТЕРАЦИИ: Для k= 1, 2 1. Ортогоиализация S**' к известным собственным векторам (когда это необходимо). 2. Формирование правой части Rf^^MS'*^'*', которая масштабируется матрицей 9**'. 3. Решение системы LL*S<*> =R<*>. 4. Вычисление проекций А н М на spanS(ftl для полу-> чеиия A<ft) = S<*'*R<*> и М<*'^S^'MS'*'. 5. Решение проблемы собственных значений порядка* т для сдвинутых значений Рнтцав(*> и ор- тонормальной (по отношению к М<*>) матрицы собст- собственных векторов G<ft). 6. Формирование нового базиса 7. Проверка критерия сходимости. 2пт (ю+1) 2шжо 10/п3 пт* ОБЩЕЕ КОЛИЧЕСТВО ОПЕРАЦИЙ ЗптB<о + т+ 1) + ... J> Из работы [Wilson, 1975].
§ 15.12. Итерирование подпространства 351 рости сходимости дает более чем достаточную компенсацию за увеличение работы, но, чтобы решить априори, насколько больше надо ввести дополнительных столбцов, достаточно удовлетвори- удовлетворительного способа нет. Отметим, что эффективность программы чрезвычайно чувствительна к выбору размера блока. Алгоритм представлен в таблице 15.12.1. 15.12.1. Комментарии к таблице 15.12.1 (I). Выбор о обсужден в§ 14.5. Во многих приложениях поль- пользователь располагает дополнительной информацией, позволяющей разумный выбор сдвига. Это пример трудностей, стоящих на пути реализации метода итерирования подпространства в виде про- программы типа «черный ящик». Эффективность программы сильно зависит от выбора параметра о. (II). Более подробно детали изложены в гл. 3. Проверьте v(A), чтобы видеть, где о фактически делит спектр. (III). Иногда знакомство с характером приложений может помочь выбрать начальные векторы. Не обязательно, чтобы столб- столбцы S<0) были М-ортонормальны, но они должны быть сильно линейно независимы. В отсутствие дополнительной информации разумным выбором первого.столбца S<0) является сумма первых [п/т] столбцов 1„, второго столбца—вторых [п/пг] столбцов 1„ и так далее. Векторы со случайными компонентами, кажется, не очень эффективны. Начальные векторы должны быть ортогонали- зованы ко всем известным собственным векторам. 1. Если собственные векторы вычисляются комплектом (/ за один раз), то важно поддерживать текущее подпространство М- ортонормальным ко всем известным собственным векторам. Тем не менее нет необходимости проводить ортогонализацию на каж- каждом шаге. Частота, с которой должен исчерпываться известный собственный вектор z,-, зависит от отношения max 16е*' j /jX.,-—о|. Таким образом, если ^ очень близко к о, то гх будет сходиться за один или два шага и после этого он может быть удален из итерационного процесса путем ортогонализации столбцов S(*> к zt. Конечно, значение т уменьшится, и мы получим соответствующий выигрыш в эффективности процесса. 4. При возрастании к заполненные (/7гх/7г)-матрицы Alft) и М(А> все больше доминируются диагональными элементами. Это делает метод Якоби, изложенный в § 15.6, очень привлекательным, несмотря на отсутствие какого-либо доказательства сходимости, поскольку число полных циклов, требуемых для того, чтобы сде- сделать внедиагональные элементы незначительными, обычно нахо- находится между тремя и шестью в зависимости от рабочей точности.
352 Гл. 15. Обобщенная линейная проблема § 15.13. Практические соображения Те, кто связаны с вычислением собственных чисел и векторов больших пучков (А, М), хорошо осведомлены, что успех в реше- решении задачи зависит от удачного сочетания средств для (а) гене- генерирования матриц А и М, (Ь) перемещения информации в опера- оперативную память и из нее, (с) вычисления результатов и (d) управления процессом ввода-вывода информации. Для больших проблем ста- становится все более затруднительным изолировать численный метод от операционной среды. Важным следствием этого является труд- трудность априорного измерения стоимости метода и соответственно его эффективности. Если т матрично-векторных произведений Ах1( ..., Ахт можно реализовать с той же скоростью, как одно произведение, то от- относительные скорости соперничающих методов могут сильно измениться, и наши привычные суждения будут нарушены. Отно- Относительно элементарных операций заметим, что затраты времени, требуемые для вызова, запоминания, сложения, умножения и деления становятся все ближе друг к другу, и эта тенденция приведет к тому, что многие обычные подсчеты числа операций будут только вводить в заблуждение. С другой стороны, важ- важность отношения времени деления к времени умножения перено- переносится на более высокий уровень операций, а именно к проблеме отношения стоимости решения системы Ах = Ь к стоимости форми- формирования произведения АЬ. Здесь разреженность структуры и характеристики вычислительной системы решающим образом влияют на картину вычислительного процесса. Эта книга сконцентрирована на тех аспектах численных мето- методов, которые не зависят от особенностей вычислительных систем, но это не означает, что мы преуменьшаем роль последних. По мере того как численные методы становятся лучше адаптированными к современным средствам, узкое место в программном обеспече- обеспечении передвигается к проблемам управления данными. Примечания и ссылки Несколько подробнее матричные пучки обсуждены в книге Гантмахера. Наибольшая часть материала § 15.2 взята из работ [Moler, Stewart, 1973] и [Stewart, 1979]. Определенные квадратичные формы рассматриваются во мно- многих книгах: [Strang, 1976], [Stewart, 1973], [Franklin, 1968] и ряда других. Явное приведение к стандартной форме охвачено книгой [Wilkinson, 1965], но разные варианты этого приведения не всегда находятся в ней по соседству. Материал § 15.5 взят из работы [Fix, Heiberger, 1972], § 15.6—из [Moler, Stewart, 1973] и § 15.7 —из [Zimmerman, 1969] и [Bathe, Wilson, 1976]. Неявная редукция к стандартной форме хорошо известна, но не всегда излагается таким способом. Распространение итераций Релея и процедуры Релея—Ритца на пучки матриц дано с некоторыми деталями, поскольку, как мне кажется, этот материал не представлен где-либо еще в доступной форме. Был соблазн изложить процедуру Релея —Ритца с более абстрактной точки
§ 15.13. Практические соображения 353 зрения, т. е. рассматривая ее естественное появление нз соответствующей (присущей ей) геометрической ннтерпретации. Однако оказалось, что необхо- необходимая подготовительная работа превосходит получаемую выгоду. Теория метода координатной релаксации освещена в [Schwarz, 1977], а практические аспекты—в работе [Shavitt, Bender, Pipano, 1973]. В книге не рассматриваются релаксационные методы, с ними читатель может познакомить- тя по всестороннему и современному обзору [Ruhe, 1977]. Применению алгоритма Ланцоша к пучку (А, М) посвящены работы [Wea- [Weaver, Yoshida, 1971], [Golub, Underwood, Wilkinson, 1972] и [Cullum, Donath, 1974]. Идея неявного использования М-1А обсуждалась в JWiberg, 1973] и [McCormick, Noe, 1977]. Критерий остановки, основанный на наблюдении за поведением значений Рнтца 9|^, был дан в [van Kats, van der Vorst, 1976]. Идея ленточного алгоритма Ланцоша принадлежит Руэ [Ruhe, 1979]. Инженерами-строителями была проделана настолько обширная работа с методом итерирования подпространства, что перечисление всех придуманных ими трюков' и модификаций заняло бы очень много времени и места. Две ра- работы [Bathe, Wilson, 1976] и {Jennings, 1977] как будто синтезируют весь этот опыт. Превосходный обзор исследований в области вычислений для боль- больших задач на собственные значения был дан Стюартом [Stewart, 1976J.
ПРИЛОЖЕНИЕ А Элементарные матрицы и матрицы ранга единица Элементарными операциями со строками матрицы В являются: (а) перестановка двух строк, (Ь) умножение строки на ненулевой скаляр и (с) прибавление кратного одной строки к другой. Та- Такие операции могут быть реализованы умножением В слева на некоторые достаточно простые матрицы, которые традиционно на- называют элементарными. Понятие элементарной матрицы приобрело значение в свете важного результата, что любая обратимая мат- матрица может быть представлена как произведение элементарных матриц (многими способами). В 1950 г. Хаусхолдер исправил определение, одновременно упрос- упростив его и сделав более общим. Определение. Элементарной матрицей называется любая квадратная матрица вида 1 +матрица ранга единица. (АЛ) Элементарные матрицы могут храниться в компактной форме и обратные к ним можно, как мы сейчас увидим, легко выписать. Все матрицы с рангом, равным единице, представимы в виде ху%, поскольку каждый столбец является кратным некоторого х и каждая строка—кратной некоторому у*. На практике х и у обычно нормируют и матрицу ранга единица записывают в виде uav», (A.2) где ||и\—||y||s=l. Следовательно, матрица (АЛ) может быть пере- переписана как Е = 1— uav\ (A.3) Легко проверить, что Е существует тогда и только тогда, ког- когда а\*пф\. В этом случае Е-*= I — utv*. (A.4) где т"хН-а = у»и. Таким образом, (А.4) утверждает, что Е тоже элементарная матрица. Отмегим, что u, v, оит определяют одновременно Е и Е и в практической работе произведение ЕВ может быть реализовано только за 2п2 действий против ns дейст-
Приложение А 355 вий, если структура Е игнорируется. В общем случае Е может оказаться полной матрицей, если она была сформирована явно. Элементарные матрицы действительно являются полезными инструментами. Упражнения к приложению А A.I. Найти значения u, v и а, которые определяют традиционные эле- элементарные матрицы, описанные в первом предложении. А.2. Проверить, что (А.2), (А.З), (А.4) продолжают сохранять силу, когда и и v разрешается быть (пхп)-матрицами (т<п), удовлетворяющими усло- условиям u*u=v*v = lCT. Разумеется, а и х становятся (тХ»О-матрицами. 12'
ПРИЛОЖЕНИЕ В Многочлены Чебышева Для заданного положительного целого k функция cos fop не является многочленом от <р, но она оказывается многочленом степени k от cosq>. Этот многочлен, конечно, корректно опреде- определен для значений аргумента вне интервала [—1, I], но не может быть выражен через косинусы. Если <р = ?, то q> = cos~1?=!arccosiH cos(fcarccos?) = ch(fcarcch?), -5-B|)* прн 5—*¦ оо, 511!)-*] прн HI > 1, k фиксировано. Кроме того, Tk{\)= I для всех k, Ts(l+e) быстро возрастает для малых е и больших й(е>0), что н делает ускорение Чебышева столь полезным (см. табл. В.1). Таблица В.1 Типичные значения Тт(\ т ^^ 10 102 2Х Ю2 Ю3 10 1.0201 3.7621 2.7306 2.4250 -4 X X ю1 10е 10 1.2067 2.7876 1.5542 1.4507 -3 X X X ю2 ю5 W 10 3.7502 2.3466 1.1014 2.5927 -2 X X X 10» 10" 10м ю-» Z5227 X" I02 5.3436 X 102* 5.7107 X 10й 9.7179 X 10*» Простая трехчленная рекурсия позволяет вычислять ТА(|)без явного использования его коэффициентов. Рекурсия представляет
Приложение В 357 Октремумы Т7: cos (Уп/7), J* 0,. ••, ,7 Обозначения: Ь Экстремумы о Нули Рис. В.1. График многочлена Г7. собой скрытую форму равенства а именно Многочлен Tk(l)/2k~x является наименьшим нормированным многочленом степени k при условии,, что величина функции опре- определяется как ее максимальное абсолютное значение на интервале [—1, I]. Более важным является связанный с этим факт, что из всех многочленов р степени, меньшей или равной k, которые удовлетворяют условию р(у) = & Для некоторого \у\ > 1, наимень- наименьшим на интервале [—1, I] является многочлен
358 Многочлены Чебышева для которого |l|L= max Чтобы получить аналогичные результаты для интервала [а, Р], используем адаптированные к нему многочлены Чебышева Тк (i: а, Р) я Тк [B5_о-Р)/(Р-о)] - Тк A + 2|=|) . Ведущий коэффициент Тк (?: а, Р) равен у [4/(Р—а)]*. Оптимальные характеристики Tft являются следствием их зна- знаменитых свойств: на интервале [—1, 1] Tk(Q достигает своего максимального абсолютного значения ровно fc+1 раз, меняя при этом каждый раз свой знак. Других многочленов степени k или меньше, которые имели бы подобное свойство (называемое альтер- нансом) и были бы отличны от кратных Тк, не существует.
Литература1' Bargmann, V.; С. Montgomery; and J. von Neumann, 1946. *l Solution of Linear Systems of High Order," Princeton: Institute for Advanced Study. Bathe, K. -J., and E. Wilson, 1976. Numerical Methods in Finite Element Analysis. Englewood Cliffs, N.J.: Prentice-Hall.. Bauer, F. L., 1957. "Das Verfahren der Treppeniteration und Verwandte Verfahren zur Losung Algebraischer Eigenwertprobleme." Zamp, 8:214-235. Brent, R. P., 1973. Algorithms for Minimization without Derivatives. En- Englewood Cliffs, N.J.: Prentice-Hall. Browne, E. Т., 1930. "On the Separation Property of the Roots of the Secular Equation." Amer. J. Math., 52:841-850. Bunch, J. R., and D. J. Rose, eds., 1976. Sparse Matrix Computations. New York: Academic Press. Bus, J. C, and T. J. Dekker, 1975. "Two Efficient Algorithms with Guaran- Guaranteed Convergence for Finding a Zero of a Function." Trans, on Mathematical Software, 1:330-345. Cauchy, A., 1821. "Cours D'Analyse de VEcole Polytechnique." Oeuvres Completes, vols. 2 and 3. Chatelin, F., and J. Lemordant, 1978. "Error Bounds in the Approximation of the Eigenvalues of Differential and Integral Operators." J. Math. Anal. Appi, 22:257-271. * Clirie, A. K.; G. H. Golub; and G. W. Platzman, 1976. "Calculation of Normal Modes of Oceans Using a Lanczos Method," In Sparse Matrix Computa- Computations, eds. J. R. Bunch, and D. J. Rose, pp. 409-426. New York: Academic Press. Corneil, D., 1965. Eigenvalues and Orthogonal Eigenvectors of Real Symmetric Matrices. Master's thesis, Dept. "of Computer Science, University of Toronto. *> Звездочками помечены работы, переведенные на русский язык, и рабо- работы советских авторов —см. список на с. 365.
360 Литература Crandall, S. H., 1951. "Iterative Procedures Related to Relaxation Methods for Eigenvalue Problems." Proc. Roy. Soc. London, Ser. A, 207:416-423. Crawford, С R.,1973. "Reduction of a Band-Symmetric Generalized Eigen- Eigenvalue Problem." Comm. A.C.M., 16:41-44. , 1976. "A Stable Generalized Eigenvalue Problem." Soc. Ind. Appl. Math. J. Num. Anal., 6:854-860. Cullum, J., and W. E. Donath, 1974. "A Block Generalization of the Symmetric S-step Lanczos Algorithm." Report #RC 4845 (#21570), Yorktown Heights, New York; IBM Thomas J. Watson Research Center. Cullum, J., and R, A. Willoughby, 1979. "Lanczos and the Computation in Specified Intervals of the Spectrum of Large, Sparse, Real Symmetric Matrices." In Sparse Matrix Proceedings 1978, eds. I. Duff and G. W. Stewart. Philadelphia: SIAM Publ. ,1980. "Computing Eigenvectors (and Eigenvalues) of Large, Symmet- Symmetric Matrices using Lanczos Tridiagonalization." Proc. Biennial Conf. on Num. Anal., Univ. of Dundee, Scotland, ed. G. A. Watson. New York: Springer-Verlag. Daniel, J. W.; W. B. Gragg; L. Kaufman; and G. W. Stewart, 1976. "Reorthogonalization and Stable Algorithms for Updating the Gram-Schmidt QR Factorization." Math. Сотр., 30:772-795. Davidson, E. R., 1975. "The Iterative Calculation of a Few of the Lowest Eigenvalues of Corresponding Eigenvectors of Large Real Symmetric Matrices." Jour. Сотр. Phys., 17:87-94. Davis, C, and W. Kahan, 1970. "The Rotation of Eigenvectors by a Perturbation-Ш." Soc. Ind. Appl. Math. J. Num. Anal., 7:1-46. De Boor,C, and G. H. Golub, 1978. "The Numerically Stable Reconstruc- Reconstruction Of a Jacobi Matrix from Spectral Data." Lin. Alg. and its Appl., 21:245-260. Dekker, T. J., and J. F. Traub, 1971. "The Shifted QR Algorithm for Hermitian Matrices." Lin. Alg. and its Appl., 11:137-154. *Faddeev, D. K., and V. N. Faddeeva, 1963. Computational Methods of Linear Algebra. Translated by R. C. Williams. San Francisco: W H. Freeman. Fischer, E., 1905. "Concerning Quadratic Forms with Real Coefficients." Monaish. Math Phys., 16:234-249. Fix, G., and R. Heiberger, 1972. "An Algorithm for the Illconditioned Generalized Eigenvalue Problem." Soc. Ind. Appl. Math. J. Num. Anal,, 9:788-88. *Forsythe, G., and С. В. Moler, 1967. Computer Solutions of Linear Algebraic Systems. Englewood Cliffs, N.J.: Prentice-Hall. Fox, L., 1964. An Introduction to Numerical Linear Algebra. New York: Oxford Univ. Press. Francis, J. G. F.', 1961 and 1962. "The QR Transformation, Parts I and II." Computer /., 4:265-271, 332-345. Franklin, J. N., 1968. Matrix Theory. Englewood Cliffs, N.J.: Prentice-Hall. * Gantmacher, F. R., 1959. The Theory of Matrices, vol. II. New York: Chelsea Publ. Co- Gentleman, W. M., 1973. "Least Squares Computations by Givens Transfor- Transformations without Square Roots." J. Inst. Math. Appl., 12:329-336. , 1975. "Error Analysis of QR Decompositions by Givens Transfor-
Литература 391 Gill, P. E.; G. H. Golub; W. Murray; and M. A. Saunder», 1974. "Methods for Modifying Matrix Factorizations." Math. Сотр., 28:505-535. Gill, P. E.; W. Murray; and M. A. Saunders, 1975. "Methods for Computing and Modifying the LDU Factors of a Matrix." Math. Сотр., 29:1051-1077. Givens, W., 1954. "Numerical Computation of the Characteristic Values of a Real Symmetric Matrix." ORNL-1574. Oak Ridge, Term.: Oak Ridge National Laboratory. Glauz, G., 1974. Private communication. Golub, G. H., 1973. "Some Uses of the Lanczos Algorithm in Numerical Linear Algebra." In Topics in Numerical Analysis, ed. J. J. H. Miller, pp. 173-184. New York: Academic Press. Golub, G. H.; R. Underwood; and J. H. Wilkinson, 1972. "The Lanczos Algorithm for the Symmetric Ax •= XBx Problem." Technical Report STAN-CS- 72-270. Computer Science Dept., Stanford University. Golub, G. H., and J. H. Welsch, 1969. "Calculation of Gauss Quadrature Rules." Math. Сотр., 23:221-230. Hald, О. Н., 1976. "Inverse Eigenvalue Problems for Jacobi Matrices." Lin. Alg. and its Appl., 14:63-85. , 1977. "Discrete Inverse Sturm-Liouville Problems." Num. Math., 27:249-256. Hammerling, S., 1974. "A Note on Modification to the Givens Plane Rota- Rotation." J. Inst. Math. Appl., 13:215-218. Henrici, P., 1958. "On the Speed of Convergence of Cyclic and Quasicyclie Jacobi Methods for Computing Eigenvalues of Hermitian Matrices." J. Soc. lnd. Appl. Math., 6: 144-162. Hochstadt, H., 1975. "On Inverse Problems Associated with Sturm-Liouville Operators." Jour, of Diff. Equas., 17:220-235. Hoffman, and B. N. Parlett, 1978. "A New Proof of Global Convergence for the Tridiagonal QL Algorithm." Soc. lnd. Appl. Math. J. Num. Anal., 15: 929-937. Hotelling, H,, 1943. "Some New Methods in Matrix Calculation." Ann. Math. Stat., 14:1-34. Householder, A. S., 1958. "A Class of Methods for Inverting Matrices." J. Soc. lnd. Appl. Math., 6:189-195. , 1961. "On Deflating Matrices." J. Soc. lnd. Appl. Math., 9:89-93. , 1964. The Theory of Matrices in Numerical Analysis. Johnson, Colo.: Blaisdell Pub. Co.. * Jacobi, C. G. J., 1846. "Concerning an Easy Process for Solving Equations Occurring in the Theory of Secular Disturbances". /. Reine Angew. Math., 30:51-94. Jennings, A., 1971. "Accelerating the Convergence of Matrix Iterative Processes." J. Inst. Math, Appl., 7:99-110. , 1977. Matrix Computation for Engineers and Scientists. New York: John Wiley. Jennings, A., and T. J. A. Agar, 1978. "Hybrid Sturm Sequence and Simulta- Simultaneous Iteration Methods." in Proc. of Symp. on Applic. of Computer Methods in Eng. Los Angeles: University of Southern California Press.-
362 Литература Jensen, P. S., 1972. "The Solution of Large Symmetric Eigenproblems by Sectioning." Soe. lnd. Appl. Math. J. Num. Anal., 9:534-545. Kahan, W., 1966. "When to Neglect Off-Diagonal Elements of Symmetric Tridiagonal Matrices." Tech. Report No. CS42. Computer Science Dept., Stanford University. , 1967. "Inclusion Theorems for Clusters of Eigenvalues of Hermitian Matrices." Tech Report No. CS42. Computer Science E>ept., University of Toronto. Kahan, W., and B. N. Parlett, 1976. "How Far Should You Oo with the Lanczos Algorithm?" In Sparse Matrix Computations, eds. J. R. Bunch, and D. J. Rose, pp. 131-144. New York: Academic Press. Kaniel, S,, 1966. "Estimates for Some Computational Techniques in Linear Algebra." Math. Сотр., 20:369-378. *Kato, Т., 1949. "On the Upper and Lower Bounds of Eigenvalues." /. Phys. Soc. Japan, 334-339. , 1966. Perturbation Theory for Linear Operators. New York: Springer-Verlag. For general perturbation theory see [Katoy 1966, Chap. 2]. * Knuth, D. E., 1969. The Art of Computer Programming. Fundamental Algo- Algorithms, vol. 1. Reading, Mass.:Addison-Wesley Publ. Co. *Krein, M. G., 1945. "On Self-Adjoint Extensions of Bounded and Semi- bounded Hermitian Transforms." Dokl. Akad. Nauk. S.S.R., 48:303-306. *Krylov, A. N., 1931. "On the Numerical Solution of Equations which in Technical Questions are Determined by the Frequency of Small Vibrations of Material Systems." //o. Akad. Nauk. S.S.S.R. Old: Mat. Estest., 1:491-539. *Kublanovskaya, V. N, 1961. "On Some Algorithms for the Solution of the Complete Eigenvalue Problem." Zh.Vych. Mat., 1:555-570. Lanczos, C, 1950. "An Iteration Method for the Solution of the Eigenvalue Problem of Linear Differential and Integral Operators." /. Res. Nat. Bur. Stan- Standards, Sect. В 45:225-280. Lehmann, N. J., 1949. "Calculation of Eigenvalue Bounds in Linear Prob- Problems." Arch. Math., 2:139-147. , 1963. "Optimale Eigenwerteinschiessungen." Num. Math., 5: 246-272. , 1966. "On Optimal Eigenvalue Localization in the Solution of Symmetric Matrix Problems." Num. Math., 8:42-55. McCormick, S. F., and T. Noe, 1977. "Simultaneous Iteration for the Matrix Eigenvalue Problem." /. Lin. Alg. Appl., 16:43-56. Moler, С. В., and G. W. Stewart, 1973. "An Algorithm for Generalized Matrix Eigenvalue Problems." Soc. lnd. Appl. Math. J. Num. Anal., 10:241-256. Ortega, J. M., and H. F. Kaiser, 1963. "The LLT and QR Methods for Symmetric Tridiagonal Matrices." Numer. Math., 5:211-225. Ostrowski, A. M., 1958, 1959. "On the Convergence of the Rayleigh Quotient Iteration for the Computation of Characteristic Roots and Vectors, I and II." Arch. Rational Mech. Anal., 1:233-241; 2:423-428. Paige, С. С, 1971. The Computation of Eigenvalues and Eigenvectors of Very Large Sparse Matrices. Ph.D. thesis, Univ. of London. , 1972. "Computational Variants of the Lanczos Method for the
Литература 363 Eigenproblem." /. Inst. Math. AppL, 10:373-381. ; , 1976. "Error Analysis of the Lanczos Algorithm for Tridlagonalizing a Symmetric Matrix." /. Inst. Math. AppL, 18:341-349. Parlett, B. N., 1964. "The Origin and Development of Methods of LR Type." S.I.A.M. Rev. 6:275-295. , 1971. "Analysis of Algorithms for Reflections in Bisectors." Soe. Ind. Appl. Math, Rev., 13: 197-208. , 1974. "The Rayleigh Quotient Iteration and Some Generalizations for Nonnormal" Matrices." Math. Сотр., 28:679-693. Parlett, B. N., and W. Kahan, 1969. "On the Convergence of a Practical QR Algorithm." Information Processing 68 (Proc. IF1P Congress, Edinburgh, 1968). Mathematical Software, sect. 1, pp. 114-118. Amsterdam: North-Holland. Parlett, B. N., and W. G. Poole, 1973.. "A Geometric Convergence Theory for the QR, LU, and Power Iterations." Soc. Ind. Appl. Math. J. Num. Anal., 10:389-412. Parlett, B. N., and D. S. Scott, 1979. "The Lanezos Algorithm with Selective Orthogonalization." Math. Сотр., 33:217-238. Parrott, S., 1978. "On a Quotient Norm and the Sz.-Nagy-Foias Lifting Theorem." /. of Functional Analysis, 30:311-328. Rayleigh, Lord (J. W. Strutt), 1899. "On the Calculation of the Frequency of Vibration of a System in its Gravest Mode, with an Example from Hy- Hydrodynamics." Philos. Mag., 47:556-572. Reinsch, С. Н., 1971. "A Stable Rational QR Algorithm for the Computation of the Eigenvalues of an Hermitian, Tridiagonal Matrix." Num. Math., 25:591-597. Ritz, W., 1909. "Ober eine neue Method zur Ldsung Gewisser Varia- tionsprobleme der Mathematischen Physik." /. Rein. Angew. Math., 135:l-6f. Ruhe> A., 1975. "Iterative Eigenvalue Algorithms Based on Convergent Splittings."/. Сотр. Phys., 19:110-120. , 1977. "Computation of Eigenvalues and Eigenvectors." In Sparse Matrix Techniques, Copenhagen, 1976, LNM, pp.130-184. New York: Springer* _ , 1979. "Implementation Aspects of Band Lanczos Algorithm for Computation of Eigenvalues of Large Sparse Matrices." Math. Сотр., 33:680-687. Ruhe, A., and T. Ericsson, 1980. "The Spectral Transformation Lanczos Method in the Numerical Solution of Large, Sparse, Generalized, Symmetrio Eigenvalue Problems." Math. Сотр., 35:1251-1261. Rutishauser, H., 1969. "Computational Aspects of F. L. Bauer's Simulta- Simultaneous Iteration Method." Numer. Math., 13:4-13. * , 1971. "The Jacobi Method for Real Symmetric Matrices." In Handbook for Automatic Computation (Linear Algebra), eds. J. H. Wilkinson, and С. Н. Reinsch, pp. 202-211. New York: Springer-Verlag. * ,1971. "Simultaneous Iteration Method for Symmetric Matrices." In Handbook for Automatic Computation (Linear Algebra), eds. J. H. Wilkinson, and C. H. Reinsch, pp. 284-302. New York: Springer-Verlag. Saad, Y., 1974. "Shifts of Origin for the QR Algorithm." Torontot Pro.JFIP Congress. , 1980, "Error Bounds on the Interior Rayleigh-Rltz Approximation* fro Krvlov SubsDaces." Sec. Ind. AppI. Math. J. Num. Anal.. 17:000-000.
364 Литература Sack, R. A., 1972. "A Fully Stable Rational Version of the QR Algorithm for .Tridiagonal Matrices." Numer. Math., 18:432-441. Schonhage, A., 1961. "On the Convergence of the Jacobi Process." Num. Math., 3:374-380. Schwarz, H. R., 1970. "The Method of Conjugate Gradients in Least Squares Fitting." Z. Ver., 95:130-140. , 1974. "The Eigenvalue Problem [A - XB)x = 0 for Symmetric Matrices of High Order." Сотр. Meth. in Appl. Mech. Eng., 3:11-28. , 1977. "More Results on A - ЛЯ." Сотр. Meth in Appl. Mech. Eng., 12:181-199. . Scott, D., 1978. Analysis of the Symmetric Lanczos Algorithm. Ph.D. disserta- dissertation, Dept. of Mathematics, University of California, Berkeley. Shavitt, 1.; C. F. Bender; and A. Pipano, 1973. "The Iterative Calculation of Several of the Lowest or Highest Eigenvalues and Corresponding Eigenvectors of Very Large Symmetric Matrices." Jour. Сотр. Phys., 11:90-108. Stewart, G. W., 1970. "Incorporating Origin Shifts into the QR Algorithm for Symmetric Tridiagonal Matrices." Comm. Assoc. Сотр. Mach., 13:365-1.367. ¦, 1973, Introduction to Matrix Computation, New York: Academic , 1976. "A Bibliographic Tour of the Large, Sparse .Generalized Eigenvalue Problem." In Sparse Matrix Computations, eds. J. R. Bunch and D. J.' Rose. New York: Academic Press. , 1976. "The Economic Storage of Plane Rotations." Numer. Math., 25:137-138. - t 1979. 'Terturbation Bounds for the Definite Generalized Eigenvalue Problem." Lin. Alg. and Us Appl., 23:69-85. *Strang, G., 1976. Linear Algebra and its Applications. New York: Academic Press. *Szego, G., 1939. Orthogonal Polynomials. No. 23. New York; Am. Math. Soc. Colloq. Publ. Takahasi, H., and M. Natori, 1971-1972. "Eigenvalue Problem of Large Sparse Matrices." Report of the Computer Centre, University of Tokyo, 4:129-148. Temple, G., 1933. "The Computation of Characteristic Numbers and Char- Characteristic Functions." Proc. London Math. Soc, 2:257-280. , 1952. "The Accuracy of Rayleigh's Method of Calculating the Natural Frequencies of Vibrating Systems." Proc. Roy. Soc. London, Ser. A. 211:204-224. Temple, G., and W. G. Bickley, 1933. Rayleigh's Principle and its Applications to Engineering. London: Constable. Thompson, R. C, and P. McEnteggert, 1968. "Principal Submatrkes II, the Upper and Lower Quadratic Inequalities." Lin. Alg. and its Appl., 1:211-243. Traub, J., 1964. Iterative Methods for the Solution of Equations. Englewood Cliffs, N.J.: Prentice-Hall. UhHgrJP., 1979. "A Recurring Theorem About Pairs of Quadratic Forms and Extensions: A Survey." J. Un. Alg. Appls., 25:219-238. Underwood, R., 1975. An Iterative Block Lanczos Method for the Solution of Large Sparse Symmetric Eigenproblems. Ph.D. dissertation, STAN-CS-75-496, Stan- Stanford .University..
Литература 365 van Kats, J. M., and H. A. van der Vorst, 1976. "Numerical Results of the Paige-Style Lanczos Method for the Computation of Extreme Eigenvalues of Large Sparse Matrices." Tech. Report 3. Utrecht, Netherlands: Academic Computer Center. Weaver, W., and D. M. Yoshida, 1971. "The Eigenvalue Problem for Banded Matrices." Computers and Structures, 1:651-664. Weinberger, H. F., 1974. Variational Methods for Eigenvalue Approximation. Philadelphia: Soc. Ind. Appl. Math. Weinstein, A., 1935. "Sur la Stabilite des Plaques Encastrees." С R. Acad. Sci. Paris, 200:107-109. Weyl, H., 1912, submitted for publication in 1911. "The Laws of Asymptotic Distribution of the Eigenvalues of Linear Partial Differential Equations." Math. Ann.,1lM\-479. Whitehead, R. R., 1972. "A Numerical Approach to Nuclear Shell-Model Calculations." Nuclear Physics, A 182:290-300. Wiberg, Т., 1973. "A Combined Lanczos and Conjugate Gradient Method for the Eigenvalue Problem of Large Sparse Matrices." Tech. Report UMIN-4273. Umea, Sweden: Dept. of Information Processing, S-90187. Wielandt, H., 1967. Topics in the Theory of Matrices. (Lecture notes prepared by R, R, Meyer). Madison: University of Wisconsin Press. Wilkinson, J. H., 1960. "Householder's Method for the Solution of the Algebraic Eigenproblem." Сотр. Jour., 3:23-27. , 1962. "Note on the Quadratic Convergence of the Cyclic Jacobi Process." Num. Math., 4:296-300. , 1964. Rounding Errors in Algebraic Process. Englewood Cliffs, N.J.: Prentice-Hall. * , 1965. The Algebraic Eigenvalue Problem. New York: Oxford Univ. Press. * Wilkinson, J. H., and С, Н. Reinsch, 1971. Handbook for Automatic Com- Computation. Linear Algebra, vol. 2. New York: Springer-Verlag. Wilson, E. 1978. Private communication. Zeeman, E. C, 1976. "Catastrophe Theory." 5c/. Amer., 234:65-83. Zimmerman, K., 1969. "On the Convergence of « Jacobi Process for Ordinary and Generalized Eigenvalue Problems." Dissertation No.,4305. Zurich; Eidgenossische Technische Hochschule. Работы советских авторов и работы, переведенные на русский язык Гантмахер Ф. Р. Теория матриц. Изд. 2.—М.: Наука, 1966. Като Т. Теория возмущений линейных операторов.—М.: Мир, 1972. Кнут Д. Е. Искусство программирования для ЭВМ. Т. 1. Основные алгорит- алгоритмы.—М.: Мир, 1976. Крейн М. Г. О самосопряженных расширениях ограниченных и полуограни- полуограниченных эрмитовых преобразований.—ДЛЯ СССР', 1945, 48, 308—306.
366 Литература Крылов А. Н. О численном решении уравнения, которым в технических во- вопросах определяются частоты малых колебаний материальных систем.— И АН ОМЕН, 1931, 4, 491—539. Кублановская В. Н. О некоторых алгорифмах для решения полной проблемы собственных значений.— Ж. вычисл. машем, и чат. физики, 1961, 1, № 4, 555—570. Рутисхаузер X. Метод Якоби для действительных симметрических матриц.— В сб. Уилкинсон, Райнш (см. ниже), с. 182—189. Рутнсхаузер X. Метод одновременной итерации для симметрических матриц.— В сб. Уилкинсон, Райнш (см. ниже), с. 252—266. Сеге Г. Ортогональные многочлены.— М.: Физматгиз, 1962. Стрэнг Г. Линейная алгебра и ее применения.— М.: Мир, 1980. Уилкинсон Дж. Алгебраическая проблема собственных значений.— М.: Наука, 1970. Уилкинсон Дж. Райнш. Справочник алгоритмов на языке Алгол. Линейная алгебра.— М.: Машиностроение, 1976. Фаддеев Д. К., Фаддеева Д. Н. Вычислительные методы линейной алгебры. Изд. 2.— М.— Л.: Физматгиз, 1963. Форсайт Дж. Е., Молер К- Численное решение систем линейных алгебраи- алгебраических уравнений.— М.: Мир, 1969.
Аннотированная библиография Матричная теория Noble В., and J. W. Daniel, Applied Linear Algebra. 2nd ed. Englewood Cliffs, N. J.: Prentice-Hall. 1977. Популярная, широкого охвата, не слишком много требующая от читателя книга. В новое издание внесены некоторые улучшения и устранен ряд ошибок. Franklin J. N.. Matrix Theory. Englewood Cliffs, N. J.: Prentice-Hall, 1968. Ясное изложение, привлекательная для математиков, выявляет исполь- использование матричной теории при изучении дифференциальных уравнений. Тща- Тщательно и понятно трактуется жорданова форма. Strang Q. Linear Algebra and its Applications. New York: Academic Press, 1976. [Русский перевод: Стрэнг Г. Линейная алгебра и ее применения.— М.: Мир, 1980.] С моей точки зрения, лучшая книга. Компактная, выдержан- выдержанная в едином стиле, каждый пример и каждое упражнение выявляют важные моменты. Основной упор делается на приложения, и математика используется главным образом для улучшения понимания, а не для построения изощрен- изощренной теории. Матричные вычисления (введение) Fox L. An Introduction to Numerical Linear Algebra. New York: Oxford Univ. Press, 1964. Очень ясное изложение на довольно элементарном уровне. Несмотря на давний срок издания, она все еще остается очень хорошим по- пособием для первого знакомства с предметом. Stewart Q. W. Introduction to Matrix Computations. New York: Academic Press, 1973. Всесторонняя, авторитетная и легко читается. От читателя требу- требуется большая подготовка, чем в книге Фокса. Включены программы. Schwarz H. R., H. Rutishauser and E. Stiefel, Numerical Analysis of Sym- Symmetric Matrices. Englewood Cliffs N, J.: Prentice-Hall, 1973. Стиль совершенно отличен как от книги Фокса, так и от книги Стьюарта. Изложение класси- классическое, основной материал представлен хорошо, но некоторые численные методы, описанные с такой тщательностью, на удивление устаревшие. Про- Программы на Алголе используются для иллюстрации методов. Gourlay A. R. and Q. A. Watson, Computational Methods for Matrix Eigen- problems. New York: John Wiley, 1973. Прекрасная маленькая книга. Про- Просто и непосредственно представлены основы. Программ нет. Матричные вычисления (специализированные книги) Householder A. S. The Theory of Matrices in Numerical Analysis. Blaisdell, 1964. Рассматриваемые численные методы совершенно устарели, что и не уди- удивительно. Однако первые три главы представляют полезный набор тем из матричной теории: проекции, факторизации, нормы и выпуклые тела, теория Перрона—Фробениуаа и неравенства, связанные с собственными числами. Этот материал, а также многочисленные задачи и упражнения сохраняют свое
368 Аннотированная библиография значение. Книга написана компактно, для профессиональных математиков. Пользовалась значительным авторитетом в данной области. Wilkinson J. H. The Algebraic Eigenvalue Problem. New York: Oxford University Press, 1965. [Русский перевод: Унлкинсон Дж. Алгебраическая проблема собственных значений.— М.: Наука, 1970.] Сначала представлены те разделы матричной теории и теории возмущений, которые связаны с числен- численными методами. Затем проводится анализ ошибок округления. В основной части книги мастерски и детально рассматриваются все важные подходы к решению проблемы собственных значений. Анализ охватывает как точную арифметику, так и арифметику с шумами. Различные важные примеры иллю- иллюстрируют зачастую поразительные эффекты ошибок округления. Эффективное использование «обратного» анализа ошибок, в котором Уйлкинсон заслу- заслуженно является признанным авторитетом, позволило просто и убедительно объяснить поведение каждого численного метода. Эта книга является «библией» для тех, кто занимается матричными вы- вычислениями. Wilkinson J. H. and Q. Reinsch. Handbook for Automatic Computation Vo- Volume II — Linear Algebra. New York: Springer-VerJag, 1971. [Русский перевод: Уйлкинсон Дж., Райнш. Справочник алгоритмов на языке Алгол. Линейная алгебра.— М.: Машиностроение, 1976]. Книга представляет собой собрание восьмидесяти двух программ на языке Алгол и синтезирует в известном смыс- смысле двадцать лет работы по переложению основ матричного анализа на язык программирования для вычислительной машины. Наряду с текстом каждой программы имеется ценная сопровождающая документация. Не весь материал принадлежит авторам, но каждая программа в той или иной степени созда- создавалась при их участии. Многие из этих алгоритмов имеются в составе пакета программ EISPACK. Я предпочитал ориентировать пользователей на соответствующие хорошо оттестированные и имеющиеся в наличии программы из Справочника, вместо того чтобы предлагать мои собственные версии. Jennings A., Matrix Computation for Engineers and Scientists. New York: John Wiley, 1977. Изложена большая часть методов, используемых в настоя- настоящее время для матричных задач, н некоторые устаревшие методы. Много полезных деталей. Упор делается на примеры и эксперименты. Меньше вни- внимания уделено теории и объяснению проведения различных методов. Язык ориентирован на инженеров-строителей.
Обозначения Термин Описание и пример Определение ¦ в Индексы (положительные целые i, j, k, I, m, n и иногда р. числа) Нумерация (формул, теорем и ((. /. к) k-я формула (теорема) параграфа / т. д.) главы (. Скаляры (вещественные нли строчные греческие буквы а, Р, |х или строч- комплексные числа) вый курсив а,у, Х[. Векторы (столбцы) строчные латинские буквы а, х, q2; нуле- нулевой вектор о. Матрицы Прописные латинские буквы А, В, С. Симметричные матрицы Симметричные буквы А, Н, М, Т, U, V, W, X, Y. Диагональные матрицы Греческие буквы Л, в, Ф, Д. Специальные матрицы Нулевая матрица О, единичная матрица I, сдвиг матрицы А обозначается А—о (I опу- опускается). Сопряженные величины и*, В*. Векторные пространства н под- Рукописные буквы 5?, Чо, или span(bj, ..., пространства bm), или х-1-. Размерность Все векторы я-мериые, а матрицы порядка п, если не оговорено противоположное. Собственные значения %lt Я2, ... %j [М] обозначает /-е собственное значение М. Упорядочение собственных зна- %г < Х2 <.. .< Хп ченнй Я_„«5.. .<*._¦> <A._i (это упорядочение полезно для матриц большого порядка).
370 Определители Характеристические многочлены Углы Ортогональность Нормы Прямая сумма Более трудный материал Обозначения detB или det[B]. х (Т) =з х^ (Т) ез <jet [Т — А]. Z (/> 8) обозначает угол между f н g. Y I V Y I JSP Л _|_ у, Л _|_ с/ • в У II ^ 1^*Х*Х. || В | в max | Bu ||/|| u || по всем и ф 0. ""-"[НИ (F — в честь Фробениуса). B$C = diag(B, С). * (звездочка).
Именной указатель Баргман (Bargmann) 202 Бас (Bus) 70 Бауэр (Bauer) 180 Брент (Brent) 70 Брэм (Bram) 10 Вайнштейн (Weinstein) 227 Вейль (Weyl) 212 Виландт (Wielandt) 227 Галуа (Galois) 73 Гантмахер 325 Геррик (Herrick) 7 Гивенс (Givens) 12,30, 68, 109, 135, 155 Глаус (Glauz) 182 Голуб (Golub) 9, 155 Гундельфингер (Gundelfinger) 68 Коши (Cauchy) 68 Крейн 251 Крылов 255, 275 Кублановская 189 Ланцош (Lanczos) 155, 276 Лау (Lau) 10 Леманн (Lehmann) 216, 219, 227 Монтгомери (Montgomery) 202 Молер (Moler) 9 фон Нейман (von Neumann) 202 Ноубл (Noble) 367 Ортега (Ortega) 181 Деккер (Dekker) 70 Дженнингс (Jennings) 324 Дэвис (Davis) 244 Дэниел (Daniel) 367 Изаксон (Isaacson) 9 Иохвндов 68 Йенсен (Jensen) 323 Кайзер (Kaiser) 181 Каниэль (Kaniel) 252, 275 Като (Kato) 225 Кахан (Kahan) 9, 12, 92, 96, 150, 155, 182, 198, 214, 227, 244, 251 Кнут (Knuth) 105 Корнейл (Corneil) 198, 202 Парлетт (Parlett) 190 Перейра (Регеуга) 182 Пэж (Paige) 9, 14, 145, 155, 275, 285 Пэл (Pal) 182 Пэр рот (Parrot) 254 Райнш (Reinsch) 51, 182 Релей (Rayleigh) 87, 253 Ритц (Ritz) 253 Рутисхаузер (Rutishauser) 182, 310, 317 Саад (Saad) 180, 275 Cere (Szego) 155 Скотт (Scott) 288, 294 Стречи (Strachey) 189 192,
372 Именной указатель Стрэнг (Strang) 9, 367 Стюарт (Stewart) 9, ПО, 155, 182, 367 Сузуки (Suzuki) 10 Сэк (Sack) 182 Фокс (Fox) 102, 155, 367 Форсайт (Forsythe) 9 Фрэнклин (Franklin) 9, 367 Фрэнсис (Francis) 189 Темпл (Temple) 225 Том (Thorn) 42 Тон-Цун-Чжу (Tong Трауб (Traub) 190 Tshung-chu) 7 Уилкинсон (Wilkinson) 9, 41, 51, 135, 155, 202 Уилсон (Wilson) 323 Уокер (Walker) 182 Уэлш (Welsh) 182 Фаддеев 73 Фаддеева 73 102, Хаусхолдер (Householder) 12, 102, 135, 155 Хессенберг (Hessenberg) 174 Хотеллинг (Hotelling) 102 Хоффман (Hoffman) 190 Шварц (Schwarz) 367 Шонхаге (Schonhage) 202 Шредингер (Schrodinger) 7 Штифель (Stiefel) 367 Штурм (Sturm) 68 Якоби 13, 109
Предметный указатель Алгоритм Кахана 123 — Краута 58 — Ланцоша 130, 277, 298 ленточный 305 — Райнша 185 — секционный 323 — LR 189 — PWK 182 — QL для ленточных матриц 187 — QZ 338 TQLRAT 182 Алгоритмы QR и QL 157, 190 и обратная итерация 160 по сравнению с обратной итера- итерацией 84 реализация 174 сходимость 162 Анализ ошибок обратный 41, ПЗ прямой 41, П4 треугольного разложения 59 Аппроксимации Релея — Ритца 234, 345 Арифметика 39 — с плавающей точкой 40 Базис Ланцоша 272 — неортогональный 249 — подпространства 228 Барьерные методы 198 Бауэра — Файка теорема 30 Бесселя" функции 128 Большая матрица 33 Быстрые масштабированные вращения 116 Вектор невязки 27, 84 — нормированный 18 — Ритца 233 Вектора норма 18 Векторные итерации 74 — машины 53 Векторы ортогональные 17 Виландта — Хоффмана неравенство 29 Взаимное уничтожение 42 Внутренние приближения Ритца 246 Вращение плоское 108 Вращения быстрые масштабированные П6 — Гивенса 109, 135, 194 — плоские 135 — Якоби 109, 136, 192 Выборочная ортогрнализация (в методе Ланцоша) 295 Галуа теорема 73 Гаусса преобразование 57 Гильберта — Шмидта норма 28 Гиперплоскость 106 Градуированная матрица 160, 333 Грама —Шмидта ортогонализация Пб Граничная норма {см. Спектральная норма] Гундельфингера правило 68 Деление пополам 69 — спектра 62, 186 Делитель спектра 63 Диагоиализация одновременная пары квадратичных ферм 329 Дополнение по Шуру 57
374 Предметный указатель Евклидово пространство 16 Заполнение матрицы 132 Значения н векторы Рнтца 233 — Рнтца внутренние 247 Идемпотента 23 Инвариантные нормы 29 — подпространства 24 Инерция 26 Интервалы оптимальные Леманна 216 Исчерпывание 97 Итерации векторные 74 — обратные 78, 83 — с отношением Релея 86 — Стодолы 275 Итерирование подпространства 309 Каннэля оценки ошибок 264 Кахана алгоритм 123 — ортогонализация 123 — теорема о сходимости 92 Квадратичная сходимость 198 Квадратичные формы 25 Копия собственного вектора (в методе Ланцоша) 290 Корень плохо обусловленный 328 Коши — Вине формула 144 Коши теорема о разделении 68, 204 Коши — Шварца неравенство 18, 91 Кратные собственные значения 22, 199 Краута алгоритм 58 Крылова многочлены 259 Куранта — Фишера минимаксная ха- рактернаация 207 Кэли — Гамильтона теорема 132 Лакуны в спектре матрицы 225 Ланцоша алгоритм 130, 277, 298 ленточный 305 — базнс 272 — метод, оценки точности 279 переортогоналнзацня 292 Леманна теорема 219 Ленточная матрица 136, 187 Ленточные пучкн матриц 334 Матрица большая 33 — градуированная 160, 333 — заполненная 132 — Крылова 255 — ленточная 136 — малая 33 — невязок 231 — неразложимая трехднагональная 127 — нижняя Хессенберга 174 — ортогональная 19, 103 — ортонормальная 19 — перестановки 104 — положительно определенная 26 полуопределенная 26 присоединенная 144 — разреженная 34 — самосопряженная 22 — симметричная 21 — собственная 103 — сопряженная 19 — транспонированная 19 — трехдиагональная 127 — унитарная 19 — эквивалентного возмущения 112 — элементарная 354 — эрмитова 21 — якобнева вращения 192 Матричные, нормы 28, 195 Машина векторная 53 — параллельная 54 Метод Ланцоша 279, 292 — Ньютона 181 — секущих 69 — Фнкса — Хайбергера 334 — Хаусхолдера 115 — циклический 197 — Шварца 138 — Якобн 191 обобщенный 388 сходимость 195 — SOR 343
Предметный указатель 375 Методы барьерные 198 Метрика хордовая 328 Минимаксная характернзация Куран- Куранта — Фишера 207 Многочлен характеристический 72 Многочлены Крылова 259 — Ланцоша 132 — ортогональные 141 — Чебышева 262, 356 Множество порождающее 228 Множитель Холесского 26, 56 Монотонность невязки 91 Накопление скалярных произведений 48 Невязка Релея 27 Невязкн вектор 27, 84 — монотонность 91 — сжатие 245 Невязок матрица 231 Неортогональный базис 249 Неравенство Виландта — Хоффмана 29 — Коши — Шварца 18, 91 Неразложимая трехдиагональная мат- матрица 127 Норма вектора 18 — Гильберта — Шмидта 28 — граничная [см. Спектральная норма] — спектральная 28 Нормы инвариантные 29 — матричные 28, 195 Ньютона метод 181 Обратная итерация 78, 83 со сдвигом Релея 87 Обратные задачи на собственные зна- значения 29 Обратный анализ ошибок ИЗ Обусловленность собственного значе- значения 29 Одновременная диагоиализация пары квадратичных форм 329 — итерация [см. Итерирование под- подпространства] Округление 121 — ошибка 40 при ортогонализации 121 Оптимальные интервалы Леманна 217 Ортогонализацня Грама — Шмидта 115 — выборочная в методе Ланцоша 295 — Кахана 123 Ортогональная матрица 19, 103 Ортогональные векторы 17 — многочлены 141 — подобия (конгруэнции) 22, 103 Ортонормальная матрица 19 Основной QL-алгоритм 162 Отбрасывание внедиагональных эле- элементов 150 Отделенность 89 Отношение Релея 27, 87, 163 Отражения 105 Оценка невязки 166 Оценки для внутренних значений Рит- ца 247 — ошибок в степенном методе 85 Каниэля 264, 267 с использованием невязок 237 отделенностей 225 Саада 263, 267 спектральной аппроксимации в подпространствах Крылова 262 — собственных значений 203 — точности в методе Ланцоша 279 Очень близкие числа Ритца 237 Ошибка округления 40 Ошибки в последовательности ортого- ортогональных преобразований 111 — округлений при ортогонализации 121 Память ЭВМ 38 Параллельная машина 54 Переортогонализацня в методе Ланцо- Ланцоша 292 Перестановки 104 — матрица 104 Плоское вращение 108 Плохо обусловленный корень 328 Подобие ортогональное 22, 103
376 Предметный указатель Подпространства базис 228 — нтерацни 309 сходимость 318 — порождающее множество 228 — представление 228 Подпространство 228 — инвариантное 231 — Крылова 255 — собственное 231 Полином нормированный 260 — характеристический 26 Положительно определенная форма 26 — полуопределенная форма 26 Последовательность ортогональных преобразований 111 — Релея 87 — Штурма 68, 147 Правило Гундельфннгера 68 — Кахана для отбрасывания малых виедиагональных элементов 151 — Фробениуса 68 Преобразование Гаусса 57 — конгруэнтное 26 — подобное 21, 101 — эквивалентное 325 — QL 157 Приближения Ритца внутренние 246 Приведение к трехдиагональному ви- виду 128, 132 ленточной матрицы мето- методом Шварца 138 ленточных пучков 334 методом Ланцоша 131 частичное 272 — Фнкса — Хайбергера 334 Присоединенная матрица 144 Программы 50 Проекторы 23 Пространство евклидово 16 — со скалярным произведением 17 Процедура Релея — Ритца 232, 277 Процесс Грама — Шмидта 115 Пучки матриц 325 ленточные 334 определенные 330 сингулярные 327 эквивалентные 325 Пэжа теорема 285 Разложение треугольное 55 — Холесского 56 — QR методом Грама — Шмидта 116 Разреженные матрицы 34 Райшйа алгоритм 185 Ранг 26 Рандомизация 317 Реализация алгоритмов QL и QR 174 Ритца значения и векторы 233 — приближения внутренние 246 Релея невязка 27 — отношение 27, 31, 82, 260 Релея — Ритца аппроксимации .233, 345 Саада оценки ошибок 267 Самосопряженная матрица 22 Сдвиг начала 79 — по отношению Релея 180 — по Ньютону 180 — по Сааду 181 — по Уилкинсону 167, 180, 189 Сдвиги финальные 181 Секущих метод 69 Сжатие невязки 245 Сигнатура 26 Сильвестра теорема (об инерции) 26, 62, 204 Симметрии [см. Отражения] Симметричнаи матрица 21 Скалярное произведение 17 Скалярных произведений накоплеиие48 Собственная матрица 103 — пара 20 Собственное значение 20 плохо определенное 328 скрытое 71 — подпространство 231 Собственного значения кратность 22 обусловленность 29 — вектора копия (в методе Ланцоша) 290
Предметный указатель 377 Собственный вектор 20 с уменьшающимися компонента- ми 279 трехдиагональной матрицы П4 Собственных значений оценка ошибок 203 Сопряженная матрица 19 Спектр 21 Спектра деление 69 — делитель 63 Спектральная норма- 29 — теорема 22 Спектральный проектор 23 Степенного метода сходимость 76 Степенной метод 76 оценки ошибок 85 по сравнению с методами под- подпространств Крылова 270 Стодолы итерации 275 Сужение оператора 24 Сходимость квадратичная 198 — QL-алгоритма 162, 169 Теорема Бауэра — Файка 30 — Галуа 73 — Кахана о сходимости 92 — Коши о разделении 68, 204 — Куранта — Фишера-208 — Кэли — Гамилтона 132 — Леманна 219 — монотонности 210 — о единственности приведения к трех- диагональному виду 129 продолжении 251 разделении с учетом невязок 212 LDU-разложенни 56 — Пэжа 145, 285 — Сильвестра (об инерции) 26, 62, 204 — спектральная 22 Технология разреженных матриц 58 Транспозиция 104 Транспонирование 19 Транспонированная матрица 19 Треугольное разложение 55 — Холесского 56 — QR методом Грама — Шмидта 115 Трехднагональная форма 125 Трехдиагональной матрицы собствен- собственный вектор 20 Угол между подпространствами 243 Унитарная матрица 19 Ускорение чебышевское 316 Финальные сдвиги 181 Форма положительно определенная 26 полуопределенная 26 Формула Коши — Бине 144 Фортран IV 51 Фробениуса норма 28, 195 — правило 68 Функции Бесселя 128 Характеристический полином 21 Хаусхолдера метод 115 Хесенберга нижняя матрица 174 Холесского множитель 26, 56 — разложение 56 Хордовая метрика 328 Циклический метод 197 Частичное приведение к трехдиагональ- ному виду 272 Чебышева многочлены 262, 356 Чебышевское ускорение 316 Числа Ритца очень близкие 237 Ширина ленты 33 Ширины ленты сохранение 158 Шура дополнение 57 — норма 28 Эквивалентное возмущение 112 Элементарная матрица 354 Эрмитова матрица 21
378 Предметный укаватель Якоби вращения 109, 136, 192 — метод 191 bandrd (программа) 138 BQR (программа) 189 EISPACK (пакет программ) 51, 81, 332 IMSL (пакет программ) 51 1NVIT (программа) 78, 81 LANSO (алгоритм) 298 LDU (разложение, теорема) 56 NATS (проект) 51 РМ [см. Степенной метод] PWK (алгоритм) 182 RATQR (программа) 180 RITZ1T (программа) 310 RQI [см. Итерации с отношением Ре лея} SOR (метод) 343 TINVIT (программа) 81, 163 TQLRAT (алгоритм) 182
Оглавление Предисловие к русскому изданию 5 Предисловие 7 Введение II Глава 1. Основные сведения о самосопряженных матрицах 16 § 1.1. Введение 16 § 1.2. Евклидово пространство 16 § 1.3. Собственные значения •. . 20 § 1.4. Самосопряженные матрицы 21 § 1.5. Квадратичные формы 25 § 1.6. Матричные нормы 28 § 1.7. Обобщенная проблема собственных значений 31 Глава 2. Задачи, помехи и средства . 33 § 2.1. Что мало? Что велико? 33 § 2.2. Задачи , , 35 § 2.3. Противоречивые требования . , , ,..,... 36 § 2.4. Арифметика конечной точности . 39 § 2.5. Взаимное уничтожение ¦ 42 § 2.6. Анализ скалярного произведения 45 § 2.7. Можно ли находить малые собственные значения с малой относительной ошибкой? 49 § 2.8. Существующие программы , 50 § 2.9. Длительность вычислений , 52 § 2.10. Другие виды машинной архитектуры , , , , , 53 Глава 3. Количество собственных значений .,..,,,. 55 § 3.1. Треугольное разложение , , 55 § 3.2. Анализ ошибок треугольного разложения . , 59 § 3.3. Деление спектра , , 62 § 3.4. Связь с последовательностями Штурма 68 § 3.5. Методы деления пополам и секущих , , . 69 § 3.6. Скрытые собственные значения , . , ,,,,.. 71 § 3.7. Характеристический многбчлен , , , , , , , , , 72 Глава 4. Простые векторные итерации ,..,.,,,,.,,.,,. 74 § 4.1. Собственные векторы матриц ранга 1 , , , . , , 74 § 4.2. Прямая и обратная итерация ..,,..,. 75 § 4.3. Преимущества плохо обусловленной системы ,,,,,,. 81 § 4.4. Сходимость н ортогональность , . , , , 84 § 4.5. Простые оценки ошибок , , , . 85 § 4.6. Итерация с отношением Релея , , , , 86 § 4.7. Локальная сходимость ..,,,,,.,..,,,,,,, 88
380 Оглавление § 4.8. Монотонность невязок ..,,,,.,,,,, 91 *§ 4.9. Глобальная сходимость .,,,,....,,, 92 Глава 5. Исчерпывание , , . , , , , , « , , , , , , , . . 97 § 5.1. Исчерпывание вычитанием ,...,,.,,,,,.... 97 § 5.2. Исчерпывание посредством сужения 100 § 5.3. Исчерпывание посредством подобных преобразований .... 101 Глава 6. Полезные ортогональные матрицы. (Орудия ремесла.) , , , . 103 § 6.1. Важность ортогональности ... .... ...,.,,., 103 § 6.2. Перестановки , , , , , , , . , , , , . , , 104 § 6.3. Отражения (или симметрии) ,,,,,,,.,,,,,•¦ 105 § 6.4. Плоские вращения , 108 § 6.5. Распространение ошибки в последовательности ортогональных конгруэнции ,...,....,,,,.... ПО § 6.6. Обратный анализ ошибок ..,.,....,,,,,,.. 113 §6.7. QR-разложение и' процесс Грама—Шмндта ,,,,,,.. 114 *§ 6.8. Быстрые масштабированные вращения ..,,,,,,,.. 116 *§ 6.9. Ортогонализация в условиях округлений ,,,,,,.,, 121 Глава 7. Трехдиагональная форма ,,,..,,,,,,,,,,.,, 127 § 7.1. Введение , , , , 127 § 7.2. Единственность приведения ..,,..,,,,,,,,,, 128 § 7.3. Минимальные характеристики ..,¦.,.,,,,,,, 130 § 7.4. Явное приведение заполненной матрицы .,¦,,,,,,. 132 § 7.5. Приведение ленточной матрицы .,.,,,,,,,,,,. 136 § 7.6. Кажущаяся неустойчивость ...,,,.,,.,,,,,, 139 § 7.7. Собственные значения — простые ,..,,,.,,,.., 140 § 7.8. Ортогональные многочлены ..,,,.,,,,,,,.., 141 § 7.9. Собственные векторы Т . .......... , 144 § 7.10. Последовательность Штурма . , , , 147 § 7.П. Когда можно пренебречь внедиагональным элементом . . , 150 § 7.12. Обратные задачи на собственные значения .,,,,,., 152 Глава 8. Алгоритмы QR в QL ,,,,,,,,,,,,,.,,,,,. 156 § 8.1. Введение ,,.,,,,,,,,,,,,,,,,,,,,, 156 § 8.2. QL-преобразование ...»,,,, , , , , . ,.,,,,. 157 § 8.3. Сохранение ширины ленты ,..,,,,,,,,,,,.. 158 § 8.4. Связь между алгоритмами QL н QR ,,,... 159 § 8.5. QL, степенной метод н обратная итерация ,,,,,,.. 160 § 8.6. Сходимость основного QL-алгоритма ,,,,,,,,.., 162 § 8.7. Отношение Релея как сдвиг ,,,,,,,,,,,,,., 163 § 8.8- Внедиагональные элементы ....... 165 § 8.9. Оценка невязки при сдвиге по Уилкинсону .,,,,,,. 166 § 8.10. Трехдиагональный QL-алгоритм сходится всегда . , , . . 168 §8.11. Асимптотическая скорость сходимости , , , . 171 § 8.12. Трехдиагональный QL-алгоритм с явными сдвигами ... 174 §8.13. Вытеснение выступа ..,,,,,,,,,,,,,,,,. 176 § 8.14. Сдвиги на любой случай ,...,,»,,,,,,,.,, 179 § 8.15. Как избавиться от квадратных корней ,.,,,,,,., 181 § 8.16. QL-алгоритм для ленточных матриц , 188 Главв 9. Методы Якоби ..,,,,,,,,,..,,,,,,,,,, 191 § 9.1. Вращение плоскости ,,,,.,..,,,,,,,,,,. 191 § 9.2. Вращения Якоби , , 192
Оглавление 381 § 9.3. Сходимость , , , , , 195 § 9.4. Различные стратегии ,,.,,,.. 197 § 9.5. Асимптотически квадратичная сходимость ,,,,,,,,, 198 § 9.6. Оценка методов Якоби ..,..,•» i • 201 Глава 10. Оценки для собственных значений ,,,,,, ..,,,,, 203 § 10.1. Теорема Коши о разделении ,,,,,,,,,,,,,,, 204 § 10.2. Минимаксные характериздцни ,,,,,,,,,,,,,, 206 § 10.3. Теорема о монотонности , , , , , . , , , 209 § 10.4. Теорема о разделении с учетом невязок , , , , 212 *§ 10.5. Оптимальные интервалы Леманна , , 216 *§ 10.6. Использование оценок для отсутствующей подматрицы , , 221 *§ 10.7. Использование лакуи в спектре .,,,,,...,,,, 225 Глава 11. Аппроксимации из подпространства . , , , , , , 228 § 11.1. Подпространства и их представление 228 § 11.2. Инвариантные подпространства .,,,,.,,,..,, 230 § 11.3. Процедура Релея —Ритца ,,..,, 232 § 11.4. Оптимальность , , 234 § 11.5. Оценки через невязку для очень близких значений Ритца 237 § 11.6. Оценок для векторов Ритца через невязки не существует . , 240 § 11.7. Отделениость в спектре , 241 § 11.8. Сжатие невязкн 245 *§ 11.9. Априорные оценки для внутренних аппроксимаций Ритца 246 *§ 11.10. Неортогональные базисы ,,,,,,,,.,,.,.,, 249 *§ 11.11. Теорема о расширении .,,,,,,.,,,..,,,, 251 Глава 12. Подпространства Крылова .,,,,,,,.,.,,,.,, 255 § 12.1. Введение , 255 § 12.2. Основные свойства .....,.,,,,,, 257 § 12.3. Полиномиальные представления ,,.,,,, 259 *§ 12.4. Оценки Каниэля и Саада для ошибок ..,.,,,,,, 262 § 12.5. Сравнение со степенным методом , , , , , 270 § 12.6. Частичное приведение к трехднагональному виду , , , , , 272 Глава 13. Алгоритмы метода Ланцоша ,,..,, 276 § 13.1. Подпространства Крылова-j-процедура Релея — Ритца = ме- метод Ланцоша ,,,..,,,, 276 § 13.2. Оценивание точности , , 279 § 13.3. Влияние арифметики с конечной точностью ,,..,,, 281 § 13.4. Теорема Пэжа , , , , 284 § 13.5. Альтернативная формула для Ру 288 § 13.6. Сходимость вызывает потерю ортогональности ,,,,,,, 289 § 13.7. Сохранение ортогональности ..,,,,,,,,,,,,, 292 *§ 13.8. Выборочная ортогоналнзация ...,,,,,,,,,,, 295 *§ 13.9. Анализ выборочной ортогонализации , , , , , 300 *§ 13.10. Ленточный (нли блочный) алгоритм Ланцоша ,,,,,, 305 Глава 14. Итерирование подпространства ...,,,,., , 309 § 14.1. Введение .,,,,.,..,,,,,,,,,,,.,,, 309 § 14.2. Реализации .,..,.,,,,,,,,,,,,,.,,, 311 § 14.3. Усовершенствования ,,,,.,.,, , , 316 *§ 14.4. Сходимость , , , , . 318 § 14.5. Секционные методы ,,,,,,,,,,,,,,,,,,, 322
382 Оглавление Глава 15. Обобщенная линейная проблема собственных знач.ений , , , 325 § 15.1. Введение 325 § 15.2. Симметрии недостаточно 326 § 15.3. Одновременная диагонализация двух квадратичных форм 329 § 15.4. Явное приведение к стандартной форме 332 *§ 15.5. Приведение Фикса — Хайбергера , 334 § 15.6. QZ-алгоритм , 338 § 15.7. Обобщенный метод Якоби , 338 § 15.8. Неявное приведение к стандартной форме , 340 § 15.9. Простые векторные итерацнн ,,...... 341 § 15.10. Аппроксимации Релея — Ритца , , 345 § 15.11. Алгоритмы Ланцоша , 346 § 15.12. Итерирование подпространства 349 § 15.13. Практические соображения 352 Приложение А. Элементарные матрицы н матрицы ранга единица . . . 354 Приложение В. Многочлены Чебышева 356 Литература ..,.,, , 359 Аннотированная библиография ,,,,,,,....,, 367 Обозначения ...,,,,,,, ,,,,., , 369 Именной указатель ..,...,,.,.......,.....,. 371 Предметный указатель .,,. * ,,.,,,,,,.,,,,...,. 373
Уважаемый читатель! Ваши замечания о содержании книги, ее оформлении, качестве перевода и другие просим присылать по адресу: 129820, Москва, И-110, ГСП, 1-й Риж- Рижский пер., 2, издательство сМир»,
Бересфорд Парлетт вИММЕТРИЧНАЯ ПРОБЛЕМА СОБСТВЕННЫХ ЗНАЧЕНИЙ. Численные методы Научный редактор К- Г. Батаев Мл. научный редактор Н. С. Полякова Художник Н Н. Дронова Художественный редактор В. И. Шаповалов Технический редактор Е. С. Потапенкова Корректор Н. А. Гнря ИВ № 3339 Сдано d набор 07.06.82. Подписано к печати 15.10.82. Формат 60Х90«А«. Бумага кн.-журн Гарнитура литературная. Печать высокая. Объем 12,00 бум. л. Усл. печ. л. 24,00. Усл. кр.-отт. 24,00. Уч.-над. л. 20,51. Изд. № 1/2089. Тираж 11000 экз. Зак. Л» 335. Цена 1 р. 70 к. Издательство «Мнр» Москва, 1-й Рижский пер., 2. Ордена Октябрьской Революции и ордена Трудового Красного Знамени Первая Образцовая типография имени А А. Жданова Союаполиграфпрома при Государственном комитете СССР по де- делам издательств, полиграфии н книжной торговли. Москва, М-54, Валовая, 28.