Книга
Книга
Б । iАРЛЕТТ
СимметричнаяпроблемасобственныхзначенийЧисленныеметоды
The Symmetric Eigenvalue Problem
BERESFORD N. PARLETT
University of CaliforniaBerkeley, California
Prentice-Hall, Inc., Englewood Cliffs, N.J. 076321980
Б. ПАРЛЕТТ
Симметричнаяпроблемасобственныхзначений
Численныеметоды
Перевод с английского
X. Д. ИКРАМОВА и Ю. А. КУЗНЕЦОВА
Москва «Мир»
1983
ББК 22.193■
П 18
УДК 512.84-518.12
Парлетт Б.
П 18 Симметричная проблема собственных значений. Численные методы: Пер. с англ.— М.: Мир, 1983. 384 с.
Книга известного американского специалиста по вычислительной алгебре, содержащая систематическое описание численных методов решения задач на собственные значения. В ней представлены важные разделы, недостаточно полно освещенные в литературе на русском языке — полная теория метода Ланцоша, методы одновременных итераций и др. Для чтения не требуется высокой математической подготовки
Для математиков-вычислителей, инженеров, решающих задачи алгебры на ЭВМ
„ 1702070000-078„_ _„,ББК 22.193
П 041 (01)-83-28'83’ Ч' L518
Редакция литературы по математическим наукам
© 1980 by Prentice-Hall, Inc., Englewood Cliffs, N.J. © Перевод на русский язык, «Мир», 1983.
Предисловие к русскому изданию
Профессор Бересфорд Парлетт сейчас является одним из самых видных американских специалистов по вычислительной алгебре. Он приобрел известность еще в 60-е годы, опубликовав цикл статей по геометрической теории сходимости LR и QR-ме- тодов. Другие его заметные достижения связаны с работой по созданию алгоритмов решения симметричных неопределенных линейных систем и численной реализации метода Ланцоша. В первом случае речь идет об алгоритмах, которые имея быстродействие и запросы к памяти, сравнимые с методом Холесского, обладали бы для неопределенных систем относительной устойчивостью, свойственной методам типа метода Гаусса с выбором главного элемента. Эта деятельность, начатая вместе с Рейдом и продолженная совместно с Банчем, привела в конечном счете к появлению двух эффективных алгоритмов, называемых сейчас методом Аасена и методом Банча соответственно.
Очень большой вклад внесен Парлеттом в теорию и практику метода Ланцоша, который в последние годы стал основным средством решения разреженных симметричных задач.
В гл. 13 читатель познакомится с алгоритмом выборочной ортогонализации, разработанным автором (совместно со Скоттом) и предназначенным для отыскания группы младших или старших собственных чисел и соответствующих собственных векторов. В последующих работах, уже не отраженных в книге, Парлетт обращается к алгоритму Ланцоша как методу вычисления всего спектра, а затем как методу решения больших симметричных систем уравнений. (Изложение этих работ Парлетта, как и работ других авторов, связанных с методом Ланцоша, читатель найдет в моем обзоре «Разреженные матрицы», опубликованном в сборнике «Математический анализ. Т. 20» ежегодника ВИНИТИ «Итоги науки и техники».)
В литературе по численной алгебре, отечественной и переводной, имеются существенные пробелы. Возьмем, к примеру, методы вычисления собственных значений и обратимся к популярному «Справочнику алгоритмов на языке АЛГОЛ» Уилкинсона— Райнша, переведенному в 1976 г. в издательстве «Машиностроение». Ни в одной книге, изданной на русском языке после 1970 г., мы не найдем описания ряда методов, реализован-
ных программами этого справочника: QR-алгоритма в применении к симметричным ленточным матрицам, приведения симметричной ленточной матрицы к трехдиагональному виду без увеличения ширины ленты на промежуточных этапах приведения, и т. д.
Эти методы, правда, изложены в фундаментальном труде Уилкинсона «Алгебраическая проблема собственных значений», который именно в 1970 г. благодаря издательству «Наука» появился на русском языке, однако, это издание смело можно отнести к разряду библиографических редкостей. А метод одновременной итерации для симметричных матриц, разработанный Рутисхау- зером и также содержащийся в «Справочнике», отсутствует и в книге Уилкинсона.
Предлагаемая книга должна заполнить указанные пробелы. Кроме того, она дает картину прогресса, достигнутого в области решения симметричных спектральных задач в 70-е годы. Особенно большую ценность представляет изложение современной точки зрения на методы Ланцоша. Этому вопросу в книге посвящены фактически четыре главы: гл. 13 непосредственно, а гл. 10—12 в качестве подготовительных к ней.
Много нового материала, недостаточно полно освещенного в литературе на русском языке, и в других разделах книги. Упомянем хотя бы о доказательстве глобальной сходимости обратной итерации со сдвигом Релея (гл. 4), о быстрых вращениях и методе Кахана вычисления скалярных произведений с высокой относительной точностью (гл. 6), об обратных трехдиагональвых задачах на собственные значения (гл. 7), о схемах QR-алгоритма без квадратных корней (гл. 8) и т. д.
За два года, истекших со времени опубликования книги Б. Парлетта, она стала в зарубежной литературе по численной алгебре часто цитируемым изданием. Эта книга представляет интерес для многих читателей. Она будет полезна инженерам и математикам-прикладникам, профессионалам-вычислителям и тем, чей интерес к теории матриц не связан с вычислениями.
Перевод предисловия, введения и первых десяти глав выполнен мною, гл. 11 —15 и приложения перевел Ю. А. Кузнецов.
X. Икрамов
Моим родителям — Терезе и Норману
Предисловие
Когда моя Жюли в шелках шагает, Мне кажется. Чудесная волна по платью пробегает. Как восхитительно свободны колебанья! Гляжу на них не в силах оторваться И вдоволь не могу налюбоваться.
Роберт Геррик (1591—1674)
Гармония между Небом, Землей и Человеком проистекает не из физического союза или прямого действия; она происходит от настраивания на одну и ту же ноту и это порождает согласные колебания.
Тон Цун-жу (11 в. до н. э.)
. 8л2т „
А'ф 4д— (Е— И) 1р=0.
Е. Шредингер (1925).
Колебания встречаются повсюду, и это же верно для связанных с ними собственных значений (или частот). Слушатель на концерте, не сознавая того, анализирует колебания своих барабанных перепонок; специалист по спектроскопии с помощью собственных значений определяет компоненты газа, а в Калифорнии федеральное управление по строительству требует, чтобы собственные частоты новых зданий лежали вне полосы частот, возбуждаемых землетрясением. Поскольку математические модели завоевывают все новые и новые дисциплины, можно прогнозировать рост потребности в вычислении собственных значений во все более богатом многообразии контекстов. Читатель, не вполне владеющий понятием собственного значения, должен обратиться к первой главе или какой-либо другой книге.
Различия в задачах на собственные значения, как бы они ни были интересны, исчезают, когда дается достаточно абстрактная формулировка, и конкретные проблемы сводятся к одной и той же задаче вычисления собственных чисел квадратной матрицы с действительными или комплексными элементами. Все же в одном отношении эту задачу следует разделить: некоторые
матрицы имеют только действительные собственные значения, а другие—нет. Матрицы первого класса обычно происходят из так называемых самосопряженных задач, с которыми намного приятнее иметь дело. Кроме узкого круга специалистов, немногие интересуются ранением и самосопряженных, и несамосопряженных задач. Есть определенные преимущества в раздельном рассмотрении этих двух случаев. Данная книга посвящена вычислению собственных значений для действительных симметричных матриц. Этот случай, возможно, проще, но и ожидания здесь соответственно выше.
Для того, кто впервые сталкивается с вычислением собственных значений, я хотел бы кратко обрисовать общую ситуацию. (Подробнее содержание книги обсуждается дальше.) Матрицы бывают либо малыми, либо большими в соответствии с терминологией гл. 2. Для малых матриц в настоящее время в большинстве научных вычислительных центров имеются хорошие программы, по-существу способные удовлетворить любые запросы пользователя. Более того, достигнуто в сущности полное понимание методов, реализованных этими программами. Многократно переработанная теория упростилась настолько, что приобрела черты элегантности. Обо всем этом рассказывается в гл. 6—9.
В последнее время внимание исследователей переключилось на большие матрицы. Задачи стали труднее, разработаны некоторые хорошие методы, но здесь до элегантности еще далеко. Пока нет общепринятого мнения о том, какой метод следует применять для той или иной задачи, и помимо интеллектуальных есть финансовые стимулы для достижения большего прогресса. В 1978 г. мне говорили, что вычисление 30 пар собственных значений и собственных векторов некоторой матрицы порядка 12 000 потребовало машинного времени стоимостью в 12 000 долларов (не считая стоимости составления программы). В последних пяти главах книги представлен аппарат, который должен быть в распоряжении всякого, кто связан с решением больших спектральных задач.
Каждый автор хотел бы, наверное, изложить материал и кратко, и в то же время понятно. Из этих двух достоинств последнее в большей степени зависит от подготовки и стойкости читателя. Уровень трудности этой книги повышается и понижается в зависимости от рассматриваемых вопросов, но, пожалуйста, дорогой читатель, не рассчитывай, что тебе удастся пробираться сквозь доказательства так же просто, как сквозь текст романа. Переход от одной строки к другой подчас требует привлечения и упорядочения изложенных ранее фактов, и лишь вовлекаясь в эту утомительную работу, можно вполне овладеть материалом. Упражнения в конце каждого параграфа послужат подкреплению этой проповеди.
Я надеюсь, что даже специалист найдет для себя в каждой главе что-то интересное. Изложение классических вопросов переработано, а результаты в значительной части, если и не всегда новы, то, во всяком случае, либо малоизвестны, либо малодоступны. Сильным стимулом к написанию книги было и осознание того, что мой друг и коллега Уильям Кахан никогда не сможет оторваться от исследований для того, чтобы опубликовать свои замечательные идеи.
Наиболее трудной частью всего этого предприятия была попытка внести какой-то порядок в отобранную информацию. После многих перестановок окончательное оглавление явилось как бы само собой. Книга была задумана как справочник, содержащий наиболее важный материал по состоянию на 1978 г. В таком качестве ее можно рассматривать как продолжение гл. 5 из книги 1965 г. «Алгебраическая проблема собственных значений» — этого шедевра Уилкинсона.
Выборка из материала первых девяти глав используется как часть лекционного курса для старшекурсников Университета Беркли; кое-что из последующего материала вынесено на семинар для аспирантов. Начиная с гл. 10, уровень сложности значительно возрастает. Несмотря на математический характер обсуждения, в действительности оно адресовано всем, кому нужно вычислять собственные значения. Если бы мне довелось узнать, что кому-то из практиков, не занимающихся теорией численных методов, чтение каких-либо разделов книги принесло пользу, а может быть, и некоторое удовольствие—ничто не обрадовало бы меня больше.
Здесь мне хотелось бы признать некоторые свои долги и поблагодарить тех, кому я обязан. Покойный Джордж Форсайт, консультант моей диссертации, сумел добиться того, что пред всеми его студентами численный анализ предстал как полезный и интересный предмет. Джим Уилкинсон вывел многих вычислителей из бесплодной пустыни бессистемного анализа и показал, как правильно подходить к матричным вычислениям. Уильям Кахан был терпеливым гидом в моих исследованиях по симметричным матрицам, равно как и по другим вопросам. Внимательный читатель сам увидит, как велик его вклад; те же, кто знает его, поймут, что будь мое сотрудничество с ним теснее, эта книга никогда не увидела бы свет. Конечно, я много приобрел от регулярных контактов с Джином Голубом, Кливом Моулером, Крисом Пэжем11 и Питом (G. W.) Стьюартом. Мне помогали мои
и Во избежание путаницы следует предупредить, что канадский математик Пэж, часто упоминаемый в этой книге, может быть известен читателю как Пэйдж.— Прим, перев.
бывшие и нынешние студенты. Рукопись прочли Джоэл Фрэнклин, Джин Изаксон, Клив Моулер и Гил Стрэнг. Я благодарен им за поддержку и за сделанные ими замечания.
Далее, хотелось бы выразить признательность Дику Лау и покойной Лейле Брэм из Службы военно-морских исследований за великодушную помощь, позволившую мне написать книгу. Рут Сузуки снова оказалась на уровне своей высочайшей репутации по части машинописи.
Бересфорд Н. Парлетт
Введение
Основные обозначения указаны на странице 369.
Во многих местах книги делаются ссылки на более или менее хорошо известные факты теории матриц. Для замкнутости изложения эти результаты пришлось включить в книгу. Однако с целью экономии места я опустил доказательства и элементарные определения. Благодаря этому читатель сможет увидеть предмет в целом — результат, который не всегда достигается после изучения курса линейной алгебры. Не все факты гл. 1 элементарны.
Вторая глава — это то, что следует знать читателю относительно воздействия факторов, связанных с ЭВМ, на решение спектральных задач. На мой взгляд, именно необходимость примирить противоречивые требования делает составление алгоритмов захватывающе интересным делом. С другой стороны, сердце у меня всегда падает, когда затрагивается вопрос об ошибках округлений. Причудливые подчас эффекты арифметики конечной точности должны всегда быть в поле зрения при матричных вычислениях. И все же формальный анализ округлений, хотя он, по-видимому, необходим, редко вдохновляет меня. К счастью, существует превосходная книжка Уилкинсона «Ошибки округлений в алгебраических процессах», дающая полное и доступное изложение основ предмета. Поэтому я счел возможным сосредоточиться на тех вопросах, которые считаю особо важными, например на часто обвиняемом явлении взаимного уничтожения близких чисел. Кроме того, я указываю на некоторые великолепные программы, существующие в настоящее время.
По-настоящему книга начинается с гл. 3, сконцентрированной вокруг того замечательного факта, что число отрицательных главных элементов в процессе стандартного гауссова исключения, примененном к матрице А—|1, равно числу собственных значений А, меньших, чем
Степенной метод и обратная итерация — очень простые процессы, но за ними стоят далеко идущие идеи. Обычно эти методы анализируют посредством разложений по собственным векторам. Однако небольшие тригонометрические выкладки позволяют получить результаты, более точные и простые, чем обычные формулировки. В том же духе я пытался найти наиболее эле-
гантные доказательства для хорошо известных оценок, связанных с материалом гл. 4.
Итерация с отношением Релея—возможно, самый известный вариант обратной итерации с переменным сдвигом. Хорошо известно, что если она сходится к собственной паре, то сходится быстро. Обнаруженный Каханом факт, что метод в действительности сходится почти при любом начальном приближении, очень удачно завершает его теорию. К сожалению, этот факт мало известен. Доказательство (§ 4.9) сравнительно трудное, и в студенческом курсе его следует опустить.
В вопросе об «исчерпывании» вычисленной собственной пары из матрицы важным моментом является то, что надежность и желательность этой операции зависят от того, как она выполняется. Мне казалось полезным поместить рядом различные методы, чтобы облегчить их сравнение.
Глава 6 подготавливает почву для обсуждения явных преобразований подобия; в то же время ортогональные матрицы играют важную роль и во многих других матричных вычислениях.
То обстоятельство, что любую ортогональную матрицу можно представить произведением матриц отражения, кажется, не слишком широко известно. Таким образом класс отражений достаточно богат для любого случая; при этом каждый его член характеризуется единственным вектором, указывающим положение соответствующего зеркала. Этим матрицам по праву принадлежит высокий статус, хотя им совершенно не уделяли внимания до 1958 года, когда Хаусхолдер выступил с предложением использовать их в численной алгебре.
Плоские вращения снова вошли в моду в конце, 1960-х годов, когда выяснилось, что при надлежащем масштабировании они не менее эффективны, чем отражения, и в особенности приспособлены для разреженных матриц. Кроме упомянутого выше материала, гл. 6 содержит простое доказательство, принадлежащее Уилкинсону, того факта, что округления оказывают лишь очень небольшое влияние на последовательность явных ортогональных преобразований подобия. Наконец, вводится QR-разложение просто как матричное описание процесса ортонормализации Грама — Шмидта. Действительный способ, каким должны вычисляться сомножители Q и R,—это другой вопрос, и ответ на него зависит от обстоятельств. Влияние округлений на ортогонализацию исследуется в заключительном параграфе.
Трехдиагональные матрицы были выделены в качестве особого предмета еще в 1954 г., когда Уоллес Гивенс предложил приводить малые заполненные матрицы к такой форме в качестве промежуточного этапа при вычислении собственных значений первоначальной матрицы. Глава 7 начинается полезной теоремой, указывающей, в какой степени трехдиагональная форма опреде-
ляется исходной матрицей. Далее следует важная (но обычно опускаемая) характеризация внедиагональных элементов трехдиагональной формы. После этой подготовки изложены методы приведения и анализ Уилкинсона кажущейся неустойчивости приведения, показывающий, что этого явления не следует опасаться.
Для последующего использования я счел необходимым включить в главу параграф, описывающий интересные соотношения между элементами собственных векторов трехдиагональных матриц. Еще один параграф трактует трудный вопрос о том, какой внедиагональный элемент можно считать достаточно малым, чтобы пренебречь им. Наконец, кратко рассмотрена задача восстановления трехдиагональной матрицы по собственным значениям и некоторой дополнительной информации. Эти последние разделы представляют собой не совсем стандартный материал.
Первоклассным методом диагонализации малых трехдиагональных матриц зарекомендовал себя QR-алгоритм (последний вариант метода называется QL-алгоритмом, что еще увеличивает терминологическую путаницу). Специалисты по численному анализу должны испытывать некоторое удовлетворение от того, что наилучшим методом оказался не какой-то очевидный способ вроде степенного метода либо характеристического многочлена, либо той или иной формы метода Ньютона, а последовательность сложных преобразований подобия. Понимание алгоритма улучшалось постепенно, и сейчас мы имеем элегантное объяснение того, почему он всегда работает. Сначала излагается теория, а затем не менее интересные схемы реализации процесса. Из соображений эффективности QL-алгоритм обычно применяют к матрицам с малой шириной ленты.
Более чем на сто лет старше QR-алгоритма метод Якоби для диагонализации симметричной матрицы. Идея метода проста, и в гл. 9 освещены его узловые моменты. Должен сознаться, что я не вижу роли, которую методы Якоби могли бы играть на вычислительной сцене будущего. Эти сомнения аргументируются в последнем параграфе главы.
Начиная с гл. 10, центр внимания смещается в сторону больших задач, хотя материал этой главы сам по себе представляет чистую теорию матриц. В ней собраны старые и новые результаты, относящиеся к оценкам собственных значений матрицы через собственные значения ее подматриц или матриц, отличающихся от данной возмущениями малого ранга. До сих пор эти результаты были разбросаны по разным публикациям. Здесь они собраны и изложены со всеми подробностями. Это делает главу очень «питательной», но, пожалуй, трудно усвояемой при первом чтении. (В основе материала—конспекты Кахана к его различным лекциям.)
Глава 11 представляет собой очень полное описание полезного орудия, называемого процедурой Релея — Ритца, по в приложении к матрицам, а не дифференциальным операторам. В параграфе 11.4 объясняется, в каких отношениях аппроксимации Ритца оптимальны, а в каких — нет. Я сам часто заблуждался на этот счет, пока не приступил к написанию книги.
В следующей главе вводится специальная последовательность подпространств, называемых (без достаточных оснований) подпространствами Крылова. К ним применяется процедура Релея — Ритца. Полагаю, что для большинства читателей привлекательная теория аппроксимаций из этой главы будет новой. Эта теория устанавливает большой потенциал алгоритма Ланцоша для вычисления собственных значений.
В главе 13 анализируются широко распространенные опасения, что округления могут помешать в сборе того богатого урожая, какой обещала гл. 12. В своей неопубликованной диссертации 0971 год) Пэж показал, что эти опасения неосновательны. Приводя доказательство основной теоремы, я пытался очистить его от мелких деталей, которые обременяют глубокий пионерский анализ, проведенный Пэжем для простого алгоритма Ланцоша. Далее изложена выборочная ортогонализация, которая представляет собой направляемую теорией Пэжа модификацию, ослабляющую весьма экономичным образом потерю ортогональности векторами Ланцоша—этой потери обычно очень боятся. Метод опубликован в 1978 году и продолжает совершенствоваться. Глава заканчивается обсуждением блочных схем алгоритма Ланцоша, необходимых, по всей видимости* для обработки очень больших матриц.
В главе 14 рассмотрены тщательно разработанные и эффективные методы, основанные на блочной обратной итерации. Они совершенствовались физиками, инженерами и специалистами по численным методам начиная с 1960-х годов в тот период, когда алгоритм Ланцоша находился в тени. Сомневаюсь, что в будущем они сохранят свое превосходство.
Последняя глава посвящена обобщенной спектральной задаче. Она начинается с обсуждения тех основных свойств, которые не являются общеизвестными. Мне встречались книги, где эти свойства изложены неверно. Следующий и ключевой для главы вопрос— это, следует ли преобразовывать данную задачу к стандартной форме, явно или неявно, или не следует вообще. Остальная часть главы, хоть и пространная, посвящена лишь тому, как идеи и методы, развитые на протяжении книги, могут быть перенесены на случай обобщенной задачи.
Оба приложения кажутся мне полезными. Первое описывает элементарные матрицы; во втором перечислены наиболее полезные свойства многочленов Чебышева.
Время от времени возникают приложения, в которых специальные обстоятельства позволяют пользоваться экономичными методами, вообще говоря, неустойчивыми или неприменимыми. Способность распознавать такие ситуации — одно из преимуществ, достигаемых при понимании предмета численных методов в его совокупности.
Для больших матриц А выбор метода сильно зависит от того, какие из следующих операций осуществимы:
Умножение любого подходящего вектора х на А.
Расщепление А в сумму H+V, где V мала по норме, а для Н легко могут быть вычислены треугольные множители.
Треугольное разложение А.
Треугольное разложение А—а! для многих значений а.
Чем больше из операций этого списка можно выполнять для А, тем более эффективные методы можно привлечь для вычисления ее собственных значений. В первоначальных вариантах книги методы излагались в соответствии с этими операциями. Хотя я отказался от такого упорядочения, эту схему полезно иметь в виду при выборе алгоритма для конкретной задачи.
В разделе 15.9.1 и параграфе 15.13 это обсуждение распространяется на случай обобщенной спектральной задачи.
ГЛАВА 1
Основные сведенияо самосопряженных матрицах
Введение
В этой главе мы предпримем быстрое турне по разделам линейной алгебры, имеющим отношение к методам приближенного вычисления собственных значений и собственных векторов симметричных матриц. Попутно вводятся соглашения о принятых в книге обозначениях, но для читателей, которые хотели бы, не останавливаясь здесь, двигаться дальше, эти обозначения указаны в списке на стр. 369. Вводные сведения могут быть полезны читателям, желающим выяснить, в какой мере они владеют курсом линейной алгебры—они могут попытаться самостоятельно доказать утверждения, сформулированные в ходе турне. Те же, кто предпочитает неторопливое путешествие, должны обратиться к аннотированной библиографии (в конце книги) за подходящим учебником.
Прежде чем начать, следует напомнить, что обозначения помогают нам тем, что прячут излишнюю информацию. Всякое конкретное обозначение удачно в той мере, в какой оно отражает необходимую часть информации. В матричных обозначениях отдельные элементы векторов или матриц оказываются скрытыми. В результате, пока такой язык не освоен, это может привести к недоразумениям, но для тех, кто привык к подобным обозначениям, это очень удобно.
Евклидово пространство
В этой книге не используется абстрактное понятие векторного пространства как множества объектов, в котором выполняются некоторые аксиомы. Вместо этого мы сразу переходим к координатному представлению и берем Sln как векторное пространство всех n-мерных век тор-столбцов с действительными компонентами. Однако линейная алгебра объемлет комплексные векторы столь же легко, как и действительные, и в этой главе (и только в этой) каждое число (или скаляр)’ комплексное, если не оговорено про-
тивоположное. По всей книге скаляры, как правило, обозначаются малыми греческими буквами—а, р, а векторы—малыми прямыми латинскими, например х, q^ Пространство всех комплексных n-мерных векторов обозначается через Чв".
Для наглядности вектор х из 5?2 можно представлять себе
как отрезок координат о рис. 1.2.1.)как отрезок координат о рис. 1.2.1.)IfIfили стрелку, направленную из выбранного начала
как отрезок координат о рис. 1.2.1.)
как отрезок координат о рис. 1.2.1.)
If
If
. (См.. (См.к точке плоскости с координатами х =
. (См.
. (См.
Наиболее подходящей средой для задач, связанных с действительными симметричными матрицами, является не просто 51", а n-мерное евклидово пространство, называемое ^" и представляю
щее собой SL", украшенное некоторой дополнительной структурой. Отличает 8п от 51п или "б" идея о том, что любая пара векторов х и у составляет некоторый угол. Точнее, дополнительная структура, присущая §п, есть функция скалярного произведения, которая каждой паре векторов х (с компонентами ^, ..., g4) и у (с компонентами т]!, ..., т]„) ставит “в соответствие число, обозначаемое
через (х, у) и определяемое соотношением
(1.2.1)(1.2.1)(х, у) = 2 П/1/-< = i
(1.2.1)
(1.2.1)
Всюду в книге знак s обозначает определение, а а—комплексное число, сопряженное с а. Некоторые приложения, такие, например, как анализ устойчивости конструкций, подсказывают другие, более сложные определения функции скалярного произведения; эти определения обсуждаются ниже. Однако определение (1.2.1) простейшее, и оно отличает евклидово пространство от других пространств со скалярным произведением. В некоторых ситуациях, таких, как решение большинства систем линейных уравнений, нет необходимости во введении углов, и 5?" является подходящей средой.
Исключая следующий параграф, вся книга сфокусирована на действительном евклидовом пространстве S'1- Строго говоря, ^2,
Рис. 1.2.2. Углы между лучами и прямыми в действительном пространстве ^2.
к примеру, не является множеством точек плоскости (или концов стрелок), поскольку не имеет смысла говорить об угле между двумя точками. Графически ^2 есть множество всех стрелок, исходящих из некоторого выбранного начала о. Оси, к которым относят все прочие векторы, выбираются перпендикулярными (или ортогональными) друг другу. Такие содержательные понятия, как ортогональность, угол и длина, коренятся в скалярном произведении и определяются в следующем абзаце.
Евклидова длина, или норма, вектора х определяется как
hH/оГ^). (1.2.2)
Есть ряд других норм, которые можно ввести в ^" или 3V1, однако для §п естественной нормой является (1.2.2). Знаменитое неравенство Коши—Шварца, а именно
|(х, у)|С||х|Н1у11 (1.2.3)
для всех х, у из §п, оправдывает даваемое ниже, в (1.2.4), определение угла. Угол между х и у, измеряемый в радианах и обозначаемый Z_(x, у), есть действительное число 0, удовлетворяющее неравенствам 0^6^ л и такое, что
cose^-g-6-^. ^ 112 4) ИНуН ‘
Обычно интерес представляет не только вектор х, но и вся прямая, определяемая им, т. е. множество всех скалярных кратных х, включая —х. Мы обозначаем эту прямую через Span(x). Угол (острый) ф между направлением х и направлением у есть действительное число, удовлетворяющее неравенствам 0^ф^л/2 и такое, что
С05ф=тШ- (L2'5)
Рис. 1.2.2 иллюстрирует различие между 0 и ф. В частности, два вектора х и у ортогональны, если (х, у) = 0. Вектор х называется нормированным, или единичным, если Цх||=1.
Матрицы, всегда обозначаемые прописными буквами, обычно входят в произведения с векторами. Если F—(тхп)-матрица, a w принадлежит £", то произведение Fw принадлежит g”.
Полезно представлять себе, что F умножается на все векторы в ^” и таким образом преобразует ^" в *€т. Это преобразование линейное, т. е. F (ах + Ру) = aFx + PFy, и в действительности любое линейное преобразование ^п в ^т может быть описано некоторой (тхп)-матрицей F.
Квадратную и обратимую матрицу F можно рассматривать не только как преобразование векторов в ^", но и как простое изменение базиса в ^". Таким образом, Fw есть либо образ w под действием F, либо с равным основанием новые координаты того вектора, который прежде имел координаты w. Эта гибкость трактовки полезна для тех, кто привык к ней, но смущает начинающего.
Широко распространено обозначение у* для вектора-строки (//п •••> УпУ однако, по существу операция * лишь еще одно следствие структуры евклидова скалярного произведения. Пусть F—(щ х п)-матрица. Ее сопряженная матрица F* имеет размеры пхт и определяется абстрактно тем свойством, что для всех х из ^” и и из Sm вектор F*u есть единственный вектор, удовлетворяющий соотношению•
(х, F*u) = (Fx, и).(1.2.6)
Можно показать, что F* есть хорошо известная матрица, получаемая из F транспонированием и взятием комплексного сопряжения (упр. 1.2.3). Например, если г2 =—1, аир действительные, то
р а + Ф *—i О’
О 1— а—ф 1 '
Если произведение FG определено, то
(FG)*=G*F*.(1.2.7)
В частности, (Fw)* = w*F*. Даже если F действительная, тот же символ F*, а не FH или Fr, или F*, может и будет использоваться для обозначения транспонированной матрицы. Далее, если F квадратная и обратимая, то
(F*)-1 = (F-1)*,(1.2.8)
и обе матрицы будем записывать просто как F-*.
Матрица Р с размерами тхп, т^п, называется ортонормальной, если ортонормальны ее столбцы, т. е. если
Р*Р = 1„ (= 1 для краткости).(1.2.9)
Квадратные ортонормальные матрицы называются унитарными (если они комплексные) и ортогональными (если действительные). Соблазнительно заменить эти два не слишком согласованных прилагательных единственным и естественным прилагательным орто-
нормальный. Важность этих матриц заключается в том, что скалярное произведение, определяемое формулой (1.2.1), сохраняется под их действием, т. е.
(Рх, Ру) = у*Р*Рх = у*х = (х, у).(1.2.10)
Если в ^п производится ортогональная замена базиса, то координаты всех векторов умножаются на некоторую ортонормальную матрицу Р, но к счастью, значения норм и углов при этом сохраняются. В действительности, множество всех ортогональных преобразований вместе с простыми переносами составляет хорошо известное множество движений евклидовой геометрии.
Упражнения к параграфу 1.2
Вывести неравенство Коши — Шварца, заметив, что
(х + е1фр.у)* (х+e%iy) = || х+е,фцу [|2 0, и произведя подходящий выбор для ф и р.
Даны комплексные х и у. Возможно ли выбрать вещественное 0 таким образом, что exp (10) х и у ортогональны? Рассмотреть (1.2.4).
Используя в качестве х и у координатные векторы е(-, показать, что из (1.2.6) следует (F*);.•= (F).-/.
Вывести (1.2.7) из (1.2.6).
Доказать, что (1.2.10) имеет место тогда и только тогда, когда справедливо (1.2.9).
Собственные значения
Понятия собственного значения и собственного вектора не зависят от длины, угла или скалярного произведения; и потому мы в этом параграфе сменим <§п на #". Центральную роль при изучении (пхп)-матрицы В играют те специальные векторы из £", направления которых не меняются (за исключением, возможно, знака) при умножении на В. Всякий такой вектор z должен удовлетворять равенствам
.' Bz = zX = Xz, z =^ о(1.3.1)
для некоторого скаляра X, называемого собственным значением В. Каждое ненулевое кратное вектора z является собственным вектором1’, и X и z отвечают (или соответствуют) друг другу. По соглашению о не может быть собственным вектором.
Факт 1.1. Пусть С= FBF-1. Если (X, z}—собственная пара для
В, то {X, Fz}—собственная пара для С.
и бы мы приняли обычный символ, т. е. х, для собственного вектора, то матрица Ха(хь ..., х„) обозначалась бы симметричной буквой, что нарушает одно полезное соглашение, которое будет введено в следующем параграфе.
ОБЪЕКТ .ОБРАЗ * = О'*ОБЪЕКТ .ОБРАЗ * = О'*Рис. 1.3.1. Подобное преобразование.Рис. 1.3.1. Подобное преобразование.Новые координатыНовые координатыСтарые КоординатыСтарые Координаты
ОБЪЕКТ .ОБРАЗ * = О'*
ОБЪЕКТ .ОБРАЗ * = О'*
Рис. 1.3.1. Подобное преобразование.
Рис. 1.3.1. Подобное преобразование.
Новые координаты
Новые координаты
Старые Координаты
Старые Координаты
Отображение В—> FBF-1 называется подобным преобразованием (короче, подобием) В. Алгебраическая точка зрения состоит в том, что подобие есть отношение эквивалентности на множестве (пхп)-матриц, которое сохраняет собственные значения и простым образом меняет собственные векторы. Геометрическая интерпретация факта 1.1 (и проклятье для новичков): каждая из матриц В и С представляет одно и то же (абстрактное) линейное преобразование на ^", в то время как F определяет замену базиса в ^" (старые координаты w, новые координаты Fw). Эта связь показана на рис. 1.3.1; имеются два разных способа перехода от верхнего левого к верхнему правому углу.
Характеристический полином х определяется соотношением X(^) = XB©-det^I-B].(1.3.2)
Согласно теории линейных уравнений, (1.3.1) имеет ненулевое решение z, если и только если х ОЛ = 0. Поэтому В может иметь не более п собственных значений. Множество этих значений на комплексной плоскости составляет спектр В.
Самосопряженные матрицы
Мы возвращаемся теперь к рассмотрению (пхп)-матриц в рамках Sn и сосредоточимся на матрицах, удовлетворяющих равенству
М* = М. (1.4.1)
Заметим, что (1.4.1), вообще говоря, не сохраняется при произвольной замене базиса в ^" или 3V*. В более общем контексте, чем £п, линейные операторы со свойством (1.4.1) называются самосопряженными, и нет нужды различать действительный и комплексный случай. К сожалению в размерности п такие матрицы называют эрмитовыми, если они комплексны, и симметричными, если действительны. В этой главе мы будем придерживаться
прилагательного «самосопряженный»: впоследствии мы отбросим общность и сконцентрируемся на действительных симметричных матрицах. Если не оговорено противоположное, то буквы, симметричные относительно вертикальной оси, а именно А, Н, ..., Y, изображают самосопряженные матрицы.
Факт 1.2. Все собственные значения самосопряженных матриц действительны.
Используя факт 1.2, мы можем занумеровать собственные значения в порядке возрастания:
Xt^X^...^Xn,(1.4.2)
и Ху (М) будет обозначать /-е (снизу) собственное значение М. Любой нормированный собственный вектор, отвечающий X., обозначается через гр, Хг^Х^^ 1=1, ..., п. Для больших значений п иногда удобно помечать наибольшее собственное значение без ссылки на размерность. Поэтому мы будем упорядочивать собственные значения и так:
х_п ^... ^ х_г ^ x_vх_п ^... ^ х_г ^ x_v(1.4.3)(1.4.3)
х_п ^... ^ х_г ^ x_v
х_п ^... ^ х_г ^ x_v
(1.4.3)
(1.4.3)
Таким образом, Х_г всегда является наибольшим (алгебраически) собственным значением.
Факт 1.3. Если Xk^=Xf, то (г.у, г^ = г*ь г у = 0.
Несколько слов нужно сказать о кратных собственных значениях. Соблазнительна такая интерпретация факта 1.3: различные собственные векторы самосопряженных матриц ортогональны. Рассмотрение единичной матрицы I показывает, однако, что правильная формулировка иная: собственные векторы А всегда можно выбрать попарно ортогональными. Кратные собственные значения предоставляют широкий выбор соответствующих собственных векторов.
Если X—собственное значение А, т. е. если Х = Ху [А], то подпространство о^х» ядро матрицы А—-X, т. е. множество всех х, таких, что (А—Х)х=о, называется иногда собственным подпространством, отвечающим X. Единственный вектор в о1У\, не являющийся собственным,— это нулевой вектор о. Кратность X есть размерность о^х- (Для несимметричных матриц понятие кратности собственного значения более сложное.) Собственные подпространства— простейшие из инвариантных подпространств (обсуждаемых в конце этого параграфа), и одно из следствий следующего факта заключается в том, что все инвариантные подпространства натянуты на собственные векторы.
Факт 1.4 (спектральная теорема). Всякая матрица X подобна диагональной матрице А посредством ортогонального подобия.
В символах
A =ZAZ*= 2i 1
I=ZZ*= 2 z.z?.i = l
Z = (za ..., z„) — матрица ортонормированных собственных векторов А.
Определение. Матрица Е называется проектором, если Е2=Е. Она называется ортогональным проектором (в отличие от косого проектора), если Еу = о для всех у, ортогональных к области значений Е (обозначаемой через span Е). Условие этого просто Е* = Е.(1.4.4)
Для произвольной квадратной матрицы В спектральный проектор Ех (иногда называемый идемпотентой) для собственного значения X удовлетворяет соотношениям
ВЕх = ЕхВ = ХЕх.(1.4.5)
Чтобы достигнуть единственности разложения при наличии кратных собственных значений, используют собственные подпространства с^Гх или, что эквивалентно, спектральные проекторы Ях, определяемые формулами
1 х, если х £ aN\,
Нхх = <„,(1.4.6)
| о, если x^oyg, р#=л.v
Теперь спектральную теорему можно записать без какой-либо неопределенности равенствами
A = 2W, 1 = 2Н/,(1.4.7)
где суммы берутся по спектру А. Поскольку А самосопряженная, ее спектральные проекторы ортогональны, почему мы и использовали в (1.4.6) и (1.4.7) симметричную букву Н.
Пример 1.4.1
А -
1 1 О
-2
О 1
О 2
1
1
1
2
«, = О
«2 = «з = 2
«4 = 4
1
Z| ” 2
22
1 -1 -1
1
1
1
Hi
Н4
4
= 2Л* = |
1 -1 -1
1
1
1
-1 -1 1"
11 --1
11-1
-1-11.
11Г
111
111 ’
11i.
z3 и z3 определяются неединственным образом. Одна подходящая пара
1(1, -1, 1, -1)», 1(1, 1, -1, -1)»;
другая
(1//2) (1, 0, 0, —1)*, (1/К2)(0, 1, —1, 0)». Однако
1оо-Г
Н2 = z2z? + z3z3* = -Н2 = z2z? + z3z3* = -01-10
Н2 = z2z? + z3z3* = -
Н2 = z2z? + z3z3* = -
О-г1о
-1001.
определен уже однозначно и
А = 0-Н] + 2-Н2 + 4-Н4, 1 = Н, + Н2 + Н4.
Инвариантные подпространства
Важное следствие факта 1.4 состоит в том, что любое подпространство S’ из ^", инвариантное относительно А, т. е. А^с^, есть просто линейная оболочка (или прямая сумма) некоторых собственных векторов. С каждым инвариантным подпространством S’ связан линейный оператор А|^>, сужение оператора А на S’, действие которого совпадает с действием А, но областью определения является S’. Строго говоря, всякая функция характеризуется как своим действием, так и областью определения, поэтому любое изменение области определения приводит к новому оператору, который должен получить свое собственное имя. Можно проверить, что А^ самосопряжен и его собственные значения и собственные векторы представляют собой подмножества соответствующих спектральных элементов А.
Эрмитовы матрицы
Закончим этот параграф практическим замечанием.
Факт 1.5. При вычислении собственной системы эрмитову матрицу Н можно заменить действительной симметричной матрицей Й удвоенного порядка. (См. упр. 1.4.6.)
Факт 1.5 полезен в двух ситуациях: не только тогда, когда нет в наличии программ для комплексных эрмитовых матриц, но и тогда, когда такие программы есть, но комплексные арифметические операции реализованы неэффективно. По этому поводу нужно проконсультироваться у специалистов местного вычислительного центра. Если комплексная арифметика реализована хорошо, то программы, действующие с исходной эрмитовой Н, должны быть вдвое быстрее, чем программы для действительных симметричных матриц, работающие с Й.
ванный базис $*\.1.4.9. Показать,ванный базис $*\.1.4.9. Показать,
ванный базис $*\.
1.4.9. Показать,
ванный базис $*\.
1.4.9. Показать,
Упражнения к параграфу 1.4
Найти 2x2 комплексную симметричную матрицу (иеэрмитову) с комплексными собственными значениями.
Доказать факт 1.2, рассматривая цкг^.
Доказать факт 1.3, рассматривая z*Azy.
Проверить факт 1.4 для матрицы
ВЫЧИСЛИТЬ E1 = Z1Z* И E2 = Z2Z2-
Показать, что ранг (Еу) = размерность (J\fy) = my. Заметить, что ранг (Еу) = след (Еу). Использовать тот факт, что Е? = Еу и след (ВС) = след (СВ).
След (F) = 2 Ъ1-
i = i
Пусть H = M4-(S эрмитова (ia =—1), и пусть Н (u-f-Zv) = (u4-i"v)X, X действительное. Проверить, что матрица
, отвечающие X., отвечающие X.симметрична и имеет собственные векторы
, отвечающие X.
, отвечающие X.
Использовать факт 1.3 для доказательства того, что спектральный проектор ортогонален, если А самосопряженная.■
Показать, что Hx = 2ziz<> гДе {Zz}— произвольный ортонормиро-
что если $— подпространство, инвариантное относи-
тельио А, то любое собственное значение А ^ является собственным значением А. Пусть {zb .... z„} — базис ^", состоящий из собственных векторов. Всегда ли верно, что некоторое подмножество множества {zlf ,,,, z„} есть базис <У?
§ 1.5. Квадратичные формы
Самосопряженные матрицы появляются естественным образом при изучении чисто квадратичных форм (или функций), не содержащих членов низшей степени; в общем виде
ф(х) = х*Ах = 2 2 airxixj- (1.5.1) £ = 1 j = 1
Ф (х) = Ф (у) = у*АуФ (х) = Ф (у) = у*Ау(1-5.2)(1-5.2)Эти формы часто описывают тот или иной вид энергии системы, будь то атом или небоскреб. Линейные обратимые земены переменного, скажем х —► у = F-1x, имеют следствием изменение формы, т. е.
Ф (х) = Ф (у) = у*Ау
Ф (х) = Ф (у) = у*Ау
(1-5.2)
(1-5.2)
для всех х, если и только если
A = F*AF.(1.5.3)
Отображение А —>• F*AF называется конгруэнтным преобразованием А; будем говорить, что А конгруэнтна X. Эти преобразования сохраняют самосопряженность, но, вообще говоря, не сохраняют собственные значения. Тем не менее конгруэнции все же в некотором смысле сохраняют знаки (±) собственных значений. В этом—суть следующего факта:
Факт 1.6 (теорема Сильвестра об инерции). Каждая матрица X конгруэнтна некоторой диагональной матрице вида diag(l„, — lv, О£). где числовая тройка (л, v, £) зависит лишь от Хи называется инерцией матрицы X. При этом л, v, t, суть соответственно число положительных, отрицательных и нулевых собственных значений X.
Вдобавок,
л + т + ^ = п,
л + ч = ранг (X),(1.5.4)
л—v = сигнатура (А).
Факт 1.6 показывает, что две самосопряженные матрицы конгруэнтны тогда и только тогда, когда они имеют одинаковую инерцию.
Среди квадратичных форм есть такие, которые строго положительны для всех ненулевых векторов: ф (х) > 0, если х #=о. Такие формы и связанные с ними самосопряженные матрицы называются положительно определенными. [Слово «определенный» служит для того, чтобы отличать эти матрицы от просто положительных, т. е. матриц В, таких, что Ьц> 0 для всех i, /.] Если ф(х)^0 для всех х#=о, то ф и ее матрица называются положительно полу- определенными. Если ф(х) принимает и положительные, и отрицательные значения, то она является неопределенной формой.
Факт 1.7. Следующие утверждения эквивалентны:
А положительно определена.
А имеет инерцию (п, 0, 0).
Собственные значения А положительны.
А имеет единственный множитель Холесского С, т. е. верхнюю треугольную матрицу с положительными диагональными элементами, удовлетворяющую уравнению А = С*С (см. гл. 3 о треугольной факторизации).
В общем случае проверка 4 проще проверки любого из остальных трех условий.
Чисто квадратичная форма ф является однородной функцией степени 2: ф (ах) = а2ф (х). Следовательно, не будет потери информации, если ограничиться рассмотрением ее значений на единичной сфере в S". Новая функция есть отношение Релея р и определяется обычно формулой
p(u)^p(u; A)^^L, uy=o.. (1.5.5)
Факт 1.8. Отношение Релея обладает следующими основными свойствами:
Однородность: p(au) = p(u), a#=0 (степени 0).
Ограниченность: р(и) заключено в интервале [Хп Х—1], когда и пробегает множество всех ненулевых «-векторов.
Стационарность: р (и) стационарно в точке и (т. е. градиент р есть о*), если и только если и—собственный вектор А.
Отношение Релея играет большую роль при вычислении собственных значений и собственных векторов и более подробно обсуждается в гл. 4.
Однако одно важное свойство стоит упомянуть уже теперь. Для произвольного и^о определим специальный вектор невязки г (и) соотношением
r(u) = [A—p(u)]u.(1.5.6)
Рис. 1.5.1 иллюстрирует тот факт, что
Au = р (u) и + г (и)(1.5.7)
есть ортогональное разложение Аи. Другими словами,
Факт 1.9 (свойство минимальной невязки). Для любого и из в” ||[А-р(и)]иК||[А-р]и||,
каково бы ни было ц из ‘б.
Упражнения к параграфу 1.5
Представить х*Ах суммой квадратов.
А =А =" 101 .—14" 101 .—141 -14-
А =
А =
" 10
1 .—14
" 10
1 .—14
17 —4
—420
Найти инерцию матрицы "2 10'
1 II
0 I —1
Показать, что матрица В*В положительно полуопределена для любой (тхп)-матрицы В. Когда В*В будет положительно определенной?
Показать, что собственные значения положительно определенной матрицы положительны. Верно ли обратное?
Показать, что треугольное разложение
' A = LAL*
единственно, если существует. Здесь L—нижняя треугольная с единицами на диагонали, а Д— диагональная матрица,
Доказать факт 1.8. Для третьего утверждения представить и в виде u = z-f-ew, где w*z = 0, ||w||=l, Az = zX, и положить е—*0.
Для матрицы А, указанной в примере § 1.4, и u = (1, 1, 1, 0)*/р^З вычислить р (и) и |] г (и) ]|.
Показать, что если Az = zX, то p(z; А)=Х.
Матричные нормы
Имеется специальная матричная норма, связанная с евклидовой нормой векторов, именно
ЦВЦ = тах M = /(X~[W.(1.6.1)
Она называется спектральной или граничной нормой. Это наименьшая норма, удовлетворяющая полезному неравенству
Й Ви | ^ норма (В)Ц и ||Й Ви | ^ норма (В)Ц и ||(1.6.2)(1.6.2)
Й Ви | ^ норма (В)Ц и ||
Й Ви | ^ норма (В)Ц и ||
(1.6.2)
(1.6.2)
для всех и^^". К сожалению, вычислять ее непросто. Другая норма, которая также удовлетворяет (1.6.2) и является простой функцией матричных элементов,— это норма Фробениуса (или Шура, или Гильберта—Шмидта)'.
(1.6.3)
Для произвольной (тхп)-матрицы В при m^n
вВКЦВК/ранг (В) jBK/«l|B||.(1.6.4)
Если В = А = А*, то
(1.6.5)(1.6.5)1/21/2II A-llr—II A-llr—||А| = тах {| XJ, |Х„|} = спектральный радиус А,
(1.6.5)
(1.6.5)
1/2
1/2
II A-llr—
II A-llr—
Следующий факт показывает, что последовательность унитарных Преобразований ие меняет обе нормы.
Факт 1.10 (унитарная инвариантность норм). Для того чтобы при любой \mxny матрице В выполнялись равенства
IIJBG0 = ||ВЦ, || J ВСЦ^ЦВ [к,
необходимо и достаточно, чтобы J и G были ортонормальны, т. е.
J,J=JJ, = 1„, G*G = GG* = I„.
Обе нормы участвуют в следующих полезных неравенствах.
Факт 1.11 (собственные значения обусловлены превосходно), шах | \. [А]—\ [М] | ^ || А — М||,
t (^fAj-XJMD^IIA-M^.
Последнее неравенство называется неравенством Виландта—Хоффмана. Элементарное, хотя и длинное доказательство можно найти в книге [Wilkinson, 1965, гл. 3].
Первое неравенство доказано в гл. 10. Часто его интерпретируют следующим образом: каждое собственное значение самосопряженной матрицы превосходно обусловлено, т. е. (абсолютное) изменение собственного значения не превосходит (абсолютного) изменения матрицы. Другими словами, задача вычисления собственных значений самосопряженных матриц всегда корректно поставлена; решение надежно определяется входными данными. Не так обстоит дело для некоторых несимметричных матриц.
Для собственных векторов ситуация более деликатна. Пусть Az = za, Ms = sp. Если р отделено расстоянием у от собственных значений А, не совпадающих с а, то
Факт 1.12. |sin^(z, s)|^(|A— М||/у.
Этот факт и некоторые его обобщения устанавливаются в гл. 11.
В этих оценках замечательно то, что они не являются асимптотическими; здесь нет требования, чтобы «возмущение» М—А
было мало. С другой стороны, при отсутствии отделенности собственные векторы могут быть очень чувствительными функциями входных данных. Предположим, что элементы А являются функциями параметра /. Если А (/0) имеет кратное собственное значение, то нет гарантии, что нормированные собственные векторы непрерывным образом изменяются в окрестности t0: Это показывает следующий пример, сконструированный Гивенсом.
Матрица:Матрица:А(0 =А(0 ="1 + / cos (2//) _ / sin (2//)"1 + / cos (2//) _ / sin (2//)/ sin (2//)1 — t cos (2//)/ sin (2//)1 — t cos (2//)
Матрица:
Матрица:
А(0 =
А(0 =
"1 + / cos (2//) _ / sin (2//)
"1 + / cos (2//) _ / sin (2//)
/ sin (2//)
1 — t cos (2//)
/ sin (2//)
1 — t cos (2//)
cos (1//) sin (1/0cos (1//) sin (1/0sin (I//)] — cos (1/0 Isin (I//)] — cos (1/0 IСпектр: {1+/, 1 — /}.
cos (1//) sin (1/0
cos (1//) sin (1/0
sin (I//)] — cos (1/0 I
sin (I//)] — cos (1/0 I
Собственные векторы:
При /—*0 собственные векторы плотно распределены в единичном круге плоскости, а при / = 0, А (0) = I собственные векторы заполняют единичный круг (упр. 1.6.8).
Разрыв при ( = 0 в формуле для собственных векторов не следует истолковывать как указание на патологическую ситуацию. Он сигнализирует попросту, что два различных собственных направления объединились, чтобы породить собственную плоскость, в которой никакая отдельная пара векторов не отличается от любой другой.
Эти замечания наводят на мысль, что если имеется группа очень близких собственных значений, то гораздо больший смысл имеет вычисление произвольного ортонормированного базиса в инвариантном подпространстве, отвечающем этой группе, чем вычисление отдельных собственных векторов для каждого собственного значения. Но где провести границу между просто близкими и очень близкими собственными значениями?
Упражнения к параграфу 1.6
Доказать, что || А || = || A |]f тогда и только тогда, когда A = uu* для некоторого и.
Доказать (1.6.5), используя факт 1.4.
Показать, что || В |]^ есть евклидова норма В в п2-мерном пространстве (пхп)-матриц.
Доказать (1.6.1), используя факт 1.4.
Доказать факт 1.10.
Доказать, что для каждого / найдется к, такое, что |Ху[А] — Х^[М]|< <|| А — М ||. Записать для этого: А—М = Н, М = РЛР*, и использовать то обстоятельство, что определитель (M-f-H—а) обращается в иуль, если а = = X/ [А]. Нужно использовать также факт 1.6. Этот результат есть специальный случай теоремы Бауэра—Файка: пусть дана B=G-1AG, где Д = diag (5lw .... б„), тогда для каждого бу найдется собственное значение р матрицы
в+С, такое, что |р—б/КЦОЦЦС-гоСЦ. Дополнительным фактом в само- оовряженком случае является то, что соответствие между р и бу взаимнооднозначное.
Проверить факт 1.12 для
Вычислить один и тот же собственный вектор матрицы А (<) (по указанной в тексте формуле) для /=10~3 и /=10~4. На какой угол повернулся собственный вектор? Здесь может помочь карманный калькулятор
к
Определим || ВЦ* =в У, Х_,-[В*В]. Показать, что ||Bjk является
= 1
унитарно инвариантной матричной нормой.
Обобщенная проблема собственных значений
Задачи, возникающие во многих разделах естествознания, включают в себя две квадратичные формы. В механике, например, и (/) может обозначать состояние некоторой системы, и — ее производную по времени, u*Mu— ее кинетическую энергию, a u*Au — потенциальную энергию. Законы физики утверждают, что в отсутствие внешних сил действительное состояние и будет минимизировать отношение этих энергий. Следовательно, ключевой функцией в задачах с двумя квадратичными формами А и М является отношение Редея, определяемое для всех и у= 0 формулой
u*Au
p(u) = p(u; А, М) = uaMu (М положительно определена). (1.7.1)
Оказывается, что р стационарно в точке z тогда и только тогда, когда
(A—XM)z = o(1.7.2)
для некоторого скаляра X. Будем говорить, что (X, z) есть собственная пара для пары форм, или пучка (А, М). Факт 1.8 сохраняет справедливость для p(u; А, М), если либо А, либо М, либо некоторая линейная комбинация аА + рМ положительно определены. Мы будем считать впредь, что положительно определена матрица М.
Надлежащей средой для этой задачи оказывается уже не $п, а пространство ^п со скалярным произведением, представляющее собой ^” (или 54”), в котором введено скалярное произведение
(х, у) = у*М-1х или (х, у) = у*Мх.(1.7.3)
Такие фундаментальные величины, как длина и угол, определенные соотношениями (1.2.2), (1.2.4), (1.2.5), принимают Новые значения, если вместо обычного евклидова взято скалярное произведение (1.7.3), однако спектральная теорема и большая часть параграфа 1.4 распространяются на пучки (А, М) с положительно определенными М.
Говоря абстрактно, эта задача никак не отличается от стандартной проблемы собственных значений (одно скалярное произведение ничем не хуже другого), но на практике присутствие М усложняет задачу и увеличивает стоимость ее решения. В гл. 15 эта проблема исследуется более подробно.
ГЛАВА 2
Задачи,помехи и средства
2.1. Что мало? Что велико?
В 1954 г. был изобретен язык программирования Фортран, вследствие этого у программиста появилась возможность одинаково легкого доступа к любому элементу матрицы А посредством простой записи А (/, J). Каждая вычислительная система может располагать квадратные матрицы до определенного порядка как обычные двумерные массивы. Это так называемые хранимые матрицы. Естественно, точная верхняя грань для порядков таких матриц меняется от системы к системе, однако смысл прилагательного „малый**1-1 всегда тот, что все матричные элементы доступны одинаково и быстро. Для большинства ЭВМ, используемых в научных • расчетах, заполненная матрица порядка 50 является малой.
Теперь, когда для большинства задач на собственные значения для малых симметричных матриц имеются удовлетворительные методы, внимание переключилось на более трудные вопросы. Будем говорить, что матрица большая, если лишь часть ее может храниться единовременно в быстродействующей памяти. Однако порядок матрицы—слишком- грубая мера запросов к памяти. Симметричная матрица А порядка 400 с полушириной ленты 30 (т. е. ai; = 0 при 11 — j | > 30) — мала для многих вычислительных систем, в то время как симметричная матрица порядка 200 со случайным расположением нулевых элементов большая. Более точны были бы фразы: „допускающая обычное хранение** и „не допускающая обычное хранение**, но мы предпочтем простые слова малый и большой.
Оказывается, что большие матрицы, как правило, являются разреженными (большая часть их элементов—нули), но, как указано выше, идет в расчет лишь то, насколько легко можно использовать расположение нулевых элементов. Такое свойство, как ленточность с малой шириной ленты8’, слишком ценно, чтобы им пожертвовать.
По отношению к порядку матричной задачи.— Прим, перев.
Полуширина ленты матрицы А определяется как max | f^/| по тем i, j, для которых a/у 0.
Рис. 2.1.1. Портрет разреженной матрицы
Ключевой фактор при обработке больших разреженных матриц—это способ, выбранный для представления их ненулевых элементов. Например, очевидной возможностью является составление списка ненулевых значений и приписывание каждому такому значению а1} пяти целых чисел
т, I, /, к, I, где т—положение этого элемента в списке, к указывает положение следующего ненулевого элемента строки I, а /—следующего ненулевого элемента столбца /. Имеются более удачные схемы, однако мы не будем вдаваться в этот вопрос, хотя он и является важной гранью эффективности, с которой могут об-
рабатываться разреженные матрицы. Хорошее введение в этот предмет дано в книге [Jennings, 1977], см. также [Bunch, Rose, 1976]. На рис. 2.1.1 показана разреженная матрица.
Задачи
С математической точки зрения, книга посвящена единственному предмету—вычислению собственных значений и собственных векторов симметричных матриц. Однако, как только мы переходим к деталям и сталкиваемся с вопросами эффективности, это внутреннее единство уступает место мозаике различных задач. В известной степени ситуация такова, что метод, наилучший для одной задачи, оказывается непригодным для другой, и этот факт ведет к неприятному изобилию программ.
Прежде чем перечислить некоторые типичные запросы, дающие ощущение предмета, нужно подчеркнуть особенность сегодняшних задач, отличающую их от задач 1950-х годов.
Результаты многих (хотя и не всех) матричных вычислений не представляют самостоятельного интереса. Они являются просто промежуточными величинами, необходимыми в более широком вычислительном процессе.
Найти наименьшее собственное значение ^[F^F], где F = = (fn ..., f6), [11/11=1, 1=1, ...,&, с двумя верными значащими цифрами. Число J/Xf является простой мерой линейной независимости векторов 1/.
Найти с рабочей точностью все собственные значения (но не собственные векторы) малой матрицы А. Такая необходимость возникает, к примеру, в ходе вычисления нескольких собственных значений больших матриц. В некоторых случаях при анализе электросетей нужны все Xz [Cullum, 1979].
Найти р наименьших (самых левых) собственных значений большой матрицы А и соответствующие собственные векторы с точностью до 4 значащих десятичных цифр. Такие задачи (р = 30, « = 6000) встречаются в расчетах модели оболочки ядра.
Найти р наименьших (самых левых) собственных значений X; и соответствующие собственные векторы zz для пучка (А, М), т. е. удовлетворяющие равенствам (А—XzM)zz = 0, 1=1, ..., р. При анализе мостов, зданий, летательных аппаратов, испытывающих малые смещения от положения равновесия, каждое zz изображает форму нормальной моды колебания, a Kxz—частоту, соответствующую этой моде. Кроме того, если u (1) обозначает смещение структуры в момент времени 1, то u*Au дает потен-
циальную энергию (или энергию деформации), a uMu—кинетическую энергию системы. Здесь и—производная и.
На практике А и М сами являются приближениями, и потому большие собственные пары не имеют физического смысла.
Найти все собственные значения, принадлежащие данному интервалу, и соответствующие им собственные векторы. Подобные задачи встречаются, например, при моделировании течений Атлантического океана [Cline,. Golub, Platzman, 1976J, а также при проверке конструкций на способность выдерживать локальные землетрясения.
Чтобы выделить значимые переменные в статистическом анализе, полезно найти несколько наибольших собственных пар корреляционной матрицы FF*/(/n— 1), где F—(пхт)-матрица .и 1 < т<^п. '
Противоречивые требования
Одна из привлекательных особенностей изучения численных методов—это исследование того, насколько различные методы удовлетворяют взаимно несовместимым требованиям из следующего списка: надежность, надлежащая точность, быстрота исполнения, малые запросы к памяти, краткость программы. В конкретной вычислительной задаче одно или несколько из этих требований могут отсутствовать.
Стремительное развитие машинной технологии постоянно нарушает баланс между этими пятью целями, и так, несомненно, будет и впредь.
Надежность
По мере того как вычислительные задачи усложняются, растет вероятность того, что данный метод может „не сработать**. Сама по себе осечка не предосудительна; в самом деле, она может быть единственным разумным ответом на незаконное требование, например, извлечения действительного квадратного корня из отрицательного числа или разложения по Холесскому неопределенной матрицы. Большой грех для метода—солгать, выдать результаты, на вид вполне разумные, но в действительности совершенно неве рные.
Численный метод или программу можно рассматривать как функцию, отображающую вход в выход. В этом смысле пользователь имеет дело с областью определения метода, т. е. множеством матриц, для которых метод работает. Иногда область определения неизвестна, и тогда осечку можно трактовать как обнаружение конкретного множества данных (например, некоторой
матрицы), не принадлежащего области определения метода. Надежность связана также с тем способом, каким осечка сигнализируется внешнему вычислительному процессу: сообщение, прерывание или какая-то промежуточная мера.
Конечно, пользователь хотел бы иметь методы с широкими и аккуратно описанными областями определения. Можно ли удовлетворить пользователя, зависит от задачи, мощности метода и полноты его анализа.
Точность
На первый взгляд кажется разумным искать методы, способные давать результаты любой желаемой точности. Можно надеяться при этом, что результаты с малой точностью будут стоить меньше, чем результаты с высокой точностью. На практике, однако, численные методы работают иначе.
Во-первых, такая гибкость может оказаться невозможной. Собственные значения и собственные векторы матрицы сильно взаимосвязаны. Вполне вероятно, что принятие приближенного значения для Хтах, имеющего 2 десятичных знака, может затруднить или даже воспрепятствовать получению приближенного значения для 7min той же точности, и так далее.
Во-вторых, схема представления чисел в большинстве ЭВМ очень жесткая; арифметика выполняется в режиме с плавающей точкой с фиксированной точностью, которая в большинстве случаев эквивалентна 7, 14 или 16 десятичным разрядам. Иногда доступны операции с удвоенной точностью.
Собственные значения симметричной матрицы А суть непрерывные функции элементов А, и это же верно для собственных векторов, отвечающих изолированным собственным значениям. Для малых матриц А главным источником ошибки являются округления, и методы, которые будут описаны, обычно дают результаты, точные для матрицы А-]-Н при некоторой неизвестной Н. В любом случае мы рассчитываем, что
ЦН||</г8ЦА1|,
где е—относительная точность арифметики. Это сильное и простое утверждение, которое, однако, мы не можем подкрепить, доказательством. Чтобы получить строгую оценку, нужно заменить п не вполне определенной неинформативной функцией от п, зависящей от деталей конкретного метода. Эта функция отражает трудность анализа не в меньшей степени, чем реальную возможность роста ошибки.
Во всяком случае, согласно факту 1.1 L ошибка в вычисленном собственном значении ограничена величиной ||Н||, и по большей части такая точность значительно превосходит нужную. По поводу этой, казалось бы, чрезмерной точности следует сделать
два замечания. Экономия, достигаемая принятием менее точных результатов, незначительна, и, во-вторых, стоимость малых матричных вычислений непрерывно уменьшается. Все собственные значения матрицы порядка 50 можно вычислить менее чем за 1 доллар по курсу 1970 г.
Для очень больших матриц (га >1000) ситуация совершенно иная. Точность результатов уже не определяется ошибками округлений, а используемые в настоящее время итерационные методы сходятся подчас очень медленно. Здесь есть большой стимул для методов, способных давать желаемую точность и не более того!
Быстрота исполнения
Это традиционный критерий сравнения двух методов, каждый из которых надежен. По историческим причинам стандартной мерой времени исполнения является число необходимых умножений. В сложных вычислительных системах, многопроцессорных, с разделением времени, с оптимизирующими трансляторами, число умножений стало к 1975 г. значительно менее убедительной характеристикой, чем оно было в 1960. Однако оно все же сохраняет некоторое значение, и большие различия в числе операций (га4 по сравнению с га3 операциями) будут отражены в стоимости исполнения, хотя и не слишком резко.
С развитием машинной технологии время, необходимое для выполнения одного умножения, сократилось (с 10-3 с в 1955 г. до 10""® с в 1970), вследствие чего продолжительность малых матр-ичных вычислений по-видимому упала ниже той черты, за которой она заслуживает внимания. Хотя так обстоит дело на больших ЭВМ, картина может значительно измениться по мере того, как все больше малых вычислений выполняется на минипроцессорах, настольных машинах и даже на ручных калькуляторах. Возможно, наступит день, когда выборка данных из памяти потребует большего времени, чем умножение.
Малые запросы к памяти
По мере развития накопительных устройств этот критерий претерпевал огромные изменения. Поначалу, в районе 1950 г., он имел первостепенное значение. С изобретением больших (32 000 ячеек) накопителей на ферритовых сердечниках он, казалось бы, исчез (около 1960 г.), а затем с появлением больших матричных задач и малых машин обрел прежнюю силу.
Для малых матриц важно число необходимых (га хга)-массивов, а также то, нужно ли сохранять исходную матрицу А. Для больших матриц важно число га-векторов, которые требуется хранить в быстродействующей памяти.
Краткость программы
Это свойство алгоритма, с одной стороны, входит в ту же категорию, что и запросы к памяти. Тем не менее в двух контекстах оно выступает отдельно. Поскольку надежные программные библиотеки, начавшие появляться в 70-х годах, содержали все большее и большее число программ, составители этих библиотек были вынуждены обратить внимание на проблему бесконтрольного размножения. Каким облегчением было бы наличие программы, способной решать все виды задач на собственные значения для малых симметричных матриц, даже если для любой из них эта программа неоптимальна! Этот трудный вопрос далеко еще не разрешен и относится скорее к области математического обеспечения, чем к численному анализу.
Другая ситуация, где очень важна длина программы,— ручной калькулятор, программы которого должны укладываться в 100 или 200 шагов. Несомненно, что в скором времени возникнет потребность в выполнении малых матричных расчетов на настольных машинах.
С другой стороны, во многих научных вычислительных лабораториях на длину программы нет никаких ограничений.
Арифметика конечной точности
Рассмотрим представление числа 1010л= 1011 х0.314159265... в числовой системе, допускающей лишь 5 десятичных разрядов в дробной части чисел. Многие цифровые машины попросту отбрасывают лишние разряды, что приводит к усеченному значению
абсолютная ошибка относительная 1010лусеч = 0.31415 х 10110.93x10е0.29хЮ"4.
Более точное, но и более дорогостоящее приближение—округленное значение
. абсолютная ошибка относительная (1010л)окр = 0.31416 х 1011—0.73x10»—0.23x10^.
Однозначность представления этих чисел достигается путем их нормализации: дробная часть меньше единицы и имеет ненулевой старший разряд.
Что можно сказать в общем случае о величине неизбежных ошибок округления в такой системе? Минутное размышление показывает, что верхняя граница абсолютной ошибки должна включать в себя абсолютную величину числа, в то время как верхняя граница'относительной ошибки нормализованного числа не зависит от его величины. Поэтому обычно проще обсуждать
относительную ошибку. Например, в использованной выше 5-раз- рядной системе относительная ошибка при усечении всегда меньше чем 10“4 (по абсолютной величине). Эта оценка уменьшается вдвое, если результаты округляются. (Тот факт, что большинство ЭВМ работает с числами, представленными по основанию 2 или 16, а не 10, несуществен для обсуждаемых здесь вопросов.)
Рассмотрим теперь основные арифметические операции +, —, X, /, применяемые к нормализованным машинным числам. Для большей конкретности предположим, что числа записаны в десятичной системе с плавающей точкой, причем показатели никак не ограничены, а в дробной части 5 разрядов. Даже если бы арифметическим устройством был получен точный результат сложения или умножения, машине пришлось бы округлить или усечь его при записи в память. Таким образом, лучшее, на что можно надеяться, это то, что относительная ошибка каждой арифметической операции ограничена величиной 10—4. Это число 10~4, или его аналог для произвольной конкретной ЭВМ называется единичной ошибкой округления или относительной точностью машины и обозначается через е.
Система, которую мы обсуждаем, называется арифметикой с плавающей точкой, потому что правильные показатели результатов устанавливаются автоматически арифметическим устройством. (В 1950-х годах некоторые машины предоставляли эту черную работу программисту и работали в режиме с фиксированной точкой.) Полезно принять обозначение fl (С) для хранимого результата произвольного вычисления С. Читать это обозначение нужно так: «результат вычисления С в арифметике с плавающей точкой». Единичная ошибка округления 8 для любой машины может быть теперь точно охарактеризована определением е = минимальное |, для которого fl (1+£)>!.
Чтобы устранить отвлекающие детали, будем использовать следующую простую модель.
Каждая из основных арифметических операций выполняется арифметическим устройством точно. Единственная ошибка возникает, когда результат записывается в память.
Реальное поведение многих цифровых машин не соответствует этой модели; однако их отклонения от нее несущественны для анализа чувствительности описанных в этой книге методов к опасностям, связанным с ошибками округлений.
Наша модель ведет к некоторым очень простым соотношениям, на которых основан анализ ошибок. Пусть а и Р—произвольные нормализованные числа с плавающей точкой, и пусть □ обозначает любую из операций +, —, х, /; тогда
П(«ОР) = (аПР)(1 +р) (Р¥=0 для операции /),(2.4.1)
где относительная ошибка р является сложной функцией от а, Р, □ и точности арифметики. Тем не менее р удовлетворяет неравенству
|р|<8, (2.4.2)
где е—единичная ошибка округления, независящая от а, 0 и □ . Суть анализа ошибок в том, чтобы мажорировать р посредством е и получить этим путем простые, хотя и пессимистичные оценки ошибок, насколько возможно не зависящие от входных данных.
Нужно отметить, что абсолютная и относительная ошибки не являются конкурентами. В более сложных вычислениях абсолютные ошибки отдельных частей необходимы, чтобы оценить относительную ошибку целого. Основное соотношение (2.4.1) можно интерпретировать различными способами, каждый из которых справедлив и полезен в соответствующем случае. Например, в окрестностях аир найдутся некоторые вещественные числа а = а(1+р) и р = Р(1+р), не обязательно являющиеся «машинными» числами, которые связаны сайр следующим образом:
fl (а + 0) = а Ч- 0.
( ар, и
fl (а0) = ч аР, и
ЦаО+рГ/Ч^а+р)1/2],
П(а/р) = /а^И (2.4.3)
В каждом случае вычисленный результат рассматривается как точный для операции со слабо возмущенными данными. Эта интерпретация может быть очень полезной и носит название обратного анализа. Ее цель — уравнять в правах ошибки округлений и неопределенность во входных данных. Посредством этого подхода Уилкинсон дал доступный и строгий анализ ошибок для большинства методов, используемых в вычислениях с малыми матрицами. Необходимо взглянуть на некоторые из более ранних попыток проанализировать влияние округлений, чтобы оценить огромные упрощения, которые он внес в предмет.
Более стандартный подход, при котором попросту оценивается ошибка конечного или промежуточного результата, называется прямым анализом. Эти два подхода не соперничают, и успех обычно приходит на пути разумного сочетания обоих методов.
Всеобъемлющее и элементарное изложение анализа ошибок дано в книге [Wilkinson, 1964], поэтому, мы надеемся, читатель извинит нас, если мы ограничимся неформальным обсуждением нескольких важных вопросов.
Взаимное уничтожение
Вычитание в подлинном смысле слова происходит при вычислении разности двух чисел одинакового знака, например плюса. Существует широко распространенное заблуждение, что вычитанию очень близких чисел свойственна прирожденная неточность, в огромной степени увеличивающая относительную ошибку. Это явление называют катастрофическим взаимным уничтожением^.
Как и в большинстве заблуждений, в этом есть своя доля правды; однако вот простой факт: ошибка при вычитании нормализованных чисел с плавающей точкой, имеющих одинаковые показатели, равна нулю. Так,
fl (0.31416 х 10”—0.31415 х 10”) = 0.10000х 107.
А что если близкие числа имеют смежные показатели? Согласно нашей модели, будет сформирован точный результат, который для своего представления потребует не более 5 разрядов (скорее всего, меньше). Так, например,
fl (0.10012 X 10-8—0.99987 X Ю"9) = 0.13300x10"”, и снова нет никакой ошибки.
В этом месте мы должны сделать краткое отступление, чтобы отметить, что наиболее существенной особенностью, которая не позволяет многим машинам (включая машины фирмы Control Data) соответствовать нашей простой модели, является отсутствие запасного разряда. Запасной разряд—это дополнительный разряд в нижнем конце арифметического регистра, назначение которого — сохранить младший знак, который иначе при выравнивании десятичных точек будет потерян. Без запасного разряда конечная цифра 7 в примере 2.5.1 теряется и относительная ошибка становится огромной.
Пример 2.5.1
а**0.10012Х10"8
р = 0.09998(7] х IO-8
0.00014 X 10-8 = 0.14Х10“” (после нормализации)
Абсолютная ошибка:—Ь.70хЮ-13,
Относительная ошибка: —О.ВЗхЮ"1»—500е!!
Для машин без запасного разряда имеет место неестественное положение, при котором относительная ошибка вычитания очень близких чисел обычно есть 0, но при различающихся показателях может подчас достигать 9(«105е!). На таких машинах и
о Читатель не нейдет упоминания о таких катастрофах в элегантных теориях Р. Тома. [См. Zeeman, 1976.]
в подобных особых случаях оценка (2.4.2) полностью отказывает. Тем не менее все же верно, что
П(«—Р)=а—р (|а|^|Р|),
где
а=а(1+р), |р|<е.
Так, в рассмотренном выше примере а = 0.100127x10-8.
Вернемся к нашей модели, в которой вычитание близких чисел всегда производится точно. Числа аир часто, хотя и не всегда, являются результатом предыдущих вычислений и тем самым обладают унаследованной неопределенностью. Когда происходит взаимное уничтожение, то велика именно относительная неопределенность разности, а не относительная ошибка вычитания. Это различие отнюдь не академическое; иногда близкие числа точны, и их разность не содержит ошибки. Явление взаимного уничтожения не ограничено машинной арифметикой и может быть выражено следующим формальным образом. Пусть 0 < р < а, р » а, и пусть т]а и т)р—относительная неопределенность в а и р соответственно; тогда
“(1 +11а) — 00 +Пз) = «—Р + (аТ]а— рТ^),
= (а—Р)(1+р), где
p = (aT]a—рт]@)/(а—Р)
и
|p|<(^z-p) (hal + hal)-
В точной арифметике коэффициент увеличения а/(а—р) может быть произвольно большим, но в нашей десятичной системе он ограничен числом 10/е.
К этому нужно добавить следующее. Если а и 0 были получены в результате предшествующих вычислений, то информация, содержавшаяся в младших разрядах, утрачена при предыдущих операциях записи. Именно об утерянной информации мы и скорбим в случае взаимного уничтожения. Те утраченные разряды прежде казались маловажными в сравнении сайр. Не следует винить вычитание; оно просто указывает на потерюп. Нижеследующие примеры иллюстрируют эти замечания.
11 Древиие спартанцы, как я слышал, имели обыкновение казнить вестника, по несчастью принесшего плохие новости.
Пример 2.5.2
В нашей простой модели арифметики относительная ошибка в числе fl(a-f-P) ограничена единичной ошибкой округления е. Однако, относительная ошибка числа П(а + Р + т) может достигать 1. Возьмем а=1, Р=1017 и у = —1017. При первом сложении fl («^Р) дает р (а аннигилировало); при втором fl (Р + у) приводит к полному взаимному уничтожению. Этот пример показывает также, что ассоциативный закон сложения не выполняется. Вычисление fl (a + f 1 (Р + у)) дает верный результат.
Пример 2.5.3 (По поводу «лекарства» см. параграф 6.9.)
В плоскости, натянутой на у и z, найти единичный вектор х, ортогональный к у.
У =У =0.16087 X 10° '-0.11852 X 10°.0.98216 ХЮ"1.0.16087 X 10° '-0.11852 X 10°.0.98216 ХЮ"1.2 “2 “'-0.50069 X Ю-1' 0.36889 X 10"г. -0.30569 X Ю-1.'-0.50069 X Ю-1' 0.36889 X 10"г. -0.30569 X Ю-1.
У =
У =
0.16087 X 10° '
-0.11852 X 10°
.0.98216 ХЮ"1.
0.16087 X 10° '
-0.11852 X 10°
.0.98216 ХЮ"1.
2 “
2 “
'-0.50069 X Ю-1' 0.36889 X 10"г
. -0.30569 X Ю-1.
'-0.50069 X Ю-1' 0.36889 X 10"г
. -0.30569 X Ю-1.
е = ^ у*уе = ^ у*уw = буw = бу— 0.31123 (в 5-зиачной десятичной арифметик» е усечением )'" -0.50067(5701] X IO’1'0.36886[9796]- X 10-1-0.30567(7657] X 10~*— 0.31123 (в 5-зиачной десятичной арифметик» е усечением )'" -0.50067(5701] X IO’1'0.36886[9796]- X 10-1-0.30567(7657] X 10~*
е = ^ у*у
е = ^ у*у
w = бу
w = бу
— 0.31123 (в 5-зиачной десятичной арифметик» е усечением )'
" -0.50067(5701] X IO’1'
0.36886[9796]- X 10-1
-0.30567(7657] X 10~*
— 0.31123 (в 5-зиачной десятичной арифметик» е усечением )'
" -0.50067(5701] X IO’1'
0.36886[9796]- X 10-1
-0.30567(7657] X 10~*
X -X - W =X -X - W =-0.50069 X 10-’0.36889 X 10"1-0.30569 X IO-1-0.50069 X 10-’0.36889 X 10"1-0.30569 X IO-1-0.50067 X 10"’0.36886 X 10"'-0.30567 X IO-1-0.50067 X 10"’0.36886 X 10"'-0.30567 X IO-1
X -X - W =
X -X - W =
-0.50069 X 10-’
0.36889 X 10"1
-0.30569 X IO-1
-0.50069 X 10-’
0.36889 X 10"1
-0.30569 X IO-1
-0.50067 X 10"’
0.36886 X 10"'
-0.30567 X IO-1
-0.50067 X 10"’
0.36886 X 10"'
-0.30567 X IO-1
-0.485070.72760-0.48507-0.485070.72760-0.48507Точное решениеТочное решение
-0.48507
0.72760
-0.48507
-0.48507
0.72760
-0.48507
Точное решение
Точное решение
-2.0000 X 10*6
3.0000 X 10"6
-2.0000 X 10-6
0.62307
0.77789
-0.81837 X 10"г.
cos 9 -- -0.95177; у - 2:8298 rad « 162.4
Закончим этот параграф тремя заповедями вычислительной премудрости.
Если алгоритм оказывается ненадежным, то это, как правило, происходит не потому, что миллионы крохотных ошибок округления постепенно накапливаются в достаточной мере, чтобы исказить результаты; скорее, причина в том, что при округлении нескольких чисел (а возможно, и одного) утрачивается критически важная информация. Анализ ошибок помогает обнаружить такие чувствительные места.
Катастрофическое взаимное уничтожение не всегда катастрофа. Это зависит от роли разности в последующих вычислениях. Обратный анализ ошибок часто разрешает этот вопрос.
Вычитания, которые могут вызвать катастрофическое взаимное уничтожение, иногда удается алгебраически преобразовать в произведения или частные; например,
| а |—/а2—р2 = р2/(| а | + /а2—р2),а2—р2 = (а—Р) (а + Р).
Анализ скалярного произведения
Численный пример
Начнем с детального обсуждения процесса вычисления y*z для векторов примера 2.5.3. Когда эти детали будут усвоены, станет ясен общий случай. В данном параграфе у; обозначает 1-й элемент вектора у.
Произведение yTzx есть —0.805460003х 10-2; хранимый результат (—0.80546 х 10“2) можно записать в виде у1г1> где ух = = ух (0.80546/0.805460003) = 0.1608699992. Аналогично, произведение ya2a есть —0.437208428 х 10“2, а хранимый результат (—0.43720х 10~2) можно записать как уагг, где z/2 = у2 (0.43720/ 0.437208428) = —0.1185177153. Сумма s2 = уг2г + уг2а равна —0.1242660Х Ю-1, а хранимый результат (—0.12426х 10-1) можно записать как у1г1 + у1гг, где
ух = 0.1608622315 = у, (0.12426/0.1242660), у2 = —0.1185119926 = у2 (0.12426/0.1242660).
Последнее произведение ya2a есть —0.3002364904х Ю~2, и хранимый результат (—0.30023х 10~2) можно записать в виде ya2a, где уз = уа (0.30023/0.3002364904) = 0.9821387679x10-!. Конечная сумма sa = s2-|-у323 равна —0.1542830х Ю-1, а хранимое скалярное произведение (—0.15428 х 10-1) можно записать как yez, где
уг = 0.1608591034 = /лф, в то время как ^ = 0.16087,
уе =—0.1185096878 = у2ф, в то время как у2 =—0.11852,
уа= 0.9821196701 х Ю-1 = у3ф, в то время как уа = = 0.98216 хЮ"1,
Ф = 0.15428/0.1542830 «1 — 1.944 х 10"t
Подлинное скалярное произведение y*z есть —0.154294921 х Ю-1. В данном случае при суммировании не происходит взаимного уничтожения, и относительная ошибка вычисленного значения меньше чем 4- Ю-4. Обратный анализ ошибок позволил выявить вектор у, близкий к у и такой, что
fl(y*z) = y*z.
Другое, менее систематическое размещение ошибок в сложениях позволило бы получить иной вектор у, еще более близкий к у и также удовлетворяющий равенству
n(y*z) = y*z.
Обилий случай
Перейдем теперь к формальному обратному анализу ошибок для 11 (х*у). Машинное сложение неассоциативно, поэтому порядок, в котором организовано суммирование, влияет на вычисленное значение. Результаты будут чуть проще, если ^x£yt вычисляется для I, изменяющегося от л к 1. Для определенности найдем вектор х, такой что
■П(х*у) = >у, .
хотя, конечно, ошибку можно было бы распределить между х и у.
Формальные анализы ошибок довольно скучны; однако, если вам никогда не приходилось иметь с ними дело, настоятельно рекомендуем проработать этот строка за строкой.
Алгоритм
sn = 0, для ] — п, п—1, .., 2, 1,
^ = 11^),(2.6.1)
S/-! = 11^+5/).(2-6.2)
От арифметической системы требуются лишь следующие свойства:
П(оф) = (1 — p)af>,где|ц|<е,(2.6.3)
П(« + Р) = (1 — р)« + (1 — о)0, где |р|<е, |а|<е.(2.6.4)
В нашей простой модели р = о, но в данном приложении из этого свойства не проистекает никаких особых выгод. Кроме того, большинство машин (с запасным разрядом или без него) удовлетворяет условию (2.6.4).
Обозначение -
х^ обозначает результат умножения Ху на к множителей вида (1—т), где |т| < е. Таким образом,
W—Ху |/| Ху| < (1-f-e)ft—\ « ке (если к&<0.0\). (2.6.5)
Анализ
(Будьте внимательны и следите за верхними индексами.)
Рп = 0—^п)ХпУп*
= х'"уп, согласно (2.6.1) и (2.6,3),
s„-i = Р„, так как s„ = 0,
Pn-i = kx—Pn-iVn-iyn-A=x^l1yn_1, определение ^1г,
&п-г =0—Р«-^ хп-1Уп-'+^—о„-д х”^^ согласно (2.6.2) и (2.6.4), ^х^Уп-х + ^уп, определение x^Lx и х£\
Рп-2 ” (1 Ри-з) Хп_гуп_г = Х^2Уп — 2’
Sn-s = ^ — 9n-2Vnl2yn-»W—Gn-^sn-2. согласно (2.6.2) и (2.6.4), = х^1гуп_г + х^1хУ„_х + х^уп, определение ^\
рп-з = ^—Рп-з) хп-3уп-3 = xW3y„_3, определение х^,
®п-4 = (1 Рв-я) Хп23у„_3 4- (1 On_a) Sn_3,
= Х^п_3 + х^у^г + Х^хУп_г + х№уп,
Sy., =х^у;-А-х^.ху/+х+ • • • + х<„”"'+1)у„. (доказательство по индукции)
р, = (1— Pi) Х^^х^у,.
So = (1 —Рх) xV'yx + (1 —a,) sn
= ^Ух + Х^у3 + ... + х£11Уп_г + Х^уп, = хеу, определение х.
Кроме того,
|х,— х£ |/|х; | < (1 +e)/+I— 1 « (i’ + 1) е (если пе<0.01).
Обратный анализ на этом завершен; однако уместны будут некоторые дополнительные замечания.
Ничего не говорилось об ошибке в sd. В общем случае, поскольку выполняется три или более сложений, относительную ошибку ограничить не удается. Для абсолютной ошибки справед-
лива оценка
I So — Х'у I < |(х — х)* у | < [(1 + 8)" — 1 ] IIX IIII у II « ле IIXIIII у ||.
Множитель л отражает скорее общность результата, чем поведение ошибки.
Если в элементах х (или у) имеется неопределенность, не меньшая и единиц последнего разряда, то эта неопределенность доминирует над влиянием округлений; можно сказать, что вычисленное значение правильно в той мере, в какой оно определено входными данными.
Вектор х близок к х не только по норме, но и поэлементно.
Если известно, что элементы векторов х и у убывают по абсолютной величине (|xz| > |xz+11), то имеет смысл суммировать в направлении от л к 1.
Произведение матрицы на вектор
Следствием проведенного анализа скалярного произведения является равенство.
П(Ау) = Ду,
где at/=alf, если aZ/=aO; в противном случае \at/—au\l\au\< (1 + е)и—1.
Если вуммирование производится в направлении убывания индек- еа, то■
|°</—a//|/|«z/l< (1 +8E+1 1.
Если элементы А содержат неопределенность в п единиц последнего разряда и пе <0.01, то вычисленное произведение правильно в той мере, в какой оно определено входными данными.
Накопление скалярных произведений с удвоенной точностью
В проведенном выше анализе возможно точное вычисление произведений pt = fl (x{yt); тогда ц, = 0. На машинах фирмы IBM серий 360 и 370 стоимость получения длинного произведения двух коротких «слов» (т. е. чисел с приблизительно 6 десятичными разрядами) не больше стоимости получения короткого (усеченного) произведения. На машинах фирмы CDC, чтобы вычислить точное произведение двух чисел одинарноц, точности (приблизительно 14 десятичных разрядов), требуется выполнить две отдельные операции, так что стоимость удваивается.
Следует суммировать эти произведения в режиме двойной точности; иначе их дополнительная точность бесполезна. Это можно сделать, и результатом часто, хотя и не всегда, является точное
скалярное произведение. Однако результат нужно записать в память, и потому будет сделана единственная ошибка округления, соответствующая обыкновенной точности. Заметим, что это вычисление не требует добавочной памяти; работа с двойной точностью производится в арифметических регистрах.
Каковы выгоды этой дополнительной точности?
Часто (но не всегда) fl (х*у) = х*у (1—р), |р|<е.
Всегда fl (хеу) = х*у, где |х,—л:, | < е | х, f при условии, что пг < 0.01.
Всегда |П (х*у)—х*у| < е|[х||||у|| при условии, чтогае<0.01.
Другими словами, из оценок ошибки устраняется множитель п; это помогает в построении простых, даже элегантных анализов ошибок. Однако абсолютная ошибка сама по себе не уменьшается в п раз, поскольку результат, полученный при вычислениях с обычной точностью, как правило, точнее, чем указывает наш анализ, рассчитанный на наихудший случай. В итоге накопление скалярных произведений с двойной точностью практикуется обычно, лишь когда его добавочная стоимость мала, например меньше 5%.
Можно ли находить малые собственные значения с малой относительной ошибкой?
Ответ на этот вопрос следующий: мы не имеем оснований ожидать такой точности в общем случае; но если матрица устроена подходящим образом и численный метод выбран правильно, тогда все собственные значения можно получить с малой относительной ошибкой..
Все хорошие численные методы (для малых матриц) дают числа, являющиеся точными собственными значениями матрицы A-f-W, близкой к исходной матрице А. Это значит, что ||W[j мала (порядка ошибок округления) в сравнении с || А |]. Факт 1.11 из гл. 1 гарантирует, что абсолютная ошибка любого собственного значения ограничена числом ||W||. Как показывает случай W = el, этот результат—лучшее, на что можно надеяться в общей ситуации. Для точного вычисления наименьших собственных значений (когда они очень малы в сравнении с | А |[) это печальное обстоятельство. Рассмотрим матрицу■
А ~Г*+2У 1 1
Ai«[ 11—2у]’
где у2 « е, е—единичная ошибка округления. Прибавим к Ai матрицу Зуа1, и X, [А] меняет значение — 2у2 на у2. Можно ска-
зать, что Xj очень плохо определено матрицей А! и ни один метод не сможет вычислить Xj точнее без использования повышенной разрядности. Малые относительные изменения в любом элементе А, вызывают большие относительные изменения в ХР Так же обстоит дело в общем случае.
Рассмотрим теперь матрицу
Аа«Аа«"2 у2уа — 2yaJ*"2 у2уа — 2yaJ*
Аа«
Аа«
"2 у2
уа — 2yaJ*
"2 у2
уа — 2yaJ*
которая имеет приблизительно тот же спектр, что и АР Заметим, что если к А2 прибавляется ЗуаГ, то в элемент (2,2) вносится огромная относительная ошибка, в точности такая же, что и в XjfAJ. Что примечательно в А2—так это то, что малые относительные возмущения элементов приводят к малым относительным возмущениям в обоих собственных значениях. В действительности А2 есть крайний пример градуированной матрицы. Менее эксцентричный пример — матрица
' Г 10 100 о‘
1010 102 1020
Аз =
10 102 102 103 103
0 102 103 103 104
00 103 104 104
Такая матрица может
возникнуть, когда обобщенная проблема
собственных значений сводится к стандартной форме (А—XI)z=o.
Справедливо требовать от метода, чтобы (когда это возможно) он находил малые собственные значения с малой относительной ошибкой. Описанные в гл. 8 QL- и QR-алгоритмы способны на это.
Существующие программы
В настоящее время имеется несколько высококачественных пакетов программ для вычисления собственных значений и/или собственных векторов малых матриц различных типов, включая действительные симметричные матрицы, как полные, так и трехдиагональные (аг/ = 0, [1 — /|> 1). Эти программы можно вызывать таким же образом, как элементарные функции вроде SIN или ЕХР. Число входных параметров неизбежно возрастает параллельно усложнению задачи; однако главным образом благодаря отличной документации от пользователя требуется лишь очень небольшое знакомство с численными методами.
В основе этих программ — книга [Wilkinson, Reinsch, 1971],11
J> Впредь называемая «Справочник».
которая представляет собой собрание процедур, написанных на языке Алгол 60, вместе с необходимыми комментариями по поводу методов и важными вычислительными деталями. Это собрание было составлено Уилкинсоном и Райншем-, признанными лидерами в области матричных вычислений; однако оно явилось результатом замечательно согласованных усилий многих других специалистов, работающих над теми же задачами. Еще более важно то, что все программы были заранее опубликованы и почти все в процессе использования были модифицированы и усовершенствованы. (Это очень любопытный факт; математикам, цель которых—с первого же раза получать правильные доказательства, редко приходит в голову публиковать их регулярные усовершенствования!) Не так легко опознать трудности, связанные с превращением хорошего метода в хорошую программу; каждый, кому приходилось с этим сталкиваться, обнаруживал с удивлением, сколько времени нужно для того, чтобы достичь должного уровня надежности и эффективности.
В Соединенных Штатах лучшим пакетом по собственным значениям является систематизированный набор подпрограмм на языке Фортран IV, называемый EISPACK. Он хорошо документирован, проверялся независимо и распространен по всей стране. Он был создан (в 1973—1974 гг.) в Национальных лабораториях в Аргонне в рамках проекта NATS (Национальная программа тестирования математического обеспечения) в сотрудничестве с представителями Стэнфордского университета и Техасского университета в Остине.
Стоит отметить, что проект NATS был учрежден лишь для того, чтобы исследовать проблемы перехода от хороших алгоритмов к полезным пакетам программ. На первый взгляд кажется почти тривиальным транслировать хорошо изученные, доведенные до блеска алгол-программы из Справочника в фортранный пакет. Тем не менее задача оказалась на удивление трудной; отчасти потому, что никогда прежде не осуществлялось предприятие такого размаха и качества. По ходу дела были обнаружены небольшие ошибки в алгоритмах Справочника и введены различные усовершенствования (например, в подходе к задачам масштабирования).
Некоторые данные о состоянии на 1974 г. приведены в следующем параграфе. Последнее издание EISPACK выпущено в 1977 г. Инструкция к нему опубликована как том 51 в серии Lecture Notes in Computer Science (Springer-Verlag, 1977), авторы— В. S. Garbow и др'. z
Запросы по поводу информации и относительно ленты с записью EISPACK нужно направлять по адресу
ARGONNE CODE CENTER
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 — Группа no численным алгоритмам). Ее адрес:
NAG
ury Rd.
Oxford, England 0X2 6NN
Программы NAG no собственным значениям создаются no образцу программ EISPACK.
Длительность вычислений
Нижеследующие данные, содержащиеся в первой инструкции EISPACK, дают представление о скорости вычислений на 1974 г. для малых матриц.
Всюду время приведено в секундах.
IBM 360/75, Фортран Н, ОРТ = 2.
IBM 360/67, Фортран G.
IBM 370/165, Фортран Н, ОРТ = 2.
CDC 6400, FTN, ОРТ = 2.
n
Машина
Задача
Все X
2Х
IX
И х*
и 2 i
10
1
0.08
0.04
0.02
2
0.28
0.13
0.04
4
0.13
0.06
0.04
40
1
3.08
0.56
0.49
2
14.28
2.52
2.22
3
0.74
0.14
0.12
4
4.62
0.87
0.75
80
1
22.78
3.68
3.46
2
112.00
17.28'
16.22
3
5.25
0.94
0.88
4
32.64
5.24
4.92
Другие виды машинной архитектуры
Векторные машины
В научных расчетах, по-видимому, преобладают операции над векторами, в частности формирование линейных -комбинаций ах + у и вычисление скалярных произведений у*х. По мере усложнения задач векторы увеличиваются в длине (т. е. в размерности). Векторные машины имеют специальное оборудование, которое в большой степени облегчает эти операции; например, за каждый так называемый малый цикл машины (их в секунде 108) можно получить по одному элементу выходного вектора. Расплатой за это является то, что каждая векторная операция сопровождается большими стартовыми затратами. Этот стартовый штраф для малых векторов (л < 100) перевешивает скорость последующих вычислений. Однако для больших разреженных задач (л > 1000) получается внушительный выигрыш в скорости; поэтому методы следует изучить на предмет легкости, с которой они могут быть «векторизованы». -
Три примера векторных машин: Star-100 фирмы Control Data, ASC (Advanced Scientific Computer) фирмы Texas Instrument и (более новый) Cray-1.
Параллельные машины
Существует несколько машин, имеющих большое число арифметических устройств (32, 64, 128), которые могут одновременно выполнять одну и ту же команду1’. Соединение процессоров, как и программирование для них, представляет собой сложное дело. Тем не менее для некоторых классов задач эти машины дают соблазнительные преимущества. .
. Ситуация, по-видимому, такова, что большинство утонченных методов, развитых для традиционных последовательных машин, не удается эффективно реализовать на параллельных машинах. Требуется свежий подход, но в этой книге вы его не найдете. Похоже, что параллельные машины найдут свое место в обработке весьма специальных задач.
*’ Если имеется п8 процессоров, то в принципе произведение двух матриц можно вычислить за время, требуемое для одного скалярного произведения; однако возникают трудные проблемы доступа к данным.
ГЛАВА 3
Количествособственных значений
. Треугольное разложение
Треугольные системы уравнений легко решать по той причине, что неизвестные можно вычислить одно за другим, если брать уравнения в правильном порядке. Это придает важное значение тому факту, что большинство квадратных матриц могут быть представлены произведением треугольных матриц. Пример показан на рис. 3.1.1.
" 41216] Г 1
8 2628 в 2 1
-4 -6 -27 J [-1 3
‘ Г4134"
21 -2
L И 1
В
L
DU
Для наглядности нулевые элементы опущены.
Ведущие главные подматрицы в В:
В, = В.В, = В.В, =Г4],В, =| 4 12
В, = В.
В, = В.
‘ L J I 8 26 ]
Рис. 3.1.1. Треугольное разложение.
По теоретическим соображениям удобно выделить D и U из произведения DU.
Стандартный метод исключения Гаусса для решения системы линейных уравнений лучше всего представлять себе как процесс вычисления треугольного разложения матрицы коэффициентов. Множители, необходимые при исключении1’, суть элементы матрицы L, а результат есть матрица DU (упр. 3.1.1). С помощью этого разложения непосредственное решение полной системы Вх = b сводится к решению двух треугольных систем.
Алгоритм решения системы Вх = Ь.
B = LDU (Треугольное разложение). .
Найти с из системы Lc = b (Прямая подстановка).
Найти х из системы (DU)x = c (Обратная подстановка).
Это все, что нужно для случая малых матриц.
Существуют все же матрицы В, для которых Шаг 1 невозможен. Такие матрицы не обязательно являются странными или патологическими. Простейшая из них —
Этот пример наводит на мысль, что после переупорядочения строк матрицы А треугольное разложение станет возможно. Действительно, если А не вырождена, такое переупорядочение можно найти, но оно разрушает симметрию (упр. 3.1.3 и 3.1.4).
На практике наилучший способ установить возможность треугольного разложения—это попытаться вычислить его и убедиться, прервется или нет процесс. В теоретической работе полезно зиать условия, при которых разложение гарантировано; удобно также нормировать L и U, приписав значение 1 диагональным элементам.
Теорема, лежащая в основе треугольного разложения, использует ведущие главные подматрицы матрицы В. Они обозначаются через By и указаны на рис. 3.1.1. Поскольку D—несимметричная буква, мы впредь заменим ее на А. К сожалению, U—симметричная буква, но она скоро будет заменена на L*.
Теорема LDU. Если det By ^ О для /=1, 2, ..., п — 1, то существуют однозначно определенные нормированные треугольные множители L, A, U, такие, что B=L AU. Обратно, если det Ву=О для (^п—1, то разложение может не существовать; если же оно существует, то множители определены не единственным образом.'
Замечания
Допускается, чтобы det В = 0. Вырожденные матрицы ранга п—1 могут допускать или не допускать треугольное разложение.
Если А = L AU, то U = L*, поскольку А* = А.
Если А положительно определена, то А = L AL* и А также положительно определена. Разложение можно переписать в виде
А = (LA1/2) (LA1^)» . С*С,
где матрица CsA1/2L* называется множителем Холесского матрицы А. К сожалению, С иногда называют квадратным корнем
то L наследует ленточ- az/ = 0 при |t — j\>m.то L наследует ленточ- az/ = 0 при |t — j\>m.Г4А= 4L0Г4А= 4L04 016 2 , 2 1J4 016 2 , 2 1J'1L = 1 .0'1L = 1 .0
то L наследует ленточ- az/ = 0 при |t — j\>m.
то L наследует ленточ- az/ = 0 при |t — j\>m.
Г4
А= 4
L0
Г4
А= 4
L0
4 01
6 2 , 2 1J
4 01
6 2 , 2 1J
'1
L = 1 .0
'1
L = 1 .0
из А, хотя этот термин следует зарезервировать исключительно за единственным положительно определенным симметричным решением уравнения Х2 = А.
Если А—ленточная и A = LAL*, ную структуру А; это значит, что если то lij^O при i—/ >т. Пример:
Число т есть полуширина ленты А.
Часто бывает полезна блочная форма треугольного разложения. Разумное использование блочных матриц (т. е. матриц, элементами которых в _свою очередь являются матрицы) дает большую экономию. Например, если Ви обратима, то
Вц ,В21Вц ,В21В12'В22В12'В22В^ВП’В^ВП’о вп оIJ о в22о вп оIJ о в22ООВц1ВоВц1Во
Вц ,В21
Вц ,В21
В12'
В22
В12'
В22
В^ВП’
В^ВП’
о вп оIJ о в22
о вп оIJ о в22
О
О
Вц1Во
Вц1Во
где
В22 — в22 В21В111В12.
Иногда В22 называют гауссовым преобразованием матрицы В22, иногда дополнением Шура1).
Стоимость
Треугольное разложение—настолько полезное орудие, что заслуживает дальнейшего изучения. Дорого ли оно обходится? Надежно ли? Ответы будут даны в этом и следующем параграфах.
Память. В случае заполненных матриц общего вида для хранения L, А и U можно использовать массив пхп. При отсутствии перестановок сохраняется ширина ленты. Внутри ленты может происходить заполнение. В случае ленточной матрицы А с полушириной ленты т для L и А часто используется обычный массив nx(m + l). Для больших разреженных матрице нетипичным расположением ненулевых элементов может потребоваться специальная структура данных.
В табл. 3.1.1 указано число арифметических операций, необходимых в двух важных случаях. Читателю, никогда не делавшему такого подсчета, советуем проверить числа в таблице (расписав алгоритм и рассмотрев внутренний цикл). Драматическая эволюция от О (п?) процесса (в общем случае) до О (га) процесса (симметричные матрицы с узкой лентой) показывает, что
х> Подматрицы Вц в матрице В.— Прим, перев.
Таблица. 3.1.1
Арифметические операции
TUn матриц
Деления
Умножения и сложения
П —*
Заполненные п х п, общего вида
^п(п ~ 1)
1п(п - 1)(2„ - 1)
Симметричные ' п х п, с полушириной ленты т
т(п — т) +
1 / ц-^пЦт - 1)
■^т(т + 1)(л — т) + + ^ т(т + 1)(т + 2)
структура разреженности имеет огромное значение для эффективности алгоритмов. Если А — трехдиагональная, то вычисление А-1и стоит лишь немногим больше, чем вычисление Au!
Если сравнивать запросы к памяти, выявляется такое же преимущество матриц с узкой шириной ленты. Проблема «заполнения» привлекла большое внимание и превратилась в особую область, называемую технологией разреженных матриц. «Заполнение» в любом матричном преобразовании — это множество элементов, которые первоначально были нулями, но затем, в ходе преобразования, стали ненулевыми.
Упражнения к параграфу 3.1
Провести стандартный процесс гауссова исключения для матрицы, изображенной на рис. 3.1.1, и проверить, что L действительно составлена из множителей, а конечная треугольная матрица есть AU.
Приравнивая по столбцам элементы (f, /) обеих частей равенства B = LAU, вывести алгоритм Краута, в котором элементы L, А и U вычисляются непосредственно, минуя промежуточные приведенные матрицы BV> i — i, ..., п — 1. .
Показать, что существуют невырожденные матрицы А, такие, что никакая симметричная перестановка А, т. е. матрица РАР*, не допускает треугольного разложения.
Построить две недиагональные (3 х 3)-матрицы ранга 2, одна из которых допускает треугольное разложение, а другая — нет. Указание: действуйте в обратном направлении.
Показать, что если A = LAU, то U = L*. Использовать свойство А* = А.
Показать, что для любой положительно определенной матрицы А справедливо A = LAL*. Одни из способов доказательства состоит в использовании блочной (2 X 2)-матрицы и применении индукции. Что можно сказать о полуопределенном случае, если ранг А равен п—1?
Вычислить разложение по Холесскому для матрицы
‘ I 1/2 1/31/2 1/3 1/41/3 1/4 1/5
Если имеется калькулятор, воспользуйтесь им.
Доказать, что если о(у = 0 при | i — j | > т, то lij = 0 при t —/ > т.
Положим
В = ГВ“ Bis![821 B22J ’
где Вп и В22—(n X п)-матрицы. Предположим, что.Вц не вырождена. Найти формулу, выражающую det В произведением двух определителей порядка п. Найти другую формулу для случая, когда Вп вырождена, а В22 — нет.
Проверить подсчет числа умножений при треугольном разложении заполненной матрицы. Каково соответствующее число для симметричной матрицы, если симметрия используется полностью?
Проверить подсчет числа операций для симметричной матрицы с полушириной ленты т.
Указать «заполнение» при треугольном разложении положительно определенной матрицы с отмеченными ненулевыми элементами.
ххXххXX х х XXXX XX х х XXXX X
х
х
X
х
х
X
X х х XXX
X X
X х х XXX
X X
Используя индукцию и замечание 5, доказать первое утверждение LDU-теоремы. Привести пример (2 X 2)-матрицы, доказывающий обратную часть.
Анализ ошибок треугольного разложения
Треугольное разложение некоторых хорошо обусловленных матриц может быть безнадежно испорчено ошибками округлений в двух-трех местах процесса.
Это разложение настолько полезно, что стоит разобраться, почему оно может потерпеть неудачу. К счастью, чтобы обнаружить, где и как может произойти катастрофа, не нужен полный анализ ошибок. Достаточно внимательно взглянуть на первый шаг процесса приведения. Пусть А записана в блочной форме
(3.2.1)(3.2.1)а с*' с М
(3.2.1)
(3.2.1)
М—матрица порядка п—1. Используя блочную 2x2 факторизацию, указанную в замечании 5 параграфа 3.1, получим
А =А =1 b1 bо» И z bf 1a(1)Jl° i J*о» И z bf 1a(1)Jl° i J*b я о/a,b я о/a,(3,2.2)(3,2.2)
А =
А =
1 b
1 b
о» И z bf 1
a(1)Jl° i J*
о» И z bf 1
a(1)Jl° i J*
b я о/a,
b я о/a,
(3,2.2)
(3,2.2)
где
дО) = м -- bab? = М - со*/а,(3.2.3)
или, расписывая поэлементно,
a// = aHV /+1 — btab,, i, j = \, ..., п—\.(3.2.4)
АП) называется первой приведенной матрицей процесса.
На следующем шаге такое же приведение выполняется для АП). Чтобы лучше понять роль округлений, будем теперь считать, что b и АП) обозначают величины, действительно хранимые в машине; предположим, что благодаря некоторой счастливой случайности каждое а// вычислено с минимальной относительной ошибкой (по поводу деталей модели арифметики см. гл. 2). Таким образом,
аЧ> = fl (а,.+1,/+1—^у)
= (а/+1,/+1—^^/(l—р17), |р,у| <е.(3.2.5)
Здесь е—единичная ошибка округления. Удобно переписать 1—pz/ в виде 1/(1 -f- г],7). Следовательно, П,7 = р,7/(1 — pz/) « pz/. Ключевое замечание состоит в том, что (3.2.5) можно теперь записать как
a//A-b^bj = am,j+1—x\tja/>, i, /= 1, ..., n—1, i> /(3.2.6)
В матричных обозначениях (3.2.6) выражает равенство
(3.2.7)(3.2.7)
(3.2.7)
(3.2.7)
Вследствие ошибок округлений алгоритм факторизует матрицу А —Н11), а не А. Это не удовлетворительно, если AU) имеет много большие элементы, чем А, даже при оптимистическом предположении, что каждый арифметический шаг выполняется с минимальной ошибкой. Нетрудно доказать обратное, не выдвигая никаких оптимистических предположений; именно, если || Аи) ||«|| А ||, то отношение || Н(1)||/|| А || мало и имеет порядок ошибки округления. Если учесть все округления, то выражение для АН* будет включать кратное произведения btb-au; в этом случае ||Ни'|| мала в сравнении с max(||A||, ||AU)Q). См. упр. 3.2.2.
На следующем шаге вычисленные величины Ь<8) и А12’ оказываются частью разложения матрицы Аи)—Н<2’, а не Аи), и так далее. Можно проверить, что множители L и Д удовлетворяют соотношению
L AL* = А—Н(1)—Н<2)—... — Н‘"-1' = А —Н,(3.2.8)
где Н^гОцфН161 и Hlfe’ в сравнении с наибольшей из матриц А1*’ и А(А-1) имеет относительный порядок ошибки округления. Если какая-либо из норм ||А‘**|| велика относительно ЦАЦ, то алгоритм попросту разложил не ту матрицу п.
Заметим, что малые главные элементы 6й = а$, как и большие множители в b<ft>, могут приводить или не приводить к большим Х(к+п. Эти традиционные «виновники» в случае неудавшегося разложения отнюдь не являются подходящими величинами. По-настоящему идет в расчет лишь их внешнее произведение (Ь^Ь^й^1.
Треугольное разложение без выбора главных элементов действительно может потерпеть неудачу, которая всегда сопровождается ростом элементов, т. е. ЦА1А’Ц^>|| А|| при некотором к<п. За таким ростом легко следить, и потому неудачу можно обнаружить. Этот вопрос разбирается в следующем параграфе.
Для положительно .определенных матриц ||Alfe)||^|| А^-1*!!, поэтому треугольное разложение очень устойчиво (упр. 3.2.5).
Вопрос о выборе главных элементов для обеспечения устойчивого разложения не является центральным для наших целей, и за этой информацией мы отсылаем читателя к книге [Forsythe, Moler, 1967]. Выбор посредством односторонних перестановок разрушает симметрию, а симметричный выбор (посредством одинаковых перестановок строк и столбцов) обычно разрушает ленточную структуру разреженных матриц.
Упражнения к параграфу 3.2
Используя 4-значную десятичную арифметику с плавающей точкой и с усечением, провести для матрицы
А_Г10-= 10]
А~[1014J
численный анализ ошибок. Указать матрицы L, Д и Н.
Если имеется калькулятор, разложите нижеприведенные матрицы в 4-значной десятичной арифметике. Затем точно сформируйте произведение LAL* и сравните с исходной матрицей.
J) По поводу описания символа ф обратитесь к списку обозначений.
" 1.000 0.5000 0.3333 0.25000.5000 0.3333, 0.2500 0.20000.3333 0.2500 0.2000 0.16660.2500 0.2000 0.1666 0.1428
5 1
1 3 1
1
-11
1 -31
1 -5
После этого вычислите L и А в режиме полной точности калькулятора и сравните с прежними их версиями. ■
Доказать, что если В не вырождена, то найдется матрица перестановки Р (а возможно, и много таких матриц), для которой РВ допускает треугольное разложение. Указание: Вначале покажите, что на каждом шаге разложения всегда можно произвести перестановку строк, обеспечивающую выполнимость этого шага. Во-вторых (это труднее), покажите, почему можно считать, что все перестановки были сделаны заранее, до начала разложения.
Пользуясь теоремой Сильвестра об инерции, доказать, что еслиА(А-11 положительно определена, то и А(6) положительно определена.
Показать, что для 6-го главного элемента при всех к справедливо 6^ = d^^a^1*. Используя результат упр. 3.2.4, вывести отсюда, что|[А(А)||< <||А<А-1)||. Здесь А положительно определенная матрица.
Деление спектра
Существует элегантный способ определить число собственных значений матрицы А, меньших любого заданного вещественного числа а. Поскольку результат есть целое число, кажется, что этот способ избавляет нас от козней машинных округлений; в какой степени оправдана эта надежда, будет исследовано ниже. Специалисты по теоретической физике используют метод с давних пор, по крайней мере с начала 1950-х годов.
Метод является следствием теоремы Сильвестра об инерции (факт 1.6), которая устанавливает инвариантность числа v(W) отрицательных собственных значений матрицы W при конгруэнтных преобразованиях. .Большое значение имеет тот факт, что метод непосредственно приложим к обобщенной проблеме собственных значений А—ХМ.
Теорема. Предположим, что А—оМ допускает треугольное разложение X—oM = LoAoL*, где Ао—диагональная, а М положительно определена. Тогда
v (А—ol) = v (А—оМ) = v (Ао),
здесь A = diag(Xn Х2, ..., Хп), a\—собственные значения
пары (А, М).1
'-Доказательство. Поскольку La—нижняя треугольная матрица с единицами на диагонали, она обратима и, следовательно, А—оМ конгруэнтна матрице Аа. Согласно (15.3.3), теореме об одновременном приведении пары квадратичных форм, существует обратимая матрица F, такая, что
F*(A —оМ) F = A—al,
поэтому А—оМ конгруэнтна Л—al. Утверждение теоремы вытекает из теоремы Сильвестра об инерции, примененной к конгруэнтным диагональным матрицам Л—о! и Ао.
С одной стороны, v(Aa) есть просто число отрицательных элементов на диагонали матрицы Aa. С другой стороны, v(A—al) есть число собственных значений пучка (А, М), которые меньше, чем о.
Вычисление Ао и v(Aa) показывает, каким образом о делит спектр на две части. Будем называть v(Aa) (или л(А0), если вы предпочитаете положительные собственные значения) делителем спектра. Пример 3.3.1 демонстрирует деление спектра.
Пример 3.3.1. Деление спектра
1 з
4 6
1 г 1.
-1 -з о 1.2
12
Подсчет: у(До) = *> ^2) = 2.
Выводы:А][А] < 0 < А2[А] < 2 < Л3[А] < Х4[А].
Трехдиагональный случай
В этом важном приложении оказывается, что элементы L и А не требуют хранения. Нужна лишь одна ячейка рабочей памяти (см. упр. 3.3.5).
Для последующих ссылок приведем подробное описание процедуры. Пусть а хранит диагональные элементы, у — квадраты внедиагональных элементов, 6—дополнительная ячейка, а о—вы-
бранная точка (или сдвиг начала). Цель состоит в том, чтобы вычислить v = v[A—а].
Начало:6*-а,— о,
I, если 6 < О,
О, в противном случае.
Цикл: для к = 2, .... п выполнить
(«А-Та-1/6)—О,если 6 = 0, то о-»— е()аА| + |о| + е),(3.3.1)
если 6 < 0, то v v + 1.
В действительности, я предпочитаю в случае 6 = 0 изменить слегка а и провести процесс заново.
Точность деления
Для произвольной симметричной А рассмотрим А—а, когда а меняется на действительной оси. Теорема LDU показывает, что разложение не существует тогда и только тогда, когда одна или несколько ведущих главнйх подматриц Ай—а вырождены. Согласно теореме Коши о разделении (§ 10.1), собственные значения Х(^ матрицы А6 разделяют собственные значения Aft+I. Заметим, что п-1
А =А. Следовательно, имеется 2 к = п(п—1)/2 значений а, не А= 1
обязательно различных, для которых А—а не допускает LAL* разложения. Если о принадлежит одному из малых интервалов около этих значений, то разложение неустойчиво вследствие округлений. Чтобы понять, почему, представим А в следующем блочном виде:
ГУ С*1
А = [см](3-3-2)
и предположим, что а совпадает с некоторым ХДУ] в первых р значащих десятичных цифрах. Тогда одной из приведенных матриц, встречаемых в процессе разложения, будет (см. упр. 3.3.2)
М = М —о—С(У—о)-1С* (3.3.3)
и, поскольку а столь близко к собственному значению матрицы V (упр. 3.3.3)
(3.3.4)(3.3.4)||(V —о)-11| > 10^/| Ху [У]|> 10^/fl А Ц.
(3.3.4)
(3.3.4)
Вполне вероятно, что |С|]«||А|| и, если только не произойдет благоприятного взаимного уничтожения,
^(У-о)-^*^ 10/-ЦАЦ.^(У-о)-^*^ 10/-ЦАЦ.(3.3.5)(3.3.5)
^(У-о)-^*^ 10/-ЦАЦ.
^(У-о)-^*^ 10/-ЦАЦ.
(3.3.5)
(3.3.5)
Примечателен тот факт, что для о имеется лишь п(п—1)/2 опасных мест (именно, собственные значения главных подматриц д /=1, ... ., п—1). Вероятность неудачи в треугольном разложении А — о невелика, Это подсказывает следующую простую стратегию. Если при разложении А—о наблюдается неприемлемый рост элементов, нужно изменить о на 0.01 % и начать заново.
Вычисленные множители Ел и Аст удовлетворяют соотношению
ЕОАОЦ = (А—о) —Но(3.3.6)
(согласно § 3.2), и поэтому
Деление спектра нечувствительно к ошибкам округлений в треугольном разложении, если
v(A —Но—o) = v(A —о).(3.3.7)
Если роста элементов не происходит, то Но очень мала в сравнении с А и деление дает настолько хороший результат, насколько позволяет точность вычислений. Однако два значения v могут совпадать и тогда, когда элементы На не малы. Таким образом, неточное треугольное разложение не обязательно означает неточность деления.
С другой стороны, отметим следствия неправильного подсчета. По теореме Вейля о монотонности (§ 10.3 или Факт 1.11)
|^[А-Но]-ХДА]|^дНо||, /=1, ..., п. (3.3.8)
Следовательно, если v(A—На—o)^=v(A—о), то
■ Ц Но || > min [ Ху. [А]—о|.(3.3.9)
Точность, с которой могут быть локализованы собственные значения путем деления спектра, менее удовлетворительна, если при некоторых i и / имеются очень близкие Xz [А] и Xy[V]. V — матрица, указанная в (3.3.2).
Неудача процедуры деления
Имеется два несколько различающихся способа вычисления Ао. Самый естественный состоит в вычислении U = L-1A путем исключения и последующем использовании диагональных элементов. Однако если А хранится в компактной форме, то для U может не быть места; в этом случае элементы А модифицируются по формуле
min (i. /)-1
аЦ aij 2 Ц^кЦ'к-
Как показывает пример 3.3.2, различие может быть поразительным. Вычисления для примера 3.3.2 были проделаны в смоделированной на CDC 6400 24-битовой арифметике с плавающей точкой.
Пример 3.3.2. Неудачное деление
А
1.06 + 0
2.86 - 2
1.05 + 1
1.56 + 1
1.05 + 0
1.05 + 1
2.85-2
2.76 + 1
2.76 + 1
1.36 + 1
2.75 + 1
2.05 + 0
1.06 + 1
ТЛЕ + 1
1.36 + 2
1.96 + 1
2.85 + 1
ХЛЕ + 1
1.55 + 1
1.36 + 1
1.96 + 1
-3.06 + 2
-8.75 + 1
2.86 + 1
1.06 + 0
2.76 + 1
2.85 + 1
-8.76 + 1
2.75 + 1
1.25 + 1
1.06 + 1
2.06 + 0
1.26 + 1
2.85 + 1
1.25 + 1
1.05 + 1
Пожалуйста, сравните указанные ниже Ао и L, полученные разложением по LU-методике, с матрицами Ао и L, вычисленными посредством L (ЬА)*-методики, которые приведены далее.
LU-методика
А.
(1.05 + 0, 2.65+1, 8.55-7, 2.45+11 , 1.55+1, 1.45 + 2)
1.05 + 02.85 - 21.05 + 11.55 + 11.05 +01.05 + 11.05 + 02.85 - 21.05 + 11.55 + 11.05 +01.05 + 11.05 + 01.05 + 04.86 - 11.05 + 16.66 - 21.05 + 01.05 + 04.86 - 11.05 + 16.66 - 21.06 + 0-1.76+ 8-1.16 + 7-1.16 + 81.06 + 0-1.76+ 8-1.16 + 7-1.16 + 81.06 + 06.25 - 26.25 - 11.06 + 06.25 - 26.25 - 11.05 + 06.0Е + I1.05 + 06.0Е + I1.05+01.05+0
1.05 + 0
2.85 - 2
1.05 + 1
1.55 + 1
1.05 +0
1.05 + 1
1.05 + 0
2.85 - 2
1.05 + 1
1.55 + 1
1.05 +0
1.05 + 1
1.05 + 0
1.05 + 0
4.86 - 1
1.05 + 1
6.66 - 2
1.05 + 0
1.05 + 0
4.86 - 1
1.05 + 1
6.66 - 2
1.06 + 0
-1.76+ 8
-1.16 + 7
-1.16 + 8
1.06 + 0
-1.76+ 8
-1.16 + 7
-1.16 + 8
1.06 + 0
6.25 - 2
6.25 - 1
1.06 + 0
6.25 - 2
6.25 - 1
1.05 + 0
6.0Е + I
1.05 + 0
6.0Е + I
1.05+0
1.05+0
?(А,) -1
А - LU
"о
0
0
0
0
О’
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4.96 + 2
6.46 + 1
-1.15 + 2
0
0
0
-8.46 + 1
-2.95 + 0
1.25 + 1
0
0
0
-4.35 + 2
3.26 + 0
-4.85+2
Собственные значения А
(—3.3£ + 2, —5.9£ + О, 1.1Е+1, 1.7Е-Ц, 5.0£+1, 1.5£ + 2),о= — 8.5Е — 6.
Пожалуйста, сравните Аа и L, полученные нижеследующим методом, с Ао и L, вычисленными посредством LU-методики, которые приведены выше.
L(ЬД)*-методика
(l.OE + O, 2.6Е + 1, 8.5Е-7. -2.4Е + 10. 1.8Е + 1. -2.3Е + 2)
t-M " 2
А - L(LA)*
ОООООО
ОООООО
ОООООО
ООО -4.9Е + 2 6.4Е+ 1 -LIE+2
ООО 3.9Е + 1 9.0Е - 17.3Е + О
ООО -4.3Е + 2 ЗЛЕ + О -4.8Е+2
.0Е + 02.8Е - 2.0Е + 11.5Е + 11.0Е + ОLOE + 1.0Е + 02.8Е - 2.0Е + 11.5Е + 11.0Е + ОLOE + 1.0Е + О.0Е + О 4.8Е -2 1.0Е + О6.6Е - 2.0Е + О.0Е + О 4.8Е -2 1.0Е + О6.6Е - 2.0Е + 0-1.7Е+ 8-1.1Е + 7-1ЛЕ + 3.0Е + 0-1.7Е+ 8-1.1Е + 7-1ЛЕ + 3I.0E+ О.2 Е - 26.2Е - 1I.0E+ О.2 Е - 26.2Е - 1L0E + О4.8Е + ОL0E + О4.8Е + О.0Е + О.0Е + О
.0Е + 0
2.8Е - 2
.0Е + 1
1.5Е + 1
1.0Е + О
LOE + 1
.0Е + 0
2.8Е - 2
.0Е + 1
1.5Е + 1
1.0Е + О
LOE + 1
.0Е + О
.0Е + О 4.8Е -2 1.0Е + О
6.6Е - 2
.0Е + О
.0Е + О 4.8Е -2 1.0Е + О
6.6Е - 2
.0Е + 0
-1.7Е+ 8
-1.1Е + 7
-1ЛЕ + 3
.0Е + 0
-1.7Е+ 8
-1.1Е + 7
-1ЛЕ + 3
I.0E+ О
.2 Е - 2
6.2Е - 1
I.0E+ О
.2 Е - 2
6.2Е - 1
L0E + О
4.8Е + О
L0E + О
4.8Е + О
.0Е + О
.0Е + О
Упражнения к параграфу 3.3
Строго говоря, v (А) есть число отрицательных элементов в любой диагональной матрице, конгруэнтной А. Используя спектральное разложение А, показать, что v (А) есть число отрицательных собственных значений А.
Доказать (3.3.3) опираясь на единственность треугольного разложения.
Доказать (3.3.4).
Изменив в примере 3.3.2 о на 1% (в ту и другую сторону), пере- вычислить До и v (Д„ ) и сравнить рост элементов во всех трех случаях.
Пусть Т — трехдиагональная матрица, 6-я строка которой имеет вид (...О, ₽й-1, «й, Рй, 0, ...). Расписать алгоритм разложения матрицы Т—о = LAL*, а затем показать, как можно исключить элементы L и получить алгоритм, приведенный в этом параграфе.
Пусть А и W—трехдиагональиые, за исключением того, чтоо1я=ая1^0, win = wnl ^ 0. Пусть О А и DIF —п-векторы, содержащие диагональные элементы, а ЕД и EW — n-векторы, содержащие прочие ненулевые элементы. Выписать алгоритм, вычисляющий v(A—oW) и не использующий никаких Других массивов, а лишь 6 или 7 дополнительных простых переменных.
§ 3.4. Связь с последовательностями Штурма
Пусть X/ (т) обозначает характеристический многочлен ведущей главной (jх/)-подматрицы в А. Так, Х1(т) = т—аи. Положим Х0(т)=1. По теореме Коши о разделении (§ 10.1) последовательность многочленов (Хо. Хп • • • > 1п\есть последовательность Штурма, т. е. нули соседних многочленов разделяют друг друга. Довольно громоздкое доказательство11 устанавливает, что число совпадений знака у соседних членов числовой последовательности {Х/(°)> / = 0, 1, ...,«} равно числу нулей многочлена х„, меньших, чемо2)-3).
Для матрицы А общего вида не существует дешевого способа вычислить X/(°) п0 X/(°)> i < Л но в случае трехдиагональной А имеются хорошо известные трехчленные рекуррентные соотношения
X/+i(°) = (°—«4+1. /+1)Х/(°)—a'/+i./X/-i(°).(3.4.1)
обсуждаемые также в гл. 7. Эти соотношения были использованы для подсчета числа собственных значений, меньших, чем о, в основополагающем отчете [Givens, 1954].
Если А—o = LAL* (треугольное разложение), то (упр. 3.4.1) (—l),X/(o) = 6i-.-6/ = det А/, / = 1, ..., п, (3.4.2) 6/ = —X/(°)/X/-i(o).
Таким образом, совпадениям знака в последовательности (х/(°И соответствуют отрицательные значения в последовательности {о,}. Однако по характеру рациональные функции 6Z спокойнее, чем многочлены х/, почему их и следует предпочесть в вычислениях с конечной точностью. Проблемы, связанные с возможностью переполнений и машинных нулей, упрощаются, если вместо (3.4.1) использовать треугольное разложение.
Постоянный упор на последовательности Штурма (т. е. (3.4.1)) задержал применение в рамках численного анализа метода деления спектра к ленточным матрицам и обобщенной проблеме собственных значений. Некоторые авторы называют даже деление спектра методом последовательности Штурма, хотя здесь и не вычисляются X/.
u Это доказательство приведено в книге [Wilkinson, 1965].
21 Много исследований было посвящено каверзному вопросу о том, как правильно приписать знак одному или даже двум нулевым значениям в последовательности Х/(°)- Это привело к экзотическому правилу Гундельфингера, которое можно найти в работе [Browne, 1930].
31 Правило Гундельфингера, в котором, правда, иет ничего экзотического, относится к случаю изолированного нуля в последовательности (х/ (о)}. (т- е- если Хб(о) = 0 то х б-i (о) Хб+i (о) ^ 0) и утверждает, что безразлично, какой знак приписать такому нулю. Более общее правило Фробениуса допускает наличие изолированных пар нулей. В обоих случаях предполагается, что Хп(о)^0- Эти сведения, как и обсуждение вопроса о возможности обобщения правила Фробениуса, читатель найдет в книге: И. С. Иохвидов. Ганкелевы и теплицевы матрицы и формы,— М.: Наука, 1974.— Прим, перев.
Упражнения к параграфу 3.4
Вывести (3.4.2), а затем получить из (3.4.1) трехчленные рекуррентные соотношения для бу, которые требовали бы одно деление за шаг и ие требовали бы умножений.
Для примера из предыдущего параграфа вычислить последовательность Штурма (ху(о)} и сопоставить с {бу}.
§ 3.5. Методы деления пополам и секущих
Деление пополам
Если известно, что полуоткрытый интервал [а, 0) содержит по крайней мере одно собственное значение, то посредством методов деления из параграфа 3.3 можно определить, содержит ли собственное значение полуинтервал [а, (а + 0)/2). Процесс можно повторять нужное число раз, чтобы локализовать собственное значение с точностью, ограничиваемой лишь ошибками при треугольном разложении.
Эта идея была с большой тщательностью воплощена в программе bisect (см. Справочник), но лишь для трехдиагональных матриц.
Стоимость. Одно треугольное разложение при каждом делении. Число операций указано в § 3.1.
Использование. Метод деления пополам эффективен, если не требуется высокой точности. Он хорош также для нахождения нескольких собственных значений матрицы с узкой лентой, особенно когда нужны все собственные значения в заданном интервале. При необходимости методом деления пополам можно зачастую получать результаты, верные с полной рабочей точностью.
Метод не рекомендуется, если нужны более чем п/4 собственных значений или если матрица содержит значительный процент ненулевых элементов.-
Метод секущих•
Если обнаружилось, что интервал [а, 0) содержит лишь одно собственное значение X, то деление пополам—довольно примитивный и медленный способ для того, чтобы найти X с высокой точностью. Классическая задача вычисления нуля многочлена, локализованного в данном интервале, привлекала к себе большое внимание в течение многих лет, и были созданы некоторые первоклассные алгоритмы.
Ценой всего лишь п— 1 дополнительных умножений программа разложения может вычислять сам многочлен, поскольку
Х(о) = 61.. ,6„
(остерегайтесь переполнений и машинных нулей); следовательно, можно применить любой вариант метода секущих. Порядок сходимости равен 1.618 по сравнению с 1 для метода деления пополам; таким образом, сходимость должна ускориться. В случае трехдиагональных матриц % (о) можно вычислять прямо по формулам (3.4.1), но для более заполненных матриц естественным подходом является треугольное разложение, и добавочная стоимость формирования произведения б^-.б^ мала. Важная альтернатива многочленам х обсуждается в параграфе 3.6.
Формула шага в методе секущих такова:
E/+1 = ^-<-W/Ax(M/-i), ~ (3-5.1) где
Ах(«-Р) = (Х (<*) —X №))/(«—Р) (3.5.2)
— разделенная разность первого порядка функции х- Значение со = 1 дает стандартную формулу, со = 2 приводит к более практичному двойному методу секущих. Более подробно об этом см. упр. 3.5.4.
В хороших программах формула метода секущих не применяется слепо; она является лишь одним из кандидатов для следующего приближения. Ценой некоторого усложнения и включения проверок различных трудных случаев, удалось добиться образцовой работы программ отыскания нулей многочленов. Ясно, что в случае, когда приближение по методу секущих лежит вне наименьшего до сих пор найденного интервала, содержащего X, его не следует использовать. Что же взять взамен? Это интересный вопрос. Соблазнительно было бы вернуться к делению пополам, однако имеются лучшие решения. Читатель может обратиться за подробным обсуждением этого вопроса к книге [Brent, 1973] либо к статье [Bus, Dekker, 1978].
Предупреждение. Программы, вычисляющие нули многочленов, не имеют в своем распоряжении ничего сравнимого с делителем спектра v(Aa), и потому им приходится быть очень осторожными из-за опасности перескочить через пару нулей (не дающую перемены знака). Программы по собственным значениям могут быть не так осторожны. См. книгу [Bathe, Wilson, 1976], гл. 11, по поводу применения этих идей в вычислениях с большими матрицами.
В случае трехдиагональных матриц можно получить рекуррентные соотношения для вычисления х' (о) и даже более высоких производных. Поэтому при вычислении X можно использовать всю гамму методов отыскания нулей. Однако рекуррентные соотношения не удается удовлетворительным образом перенести на матрицы с большей шириной ленты, почему этот подход не будет исследоваться.
Упражнения к параграфу 3.5
Считая, что итерации метода секущих сходятся к X, найти выражение, связывающее ошибку данного шага с произведением двух предыдущих ошибок. Вывести отсюда, что порядок сходимости есть (l-J-p^ 5)/2.
Написать простую программу, комбинирующую деление пополам с ускорением по методу секущих, и проверить ее на примерах, приведенных в этой главе. Сравнить результаты с результатами простого деления пополам; учесть при этом сравнительную стоимость одного шага в обоих методах.
Задание. В алгоритме bisect из справочника заменить метод последовательности Штурма треугольным разложением ленточной матрицы.
Пусть Х( < Х2 <• • •< Х„ — нули х- Пусть Ц1<Ц2< • • • <Р»-1— нули х', производной многочлена X- Если ^/-i < I/ < Xi, показать, что при использовании формулы (3.5.1):
если <о= 1, то gy+1 < Xi,
если (0 = 2, то |у+1 < р! (неопубликованный результат Кахана). В любом случае gy+1 не может перескочить через два нуля многочлена х-
3.6. Скрытые собственные значения
Согласно (3.4.2), последний главный элемент при разложении А—а равен—Xn(a)/Xn-i (°) и потому имеет те же нули, что и %„. Следовательно, метод секущих или любой его вариант можно применить к рациональной функции 6„(а), избегая тем самым п—1 умножений, необходимых для вычисления х„(°) по известным главным элементам бДо), i=l, ...,п. При прямолинейной реализации этой замены х на 6 легко можно упустить из виду следующее интересное явление. Может случиться, что X—хорошо отделенный простой нуль х„, который в то же время очень близок к нулю некоторого из многочленов x„-i, Хп-2, Х«-з> и т- Д- Другими словами, Ix^WI велико, в то время как | x„_i(X) | очень мало. Результат будет тот, что для почти всех значений о полюс функции 6„, находящийся вблизи X, нейтрализует и тем самым скроет нуль в X; при этом можно прийти к выводу, что возле X сокровища не найти. Рис. 3.6.1 дает картину скрытого нуля. Уилкинсон построил прекрасный пример—трехдиагональную матрицу Wgi, определяемую соотношениями
wu = 11 — i, i= 1, .... 21,®i,i+i = ®i4bi=L i=l, ...,20.
Наибольшее собственное значение Х21 ( = 10.746...) совпадаете наибольшим собственным значением главной подматрицы порядка 20 в первых пятнадцати десятичных разрядах. Г рафик 621(о) близок, к —20 на всем интервале [10, 11], за исключением подынтервала с центром в Х21 с шириной, меньшей, чем 10-13. На многих машинах этот критический интервал неразличим.
Нужно подчеркнуть, что Wn не является патологической матрицей. Если алгоритм параграфа 3.3 провести в обратном направлении (для k^n2), то для нового 6(a) Х21 не будет скрыто и легко находится. Мы хотели лишь указать на то, что на практике некоторые рациональные функции скрывают свои нули от любопытных глаз.
Упражнение к параграфу 3.6
Найти наименьшее значение п, такое, что X,[W^] либо Xn[WT] не . удается обнаружить на машине, которой вы пользуетесь, посредством вычис- - ления 6П. Выведите на печать нули /„, Хп-i- Хп-2. и т- Д
. Характеристический многочлен '
Если многочлен ха задан или может быть легко найден, то матричная задача сводится к классической задаче вычисления всех или некоторых нулей многочлена; в таком случае читатель должен обратиться к одной из книг [Brent, 1973], [Traub, 1964] или [Wilkinson, 1964], в которых подробно обсуждается эта за-
дача. Однако если задана лишь матрица А, то нет никакого побудительного мотива, чтобы вычислять коэффициенты ха, поскольку нули многочлена являются чрезвычайно чувствительными функциями этих коэффициентов. Если п = 300 (средний порядок для матрицы), то неясно, сколько сотен десятичных разрядов нужно взять в коэффициентах, чтобы определить все нули с точностью до двух или трех десятичных знаков. По этой причине мы не будем впредь рассматривать коэффициенты ха-
С другой стороны, ха (ст) можно удовлетворительно вычислять посредством треугольного разложения, как это описано в параграфе 3.5.
Здесь можно отметить фундаментальное ограничение на любой алгоритм вычисления собственных значений. Свыше ста лет назад Галуа доказал, что не может существовать конечная процедура, использующая лишь основные арифметические операции и извлечение корней, которая позволяла бы находить нуль произвольного многочлена пятой (или более высокой) степени °. Однако коэффициенты ха можно вычислять по коэффициентам А посредством различных конечных схем, некоторые из которых описаны в книге [Фаддеев, Фаддеева, 1963]. Таким образом, в контексте точной арифметики не может быть конечного численного алгоритма, дающего собственные значения произвольной матрицы, для порядка п которой допускаются значения, большие четырех. Поэтому все программы по собственным значениям содержат тот или иной итерационный компонент. Иногда метод называют прямым, если в нем делается конечное число преобразований подобия (или вовсе не делается); однако этот термин не кажется полезным.
Как известно, еще раньше доказательства этого факта были даны Руффиии. и Абелем.— Прим, перев.
ГЛАВА 4
Простыевекторные итерации
Степенной метод уже не имеет серьезного значения в задачах вычисления собственных векторов. Тем не менее он заслуживает изучения, поскольку тесно связан с современными алгоритмами; хорошее владение им помогает понять более сложные методы. В частности, полезным методом является обратная итерация, хотя она используется сейчас не совсем так, как первоначально задумывалось. В этой главе методы рассматриваются сперва теоретически, в контексте точной арифметики, а затем практически, в условиях ограниченной точности.
Наиболее важным вариантом обратной итерации является итерация с отношением Релея. Мы увидим, что этот метод сходится для почти всех начальных приближений, как бы они ни были плохи, и что впоследствии, обычно после двух или трех шагов, число верных знаков утраивается на каждой итерации.
1. Собственные векторы матриц ранга 1
Существует один класс заполненных симметричных матриц, собственные значения которых находить легко. Это матрицы ранга 1.
Пример 4.1.1. Заполненная матрица ранга 1
А =А =8.416.093.198.416.093.19-6.094.41-2.31-6.094.41-2.313.19'-2.311.213.19'-2.311.21-2.1-2.1
А =
А =
8.41
6.09
3.19
8.41
6.09
3.19
-6.09
4.41
-2.31
-6.09
4.41
-2.31
3.19'
-2.31
1.21
3.19'
-2.31
1.21
-2.1
-2.1
Предположим, что A = vv*, но это неизвестно пользователю. Первый шаг состоит в том, что берется произвольный х=#о и вычисляется
у = Ах [=v (v*x)]. (4.1.1) Если у = о, то х—собственный вектор, отвечающий собственному значению 0. В противном случае у—собственный вектор, отве-
чающий собственному значению v*v; действительно, согласно (4.1.1),
Ау = Av (v*x) = v (v*v) (v*x) = y (v*v).(4.1.2)
Вычислитель или машина все еще этого не знает. Второй шаг: 1. Вычислить z = Ay.
Вычислить min (zz/i/z) и max (2z/z/z) по всем I, для которых У; не равно 0 (или не слишком мало). Все отношения будут равны v*v.
Конечно, если известно, что А имеет ранг 1, то любой ненулевой столбец А будет .доминирующим собственным вектором. Если же это заранее не известно, то для опознания достаточно всего лишь двух произведений матрицы на вектор. Всякий вектор, ортогональный к v, является собственным вектором с собственным значением 0 (т. е. вектором из ядра).
Можно было бы надеяться, что еще одного произведения матрицы на вектор хватило бы для вычисления доминирующего собственного вектора матрицы ранга 2. К сожалению, как показывает пример 4.1.2, это не так.
Пример 4.1.2
А «А «-410-4108810-7-210-7-28-228-22Ранг (А) - 2.Ранг (А) - 2.
А «
А «
-4
10
-4
10
8
8
10
-7
-2
10
-7
-2
8
-2
2
8
-2
2
Ранг (А) - 2.
Ранг (А) - 2.
Последовательные итерации, нормированные так, чтобы наибольший элемент был равен единице, показаны в табл. 4,1.1.
Таблица 4.1.1
Шаг
0
1
2
3
4
1.0
1.0
0.1429
1.0
?
Ктерация
1.0
0.0714
0.9286
0.5
?
1.0
0.5714.
1.0
0.1
7
4.2. Прямая и обратная итерация
Специальный случай матриц ранга 1 связан с общим случаем, поскольку для больших к нормированная степень А6 близка к матрице ранга 1 (упр. 4.2.1). Таким образом, необходимо лишь- найти y = Aftx, а затем проверить точность, сравнивая у и Ау,
К счастью, нет нужды вычислять А* в явном виде, так как
А«х = А(А (А (А (Ах)))).
Степенной метод РМ °. Выбрать единичный вектор х0. Затем для k = 1, 2, 3, ...
сформировать ук = Ххк_г,
нормировать хк = ук/1ук](,
подвергнуть хк тесту на сходимость.
Таблица 4.1.1 показывает несколько шагов процесса.
Сходимость
Напомним наши стандартные обозначения:
Аг, = гД,., hz|| = 1, и
(4.2.1)
Заметим, что |А| равна либо—Хп либо Х„. Для определенности будем предполагать последнее и пренебрежем влиянием округлений.
Анализ является по существу двумерным. На /г-м шаге имеем однозначно определенную плоскость, содержащую хк и нужный собственный вектор z„. Пусть, как показано на рис. 4.2.1, ик—единичный вектор этой плоскости, ортогональный к z„. По мере продолжения алгоритма плоскость проворачивается вокруг фиксированной оси z„, как раскрытое окно. После этой геометрической подготовки можно написать
xft = z„cos0ft + uftsin6ft,(4.2.2)
где 9к^/_^.к, z„)—угол ошибки.
В некоторых отношениях 66—более естественная мера ошибки, чем обычное ||xfc—z„]| (= 2 sin (в^/2)), из-за которого так часто приходится делать необязательные нормировки. Наша надежда состоит в том, что степенная последовательность {х0, хп х2, ...} сходится к гп.
Теорема. Если Хп—единственное доминирующее собственное значение А и z*xo=/=O, то хк^гп при к оо. Сходимость линейная, причем коэффициент сходимости равен
max{VA„(4.2.3)
J) РМ—Power Method. — Прим, перев.
Когда сходимость линейная, интерес фокусируется на коэффициенте сходимости, определяемом в нашей задаче как lime6+1/eft.
Доказательство. Рассмотрим (&4-1)-й шаг, на котором формируется Axft. Умножая (4.2.2) на А слева и используя (4.2.1), находим
Axft = z„X„ cos6ft+ (j^Axft = z„X„ cos6ft+ (j^l|Aufe(|sin е6,l|Aufe(|sin е6,(4.2.4)(4.2.4)
Axft = z„X„ cos6ft+ (j^
Axft = z„X„ cos6ft+ (j^
l|Aufe(|sin е6,
l|Aufe(|sin е6,
(4.2.4)
(4.2.4)
Ключевое наблюдение заключается в том, что Aufe, как и нА, ортогонален к z„ (упр. 4.2.4). Поскольку xfe+-1 лишь множителем отличается от Axft, формула (4.2.4) дает ортогональное разложе-
ние xft+1. Сравнивая (4.2.4) с (4.2.2), получаем
uft+i = Auft/|AuJ(4.2.5)
и
tg 6fc+1 = I Auft || sin е,Дп cos %.(4.2.6)
При всех k вектор uA должен оставаться в инвариантном подпространстве гф. Поэтому можно привлечь А-1-, сужение А наг^- (см. разд. 1.4.1) и вывести оценку
IIAu.l^llA^KIIA^Ibmax^-^, X^J.(4.2.7)
Из (4.2.6) и (4.2.7) вытекает решающее неравенство'
По предположению | tg 901 < оо и, следовательно, при к -> оо |РьЫ1£9*1^РЧ£9<.^0-(4-2.9)
Быстрая сходимость может иметь две причины: малое р и/или малое 60.
Предоставляем читателю в качестве упражнения 4.2.6 показать, что почти всегда || Auft ||-»|| А11| при к -► оо. Таким образом, коэффициент сходимости обычно стремится к своей верхней границе р.■
Обратная итерация (1NV1T)
Это степенной метод, применяемый к А-1. Нет необходимости обращать А; вместо этого заменим предписание yA = Axfc_j в РМ на
' Р: решить относительно уй уравнение Mk = xb_v
Свойства сходимости вытекают из теоремы (4.2.3).
Следствие. Если Xt—собственное значение, ближайшее к 0, и z*x0 =/=0, то в методе INVIT1’ xb-*zx при к-* оо. Сходимость
Таблица 4.2.1
к
0
1
2
3
00
*к
1.0
1.0
1.0
0.700
1.00
-0.720
0.559
1.00
-0.931
0.554
1.00
-0.943
. . .
0.554
1.00
-0.944
sinS^-H sin 9к
0.1758
0,0439
0.0433
0.0449 «Х2/Х3 = «О
s = n» = 1
Xt Х2 {(Xt + Хл) хл-1 Лл
t=1[t=2|^ = 3
L-1!!L_
X, X2x3
Рис. 4.2.2. Зависимость предела от с (вверху: степенной метод находит Х.^внизу: обратная итерация находит Х<).
линейная, причем коэффициент сходимости не превышает n =
= 1мм-а)-
Пример 4.2.1. (INVIT) (см. табл. 4.2.1 на с. 78)
А =А =-410-41010-710-7888-238-23X,« -17.895Х2« 0.425Л3 « 9.470X,« -17.895Х2« 0.425Л3 « 9.470
А =
А =
-4
10
-4
10
10
-7
10
-7
8
8
8
-2
3
8
-2
3
X,« -17.895
Х2« 0.425
Л3 « 9.470
X,« -17.895
Х2« 0.425
Л3 « 9.470
Сдвиги начала
Степенной метод и обратную итерацию можно применять к А—о вместо А. Новые коэффициенты сходимости имеют следующий вид (упр. 4.2.3).
Степенной метод; р0 = тах|Ху—<ИЛ^1—о),
где [X,—o| = max|Xm—о|,т
Обратная итерация; vo = | Xt—о| /min | Ху—о|, i¥=t
где | Xt—о| = min | Хт—о|.
Рис. 4.2.2 обнаруживает некоторые особенности неявно определенных выше индексов. Когда о принимает произвольные вещественные значения, s может принимать только значение 1 либо
11 INVIT — Inverse Iteration.—Прим, перев.
Здесь автор отходит от соглашения (4.2.1) и считает, что Xi— собственное значение с наименьшим модулем, а Х2 имеет наименьший модуль среди остальных собственных значений. — Прим, перев.
значение п. Таким образом, степенной метод может сходиться лишь к Zj либо z„; выбор о, которое минимизирует ра, есть (Х2 + XJ/2 в первом случае и (^Н-^-О/г в последнем; ни одно значение не дает существенного улучшения по сравнению с р0. Напротив, v0—>0 при о—<-Ху.; поэтому INVIT сходится быстро, если о выбрано удачно.
Стоимость
Для малой заполненной матрицы А каждый шаг РМ требует n2opsn для формирования Ах, nops для ||Ах|а и п делений для у. Как это ни удивительно, каждый шаг INVIT стоит (приблизительно) столько же при условии, что имеется треугольное разложение А — o = LAL*. Более подробно о LAL* см. §3.1. Новая итерация у в 1' вычисляется в два этапа, Lw = x и AL*y=w, каждый из которых требует n2/2ops. Значительные начальные затраты на треугольное разложение, именно n3/3 ops, могут быть амортизированы по всем сделанным шагам. Пробел в этом утверждении тот, что в INVIT часто выполняют только один шаг! В подобных случаях о—это вычисленное собственное значение, верное почти во всех знаках.
Случай ленточной матрицы оставлен в качестве упражнения 4.2.5.
Для больших матриц трудно высказать общее утверждение относительно стоимости. Для больших ленточных матриц разложение часто все же возможно, несмотря на заполнение внутри ленты. Для матриц, которые разложить не удается, уравнение Ayft = xfc_j иногда само решают итерационно, поэтому стоимость нельзя ограничить априори.
Упражнения к параграфу 4.2
Рассмотреть матрицу АА/[|ААЦ и дать оценку нормы разности между этой матрицей и близкой матрицей ранга 1. Считать, что 0< Xj < . . . < <Х„-1 < х„.
Показать, что xfc+i = AAx1/|] ААх, ||.
Используя теорему (4.2.3) и ее следствие, проверить приведенные выше выражения для коэффициентов сходимости степенного метода и обратной итерации.
Показать, что если и* ортогонален к z„, то это же верно для Aufe. По поводу обозначений см. (4.2.1), (4.2.2) и (4.2.4).
Сравнить стоимость одного шага в РМ и INVIT, когда А имеет полуширину леиты, равную т.
Начиная отсюда, сокращение ops (operations) используется автором для обозначения числа умножений. — Прим, перев.
Показать, что последовательность {ий} в доказательстве теоремы (4.2.3) порождается степенным методом, проводимым для А-1-. Какое условие обеспечивает, чтобы |] Аид |] —► |] A-L Q при к -» оо?
Предположим, что X, > 0. Какое значение должно иметь X„/Xj, чтобы min р0 =-д-р0, если Ро близко к 1?
а 2
Преимущества плохо обусловленной системы
Обратную итерацию часто (хоть и не всегда) используют со сдвигом а, очень близким к некоторому собственному значению Ху.. Программы INVIT и TINVIT из EISPACK берут в качестве а вычисленное собственное значение, а оно часто является верным во всех своих разрядах. В подобных обстоятельствах А—о может иметь число обусловленности по отношению к обращению, достигающее 1014. Одним из основных фактов матричных вычислений является то, что ошибки округлений могут приводить к совершенно ошибочным «решениям» очень плохо обусловленных систем уравнений. Поэтому ситуация на первый взгляд такова: выигранное благодаря удачному сдвигу в теоретической скорости сходимости теряется на практике из-за нескольких ошибок округлений. И в самом деле, некоторые учебники предостерегают пользователей, чтобы они не брали значение а, очень близкое к какому-либо собственному значению.
К счастью, эти страхи неосновательны и дают прекрасный пример того, как путают цель и средства. В этом параграфе мы объясним, почему методы EISPACK работают столь хорошо.
Пусть х обозначает единичный начальный вектор, а у—вычисленный результат одного шага обратной итерации со сдвигом о. Вследствие округлений (см. § 3.2 или книгу [Forsythe, Moler, 1967]) у удовлетворяет уравнению
(А—о—Н)у = х-Н, (4.3.1) где для хорошей программы решения линейных систем ||Н|| очень мала в сравнении с |А—ajj, a Jf|| очень мала в сравнении с l(=||xj{). Можно считать, что ||у|| очень велика (скажем, 1010) в сравнении с 1.
Для целей анализа введем вектор g^f-t-Hy; тогда (4.3.1) можно переписать в виде
(A—a)y = x+g. (4.3.2) Таким образом, «верное» решение есть t = (A—о)-1х, а ошибка— е = (А—<r)-1g. Конечно, g зависит от у, и это не очень естественный подход для доказательства чего-то относительно у. Однако одного очень слабого предположения о g достаточно, чтобы показать, почему не следует опасаться округлений.
Рис. 4.3.1. Ошибка в методе обратной итерации.
Рис. 4.3.1 иллюстрирует ситуацию.
Пусть о очень близко к Ху, и пусть ^=Z_(g, zy). Тогда для g можно написать ортогональное разложение
g = (zycos^4-u sin^fgll,(4.3.3)
где u*Zy = 0. Оказывается, что ||g| несущественна; все, что нужно предположить относительно направления g,—это некоторая скромная оценка. В обозначениях рис. 4.3.1 положим, что
|tg^|^100.(4.3.4)
Из (4.3.3) получаем ортогональное разложение пугающей нас ошибки:
е = (А—о)"1 g= [zyCosip/(Xy—о) + и [| (А—о)-1 u j|sin ф] Jg[|, (4.3.5)
где и — единичный вектор направления (А—о)-1 и, который как и и, ортогонален к zy (см. упр. 4.3.1). Если т] обозначает единственно важный для нас угол ошибки между е и zy, то из (4-.3.5) следует
tg Л = II (А—а)"1 и |||Ху—о[ tgip,
IX/—о I
(4.3.6) min |Х^—о | =''
поскольку U | zy.
Нас интересует именно тот случай, когда множитель при tgxp в (4.3.6) очень мал (например, 10~10). В совокупности (4.3.4) и (4.3.6) показывают, что
Ошибка е, которая может быть почти столь же велика, Как и точное решение (А—а)-1 х, почти полностью сосредоточена в направлении г,.
Этот результат тревожный, если мы надеялись получить точное решение уравнения (А—о)у = х (средства); но для вычисления zy (цель)—это прекрасный результат.
Если о с рабочей точностью совпадает с собственным значением, то обычно для сходимости хватает одного шага обратной итерации. Пример 4.3.1 иллюстрирует это.
Пример 4.3.1. Обратная итерация с хорошим сдвигом
Таблица 4.3.1
11
1 ' у ;
।
1"1
1~ 91
I ?301.3 ;
1 3598.1
1 296.8 I
I 1567.6
1 1708.6
1 141.0 1
1 3598.4 ' ।
1 3921.8
1
• 323.4 1
1।
Таблица 4.3.2
; пуп
.*,9. Собственный!
,1141]|1е11t вектор।
1 0.91744
1 0.43564
I 1.0000 1
III1
10.91746।0.91775i0.91745j
10.43567I0.4350010.43562I
11.0000I1.000011Л000I
1— 11l
Те же А и х, что и в примере 4.2.1. а = 9.463. Обусловленность матрицы (А—о) = (Х1 —о)/(Х8—а)= 105-.
Упражнения к параграфу 4.3
Показать, что если z — собственный вектор А и u£z-L, то это же верно для (А—о)-1 и.
(Использовать калькулятор.) Пусть В — треугольная матрица:
ВВ' 123.4 О О' 123.4 О О0.227331.41 00.227331.41 00.1428'-0.8571 ,2.7180.1428'-0.8571 ,2.718о = 123.3.о = 123.3.
В
В
' 123.4 О О
' 123.4 О О
0.2273
31.41 0
0.2273
31.41 0
0.1428'
-0.8571 ,2.718
0.1428'
-0.8571 ,2.718
о = 123.3.
о = 123.3.
Выполнить один шаг-обратной итерации для х = (1, 1/6, 1/36)*. Сначала проделать это в 4-значной арифметике (сохраняя лишь 4 старших разряда каждой промежуточной величины). Затем сделать то же самое в полной точности. Прежде чем нормировать два полученных вектора у, вычислить их разность в качестве оценки для е.
Диагональная матрица слишком специальна, а симметричная матрица требует больше работы, чем наша несимметричная матрица В.
Сходимость и ортогональность
На k-м шаге обратной итерации вычисляют вектор уА, удовлетворяющий (в теории) уравнению
(А—и)уд = Хд_п Цхд-,^!.(4.4.1)
Вектор невязки для приближенной пары (о, уА) определяется соотношением
г» = (А—а) уА/1| уА || = Хд,^1| Уд ||,(4.4.2)
и, согласно (4.4.1), ||гд||= 1/Цуд||. Теорема (4.5.1) показывает, что о отличается от точного собственного значения А не больше чем на ||гд||. По этой причине число ||yj| используется как мера сходимости.
Главная, возможно даже единственная, слабость обратной итерации—это то, что вычисленные векторы для двух близких собственных значений могут быть приемлемы (по критерию малости их невязок) и все же не быть взаимно ортогональными. Это звучит как противоречие, поскольку точные собственные векторы должны быть ортогональны. Однако малый вектор невязки гА гарантирует точность лишь в случае изолированных собственных значений, как показывают теоремы гл. 11, в которых присутствует отделенность собственных значений.
Правильным методом в таком случае было бы взять все вычисленные собственные векторы, соответствующие группе очень близких собственных значений (а кто решит, что значит—очень близкие?), и вычислить приближения Релея — Ритца в их оболочке, как это описано в гл. 11. После того как такая возможность была включена в программу, прекрасная простота обратной ите-
рации исчезла и конкурирующие методы, такие, как QR-алгоритм из гл. 8, стали (по крайней мере для малых матриц) более привлекательными.
Простое средство в случае группы очень близких собственных значений состоит в том, чтобы ортогонализовать каждый приближенный собственный вектор в процессе его вычисления к ранее вычисленным векторам, относящимся к той же группе. Этот и другие приемы используются в подпрограмме TINVIT изЕ15РАСК. Подробности приведены в последнем дополнении к Справочнику (11/18) под названием Tristurm.
Простые оценки ошибок
Пусть х — приближенный собственный вектор, а у = Ах. Простейшее приближение к собственному значению, которое можно получить из х и у, есть o = yf/xz, где х(-—максимальный элемент х. Лучшее, но более дорогостоящее приближение будет дано ниже. Во-первых, выясним, насколько хороши о н х.
Теорема. Для любого скаляра а и любого ненулевого вектора х имеется собственное значение X матрицы к, такое, что
|Х—о| ^|| Ах—хо||/||х||.(4.5.1)
Доказательство. Если о = Х, то утверждение очевидно. Если о^ X, то матрица А—о обратима. Поэтому х = (А—о)-1 (А—о) х и
0^||хК||(А-о)-ЧН1(А-а)х||
= (1/min | Xz [А]—а |)|] (А—а) х ||.
В большинстве приложений вектор у(=Ах) и число ЦхЦ имеются, и в таком случае оценку ошибки можно вычислить за скромную цену в 2п ops. Еще за п ops можно вычислить отношение Релея р = р(х) = х*(Ах)/||х||2. Факт 1.9 из гл. 1 показывает, что р—скаляр, который минимизирует по всем о оценку теоремы (4.5.1). Следовательно, вполне разумно определить невязку вектора х как г = г(х) = Ах — хр. Тогда, как показано в параграфе 1.5, г*х — 0, и это дает иной и поучительный вывод оценки (4.5.1). Первый шаг такой:
Теорема. Пусть х— произвольный ненулевой вектор с отношением Редея р и вектором невязки г. Тогда (р, х) есть собственная пара для некоторой матрицы А—М, где
1|МИи^||г||/||х||>0.(4.5.2)
Доказательство. Магическая формула для М:(хг* + гх*)/||х||2. Проверка того, что ненулевые собственные значения М суть ±р
и что М удовлетворяет утверждению теоремы, предоставляется читателю.
Этот результат согласуется с духом обратного анализа ошибок (гл. 2). Если р меньше, чем неопределенность в А, то вопрос об ошибке становится неясным; пара (р, х) может быть собственной парой в пределах точности, с которой задана А. В этих обстоятельствах возникает новый вопрос: насколько чувствительны собственные значения и собственные векторы к возмущениям или неопределенности в А?
Факт 1.11 из гл. 1 устанавливает, что собственные значения симметричной матрицы робастны, что их изменения не превосходят изменений в элементах А. Применяя это к теореме (4.5.2), получаем | К, (А)—р ] ^ || А — (А — М)||==||М|| = р при некотором значении I. Это тот же результат, что и теорема (4.5.1). Более точные оценки даны в гл. 11.
Аналогичной оценки ошибки для х нет главным образом потому, что собственные векторы не определены однозначно для кратных собственных значений. Это иллюстрируется примером 4.5.1.
Пример 4.5.1.
А 1 = -Г1 ПГ1 + < 0 1Г1 П[е 1J 2[1 —1JL 0 1-<][1 —lj*
Если взять х = еп то р(х) = 1 и г(х) = ее2. Таким образом, |]г|| = р=е, и тем не менее угол ошибки для х составляет л/4, или 45°! Разумеется, близкой матрицей А — М (см. теорему (4.5.2)) является здесь I, для которой х есть, конечно, собственный вектор.
Если имеется больше информации, то ошибку в вычисленных собственных векторах можно все же оценить. Некоторые из таких результатов приведены в гл. 11.
Упражнение к параграфу 4.5
Используя х и г из георемы (4.5.2) и р = ||г||/|| х ||, иайти собственные векторы М, отвечающие собственным значениям ± р. Проверить, что (р, х) есть собственная пара для А—М.
Итерация с отношением Релея
Естественное обобщение обратной итерации состоит в том, чтобы менять сдвиг от шага к шагу. Оценки ошибок из предыдущего параграфа показывают, что наилучший сдвиг, который
можно получить из очередного приближения х к собственному вектору, есть отношение Релея для х, а именно р(х) = х*Ах/х*х.
Итерация с отношением Релея. Выбрать единичный вектор х0; затем для & = 0, 1,2, ... повторить следующее:
Вычислить pA = p(xft).
Если A—pft вырождена, то найти из (A—pft)xft+1 = o единичный вектор хк+1 и остановиться. В противном случае решить уравнение (А — Р*)У*+1 = хЛ относительно yk+v
Нормировать, т. е. хк+1 = yfe+i/!Iy*+11|.
Если ||уЛ+1|| достаточно велика, то остановиться.
Определение. Последовательность Релея, порождаемая вектором х0, есть {xft, ^ = 0, 1, . ..}. Не обязательно пользоваться в (3) и (4) именно евклидовой нормой.
При вычислении в 1870-х годах основной моды колебательной системы лорд Релей улучшал приближенный собственный вектор х,. решая относительно у] уравнение [А—р (х,)] у, = е^ Это менее мощный метод, чем RQIп, который, насколько нам известно, лорд Релей никогда не исследовал. Название просто указывает на сдвиги, используемые для ускорения обратной итерации.
Стоимость. На каждом шаге приходится решать новую систему уравнений. Увеличение стоимости по сравнению с обратной итерацией при фиксированном сдвиге большое, если А — заполненная матрица, и умеренное для трехдиагональной А. См. упр. 4.6.2.
Компенсация за возросшую стоимость значительна, поскольку последовательность Релея сходится очень быстро. Это подтверждает пример 4.6.1.
Пример 4.6.1
Те же А и х, что и в примере 4.1.2.
к
0
1
2
ОО
1.000
0.8686
0.9176
0.9175
*к
1.000
0.3644
0.4358
0.4356
1.000
1.000
1.Q00
1.0000
Рк .
8.000
9.444
9.468
9.468
Инвариантные свойства. Анализ поведения последовательности {рь х^} более сложен, чем для обратной итерации, поскольку RQI является нестационарным итерационным процессом, т. е.
RQI— Rayleigh Quotient Iteration (итерация с отношением Релея).— Прим, перев. '
функция, отображающая хА в хА+1, меняется от шага к шагу. По этой причине поведение RQI нельзя легко описать посредством А—р0. Например, {рА} не обязана при k —> оо сходиться к собственному значению, ближайшему к р0.
Стоит отметить следующие инвариантные свойства' RQI. Пусть А и х0 порождают последовательность Релея {рА, хА:&=® = 0,1,2,...}
Масштабирование. Матрица аА, а^0, и х0 порождают {«Ра- хА}. '
Перенос. Матрица А—а и х0 порождают {рА—а, хА}.
Ортогональное подобие. Матрица QAQ*, где Q* = Q-1, и Qx0 порождают {рА, Qxa}. Последнее свойство означает, что RQI не зависит от системы координат, т. е. свойства метода одинаковы, какой бы базис ни был выбран для представления А и хА.
Упражнения к параграфу 4.6
Проделать один шаг RQI, взяв A = diag (4, 2, 1) и xq = (0.1, 1.0, 0.1).
Провести подсчет числа операций одного шага RQI в двух разных случаях: а) А—заполненная (пхп)-матрица; б) А имеет полуширину ленты, равную т.
Проверить инвариантные свойства RQI.
Локальная сходимость
Если последовательность Релея (хА} сходится к собственному вектору z, то ее поведение лучше всего описывается посредством углов ошибки <р* = ^/ (хА, z). Оказывается, что когда k —>-оо, то Фй —* 0 с третьим порядком, а это обеспечивает, что для достаточно больших к число верных знаков в хк на каждом шаге утраивается. Часто это справедливо уже при к > 2 (см. пример 4.6.1).
Очередную итерацию хк с помощью фА можно записать в виде xA = zcos ф^ + u^sin фА,(4.7.1)
где u£z = 0 и Ци6|| = 1 =|jz|| 1>.
. Отчасти феноменальную скорость сходимости можно приписать стационарности отношения Релея р в точке, совпадающей с собственным вектором; в частности,
X—р(хА) = [Х—р(ий)]зт2фй,(4.7.2)
11 Как видно из дальнейшего, автор не считает собственное значение X, отвечающее собственному вектору z, простым. В случае кратного X вектор и^ выбирается в ортогональном дополнении к собственному подпространству для X, а не просто из условия u£z = 0. Прим, перев.
где Az = zX. Проверка (4.7.2) оставляется читателю в качестве упражнения 4.7.2.
Теперь можно сформулировать результат. Анализ схож с анализом для степенного метода, и при необходимости читатель должен обратиться к параграфу 4.2.
Теорема. Предположим, что последовательность Релея (х6) сходится к собственному вектору. При к—* оо углы ошибки фд удовлетворяют соотношению Нт | фд+1/ф* | ^ 1. Почти всегда здесь имеет место равенство.(4.7.3)
Доказательство. Будем игнорировать приятную, но маловероятную возможность, что итерация закончится при конечном к, причем pft будет собственным значением, а хк+х—собственным вектором.
Прежде всего применим (А—pft)-1 к (4.7.1), что даст
Уа+i = z cos Фд/(Х—pft) + Пд+1 sin фд || (А—р6)-1 u6 [|,(4.7.4)
где uft+l = (A—p6)-1 Цд/||(А—р*)-1 ufe[] и uft+1 ортогонален к z. Поскольку xft+1 отличается от yft+1 лишь множителем (см. шаг (3) RQI), то из (4.7.4) следует
tg Фа+^ sin фй|| (А—рд)"1 uft||/cos Фд (X—рд)"1
= (?i—Р») II (А — Р»)"1 М tg <Рд
= [Х—p(uA)]||(A—рА)-! uft || tg фдз1п2 фй.(4.7.5)
В последнем переходе использовано (4.7.2). Наиболее аккуратный способ оценить норму в правой части (4.7.5)—это привлечь сужение А—рк на инвариантное подпространство z-1-1’. Тогда
11(А—Рд)-1 Цд|| = || [(А —рд)-1]1 uft||, так как uft£z4 ^ll[(A—Ра)-1]1 II, так как ||uft|j=l,
= 1/min | Xz—pft |(4.7.6)
Х^Х
(см. разд. 1.4.1). Кратность самого X здесь несущественна.
При оценке правой части (4.7.6) используется предположение \хк\—*г. Определим отделенность у как у = min| Xz—Х| по всем XZ#=X. Поскольку фд—>0, (4.7.2) показывает, что рк = р (хк) -* X при к —* оо. Таким образом, для достаточно больших к
|Х,-р6|^у/2.(4.7.7)
Из (4.7.2), (4.7.5), (4.7.6) и (4.7.7) вытекает кубическая сходимость фд к 0. Однако более внимательное изучение обнаруживает следующее удивительное обстоятельство: отделенность у не влияет
Ч В случае кратного X нужно рассматривать сужение А—рд на ортогональное дополнение к собственному подпространству <Д*к для X.— Прим, персе.
на саму по себе асимптотическую скорость сходимости; малое значение у попросту задерживает наступление асимптотического режима. Пристальное рассмотрение (4.7.4) показывает, что последовательность {иА} порождается обратной итерацией с переменным сдвигом р6, который сходится к X. Для достаточно больших к переход от ик к иА+1 произвольно близок к шагу обратной итерации в подпространстве z111 при фиксированном сдвиге X.
Случай 1. {иА} сходится. Предельный вектор z должен быть собственным вектором А, лежащим в z1 п. Соответствующее собственное значение X почти всегда будет ближайшим к X, но не совпадающим с ним. При к —* оо главные члены в (4.7.5) удовлетворяют соотношению
[X-p(uA)]g(A-p,)-luJ^±||(X-X)£/(X-X)H^(4.7.8)
При подстановке (4.7.8) в (4.7.5) предел, очевидно, будет равен 1.
Случай 2. {иА} не сходится. Мы выносим в упражнения 4.7.3 и 4.7.4 доказательство того, что имеются два собственных значения А, равноудаленных от X, и что точками накопления {uAJ являются два вектора в плоскости, натянутой на соответствующие собственные векторы, скажем az^ipz^, где а2 + р2=1, а^=0, Р Ф 0. Отсюда следует, что при к —► оо р (ufc) сходится и |ф*ч-11— |а2—р| < 1.
Пример 4.7.1. Кубическая сходимость
Те же данные, что и в примере 4.6.1.
к
0
1
2
Рк
8.000
9.444
9.468
fk
0,3073
0.4954 х 10 -1
0.1204 X 10"3
Sk+v fl .
1.708
0.9903
—
Упражнения к параграфу 4.7
Доказать, что ||(А—о)-1 и ||< 1/у, где и —единичный вектор, а у—расстояние от о до множества собственных значений А.
Проверить (4.7.2).
Пусть {ид} порождена процессом (А—о) u*+i=u*t*, где т* обеспечивает условие ||ы*+11|= 1- Предположив, что (ufe) ие сходится при к—^ со, показать (посредством разложения по собственным векторам или каким-либо
х> Или в подпространстве ^^ в случае кратного X.— Прим, перев.
иным способом), что точки накопления {и^} имеют вид агр ± Pz», где i =о+6, Хд=о — 6. Вывести отсюда, что р (и^)—>-о4-(а2—Р^) 6 и ||(А — о)-1 и* [| —* 1/6.
Пусть {ид} порождена процессом (А—о&) Ufc+i = UfcTk, где т^ обеспечивает условие || ий+1[|= 1. Предположим, что а) о^—► о и б) (ufe) не сходится. Показать, что режим, описанный в упражнении 4.7.3, должен иметь место и в этом случае.*.
Монотонность невязок
Наилучшей вычислимой мерой точности (р, хй) как собственной пары для А является вектор невязки г6в(А—рА)хА. Ключевой факт, обнаруженный лишь в 1965 г., состоит в том, что невязки всегда убывают, как бы плохо ни был выбран начальный вектор х0.
Теорема. В RQI при всех к справедливо ||гА+1||С||гЛ||. Равенство имеет место тогда и только тогда, когда Pt+i=p^, а хй есть собственный вектор для (А — pft)2.(4.8.1)
В общем случае собственный вектор М2 не обязан быть собственным вектором М. Таким образом хА в теореме (4.8.1) не обязан быть, а в действительности и не может быть, собственным вектором А.'
Доказательство. ||гЛ+1|| = ||(А—рй+1) xfc+1Q, по определению, ^j(A—Рй)ха+1|), согласно факту 1.9, = х^(А—р6)хй+1|, х^ —кратное вектора (А—р*)х6+1, ^|(А—pfc)* х^Н x*+t ||, по неравенству Коши — Шварца, =ы.
так как А — рЛ—симметричная матрица a (jxy^l при всех /. В первом ^ равенство имеет место, лишь если р*+1 = рА, а во втором—лишь если тк есть кратное хк+1, т. е. если (А—р^хк = = (А—pft)-1 хкмк для некоторого vk.
Пример 4.8.1.
A = diag (3, 2, 1).
Таблица 4.8.1 Нормальный случай
к
0
1
2
3
4.
Хк
0.3333
0.6667
0.1374
0'5494
0.0322
0.3242
0.0019
0.0411
0.2 х 10'5
0.7 х 10""*
0.6667
-0.8242
0.9455
-0.9992
1.0
Рк
1.6667
1.340
1.107
1.002
1.0
М
0.6667
0.5119
0.3104
0.0413
0.7 х 10'*
Таблица 4.8.2
Случай зацикливания
к
0
1
2
0
0
0
*к
0.707
0.707
0.707
0.707
-0.707
0.707
Рк
1.5
1.5
1.5
Ы
1
1
I
*§ 4.9. Глобальная сходимость
Обратная итерация была предложена как способ улучшения приближенного собственного вектора. Применение автоматических вычислений на ЭВМ привело к естественному вопросу, может ли этот метод находить собственные векторы, если используется как самостоятельный. Наш анализ обратной итерации с фиксированным сдвигом показывает, что сходимость имеет место для всех начальных векторов, которые не ортогональны к искомому собственному вектору. Необходима, однако, некоторая оговорка: если у А—а есть ± пара наименьших собственных значений, то {х^} «не знает», к какому из соперничающих собственных векторов ей следует сходиться, хотя она без всякого колебания приближается к натянутому на них подпространству.
Если используются переменные сдвиги, то сходимость может ускориться; однако существует неприятная возможность, что при плохом начальном приближении сдвиги могут повести к бесконечному зацикливанию. Поэтому важно знать, что для итерации с отношением Релея (определенной в § 4.6) вероятность такого цикла равна нулю. Доказательство, приводимое ниже, является незначительным видоизменением первоначального доказательства Кахана.
Теорема. Пусть {хй}—последовательность Релея, порождаемая единичным вектором х0. При к —* оо
(pj сходится и либо
(р6, xft) —► (A, z), где Аг = гХ, причем сходимость кубическая, либо
х26—*х+, х2й+] —*х_, где х+ и х_ направлены по биссектрисам пары собственных векторов, для которых соответствующие собственные значения имеют полусумму р = lira р^.
к
Ситуация в (3) неустойчива относительно возмущений в хк.
Доказательство. Из монотонности норм невязок, доказанной в предыдущем параграфе, следует
Ы = |1(А-р,М|Нт>0(4.9.1)
при к —►оо. Поскольку последовательность (х^) принадлежит единичной сфере, компактному подмножеству sn, то {х^} должна иметь одну или несколько точек накопления (т. е. векторов, к которым последовательность приближается бесконечное число раз). Остается охарактеризовать эти точки, а затем подсчитать их. Заметим, что рк также принадлежит компактному подмножеству 51, а именно [—1| А |, ЦАД.
Случай Г. т = 0 (общий случай). Всякая точка накопления (р, z) последовательности (рА, хА} есть по определению предел подпоследовательности {(ру, Zy):/^^} для некоторого индексного множества JC Пусть /—►оо, оставаясь в ^. Поскольку р(-)—непрерывная функция на единичной сфере, то
p(z) = limp(x,) = limp, = p(4.9.2)
и
||(А-р)г|| = НтЦгу|| = т = О.(4.9.3)
У
Таким образом, (р, z) должна быть собственной парой А. По теореме о локальной сходимости из параграфа 4.7, как только обе величины |ру—р| и jfх-—z][ станут достаточно малы, то при к —* оо (уже по всем .целочисленным значениям, принадлежат они ^ или нет) будет иметь место очень быстрая сходимость |pA —р| —* 0 и || хй—z||—►О. Следовательно, Нт хк существует и совпадает с собственным вектором -z.
По всей видимости, нельзя дать простое описание зависимости z от х0. См. упр. 4.9.1.
Чтобы проанализировать более трудный случай т > 0, запишем определяющее уравнение RQJ в виде
(А—рА)хА+] = хЛ, тк = 1/|](А—p^xj. (4.9.4)
Пусть 6й = 2^(Гд, хк+1). Умножая (4.9.4) слева на хк, получим
о < тй = г^хй+1 =|гй[|созей.(4.9.5)
Следовательно, угол 6к острый.
Случай 2: т > 0. Характерная черта этого случая то, что 1|Гб+1|ИЫ —т/т= 1 при к—* оо. Поэтому в пределе должны вы-
(4.9.6)(4.9.6)подняться два условия равенства теоремы о монотонности невязок, именно
(4.9.6)
(4.9.6)
1 Рй-и — Рй I —* о
при к —> оо (что само по себе не означает, что (pj сходится) и, поскольку 9к—острый угол,.
||г,-(х,+1||г,||)Н0,(4.9.7)
т. е. 6А—>0. Теперь из (4.9.4), (4.9.5) и (4.9.7) вытекает важный
результат: при к->-оо
(4.9.8)(4.9.8)|| [(А—рА)3—1| гк ||2 cos 0А] хк || = || (А — р6) (гА—хА+, || гк ||) || ^
(4.9.8)
(4.9.8)
^ IIА—рд |Н1 гк—хк+, || г к || ||0.
Таким образом, всякая точка накопления р ограниченной последовательности {рА} должна удовлетворять уравнению
det [(А—р)2—т2] = 0(4.9.9)
независимо от того, сходится или нет {ха}. Другими словами, р = Ху±т для некоторого собственного значения Xj матрицы А (может быть, не одного). Это дает лишь конечное число возможных точек накопления, и при таком ограничении из (4.9.6) уже следует, что {pft) на самом деле сходится1*, т. е. рЛ-+р при к-^ оо.
Обращаясь теперь к {ха}, видим, что всякая точка накопления х должна быть собственным вектором (А—р)2, не будучи собственным вектором А (случай 1). Это может произойти (упр. 4.9.2), лишь если ортогональные собственные векторы, отвечающие различным собственным значениям р + т и р—т, образуют базис всего собственного подпространства для (А—р)2. [Если р + т и р—т— простые собственные значения А, то на соответствующие им собственные векторы натянута собственная плоскость матрицы (А—р)2. Например, если
то A-v = v для всех v.J
Последовательность (Ха) не может сходиться, так как по определению рк, хк I гк, и в то же время, согласно (4.9.7), Га/|| ГдЦ —► Xa+i при к —» оо. Это наводит на мысль рассмотреть (х2е} и (х2е_Д порознь. Пусть х + — произвольная точка накопле-
п Для достаточно больших к последовательность (ра) не может (вследствие (4.9.6)) перескочить расстояние между двумя точками накопления.
ния для (x2ft). Тогда при 2/ —► оо по соответствующей подпоследовательности индексов (4.9.4), (4.9.5) и (4.9.7) показывают, что
Хг/-1 = (А—Ргу-^Хг/т^.! — (А —р) х+/т = х_. (4.9.10) Умножая (4.9.10) на А—р и используя (4.9.8), получим
(А—р)х_ = (А—р)2х+/т = тх+.(4.9.11)
Объединяя, наконец, (4.9.10) и (4.9.11), имеем
(А—р) (х + ± х_) = ± т (х + ± х_).(4.9.12
Последнее уравнение показывает, что х+ и х_ действительно являются бисекторами собственных векторов А, отвечающих р + т и р—т. Если эти собственные значения простые, то х+ и х_ определены однозначно (с точностью до ±) и потому должны в действительности быть пределами соответствующих последовательностей: {x2jt} и (x^.J. Даже и в том случае, если р + т и р—т — кратные собственные значения, имеются все же единственные нормированные собственные векторы, отвечающие этим собственным значениям, которые совместно определяют х+ и х_ однозначно. Эти собственные векторы (упр. 4.9.3) суть проекции х0 на собственные подпространства для р + т и р—т.
Остается показать, что сходимость {х^} к х+ линейная и неустойчивая при возмущениях.
Предельное поведение (x2jt) такое же, как в обратной итерации с матрицей (А — р)2. Если г2—ее наименьшее собственное значение, то сходимость будет линейная и коэффициент сходимости будет зависеть от следующего по абсолютной величине собственного значения (А — р)2. Если имеются собственные значения, меньшие, чем т2, то компоненты х2к в соответствующих направлениях должны в пределе исчезнуть, чтобы была возможна сходимость к х + . Детали вынесены в упр. 4.9.4.
Чтобы убедиться в неустойчивости, проще всего проверить, что для вектора v = x++ex_ будет (упр. 4.9.5)
|] (A — p(v))v||2 = T2—Зе2т2 + О(е3), ||v||2= 1 + е2, < т2 для достаточно малых е.
Таким образом, х+— седловая точка для нормы невязки, и возмущения хк, которые нарушают равновесие между х+ и х_, заставят норму опуститься ниже т, что соответствует случаю 1. Возмущения, ортогональные к обоим векторам х+ и х_, сохраняют режим случая 2 (упр. 4.9.6), и норма невязки остается большей, чем т.
Отношения Релея в качестве сдвигов можно использовать в обратной итерации с самого начала, не опасаясь помешать
сходимости; однако, мы не можем сказать, к какому собственному вектору сойдется {xft}.
Упражнения к параграфу 4.9
Показать на примере 3x3, что RQI может сойтись к собственному значению, не являющемуся ближайшим к р0, и к собственному вектору, не являющемуся ближайшим к х».
Показать, что любой собственный вектор матрицы А есть собственный вектор А2. Используя разложение по собственным векторам или какой- либо иной способ, показать, что обратное неверно лишь тогда, когда различные собственные значения А отображаются в одно и то же собственное значение А2.
Используя возможность различного выбора собственных векторов для кратных собственных значений, показать, что при анализе простых векторных итераций не будет потери общности в предположении, что все собственные значения простые.
Выяснить, какие условия должны выполняться, чтобы х2е—>х+, рк—> р, ||гй||—>т даже при наличии у (А—р)2 собственных значений, мень--" ших, чем т2. Существенно ли, чтобы х0 не имел компонент по соответствующим собственным векторам?
■ 4.9.5. Напомним, что (А—p)x± = ±TxT. Вычислить р(х+-)-ех_), а затем || [А—р (v)] v ||3 где v = x++sx_, удерживая члены до е4. Вычислить- градиент и гессиан от ||(А—р) v ||2 при v = x+.
Показать, что возмущение ей в х+ увеличивает норму невязки, если иХх+ и uj_x-.
Примечания и ссылки
В книгах [Householder, 1964) и [Wilkinson, 1965] даны ценные сведения об истории степенного метода и обратной итерации в 1950-х годах и даже в более ранний период. Уилкинсон способствовал разоблачению мифа о том, что близость А—о к вырожденной матрице, когда о — вычисленное собственное значение, мешает быстрой сходимости обратной итерации.
Простые оценки ошибок из параграфа 4.5 были получены многими авторами, но все же известны не так широко, как должно бы быть.
Островский [Ostrowski, 1958—1959] посвятил итерации с отношением Релея для симметричных матриц две сложные статьи и дал строгое доказательство асимптотически кубической сходимости. См. также работы [Crandall, 1951] и [Temple, 1952]. Ключевое замечание, что нормы векторов невязки монотонно убывают, принадлежит Кахану, так же как и связанная с этим замечанием теорема о глобальной сходимости [Parlett, Kahan, 1969]. Доказательство монотонного убывания невязок дано в статье [Parlett, 1974].
ГЛАВА 5
Исчерпывание
Если собственные векторы или собственные значения вычисляются поочередно, необходимо воспрепятствовать тому, чтобы алгоритм снова вычислял те величины; которые были им найдены ранее. Другими словами, важно избавиться от любого собственного вектора, как только он найден. Устоявшийся термин для такого избавления — исчерпывание. Ниже описываются различные его способы.
В каждом случае изгоняемым является единичный вектор z, составляющий с некоторым единичным собственным вектором z малый угол т), так что можно написать
z = zcosr] + wsin г,, w*z = 0, (|w|j=l. (5.1)
. Исчерпывание вычитанием
Спектральная теорема (факт 1.4 в гл. 1) представляет А п
в виде 2 ^-z (zzzD- Если бы Х„ и zn были известны, было бы
<=1_
соблазнительно работать с новой (п х п)-матрицей А, определяемой соотношением
п-1
A = A-Xn(zX)= 2^(zrz;)..(5.1.1)
В этой матрице вектору z„ вместо старого собственного значения Хп соответствует новое Х„=0. Если |Х„| > |Х„_т | > |Х„_2| >..., то, применив к А, например, степенной метод, получим сходимость к zn-1; тогда процесс исчерпывания можно повторить, приходя к матрице А, наибольшее собственное значение которой есть Х„_2, и так далее. Такова формальная теория, но что будет на практике? Рассмотрим исчерпывание А посредством вектора z,
указанного выше в (5.1). Заметим прежде всего, что
zz=zz* cos2T)+ySin2 r](zw*4-wz*)4-ww* sin8 r)
= zz»+W;(5.1.2)
этим определено W, и ||W| = sinr) (ynp. 5.1.1). Если имеется лишь z, то наилучшим приближением к собственному значению X, отвечающему z, будет отношение Релея (§ 4.5).
p=p(z) = X—[X—p(w)]sin2T).(5.1.3)
Даже если бы вычитание pzz* было проведено точно, результат был бы А = А— pzz* вместо А. Мы выносим в упражнение 5.1.2 доказательство того, что при т) —► О
||A-A|Hpri/ + O(tl2).(5.1.4)'
Согласно факту 1.11, изменения некоторых собственных значений могут достигать | p-q |. Если р—приближение к наименьшему собственному значению, а т] очень мало, то (5.1.4) дает вполне удовлетворительный результат.
Если р приближает доминирующее собственное значение Хп и/или t] не слишком мало (скажем, т]= 10—4 вместо т)=10-18), то (5.1.4) показывает, что А не очень близка к А; можно опасаться, что при переходе к А мы потеряли точность в малых собственных значениях. Как следует из приводимого ниже анализа, эти опасения безосновательны.
Пусть (р, £) аппроксимирует (Х„, z„). Посмотрим, насколько близка (X,, z,) к собственной паре матрицы А = А—pzz*4-H, где Н учитывает ошибки округлений при вычитаниях а£;—р^^. Предположим, что ||Н|К 2е|| А |]. Вектор невязки равен
Az,—z,X, = (Az, —z,X,)—pz (z*z,) + Hz, (5.1.5) и
z*z, = (z„ cos t] + w„ sin t])* z, = (w^zj sin тр(5.1.6)
По теореме (4.5.1) найдется собственное значение X, матрицы А, такое, что
। Хт—X, | С || Az, — z,X, |К | р 11 w‘z, | sin t] + 2e || A ||.(5.1.7)
По сравнению с (5.1.4) в первом члене правой части появился новый множитель w^z,. Как следует из параграфа 4.2, w„«zn-1 и потому |w„z, Ке. Таким образом, в ошибке доминирует второй член1) (5.1.7).
Изменения в отдаленных собственных значениях и собственных векторах, вызванные исчерпыванием приближенной собственной пары, таковы же по величине, что и изменения, происходящие от возмущений элементов X в их последнем разряде.
Пример 5.1.1 разъясняет это.
Пример 5.1.1. Исчерпывание в 6-значной десятичной арифметике
А=матрица Гильберта порядка 6
A = A — X6z6z6*
ау= VU+j - 1) {MAD
{MAJ)
0.11193 X 106
0.11832 X 10'6
0.12568 X 104
0.12569 X 10'4
0.61576 X 10~3
0.61576 X IO"3
0.16322 X 10"*
0.16322 X 10'1
0.24236 X 10°
0.24236 X 10°
0.16189 X 10l
0.24544 X 10"7
Таблица 5.1.1
Собственный вектор
z
z
Z(z, z)
xA
0.11193 X IO'6
0.11833 X 10'6
(Az = Xz)
(Az = Az)
-0.1246 X 10~2
-0.3553 X IO'1
0.2406 X 10°
-0.6254 X 10°
0.6899 X 10°
-0.2717 x 10°
-0.8704 X 10'1
-0.8728 X IQ'1
0.2010 X 10°
-0.6510 X 10°
0.6602 X 10°
-0.2912 X 10°
6.6s
(0.12 радиан)
A A
0.12568 X IO'4
0.12569 X 10~4
^(z, z)
(Az = Xz)
(Az •= Ai)
0.1114 X IO'1
-0.1797 X 10°
0.6042 x 10°
-0.4437 X 10°
-0.4414 X 10°
0.4591 X 10°
0.1238 X IO'1
-0.1790 X 10°
0.6043 X 10°
-0.4434 X 10°
—0.4409 X 10°
0.4593 X 10°
0.63°
(0.011 радиан)
Различия в остальных собственных векторах незначительны.
Упражнения к параграфу 5.1
Показать, что матрица W из (5.1.2) удовлетворяет равенству II W j] = slnrj.
Используя упр. 5.1.1 и (5.1.3), показать, что при г)—>■ 0 имеет место (5.1.4).
(Задание, связанное с выходом на машину.) Возмутить элементы матрицы А из примера 5.1.1, перевычислить Хх и zx и сравнить результаты с результатами примера 5.1.1.
Исчерпывание посредством сужения
Если Az = zX и z известен, то естественно было бы в дальнейшем работать с А1, сужением А на инвариантное подпространство z1. Основная информация об А1 приведена в §1.4. А1 имеет те же собственные пары, что и А, за исключением (X, z). Чтобы применить для А1 степенной метод или обратную итерацию, необходимо лишь при точной арифметике выбрать начальный вектор, ортогональный к z. Конечно, вычисление произведения А-*-х стоит по меньшей мере стольких же затрат, что и вычисление Ах, сколько бы собственных векторов ни было удалено; это неизбежное следствие использования исходной матрицы А.
На практике мы имеем z вместо z, и вследствие округлений каждое вычисленное произведение Ах будет иметь очень малые, но ненулевые компоненты в направлении уже найденных собственных векторов. Если их игнорировать, эти компоненты будут расти, пока в конечном счете снова не станут доминирующими. В действительности это дело случая: сойдется ли текущая последовательность векторов к новому собственному вектору или же доминирующий собственный вектор притянет эту последовательность к себе. Таков вычислительный вариант соревнования между зайцем и черепахой.
Чтобы избежать подобного риска, разумно время от времени ортогонализовать текущий вектор х по отношению к уже вычисленным собственным векторам. Текущая оценка собственного значения может быть использована, чтобы определить, как часто следует подавлять компоненты по известным уже векторам. См. упр. 5.2.2.
Посредством этих приемов можно заставить степенной метод или обратную итерацию по очереди сойтись ко всем собственным векторам. Точность при этом ограничивается лишь точностью вычисления предыдущих собственных векторов и точностью подавления соответствующих им компонент в последующих вычислениях. Расплата за это удобство—небольшое увеличение стоимости. Чтобы подавить в х компоненту по z, необходимо вычислить z*x, а затем заменить х вектором х^х — z(z*x) = (I—zz*)x. Это требует 2n ops. Если все собственные векторы вычисляются степенным методом и этим способом исчерпывания, то стоимость получения начальных приближений для более поздних собственных
векторов становится довольно высокой. Суть, однако, в том, что этот метод способен давать точные результаты и привлекателен для больших разреженных матриц.
Упражнения к параграфу 5.2
Если степенной метод или обратная итерация порождают последовательность (xjJ, то для любого собственного вектора z из XjZ = 0 следует x^z = 0 при к > 1. Доказать это, а затем исследовать эффект от явной ортогонализации хк к вектору z, указанному в (5.1).
Пусть (Xn, z„) — вычисленная собственная пара. Пусть (р, х)—те-, кущие оценки другой собственной пары. Показать, что относительное увеличение компоненты по z„ на следующем шаге степенного метода составляет приблизительно | Х„ / р j. Найти формулу для частоты, с которой z„ следует подавлять в очередном приближении, если нужно поддерживать эту компоненту на уровне, меньшем, чем Vе .
Исчерпывание посредством подобных преобразований
Область определения оператора А1, о котором говорилось в § 5.2, имеет размерность п — 1; поэтому имеет смысл рассмотреть вопрос об отыскании матрицы порядка п—1, представляющей А1-, вместо того чтобы продолжать работу с А. Формально такую матрицу найти легко. Возьмем произвольную ортогональную матрицу Р, первым столбцом которой является собственный вектор z. Таким образом, Р* = Р-1 и Pe^z. Желаемое представление есть матрица АП), показанная в (5.3.1). Рассмотрим ортогональное подобное преобразование А, индуцированное матрицей Р;
P*AP = P*(zX, ...)
поскольку P*z = et. Если A(1)u = ua, то Р^у является собственным вектором А с собственным значением а. Поэтому вычисления можно в дальнейшем вести с АП) при условии, что Р каким- то образом сохранена. В главах 6, 7 и 8 будет показано, как выбрать простую матрицу Р, выполнить преобразование и сохранить Р. Нужно признать, что этот метод на первый взгляд кажется сложным и дорогостоящим. Однако если требуются все собственные значения, то преимущество понижения порядка матрицы при каждом исчерпывании определенно является привлекательным.
Не вдаваясь в особые подробности, можно все же объяснить одну тонкую и важную черту метода. На практике мы имеем лишь вектор z, указанный в § 5.1, а не собственный вектор z. Поэтому приходится рассматривать ортогональную матрицу Р, такую, что Pej = z, и соответствующее подобное преобразование
Р*АР =Р*АР =р с*с А(1>р с*с А(1>(5.3.2)(5.3.2)
Р*АР =
Р*АР =
р с*
с А(1>
р с*
с А(1>
(5.3.2)
(5.3.2)
Можно показать (упр. 5.3.1), что если i] = 2^(z- z) достаточно мал, то ||с||^||А—рЦ^ + ОСп2). То, о чем мы хотели сказать, заключается в следующем: вычисление Р*АР в явном виде может подчас обнаружить, что с не так мал, чтобы им пренебречь. Это ценная информация: вместо того чтобы провести автоматическое исчерпывание, попросту игнорируя с, алгоритм может выполнить дополнительные ортогональные подобия, которые умень- шат-величину элементов в блоках (2,1) и (1,2), так, как это описано в § 7.4. Если это сделано, (5.3.2) заменяется на
Q*P*APQ =Q*P*APQ =р d*,d Аи>Гр d*,d Аи>Г(5.3.3)(5.3.3)
Q*P*APQ =
Q*P*APQ =
р d*
,d Аи>Г
р d*
,d Аи>Г
(5.3.3)
(5.3.3)
где d уже пренебрежимо мало, а р—уточненное значение р, скорее всего от него неотличимое. Преимущество (5.3.3) в том, что AU) будет адекватным представлением А-1- и вычисления можно продолжать без опаски. Именно это происходит в трехдиагональном QL-алгоритме гл. 8. Подобные преобразования продолжают до тех пор, пока матрица не окажется приведенной (с рабочей точностью), после чего исчерпывание происходит естественным образом.
Упражнение к параграфу 5.3
0\с / *0\с / *Показать, что
0\
с / *
0\
с / *
Р* (Az —'zp) =
Упростить Az — zp, используя (5.1), а затем вывести, что || с|] ==Ц (А — ц) wУх Xsin Т]-|-0 (тр). Взять p = p(z) = zAz.
Примечания и ссылки
Исчерпывание вычитанием часто приписывают Хотеллингу [Hotelling, 1943J, хотя идея является вполне очевидной. В нескольких ранних работах Уилкинсона анализируется исчерпывание; первый и третий методы подробно обсуждаются в книге [Wilkinson, 1965], а также во вводных учебниках типа книги [Fox, 1964]. Нужно упомянуть и о важной статье [Householder, 1961].
ГЛАВА 6
Полезныеортогональные матрицы(Орудия ремесла)
Важность ортогональности
Таблица 6.1.1 указывает на важность ортогональных матриц.
Таблица 6.1.1
Свойство
Преобразования, которые сохраняют данное свойство
Символ
Собственные значения
Подобия
A — FAF-1
Симметрия
Конгруэнции
А — FAF* F обратима
Каждое из этих свойств настолько ценно, что мы сосредоточимся на тех преобразованиях, которые сохраняют оба. Это означает, что
F*=F“1.
В вещественном случае такая матрица F будет ортогональной, а преобразования, индуцируемые такими F, называются ортогональными конгруэнциями или, на один слог короче, ортогональными подобиями.
Определение. Вещественная матрица F называется ортогональной, если
f*f = ff*=i.
Ортогональная матрица F называется собственной, если det F = 4-1. Определение ортогональности можно интерпретировать как утверждение: столбцы F попарно ортонормальны и таковы же строки.
Следующим шагом будет отыскание классов легких в использовании ортогональных матриц, которые достаточно богаты для того, чтобы любую ортогональную.матрицу можно было получить, образовав произведение простых ортогональных матриц.
Перестановки
Перестановка упорядоченного множества из п объектов есть расстановка этих объектов в другом порядке; иными словами, перестановка есть взаимно-однозначное отображение множества на себя. Одно из обозначений для перестановки л выглядит как (лп л2, ..., л„),(6.2.1)
где Лу—новое положение объекта, ранее находившегося в положении /.■■
Пример 6.2.1
п = 3, л = (3,1,2), O = (Oi, О2, О3),лО = (О2, О8, OJ.
Если упорядоченное множество О из п объектов переставляется вначале в соответствии с л(1), а затем—в соответствии с л(2), то результатом будет новая перестановка О, называемая композицией или произведением л(1) и л(8) и обозначаемая, как и умножение, через
' л‘а>л(1>0. (6.2.2)
Перестановки образуют группу по умножению; в частности, каждая перестановка имеет обратную.
Пример 6.2.2
л = (3, 1, 2), л"1 = (2,3,1).
Если объектами являются столбцы матрицы В, то их перестановка может быть осуществлена посредством умножения В справа на специальную матрицу Р, называемую матрицей перестановки. Р получается из I перестановкой столбцов в соответствии с л. Так, если л = (3, 1, 2), то
л (bt, b2, b3) = (b2, b3, bi)=BP,
Р =Р =(6.2.3)(6.2.3)ГО 0 И100..0 1 0.
Р =
Р =
(6.2.3)
(6.2.3)
Заметим, что Р можно получить и перестановкой строк 1 в соответствии с л-1.
Матрицы перестановок порядка п образуют группу относительно матричного умножения. Каждую такую матрицу можно изображать компактно посредством соответствующей перестановки л.
Большинство матриц перестановок, встречающихся в вычислениях собственных значений, являются произведениями очень простых матриц, называемых трат позициями, которые меняют
Отражения (или симметрии)105 местами пару столбцов или строк, а все остальные оставляют неизменными. Известно, что любую перестановку можно записать как произведение транспозиций обычно несколькими способами.
Пример 6.2.3
(3, 1, 2) = (1, 3, 2) (2, 1, 3)
(умножение справа налево).
Более компактным способом является представление перестановки произведением независимых циклов. Однако это представление, по-видимому, не используется в матричных вычислениях, вероятно, в связи с трудностями перехода от транспозиций к циклам и в обратном направлении.
Каждая транспозиция сама себе обратна, поэтому последовательность транспозиций одновременно изображает как перестановку, так и ее обратную. Обратная перестановка получается выполнением транспозиций в обратном порядке.
Хотя перестановки и не связаны с арифметическими операциями с плавающей точкой, они являются полезным орудием. При решении больших разреженных систем линейных уравнений упорядочение уравнений оказывает решающее воздействие на стоимость гауссова исключения.
Более подробную информацию о реализации перестановок на машине можно найти в книге Кнута (1976, т. 1, разд. 1.3.3).
Упражнения к параграфу 6.2
Если Р — матрица перестановки, соответствующая л, доказать, что Р* соответствует л-1.
В матричных приложениях последовательность транспозиций часто имеет специальный вид (1, vj, (2, v2)(п— 1; vn_i), где Vj^j. Эту
последовательность можно компактно представлять посредством массива (vlt v2, ..., Vn-J = п.
Написать алгоритм, выполняющий перестановку, обратную к той, которая представлена массивом п.
Написать алгоритм для перехода от представления массивом п к произведению независимых циклов.
Отражения (или симметрии)
Один из основных результатов действительной евклидовой геометрии—тот, что всякое движение, оставляющее начало неизменным (т. е. любое ортогональное преобразование), можно представить произведением отражений. Зеркалом для отражения в §п является подпространство размерности п—1, или гиперплоскость,, которую проще всего характеризовать направлением, ортогональным (или нормальным1) к ней.
Определение. Гиперплоскость, нормальная к вектору и, есть {х: и*х = 0).
Каждому и соответствует единственное отражение, которое обращает и и .оставляет неизменным всякий вектор, ортогональный к и.
Определение. Отражением, обращающим и, называется матрица Н(и), такая, что
Н (u) v =Н (u) v =— v, если v = au, v, если u*v = 0.
Н (u) v =
Н (u) v =
Заметим, что H(au) = H(u) для любого а=#0. Легко проверить, что матричное представление Н (и) имеет вид
H(u)=I—yuu*, у = у (u) = 2/u*u. .
Основные свойства Н (и) указаны в упражнениях 6.3.1 и 6.3.2. Обратим внимание, что Н (и) имеет все желаемые свойства: она элементарна, симметрична, ортонормальна и совпадает со своей обратной!
Посредством последовательности отражений можно построить любое ортогональное преобразование. Никаких других средств не нужно (упр. 6.3.3). Имеется, однако, один небольшой недостаток: I не является отражением (хотя На=1). Если последовательность ортогональных матриц сходится к I, то множители- отражения каждой матрицы не будут сходиться к I. В упражнении 6.3.6 указана собственная ортогональная матрица (определитель + 1), аналогичная Н(и).
Типичная задача: Дан вектор Ь; найти вектор с, такой, что Н (с) b = ехр..
Решение: p = + ||b||, c = b±eip (см. упр. 6.3.4).'
Вычислительные аспекты
Пусть b = (Pj, ..., Рл)*, с = (у1, ..., у„)*. Единственным арифметическим шагбм при нахождении с будет вычисление yi = Pt ± р.
Случай 1. р = —||bjjsign(PI). Величина yt = (| Pi |+|l b||) sign (PJ получается сложением положительных чисел и будет всегда иметь малую относительную "ошибку.
Случай 2. р = || b | sign (Р^. Формула yt = (j^|—JblDsignPi предполагает подлинное вычитание, которое будет приводить к большой относительной ошибке всякий раз, как |Pi| = j[b||. Пример 6.3.1 показывает пагубные последствия использования в этом случае очевидной формулы.
Иногда говорят, что случай 2 неустойчив и его нужно избегать. Это неверно. Опасна только формула (|Pi|—[|Ь|]). Мы при-
ведем сейчас формулу, которая всегда дает малую относительную ошибку. В ней разность преобразована аналитически.
IM-llbF^-IIbH/dpj+iibii)
= -a/(|pJ+||b||),
где а = ₽‘г+ ... +₽п- Дополнительная плата—одно деление и одно сложение.
Пример 6.3.1. Отражения в случае 2
Рассмотрим 4-значную десятичную арифметику (1 -ф 10“4 —♦ 1).
ь = 10-2 ’ 11ЬИ = Ьь = 10-2 ’ 11ЬИ = Ьсс‘ 0 '102‘ 0 '102
ь = 10-2 ’ 11ЬИ = Ь
ь = 10-2 ’ 11ЬИ = Ь
с
с
‘ 0 '102
‘ 0 '102
Н(с) = I - усс* = ^* Д
Н(с)Ь =Н(с)Ь =‘ 1 " 710-2.‘ 1 " 710-2.^ ej!^ ej!
Н(с)Ь =
Н(с)Ь =
‘ 1 " 710-2.
‘ 1 " 710-2.
^ ej!
^ ej!
Применение указанной выше альтернативной формулы дает
10~4/210"2
что верно в рабочей точностью. •
В случае 1 вектор b отражается во внешней биссектрисе b и е^ в случае 2—во внутренней биссектрисе. Для действительных векторов случай 1 (наиболее популярный) приводит к вектору—ЦЬЦер Это представляет некоторое неудобство, поскольку в определении QR разложения (§ 6.7) предполагается, что R имеет положительную диагональ, а случай 1 делает ее отрицательной.
Упражнения к параграфу 6.3
Показать, что H(u)* = H(u), H2(u) = I и Н (и) элементарная.
Найти собственные значения и собствен"ные векторы Н (и). Показать, что det[H] =—1.
Выразить матрицу cos 0 sin 0 — sin 0 cos 0
произведением двух отражений. Изобразить на рисунке отражающие зеркала.
Вывести формулу u = v — е^, обеспечивающую, чтобы H(ujv=.e1p.
Как следует выбрать и, чтобы H(u)v=w, если w*w = v*v?
Пусть s—вектор размерности п — 1, и пусть у2 + || sj|2'= 1. Как следует выбрать v, чтобы блочная матрице
Г v— s* 1
R (s) = 7 J
[si —VSS* ]
была ортогональна? Чему равен detR(s)? Как нужно выбрать s, чтобы R(s)b=ei||b||?
Плоские вращения
Матричное представление преобразования, которое поворачивает ^2 на угол 6 (против часовой стрелки), есть
"cos 6 —sin 91
R(6)^ .а а , R-49) = R(-e).' [sin 9 cos 9]v '
C R связаны две различные типовые задачи:
Найти 8, такое, что R(9)b = e,p при заданном b = (Pn р,)*. Решение дается уравнением: tg 9 = — ра/р, (упр. 6.4.1).
Найти 8, такое, что R (9) AR (—8)—диагональная матрица. Два решения, 9^8<л, находятся из уравнения ctg28 = = (о28—аи)/2а12 (упр. 6.4.2).
В /г-мерном пространстве используется плоское вращение R (i, /, 8), которое поворачивает плоскость (I, j), т. е. плоскость, натянутую на е, и еу., на угол 9, а ортогональное дополнение к этой плоскости оставляет неизменным. Таким образом, R (t, j, 8) совпадает с единичной матрицей, за исключением элементов
Гц = гп^cos8, —rtj = r^ = sin8 (/</).
Вращения составляют класс собственных ортогональных матриц, включающий 1. Каждая R (i, /, 8) является элементарной матрицей (упр. 6.4.3).
Аналогом задачи 1, указанной выше, будет преобразование данного вектора b в кратное вектора е, посредством последовательности плоских вращений. Годится каждая из следующих поел едовательн остей:
'R(l, п, 8„)...R(1, 3, 83)R(1, 2, 82)Ь = е,ц,
R(l, 2, <p8). .R(l, п — 1, Ф„_1)/?(1, п, Ф„) = е^, где'
I RI ” I v I = IIЬ ||.
R(3,5,8)*AR(3, 5,8)
1**а'13 *о'15 ♦1"
**«23 *«25 *•1.
С5«31 «32 «33 «34 «35 «36' сS
1**043*у45*[
~5 са51 о52 я'53 аИ «55 а36Л ^
У I* * «63 * «65 * J L1
Ключ; * Элемент не изменился
а' Элемент изменялся один раз
а" Элемент изменялся дважды
Нули не указаны
Рис. 6.4.1. Воздействие плоского вращения на А.
Возможны и другие последовательности плоскостей. В общем случае каждая последовательность порождает свое ортогональное преобразование b в дЬе^ЬЦ. Эти решения конкурируют с двумя отражениями, которые выполняли ту же задачу в § 6.3.
Задача 2 имеет два варианта. См. рис. 6.4.1.
Вращение Якоби
Найти 6, такое, что элементы (t, /) и (/, i) в матрице R (i, /, 6) AR (i, /, —6) будут нулями. Эти вращения более подробно обсуждаются в гл. 9.
Вращение Гивенса
Найти ф, такое, что элементы (6, /) и (/, 6) в матрице R (i, /, ф)AR(i, /, —ф) будут нулями. Поскольку меняются лишь строки i и /, то один из индексов пары (/, /) должен быть равен одному из индексов пары (fe, I).
Якоби использовал вращения еще в 1846 г., но отражения и вращения Гивенса были предложены лишь в 1950-х годах. Во многих отношениях вращения Гивенса более полезны, чем вращения Якоби. Привлекательность вращений Якоби объясняется тем фактом, что при заданных i, j среди всех возможных 0 такое вращение обеспечивает наибольшее уменьшение суммы квадратов внедиагональных элементов.
Число операций
Если B' = R(i, /, 0) В, то
b‘tk=blkc.os^—&л Sin 9 = cos ^$ik—b)k tg6), b'jk = bik sin 0 + b;k cos 0 = cos 0 (bik tg 9 + bjk)
для всех к. Эта операция требует 4п умножений. То же число получится при формировании RAR-1, если использовать симметрию. При вычислении cos 9 требуется извлечение квадратного корня.
Относительно масштабированных вариантов R (i, /, 8) см. § 6.8.
Компактное хранение
Если нужно сохранить в памяти длинную последовательность плоских вращений, то часто есть смысл затратить чуть больше вычислений, чтобы закодировать каждое вращение одним числом, а не парой cos 8, sin 8. Ясно, что запомнить само 8 неэкономно, и естественный выбор — это / = tg 8. Формально с и s восстанавливаются из соотношений
t?=l/|/14-Za, s = c-t (—л/2^8^л/2).
если sin 8= 1если sin 8= 1Р =Р =1sin 8,sec8-sign (sin 8),1sin 8,sec8-sign (sin 8),Эта схема отказывает, если 8 равно или очень близко к л/2, и требуется несколько более сложный процесс. Стьюарт [Steward, 1976]—сторонник хранения числа р, определяемого так:
если sin 8= 1
если sin 8= 1
Р =
Р =
1
sin 8,
sec8-sign (sin 8),
1
sin 8,
sec8-sign (sin 8),
если | sin 81 < cos 8, если | sin 8]^ cos 8.
Упражнения к параграфу 6.4
Показать, что R (6) v= ± е1|| v||, если tg0 =—v8/vv
Показать, что e*R(0)AR(—0)е2 = О, если ctg20 = (a22—аи)/2а12. Каково соотношение между двумя возможными значениями 0?
Показать, что R (i, j, 0)—элементарная матрица. Указание: использовать 0/2.
Найти вращение Гивенса в плоскости (2, 3), которое аннулировало бы элементы (1, 3) и (3, 1).
Выписать произведение R (2, 3, 0) R (2, 4, 0) для л = 5.
Найти четкий и устойчивый алгоритм для восстановления sin О и cos 0 из указанного выше кода р.
§6.5. Распространение ошибки в последовательности ортогональных конгруэнций
Этот параграф имеет огромное значение для понимания устойчивости многих популярных методов вычисления собственных значений, основанных на преобразовании заданной матрицы к более простому виду. Типичная ситуация такова: дана матрица Ао;
Ад вычисляется (в теории) как последний член последовательности
Ау=В;Ау_,Ву, /=1, .... к,
где каждая матрица By ортогональна и зависит от Ay_v
Не то происходит на практике. Рассмотрим типичный шаг. Из очередной матрицы Ау_а вычисляем By, но она не будет в точности ортогональной. Пусть
B/ = G, + F/,(6.5.1)
где Gy—неизвестная ортогональная матрица, очень близкая к By. Мы обсудим величину ошибки Fy позже. Теперь мы пытаемся точно вычислить В*Ay_tBy, но это не удается. Вместо того полученная матрица Ау будет удовлетворять равенству
• Ау=В;Ау_,Ву + Гу,(6.5.2)
где W}—локальная матрица ошибки, происходящая от ошибок округлений в подобном преобразовании. Иногда полезна бывает запись Ау = fl (В*А7-1Ву), чтобы обозначить намерение; 11 есть акроним для выражения „результат вычисления с плавающей точкой1'. Поскольку с ортогональными матрицами приятней иметь дело, заменим By на Gy и найдем
Ay=(Gy + Fy)-Ay_1(Gy + Fy) + Wy ^G/Ay^Gy + Wy,
где
Wy^ W/ + G;Ay_]Fy + F;Ay_1Gy+,б 5
v’A,-xVj. .' ;
Здесь Wy обозначает громоздкую, но, можно надеяться, очень малую локальную матрицу ошибок. Применим теперь (6.5.3) по очереди для j = k, к—1, ..., 2, 1:
A^G^.A + Wfc
= Од ^*к-\Ак-г^к-1 + W^J Gfc + Wt
= Jo*A0J0+2 J;WyJy,(6.5.5)
/=1
где
Jy = G/+1.. .G6, J6= I.(6.5.6)
Последний шаг состоит в том, чтобы переписать (6.5.5) в более простой форме
Ад = Jo (Ао 4-М0) Jo,(6.5.7)
где
m0=j0 SjzwjJj;.(6.5.8)
V=1/
Все, что мы сделали,— это связали матрицу Aft с Ао посредством ортогональных матриц. Уравнение (6.5.7) выражает тот факт, что вычисленная матрица Аа в точности ортогонально конгруэнтна матрице Ао4-М„.
Определение. Мо называется матрицей эквивалентного возмущения, соответствующей данному вычислению.
Когда, наконец, матрица Aft записана на место Аа_п лучшее, что можно сделать, это найти собственные значения матрицы Ап + М0; собственные значения Ао уже недоступны. Поскольку Gy, следовательно, и Jy ортогональны, имеем
■к
IIMoKSlIWJ(6.5.9)
Более того, используя (6.5.4) и ортогональность G, получим
IIW/KI1W/||+IIA/_1||(2||F/||+||F/F).(6.5.10)
Лишь в этом месте потребуется все же изучить детали процесса. Отражения Н (w) и плоские вращения R,y не будут ортогональными только потому, что для вычисленных величин у, s и с оказывается, что 2—y(w*w)#=0 и s24-c2—1 #=0. Для хороших арифметических устройств
||FyKe,(6.5.11)
е—единичная ошибка округления. Можно сказать, что Н и R/y. с рабочей точностью являются ортогональными. Заметим, что ошибки в w или 6(s = sin6) несущественны для (6.5.11).
Некоторых усилий потребует оценка Wy, поскольку эта матрица сильно зависит от вида By. Заметим, что если бы X, была просто результатом округления точного произведения В'Ау^Ву, то мы имели бы-
IIWyKellBZAy^ByKellBypHAy.J^е(1+8)2||Ау.1||,
где использовано (6.5.11). На практике ошибка несколько больше. Предположим, что для всех /
II Wy ЦСпеЦДу.^(6.5.12)
и
ЦАуКО+^ЦАу.Л.(6.5.13)
Подставляя (6.5.10)' и (6.5.11) в (6.5.9), получим ||M0K(/?+l)ne||A0||.
Даже если бы ошибки действительно достигали этих грубых оценок, результат можно считать удовлетворительным при обычных значениях к, п и е. Например, если 6 = 99, п=100 и е=10~14, то ||М0||/|| Ао||^ 10~10. Если бы было нужно проводить вычисления при е=10-7, то имело бы смысл выяснить, при каких условиях п в (6.5.12) можно заменить константой порядка 5.
Для больших матриц (п > 400) редко пользуются последовательностями ортогональных подобных преобразований, поскольку это приводит обычно к заполнению матрицы и повышению запросов к памяти.
Обратный анализ ошибок
Уравнение (6.5.7) выражает точную связь между входом Ао и выходом Aft; оно не является ни приближенным, ни асимптотическим. И все же читателя можно простить, если он думает, что пока было сделано мало и результаты довольно тривиальны. Именно в этом элементарном характере и заключается отчасти их важность. Прежние попытки проанализировать влияние ошибок округления утвердили взгляд на эту задачу как на трудную и скучную. Простота была вновь обретена благодаря точке зрения, развивавшейся в 1950-х годах главным образом Уилкинсоном и названной „обратным анализом ошибок". Этот шаг „обратно** привел на самом деле к значительному прогрессу.
Стоит отметить следующее:
Нигде не упоминалось об ошибке! Даже символа не было предусмотрено для подлинной матрицы „Ай“, которая была бы получена в точной арифметике.
Удалось избегнуть использования символов типа ф для обозначения операции машинного сложения. (Автору, когда он начинал изучение численных методов, пришлось повоевать с этими псевдооперациями.) Поскольку =, + и т. д. сохраняют свой обычный смысл, то такими хорошими свойствами, как ассоциативность и коммутативность, можно пользоваться без специального упоминания.
Уравнение (6.5.7) относит ошибку обратно, как если бы она была возмущением входных данных. Эффект всех этих ошибок таков же, как если бы в Ао было поначалу произведено возмущение Мо, а все последующие вычисления были проделаны точно с ортогональными матрицами Gy. Если окажется, что Мо
поэлементно меньше, чем неопределенность в Ао, то и последствия ошибок округлений уступают влиянию входной неопределенности.
Может случиться, что (прямая) ошибка ||Ад—„А/|| будет очень велика, даже если Мо мала по сравнению с Ао. Это может иметь или не иметь значения, но может происходить лишь тогда, когда функция, отображающая Ао в ,,Aft“, чувствительна к малым изменениям в Ао. Интуитивно мы представляем себе функцию с большой производной и говорим, что вычисление плохо обусловлено. Другими словами, подход обратного анализа ясно показывает, как реальная ошибка зависит от алгоритма (именно, М„) и как она зависит от задачи (именно, обусловленность последней). Легко ошибиться, думая, что большая ошибка всегда означает, что плох метод.
При вычислении собственных значений построение \к может быть промежуточной целью; например, Хк может быть трехдиагональной матрицей. В этом случае Мо гораздо более уместна, чем реальная ошибка, поскольку собственные значения Хк не могут отличаться от собственных значений Ао более чем на ЦМ0||, как бы велика ни была ошибка в Хк.
Прямой анализ ошибок (оценка ошибки) не является побежденным соперником обратного анализа. Необходимы оба. В частности, пользователи заинтересованы главным образом в оценке точности своих выходных результатов. Соединение обратного анализа (когда он может быть применен) и теории возмущений часто дает лучшие оценки, чем прямолинейные попытки проследить, как округления увеличивают промежуточную ошибку на каждом шаге.
QR-разложение и процесс Грама — Шмидта
Всякая ненулевая прямоугольная (тхп)-матрица В может быть записана в виде B = QR, где Q—(т х г)-матрица, удовлетворяющая условию Q*Q=Ir, a R—(гхп) верхняя треугольная матрица с неотрицательными диагональными элементами; г = ранг (В). Обе матрицы Q и R определяются однозначно.
Относительно доказательства см. упр. 6.7.3.
Пример 6.7.1
г = 2:
1
1
1
2/V6
-1/V6 I/V6
1/V2T 4/V5I
2/VS
V18 . О
2
-1 1
-2
4
3
-6
1/V5
-2/V5
[I -2
хД 1JL
V? Уз
3]V5
QR-разложение есть матричная формулировка процесса Грама- Шмидта для ортонормализации столбцов В в порядке, указанном записью Ьп Ь2, ..., Ь„. Другими словами, множество (q1( q2, ..., qy}—один из ортонормированных базисов подпространства, натянутого на (Ьп ..., ЬД, /= 1, 2, ..., и; в символах, span (Qy) = ='span(By). Здесь предполагается, что г = п.
Если В имеет полный , ранг, т. е. если г = п, то R есть (верхний) множитель Холесского для В*В, поскольку
R*R = R*Q*QR = B*B.
В случае полного ранга другая ортонормальная матрица с той же линейной оболочкой столбцов, что и у В,— это матрица В(В*В)-‘/г. См. упр. 6.7.6.
В арифметике конечной точности неразумно вычислять Q и R путем слепой имитации формального процесса Грама—Шмидта; именно, при г = п
q, = bz— 2 q^q^a, I
6=1> l = 1, ..., n.
q/=qz/h/ll>)
Имеются альтернативные варианты.
Модифицированный процесс Г рама—Шмидта (MGS^
Как только qy вычислен, исчерпываем его из остающихся векторов Ь. Положим Ь<1=Ь;, < = 1, ..., п; далее, для / = 1, ..., п находим
q/=byvimb)>+” = b^—qy(q’bp'’),1=/ + 1n.
Это переупорядочение стандартного процесса Грама — Шмидта. Оно предпочтительней, если есть опасность сильного взаимного уничтожения при вычитаниях.
Метод Хаусхолдера
Умножим В слева на последовательность отражений Hz с тем, чтобы привести ее к верхней треугольной форме. На первом
шаге вычисляем
Н1В=[^|^ , H1 = H(wt), w, = bt± eJIbJI.
Далее работаем с В<2) и продолжаем таким образом, пока не придем к’
Н„...Н1В =
Наконец,
Q = Ht...H„E„,
где Е„—матрица, образованная первыми п столбцами \т(п^пг).
Другой метод, приспособленный для больших т, указан в § 6.8.
Упражнения к параграфу 6.7
Как связаны коэффициенты, вычисляемые в MGS, с элементами R?
Показать, что В*В положительно определена при г=п<,т.
Доказать существование QR-разложения в случае неполного ранга, модифицировав процесс Грама — Шмидта так, чтобы учесть возможность появления нулевых векторов.
Найти QR-разложение для трех матриц (abc), (bca), (cab), где
а =а ="3121"3121ГО]Ь= 1ОГО]Ь= 1О0]-110]-11
а =
а =
"312
1
"312
1
ГО]
Ь= 1
О
ГО]
Ь= 1
О
0]
-1
1
0]
-1
1
Провести подсчет числа операций для вычисления Q, если векторы w,-, определяющие отражения Н/, заданы.
Если X положительно определена, то Х1/2 обозначает единственную симметричную положительно определенную матрицу, квадрат которой есть X. Проверить, что если ранг (тхл)-матрицы В равен л, то B(B*B)_I/i существует и является ортонормальной.
*§ 6.8. Быстрые масштабированные вращения
Рассмотрим умножение произвольной матрицы В на плоское вращение R (А, /, 6). Меняются в В лишь строки к и j, поэтому можно упростить обсуждение, записывая !/ = &*/, т\{ = Ьу{, у = cos 6, а = sin 9. Задача заключается в том, чтобы вычислить для 1 = 1, 2, 3п
ii = 7i;—аЛ/.Дт = ait + УП/-
В обычном преобразовании Гивенса недостатком является необходимость извлечения квадратного корня при вычислении у и а. (Если операция извлечения квадратного корня реализована аппаратно, она требует не больше времени, чем два или три умножения). Более крупный недостаток — то, что при каждом i в (6.8.1) требуются четыре умножения. Цель состоит в том, чтобы избавиться от половины этих умножений; трюк, позволяющий ее достигнуть, — хранение векторов в факторизованной форме.
Если ограничиться только одним вращением, то никакого улучшения добиться нельзя. Однако на практике обычно выполняют последовательность плоских вращений, как, например, при приведении В к верхней треугольной форме, обсуждавшемся в § 6.7.
Чтобы объяснить идею, запишем (6.8.1) как двухшаговую операцию. Пусть T=tg6, у = cos 6. Вначале вычисляем
I, = Ez~ТП/, Ч-^^ + ть-. 1 = 1п, (6.8.2) а затем заметим, что
I' = ч1ь Ч^-ЧЧе(6.8.3)
Нужный результат получается, если отложить выполнение (6.8.3). Цена за это—та, что новая матрица В' хранится в факторизованной форме АВ, где диагональная матрица А в позициях к и j должна содержать множитель у. Наше изложение основано на статье [Hammerling, 1974].
Как сократить число умножений
Исходя из изложенных замечаний, начнем снова. Предположим, что В задана в факторизованной форме АС, где А—диагональная матрица. Наша задача—вычислить R (6, /, 6) В в виде А'С', где А' можно выбрать из соображений удобства. Итак, рассматривая строки к и j, видим, что
р! О" 5'1О / ч'1р! О" 5'1О / ч'1Si42Si42^1 =[Y -"ir^ 04л L °7 J О г.X ^^24i 42 * * *^1 =[Y -"ir^ 04л L °7 J О г.X ^^24i 42 * * *4л4ли для каждого Iи для каждого Iv'r,: = арЕ,- -|- yvrjpv'r,: = арЕ,- -|- yvrjp(6.8.4)(6.8.5)(6.8.4)(6.8.5)
р! О" 5'1
О / ч'1
р! О" 5'1
О / ч'1
Si
42
Si
42
^1 =[Y -"ir^ 0
4л L °7 J О г.
X ^^2
4i 42 * * *
^1 =[Y -"ir^ 0
4л L °7 J О г.
X ^^2
4i 42 * * *
4л
4л
и для каждого I
и для каждого I
v'r,: = арЕ,- -|- yvrjp
v'r,: = арЕ,- -|- yvrjp
(6.8.4)
(6.8.5)
(6.8.4)
(6.8.5)
Имеется несколько вариантов выбора р' и v', позволяющих вычисление ^ и rj- посредством лишь двух умножений:
р' = ур, v' = yv; (6.8.6а) p' = ov, v' = op; (6.8.6а') р' = ур, V выбирается из условия yv/v' = av/p'; (6.8.6в) p' = <rv, V выбирается из условия yp/p' = op/v'. (6.8.6с)
Как избежать извлечения квадратных корней
Чтобы избежать взятия квадратного корня, нужно использовать то обстоятельство, что гивенсово вращение сконструировано специально для того, чтобы аннулировать матричный элемент, обычно тр. В этом случае (6.8.5) при i=l дает для T=tg8
т=а/у= —v^/p^.(6.8.7)
Из основных тригонометрических тождеств следует
у2=1/(1+т2), о2 = у2т2.(6.8.8)
Для определенности выберем р' и v' в соответствии с (6.8.6а). Тогда из (6.8.5)
^=к^^+^(6-8‘9>
Ключевое замечание состоит в том, что а/у кратно v/p. Согласно (6.8.7),
Уравнение (6.8.10) показывает, что р и v не нужны, и достаточно иметь лишь р2 и v2! Чтобы подготовиться к следующему гивен- сову вращению, требуются только
(р')^^,(v')2 = y2v2(6.8.11)
и нет необходимости в вычислении у, а или т. Подведем итоги:
Быстрое преобразование Гивенса перестраивает А2 и С так, чтобы произведение АС давало вращаемую матрицу.
Приведем реальный алгоритм, основанный на (6.8.6а):
“ — П1/Е1, 3 — (v2)a/(p2), to -— 1/(1 + «3),(Р2) — (р2) to, (V2) — (V2) (0, ^ — ^ + РтИ,
и для i = 2, ..., п
АЕ; *-E. + pTh, чй —-х^-аК (6.8.12)
Пример 6.8.1. Быстрое преобразование Гивенса
ССА2
С
С
'1 01Г5 2 4 61
0 4J[2375]
а*— т)А = 2/5 = 0.4, Р*- (v2) а/(р2) = 4 (0.4)/1 = 1.6со*— 1/(1 4-ар) = 1/(1 +(0.4)(1.6)) = 0.61
ц'2 —(ц2)ш = 1 (0.61) = 0.61
v'2 (v2)co = 4 (0.61) = 2.44
|- и т)- вычисляются в соответствии с (6.8.12).
А'2С'
0.610 1Г8.26.815.214."
О2.44][ 02.25.42.6
Элементы А не могут возрастать, но возможность машинных нулей существует. Чтобы предупредить подобную катастрофу, лучше не опираться лишь на какую-либо одну из формул (6.8.6), а позволить программе выбирать, скажем, (а), если | vq1| ^ | р^ | (что обеспечивает (р')2^ (р2)/2), или (а'), в противоположном случае.
Анализ ошибок
Алгоритмы типа (6.8.12) робастны при наличии округлений. Этого и следовало ожидать, поскольку (6.8.12) всего лишь масштабированный вариант стандартного гивенсова вращения, а произведения всегда вычисляются с очень малой относительной ошибкой (исключая машинные нули и переполнения).
Ситуация достаточно проста, чтобы ее можно было изложить. С целью убрать отвлекающие детали будем обозначать через е очень малое число (например, |е|=10~14), которое при каждом своем появлении может принимать новое значение. Так, (I 4-е)2 — краткая запись для (1 Ч-е^ (1 Ч-е2). Вычисленные величины будем отмечать чертой сверху: а, р, и т. д. Сделаем реалистическое предположение, что при реализации алгоритма (6.8.12)
a = a(l-f-e), 0 = 3(1+е).
ш = и(1 4-е)2 = (1 4-е)2/(1 4-т2) = [(1 + е)у]2. (6.8.13)
Мы усердно изгоняли у и а из вычислений в (6.8.12), но сейчас для целей анализа мы хотим вернуть их обратно. Чтобы сделать это, введем р', величину, которая нигде в реальном процессе не участвует, определив ее как точный квадратный корень из нового значения переменной р21). Предположим, опять же вполне реали-
11 И аналогичную величину v'.—Прим, перев.
стически, что
(6.8.14)(6.8.14)^^(l+е)ру, v' = (l+e)vv.
(6.8.14)
(6.8.14)
Теперь мы готовы рассмотреть главное вычисление в (6.8.12).
Имеем.
. V^i +Х(1+0](1+е)
вследствие операций умножения и сложения. Далее, умножая на р/ и используя (6.8.14), (6.8.13) и (6.8.10), находим
р'^ = урЕ,- (1 + в)2 + ур (av/yp) ^ (1 + в)3, 'v4 = — (»/y)yv^(l +e)3 + yvy],(l-^8)8.(6.8.15)
Заменим (l+e)ft на 1 + ^е (вспомните подвижной характер в) и, опираясь на (6.8.5), получим нужное соотношение
VI'v'nZVI'v'nZ++2еу Звоp£z—Зео 2вуvfy2еу Звоp£z—Зео 2вуvfy(6.8.16)(6.8.16)
VI'v'nZ
VI'v'nZ
+
+
2еу Звоp£z
—Зео 2вуvfy
2еу Звоp£z
—Зео 2вуvfy
(6.8.16)
(6.8.16)
Это уравнение в точности того же вида, что и уравнение для ошибок, связанных со стандартным гивенсовым вращением. Новые формулы столь же устойчивы, как и старые, а машинных нулей избегают, гибко используя возможность выбора среди формул (6.8.6).
Накопление произведения
В некоторых приложениях нужно иметь произведение всех плоских вращений. Обычно это произведение накапливается постепенно; на каждом шаге текущее произведение умножается слева на очередное плоское вращение. В этой ситуации нужны значения у и а, и кажется, что квадратный корень все же придется извлекать! Разумеется, при этом желательно все-таки сохранить формулы с двумя умножениями для перестройки А2 и С.
Однако снова оказывается, что без квадратного корня можно обойтись. Если вычислять несколько неортодоксальный вариант QR-разложения, то можно перестраивать на каждом шаге масштабированную версию Q, не извлекая квадратных корней. Покажем, как это делается для выбора масштабирования в соответствии с. (6.8.6а). Обозначим через Q текущую ортогональную матрицу. Нетривиальная часть гивенсова вращения записана в виде
R=yG =R=yG =у 01 Г1у 01 Г1О уО утт—т1 '—т1 'Предположим, что Q масштабирована и сутьПредположим, что Q масштабирована и сутьдве изменяемые строкидве изменяемые строкиQ = YS =Q = YS =Ф1 0 '0 ф2Ф1 0 '0 ф2
R=yG =
R=yG =
у 01 Г1
у 01 Г1
О у
О у
т
т
—т
1 '
—т
1 '
Предположим, что Q масштабирована и суть
Предположим, что Q масштабирована и суть
две изменяемые строки
две изменяемые строки
Q = YS =
Q = YS =
Ф1 0 '
0 ф2
Ф1 0 '
0 ф2
Чтобы сохранить возможность перестройки с двумя умножениями, нужно переставить G и Ф Таким образом,
RQ - yGVS
My(W*)G¥S ”(yV)(GS),
гдегде" 1 — трт/р 1" 1 — трт/р 1Р=ф2/Ф1.Р=ф2/Ф1.
где
где
" 1 — трт/р 1
" 1 — трт/р 1
Р=ф2/Ф1.
Р=ф2/Ф1.
имеет ту же желаемую форму, что и G. Эту перестановку G и Ф можно сделать для произвольных положительных фп ф2, достигнув тем самым экономии умножений при формировании GS. Однако величины у, т, р и v нельзя получить непосредственно из алгоритма (6.8.12) и вычисление уф требует, как кажется, квадратного корня из ю. К счастью, выбор ф^р, ф2 —v(t. е. Ф=А) устраняет этот маленький недостаток. Действительно, согласно (6.8.7), (6.8.11) и (6.8.12),
■ф = —(vt)Mi)(v/P) = —Р,т/р = —.
(а и Р известны), уф! = ур —р', yi|)2 = yv = v'.
Результат тот, что одни и те же масштабирующие множители используются как для В, так и для трансформирующей матрицы Q. В символах
В = АС —>■ В'= RB = А'С',
Q = AS ^Q' = RQ = A'S',
где вычисляются.
C'=GC, S' = GS, (А')8 = ®А«
*§ 6.9. Ортогонализация в условиях округлений
Простейшая задача ортогонализации, к которой можно свести все остальные, такова. Даны векторы у^о и z; вычислить вектор р — компоненту вектора z, ортогональную к у. Формула имеет вид
'р = z—у (y*z/y*y) = [1 —у (y*y)"ly*]z.
Округления осложняют процесс в двух местах. Во-первых, мы можем вычислить лишь приближение X к y*z/y*y. Во-вторых, мы
можем вычислить лишь приближение х к p = z—Ху. В частности, если z почти параллелен у, то в последнем вычислении произойдет катастрофическое взаимное уничтожение, после чего вместо р останутся лишь ошибки округления. Это иллюстрирует пример 6.9.1.
Пример 6.9.1
Вертикальная черта отделяет удерживаемые знаки от отбрасываемых.
ДаныДаны0.3179У = 0.02530.00820.3179У = 0.02530.0082"0.3170z = 0.02580.0085"0.3170z = 0.02580.0085
Даны
Даны
0.3179
У = 0.0253
0.0082
0.3179
У = 0.0253
0.0082
"0.3170
z = 0.0258
0.0085
"0.3170
z = 0.0258
0.0085
ВычисляемВычисляемЛ = ^■У*УЛ = ^■У*У0.9973(37070.9973(3707Хур = z - (Ху)8X = z - (Ху)4Хур = z - (Ху)8X = z - (Ху)40.31700.02520.00810.31700.02520.0081534632637816534632637816-0.000053460.000567370.00032184-0.000053460.000567370.000321840.00000.00060.00040.00000.00060.0004У*РПуПИрПУ*РПуПИрПу*х11У|НМу*х11У|НМ-6.634 X 10~6-6.634 X 10~6= 0.0802.= 0.0802.
Вычисляем
Вычисляем
Л = ^■
У*У
Л = ^■
У*У
0.9973(3707
0.9973(3707
Ху
р = z - (Ху)8
X = z - (Ху)4
Ху
р = z - (Ху)8
X = z - (Ху)4
0.3170
0.0252
0.0081
0.3170
0.0252
0.0081
5346
3263
7816
5346
3263
7816
-0.00005346
0.00056737
0.00032184
-0.00005346
0.00056737
0.00032184
0.0000
0.0006
0.0004
0.0000
0.0006
0.0004
У*Р
ПуПИрП
У*Р
ПуПИрП
у*х
11У|НМ
у*х
11У|НМ
-6.634 X 10~6
-6.634 X 10~6
= 0.0802.
= 0.0802.
В большинстве приложений ортогонализации требуется, чтобы вектор х, вычисленное приближение к р, имел следующие два свойства:
х с рабочей точностью ортогонален к у.
z очень близок к линейной комбинации х и у. В таком случае х очень близок к компоненте, ортогональной к у, вектора, очень близкого к z.
Насколько можно приблизиться к удовлетворению этих требований, если наивно вычислять
X = y*z/||y||2 с округлением, x = z—Ху с округлением?
В этом случае оказывается
|Х — y*z/||y||2K61||z||/||y|| и
||х — (z—Xy)||^63||z||
для некоторых очень малых положительных чисел 6t и 62, зависящих от разрядности арифметики и других вычислительных деталей. Последнее неравенство удовлетворяет свойству II, указанному выше. Однако поскольку
е = х—р = х—(z—Ху)—(X—y*z/|| у [|2) у,
то lleKCS^SJUzll,
и мы получаем, что
|y*x| = |y*e|<||y|H|eK(61 + 6a)||y||.||x[|.(||zHx||).
Таким образом, свойство 1 может не выполняться, если отношение ||z||/||x|| велико, что и будет, если z и у почти параллельны.
Тем не менее, несмотря на округления, можно вычислить х, который удовлетворяет и I, и II, хотя и за некоторую плату. Приводимый ниже алгоритм („двойной цены достаточно") и анализ принадлежат Кахану.
Предположим, что имеется ^простая подпрограмма orthog, которая для заданных у^Оиг вычисляет приближение х'кр = ==z—у(y*z/||y||2). Пусть ошибка е'(^х'—р) удовлетворяет неравенству ||е'||^8||zJ для некоторого очень малого положительного е, не зависящего от у и z. Пусть х—произвольное фиксированное, число в интервале [1/(0.83—е), 0.83/е].
Алгоритм. Произвести вызов orthog (у, г, х'), чтобы вычислить х*.
Случай 1. Если ||x'||^|]z||/x, принять х = х' и е = е'.
В противном случае произвести вызов orthog(у, х', х"), чтобы вычислить х" с ошибкой е" = х"—(х'— УУ*х'/|] у |ja), удовлетворяющей неравенству ||e"||^s|]x'||, и перейти к случаю 2.
Случай 2. Если j|х"Ц^[jх'||/х, принять х = х", е = х"—р.
' Случай 3. Если ||х"|| < ||х'||/х, принять х = 0, е =— р. Заметим, что при малом х, например х=1.25, оценки получатся очень хорошими, но случай 1 будет более редким, а алгоритм—более дорогостоящим, чем при х=100..
Лемма. Вектор х, вычисленный алгоритмом, удовлетворяет оценкам•
||еК(14-1/х)еИ
и
| у*х [ ^ хе}[ у 0 х О-
Доказательство. Исследуем три случая, которые могут иметь место в алгоритме.
Случай 1.
||е|| = ||е'|| <e||z[| < (l+1)ф||,
[у*х[ •= [у*х'| = |у*е'| < ||у|| • ||е'|[, <е||у|| • ||гЦ <хе||у|| ■ ||х|[.
Случай 2.
]У*Х1 - ]у*х"| - |у*е"[ < Пу|| . Пе"И < ф|| • [|х'Ц
МуП 1 И,
1[е][ - Их" - р|| - Пр + (1 - уу7||у||2)е' + е" - рЦ •
< 11(1 - УУ*/11У||2)е,|| + 1|е"||
Це'П + Це"П < e|izl[ + е||х'|] < е(1+^[|2Ц.
Случай 3. Поскольку х = о, то |у*х| = О<х8||у||-||х||. Теперь мы должны доказать, что е = — р удовлетворяет неравенству || р || ^ ^i +-^ e||z||. В действительности мы докажем большее, именно, что ||р||<[1—(е + х-1)2]-1/2||е'||, откуда и следует нужное неравенство, так как ||е'||^е||г||и [1—(е + х-1)2]-1/2 ^ 1 4-х-1. Последнее неравенство вытекает из принятого нами ограничения на х (см. упр. 6.9.2) и служит, чтобы придать оценке для Це|| тот же простой вид, что и в двух других случаях.
Представим е' в виде а+b, где а=(1 — уу*/Ц У ||2) ez и Ь=уу*е7||у ||2. Тогда, используя упражнение 6.9.1, получим
■^'ЦхЦ > ||х"|| ■ |[р ч-а + е"|| > ПР + а.Н - Це"И > liP + а|| - г||х'||, ИЛИ,
(е + х-')||х'|| = (е + х~')||р + а + Ь|| > ||р + а[[.
имеемимеемПоскольку Ь*р = Ь*а = О, то, возводя в квадрат, (е + «“’/(Цр + all2 + ||Ь||2) > ||р + all2, откуда
имеем
имеем
j|p|| < IIP + all + Паи < Паи + ||b||(e + -л^/ф - (с+.х-1/ <^17^г5тП^^^ УИаП2 + i|bF = ||е'|[/^1 - (е + «-’)2
что и утверждалось.
Пример 6.9.2 показывает алгоритм в действии.
Пример 6.9.2 х=10. e=10~L Данные взяты изУ’0.16087'-0.118520.98216 X 10-1.||у|| = 0.22264х" (= х' - X» 0.8353 X 10“б 0.9110 X 10 6-0.2689 X 10"6Пример 6.9.2 х=10. e=10~L Данные взяты изУ’0.16087'-0.118520.98216 X 10-1.||у|| = 0.22264х" (= х' - X» 0.8353 X 10“б 0.9110 X 10 6-0.2689 X 10"6примера 2.5.3 z-0.50069 X 10-1 0.36889 X IO”1-0.30569 X 10“'||z|| = 0.69297 X IO'1 Р0.48705 X 10‘60.60812 X 10'6-0.63987 х 10-8примера 2.5.3 z-0.50069 X 10-1 0.36889 X IO”1-0.30569 X 10“'||z|| = 0.69297 X IO'1 Р0.48705 X 10‘60.60812 X 10'6-0.63987 х 10-8X' (= z - Ху) -0.20000 X 10“5 0.30000 X 10"5 -0.20000 х 10“5||х'|| = 0.41231 X 10“5 е( = х" -р) 0.34825 X 10“6 0.30288 X 10“6-0.20431 X 10“6X' (= z - Ху) -0.20000 X 10“5 0.30000 X 10"5 -0.20000 х 10“5||х'|| = 0.41231 X 10“5 е( = х" -р) 0.34825 X 10“6 0.30288 X 10“6-0.20431 X 10“6
Пример 6.9.2 х=10. e=10~L Данные взяты из
У
’0.16087'
-0.11852
0.98216 X 10-1.
||у|| = 0.22264
х" (= х' - X» 0.8353 X 10“б 0.9110 X 10 6
-0.2689 X 10"6
Пример 6.9.2 х=10. e=10~L Данные взяты из
У
’0.16087'
-0.11852
0.98216 X 10-1.
||у|| = 0.22264
х" (= х' - X» 0.8353 X 10“б 0.9110 X 10 6
-0.2689 X 10"6
примера 2.5.3 z
-0.50069 X 10-1 0.36889 X IO”1
-0.30569 X 10“'
||z|| = 0.69297 X IO'1 Р
0.48705 X 10‘6
0.60812 X 10'6
-0.63987 х 10-8
примера 2.5.3 z
-0.50069 X 10-1 0.36889 X IO”1
-0.30569 X 10“'
||z|| = 0.69297 X IO'1 Р
0.48705 X 10‘6
0.60812 X 10'6
-0.63987 х 10-8
X' (= z - Ху) -0.20000 X 10“5 0.30000 X 10"5 -0.20000 х 10“5
||х'|| = 0.41231 X 10“5 е( = х" -р) 0.34825 X 10“6 0.30288 X 10“6
-0.20431 X 10“6
X' (= z - Ху) -0.20000 X 10“5 0.30000 X 10"5 -0.20000 х 10“5
||х'|| = 0.41231 X 10“5 е( = х" -р) 0.34825 X 10“6 0.30288 X 10“6
-0.20431 X 10“6
||х"|| = 0.12648 х 10“5 > 0.41231 х 10“6 = ||х'||/х
||е|| = 0.50498 X 10“6 < 0.76227 х 10~6 «= (1 + l/x)t||z||
](х")*у| = 0.72914 X 10-11 < 0.28160 X 10“10 = х£[|Х"||||у||
Упражнения к параграфу 6.9
Показать, что х" = е" + а + р.
Решить относительно ц>0 уравнение l=(l+p)s (1—р2). Здесь может помочь калькулятор. Для каких значений р будет [1 — (е + р)2] (1 4-р)а^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 основан на неопубликованных работах Кахана. Тот факт, что „двойной цены достаточно" при ортогонализации в условиях округлений, недостаточно хорошо известен. Результаты работы [Danie! et al., 1976] можно рассматривать как расширения этого анализа применительно к случаю ортогонализации сразу к нескольким почти ортонормальным векторам.
Анализ ошибок в §§ 6.5—6.6 основан на гл. 3 книги [Wilkinson, 1965].
ГЛАВА 7
Трехдиагональная форма
. Введение
В этой главе рассматривается вопрос о приведении произвольной симметричной матрицы А к подобной трехдиагональной матрице Т, а также о спектральных свойствах, которыми обладает Т.
Определение. Матрица Т называется трехдиагональной, если /17 = 0 при \i— /|>1. Чтобы упростить обозначения, полезно писать 1и=аь tu ;+1 = Р£ (иногда удобней положить /£, i+1 — P1+i) и
(7.1.1)
Определение. Т^ = ТХ^ называется неразложимой, если 0£=^О, i= 1, . . ., п — 1.
Если при некотором к окажется рй = 0, то Т есть прямая сумма двух трехдиагональных матриц, скажем 1\ порядка к и Т2 порядка п— к. Собственные значения и собственные векторы Т легко получить из собственных значений и векторов Tj и Т2 (упр. 7.1.1); таким образом, вычисления можно свести к нахождению собственных значений и собственных векторов меньших трехдиагональных матриц, которые уже являются неразложимыми. Поэтому не будет потери общности, если в дальнейшем мы ограничимся неразложимым случаем.
Ключевыми являются следующие факты:
Собственные значения и собственные векторы Т можно найти со значительно меньшей затратой арифметических опера* ций, чем требуется для заполненной матрицы А.
Всякую матрицу А можно привести к подобной Т посредством конечного числа элементарных ортогональных подобных преобразований. Для того же чтобы диагонализовать матрицу, требуется в принципе бесконечное число преобразований.
Если матрица Т неразложимая, то ее собственные значения различны (хотя и могут быть очень близки), а ее собственные векторы имеют некоторые полезные специальные свойства. См. параграфы 7.7 и 7.9.
Не всегда разумно пользоваться трехдиагональной формой. Чем меньшую ширину ленты имеет матрица, тем больше цена приведения к трехдиагональному виду по отношению к полному процессу вычисления собственных значений и/или собственных векторов другими методами.
Иногда трехдиагональные матрицы выступают как входные данные задачи. Например, такие матрицы связаны с семействами ортогональных многочленов и со специальными функциями, вроде функций Бесселя, которые удовлетворяют трехчленным рекуррентным соотношениям. К примеру, нули J т выражаются формулой Z/J^p*, k = 1,2, ..., где рц— собственные значения Т^ „ и
az = 2/(m + 2i — 1) (m -|- 2t + 1),
PI = 1 /(/tz —f— 21) (m -f- 21-4- 1)- (/7i -f- 2t -f- 2).
Упражнение к параграфу 7.1
1.1. Пусть T = diag(T1, Т2), и пусть Tz=Sz0zSz —спектральные разложения матриц Т;, i=l,2. Каково спектральное разложение Т? Пусть 9 — собственное значение обеих матриц: Tj и Т2. Описать собственные векторы Т, отвечающие 0.
7.2. Единственность приведения
Существует несколько способов приведения произвольной матрицы А к трехдиагональной форме Т. Однако, прежде чем обсуждать какой-либо из них подробно, разумно выяснить, в какой степени конечная матрица Т зависит от метода. Ответ дает приводимая ниже теорема, но, прежде чем ее сформулировать, необходима некоторая дополнительная нормировка.
Лемма. Пусть Т неразложима, и пусть Т+—матрица, полученная из Т заменой каждого р, на | pz |, i = 1, ..., п — 1. Тогда
Т+= АТА = АТА-1,
гдеA = diag(61, ..., 6П) и 6,. = + 1.(7.2.1)
Доказательство предоставляется читателю в качестве упражнения 7.2.1. Лемма показывает, что без потери общности можем считать: pz > 0, f = 1, . Л, п— 1.
Теорема. Пусть Q*AQ = T+, где Q—ортогональная. Тогда Т+ и Q = (qn q2, ..., q„) единственным образом определяются матрицей А и вектором q, или А и q„.(7.2.2)
Доказательство. Поскольку Q* = Q~1, то посылку теоремы можно записать как.
QT+ = AQ.(7.2.3)
Приравняем теперь /-е столбцы в обеих частях (7.2.3), используем то обстоятельство, что /-й столбец Т+ содержит лишь три ненулевых элемента, и переставим члены. В результате придем к важному соотношению:
q/+iP/ = Aq/—qya7—(7.2.4)
Если положить ро = Рп = О, то это соотношение выполняется для всех /, /= I, ...,п. Таким образом, г„ = 0 и q0, qn+1 не определены. Используем далее ортогональность Q в форме q*qft = 6z* (кронекеров символ 6), что дает:
о = q; (q/+iPy) = q;Aqz-1 .«у-О.-Ру^,
P/=h/+iP/ll=llг/15>.
q/+i = r//P/>
так как по предположению Ру>0. Таким образом, Py_i, qz_, и qy определяют в указываемом порядке ay, Гу, Ру и qy + 1 для / = 1, 2, ..., п. Поскольку ро = О, то а„ г,, Р, и q2 определяются одним лишь q,. Следовательно, путем конечной индукции q, однозначно определяет все элементы Т+ и Q.
Переписывая (7.2.4) в виде
q/-iP/-i = Aqy—qyaz—q/+iPy =гу,
можем показать, что Ру, q/+1 и qz определяют ау., Гу, Ру_, и qy_t. Так как Р„ = 0, то q„ также однозначно определяет Т+ и Q.
Замечания
Мы не доказали, что для данной матрицы А каждый единичный вектор q, определяет единственные Т+ и Q. Единственность нарушается, если Ту = 0 при некотором /. Тогда Ру = ||Гу||=О и Т разложима. Этот редкий случай срыва следует благословлять, а не проклинать. Срыв может произойти, лишь если q, ортогонален по крайней мере к одному собственному вектору А.
Если Ру = 0, то в качестве q/+1 можно взять любой единичный вектор, ортогональный к предшествующим векторам q, и продолжать процесс. Потеряна лишь единственность.
В доказательстве Py.j было определено как Р/_! = |] г/—11]. Однако если умножить (7.2.4) слева на q^, то ясно, что
(7.2.5)(7.2.5)P/_1- = q/*-1Aq/.
(7.2.5)
(7.2.5)
Эти два выражения для Py_t в точкой арифметике эквивалентны, но оказываются весьма различными при использовании на ЭВМ. Выясняется, что следует избегать (7.2.5); но это далеко не очевидно, и действительно часто рекомендовали именно формулу
(7.2.5).
Не предполагается, что Т и Q непременно должны быть вычислены посредством использованной в доказательстве процедуры, которая является на поверку алгоритмом Ланцоша. Для больших А процесс Ланцоша очень полезен, но, чтобы извлечь все его выгоды, необходима тщательная реализация. См. гл. 13.
Упражнения к параграфу 7.2
Доказать лемму (7.2.1). Считая, что заданы А и собственный вектор - матрицы Т+, найти алгоритм замещения s соответствующим собственным вектором Т.
Пусть
ГЗ 0 11
А = 0 2 0
1 0 1
Привести А к трехдиагональному виду, следуя доказательству теоремы (7.2.2). Взять два начальных вектора и ея.
Привести к трехдиагональному виду матрицу diag (1, 10, 100), начиная с вектора (1, 1, Yy*lVS-
Минимальные характеристики
Пусть 1 =T+=Q*AQ. Поскольку Т и Q определены вектором qt (=Qet), вполне вероятно, что существуют простые и удобные формулы по крайней мере для некоторых элементов Т и Q. В этом параграфе указаны такие формулы, и их вывод по существу сводится к систематической эксплуатации трехдиагональной формы. Рассмотрим, к примеру, матрицу 4x4:
Те, =Те, =РхООРхОО«1 + PtPl^X + Oj)РхР2'
Те, =
Те, =
РхОО
РхОО
О
“1 + (2«| + а^
Ге, =Ге, =Z?i(«? + «i«2 + «2 + Pt + Рг) .
Ге, =
Ге, =
Рх РМ + а2 + а,)
РхР2Рз_
Оказывается, что вид первых столбцов степеней матрицы Т дает причудливую, но полезную характеризацию р и q с помощью некоторых многочленов.
В соответствии с § 7.1 ведущую главную подматрицу порядка / матрицы Т можно обозначить через Т1ж,. Ее характеристический многочлен обозначим через х/
■Х/(В) = det [g—Т,ж у], / = 1, ..., п.
Для удобства положим Xo(l)=L и пусть отЯЗ^—множество всех многочленов степени к со старшим коэффициентом 1.
Теорема. Пусть трехдиагональная матрица Т имеет положительные поддиагональные элементы (см. (7.1.1)). Тогда для /= 1, ..., п—1>
РД ... Ру = ||х/ (Т) et || = min Jф(Т) et J по всем ф С а№ ;,
е/+, = х/(Т)е,/(р1... РД(7.3.1)
Доказательство. Заметим, что последний ненулевой элемент вектора Т^ находится в строке / +1 и равен р, ... Ру (упр. 7.3.1). Отсюда вытекает, что это же верно для вектора ф(Т)е, при любом ф из е^у, поскольку Ту—единственный член, дающий ненулевой вклад в строку / +1. Следовательно,
рд.-.Ру^ЦФте,!!,
причем равенство имеет место, лишь если ф(Т)е1 = еу+1 (Р, .. . Ру).
Более пристальный взгляд на первые / элементов вектора ф (Т) е, или скорее векторов TAet, k<j, показывает, что они зависят только от Т1жу. Более точно, положим Еу = (е!, .. .,еу), тогда (упр. 7.3.2) для любого ф^а^^у
Е/фте^ф^.у)^.(7.3.2)
Заметим, что е, в левой части есть вектор из 8", a ef в правой части — вектор из <£Л По теореме Кэли — Гамильтона, X/(Т1ж у)=О, и потому Е/*ху (7)^ = 0. Согласно сказанному выше, X/(T)ex
должен совпадать с е/+1 (Р, .. .Ру), и тем самым оба утверждения установлены.
Конечно, если мы имеем Т в явном виде, то у нас нет никакого стимула, чтобы характеризовать Ру или е,-. Однако можно подставить Q*AQ вместо Т и получить выражения, содержащие лишь А и q,. См. упр. 7.3.3.
Следствие. Пусть T = T+ = Q*AQ, adeQ = (q1, ..., q„)—ортогональная. Тогда для / = 1п—1
Pi •.. ру = Их/(A) qi|| = min||^(A) qj по всем ^^^^j,(7.3.3а)
q/+I = X/(A)q1/(P1 ...Р/).(7.3.3b)
Существуют ситуации, когда А и qt известны, а Т и Q — нет. Неизвестны также и X/i однако интересно, что неизвестные Ру должны иметь минимальное свойство (7.3.3а). Если А фиксирована, то X/ называют минимальным многочленом для qT в ®^у. Иногда X/ называют также многочленом Ланцоша для qP
Упражнения к параграфу 7.3
По индукции или каким-либо иным способом показать, что е*Т/е1=0, если f > /4-1, и = Pj ... Ру, если й=/4-1.
По индукции или каким-либо иным способом показать, что для £</
Вывести отсюда, что Е/ф (Т) е^ф (Tf, у) ej для всех ip из е^^у.
Доказать следствие теоремы (7.3.1).
Найти выражения для ау через qt и многочлены от А.
Доказать следствие непосредственно, приравнивая j-e столбцы обеих частей равенства AQ = QT; используя затем тот факт, что X/ удовлетворяют некоторым трехчленным рекуррентным соотношениям, показать, что qy+] должен быть кратным вектора Ху (A) 41
Пусть
Г4 2 Л1 г—г
А= 2 6 2,=0 .
[1 2 8]К2 1]
Найти оценки сверху на Pi и РхР2. Использовать метод доказательства теоремы (7.2.2), чтобы вычислить в данном порядке otj, рь q2, а2 и р2. Указать Xi и Хг-
Явное приведение заполненной матрицы
Всякую матрицу А можно привести к трехдиагональному виду Т посредством последовательности простых ортогональных подобных преобразований, получая нулевые элементы столбец за столб-
цом. Первый шаг типичен для быть описан, если разбить А на
процесса и проще всего может клетки следующим образом:
А ® А[
«1
,С1
of
М,
, «! = ви.
Рассмотрим теперь произвольное ортогональное подобное преобразование матрицы Ап оставляющее неизменным элемент (1Л):
А.А.' 1 о' 1 оо*1Г«1 сМГ 1Р*, С] Mi 0.о*1Г«1 сМГ 1Р*, С] Mi 0.о*'Piо*'Pi
А.
А.
' 1 о
' 1 о
о*1Г«1 сМГ 1
Р*, С] Mi 0.
о*1Г«1 сМГ 1
Р*, С] Mi 0.
о*'
Pi
о*'
Pi
«! .ofPi
Р^ PfM^
Всякая ортогональная матрица Рп такая, что Р'с^еД, приведет к матрице Av трехдиагональной в первом столбце. Поскольку Р, ортогональная, то
Ниже описаны два практичных выбора для Рр Когда Р,- выбрана, то P*MtPlt которую мы назовем А2, вычисляется в явном виде. Поскольку этот шаг—суть алгоритма, его стоимость имеет критическое значение для эффективности метода. На первый взгляд кажется, что здесь два матричных умножения, а это обычно требует 2 (и—I)3 операций. Однако мы сумеем добиться гораздо лучшего результата.
На втором шаге тот же прием применяется к матрице
РГМ^РГМ^я А2я А2«2,с2«2,с2сГ м2 ’сГ м2 ’А2; (л - 1) х (п - 1).А2; (л - 1) х (п - 1).
РГМ^
РГМ^
я А2
я А2
«2
,с2
«2
,с2
сГ м2 ’
сГ м2 ’
А2; (л - 1) х (п - 1).
А2; (л - 1) х (п - 1).
А2—матрица порядка п—1. Выбирается ортогональная матрица Р2 так, чтобы Р2с2 = е1Р2, а затем нужно вычислить А3 = Р2М2Р2. Решающим обстоятельством является то, что подобное преобразование второго шага сохраняет нулевые элементы, полученные на первом шаге. Это можно увидеть, вычисляя произведение следующих трех матриц:
10 010 0О 1 0О 1 0О* 0*Р2*О* 0*Р2*'«131о'«131оPt«2С2Pt«2С20*]Uс* 0м2 L00*]Uс* 0м2 L0о 1 оо 1 оо* о*Рао* о*Ра
1
0 0
1
0 0
О 1 0
О 1 0
О* 0*
Р2*
О* 0*
Р2*
'«1
31о
'«1
31о
Pt
«2
С2
Pt
«2
С2
0*]U
с* 0
м2 L0
0*]U
с* 0
м2 L0
о 1 о
о 1 о
о* о*
Ра
о* о*
Ра
Процесс продолжается, матрица, еще не приведенная к трехдиагональному виду, сокращается, и, наконец, после п—2 шагов будет получена Т.
Нужно отметить еще одно обстоятельство:
Т =Т ="1.О"1.О1 о1 оо*1о*1
Т =
Т =
"1.
О
"1.
О
1 о
1 о
о*1
о*1
“ Q*AQ,
чем определена матрица Q, и
По теореме (7.2.2) о единственности приведения произведение п — 2 ортогональных матриц, содержащих в себе Р;, определено однозначно, несмотря на различные возможности выбора матриц Р,., i = 1, ..., п—3.
Использование симметрии
Если А—заполненная матрица и может быть хранима в быстродействующей памяти, то предпочтительным выбором для Р, удовлетворяющей условию Рс = е1Р, является матрица отражения
P = H(w) = I—yww*, y = 2/w*w, гдеw = c+pef, p = ||c||sign(e*c).
Этот выбор приносит существенную выгоду в двух отношениях. Во-первых, Р не нужна как явный двухмерный массив; она определяется вектором w, a w отличается от с лишь своим первым элементом. Таким образом, не требуются дополнительные пхп массивы. Во-вторых, как объясняется ниже, подобное преобразование Н (w) МН (w) может быть выполнено с большой эффективностью. Было бы нелепо заполнить (/х/)-масснв Н, а затем выполнить два матричных умножения ценой 2/3 скалярных умножений. Вместо этого воспользуемся тем, что Н—элементарная матрица, и напишем
НМН = (I — yww*)M(l — yww*)
* М — yw(w*M) — y(Mw)w* + y2w(w*Mw)w,
» M - wp* — pw* + (yw*p)ww*(7.4.1)
p = yMw.
11 В правом конце 2-й строки (7.4.1) по-видимому должно быть w*.— Прим, перев.
Удачное введение вектора р сокращает число операций до 3/? умножений. Однако имеется еще один трюк (принадлежащий Уилкинсону), который является прекрасным примером искусства в составлении программ, реализующих численные методы. Значение yw*p = yw*Mw действительное (даже если М—комплексная эрмитова матрица), поэтому четвертый член вп (7.4.1) можно распределить между вторым и третьим членами следующим образом. Вычислим
q = р — w (yw*p)/2, а затем
НМН = М—wq* — qw*.
Порядок вычислений и число операций указаны в следующей таблице:
Величина
w урw*p q
M-wq*- qw*
Всего ‘
Число умножений
0 j Ki+V) j j
/
2/U + 2)
На каждом шаге приведения к трехдиагональному виду порядок j уменьшается на единицу. Общее число операций 2) равно Л 2/ (/ + 2) = ^п? + п2 + 0 (п), в то время как наивная реализа- = 2
ция потребовала бы ц2(/г + 1)8/2 ops. Число квадратных корней—(п— 2).
Более подробное описание данов алгоритме II/2 Справочника. Метод был впервые предложен в 1958 г. Хаусхолдером.
Плоские вращения'
Другой способ приведения с к ?±е,||с||—это последовательность из /—1 плоских вращений. Эти элементарные ортогональные матрицы были описаны в § 6.4. Каждое вращение воздействует на две строки (и два столбца) матрицы и создает один новый нуль в векторе, первоначально совпадавшем с с.
Элементы могут аннулироваться в естественном порядке 2, 3, .. ., / или в обратном. Кроме того, имеются два распространенных способа аннулирования элемента к: путем вращения в плоскости (1,6) либо в плоскости (й—\,ку
Каждое из /—1 вращений требует 4/ умножений и 1 извлечение квадратного корня. Это дает общее число операций умножения, равное
£4/(/-1) = у^ = 0(п),
и и (и—1)/2 квадратных корней. Метод и сама идея приведения А к Т были предложены Гивенсом в 1954 г.
Для заполненных хранимых матриц вращения не могут конкурировать с отражениями; однако они полезны при обработке разреженных матриц, особенно если используются в масштабированной, или быстрой, форме, которая сокращает вдвое число операций. См. § 6.8. Вдобавок легко опустить ненужные вращения.
Упражнения к параграфу 7.4
О 1 2О 1 2Sym '
О 1 2
О 1 2
М “М “-1
М “
М “
2
.4- -2 0 4..
Выполнить первый шаг приведения М х> к трехдиагональному виду посредством отражения. Указать векторы w, р и q.
Привести первый столбец М к трехдиагональиой форме посредством плоских вращеиий в плоскостях (2,3) н (2,4).
Использовать быстрые преобразования Гнвенса, опнсаиные в § 6.8, для приведения М к факторизованной трехдиагональной форме ДТД,. где Д диагональная.■
§ 7.5. Приведение ленточной матрицы
а^ = 0 для |t— /|>т, ширина ленты А равна 2m4*1.
Матрица порядка 500 с шириной ленты 51 требует для хранения своих элементов 13000 слов и может быть обработана в быстродействующей памяти при условии, что ширина ленты в ходе алгоритма не возрастает. Аннулируя пары элементов а^ и ajt в некотором неочевидном порядке, можно привести ленточную матрицу к трехдиагональному виду, не увеличивая в процессе ширину ленты.
Напомним, что посредством подходящего плоского вращения R (i, j, 6) можно аннулировать любой внедиагональный элемент /-го столбца А, переходя к матрице R*AR. Если этим обреченным элементом является а^, то R часто называют вращением Якоби; в противном случае R называется вращением Гивенса.
Символ sym означает у автора дополнение матрицы по симметрии.— Прим, перев.
Рис. 7.5.1. Уменьшение ширины ленты.
Выбор угла 9 различен в этих двух случаях. В приводимом ниже алгоритме г = / — 1 и обреченным является элемент а^, где /</-1.
Представление о порядке исключения элементов дает (для случая и =10, т = 3) рис. 7.5.1.
Метод
Вначале приводится к трехдиагональному виду первая строка, затем вторая и так далее. Элементы каждой строки аннулируются поочередно, извне вовнутрь. Однако, чтобы исключить один элемент и сохранить ширину ленты, требуется несколько вращений. Операции с первой строкой типичны для всего процесса.
Выполнить вращение в плоскости (m, т4-1), аннулирующее элемент (1, т4-1). Это приводит к появлению ненулевого элемента (а) в позиции (m, 2m 4-1) вне ленты.
Выполнить вращение в плоскости (2m, 2m + 1), аннулирующее элемент (т, 2т 4*1). Это приводит к появлению ненулевого элемента (6) в позиции (2m, 3m 4-1) вне ленты.
Выполнить вращение в плоскости (3m, 3m 4-1), аннулирующее элемент (2m, 3m 4-1). В данном случае (п=10) выступ был вытеснен через дно матрицы. В общем случае потребуется большее число вращений (всего [(п—1 )/т]) для того, чтобы восстановить первоначальную ширину ленты.
Следующим элементом внутри ленты, который должен быть аннулирован, является (1, т); получающийся выступ нужно вытеснить через дно матрицы и так далее. После того как исключен элемент (1, 3), можно обрабатывать вторую строку.
Число операций
Общее число вращений Л^вращ удовлетворяет оценке Л/вращ^н2(т—1)/(2т).
Каждое вращение требует одного извлечения квадратного корня и обычно 8m-}- 13 ops. Таким образом,
Wops ^ «2 (m— 1) (4 + 13/2m).
Эта оценка показывает, что стандартный способ приведения будет более быстрым при m > п/6. Однако, использование ленточного приведения ° диктуется обычно соображениями, связанными с памятью.
Хранение
Обычно используется прямоугольный пх(m-М) массив, столбцы которого хранят последовательные диагонали ленточной матрицы; главная диагональ находится в первом столбце.
Справка
Алгольная программа под названием bandrd приведена в алгоритме II/8 (Н. R. Schwarz) Справочника [Wilkinson, Reinsch, 1971]. Этот метод включен и в EISPACK.
Для сокращения работы вдвое можно использовать быстрые гивенсовы вращения.■
*> То есть алгоритма приведения к трехдиагональному виду, описанного в 7.5.1.— Прим, перев.
Упражнения к параграфу 7,5
Пусть
ММsym
М
М
6
-46
1-4 6
Используя алгоритмы предыдущего параграфа, привести М к трехдиагональному виду посредством 4 плоских вращений.
Привести М к трехдиагональному виду посредством быстрых гивен- совых вращений. Получить при этом факторизованный результат дТд, где Д диагональная. Ручной калькулятор будет полезен. Вы должны вычислять Д2 и Т. См. § 6.8.
Кажущаяся неустойчивость
Мы не собираемся проделывать подробный анализ влияния ошибок округлений на описанные выше алгоритмы. В действительности эти методы охватываются общим анализом, изложенным в § 6.5. В каждом случае вычисленная трехдиагональная матрица будет в точности подобна возмущению А + W исходной матрицы А, а отношение II W|[/|| А|| будет умеренным кратным единичной ошибки округления. Даже если бы этим отношением достигались пессимистические оценки, для большинства приложений результаты все же были бы вполне удовлетворительными. '
Приведем зато один образчик (пример 7.6.1) интересного явления, которое, как кажется на первый взгляд, опровергает предыдущий абзац. Примеры этого рода породили большое и неоправданное беспокойство. В примере 7.6.1 одна и та же программа приведения была пропущена для одной и той же хорошей ленточной матрицы порядка 24 на двух разных машинах. При этом были получены совершенно разные результаты; сравните, например, два значения ав или а, в таблице 7.6.1. Есть ли ошибка в программе? Быть может, одна из машин (или обе) работает неправильно? Или алгоритм неустойчив? Ведь разумеется, что воспроизводимость результатов необходима в научной работе?!
В самом деле, две матрицы Т различны, но каждая из них с рабочей точностью подобна А, а только это и важно при вычислении собственных значений. Конкретная последовательность подобных матриц, получаемых алгоритмом из этой матрицы А, крайне чувствительна к очень малым возмущениям, порождаемым округлениями. Эта неустойчивость кажущаяся. Действительно,
не всегда легко отличить средства от цели и не легче оценивать алгоритмы. ■
Собственные значения и собственные векторы А были вычислены с максимально возможной для каждой машины точностью.
Пример 7.6.1.Пример 7.6.1.Чувствительность трехдиагональной формы к ошибкам округлений в процессе приведения
Пример 7.6.1.
Пример 7.6.1.
М С?С2 МО,ОМ С?С2 МО,ООС?м с:с4 мОС?м с:с4 мммн. в*' в нн. в*' в н
М С?
С2 М
О,
О
М С?
С2 М
О,
О
О
С?
м с:
с4 м
О
С?
м с:
с4 м
м
м
н. в*' в н
н. в*' в н
С/ - (e6ef - е,е?)/102'
■ 1.0
2,0
3.0'
' 0.0
-1.0
-0.5'
н =
2.0
4.0
5.0
; В =
1.0
0.0
-0.33333330 1
3.0
5.0
6.0"
05
0.33333330
0.0.
1,л = «А V+1 * ^м “ К-
Специальные меры были приняты, чтобы.обе машины действительно работали с одной и той же матрицей.
Собственные значения — простые
Собственные значения Т не имеют никаких особых свойств, кроме следующего:
Лемма. Все собственные значения неразложимой матрицы Т различны.(7.7.1)
Доказательство. При всех £ дополнительный минор для элемента (1, га) в матрице Т—£ равен РД.. .p„_i=#0. Следовательно, ранг [Т—^]>п— 1 и размерность ядра Т—£ либо 0 (когда 5 не является собственным значением), либо 1 (когда £—собственное значение). Это значит, что для каждого собственного значения имеется лишь один (с точностью до константы) собственный вектор. Поскольку Т обладает полной системой ортогональных векторов, то кратность каждого собственного значения должна быть равна единице.
Этот результат полезен в теоретической работе, но может повести к ложному предположению, что если имеется пара очень
близких собственных значений, то некоторые Pf должны быть малы. Широко известный контрпример—матрица W^ (обсуждаемая в книге [Wilkinson, 1965]):
а£:10, 9, 8,..., 1,0, 1,..., 10; Д = 1, W.
X21[W+] = 10.74619 41829 0339 . ...
X20[W+J - 10.74619 41829 0332 ..,.
Ортогональные многочлены
Большой шаг вперед был сделан в линейной алгебре благодаря осознанию того факта, что длина вектора не является априорным, внутренним свойством этого вектора. В действительности имеется бесконечно много законнорожденных функций скалярного произведения, и каждая порождает свой вариант длины и угла. Численная мера угла между двумя векторами—это вопрос соглашения, а не объективная реальность. То же самое и для функций; существует много скалярных произведений.•
Для прикладной математики важны действительные функции одного -действительного переменного. Мы не станем рассматривать общие интегральные скалярные произведения
ь
(ф, ф) = ^ « (х) <р (х) ф (х) dx,а
а перейдем прямо к дискретному случаю
(ф, ф)= 2 го/ф^ф^,).(7.8.1)
I = 1
Каждому набору из п различных действительных чисел (Е^ ... ...,£„} и положительным весам {<о1т ..., <o„:<oz > 0} отвечает одна и только одна функция скалярного произведения вида (7.8.1). Соответствующие норма и угол даны в гл. 1.
Многочлены являются довольно специальными функциями, и для каждого скалярного произведения имеется единственное семейство нормированных11 ортогональных многочленов (ф0> фп ... .ф„_1); т. е. ф/ имеет степень /, старший коэффициент 1 и (фЛ фе) = 0 для /=#&. Это семейство представляет собой выделенный базис пространства со скалярным произведением (или гильбертова пространства), образованного многочленами, степень которых меньше, чем п, и данным скалярным произведением.
*> В оригинале — monic.— Прим, перев.
Таблица 7.6.1
А
а, CDC6400
PDP 11
CDC 6400
PDP 11
I
0.0000
-0.0080
0.4428
0.4428
2
0.0009
-0.0011
-0.8777
-0,8877
3
0.0141
0.1441
0.4429
0.4444
4
0.6169
1.5997
11.4038
11.2215
5
-0.0115
-0.0002
-0.8466
-0.6659
6
-0.0642
-4.3642
0.4431
9.2954
7
0.3520
-0.2957
11.4244
2.5251
8
-0.0007
-0.0002
-0.8676
-0.8205
9
0.5058
- 1.3585
11.4115
11.2643
10
0.0114
0.0531
0.4661
0.6113
И
0.0004
-0.0006
-0.8776
-0.8756
12
0.0000
-1.6807
11.4348
11.1716
13
-0.0088
-0.0535
0.4429
0.7040
14
-0.0319
0.0317
-0.8775
-0.8755
15
-0.3579
-0.0118
11.4231
11.4348
16
0.0435
-0.0731
0.5431
-0.8737
17
-0.2052
-1.1474
-0.8728
0.5599
18
0.0001
-0.0000
11,4314
11.3138
.19
-0.2107
-0,9605
0.4088
-0.7741
20
1.3226
2.2464
-0.6994
10.8806
21
-0.0000
-0.0000
11.2907
0.8936
22
-0.8784
-0.8784
-0.0453
-0.0453
23
-5.8618
-5.8618 .
5.0453
5.0453
24
—
—
6.0000
6.0000
(^Мантисса*. CDC — 48 Зитов; PDP—24 бита)
Значения привеЗены о четырьмя Зесятичными знаками шах] Х1-(А)С0С- \'Wpcpl ^®* х 10 ^ ^ ^еРОРИ^Н
(7.8.2)(7.8.2)Трехдиагональные матрицы появляются по той причине, что многочлены ^j подчинены замечательным трехчленным рекуррентным соотношениям. Именно, для j=l, 2, ..., п — 1 и Ро = О
(7.8.2)
(7.8.2)
Ф/ (I) = Q-a/) Ф/—i (У-^-.Ф/-, ©•
(7.8.3)(7.8.3)Как только наличие таких соотношений разгадано, вычисление коэффициентов а, и 0, не составляет труда (см. упр. 7.8.1). Эти числа очевидным образом, как в (7.1.1), могут составить неразложимую симметричную трехдиагональную матрицу Т. Тогда, согласно упр. 7.8.2, для /=1, п
(7.8.3)
(7.8.3)
Ф/(6) = X/(£) — det [ё —Т1>7].
Таким образом, числа |у и со,- определяют единственную матрицу Т. Поставим теперь вопрос: как определить Еу и toy по заданной матрице Т? Другими словами, для каких скалярных произведений многочлены X/, / = 0, 1,, я, будут попарно ортогональными?
Теорема. Пусть Т = S0S*—спектральное представление неразложимой матрицы Т. Соответствующее ей скалярное произведение вида (7.8.1) получается при
^ = 9», <°i = ^t, 1=\, • ... п,
п
для произвольного положительного у; 2®/ = ?-(7.8.4)
Доказательство. Важное наблюдение состоит в том, что S* (а не S) «приводит» 0 к трехдиагональной форме Т. Поэтому, согласно следствию из теоремы (7.3.1),
S»e/+1(Py...p,) = X/(e)S*e1.
Ортогональность (/4-1)-го и (&4-1)-го столбцов S* дает
0 = 2 (X/ (0с) Sir) (Ха (9/) Si/) = (X/, Ха),
если взять в (7.8.1) coz-= s^ и ^ = 9г.
Какие еще значения для со,- могут подойти? Необходимое условие (Хо> Ха) = 0 требует, чтобы
2®cXa(9J = 0. ^=1, 2п—\,(7.8.5)
а при 6 = 0
2®с = Ь(7-8.6)
где у—произвольное положительное число.
Однако матрица G, схожая с матрицей Вандермонда и имеющая в качестве элемента (t, /) число X/-i (®с)> С / = 1, п, не вырождена (упр. 7.8.4). Поэтому система линейных уравнений (7.8.5), (7.8.6) имеет единственное решение {со1( ..., соJ для каждого положительного у.
Обычно берут у=1. В работе [Golub, Welsh, 1969] показано, как применить методы гл. 8 к вычислению чисел siz, i= 1, ..., п, не отыскивая всю матрицу S. См. также § 7.9.
Упражнения к параграфу 7.8
Обозначим через г) тождественную функцию т](У = ^. Взяв подходящее скалярное произведение, показать, что
«/+i = (W/. Ф/)/(фу- Ф/).
P/=(W/-i. Ф/)/(Ф/-ь Ф/-1)-
Положим Хо (?) ^ 1- Раскладывая det [|—Tj .1 по последней строке, проверить, что X/ также удовлетворяют соотношениям (7.8.2). Вывести отсюда, что ф;=Хг Для всех L
Пусть F —матрица с элементами /;у = 6(-1. Показать, что F не вырождена, опираясь на то, что det[F] есть многочлен от 0,-, /= 1, ..., п.
Пусть G = [x/-i (6/)]. Показать, что G не вырождена.
Какое скалярное произведение соответствует матрице вторых разностей!...—1 2 —1...] и как называется соответствующая система многочленов?
Собственные векторы Т
Имеется замечательная формула для квадрата любого элемента произвольного нормированного собственного вектора матрицы Т; есть также несколько очень красивых соотношений между элементами каждого собственного вектора.
О 1О 1Чтобы вывести эти результаты, напомним (классическое) понятие присоединенной матрицы, именно матрицы, составленной из алгебраических дополнений и вдобавок транспонированной. Например, если обозначить |B| = detB, то
О 1
О 1
I adj 1 г
Важность присоединенной матрицы проистекает из знаменитой формулы Коши—Бине
В-adj [B] = det [B] l.
Мы начнем с одного факта, относящегося к произвольным симметричным матрицам и доказанного в работе [Thompson, McEnteg- gert, 1968]. В нем используется характеристический многочлен х матрицы А и некоторые присоединенные матрицы связываются со спектральными проекторами H/ = Z;Z(, описанными в гл. 1.
Теорема, Пусть X=»ZXZ*—спектральное разложение матрицы X; Z = (zI, ..., z„) ортоаональная, Л = diag(X1Хп\ Тогда для i= 1, ..., п
' adj[\—A] = x'(Mz/z;,(7.9.1)
где %'—производная многочлена х-
Доказательство. При р#=^ матрица р—А обратима, и потому .■
adj [р—А] = det [р — А ] (р—А) ~1
= X (р) Z (р—A)-1 Z*
= ZA(p)Z*, A = diag(61, ..., бп), (7.9.2) где
бй=бй(н)=х(н)/(н—М = II (и—М-
/ * к
Элементы adj [В] суть суммы произведений элементов В и, следовательно, непрерывные функции от них. При р—»Х( обе части (7.9.2) имеют пределы. В частности, -
О, к ^ i, х'(М- ь=1>О, к ^ i, х'(М- ь=1>
О, к ^ i, х'(М- ь=1>
О, к ^ i, х'(М- ь=1>
откуда и следует нужный результат.
Прежде чем применить этот результат, к Т, напомним определение Т^, v в (7.1.1). Положим-
| det[r—T^v], p<v,
Приводимое ниже следствие теоремы (7.9.1) было указано в работе [Paige, 1971].
Теорема. Пусть Т = S0S* —• спектральное разложение трехдиагональной матрицы Т; S = (s1, ..., s„) ортогональная, 6 = = diag (9n ..., 9„). Тогда для р ^ v и всех j элементы sM (= е^) нормированных собственных векторов Т подчинены соотношениям
Xi, « (9/) s^ = Xi, ц-i (6/) Ри • • -Pv-i Xv+i, n (9/)-(7.9.3а)
В частности, если Qf — простое собственное значение (Т неразложима), то
^vd= Xt, и-1 (6/) Хи+1. п (9/)/Xi, а (9/).(7.9.3b)
Доказательство вынесено в упражнение 7.9.3.
Придавая специальные значения р и v, получим несколько ценных и наглядных соотношений между элементами S.
Следствие. Для всех / ^ п
svs„/.x'(6/) = Pip2...P„-i.(7.9.4а)
stx'(ey) = X2.„(e/),(7.9.4b)
s^X,(97) = X1,«-1(9/).(7.9.4с)
Напомним, что х (6) = Xi, по
следующий результат полезен при установлении сходимости различных итерационных методов вычисления собственных векторов.
Теорема. Если Т неразложима, то ее матрица собственных векторов не имеет нулевых элементов в первой и последней строках, а также в столбцах, отвечающих крайним собственным значениям. (7.9.5)
Доказательство. Поскольку Т неразложима, ее собственные значения различны по лемме (7.7.1). Таким образом, Д О#=0. По следствию (7.9.4а) sT/snj = Ц р,/х' О #=0. Рассмотрим теперь столбцы. Согласно теореме Коши о разделении (§ 10.1), нули Xi,n-i, Х2и и всех Xu. v лежат строго между 0, и 0„. По формуле Пэжа (Paige) (7.9.3) соответствующие собственные векторы не имеют нулевых элементов.
Таблица S для случайной матрицы Т порядка 25 приведена в примере 13.2.1.
Пример 7.9.1
Поучительную иллюстрацию (7.9.4b) дает случай п = 100, az = = 0, Рг-=1 при всех L Собственные векторы те же, что и у знаменитой матрицы вторых разностей (az =—2, Pz=l при всех V), a Xi, п(т) связан с многочленом Чебышева Тл+1, описываемым в приложении В. Положим (о = л/(« + 1). В данном примере удобнее занумеровать 0Z так, чтобы 0Т > 02 >. .. .
Собственные значения: 0/ = 2cos/<o, / = 1, ..., п.
j1
24950
0,0.1999X10’
Х'(^)0.5221х105
Д, = ^0.1915х10-“
Хз.юоС^)1.0
0.1996 X Ю*0.9328х 10"10.3110 X10"1
-0.1307X Ю50.5061хЧО2-O.5O5I х102
0.7654 х 10~-0.1976х 10'10.1980 х10"1
-1.01.0-1.0
11 В левом конце 3-й строки таблицы по-видимому должно быть s'^.- Прим, перев.'
Собственные векторы: л^ = Kxsint/ю, х=2/(« + 1). [sv-= = (—l)'+1s„z; следовательно, ь, „ (6/) = (— I)7*1 Pi •••₽„-,= = (—IV*1.] В действительности % (9) = х^'т (9/2). Отметим большие значения х'(9;), 1=1, 2, несмотря на то что 0j и 02 близки.
Упражнения к параграфу 7.9
Вычислить
1 О'2 1 1 21 О'2 1 1 2'2adj 1
1 О'
2 1 1 2
1 О'
2 1 1 2
О
и adj [ТД 3] для матрицы Т общего вида.
Показать, что 2 adj [7/ — А] = х' (А). i=i
Доказать теорему Пэжа (7.9.3), вычислив элемент (ц, v) матрицы adj [9у—TJ.
Указать значения р. и v, позволяющие установить следствие к геореме Пэжа.
Вычислить значения sTj и snJ- при всех / для матриц
7.9.6. Вычислить х'(^i) zizi и adj[Xi— А] для7.9.6. Вычислить х'(^i) zizi и adj[Xi— А] дляматрицы А =матрицы А =и]-и]-
7.9.6. Вычислить х'(^i) zizi и adj[Xi— А] для
7.9.6. Вычислить х'(^i) zizi и adj[Xi— А] для
матрицы А =
матрицы А =
и]-
и]-
Последовательность Штурма
Для данной матрицы Т последовательность характеристических многочленов (х/(£)> / = °- Ь «}, определенных в (7.8.3), есть последовательность Штурма, т. е. нули Xy-i разделяют нули X/- Этот результат является приложением теоремы Коши о разделении (§ 10.1). Интересное свойство последовательности Штурма состоит в том, что число совпадений знака у соседних членов числовой последовательности {х&©> ^ = 0, 1, .. ., п\, назовем его а(£), равно числу нулей х„> которые меньше, чем §. Если § < л. то
«(л)—а®
есть число собственных значений Т, заключенных в полуоткрытом интервале [£, л)- Рис- 7.10.1 показывает последовательность Штурма для простой (Зх 3)-матрицы Т.
Разделение нулей будет строгим, если Т неразложима; однако, матрица Wj;-, введенная в § 3.6, показывает, насколько слабыми
Рис. 7.10.1. Последовательность Штурма.
могут быть строгие неравенства. Для W2t наибольший нуль /2(, совпадает с наибольшим нулем %21 в первых 14 десятичных разрядах.
Если использовать трехчленные рекуррентные соотношения, указанные в § 7.8, то последовательность {х&©} можно вычислить ценой 2« умножений. Методом деления пополам (§ 3.5) собственные значения можно вычислить так точно или так грубо, как хочется (разумеется, в пределах, установленных округлениями).
Эта остроумная техника была предложена Гивенсом в 1954 году и с тех пор широко используется. Однако ту же информацию можно получить посредством треугольного разложения и теоремы Сильвестра об инерции, метода, который и более устойчив, и имеет более широкую область применимости (он описан в гл. 3). Поэтому от сослужившего свою службу метода вычисления последовательности Штурма {X/©} по трехчленным рекуррентным формулам можно теперь отказаться.
Наблюдательный читатель, возможно, заметил, что если 0—собственное значение Т, то
[1. хЛШ,^^(вш-р»-)]’(7.10.1)
есть собственный вектор Т (упр. 7.10.2). Однако, на практике, когда 0 — лишь приближение к собственному значению, пусть даже очень точное, указанный вектор может быть ортогонален к правильному собственному вектору. Метод, основанный на вычислении (7.10.1), совершенно неустойчив. Подробное и убедительное обсуждение дано в книге [Wilkinson, 1965, с. 316]. Этот вопрос рассматривается и в некоторых из последующих упражнений. Однако, алгоритм заслуживает дальнейшего изучения: уж больно скромны его требования к памяти.
Упражнения к параграфу 7.10 „
Показать, что если X/(I) определен как det [Т^ ,— £], тоа(§ даст число собственных значений Т, больших, чем £. Однако, при нечетном / многочлен X/ не будет нормированным .
Рассмотрев трехчленные рекуррентные формулы для (х/(6)}, показать, что (7.10.1) дает собственный вектор Т, отвечающий собственному значению 6.
Показать, что если 0 не является собственным значением, то вектор V, указанный в (7.10.1), удовлетворяет уравнению
(Т—0) v = е„х„ (9)/(— Pi... Р„ -1).
Заменить 0 на 04-60 и разложить каждый многочлен X/(9 + ^0) относительно 0, чтобы получить выражение для воздействия возмущений, вносимых в 0, на вектор (7.10.1).
Рассмотреть трехдиагональную матрицу (... — 1 2 —1...), собственные значения которой приведены в примере 7.9.1. Найти изменения в приближенном собственном векторе для различных собственных значений (внутренних и внешних), если 60=1О~1ОО и п=100.
Когда можно пренебречь внедиагональным элементом
Если pf — 0, то Т разложима, имеет вид diag(T1, Т2) и две подматрицы Tj и Т2 могут обрабатываться независимо, что дает некоторый выигрыш в эффективности. Более важно то, что некоторые методы (например, QL-алгоритм) требуют, чтобы вбякое такое распадение было обнаружено; процесс может сорваться, если неожиданно натолкнется на нулевое значение р.
На практике мы должны, следовательно, уметь распознавать случаи, когда Т разложима «в пределах рабочей точности». Ситуация с этой проблемой представляет собой наименее удовлетворительный аспект вычисления собственных значений симметричных трехдиагональных матриц. Полезно разделить несколько различных, хоть и связанных между собой вопросов.
Математическая задача '
Найти верхнюю границу в терминах элементов Т на изменение 60, вносимое в произвольное собственное значение 0, если Pz заменяется нулем.
Простой ответ: JdOyl^lPJ для всех / (упр. 7.11.1).
Неверный ответ: |60z | ^P2/min /ац—av (; минимум берется по всем а. =#аг.
Пример:
* 1_И2Т = ^2 2 . 0 р* 1_И2Т = ^2 2 . 0 рСобственные значения:
* 1_И2
Т = ^2 2 . 0 р
* 1_И2
Т = ^2 2 . 0 р
3 + О(Р2), ± Р/У 3 + 0 (Р2), если 6 очень мало;
3, ±0, если р = 0.
Более сложный ответ: положим ро = Рп = О и определим -
6,-^(az+i-aJ/2, P1^(1-1/K2)(PL,+P)+1). (7.11.1)
Тогда
/=1Oi+Pi
(7.11.2) _°i + Pz J
Доказательство дано в отчете [Kahan, 1966]. Автор применяет теорему Виландта — Хоффмана (см. § 1.6) к матрице, полученной в результате вращения в плоскости (I, «+1). Оценка затем минимизируется как функция от угла вращения.
Для простоты эту оценку можно несколькими способами ослабить. См. упр. 7.11.3.
Для большинства приложений простая оценка ]pz| слишком груба.
Пример 7.11.1. Для матрицыПример 7.11.1. Для матрицыТ =Т =' 3 10-5о' 3 10-5о10“52Ю'610“52Ю'6О "К)"5 1О "К)"5 1
Пример 7.11.1. Для матрицы
Пример 7.11.1. Для матрицы
Т =
Т =
' 3 10-5
о
' 3 10-5
о
10“52
Ю'6
10“52
Ю'6
О "
К)"5 1
О "
К)"5 1
указанный выше неверный ответ будет правильным.
Алгоритмическая задача № 1
Найти экономичный критерий для отбрасывания pz, если задана граница на величину допустимого возмущения в собственном значении. Если е—относительная точность основной арифметической операции, то граница может быть абсолютной, е||А||, или относительной, е( |а,-1 + |а/+1 ().
Алгоритмическая задача № 2
Для тех матриц Т, которые получены подобными преобразованиями из заполненных матриц А, найти экономичный критерий, решающий, для какого р,- отбрасывание «эквивалентно» ошибкам округления, уже сделанным при вычислении Т. Другими словами, нужно обеспечить, чтобы Т была в точности подобна матрице, достаточно близкой к А.
Потребность именно в простом тесте связана с тем обстоятельством, что QL-алгоритм может преобразовать Т в матрицу Т, более близкую к диагональной, ценой приблизительно 11 п умножений и п квадратных корней. Наш тест будет применяться ко всем п— 1 числам Р,- и почти всегда не будет срабатывать.
Вот в чем состоит затруднение: простой тестРг < е[| Т ]| упустит Р;, которым следует пренебречь, что может повредить QL-алгоритму. С другой стороны, тест, который обходится хотя бы в 5 умножений, значительно увеличит время, затрачиваемое на эту часть вычислительного процесса.
Выход из этого затруднительного положения—двухуровневый тест:
0. ..._
Если |Pf [^ Kejj Т ||, то перейти к 4.
Если [Р,-1 > выбранный тест, то перейти к 4. "
Положить Р, = 0.
...
В упражнениях предложены некоторые практичные тесты.
Последний внедиагональный элемент
В QL-алгоритме последним среди чисел рг вычисляется pv Здесь, по-видимому, имеются веские основания использовать более
точный тест, поскольку цель алгоритма как раз в том и состоит, чтобы сделать pj пренебрежимо малым.
В этом параграфе мы указали на некоторые проблемы, но не предложили ясного решения. Следует сообщить, что программы EISPACK версии 1977 г. применяют лишь простой тест |0J< < е(|а,.| + |а/+1|).
Упражнения к параграфу 7.11
Применить теорему Вейля о монотонности (§ 10.3) к доказательству того, что изменение 60 в любом собственном значении при замене р; на 0 удовлетворяет оценке
I 60 | < | Р; |.
Указание; из Т вычитается матрица ранга 2 специального вида.
Найти собственные значения матрицы
' i_ о'/22 р.
. 0М.
как функции от р.
Показать, что
ш!< (₽b + fJ? + ^+1) РМ
По поводу обозначений см. (7.11.1) и (7.11.2).
Применить вращение Якобн для аннулирования 0/. Это приводит к появлению —sf^-j в позиции (7+1, t—1) и sP^ + j в позиции (7+2, 7), где s=sin0. Исходя отсюда, показать, что
I Р< I I Р<-11 + 1 Pi+11) < 8 I 6, I (| а, | + 1 Oi*i I)
является разумным критерием для отбрасывания Р,.
Обратные задачи на собственные значения
Основная мода колеблющейся однородной струны, закрепленной на обоих концах, связана с наименьшим собственным значением X дифференциального уравнения —<р" + о<р = Х<р с краевыми условиями ф(а) = ф(Ь) = 0. Высшие гармоники (обертоны) связаны с другими собственными значениями. Если струна неоднородна, то константу ст следует заменить функцией ст (|), определяемой плотностью струны. Собственные значения новой задачи будут зависеть от ст, и в обратной задаче спрашивается, можно ли восстановить функцию ст (|), если известны все собственные значения. Ответ таков: при некоторых условиях и достаточной дополнительной информации это можно сделать. Один из проектов подобного рода состоит в том, чтобы определить свойства ядра Земли по результатам обширных замерений сейсмической активности на ее поверхности.
Если дифференциальное уравнение дискретизовано, получается трехдиагональная матрица и дискретная обратная задача заключается в построении Т по заданным собственным значениям 9П 92, .. ., 9„ и некоторой дополнительной информации. Предыдущие параграфы содержат достаточно материала для того, чтобы решить эту задачу в ряде важных случаев.
Мы записали спектральное разложение Т в виде
T = S0S* = (S*)*0S*,(7.12.1)
где S—матрица нормированных собственных векторов. Если 0 задана, то обратную задачу можно рассматривать как приведение (вероятно, точнее было бы сказать «расширение») 0 к трехдиагональной форме. Согласно единственности приведения [теорема (7.2.2)], Т и S* определены заданием 5% и 0. Параграфы 7.4 и 7.5, так же как и доказательство теоремы (7.2.2), описывают способы такого приведения, если S*ej уже имеется; именно, методы § 7.4 и 7.5 можно применить к матрице Р*0Р, где Р — произвольная ортогональная матрица, первый столбец которой есть S*ev Все, что остается, это найти s^, /=1, п.
. Случай 1: Симметрия относительно середины. Предположим, что Т должна быть симметрична относительно второй диагонали (из правого верхнего угла в левый нижний), так же как и относительно главной, т. е.
“/ —an+i-/> ₽/=₽„_/>0, /=1, .... [«/2].
Это условие соответствует струне и связанной с ней функции а (|), симметричным относительно середины интервала. Из двойной симметрии Т вытекает (упр. 7.12.2), что«1у=(—^п-1 snj, j= 1, ... ..., п. Используем это соотношение в формуле (7.9.4а):
Si/s„/X'(9/)=№... ₽„-,=₽. /=1, .... п, (7.12.2)
где х—характеристический многочлен обеих матриц: Т и 0. п
Следовательно, х'(9/)= П(9/—9Z), i^h и эти числа определены при заданной 0. Кроме того, р определяется условием нормировки пп
l-^st-p^l/U'tQ/)!,(7.12.3)
/=1/=1
и потому начальным вектором e[S будет вектор (| %'(9t) [~1/2, IX'(62) |'1/2I %' (9„) |-1/2) после того, как он будет подвергнут нормировке. В том, что элементы вектора S*et выбраны положительными, нет потери общности.
Случай 2: Спектр подматрицы. Предположим, что кроме 0 заданы еще собственные значения матрицы Т2- „. Эти числа ц,-, / = 1, ..., п— 1, не могут быть произвольными, а должны в соответствии с теоремой Коши о разделении (§ 10.1) разделять числа 0,-, т. е. w
61 < Ml < ®2 <61 < Ml < ®2 << И «-1 < 9,< И «-1 < 9,
61 < Ml < ®2 <
61 < Ml < ®2 <
< И «-1 < 9,
< И «-1 < 9,
Формула (7.9.4b) дает SV%' (6/) = %2, л (6/), /=1п.
п-1
где %2, л(6/) = П (6/—М-/) и может быть вычислено. Как и рань- 1
п
ше, %' (6у) = И (6/—6,.), i Ф j, и условие разделения гарантирует, tel
что %2, „/%' будет положительно в точках 0£. Следовательно, | sv | определено для /=1, ..., п и можно построить единственную матрицу Т с положительными р£.
Случай 2 соответствует физической задаче, в которой дискретизованная струна закреплена в первой внутренней точке сетки, а затем вычислены новые частоты.
Пример 7.12.1 дает результаты случая 2 для малой и простой задачи.
Пример 7.12.1
»•• (Ьт.М>1).
и- S3- 3_ Tl 21 1.40’ 24’ 12’ 42*
su-. (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).
В какой степени непрерывная функция о(^) определяется собственными значениями уравнения —ф"+стф = Хф, где ф(й) = = Ф0) = О, — это гораздо более тонкая и интересная задача, рассмотренная в работах [Hald, 1977J и [Hochstadt, 1975]. Оба автора исследуют также и приведенные выше матричные случаи, но используют при вычислении Т менее устойчивые алгоритмы.
Наш метод приведения матрицы Р*0Р к трехдиагональному виду прост для понимания и устойчив в работе, но не очень эффективен для больших задач. Более новые и эффективные методы описаны в статье [De Boor, Golub, 1978].
Упражнения к параграфу 7.12
Показать, что для каждого нуля бу многочлена X справедливо Х'(6/) = П(9/-8/),
Положим / = (е„, ..., ej, и пусть Т = 1Т1. Используя тот факт, что собственные векторы определены с точностью до скалярного множителя, показать, что sTj= ±sny, /= 1п. Показать, что если р, > 0 при всех i. то $!/ = $„/(—1)”-Л
Задание. Изучить требования к памяти в различных методах вычисления Т при заданных 0 и S*ep Необходимо ли хранить массив пхп в быстродействующей памяти?
Задание. Написать программу для вычисления H0H, где Н = = Н (w), w = f ± е,, a f = S*ev Затем обратиться к библиотечным подпрограммам, приводящим H0H к Т и вычисляющим собственные значения Т. Сравнить результаты с исходными числами б,-. Использовать для каждого набора 6,- различные множества разделяющих чисел ру.
Примечания и ссылки
Предложение приводить А к трехдиагональной форме Т вместо того, чтобы находить коэффициенты уд, было высказано в двух основополагающих работах [Lanczos, 1956] н [Givens, 1954]. Это приведение описано в ряде книг. Укажем лишь несколько: (Wilkinson, 1965], [Householder, 1964], [Stewart, 1973], (Fox, 1964].
Формулы, выражающие собственные векторы Т через собственные значения, использованы в работе [Paige, 1971], но не имеют широкой известности. С другой стороны, связь Т с ортогональными многочленами—это стандартный материал в анализе: [Szego, 1939] и [Golub. Welsch. 1969]. Критерий отбрасывания внедиагональных элементов содержится в неопубликованном отчете [Kahan, 1966].
Существует обширная литература по обратным задачам для дифференциальных-уравнений. Только после 1975 г. появились устойчивые и эффективные методы вычисления матрицы Т с заданными спектральными свойствами.
ГЛАВА 8
Алгоритмы QR и QL
. Введение
Хотя до 1958 г. ничего похожего на алгоритмы QR и QL не было и в помине, появившись, они быстро утвердились как самый эффективный способ нахождения всех собственных значений малой симметричной матрицы. Вначале посредством последовательности отражений (§ 7.4) заполненная матрица приводится к трехдиагональной форме, а затем QL-алгоритм быстро уменьшает величину внедиагональных элементов, пока они не станут пренебрежимо малыми. На каждом шаге алгоритма применяется довольно сложное подобное преобразование, чем порождается последовательность матриц, сходящаяся к диагональной матрице. Более того, сохраняется трехдиагональная форма.
Преобразование основано на ортогонально-треугольном разложении матрицы (скажем) В, а это разложение есть матричная формулировка процесса ортонормализации Грама—Шмидта (§ 6.7), примененного к столбцам В. Если столбцы берутся в порядке Ьп Ь2, ..., Ь„, то факторизация есть B = QrR, где R правая (или верхняя) треугольная, aQ^ = Q^. Если же столбцы берутся в обратном порядке Ь„, Ь„_1, ..., Ьп то результатом будет B = QlL, где L левая (или нижняя) треугольная и Q* = =Ql’1.
Психологически сильным сдерживающим фактором, препятствовавшим открытию алгоритмов, была, должно быть, высокая стоимость этого разложения. Однако ортонормальные матрицы Ql и Qr в изобилии появляющиеся в этой главе, никогда не вычисляются в явном виде. Преобразования QL и QR определены для любой квадратной матрицы. Поэтому мы отказываемся от свойства симметрии в тех параграфах, где даны формальные определения и основные свойства. Далее выявляются связи с другими, более простыми методами и дана в высшей степени удовлетворительная теория сходимости. В заключение обсуждаются различные реализации. .
8.2. QL-преобразование
Пусть даны матрица В и скаляр о, называемый сдвигом начала. Рассмотрим разложение матрицы В—о в произведение ортогональной и левой треугольной
В — o = QL.(8.2.1)
По Q, L и о определим В, QL-преобразование матрицы В, посредством формул
В = LQ + о
= Q*(B—o)Q + o (здесь использовано (8.2.1))
= Q*BQ,(8.2.2)
поскольку Q* = Q-1. Неясно, чем матрица В лучше В; никаких нулевых элементов в ней не появилось. Тем не менее QL-алгоритм со сдвигами упорно повторяет преобразование В—>-В.
QL-алгоритм
Для к=\, 2, ... и заданной последовательности (о^}, обсуждаемой ниже:
Найти QL-разложение QALA матрицы Bft—ок.
Определить Bft+1 ^Q^B^Q^.
Все матрицы Bft ортогонально подобны друг другу. Связь между Bfc+1 и Вг такова:
Bft+1 = Q^BA
= Qfe (Qfe-iBfe-i Qfe-i) Qfe
= P:B1P,i(8.2.3)
где
Pft = Q,Q8...Qfc(8.2.4)
есть произведение ортонормальных матриц и, следовательно, также ортонормальная.
QR-преобразование определяется аналогично, но в (8.2.1) QL нужно заменить на QR. Конечно, Qh В будут теперь отличаться от приведенных в (8.2.2).
Упражнения к параграфу 8.2
Показать, что РДь^В,— о) P^-t и, следовательно, Pften получается нормировкой вектора (Bt—a)P)i_1en.
Показать, что если о^ = 0 при всех А, го
Pfc (Lft...LaL1) = Bi.
Bj-oj = |
6.0
1.0
-з.о
0.6
4.0
-0.8
0‘
2.0
0.
г0.8 0
.0.6
0.6
0
-0.8
О’
1.0
0.
3.0
2.0.
6.0
.1.0
1.0
4.0
" 2.4
1.8
0"
*4—
’3.0
0.8
0.6
О’
B2-aj =
4.8
3.6
1.0
=
6.0
1.0
0
0
1.0
. 2.0
-1.0
4.0.
.1.0
4.0
2.0
.0.6
-0.8
0.
' Рис. 8.2.1. Один шаг QL-алгоритма.
Выполнить один шаг QL-алгоритма с Oi=0 для матрицы
Выполнить один шаг QR-алгоритма для примера иа рис. 8.2.1.
Сохранение ширины ленты
Если В = А = А*, то симметрия сохраняется, поскольку наши преобразования являются одновременно конгруэнциями и подобиями. То, что сохраняется и ширина ленты, можно видеть из рис. 8.3.1.
Что сохраняются нулевые элементы над диагональю А, показывает сам вид Q и L. Элементы под диагональю должны обращаться в нуль вследствие взаимного уничтожения, поскольку А симметрична. '
Сохранение трехдиагональной формы является весьма ценным свойством. Удивительно, что такая сложная и далеко не разреженная матрица, как QA, может сохранять трехдиагональную форму.
Упражнения к параграфу 8.3
Выполнить один шаг QL-алгорнтма с Oi = 0 для матрицы
1 01 О 11 11 01 О 11 1о
1 01 О 1
1 1
1 01 О 1
1 1
А = 1
О
Проследить за взаимным уничтожением в элементе (3,1) матрицы А.
Показать, что если Ь;у = О для ! < /—I, то при QL-преобразоваиии Ь,у = о Для i < j—i.
Ключ", * Ненуледые элементы• Элементы, обращающиеся в нуль вследствие взаимного уничтоженияРис. 8.3.1. Сохранение ширины ленты.Ключ", * Ненуледые элементы• Элементы, обращающиеся в нуль вследствие взаимного уничтоженияРис. 8.3.1. Сохранение ширины ленты.
Ключ", * Ненуледые элементы
• Элементы, обращающиеся в нуль вследствие взаимного уничтожения
Рис. 8.3.1. Сохранение ширины ленты.
Ключ", * Ненуледые элементы
• Элементы, обращающиеся в нуль вследствие взаимного уничтожения
Рис. 8.3.1. Сохранение ширины ленты.
Связь между алгоритмами QL и QR
QL-алгоритм представляет собой простую реорганизацию первоначального QR-алгоритма, и в теоретическом смысле оба метода не следует различать.
Чтобы формально описать связь между ними, удобно обозначить через Q/? [В] результат ортонормализации столбцов квадратной матрицы В в порядке Ьп Ь2, ..., b„; QL [В] получается при обратном порядке столбцов b„, Ьп_1, ..., Ь^ Если ясно, о какой матрице В идет речь, будем писать просто QA или Qi. Нужна будет также матрица I, полученная изменением порядка столбцов единичной матрицы на обратный. Заметим, что Г* = 1-1 = 1.
Между ортонормальными матрицами Qk [В] и QL [В] нет тривиального соотношения. С другой стороны, если В обратима, то справедлива.
Лемма. Qi [ГВ1]= IQ„ [В]1.(8.4.1)
Доказательство.
= (IQA[B]b(iRj).= (IQA[B]b(iRj).(8.4.2)(8.4.2)IBI = lQA [В] RSI
= (IQA[B]b(iRj).
= (IQA[B]b(iRj).
(8.4.2)
(8.4.2)
Поскольку Rs—верхняя треугольная, вторая строка (8.4.2) дает единственное QL-разложение матрицы IBI, что и утверждалось. Единственность доказана в § 6.6.
Вернемся к двум преобразованиям
QL: B_Q2BQl, Q^QJB-o],QR: В — Q*rBQ«, Q^ = Qr[B—а].
Лемма. Пусть {В^} и {В^} — последовательности, порождаемые соответственно QL и QR—алгоритмами при одной и той же последовательности сдвигов. Если Bf=IBfI, то
В^=ГвН(8.4.3)
для всех /г > 1.
Доказательство оставляется читателю в качестве упражнения 8.4.1.
Если В| сходится при к —* оо к нижней треугольной форме, причем наименьшие (по абсолютной величине) собственные значения находятся вверху, то В^ сходится к верхней треугольной форме и наименьшие собственные значения находятся внизу. Для симметричных матриц и QL, и QR-алгоритмы сходятся к диагональной форме. Единственная причина для введения QL-алгоритма— та, что некоторые типы задач порождают градуированные матрицы, в которых меньшие элементы уже находятся вверху матрицы, а большие—внизу; об этом говорится в § 8.13. Матрицы этого вида часто получаются из обобщенной проблемы А — ХМ, где М—плохо обусловлена, но положительно определена. Нижний треугольный множитель Холесского С, удовлетворяющий условию СС* = М, часто имеет столбцы, монотонно убывающие по величине'
||с1||>||с2||>...>||си||,
и приведенная матрица С-1АС~* будет градуирована аналогично матрице, указанной в § 8.13.
Упражнение к параграфу 8.4
Доказать лемму 8.4.3.
QL, степенной метод и обратная итерация
Теперь мы установим связь QL-алгоритма с более хорошо знакомыми нам методами, описанными в гл. 4. Пусть даны матрица А и некоторая последовательность сдвигов {oft, к=\, 2,. . .}. Три алгоритма, упомянутые в заголовке параграфа, порож-
дают три различные последовательности.
QL (при Al = A): (Ад), где Aft+1 = Q*AftQft и Xk—ak = QkLk. PM (Vi — произвольный единичный вектор): {vft}, где vft+1 = = (А—ak)vkhk и ||vft|j=l.
INVIT (U] — произвольный единичный вектор): |uft), где (A—oft)u6+1 = u6Tft и ||М=1.
Интересно, что при подходящем выборе vt и щ эти три последовательности тесно связаны. Связывает их матрица, введенная в параграфе 8.2 для описания связи между Ад+1 и А, а именно
P^Q.Q,... Qk, P0=L(8.5.1)
Напомним, что, согласно (8.2.3), Ад+1 = Р*АРд.
Теорема. Предположим, что ни один сдвиг ак не совпадает с собственным значением А. Если и^е, и vt = en, то для £^1, будет справедливо
^k = ^k-^ и vft = Pft_,e„.(8.5.2)
Вспомним, что если А трехдиагональная, то таковы же все Хк\ кроме того, Ад+1 будет однозначно определена матрицей Ад и либо вектором P4ef, либо вектором Рйе„ (§ 7.2).
Доказательство. Перепишем равенство Ад = Рд_!АРд_{ в виде
Рд-,Ае = АРд_1.(8.5.3)
Далее, . PftLft = Pft-1Q6Lft, согласно (8.5.1), = P4_j(Aa—oft), по формуле QL, ' = (А—Од)Рд_1, согласно (8.5.3).(8.5.4)
Приравняем последние столбцы в (8.5.4), учитывая, что Ьд—нижняя треугольная матрица:
Pfte„ = (A—Од) Pfc-1 e„/vft, v6 = e*Lte„. (8.5.5)
Заметим, что (8.5.5) определяет степенную последовательность со сдвигами, порождаемую А и Рое„. Поэтому если в указанном выше алгоритме PM V1 = Poe„(= е„), то vft+1 = Pfte„.
Чтобы получить аналогичное соотношение для uft, понадобится небольшая манипуляция, превращающая строки в столбцы. Транспонируя (8.5.4), получим
ЦР^Р^-ДА-Од).
Умножим это равенство слева на Рд_п а справа на Pft; тогда Рй-1Ц = (А-ад)Рд.(8.5.6)
Так как L^ верхняя треугольная, то
Pfc-ie1Tft = (A—ак) Р^, tk = e*1Uke1. (8.5.7)
Поскольку PU=I, то (8.5.7) определяет обратную итерацию со сдвигами, начинаемую с вектора еР Поэтому если в указанном выше алгоритме INVIT u1 = Pue1 = e1, то Р^е^и^.
Этот результат поднимает такой вопрос: могут ли когда-нибудь на практике указанные три различных метода иметь одну и ту же последовательность сдвигов? Ответ на этот вопрос дан в § 8.7.
Сходимость основного QL-алгоритма
Если сдвиги не используются, т. е. ок = 0 при всех к, то QL- алгоритм называют основным. Он связан одновременно и с прямой, и с обратной итерациями, проводимыми без сдвигов. Сходимость основного QL-алгоритма можно получить как следствие свойств сходимости этих двух простых итерационных методов.
Теорема. Предположим, что собственные значения А удовлетворяют неравенствам
o<AiI<I^I^...^IViI<IM=I|A||.
Пусть z; — нормированный собственный вектор, отвечающий Х;, /=1, п, и пусть {А6}—основная QL-последовательность, полученная из Aj = A. Если е/г^^О, t = 1, п, то при А—>оо справедливо
А^-^еАо Хкеп-*е^п.• (8.6.1)
Доказательство. Пусть (иА) — последовательность, порожденная обратной итерацией без сдвигов из u, = eP Сделанные предположения гарантируют в соответствии со следствием из теоремы 4.2.3, что u^ = zt+ О(|Х,А2I6) при к—*оо. По теореме (8.5.2)
е, = PU (Pt-A) - P^u* = Рк_А + О (| А,А2 Iй).
Используя (8.2.3), получаем
Аа = P*-iAuft
= Pfc_1[zA +О(| ХА!6)]
= eAi + О(| XjA2 |ft), к—^-оо.
Аналогично, используя степенную последовательность {v6}, показываем, что Айе„ —* епХ„.
С QL и QR-алгоритмами связаны два представления о сходимости. Строго говоря, сходимость следовало бы понимать как сходимость матричной последовательности {Aft} к некоторой пре-
дельной матрице. На практике, однако, как только g AAet — e^’ll становится пренебрежимо мала, а$ берут в качестве собственного значения, а вычисления продолжают с подматрицей, полученной отбрасыванием первой строки и первого столбца. Другими словами, в QL и QR-алгоритмы встроена устойчивая форма исчерпывания, обсуждавшаяся в § 5.3. Поэтому второе представление относится лишь к сходимости векторной последовательности {А^е,} к пределу е^.
Мы будем пользоваться исключительно вторым толкованием.
Результат, установленный в теореме (8.6.1), важный, но пока что не слишком хороший. Для заполненной матрицы каждый шаг QL стоит дорого (и3ops), а сходимость линейная с неизвестными и часто очень плохими коэффициентами сходимости. Сила практичного алгоритма проистекает из а) сохранения ширины ленты (что снижает цену одного шага для трехдиагональных матриц до О (п) ops) и б) использования сдвигов, чтобы сократить число шагов.
Как показано в § 7.9, предположения 6*2,=/= О и е^2„=/«0 в теореме (8.6.1) выполняются для всех неразложимых трехдиагональных матриц.■
Перейдем теперь к вопросу о выборе сдвигов ок.
Отношение Релея как сдвиг
Основной QL-алгоритм для неразложимой трехдиагональной А сходится в один шаг, если А вырождена. Поэтому сдвиги выбираются так, чтобы аппроксимировать собственные значения. Сходимость основного алгоритма обеспечивает, что o^^e^^e, —* Xf при k—► оо, поэтому кажется разумным использовать а$ в качестве сдвига после того, как значение этого элемента уже в какой- то степени установилось. Однако обсуждаемая ниже стратегия сдвигов отбрасывает осторожность и использует а^ как сдвиг с самого начала. Формально
ок = а^, =е*Хкег, к=\, 2 (8.7.1)
Неожиданно оказывается, что ак совпадает с отношением Релея рк, применяемым в RQI (§ 4.6). Чтобы отличать RQI от INVIT (первый является специальным случаем последнего), будем писать хк вместо и^.
Теорема. Если RQ1 начинается с х, = е, и QL использует сдвиг (8.7.1), то pfc (г х£Ах6) = afc при всех к.(8.7.2)
Доказательство. Первоначально
o1 = e1*AIeI = Xi'Ax1 = pl.
Примем в качестве предположения индукции, что ок = рк для к=1, ..., /. Тогда теорема (8.5.2) показывает, что Р^е^х^, для k = 1, ..., Следовательно,
®/+i= ei А/+16! = Ci Ру АР^ = х/+1Ах/ + 1 = ру+1.
По принципу индукции результат справедлив при всех к.
Все сво ва сходимости RQ1 (§ 4.7, 4.8 и 4.9) можно теперь перевести в утверждения относительно QL с этим конкретным сдвигом.
В частности, пусть гй = (А — pjx^ обозначает вектор невязки для хк, и пусть в QL-алгоритме со сдвигом (8.7.1) получена матрица
Тогда (упр. 8.7.5) (Ьк|| = Цгкg. Далее, пусть Ф*. = /(хй, zj —угол ошибки. Если фй—>0 при к—* со, то (упр. 8.7.3)
l|r6||/lsinvJ-^|X2—XJ. (8.7.3)
Асимптотически кубическая сходимость фй к нулю (теорема 4.7.3) влечет то же поведение Цгй|(= || b6|D- Обычные доказательства того, что отношение ||Ьй+1||/||Ьй|]3 имеет конечный предел (в предположении, что ЦЬдУ—► 0), являются довольно сложными.
Переходя к глобальному поведению QL-алгоритма, заключаем, что J Ьй|| ^ || b^j || при всех к (согласно § 4.8) и || Ьй || —* 0 для почти всех А (§ 4.9). Однако, существуют все же недиагональные матрицы, инвариантные относительно QL со сдвигом по отношению Релея. Простейший пример—матрица
Однако малейшее возмущение этой матрицы А приводит к сходимости.
Никому ещё не удалось построить матрицу Ап такую, чтобы в точной арифметике последовательность {Aj, порождаемая QL- алгоритмом со сдвигами (8.7.1), не сходилась и в то же время была нестационарна, хотя такие матрицы и должны существовать. Простая стратегия сдвигов по отношениям Релея превращает QL в мощное средство диагонализации матрицы. В § 8.9 будет описана несколько более сложная стратегия, дающая еще лучшие результаты.
Упражнения к параграфу 8.7
Сформулировать и доказать аналог теоремы (8.7.2) для QR-алгоритма.
Вычислить А2, если
Аг =Аг =ПО 1 ОПО 1 О1 О
Аг =
Аг =
ПО 1 О
ПО 1 О
20 2
2 30
и 01 = 10.
Используя разложение x* = Zi cos <ps4-Wfcsln<pfe, z*w* = 0, |J wfcfl= 1, показать, что
II г ft ||2= sin2 <pft ^|| (А—pfe) wte II2+ у (11—Р (wft))2 sin1 и тем самым установить (8.7.3).
Доказать, что при к —► оо и Хд —у Zj
111—Pfc+i |/| 11—Р» Is —► 1.
Используя указанное в тексте разбиение Aj иа блоки, показать, что ||b»||=||rft||, хотя bft ф гк.■
Показать, что основной QL-алгоритм, примененный к вырожденной неразложимой трех диагональ ной матрице, должен сходиться за один шаг.
Внедиагональные элементы
В контексте обратной итерации единственный вектор, которым мы располагаем на fe-м шаге, —это текущее приближение иА к собственному вектору; естественно поэтому брать в качестве сдвига отношение Релея. Однако в случае QL-алгоритма имеется матрица А*, и потому можно вычислить более точное приближение к 1Р Более того, если At трехдиагональная, то это уточненное значение можно получить очень малой ценой. Прежде чем подробно обсудить такие сдвиги, посмотрим на результат одного QL- преобразования с произвольным сдвигом а для трехдиагональной матрицы А. Формулы таковы:
(8.8.1)
Поскольку ширина ленты не меняется, Т также трехдиагональная и, следовательно, в формальном смысле, Т есть результат «приведения» Т к трехдиагональной форме посредством Q. По теореме (7.2.2) Т полностью определяется матрицей Т и либо вектором qn либо вектором q„. Рассмотрим последние столбцы обеих частей равенства Т—o = QL. Видим, что q„ есть кратное вектора (0, .., О, Р^-п ап—ст)*. Этот факт используется при реализации преобразования (см. § 8.12 и 8.13). Оказывается, напротив, что анализ упрощается при описании Т посредством qn а не q„. Если ст—собственное значение, алгоритм сойдется немедленно; поэтому нам нужно рассмотреть лишь случай, когда ст не является собственным значением.
Из связи с обратной итерацией [теорема (8.5.2), к = 2] следует
41 (= РА) = (Т—0)-*€^,.
или
(Т—o)ql = e1T,
T=l/||(T-CT)-iel|| = ||(T-CT)q1||.(8.8.2)
Нормирующий множитель т играет в последующем центральную роль. Результаты § 7.3 характеризуют новые внедиагональные элементы р; посредством некоторых нормированных многочленов. В частности,
|p1| = min^(T)q1|| по всем ф© = £—р ^||(Т—o)q1[| = T,согласно (8.8.2),(8.8.3)
и
|pip2| = min^(T)q1|| по всем нормированным многочленам степени два, ^||(Т—о^ЦТ—CT)ql||, ловкий выбор,
= |(Т—aje^fl, согласно (8.8.2), .
= |е2Р1Тi = l0i т.(8.8.4)
Эти соотношения (8.8.3) и (8.8.4), справедливые при всех ст=^Лу[Т], показывают потенциальную полезность нормирующего множителя т из (8.8.2).
Хотя можно получить точные выражения для р, и РД (§ 8.11), они более сложны, чем верхние оценки для т. Для наших целей таких оценок вполне достаточно.
Оценка невязки при сдвиге по Уилкинсону
Пусть формулой (8.8.1) задана матрица Т. Сдвиг по Уилкинсону о)—это то собственное значение матрицы
Г «1 Р>.Pl «2J ’
Рис. 8.9.1. Сдвиг <о по Уилкинсону.
которое находится ближе к аР В случае равенства а, = а2 выбираем меньшее из собственных значений, именно а,—jpj. Такой сдвиг, очевидно, лучше, чем av если (3, либо р2 малы. Одна из формул для О)
о) = (а, +«2)/2 —sign (6) V^-H^t
где 6 = (а2 —«0/2, но лучше будет такая формула (упр. 8.9.1): со = а,—sign (6) р®/(| 6 | +'/6г + Р?)-
Из рис. 8.9.1 видим, что
о)| ^|а2—о)|,(8.9.1)
равенство имеет место тогда и только тогда, когда 6 = 0. Замечая, что |^ | есть среднее геометрическое чисел |aj—со] и |а2—со |, находим
Jpil |a2-M| V
причем равенство имеет место тогда и только тогда, когда 6 = 0.
Наша цель, вытекающая из (8.8.4), состоит в том, чтобы получить оценку для т = ||(Т—®) qi II = 1/Ц р ||, где р определяется уравнением
(Т—<о)р = е1.(8.9.3)
Лемма. Если сдвиг со по Уилкинсону не является собственным значением Т, то единичный вектор Qj определяется уравнением (Т—<o)q1 = e1r и_
||(T-<o)q1F = T2^min{2ph И, |РД|//2}.(8.9.4)
Доказательство. Пусть вектор р из (8.9.3) имеет элементы л2, л2, ... , л„. Тогда
т2 = 1/|р||2 С 1/(л? + л| + л^.(8.9.5)
Для удобства положим аг = аг—о. Тогда первые два уравнения из (8.9.3) можно записать в виде
®1Л1+Р1Л2*=1,(8.9.6)
Р1Л14-аая24-рала = 0.(8.9.7)
Исключая л, и используя равенство a1aa = Pi, находим
О+0 + Ралз= — Р1/®1-(8.9.8)
Замечательно, что л, зависит лишь от ап р4, 0а. Напротив, л^ и ла зависят от всех элементов Т—со. Однако простую оценку для лН-л£ можно получить из линейного уравнения (8.9.6) и элементарной геометрии (упр. 8.9.2)
л? + л22>1/№ + Р12)-(8.9.9)
}L. Р1 I«1 + pi «1 р2 )}L. Р1 I«1 + pi «1 р2 )Подставляя (8.9.8) и (8.9.9) в (8.9.5), получаем
}L. Р1 I«1 + pi «1 р2 )
}L. Р1 I«1 + pi «1 р2 )
(8.9.10)
Эта оценка имеет более сложный вид, чем нужно. Согласно (8.9.2), та^(1/2р? + 1/№)-1^тт{20|, $}.' (8.9.11)
Наконец, поскольку среднее геометрическое не превосходит среднего арифметического, из (8.9.11) можно вывести также
та^уНЖР1.(8.9.12)
и лемма доказана.
Среднее выражение в (8.9.11) есть деленное пополам среднее гармоническое чисел 23, и Pi.
Упражнения к параграфу 8.9
Показать, что обе формулы для <о в точной арифметике эквивалентны. Найти пример, в котором при вычислении по первой формуле теряется половина знаке®. Показать, что при вычислении по второй формуле такой потери не может произойти..
Найти точку (£, тр на прямой Xg-|-p.ti=l, ближайшую к началу координат.
Трехдиагональный QL-алгоритм . сходится всегда
Для произвольной неразложимой трехдиагональной матрицы Т, алгоритм QL порождает последовательность неразложимых трехдиагональных матриц (Т6, к = 1,2. ...}. Замечательный факт
состоит в том, что при сдвигах по Уилкинсону PiA> быстро стремится к нулю при ^ —>- оо. Единственное предположение: арифметика выполняется точно.
Из этой теории проистекает несколько практических преимуществ: 1) нет нужды в тесте, улавливающем правильный момент для переключения с одной стратегии сдвигов на другую; 2) нет необходимости добавлять к программам операторы для проверки и обработки редких специальных случаев и 3) на число итераций, допускаемых при вычислении одного собственного значения, можно установить верхний предел, скажем 30. Эта последняя возможность гарантирует быстрое исполнение в конечной точности, не ограничивая существенно область применимости алгоритма. См. упр. 8.10.1.
В отличие от стратегии сдвигов по отношениям Релея, где oh = a^\ здесь внедиагональный элемент р^ не обязан убывать на каждом шаге. Монотонность принесена в жертву гарантированной сходимости к нулю. • '
Одна из трудностей при анализе немонотонного процесса состоит в том, что неизвестно, сколько последовательных шагов следует рассмотреть, чтобы выйти на основной режим. К счастью, в нашем случае достаточно одного шага, ибо величина PiP2 уже монотонно стремится к нулю, мажорируя при этом 0®.
Теорема. Трехдиагональный QL-алгоритм со сдвигами по Уилкинсону сходится всегда, т. е. 0^’—*0 при к->-оо. (8.10.1)
Доказательство. Пусть Т и Т — соседние члены трехдиагонального QL-алгоритма. По лемме 8.9.4
01 <т®^ min {20®, 0!, I0J0J/K2}.
Используя теперь первую и третью кандидатуру на Этот минимум, получаем
|Р1|3 = |Р1НРМ<(К2|01|)(|0А|//2) = |0|0г|. (8.10.2) Далее рассматриваем последовательность {(0ift>)202ft>}- Произведение (8.8.3), |0J<t, и (8.8.4), 1010а | < 101 |т, дает
101081 < 1011 т® < 101Ы 0108 |/Г2. (8.10.3) Следовательно, при fe —► оо
1016+n |3 < I (01ftT РГI < I (Pi1!2 Pi1* |/(/2)^-1 о.
В следующем параграфе показано, что для достаточно больших к, а часто уже при к > 2, реальная скорость сходимости много выше, чем указано в приведенном выше доказательстве. Важность теоремы (8.10.1) в том, что сходимость гарантирована и с самого начала не хуже линейной.
В высшей степени замечательно, что скромный переход от сдвига по отношению Релея (а = аи) к сдвигу по Уилкинсону (а = о)) преобразует сходимость почти всегда в сходимость всегда. Однако при сдвиге по отношению Релея не обязательно ограничиваться лишь трехдиагональными матрицами; теория гл. 4 не зависит от системы координат. Можно спросить, существует ли стратегия сдвигов, гарантирующая сходимость обратной итерации с любого начального вектора? Ответ утвердительный, поскольку предположение о трехдиагональности не есть реальное ограничение, а скорее удобное нормирование. Единственная задача состоит в том, чтобы выразить сдвиг по Уилкинсону в геометрической форме, и сейчас это будет сделано.
Пусть и—текущий вектор в обратной итерации для заданной симметричной матрицы А. Согласно единственности приведения [теорема (7.2.2)], существует единственное ортогональное преобразование Q такое, что Q*u = e, и Q*AQ = T— трехдиагональная. Теперь мы перенесем сдвиг со из трехдиагональной формы в исходную постановку.
Определение. Даны Айи, причем Ди[|= 1. Положим
di = u*Au, r = Au — u«i, Pi = Jrj, a2 = r*Ar/Pt
Тогда то собственное значение со матрицы W2, которое находится ближе к ап есть сдвиг по Уилкинсону для обратной итерации:
(А—со) и = их.
Если А заполнена, то вычисление со требует формирования Аг, так же как и Au, что является дорогой платой. Для QL-алгоритма и = е1( и потому лишь необходимость вычисления Аг является аргументом против использования со для матриц общего вида. Однако если А имеет ширину ленты 2m +1, то цена вычисления Аг равна m2ops и при т<^.п кажется обидным не пользоваться со, пожиная при этом плоды гарантированной сходимости.
Упражнения к параграфу 8.10
Возьмите любую, какая вам по душе, трехдиагональную матрицу порядка 10. Обозначим ее То. Пусть Т (т, 6) —трехдиагональная матрица, полученная соединением т копий То, как показано на рисунке.
Используя библиотечную QL или QR-программу, вычислить собственные значения Т ^т, 6) и начертить график максимального числа итераций, необходимых при вычислении одного собственного значения, как функции от 6 при малых
7(3, 5) =7(3, 5) =
7(3, 5) =
7(3, 5) =
значениях 6(е/10, е, 10е, ... , 105е). Сделать это для различных значений т (5, 10, 15, 20). Мы обнаружим, что QL-алгоритм может сходиться медленно. Неясно, как следует выбирать сдвиги, чтобы заставить уменьшаться лишь одно из чисел 6.
Объяснить приведенное выше определение сдвига по Уилкинсону для матрицы А, ие являющейся трех диагональной.
Асимптотическая скорость сходимости
При сдвигах по отношению Релея QL-алгоритм сходится почти всегда, и если он действительно сходится, то асимптотическая скорость сходимости кубическая. В трехдиагональном случае последовательными значениями р, могли бы быть числа 10-1, 10~3, 10-е, 10-27. При сдвигах по Уилкинсону асимптотическая скорость сходимости почти всегда лучше кубической; однако никто еще не сумел доказать невозможность (всего лишь) квадратичной сходимости к одной очень специальной предельной матрице. При обсуждении асимптотического режима будет удобно опустить итерационный индекс к, от которого зависят все величины.
Типичный шаг QL-алгоритма преобразует трехдиагональную матрицу Т в матрицу t = Q*TQ, где
|р!| <т= 1/||(Т—а)-1 е^Ц(8.11.1)
и о—сдвиг. Оценка для т из леммы (8.9.4), которая имела критическое значение при установлении глобальной сходимости, слишком груба для асимптотического режима.
Прежде всего получим точное выражение для |pj.
Лемма. Пусть f=»Q*TQ есть QL-преобразование Т со сдви- еом а, т. е.
(Т—a) Qi = etT.(8.11.2)
Тогда
|Р, | = т | sin ^Х (qt, eJJ.(8.11.3)
Доказательство. Пусть 9=^(qi, ej. Переупорядочивая члены равенства QTe1 = Tq1, находим
q2Pi = Tqi — qA
= (I—qiq?)Tqi, так как a1 = qJTq1,
= (I—qiqi) (q^ + e^) согласно (8.11.2)
= T(et—qt cos 6).
Поскольку q2— единичный вектор, то
Pi = т2 (1 — 2qiet cos 6+cos2 6) = та sin2 0.
Обычно если Pj стремится к нулю, то р2 и ра также стремятся к нулю, только гораздо медленнее. Следовательно, все три элемента ап а2 и аа приближаются к собственным значениям; но к каким именно собственным значениям, мы в общем случае сказать не можем. Исход в большой степени зависит от начального сдвига. Однако, если собственные значения получаются в естественном порядке, можно высказать точное утверждение относительно асимптотической скорости сходимости. Как и прежде, мы опускаем итерационный индекс к.
Элемент ^ полностью определен вектором qt. Удобным кратным qt является вектор р = (лп л2, ..., л„)*, введенный в (8.9.3) уравнением
. (Т-а)р = е1.(8.11.4)
Теорема. Пусть QL-алгоритм со сдвигами по Уилкинсону применяется к неразложимой трехдиагональной матрице Т. Тогда Pi —0 при k—юо. Если, кроме того,
■Р2^0, ра-^0 и ^-^.[Т], 1 = 1, 2, 3,(8.11.5),
то при к оо
| ^/pSli | — 1/| Х2— К р | Xe-Xi |0.(8.11.6)
Удобно будет положить а,=а,-—со. Тогда, согласно (8.9.2), ata2=Pt
Доказательство. Пусть a = a>. Из первых трех уравнений (8.11.4) выразим nt, л2 и ла через л4. Тогда получим (упр. 8.11.1)
a2a3 | a2P 3^4 I а2
®2®3 Рзл4
"2=-&-(8. Н.7)
Гарантированная сходимость QL-алгоритма обеспечивает, что Pt —> 0, о^—>0 при к—>оо, но судьба р2 не определена. Предположение (8.11.5) дает р2 —> О и, что особенно важно, гарантирует также, что все остальные элементы вектора р, именно л4, ..., лп, ведут себя при к —> оо как О(|Рала|). Доказательство этого утверждения вынесено в упр. 8.11.2. В конечном счете в р будут преобладать компоненты л3 и л2, а в правых частях выражений (8.11.7) для л3 и л2 будут преобладать первые члены. Поэтому при к —* оо
Нужный результат вытекает из леммы (8.11.3).
На практике сходимость р, столь быстрая, что при вычислениях с 14 десятичными разрядами исчерпывание, как правило, происходит прежде, чем р2 и ра войдут в асимптотический режим. Это явление иллюстрируется примером 8.11.1.
Пример 8.11.1.
Локальная сходимость QL-алгоритма
/=1.
г
..., 10,
1
где аи =
2
' 21 —
1
0
3
1 при (= /, при 1—/= 1, в противном случае,
4
Таблица 8.11.1
МА]
0.549129
2.95307
4.99785
6.99995"
Шаг
Сдвиг
\Px/P3xPl\
Рх
А
А
Ра
0
—
1.0
1.0
1.0
1.0
1
0.585786
0.01724
-0.01724
0.5427
0.6825
0.7589
2
0.549132
0.01434
2 X 10-8
0.2991
0.4736
0.5801
3
0.549129
ю-2и
0.1617
0.3280
0.4437
0.016181
= 1/61.801 =
1/[(А2 -
ХЛ^з - X,)]
Шаг Сдвиг
|Л/Д3Д2| РхРгРз Ра
3
4 2.95323
52.95307
10-210.16170.32800.4437
0.02778МГ21-1Х10"50.16630.2976
КГ2110-,8t0.083930.1994
0.028902 = 1/34.599 = 1/(Х3 - Х2)3(Х4 -'Х2)
♦Шум
Остается показать, почему предположение (8.11.5) может не выполняться. Рассмотрим матрицу
'0 0 0 0'
т и 0 0 1 0”0 10*
.0 0**.
Если QL-программа не сумеет распознать, что Pi=0, то при сдвиге по Уилкинсону Т„ будет инвариантна относительно QL. Вполне вероятно, что при небольшом возмущении Т. получится матрица, для которой QL алгоритм сходится к Т„. В таком случае Ргт^О, в то время как а2 —► 0. Однако в р по-прежнему преобладает лп но теперь это выявляет третий член в выражении для лР При к —► оо
T = O(pt/|a2|) = O(|aJ),
.| sine | = О(| р1|),
|P1| = O(|aipi|) = O(PD.
Таким образом, даже в этих обстоятельствах сходимость квадратичная.
Здесь мы закончим обсуждение сходимости QL-алгоритма. Остальные параграфы посвящены проблемам реализации.
Упражнения к параграфу 8.11.
Вывести (8.11.7) из (8.11.4).
Положим р*=(лр л2, л3, $*). Показать, что е1лара + (Т4)„ —to) s=0. Используя теорему Коши о разделении (10.1.2), показать, что Ц (Т4] „—to)-1 Ц ограничена при to—»■ kv Вывести отсюда, что | л„/ла | =0 (Ра) при к—> оо. Считать, что выполняются условия (8.11.5).
Исследовать асимптотическую скорость сходимости при предположениях р2—* 0, аа—>• 0, Рдт^О.
Трехдиагональный QL-алгоритм с явными сдвигами
Трехдиагональная форма сохраняется QL-преобразованием (см. § 8.3), и в этом параграфе будет показано, как перевести Т в f = Q*TQ экономичным способом. Пусть о—сдвиг, тогда Т—o = QL и ортогональная матрица Q должна быть так называемой нижней матрицей Хессенберга (т. е. <?,у = 0 при i < /— 1), что можно увидеть из рис. 8.3.1. К счастью, как мы сейчас покажем, Q не нужно формировать в явном виде.■
Представим себе приведение Т—о к L посредством последовательности из п—1 плоских вращений.
Q*(T-o) = R1... R„_1(T-o)=L,(8.12.1)
где каждое Ry = R (/, / + 1, 0у) выбрано так, чтобы аннулировать элемент (/, /4-1) текущей матрицы. Плоские вращения описаны в § 6.4. Приведем несколько «стоп-кадров» процесса. Удобно будет обозначать cos0y через Ср sin0y через Sp
Начнем с двух нижних строк и положим а£ = аг—а.
сп-1сп-1сп-1сп-1О Рп—2• ОО Рп—2• О«п-1Рп-1«п-1Рп-1Рп-1 «пРп-1 «пО Сп-1Рп-2' Sn-lPn-2О Сп-1Рп-2' Sn-lPn-2ОО(8.12.2)(8.12.2)где t,n— Рл-14“КП, Лп-1— С„_1а„_15Л-1Р|Последнее уравнение определяет 9я-1, но нам, разумеется, нужныгде t,n— Рл-14“КП, Лп-1— С„_1а„_15Л-1Р|Последнее уравнение определяет 9я-1, но нам, разумеется, нужны= c„_1ai= c„_1aiСП-1Р|СП-1Р|'п-1 sn-ian — О-'п-1 sn-ian — О-лишь зп_1 = рп_1/£п и ся_1=ая/^„. Далее применяем R„_2; строки п—2 и п—1 приобретают видлишь зп_1 = рп_1/£п и ся_1=ая/^„. Далее применяем R„_2; строки п—2 и п—1 приобретают вид
сп-1
сп-1
сп-1
сп-1
О Рп—2
• О
О Рп—2
• О
«п-1
Рп-1
«п-1
Рп-1
Рп-1 «п
Рп-1 «п
О Сп-1Рп-2
' Sn-lPn-2
О Сп-1Рп-2
' Sn-lPn-2
О
О
(8.12.2)
(8.12.2)
где t,n— Рл-14“КП, Лп-1— С„_1а„_15Л-1Р|
Последнее уравнение определяет 9я-1, но нам, разумеется, нужны
где t,n— Рл-14“КП, Лп-1— С„_1а„_15Л-1Р|
Последнее уравнение определяет 9я-1, но нам, разумеется, нужны
= c„_1ai
= c„_1ai
СП-1Р|
СП-1Р|
'п-1 sn-ian — О-
'п-1 sn-ian — О-
лишь зп_1 = рп_1/£п и ся_1=ая/^„. Далее применяем R„_2; строки п—2 и п—1 приобретают вид
лишь зп_1 = рп_1/£п и ся_1=ая/^„. Далее применяем R„_2; строки п—2 и п—1 приобретают вид
Сп-2 sn-2Сп-2 sn-2-^-2 1 •^-2] •-^-2 1 •^-2] •’ 0 Рп-з “„-з Рп-2 9’ 0 Рп-з “„-з Рп-2 9
Сп-2 sn-2
Сп-2 sn-2
-^-2 1 •
^-2] •
-^-2 1 •
^-2] •
’ 0 Рп-з “„-з Рп-2 9
’ 0 Рп-з “„-з Рп-2 9
о С.-'Р.-п 7Г„ , О Л 1• И *. П1
•'0=п-2Рп-3""п-2ОО
"'"5п-гРп-з♦$п-1О
и так далее, до тех пор, пока не будет получена L.
На втором этапе строится матрица Т согласно уравнению
t—o = LQ = LR’_1 ... R;.(8.12.3)
Затруднение при таком прямолинейном подходе состоит в необходимости хранить все величины с( и s£, i = n — 1, п— 2, . .., 2, полученные во время первого этапа, задаваемого соотношением (8.12.1). Однако, когда матрица R„_2Rn-i (Т—о) вычислена, последние два ее столбца имеют окончательный вид столбцов матрицы L. Следовательно, R^_, можно применить справа уже сейчас, не дожидаясь, пока L будет сформирована полностью. После того как это сделано, сп_х и s„_] больше не нужны. Реальные вычисления протекают еще более сложным образом, чем мы здесь указали.
Поскольку f трехдиагональная, то элементы L в позициях (/, /—2) должны в конечном счете обратиться в нули. Они не влияют ни на какие другие из вычисляемых величин, и их можно
игнорировать. В действительности посредством изобретательных алгебраических манипуляций можно добиться того, чтобы t—а получалась на месте, прежде занятом матрицей Т, используя всего лишь шесть рабочих слов памяти, п— 1 квадратных корней, 3(га—1) делений, 10(га—1) умножений и 10 (га—1) сложений. Флюктуации во времени исполнения основных арифметических операций затрудняют точную сравнительную оценку этих цифр. .
Полные сведения относительно алгоритма приведены в алгоритме 11/3 Справочника и соответствующих параграфах инструкции к E1SPACK (см. § 2.8).
Сдвиг о не восстанавливается; вычисляется именно матрица t—а. Поэтому в процессе итераций нужно хранить текущую сумму сдвигов.
Иногда на ранних этапах алгоритма неудачный выбор сдвига может повести к утрате информации, содержащейся в элементах а;. Поэтому мы опишем другую реализацию.
Вытеснение выступа
Существует способ выполнить преобразование Т—>f = Q*TQ так, что единственными модификациями Т будут плоские вращения, и нет необходимости вычитать а из диагональных элементов.
Первое вращение Rn-1 выбирается в точности так же, как в предыдущем параграфе, именно tg 9„_1 = р„_1/(а„—о) и Т умножается на Rn-1 слева, как показано в (8.12.2). Далее, вместо умножения слева на R„_2 матрица умножается справа на R^, чем завершается подобное преобразование Т. Применяя R*_j к (8.12.2), получаем '
«л_2С„-1 Р„-25п-\Рп-г«л_2С„-1 Р„-25п-\Рп-гсп-\Рп-гсп-\Рп-гSn-lPn-2Sn-lPn-2(8.13.1)(8.13.1)
«л_2
С„-1 Р„-2
5п-\Рп-г
«л_2
С„-1 Р„-2
5п-\Рп-г
сп-\Рп-г
сп-\Рп-г
Sn-lPn-2
Sn-lPn-2
(8.13.1)
(8.13.1)
где V„-i = с„_1Л„_1 и а„ можно выразить через сп-1 и sn_v Однако, поскольку след сохраняется, имеем
Трехдиагональная форма нарушена в позициях (га, га— 2) и (га— 2, га). Это и есть выступ. Остальные вращения предназначены для восстановления трехдиагональной формы у матрицы
посредством описанного в § 7.5 метода Гивенса. Величина s„_ip„_2 аннулируется вращением Rn_2==R (и—2, п— 1,6„_2), где tg§„-2 = s„_ip„_2/s„_1n„_1 = p„_2/n„_1. Это подобное преобразование дает
-
0
0
0 '
••
“„-3
л — 2 Рп - 3
Sn-2 Рп — 3
0
••
^п — гРп — З
1„-2
^п — 2^п — 2
0
(8.13.2)
••
Sn-lPn-3
Sn-2Vn-2
«л-1
/Li
••
0
0
Рп-Х
где уп_2 = с„_2л„_2 и а„_1 + ?„-2=ап^+?„-!•
Выступ переместился из позиции (п, п—2) в позицию (п—1, п—3), и (8.13.2) показывает типичную ситуацию процесса. Плоские вращения выполняются, пока выступ не дойдет до позиции (2, 0) и тем самым исчезнет. Кружок над Ry подчеркивает, что в принципе нет причин для того, чтобы Ry совпадала с матрицей Ry из § 8.12. Конечной матрицей будет t, и пока не ясно, как преобразование Т —>- Т связано с QL. (Более подробно о преобразовании Т—*Т см. в § 8.15.)
По теореме о единственности приведения (§ 7.2) t полностью определяется матрицей Т и первым (или последним) столбцом матрицы Q = Rn-iRn-a • •. RL Заметим, что над Rn-1 нет кружка. Вследствие специального вида плоских вращений
Qe„ = R^R^ ... R:en = r:_iR:-2... R;e„
^=R:-ie„.(8.13.3)
Аналогичные выкладки проводим для матрицы преобразования из предыдущего параграфа:
Qe„= Rn-iR«-2 • • • Rien= Rn-ien=Qen. (8.13.4) Если либо f, либо f неприводимы, то из (8.13.4) и теоремы (7.2.2) следует, что обе матрицы должны совпадать (с точностью до знаков внедиагональных элементов). Все, что необходимо в новом варианте,— это чтобы первый угол вращения ^„j определялся QL-факторизацией матрицы Т—ст.
Посредством вычисления Т вместо Т—ст преобразование было выполнено неявно.
Чтобы завершить теорию, стоящую за этой неявной модификацией QL-алгоритма, нужен еще один результат.
Лемма. Пусть t = Q*TQ, еде Q получена QL-факторизацией матрицы Т—о. Если Г неразложима, а а не является собственным значением, то f также неразложима.(8.13.5)
Доказательство. Пусть лу = Ру ... Рп_й / = п—1, .... 1. Нужно показать, что Лу^О при / ^1. Небольшая вариация результатов § 7.3 дает
1"л-/1 = Й/(Т)ел[|, Х^Кп,
где X/ — нормированные многочлены степени /. Поэтому
I ^„-/1 = il Q*X/(Т) Qe„Ц, так как f = Q‘TQ,
= IIX/ (Т) q„ ||. вследствие ортогональной инвариантности нормы,
= к/(Т)(Т—о)е„^1пп, согласно QL-разложению,
и 1пп > 0, поскольку о не является собственным значением. Кроме того, многочлены от одной матрицы перестановочны; поэтому, если л„_у = О, то
(Т-а)ху(Т)е„ = 0
и вследствие обратимости Т—а
Х/(Т)е„ = 0.
Элемент с номером п—/ вектора в левой части равен лл -г = Р„_у • • • Рл-г Другими словами, лл-/ = 0 тогда и только тогда, когда лл-/. = 0.
Сравнение явного и неявного сдвигов
Единственным недостатком явного сдвига является то, что при вычитании большого о из малого а, информация, содержащаяся в ар безвозвратно теряется.
Полный алгоритм и детали реализации u приведены в алгоритме П/4 Справочника и в tHSPACK. Число операций примерно то же, что и для явного сдвига: 9п умножений, 2л делений и п — 1 квадратных корней. Обычно вычитание о портит собственные значения не в большей мере, чем некоторые предыдущие арифметические операции. В общем случае малые собственные значения не определяются с такой высокой относительной точ-
11 Речь идет о варианте с неявным сдвигом.—Прим, персе.
ностью, как большие. Однако для некоторых «градуированных», или почти диагональных матриц,— пример указан ниже—малые собственные значения можно вычислить с высокой относительной точностью при условии, что выбран подходящий алгоритм. Неявный алгоритм обеспечивает это свойство всегда. Явный сдвиг тоже дает сравнимую точность, если находить собственные значения в порядке возрастания абсолютных величин.
Пример 8.13.1 «Градуированная матрица»
г1 1 •■
1 103 ю2
т =
102 10е 105
105 1 08 1 0s
_10s ю12.
Малые собственные значения можно определить с высокой от-
носительной точностью.
Этот параграф следует закончить предупреждением. Теоремы, использованные при установлении эквивалентности алгоритма с неявным сдвигом и QL-алгоритма, основаны на точной арифметике и свойстве неразложимости Т. На практике нужно проверять, является ли Т неразложимой в пределах рабочей точности. Такая проверка нелегка. См. обсуждение различных тестов в § 7.11.
Если пренебрежимо малый элемент р не будет обнаружен алгоритмом, то наказанием будет не потеря точности, а неудачный выбор сдвига и вследствие этого замедление сходимости. Более подробно об этом см. в работе [Stewart, 1970].
§ 8.14. Сдвиги на любой случай
Опыт показывает, что при использовании сдвигов по Уилкинсону все собственные значения Т можно вычислить в среднем приблизительно за 1.7 QL-преобразований на одно собственное значение. Экспериментальное правило (§8.15) говорит, что достаточно 9л2 ops, чтобы найти все собственные значения. Поэтому трудно построить модификацию, значительно улучшающую эту часть вычислительного процесса. Напомним, что приведение заполненной матрицы А к Т уже требует (2/3) л3 ops.
Ситуация заметно изменяется, если в алгоритме нужно накапливать матрицу Р, произведение всех Qk. Этот способ вычисления Р гарантирует, что вычисленные собственные векторы всегда будут ортогональны в пределах рабочей точности, даже если имеются очень близкие собственные значения. Вычисление
Pft(=P»-iQ») требует 4п(п—l)ops и поднимает цену одной QL- итерации с 24nops (§ 8.13) до 4n2 + 21nops. Спектральное разложение Т этим методом есть процесс О(па), и имеется определенный стимул сократить число QL-преобразований.
Дадим теперь краткий комментарий к некоторым используемым стратегиям.
Без сдвигов
Собственные значения вычисляются в монотонном относительно абсолютных величин порядке—при точной арифметике. В общем случае этот вариант слишком медленный.
Сдвиг по отношению Релея
Эта стратегия очень легко программируется; сходимость очень быстрая; однако могут возникать нестандартные ситуации.
Сдвиг по Уилкинсону'
Этот вариант легко программируется в случае трехдиагональных матриц. Возможно его применение для матриц Т общего вида; сходимость очень быстрая. Собственные значения обычно вычисляются в более или менее монотонном порядке.
Сдвиг по Ньютону
Эта стратегия предназначена для того, чтобы вычислять собственные значения трехдиагональных матриц в монотонном порядке, не теряя второй порядок сходимости. Исходная матрица Т должна быть определена (положительно или отрицательно); тогда Т + хг (0)/хт(0) все еЩе определена. Бауэр нашел остроумный способ реализации QL-преобразования, в котором величина — Хт (О)/Хт (0) получается как побочный результат и может быть использована в качестве сдвига для следующей итерации. Детали даны в алгоритме П/6 Справочника и в программе RATQR из EISPACK- Сообщалось о затруднениях в связи с машинными нулями.
В трудных случаях сходимость довольно медленная, и меры предосторожности, встроенные в ньютонову стратегию, нужны лишь для устойчивости реализации. Быстрее было бы найти несколько больше, чем нужно, собственных значений, пользуясь сдвигом по Уилкинсону или каким-либо другим мощным сдвигом, а затем проверить, какие именно собственные значения были найдены, посредством деления спектра, описанного в гл. 3.
Сдвиги по Сааду
Поскольку каждая перестройка Р стоит 4n2ops, было бы разумно потратить О (n) ops, чтобы найти еще лучший сдвиг, чем по Уилкинсону. В работе [Saad, 1974] сделаны конкретные
предложения. За 4nops можно вычислить и х (со), и хЧ®)- не меняя Т; затем можно провести одно QL-преобразование со сдвигом со—x(to)/x'(to) и перестроить Р. Конечно, вовсе не обязательно ограничиваться при выборе сдвига первой ньютоновой итерацией числа со. На самом деле Саад предлагает, пользуясь методом Ньютона, вычислить собственное значение с желаемой точностью и лишь затем выполнить QL-преобразование, взяв собственное значение в качестве сдвига. Подобные методы сокращают общее число QL-итераций почти до и и позволяют
Л■ п
вычислить матрицу Р =По» приблизительно за ^4£ Цг—1) = k=i1
=4(па—n)/3ops, что является снижением стоимости на 40%.
Финальные сдвиги
Если имеются два n-вектора дополнительной памяти, то ко второму экземпляру Т можно применить QL-алгоритм без квадратных корней из § 8.15, что позволяет вычислить все собственные значения приблизительно за 9п2 + 42n ops. Затем к Т применяются QL-преобразования, причем собственные значения используются в монотонном порядке как сдвиги и накапливается произведение матриц Q.
Преимущество вычисления собственных значений QL-алгоритмом перед методом Ньютона состоит не столько в числе операций, сколько в гарантированной сходимости QL-алгоритма со сдвигом по Уилкинсону. Чтобы заставить метод Ньютона сходиться во всех ситуациях, требуется гораздо более тщательная реализация.
*§ 8.15. Как избавиться от квадратных корней
Неявное QL-преобразование Т в f требует 9п умножений, 2п делений и п—1 квадратных корней. Обычно для вычисления всех собственных значений достаточно (1.7) п преобразований, и алгоритм по праву считается эффективным и устойчивым. Он находится в сердцевине современных программ для собственных значений. Тем не менее, если собственные векторы не нужны, его можно еще больше ускорить.
В 1963 г. Ортега и Кайзер [Ortega, Kaiser, 1963] заметили, что QR-преобразование можно реорганизовать так, чтобы исключить все квадратные корни. К сожалению, их программа иногда дает неточные результаты. Это может случиться, поскольку в новом варианте не выполняются в буквальном смысле ортогональные подобные преобразования. Названная статья повела
к замечательной цепочке исследований, посвященных изгнанию квадратных корней из QR-алгоритма. Назовем лишь некоторых из авторов—Рутисхаузер, Уилкинсон, Уэлш, Стьюарт, Глаус, Перейра и Сэк. Можно подумать, что каждый автор устранял дефект в программе предшественника лишь затем, чтобы допустить свой собственный мало заметный просчет. Казалось, что цепочка завершилась статьей [Reinsch, 1971], где был дан простой и устойчивый алгоритм под названием TQLRAT. Однако программа Райнша имеет особенность, которая иногда мешает вычислению малых собственных значений с максимальной возможной относительной точностью. Поиски оптимальной реализации все еще не закончены.
В этом параграфе изложен неопубликованный алгоритм, разработанный (в 1968—1969 годах!) Пэлом и Уокером под руководством Кахана. Это было аспирантское задание в Университете Торонто. Мы будем называть его PWK-алгоритмом. Метод не требует задания границ для ошибки, при этом не приносится в жертву устойчивость и элегантность.
Пользуясь Р^К-алгоритмом либо алгоритмом TQLRAT, обычно можно вычислить р наименьших или р наибольших собственных значений Т приблизительно за 20рп умножений.
В лучших стратегиях сдвигов собственные значения обычно получаются в монотонном порядке. После того как вычислены р собственных значений, легко поделить спектр (§ 3.3) и проверить, не пропущено ли какое-либо из нужных собственных значений. Если действительно пропущено, то алгоритм продолжают, пока не найдут все.
Простая оценка: на каждое собственное значение затрачивается в среднем 2 итерации. Эта оценка слишком занижена, если р = 1, и слишком завышена если р ^ п/3. Если деление эквивалентно 2 умножениям, то каждое QL-преобразование без квадратных корней требует лишь 10ц умножений.
Все собственные значения Т можно вычислить приблизительно за 9n2ops.
Обоснование: Предполагаем затрату в среднем 1.8 преобразования на одно собственное значение; при этом порядок каждый раз уменьшается на единицу.
Вывод алгоритма
Наша цель—представить QL-преобразование из § 8.13 таким образом, чтобы было ясно, как избежать квадратных корней и в то же время при всех обстоятельствах сохранить точность. Мы начнем с Т = Т„ и постепенно построим f = ^ посредством последовательности плоских, вращений Т, = RZTI+1R*, i = n—1, ..., 1,
«I PlPl *«I PlPl *Д-1Д-1Pi-Ч.Pi-Ч.ci+1 Pici+1 PiCl*\PiCl*\PiД+2Д+2Преобразование элемента (1,1):Преобразование элемента (1,1):Pi*lPi*lсогласно § 8.13согласно § 8.13
«I Pl
Pl *
«I Pl
Pl *
Д-1
Д-1
Pi-Ч.
Pi-Ч.
ci+1 Pi
ci+1 Pi
Cl*\Pi
Cl*\Pi
Д+2
Д+2
Преобразование элемента (1,1):
Преобразование элемента (1,1):
Pi*l
Pi*l
согласно § 8.13
согласно § 8.13
Рис. 8.15.1. Выступ в QL-преобразовании.
где R, = R(i, t'+l, 6,), а Т,- имеет выступ в позициях (i±l, •• + О-
Важный ингредиент в этом предприятии — понимание структуры активных элементов Т/+1. Эта структура обсуждалась в §8.13 и для общего случая показана на рис. 8.15.1. Сейчас будет полезно игнорировать сдвиг о; в конце процесса он без труда будет возвращен на место.
Чтобы продвинуть выступ в Т, + 1, переменные с, и s,., определяющие Rf) должны удовлетворять условию
Ci lSj+,0,)—sz (з,+,л( +,) = 0.(8.15.1)
Отсюда следует
^^V^+^i, 4 = ^^, sz = M;z. (8.15.2) Теперь
Зг + 1 =ci (s/+in/ + i) “Ь SZ (SZ + 1P/) = si+ltp(8.15.3)
Интересный вопрос: как выразить новые значения элементов (i, i), (t, i-M) и (i-f-1, t + 1)? Полезно изобразить активные стро-
КИ НДл-г
ClPi-\
SiPi-l
Р.-i
Ki
0
0 cl*l?l
о.'
o. •
^ir+if/ *
'(8.15.4)
0
S1*\PI
«.+2*.
где
Л; = 0^—s, (с1+1р,).(8.15.5)
Когда справа применяется Rz, то элемент (i, О приобретает значение
yz = cznz—8г0
= czaz—czszcz+ipz, согласно (8.15.5), = с^х,— s-cz+1nz + 1, согласно (8.15.1), =0^—ifyU1.(8.15.6)
Значительные усилия были направлены на то, чтобы избавиться от с^ либо з|, но из соображений устойчивости в PWK-алгоритме предпочитают сохранить обе величины. Условие постоянства следа дает хороший способ перевычисления элемента (i-|-1, i-|-1), а именно
аг+1 = ?< + 1+“/ — V,-(8.15.7)
Перевычислив у в соответствии с (8.15.6), мы можем перевычис- лить л по формуле
л; = ^{(с и(8.15.8)
Эта формула не годится при Ci = 0, и кажется, что она должна быть ненадежна при очень малых ct. Однако анализ ошибок показывает, что избыточность формулы (8.15.6)2) позволяет сохранить устойчивость (8.15.8) даже при очень малых значениях с(. Предоставляем читателю (упр. 8.15.1) проверку, что случай cz = 0 приводит к безобидной перестановке: s, = 1, az+1=az, но лг=—P/Q+i- Таким образом, (8.15.8) приобретает вид
Формулы (8.15.2), (8.15.3), (8.15.6), (8.15.7) и (8.15.9) дают слегка неортодоксальную реализацию внутреннего цикла стандартного
QL-алгоритма. Чтобы избавиться от квадратного корня в (8.15.2), необходимо лишь возвести в квадрат формулы (8.15.2), (8.15.3) и (8.15.9). При этом никакая существенная информация не будет утеряна, поскольку (8.15.6) использует с? и s-. Внутренний цикл подробно расписан в конце параграфа.
Приятной особенностью является то, что в (8.15.9) выбор между двумя формулами происходит в соответствии с простым нулевым тестом. Сдвиг участвует лишь в (8.15.6), поскольку формула (8.15.7) инварианта. Прежде чем исследовать устойчивость, рассмотрим некоторые другие варианты.
Вариант Ортеги —Кайзера
Если записать
yz = a; —s|(az+y4+1) .(8.15.10)
вместо yz = czaz— szyz+1, то экономится одно умножение. Если sz=l и У/+1 <^«/, то yz должно быть очень близко к —yz+1, однако вычисленное значение будет иметь очень большую относительную ошибку. Само по себе это не так важно. Потеря происходит на следующем шаге (8.15.9), где л? = у|/с?. Если s®= 1, то ошибка в л? будет велика относительно ЦТ—о||.
Алгоритм Райнша
Райнш также хотел избежать излишества, состоящего в использовании обеих величин dt и sz, и потому для перевычисления у применил формулу (8.15.10). Это вызвало необходимость записи (8.15.9) в следующей остроумной форме:
л? = у?/с? = у,-г1г,(8.15.11)
где
= ai — sV¥n.1/c1l, согласно (8.15.6),
= at—У;+1Р(/Л;+ь согласно (8.15.1),
= az—PiC-+1/yz+1, согласно (8.15.9),
= az-₽M+r(8.15.12)
В действительности г]г есть i-й диагональный элемент в треугольном разложении Т снизу вверх. В случае т];+1 = 0 Райнш заменяет в (8.15.12) 0 на emax|aft—a|. Это можно оправдать в смысле обратного анализа ошибок как эквивалент возмущения аг, не превосходящего етах|аА—а|, что является малым возмущением относительно ЦТ—а|]. Тем не менее хорошо, что есть алгоритм, в котором такая жесткая замена не нужна.
Деление спектра
Райнш заметил, что v, число отрицательных т],-, равно числу собственных значений Т, которые меньше, чем сдвиг о. Причины объяснены в § 3.3. Поскольку yf = t]zc®, туже информацию можно получить из схемы Пэла— Уокера—Кахана. Если а сошлось в пределах рабочей точности, то его индекс дает число v-|- 1. Это — ценная информация, если нужны лишь несколько собственных значений Т.
С другой стороны, несколько быстрее было бы проверять индекс вне внутреннего цикла QL-схемы.
Устойчивость
В этой книге нет места для формального анализа ошибок в PWK-алгоритме. Большинство формул анализируется «в лоб». Мы сосредоточимся на том способе, которым в (8.15.6) вычисляется уР Будет показано, что на практике деления в (8.15.8) не следует бояться.
Пусть черточки вверху указывают вычисленные величины. Предположим, что
fl (I + Л) —1(1 + е) + Л (1 + 8)>
fl(^)-^(l+e).'(8.15.13)
Величина е изображает очень малые числа, возможно, различные в каждом ее появлении.
Несмотря на ошибки, алгоритм сохраняет следующие соотношения:
n,.+1sz = p£C;(1 +е), согласно (8.15.1),(8.15.14)
yz = с£л; (1 4-8), согласно (8.15.9).(8.15.15)
Тогда в (8.15.6)
у,. = П [(«,—а)^—т/+1$а_
= [а, (1 + е)—а (1 + 8)]с? (1 + е)2
—Yi+isz 0+6)2’ согласно (8.15.13),
= yz + 38az-c?4- 3ea^ + 2ey/+1s2f,(8.15.16)
если пренебречь членами порядка е2 и выше. Кажется, что последний член в (8.15.16) предвещает катастрофу, если yz делится на малое с(. Однако это не так, потому что
y;+1s? = Q+1n.+1 (1 4-е) s?, согласно (8.15.15),
= (1+e)c/+1s|.p,ci(l+е), согласно (8.15.14).(8.15.17)
Отсюда следует, что после того, как деление в (8.15.8) выполнено, | л,—л, | ^ е {3 (|а,-1 +1 а |)с,- + 2 |Q+1₽(-И s/1 + |л,.[}, (8.15.18) и потому ошибка всегда очень мала по сравнению с соседними элементами матрицы.
Приведем теперь внутренний цикл алгоритма.
Упражнение к параграфу 8.15
Внутренние циклы алгоритма PWKВнутренние циклы алгоритма PWKИсследовать случай, когда c;+i ^ О, но с, =0. Показать, что перестановка приводит К Л/=— Р;С/+1..'
Внутренние циклы алгоритма PWK
Внутренние циклы алгоритма PWK
9*1 (изменяет B^i)
QL (изменяет B1*^
Присвоение качельных.
С <—1,5 <—0,
C
<— 1, 5 <— 0,
значении
7
<r-ak-a,P <~ у-у
7 <—
«т - a, P <— Y • у
Цикл
У
■ к, к + 1,,. .,, -т — 1:
i
m - 1,..., к + 1, ki
ВВ <
г— В;
BB <-
-Bi
К <Г
-р* ВВ
R <—
PA- В В
Bi-X
<r~S-R
Bm <
— S-R
OLDC *- С
OLDC
<—c
С <г
-PfR
c <—
P/R
S <г
- BB/R
5 <—
BB/R
old-y
^“7
old-y <
~y
а
-' %+i
a ^—
«i
7 ^“
- С • (a — о) ’— S ■ old-у
7
C • (a — o) — S • old-y
а, *
- old-y + (а у)
a, + i <
— old-y + (a — y)
Р <г
-f (уу)/с,с^о,
P <—
( (Y'7)/CC^0,
I OLDC • ВВ, C = 0.
I OLDC ВB, C = 0.
Окончание
Вт-х
<— S-P
В к <"
-SP
— 0*7.
«к <~
-o*y
Таблица 8.15.1
Стоимость 3 деления, 4 умножения, 5 сложений на итерацию Память ВВ, R, Р, S, С, OLDC, -у, old-y
Матрицу следует масштабировать до начала процесса,“' используя степень основания машинной арифметики,гчтобы избежать машинных нулей в QL-преобразавании
Обозначения'. за глобными буквами указаны бели чины, ябллюциеся квадратами', например, В. =^Д i=k,. .. , т- \.
§ 8.16. QL-алгоритм для ленточных матриц
Если нужны 4 собственных значения матрицы А порядка 400 с шириной ленты 41, то было бы не очень эффективно приводить А к трехдиагональной форме в соответствии с § 7.5. Поскольку ширина ленты сохраняется, QL-алгоритм со сдвигами можно реализовать, экономя как память, так и количество операций. Алгоритм оформлен как алгоритм II/7 Справочника. Это—хороший образец математического обеспечения, далекий от слепой реализации преобразования, описанного в § 8.2. Мы не станем входить в детали, однако укажем главные идеи.
При заданном сдвиге о матрица А = А—о в принципе умно: жается слев.а на последовательность отражений Н„, Нп-1, ... с тем, чтобы привести ее, столбец за столбцом, к нижней треугольной форме L. Отражения — это элементарные ортогональные матрицы, описанные в § 6.3. Таким образом,
H2...H„A = L, (8.16.1)
где Н„ = Н (w„), выбрана так, чтобы привести п-й столбец к треугольному виду; Н„_2 приводит к треугольному виду (п—1)-й столбец матрицы Н„А и так далее. Выбор wz происходит обычным образом и указан в § 6.3.
Вторая фаза преобразования требует умножения L справа на все матрицы Hz, и здесь трудность становится очевидной. Нужно хранить векторы wz, определяющие матрицы Hz, а это требует n(m + l) ячеек памяти. Здесь т-}-1—полуширина ленты. Проблема устраняется, если заметить, что для начала второй фазы нет необходимости находить всю матрицу L. Изучение рис. 8.16.1 показывает, что после того, как слева были применены т матриц Hz, можно начинать вторую фазу. Это наводит на мысль, что полное QL-преобразование можно выполнить посредством т-\-п малых шагов следующего вида:
H;AHz+m, i = n, п — 1, .— tn, (8.16.2)
где А—текущая матрица и Ну=1 для /^1 и / > п. Дальнейшее исследование рис. 8.16.1 (см. с. 193) показывает, что после этого шага вектор wz+2m уже можно не хранить.
В действительности алгоритм не выполняет (8.16.2) «в лоб». Вместо этого вектор (А—о)е; преобразуется прямо в соответствующий столбец L посредством формулы
H,-..Hz+2m(az—aez),
w; записывается в память, остальные столбцы А не затрагиваются, вычисляется и записывается в память (1" + /и)-я строка конечной матрицы А. Симметрия используется полностью, и вопросы хранения решены весьма удовлетворительным способом.
Сдвиги
Алгоритм применяется лишь тогда, когда нужно небольшое число собственных значений; поэтому порядок, в котором вычисляются собственные значения, важен. В Справочнике использована двухэтапная стратегия: первоначальный сдвиг есть 0; затем, после того как для первой внедиагональной строки проходит тест, применяется трехдиагональный сдвиг по Уилкинсону. Это— единственная неэлегантная черта данной программы.
Ценой одного треугольного разложения (m2n/2ops) можно найти точное положение в спектре любого вычисленного собственного значения. Это делает менее важными предосторожности при выборе сдвига.
Число операций
3(/п +1) (2m +1) ops на малый шаг;
(/и + и) малых шагов за итерацию;
итераций (в среднем) для первого собственного значения;
итерация для каждого последующего собственного значения.
8.16.3. Память
пх^тА-^ Для А (хранение по диагоналям);
(/и + 1)х(2/и + 1) для w£;
2x(2m + l) для рабочего массива;
Этот метод включен и в EISPACK, выпуск 2, под названием BQR.
Примечания и ссылки
С практической точки зрения QL-алгоритм решает проблему вычисления собственных значений малых матриц. Тем не меиее он был изобретен лишь в 1958—1959 годах, а по достоинству оценен в середине 1960-х годов. Ключевая идея принадлежит Рутисхаузеру, который в 1958 году построил родственный метод, называемый LR-алгоритмом.
Нужно воздать должное также и молодому английскому системному программисту Фрэнсису, который сделал три открытия, необходимых для того, чтобы метод был эффективным; именно: 1) основное QR-преобразование; 2) инвариантность формы Хессенберга; 3) использование сдвигов для ускорения сходимости. Следует добавить, что Фрэнсис получил некоторую помощь от Стрейчи и Уилкинсона. Соответствующие статьи (Francis, 1961, 1962]. Независимой в тот
же период пункты 1) и 3) были обнаружены Кублановской 1>; однако без усовершенствования, которое позволяет пункт 2), метод является очень медленным. См. [Кублановская, 1961].
Тесная связь между итерацией с использованием отношения Релея (RQI)- и QR-алгоритмом была замечена Каханом и Уилкинсоном. В действительности монотонное убывание последнего внедиагонального элемента в трехдиагональном QR-алгоритме привело Кахана к анализу глобальной сходимости RQI, изложенному в гл. 4.
Уилкинсон н Райнш поддержали нас в переходе на QL-формулировку, использовав ее в своем авторитетном Справочнике.
В 1968 году Уилкинсон доказал, что трехдиагональный QL-алгоритм с предложенными им сдвигами всегда сходится. Его доказательство основано на монотонном убывании произведения | PiP2 |. Однако анализ упрощается, если вместо PiP2 взять P^l эт°т последний подход изложен в § 8.9—8.10, которые следуют работе [Hoffman, Parlett, 1978] и используют некоторые идеи статьи [Dekker, Traub, 1971].
Вариант PWK QL-алгоритма без квадратных корней (§ 8.15) не был опубликован в открытой литературе. По-видимому, это лучший способ вычисления всех собственных значений симметричной трехднагональной матрицы. Кроме того, скорейший путь вычисления полного набора' ортонормированных собственных векторов состоит в выполнении QL-алгоритма на основе быстрых преобразований Гивенса при использовании ранее вычисленных собственных значений в качестве сдвигов. Кажется, эта комбинация методов никем до сих пор не была указана.
Некоторые идеи, поведшие к открытию QR-алгоритма, описаны в статье Parlett, 1964].
Первая публикация В. Н. Кублановской по QR-алгорнтму появилась годом раньше в «Дополнении» к изданию 1960 г. монографии Д. К- и В. Н. Фаддеевых «Вычислительные методы и линейная алгебра»,— Прим, перев.
ГЛАВА 9
Методы Якоби
Вращение плоскости
В размерности два вращение на угол 6 достигается умножением векторов слева на матрицу
№ =№ =с —s s сс —s s с
№ =
№ =
с —s s с
с —s s с
На протяжении этой главы мы будем пользоваться обозначениями с, s и / для скалярных величин cos 6, sin6 и tg в. Соответствующее подобное преобразование матрицы А имеет вид
RAR*=RAR*=с —sс —sа уа ус sс sS CJ pj [ — S с J _Гас2— 2ysc-f-ps2(с2 —s2)y-f-(a—p)sc"— (c2—s2)y + (a—p) sc as2-f-2ysc-f-Pc2S CJ pj [ — S с J _Гас2— 2ysc-f-ps2(с2 —s2)y-f-(a—p)sc"— (c2—s2)y + (a—p) sc as2-f-2ysc-f-Pc2(9.1.1)(9.1.1)
RAR*=
RAR*=
с —s
с —s
а у
а у
с s
с s
S CJ pj [ — S с J _Гас2— 2ysc-f-ps2(с2 —s2)y-f-(a—p)sc"
— (c2—s2)y + (a—p) sc as2-f-2ysc-f-Pc2
S CJ pj [ — S с J _Гас2— 2ysc-f-ps2(с2 —s2)y-f-(a—p)sc"
— (c2—s2)y + (a—p) sc as2-f-2ysc-f-Pc2
(9.1.1)
(9.1.1)
Новая матрица будет диагональной, если
(9.1.2)(9.1.2). nn _ sin 26 _ 2sc _ 2у
(9.1.2)
(9.1.2)
.g - cos 26 c2—s2 p~ a'
Нет необходимости вычислять 6 в явном виде. Пусть
6 = |р—a|/2, v = j/y2 + 62.(9.1.3)
Пользуясь стандартными тригонометрическими тождествами (упр. 9.1.1), находим
с2 = ^-(1 4-6/v), s2 = y(l — 6/v).(9.1.4)
Выражение для s2 представляет собой классический пример формулы, опасной при вычислениях с конечной точностью. Если. 9 мало, то б/v близко к 1, и формула была бы прекрасна, если бы легко было вычислить б/v с запасом точности. При фиксированной длине машинного слова приходится пользоваться формулами получше.
Имеется несколько устойчивых способов вычисления cos6 и sin 6 по данной информации. Вероятно, наилучший тот, что использован в программе метода Якоби из Справочника, написан-
ной Рутисхаузером. Посредством тригонометрических тождеств tg 26 можно выразить через / = tg 0:
l^=ctg29-t^-E.(9.1.5)
Таким образом, t—наименьший по абсолютной величине корень уравнения
/г + 2^—1=0(9.1.6)
и, следовательно,
Z = sign (0/(1 CI + KT+T2).(9.1.7)
Тогда.
с=1//Г+7\ s = ct.(9.1.8)
Навязывая с положительный знак, получаем вращение с |0| ^-^-. Есть и другое решение уравнения ctg20 = £. Это—угол л/2 + 6. Причина, почему нужно выбирать малый угол, объяснена в конце параграфа 9.3 о сходимости.
Дальнейшее применение тригонометрии (упр. 9.1.2) показывает, что новая матрица имеет вид
Упражнения к § 9.1
Пользуясь соотношениями между тригонометрическими функциями углов 8 и 28, доказать (9.1.4).
Показать, что диагональные элементы RAR* можно записать как а—-у/ и P+v^.
Вращения Якоби
Традиционные формулы, определяющие матрицу вращения R(0), которая диагонализует (2х 2)-матрицу А, даны выше в (9.1.5), (9.1.7) и (9.1.8). Идея методов Якоби в том, чтобы применить эту технику для случая (л х л)-матрицы А посредством плоских вращений R (i, ), 6), описанных в § 6.4. Если положить а = аи, ^ = ап, у = а{р то приведенная выше формула (9.1.5) и формулы для с и s неявно определяют угол 0, такой, что элементы (t, /) и (/, 0 матрицы А' = R (/,/, 0) AR (i,/, 0)* суть нули; именно,
tg 20 = 2о,//(а//—аиу
При таком выборе R (t,/, 9) называется матрицей якобиева вращения, а соответствующее подобное преобразование—якобиевым
Ключ; Элементы К кнеизменибшиеся}
* * * Активный столбец, XXX Элементы А
Рис. 8.16.1. Ленточный алгоритм.
вращением. Оно аннулирует элемент (т, /), и, поскольку 6 фиксировано посредством (9.1.5), мы можем писать Rz/ вместо R (i, /, 6), не впадая в двусмысленность.
Новым при п > 2 будет то, что в строках i и / имеются другие внедиагональные элементы, которые подвергаются преобразованию. Так, при k^i, j
Qik = С" &f£ 8 ■ Ujk,
a'ik = s.atk-Vcajk. (9.2.1
Отметим еще, что при k#=i, j
. (a-^ + W = alb + a%. (9.2.2)
Стоимость. Используя симметрию и работая с нижним либо верхним треугольником А, традиционное якобиево вращение можно выполнить за 4п умножений плюс 2 квадратных корня (упр. 9.2.1).
Альтернативы. Прежде чем оставить этот предмет, подчеркнем, что возможны и другие способы выбора 6 при вращении плоскости ((, /).
Якобиево вращение характеризуется тем, что достигает наибольшего уменьшения суммы квадратов внедиагональных элементов. Локально оно оптимально, но для всего вычислительного
процесса не обязательно является наилучшим. При гивенсовом вращении плоскости (i, j) выбирают 6 так, чтобы аннулировать не элемент а^, а какой-либо другой.
Пример 9.2.1. Аннулирование элемента а13 вращениями в двух различных плоскостях
3.0
-12.0
10.0
-12.0
64.0
-60.0
10.0
-60.0
60.0
След (А) = 127.0, со (А) ( = S »и\ = 3844.0 \ К) )
Якоби
■ 61.70
-61.16
а '
а; - R*(l,3, S)AR(1,3, 5) =
-61.16
64.0
1.75
0.
1.75
130
6 = 9.67°,tg(0) - 0.17,«(А» « 3744.0.
Гивенс
Ay * R*(2, 3, 5)AR(2, 3, 5) =
■3.0
-15.62
-15.62
' 121.38
-8.85
0.
-8.85
2.62
0 - -39.81е,tg(0) «
-0.83,
«(ag) ”
322.37.
Значения со, казалось бы, противоречат утверждению, сделанному выше, что якобиево вращение дает наибольшее уменьшение со. Разрешение этого противоречия составляет предмет упражнения 9.2.3.
Модификация Рутисхаузера.
В приложениях, которые мы вскоре опишем, углы 6 часто будут малыми; имеются альтернативные к (9.2.1) выражения, которые стоят не дороже и имеют большую устойчивость к округлениям. Определим
тг tg 9/2 = s/(l 4-е);(9.2.3)
тогда (упр. 9.2.2) при кф1, 1
a’ik^aik—i^^^x-a^),
a'ik = afkA-^{alk — х-а^.(9.2.4)
Закончим этот параграф упоминанием о другом эффективном приеме, введенном Рутисхаузером. Он прост, но до 1965 года
никому не пришло в голову воспользоваться им. Поправки (± /й,-у) к диагональным элементам в течение полного цикла обхода внедиагональных элементов накапливают в отдельном массиве длины п и лишь потом суммы этих (обычно) малых величин добавляют к диагональным элементам, которые также хранят отдельным массивом. Подобные приемы составляют суть хорошего математического обеспечения.
Упражнения к параграфу 9.2
Проделать подсчет числа операций для одного якобиева вращения, используя (9.1.5), (9.1.7) и (9.1.8) и изменяя лишь верхнюю треугольную часть А.
Вывести (9.2.3) и (9.2.4), пользуясь стандартными тригонометрическими тождествами.
Гивенсрво вращение, использованное в примере 9.2.1 для аннулирования элемента (1,3), дает гораздо большее уменьшение о», чем якобиево вращение в плоскости (1,3). Противоречит ли это утверждению, что якобиевы вращения достигают наибольшего уменьшения о)?
Сходимость
Методы Якоби стремятся диагонализовать данную матрицу А посредством последовательности якобиевых вращений. Нулевые элементы, полученные на одном этапе, становятся ненулевыми на последующих, и всякая диагонализующая последовательность должна в принципе быть бесконечной. Методы Якоби различаются единственно своими стратегиями выбора очередного обреченного элемента.
Прежде чем обсуждать конкретные стратегии, введем понятия, на которых основан их анализ. Напомним определение матричной нормы Фробениуса'
|АН2М/г
•\ i 1/
и факт 1.10: если Q ортогональная, то ||QAQ*||f=JАЦ^. Полезно разбить | A [|f на две части:
6(А)^£^,
2co(A) = 22«1f(9-3.1)
Оказывается, что для любого плоского вращения R (р, q, 6)
6 (RAR*) = 8 (А) + 2 [й^—(новое а^)].(9.3.2)
В частности, для якобиева вращения R,v (упр. 9.3.1) to^AR^-cotA)-^-.(9.3.3)
В каком бы порядке ни аннулировались внедиагональные элементы, величина го монотонно убывает, и единственный вопрос — будет или нет предел равен нулю. Если предположить лишь, что на каждом шаге napa(i, /) выбирается так, чтобы
а?; > среднее от \а2р():р<д\
= 2<о (А)/и (/г— 1),(9.3.4)
то, используя (9.3.3), получаем
«(R^ar;,) с (1 - Ю(А) (9-3-5)
и, следовательно, «должна сходиться к нулю.
Условие (9.3.4) гарантирует сходимость к диагональной форме, и, с практической точки зрения, этбго достаточно. Тем не менее вполне законно поинтересоваться, будут ли диагональные элементы блуждать или они будут сходиться к конкретным собственным значениям.'■
Факт 1.11, теорема Виландта—Хоффмана, показывает (упр. 9.3.4), что существует некоторое упорядочение л собственных значений, такое, что
|^жо—«пТ<21^ям—«vx |2<2ю(А).(9.3.6)
V
Наше опасение состоит в том, что это упорядочение может от шага к шагу меняться. Можно применить (9.3.6) на поздней стадии якобиевых итераций, когда
«(A) ^^-minl^—Х„|2^оа,(9.3.7)
где минимум берется по различным парам собственных значений. Если выполняется (9.3.7), то для каждого из различных собственных значений X в интервале [X—о, X + о] найдется диагональный элемент, причем число элементов аи в таком интервале в точности равно кратности X (упр. 9.3.2).
Может ли на следующем шаге какое-либо ait переместиться в другой интервал? Да, может, поскольку условию Якоби
tg 26 = 2й,//(й//—а,д(9.3.8)
удовлетворяют два угла 6. Больший угол заставляет аи и ai} покинуть свои интервалы, а меньший угол препятствует их побегу.
Пример 9.3.1ГО — 1] Г21 О ОПример 9.3.1ГО — 1] Г21 О О01 Г 0 11 Г1 0"1— 1 0 = 0 201 Г 0 11 Г1 0"1— 1 0 = 0 2
Пример 9.3.1
ГО — 1] Г2
1 О О
Пример 9.3.1
ГО — 1] Г2
1 О О
01 Г 0 11 Г1 0"
1— 1 0 = 0 2
01 Г 0 11 Г1 0"
1— 1 0 = 0 2
Теорема. Если в методе Якоби на каждом шаге выполняется (9.3.4), а 6, удовлетворяющее (9.3.8), выбирается всегда в полуоткрытом интервале (— л/4, л/4], то последовательность матриц сходится к диагональной матрице.(9.3.9)
Доказательство предлагается читателю (упр. 9.3.3).
Упражнения к параграфу 9.3
Доказать (9.3.3), пользуясь (9.2.2) и инвариантностью величины 2<о 4- 6.'
Используя (9.3.6) и (9.3.7), показать, что каждый интервал [X — о, Х+о] содержит по крайней мере один диагональный элемент.
Доказать теорему (9.3.9).
Показать, что (9.3.6) есть следствие теоремы Виландта — Хоффмана при соответствующем выборе матриц А и М.
Различные стратегии
Классический метод Якоби
На каждом шаге аннулируется максимальный внедиагональный элемент. Сходимость следует из (9.3.5)..
На некоторых машинах поиск наибольшего внедиагонального элемента обходится довольно дорого. Значительные усилия были затрачены на снижение этой цены. Однако неравенство (9.3.5) показывает, что для обеспечения сходимости можно выбирать любой достаточно большой элемент, и этот факт приводит к другим стратегиям.
Циклические методы Якоби
Простейшая схема — аннулирование элементов независимо от их величины в порядке
(1,3)(1, «), (2,3)(2,л), (3,4), ..., (n—1, п),
затем начинают новый проход по матрице.
В статье [Henrici, 1958] было показано, что при некоторых ограничениях на углы метод сходится. Трудность анализа заключается в априорной возможности, что большие внедиагональные элементы будут все время уходить от текущей позиции Ц, j). Если бы это случилось, то значительного сокращения о никогда бы не произошло.
В принципе внедиагональные элементы можно аннулировать, придерживаясь в каждом проходе произвольного порядка, при условии, что ни один элемент не будет пропущен. Однако сходимость никем не была доказана.
В циклических методах происходит растрата времени на аннулирование малых элементов в ранних проходах.
Барьерные методы
Предпочтительней стратегия, состоящая в том, чтобы использовать простую циклическую последовательность, но опускать вращения, если а^ меньше некоторого барьерного значения т, которое может быть фиксировано, а может меняться при каждом вращении. Фиксированный барьер, конечно, заменяется, если все внедиагональные элементы стали меньше его.
Рутисхаузер предпочитает в каждом из первых 3 циклов вычислять фиксированное т, являющееся приближением к и, а именно
\ Р < я/
Вероятно, самой быстрой из известных является стратегия переменного барьера Кахана и Корнейла [Corneil, 1965]: вначале вычисляют величину и»22ар« иеной N — ^-~—— умножений, р <»2
затем т = J/^co/W—среднее квадратичное внедиагональных элементов. При каждом реально'выполняемом вращении w уменьшают на Qy и т перевычисляется; цена—1 умножение, 1 деление и 1 квадратный корень на вращение. Затраты на вычисление квадратных корней оправдывают себя, если число реальных вращений за цикл будет существенно ниже N/3. Альтернатива состоит в изменении теста на
Na^ > го,
что стоит 2 умножения на тест, т. е. 2N умножений на цикл независимо от числа вращений. С падением стоимости вычисления квадратных корней вариант с перевычислением т при каждом вращении становится все более привлекательным.
Асимптотически квадратичная сходимость
После первых 3 или 4 проходов по всем внедиагональным элементам сходимость к диагональной форме обычно становится очень быстрой. Если в конце некоторого прохода имеем to/а2 ^ 2-/, то можно ожидать, что в конце следующего прохода будет <о/о2:^2-аЛ
Строгие доказательства этого свойства квадратичной сходимости [Schonhage, 1961, Wilkinson, 1962] слишком сложны, чтобы их можно было привести здесь. Однако центральная идея проста и состоит в следующем.
Рассмотрим конкретную позицию в матрице, например элемент (1, и) после нескольких проходов в циклическом порядке по строкам, именно (1, 2), (1, 3), ..., (и — 1, п). Будучи аннулирован, элемент (1, /г) снова становится ненулевым при якобиевом вращении R2„. Его новое значение, согласно (9.2.1), будет
a[n = caln—saln = — sa2n,(9.5.1)
поскольку й1п = 0. Кроме того, так как |0|<л/4, то
|s| = |sin0K|8K|tg0|< j| tg 20| = |а2„|/|а„„—а24|.(9.5.2)
Объединяя (9.5.1) и (9.5.2), получаем ключевое неравенство
l«uKIM2/|a„„ —а221-(9.5.3)
При продолжении итераций аИ—»ХЬ Предположим пока, что все X,- простые. После некоторого этапа
\akk —аи\>o = min|X,.—X, 1/2(9.5.4)
i * i
для всех k=#l. В следующий раз, когда изменится элемент (1, п), его новым значением будет
\ain\ = \cain-'Sa8ra\
^|a;n| + |sa3nl
^(а^ + а^о, поскольку |s|<|asJ/o.(9.5.5)
Пусть в конце некоторого более позднего прохода выполняется (9.5.4) и вдобавок шах | а//1^1] Для некоторого т], меньшего, чем а. Неравенства (9.5.3) и (9.5.5) показывают, что в конце следующего прохода должно быть
max Iновое аиI ^Т)2(п—1)/о = О(т]2)(9.5.6)
при т]—*0. Такое поведение называют (асимптотически) квадратичной сходимостью.
Кратные собственные значения
Проведенный выше анализ как будто свидетельствует о том, что начало быстрой сходимости к диагональной форме может сильно задержаться, если имеются близкие собственные значения (т. е. когда а очень мало), и может даже не быть асимптотически квадратичной сходимости, если есть кратные собственные значения. Однако эти опасения неосновательны, как показывает следующий удивительный факт.
Не будет потери общности в предположении, что все ан, сходящиеся к кратному собственному значению X, находятся в конце
"А, ВВ» А2"А, ВВ» А2А =А =, А^Сл—т)х(п—/и), \%;тхт.(9.5.7), А^Сл—т)х(п—/и), \%;тхт.(9.5.7)диагонали А. Разобьем матрицу А на блоки:
"А, ВВ» А2
"А, ВВ» А2
А =
А =
, А^Сл—т)х(п—/и), \%;тхт.(9.5.7)
, А^Сл—т)х(п—/и), \%;тхт.(9.5.7)
Наше предположение состоит в том, что А2—*-XIm, где т — кратность X, а все прочие собственные значения А отделены от X величиной 2а. После соответствующего числа проходов все собственные значения А, будут отделены от X не меньше чем на о; другими словами,
IKA,—А)-1|| = l/min|Xz —Х|< 1/а.
Доказательство квадратичной сходимости было основано на предположении, что углы вращения, |azy|/|аи—ал\, становятся малыми. Это предположение не выполняется для внедиагональных элементов А8, где каждое akk—*X, но справедливо для В. К счастью, углы, соответствующие А8, не имеют значения, поскольку здесь все внедиагональные элементы уже очень малы, что показывает следующая теорема.
Теорема. Пусть А разбита на блоки в соответствии с $.ЬЛ\ Если ||(А,—X)-11|< 1/а и X—собственное значение кратности т, то ||А8-ХК||Вр/а.(9.5.8)
Доказательство получается применением блочно треугольного разложения.
Доказательство.
А - X =А - X =А, - XВ*А, - XВ*вА2 — XвА2 — XIВ*(А, - X)-'IВ*(А, - X)-'О 1Г А, - XО 1Г А, - Xо]Г 1о]Г 1Хл О*Хл О*(А, - Х)"’В(А, - Х)"’В
А - X =
А - X =
А, - X
В*
А, - X
В*
в
А2 — X
в
А2 — X
I
В*(А, - X)-'
I
В*(А, - X)-'
О 1Г А, - X
О 1Г А, - X
о]Г 1
о]Г 1
Хл О*
Хл О*
(А, - Х)"’В
(А, - Х)"’В
где
К = (А2 - X) - В*(А, - Х)-'В.
Заметим теперь, что ранг А—X равен п—т. По закону Сильвестра об инерции ранг блочно диагонального множителя также должен быть равен п—т, и потому Хя = О. Таким образом,
IIА2 —А|| = II В* (А,-XV в КIIВ р/а.
Следствием этой теоремы является то, что при j > п—т |ау/-Х |^|| Вр/а,(9.5.9)
поэтому диагональные элементы сходятся к кратным собственным значениям быстрее, чем к хорошо отделенным.
Оценка методов Якоби
Отвергнуть в процедуре диагонализации матрицы А все плоские вращения, кроме якобиевых,— это все равно, что выходить на боксерский ринг с одной рукой, привязанной за спину. Что случится, если слегка „обобщить" методы Якоби, допуская использование гивенсовых вращений для аннулирования элементов?
Мы можем прежде всего, пользуясь обычным методом Гивенса, привести А к трехдиагональной форме Т (см. гл. 7). Эти вращения могут не уменьшить го2, но они зато сохраняют нули, которые с такой заботой были созданы. Далее мы можем проделать яко- биево вращение R„_i, „. Это приведет к появлению ненулевых элементов в позициях (п, п—2) и (л—2, и), т. е. породит выступ в трехдиагональной форме. Этот выступ можно вытеснить через верх матрицы цепочкой гивенсовых вращений, как указано в § 8.13. На этом этапе мы выполнили одно трехдиагональное QL-преобразование с нулевым сдвигом. Так можно продолжать, пока внедиагональные элементы не станут пренебрежимо малы. И вот метод Якоби превратился в метод Гивенса, сопровождаемый QL-алгоритмом без сдвигов.
Если отказаться от привычки аннулировать матричный элемент на каждом шаге, то можно выполнить плоское вращение в плоскости (п—1, л) с углом, отличающимся от якобиева. Это позволит включить сдвиги в QL-алгоритм и тем самым очень сильно ускорить сходимость.
Есть ли основания искусственно ограничивать себя вращением лишь на якобиев угол вместо того, чтобы позволить другие выборы 0? Прежде всего нужно сказать, что даже лучшие программы методов Якоби примерно в три раза медленнее, чем трехдиагональные QL-методы. Говорят, однако, что методы Якоби должны по-прежнему приниматься в учет по причине своей простоты, а не эффективности. Это может быть очень важно в специальных обстоятельствах (ручные калькуляторы или вычисления на борту космического корабля).
Исследуем эту предполагаемую простоту. Ниже приведено число исполняемых операторов (на уровне языка ассемблера) для различных программ Справочника. Ни одна из программ не пытается минимизировать это число.'
Все собственные значения и собственные векторы
(
Tred 2(приведение к трехдиагональному виду)81
Tql 2 (QL-алгоритм)89
' Все собственные значения без собственных векторов
•■( Tred 1 58
Jacobi 99 против ) т , ,
В этом подсчете записи в память и считывания игнорируются, если они встречаются как часть арифметических выражений.
Преимущество метода Якоби невелико, и следует сказать, что имеется некоторое преимущество в случае небольшого объема быстродействующей памяти в том, чтобы разделить вычислительный процесс на два отдельных этапа.
Примечания и ссылки
В работе [Jacobi, 1846] плоские вращения были использованы для диагонализации действительной симметричной (7х7)-матрицы. Сто лет спустя метод был переоткрыт и описан в отчете [Bargmann, Montgomery, von Neumann, 1946]. Позднее он был воплощен в хорошо продуманной и эффективной программе Рутисхаузером (алгоритм 11/1 Справочника). Стратегия переменных барьеров изложена в неопубликованном отчете [Corneil, 1965].
Квадратичная скорость сходимости не была тайной, и формальные доказательства даны в работах [Schonhage, 1961] и [Wilkinson, 1962]. Более дискуссионной проблемой оказалась возможность, что циклическая и другие более удобные стратегии ие всегда дают сходимость к диагональной матрице.
ГЛАВА 10
Оценкидля собственных значений
Полезную информацию о собственных значениях матрицы А можно получить из некоторых ее подматриц. Более того, собственные значения А можно связать с собственными значениями близлежащих матриц таким образом, который далеко выходит за рамки стандартной теории возмущений. Подобные исследования начались в девятнадцатом столетии и продолжаются до сего времени. Многие работы обобщают результаты матричной теории на дифференциальные и интегральные операторы.
В этой главе изложены классические матричные результаты, а затем мало известные их усиления, найденные в связи с необходимостью вычисления собственных значений все больших и больших матриц. Все результаты являются теоремами включения; это значит, что они описывают интервалы, гарантированно содержащие одно или несколько собственных значений А. Последние параграфы показывают, как использовать информацию, имеющуюся, как правило, в конце очередного шага дорогостоящего итерационного метода того типа, что описан в гл. 13 и 14. Вычислив соответствующие оптимальные интервалы, итерации можно прекратить в надлежащий момент, когда требуемая точность достигнута.
Близкие по духу оценки ошибок даны в следующей главе, однако они используют лишь нормы некоторых невязок. Поэтому они менее сложны, и их проще вычислять, чем интервалы данной главы. .
В основе материала — заметки и лекции Кахана, который сумел упорядочить старые и новые результаты в простой, единой последовательности. Читатель, возможно, найдет эту главу более трудной, чем предыдущие. Ее содержание относится скорее к теории матриц, чем к численным методам. Наша цель состоит и в том, чтобы привести полные доказательства некоторых до сих пор неопубликованных результатов.
В этой главе оказывается удобным соглашение об отрицательных индексах для наибольших собственных значений.
Теорема Коши о разделении
Как связаны собственные значения главной подматрицы с собственными значениями самой матрицы? Чтобы поставить этот вопрос точно, положим
А =А =Н В*"В U ’Н В*"В U ’А: пхп, Н: тхт.А: пхп, Н: тхт.(10.1.1)(10.1.1)
А =
А =
Н В*"
В U ’
Н В*"
В U ’
А: пхп, Н: тхт.
А: пхп, Н: тхт.
(10.1.1)
(10.1.1)
Собственные значения A: at ^ае^а3.. ,^а„.
Собственные значения Н: 0, ^ 02 ^... ^ 0т.
Для удобства будем считать:
( —оо, если( —оо, если i > т,
, —) 4-оо, если i > т; "'"”1 +°°> если i^O.
Теорема. Для j=\т
или, что эквивалентно,a-Vj*n-m1 ^ 9-/ <“-/•
С другой стороны, для k=\, 2, ..., п^k~n + m ^S ^k ~^С ^А
e_^a_^6_(,_„+m).(10.1.2)
Словами: 8±; есть внутренняя по отношению к спектру А граница для а±/. В доказательстве используется теорема Сильвестра об инерции (факт 1.6).
Доказательство. Если Н—£ обратима, то блочно треугольное разложение (гл. 3) матрицы А — £ имеет вид
(10.1.4)(10.1.4)где Qh-Tifl к (п — т) матрица Wзадается выражением
(10.1.4)
(10.1.4)
W«) - (U - 5) - В(Н - 0"’В*.
Таким, образом, А—£ конгруэнтна матрице diag(H —£, W(£)). По теореме Сильвестра обе матрицы имеют одинаковую инерцию (л, v, 5), которая является (покомпонентной) суммой инерций
матриц Н — | и W (|). Это простое замечание дает
л (Н - В)< л (А - У = л (Н - 6) + л [ W (У]
^ л(Н — У4-п—т,(10.1.5)
v(H —у ^ v (А —У = v (Н—У + v [W (У].
^ v (Н — У + л— т..(10.1.6)
Неравенство «у ^ Оу можно вывести из (10.1.6). Предположим, напротив, что 0у < а,.. Тогда можно выбрать У такое, что 9у < Е < «у и Е^О, ни при каком I. Рассмотрим следующую диаграмму:
6/-16;«у
6Л1«/-1
Под чертой расположены величины, положение которых относительно В не определено. Из расположения | следует, что Н имеет по меньшей мере / собственных значений, меньших, чем у а А имеет самое большее /' — 1 собственных значений, меньших, чему т. е. v(H— У ^/, v (А — У< /. Это противоречит (10.1.6), и потому «у ^ бу.
Другие неравенства выводятся аналогичным образом либо из (10.1.5), либо из (10.1.6).
Пример 10.1.1
0 е
°1
ij Г 0 С 1А
Нл ’А
е 0
1
[ е 0 j
0 1
0
6
10
2
“1
«2
“3
1 .
Значения
е° +
е
Пример 10.1.2.
Собственные значения знаменитой трехдиагональной матрицы Т„ с типичной строкой (... —1 2 —1 ...), как известно, равны
T<z"> = 4sin2 /ф„, / = 1, ..., п, ф„ = л/2 (n +1).
Оценки теоремы о разделении дают следующие типичные результаты. (Здесь га =100.)
Случай 1. т = 99, k=45, 1.6252 < 1.6595 ^ 1.6871 < 1.7210.
Случай 2. т = 90, £ = 45, 1.2908^1.6595^1.9655^2.2790.
При возрастании п—tn оценки становятся очень слабыми.
■ Упражнения к параграфу 10.1
Рассмотреть случай п—т= 1 и показать, не используя теорему о разделении, что det (А—У изменяет знак между различными собственными значениями 9/ и 9/+1 матрицы Н.
Для п—т=1 проверить, что неравенства теоремы о разделении — наилучшие возможные в следующем смысле. Пусть даны множество чисел {а,-, 1=1, ..., п} и другое множество {9/, /=1, .... п — 1}, разделяющее первое, т. е. а,- < 9,- < а; + 1. Показать, что существуют матрица Н с собственными значениями 9/, вектор b и скаляр л, такие, что матрица
А=Г« 1
имеет собственные значения {«,•}. Заметьте, что здесь мы положили В = Ь*.
Распространить результат упр. 10.1.2 на случай, когда а, <9,< <а, + 1, т. е. считать, что а/=9/ для некоторого /, и построить затем b и л. (Это труднее.)
При п—т=1 начертить график W (|)ае<о(|), заданной в (10.1.4), как функции от £. Считать, что А — трехдиагоиальная матрица с ненулевыми поддиагональными элементами.
Доказать неравенства, вывод которых отсутствует в нашем доказательстве теоремы Коши.
Минимаксные характеризации
В § 1.5 было отмечено, что собственные значения ап а2, ..., а„ матрицы А являются стационарными значениями отношения Релея р (х) = х*Ах/х*х. В частности, a1=minp(x), минимум берется по всем х^О. Точно так же, при / > 1 Ку можно характеризовать как условный минимум; именно ay = minp(x), минимум берется по всем х^0, удовлетворяющим условию zt*x = 0 при i<j. Впредь будем без специального упоминания считать, что о исключен из области определения р..
Недостаток этой характеризации а^ в том, что она явным образом зависит от предыдущих собственных векторов ZjZy_P Приводимая ниже минимаксная характеризация не упоминает о каких-либо собственных векторах и часто бывает полезна в теоретической работе. Например, с ее помощью проще всего доказать, что если к матрице А прибавить положительно определенную матрицу V, то каждое собственное значение возра-
Рис. 10.2.1. Минимаксная характеризация собственных значений.
стает, т. е.
\.[A + V]>X,.[A], i=l, ..., п.
Прежде чем заняться общим случаем, полезно рассмотреть пример 3-го порядка, допускающий геометрическую интерпретацию. Если А положительно определена, то ее собственные значения ап а2, а3 суть квадраты длин полуосей эллипсоида Л, представляющего собой образ единичной сферы под действием А1/2:у/ = .{А1/2х:||х5]= 1}. На рис. 10.2.1 изображен типичный ЭЛЛИПСОИД Л. '
Рассмотрим длины всех лучей, идущих из начала о к точкам Л.
Ясно, что У а,—наибольшая, а ]^аг—наименьшая из этих длин. Есть ли удобный способ, чтобы описать ]Лх2? Каждая плоскость л, проходящая через о, пересекает Л по эллипсу; каждый эллипс имеет диаметр (наибольшую хорду), и мы можем вообразить все эти диаметры при изменяющейся плоскости л. Наименьший из этих диаметров есть 2]/а2. Кроме того, когда х изменяется в плоскости лп вектор А1/2х изменяется в другой плоскости л2. Формально, это характеризует ]/а2 как минимакс
]Ax2 = min шах ||А1/2х.||,
л х е л, II х Ц=1или, что эквивалентно,a2 = minmaxp(x).Л Х€л •
Теорема будет сформулирована в терминах подпространств из ^" (аналогов плоскостей л в примере), и единственная трудность в доказательстве—это совладать с обозначениями. Полное обсуждение способов представления подпространств читатель найдет в § 11.1. Для доказательства нам нужны три вещи: 1) верхний
индекс указывает размерность подпространства; 2) для каждого подпространства 4fj существует (п х/)-матрица By (а в действительности много таких матриц), столбцы которой образуют орто- нормированный базис для д’), 3) для каждой By найдется пх(п—//-матрица С„_у (а в действительности много таких матриц), для которой (п х п)-матрица Р = (Ву, С„_у) ортогональная. Результат теоремы восходит еще к Пуанкаре, но его часто называют теоремой Куранта—Фишера. '
Теорема. Для /= 1, •••> п
Ку = Ху [А] = min max р (и; А)
■= max min p(v;A).
Здесь if и 91—подпространства из ^”.(10.2.1)
■ Словами: функция р непрерывна на единичной сфере и потому должна достигать своего максимального значения на каждой /-мерной единичной сфере. Минимум этих максимальных значений и есть ау.
Доказательство. Опираясь на 3) в приведенном выше перечне, определим для каждого подпространства ^ из Sn матрицу
,г в; ав,в;ас„_,
~“ [С^АВ/ C^AC^J ‘
Применяя к А теорему Коши о разделении, получим
ау^Ху[А] = Х/[Л]^Х/[В;АВ/].
Поскольку Ху[-] для (/х//-матрицы является наибольшим собственным значением, то
Ху[В/АВу] = тахр(х; В,*АВу), х^^,
= тах х*В/АВуХ/х*х, х£^.
= тах u*Au/u*u, u = ByX ^У’, так как
u*u = х’В’ВуХ = х*х.
Этим доказано, что ay ^imax р(и; А), где максимум берется по векторам произвольного У”). Чтобы показать, что на самом деле имеет место равенство, рассмотрим специальное подпространство %), натянутое на собственные векторы z,, отвечающие а,- при i = l,2, . ... j. Если ау — кратное собственное значение, то будет некоторая свобода в выборе Zy и, следовательно, также и в выборе 2Л Эти отсутствие единственности здесь не имеет зна--
чения. Существование такого W следует из спектральной теоремы (факт 1.4), и только для него Xz[B*ABy] = a,- при t= 1, ..., /".
Максиминную характеризацию можно доказать аналогичным образом, используя результат Коши:
а_у > Х_, [В;АВ,] = [B’ABJ.
Ее можно вывести также и из минимаксной характеризации, рассматривая матрицу —А.
Одно из наиболее важных приложений этой теоремы—доказательство теоремы следующего параграфа.
■ Упражнения к параграфу 10.2
Не используя минимаксную теорему, доказать, что XHA-f-Y^ > Xi [А], если Y положительно определена. Дать для приращения верхние и нижиие оценки через собственные значения Y.
Доказать, что .
az = maxmin p(v; A),
пользуясь результатом а_й^Х_^[В*АВу].
Доказать результат упр. 10.2.2, используя матрицу —А и минимаксную теорему.
Теорема о монотонности
Основной факт, не упомянутый в гл. 1, состоит в том, что XZ[W] не является линейной функцией от W. Какие же соотношения существуют между собственными значениями матриц W, Y и W-f-Y? Чтобы упростить обсуждение, положим A = W-]-Y и
^-±i[A] = a±t, Х±1 [W] =co±z, Х± i [ Y] = т]± и "i— 1, ..., п.
Прежде чем формулировать теорему, рассмотрим некоторые специальные случаи. Из минимального свойства А., [ • ] следует, что
«Bi + ni^ai^i + il-i-
Также верно, хотя и менее очевидно, что
®/ + П1 <az^“/ +П-i. /=1. ...,п.
Второму неравенству часто придают форму
’1^-ю, | <|| Y ||,
полезную, если Y — малое возмущение W. Менее известен тот факт, что ранг Y ограничивает пределы, в которых1 az может отличаться от со,.
Следующий результат был известен еще в девятнадцатом столетии, но, по-видимому, никем не был изложен в полной форме до работы [Weyl, 1912].
Теорема. Пусть A = W + Y. Для любых i, }, удовлетворяющих условиям 1^1' + /—1^м, выполняются следующие неравенства".
а_(/+/_и^ <й_( 4-т]-/.(10.3.1)
Доказательство. Идея состоит в том, чтобы выбрать подходящие подпространства в максиминной характеризации. Пусть 9LW1 и 91V1 — подпространства из ^", определяемые неявно соотношениями
ю,= тах min p(s; W)= min p(s; W),
т), = тах min p(s; Y) = min p(s; Y). 9U-xsl9V-x
В действительности g^x есть линейная оболочка собственных векторов W, отвечающих i—1 наименьшим собственным значениям. Аналогично для Sly-1. Эти подпространства могут пересекаться или иметь лишь тривиальное пересечение. В любом случае пусть <У—подпространство наименьшей размерности, содержащее и Sl1^1, и Sly-1. Положим
^^dim (^)4-1.
Соображения, связанные с размерностями, показывают, что
к— 1 =dim (^) ^ (i—1) + (/— 1) < п, причем равенство имеет место только тогда,' когда Sl^1 Л Sl'y-1 есть [0]. Поэтому
= max min р(х; А), по определению ак, £Hk-xxLSlk-x
^minp(x;A), поскольку dim <У = к—1, xl»
= min [р (х; W) + р (х; Y)]
xL»
^min p(u; W)+ min p (v; Y)
U1»ML»
"> min p(u; W)+ min p(v; Y), uiSl^1ч l96yX
так как 5tw1 с «У и Sly-1 а <У,
= ®i + V
Второе неравенство можно доказать, пользуясь минимаксной характеризацией.
Это—теория возмущений без требования, чтобы Y была мала! Пример 10.3.1 иллюстрирует применение теоремы о монотонности к некоторым матрицам малого порядка.
Пример 10.3.1
W =W =5252231231-1-111‘-I12‘-I12А -А -42-142-12 412 41-Г13-Г13
W =
W =
5
2
5
2
2
3
1
2
3
1
-1
-1
1
1
‘-I
1
2
‘-I
1
2
А -
А -
4
2
-1
4
2
-1
2 4
1
2 4
1
-Г
13
-Г
13
6.2579}6.2579}^[W]} - {-0.0571, 2.7992,{Xi[Y]} = ( -1-0- . 1.0, 2.0}{МА]}-{1.0, 4.0, 6.0}
6.2579}
6.2579}
Таблица 10.3.1
1
j
A,(W] + АДУ]
<
\+у-1[А]
■ 1
1
— 1.0571
1.0
2 b
- 1 2
1.7792
0.9429
4.0
3
1
5.2579
6.0
2
2
3.7792
1
3
1.9429
Таблица 10.3.2”
— i
X-,[W] + Х-ДТ]
>
Xi-t-vM
1
1
8.2579
6.0
2
1
1
2
4.7792
7.2579
4.0
3
1
1.9424
1.0
2
2
3.7792
1
3
5.2579
Чем больше известно об Y, тем более точные заключения можно сделать. Пусть инерция (определяемая в § 1.5) матрицы Y
11 В левой части первой строки табл. 10.3.2 по-видимому вместо —I и —/ должно быть i и /'.— Прим, перев.
есть (л, V, £), а ее ранг — р. Тогда каждый интервал, содержащий р чисел Гоу, содержит по крайней мере одно а.
(10.3.2)(10.3.2)Следствие, со^—р ^^ со&_ v ^^сх^ ^^ to£+д ^^ од+р.
(10.3.2)
(10.3.2)
Доказательство. Из определения v следует, что тк+1^0. Полагая в теореме i — k—v, / = v-f-1, находим ю*_у:^ю*^ + +t]v+i^afc- Затем берем i = n-^-\—/г— л, / = л + 1 и из второго неравенства теоремы, используя q_(n+1)^0, получаем
<Х_(л + 1_(!)^Ю_(П + 1_^_п14'т]-(л+1>^®-(п + 1-А-л).
Поскольку a_(n+1_Sl = as, утверждение доказано.
В частности, если Y положительно полуопределена, т. е. v(Y) = 0, получается первоначальный результат Вейля о монотонности
®й^“й^®»+р,^= 1, • • •> ^.
Словами: все собственные значения возрастают, но их приращение ограничено как рангом Y, так и величиной JYJ.
Пример 10.3.2
Пусть Y = уу*#=О—положительно полуопределенная матрица ранга 1; тогда в теореме Вейля р=1 и юй ^aft ^юй+1. С другой стороны, можем взять в теореме о монотонности i = n-V-l—й, / = 1; получим
“»<®ft + n-i =f'^ + II Y 11-
Это специальный случай результата, упомянутого в начале параграфа. '
Приложения теоремы содержатся в § 4.5, 11.5.
Упражнение к параграфу 10.3
Когда может иметь место равенство в теореме о монотонности?
Теорема о разделении с учетом невязок
В этом параграфе начинается изложение результатов, полученных в связи с потребностью в оценке собственных значений все больших и больших матриц. Теорема Коши о разделении слишком общая, чтобы ее можно было непосредственно применить к этой задаче. Напомним соглашения § 10.1:
А =А ='Н В*В Y'Н В*В YН;тхт, Х,-[Н]=6,.,А:лхл, Х;[А] = арН;тхт, Х,-[Н]=6,.,А:лхл, Х;[А] = ар(10.4.1)(10.4.1)
А =
А =
'Н В*
В Y
'Н В*
В Y
Н;тхт, Х,-[Н]=6,.,
А:лхл, Х;[А] = ар
Н;тхт, Х,-[Н]=6,.,
А:лхл, Х;[А] = ар
(10.4.1)
(10.4.1)
Теорема Коши дает двусторонние оценки для каждого «у через числа 6,- и ± оо. Эти оценки неизбежно будут очень слабыми при т^л/2; между тем наибольший интерес представляют как раз случаи типа и =1000, т=100.
Чего же не хватает? Теорема Коши игнорирует В. В то же время если В = О, то каждое 9,- совпадает при некотором / с а}. Вполне вероятно, что если В в каком-либо смысле мала, то каждое 6,- должно быть близко к одному из чисел ау.
Во многих приложениях матрица В известна, и можно считать, что в нижеследующих теоремах делаются наилучшие возможные заключения относительно чисел {«J, если помимо {6,} дана еще-и В. В действительности В является матрицей невязок, и в гл. 11 объясняется, как она возникает в методе Релея— Ритца.
О ’О ’Обычно В — вытянутая и узкая матрица, и для последующего изложения ее следует привести к более полезному виду
О ’
О ’
где С имеет лишь к [=ранг (В)] строк и удовлетворяет условию С*С=В*В. Это можно сделать несколькими вполне удовлетворительными способами, указанными в упражнениях. Оценки ошибок, использующие лишь Н и ||В||, представлены в гл. 11.
Далее■мы будем рассматривать матрицы А вида
'Н
с*
о*
Н: тХт,
А =
С
V
Z*
; V: кхк,(10.4.2)
О
Z
w_
А: п х п,
причем реально мы имеем лишь Н и С. В некоторых приложениях к = т; в других к-^.т<^.п; типичная ситуация: к = 3, т = 40, п = 1000. Если С малая, то результаты будут непосредственно приложимы. Однако в § 10.6 и 10.7 будет показано, что при дополнительной, очень грубой информации об отсутствующей подматрице можно получить значительно более точные оценки. Весьма неожиданно, что полезную информацию о спектре матрицы 1000хЮОО можно почерпнуть из собственных значений нескольких матриц порядка 50. (См. гл. 13, 14 и 15.)
Н С*М(Х)= 2.Н С*М(Х)= 2.(10.4.3)(10.4.3)Не зная (кх ^-подматрицу V, заменим ее симметричной матрицей X размера кхк по своему выбору. В дальнейшем X рассматривается как параметр во вспомогательной матрице порядка m + &:
Н С*
М(Х)= 2.
Н С*
М(Х)= 2.
(10.4.3)
(10.4.3)
Ее собственные значения обозначим через р, = р,-(X)sX, [M(X)], t=l, . ... т-\-к. Чуть позже мы обсудим подходящие способы выбора X. Для некоторых результатов необходимо предполагать,
что X удовлетворяет условию
матрица (V — X) обратима,(10.4.4)
которое невозможно проверить..
При удачном выборе X числа р дают гораздо больше информации, чем одни только числа 9. Если применить теорему Коши о разделении к трем парам матриц (А, Н), [A, M(V)] и (М(Х), Н], то получим (упр. 10.4.3)
а,<9,<р/+е(Х); p_z_ft(XX6_/<a_z; az<P,(V).(10.4.5)
Не всегда верно, что pz(X)^az; тем не менее следующая теорема показывает, что интервал [pz, pz+ft] должен содержать собственное значение А. Какое именно, сказать труднее.
Пример 10.4.1
H = diag(10, 11), C = diag (0.1, 1.). Простые оценки § 4.6 гарантируют, что каждый.из интервалов [9.9, 10.1] и [10, 12] содержит а, возможно, одно и то же, поскольку интервалы перекрываются. Конкретные выборы X дают интервалы [рп р3] и [р„ р4], каждый из которых содержит свое собственное аЗ>.
’ Таблица 10.4.1
X
Д1
Hl
Hi
Ht
diag(10, 10)
9.382
9.9
10.1
11.618
diag(ll, 11)
9.9901
10.0
11.010 ■
12.0
diag(lO, 11.21)
9.9
10.1
10.1
12.11
diag(9.85, 11.1)
9.8
10.05
10.05
12.05
Это небольшое вспомогательное вычисление устраняет опасения, что 10 и 11 аппроксимируют одно и то же собственное значение а. Выбор двух последних матриц X продиктован теоремой (10.5.3).
Следующий неопубликованный результат принадлежит Кахану.
■ Теорема. Пусть матрица X задана формулой (10.4.2), и пусть для некоторой (k хк)-матрицы X, удовлетворяющей условию (10.4.4), известны собственные значения pz(X), t= 1, ..., т-\-к, вспомогательной матрицы М(Х) из (10.4.3). Тогда каждый интервал [ру, Py+S], /= 1, ..., т, содержит собственное значение ау матрицы А; при этом между интервалами и числами ау можно установить взаимно-однозначное соответствие. Кроме того, во внешности каждого открытого интервала (pz, pz+m), t = 1, .. ., k,
имеется собственное значение ап и между интервалами и числами а{ можно установить взаимно-однозначное соответствие.
-(10.4.6)
Различие между внутренними и внешними интервалами исчезает, если замкнуть действительную прямую (— оо = + оо) и каждый индекс / для р понимать как /—т—к, если j/m^k.
Доказательство. Представим А подходящей суммой матриц" и применим теорему о монотонности:
А =А =НСНСООС*ОXОО W - z(v -xy'z*С*ОXОО W - z(v -xy'z*
А =
А =
Н
С
Н
С
О
О
С*О
XО
О W - z(v -xy'z*
С*О
XО
О W - z(v -xy'z*
- т(Х) + и(х),
Этим равенством определяются матрицы Т и U. Блочно-треугольное разложение матрицы U имеет вид
и =и =Uоо1*О Z(V - X)"1Uоо1*О Z(V - X)"1U ОО'XО 1* (v-x)-’z».(10.4.8)о О 1л-т-* .U ОО'XО 1* (v-x)-’z».(10.4.8)о О 1л-т-* .0 К0 о о0 К0 о о'n-m-k ][°'n-m-k ][°о о v-х оо оо о v-х оо о
и =
и =
Uо
о1*
О Z(V - X)"1
Uо
о1*
О Z(V - X)"1
U ОО'
X
О 1* (v-x)-’z»
.(10.4.8)
о О 1л-т-* .
U ОО'
X
О 1* (v-x)-’z»
.(10.4.8)
о О 1л-т-* .
0 К0 о о
0 К0 о о
'n-m-k ][°
'n-m-k ][°
о о v-х о
о о
о о v-х о
о о
Обозначим инерцию матрицы V — X через (л, v, 0), где по предположению (10.4.4) n-|-v = fe. Теорема Сильвестра об инерции, примененная к (10.4.8), показывает, что инерция U (X) есть (л, v, п—k).
Положим теперь т; = \. [Т (X)], i=l, ..., п, и используем следствие из теоремы о монотонности. Получим
(10.4.9)(10.4.9)Ti-v ^ ^и ^ Т/+ л ^ tj+ft, i—1> •■•, и.
(10.4.9)
(10.4.9)
Поскольку Т—прямая сумма М и еще одной матрицы, то каждое р совпадает с некоторым т. Наша теорема сводится попросту к соотношениям (10.4.9), записанным для первых т значений I, при которых Tf_v являются собственными значениями М (X). Чтобы выразить это более точно, обозначим через J минимальный индекс, такой, что p^xj-v. Тогда из (10.4.9) следует: ру^а7^ ^ту+я. Не каждое т совпадает с каким-либо р; наименьшее р,
которое гарантированно превосходит ту+л, получается из неравенства Tj+„ = t(j_v)+» ^Цу+Й. См. иллюстрацию ниже.
Второе утверждение теоремы вытекает из таких односторонних оценок следствия из теоремы о монотонности:
b-vC®,для / = v+l, .... п,(10 4 Ю)
az^T/+n для / — 1, 2, ..., «—л.4
Из иллюстрации можно вы-Из иллюстрации можно вы-Снова применяем эти неравенства лишь для тех значений /', для которых Tz_v = pm+/, i=l, ..., k п. Детали оставляются читателю в качестве упр. 10.4.4.
Из иллюстрации можно вы-
Из иллюстрации можно вы-
Иллюстрация: к = 2, л = v = 1. вести такие оценки для а4 и а8:
j
= 1;
J = 4
К
j
- 2;
J = 8
И
1 1
Тз
III
I 1 !
Тю
^1
Pl
Рз
01 < «4 < Мз,р2 < “в < ^4-
Собственные
Тцзначения Т
|Собственные
Д4значения М
Как следует выбирать X? Ответ зависит от того, имеется ли какая-либо дополнительная информация об А помимо Н и С. Различные случаи рассматриваются в последующих параграфах.
Упражнения к параграфу 10.4
где $ — большой скаляр.где $ — большой скаляр.Показать, что если Xj^X2 (т. е. Xz— Х2 неотрицательно определена), то py(Xt)^ р.у (Х2), / = 1, .... m-^-k.
где $ — большой скаляр.
где $ — большой скаляр.
Рассмотреть простой выбор Х = §, Используя теорему Сильвестра, показать, что
при ё—►—оопри 5 —>-|- 00при ё—►—оопри 5 —>-|- 00Mz+* (6) —♦ jMz+* (6) —♦ j—оо для 1—й<1<0,
при ё—►—оо
при 5 —>-|- 00
при ё—►—оо
при 5 —>-|- 00
Mz+* (6) —♦ j
Mz+* (6) —♦ j
9Z для 1 < i ^ т,4- оо для 1 — & < 1 < 0,6_, для l^i<m.
Пользуясь теоремой Коши, вывести все неравенства (10.4.5).
Указать правильный выбор индекса в (10.4.10), позволяющий опознать собственное значение а вне интервала (pz, pz+m).
*§ 10.5. Оптимальные интервалы Леманна
Для того случая, когда никакой дополнительной информации относительно А, кроме Н и С из (10.4.2), не имеется, наилуч-
1> Либо т,±л = р;.— Прим, перев.
ший выбор матрицы X из (10.4.3) был указан (неявно) в работах [Lehmann, 1949] и [Lehmann, 1966]. В нашем изложении этот результат, а именно (10.5.5), будет получен как непосредственное следствие теорем Кахана о разделении с учетом невязок (10.4.6) и (10.5.3).
Слово «оптимальные» имеет здесь специальный, но вполне естественный смысл: для любого действительного числа^можно указать матрицу X, дающую наименьшие интервалы для собственных значений а матрицы А, примыкающих к £ с обеих сторон. Для простоты потребуем, чтобы ^^ОД^ \-[Н]), i=l, ..., т. Напомним, что, согласно (10.4.6), все интервалы включения, получаемые из М (X), имеют вид [уу, ц/+й], где к—ранг С. Следовательно, чтобы иметь пару интервалов включения с общей границей £, скажем [у', £] и [£, у"], необходимо, чтобы £ было й-кратным собственным значением М (X). Подходящим выбором оказывается (^хй)-матрица
Х^ + ^Н-^С*. (10.5.1)
Лемма. Параметр t, является k-кратным собственным значением М(ХЕ). Кроме того, каждое собственное значение у, (Х?) есть монотонно неубывающая функция от £, t = 1, 2,'.. ., тЦ-k.
'(10.5.2)
Доказательство. Рассмотрим блочно-треугольное разложение матрицы М—£.
M(Xt) - f -M(Xt) - f -С*С(Н - ^Г'С*С*С(Н - ^Г'С*
M(Xt) - f -
M(Xt) - f -
С*
С(Н - ^Г'С*
С*
С(Н - ^Г'С*
По теореме Сильвестра об инерции М—£ имеет тот же дефект (т. е. порядок—ранг), что и матрица diag(H—£, О), т. е. к, поскольку £=#\[Н]. Другими словами, £ есть ^-кратное собственное значение М(Х£).
s*M(Xj) ss*ss*M(Xj) ss*sЧтобы показать монотонность, используем минимаксную характеризацию (§ 10.2)
s*M(Xj) ss*s
s*M(Xj) ss*s
у, (Х:) = min max«У1 s 6 <у‘
где <У'—произвольное подпространство размерности I. Представим s* в виде (u*, v*), где и: mxl, a v: кх\. Тогда, согласно
определению М£ из (10.4.3),
s*M£s = u*Hu + u*C*v + v*Cu
+ v*(^ + C(H-C)-1C*)v;
A (s*M£s) = v*v+v*C (H — С)”2 C*v
= ||v|i2+l!(H-C)-1C*vr>0.
Наилучший интервал зависит от расположения £.
Теорема. Пусть £— произвольное число, удовлетворяющее неравенствам 6/<£<6/+i. Каждый из интервалов [ру(Х£), £] и [С, H/+s+i (-^г)] содержит по крайней мере одно собственное значение К. Кроме того, существует матрица А, собственными значениями которой являются только концевые точки этих интер- валовп..
'(10.5.3)
Доказательство. Теорема о разделении (10.1.2), примененная к М(Х£), дает
Py+z0^0 ^®/+z ^Hy+A+z (^0> ^ —0, 1, -
Поскольку £ есть /г-кратное собственное значение матрицы М(Х£), эти неравенства показывают, какие именно21 собственные значения равны £:
Р/ ^ ^/ < Р/ + 1 = Р/ + 2 = • • • = P/+Z1 — С <С 6/ + 1 ^ Ц/ + Й + 1.
Наше утверждение оказывается теперь следствием теоремы Кахана (10.4.6) и попросту использует совпадение всех р3). Оптимальность устанавливает выбор в качестве А матрицы diag[M(X£), £1л-т-й]; все ее собственные значения, отличные от чисел р, равны £.■
Из этого результата далеко еще не видно, как выбрать £, чтобы до минимума сократить ширину интервала [ру, £]. В действительности общая формула неизвестна; однако рис. 10.5.1 показывает, как меняется ширина с изменением £, Приложение было дано в примере 10.4.1..
Исходная форма, в которой Леманн представил свои результаты, подтверждает, что £ следует выбирать не слишком далеко от 0у. Как эта формулировка получается из предыдущей теоремы, указано в упражнениях 10.5.5, 10.5.6 и 10.5.7.
Для произвольного действительного числа § Леманн определяет величины.
6, = 6, (|) ^ V \ [(Н—В)2 + С*С], i = l, .... т. (10.5.4)
Вот первоначальная формулировка теоремы (10.5.3), взятая из статьи [Lehmann, 1949].
Теорема. Для каждого £ и для i = 1, 2, ...,т матрица А имеет по меньшей мере i собственных значений в интервале [В —6/f В 4-6/] “ по меньшей мере m-]-1—I собственных значений, не лежащих в интервале (В—6;, В4-6,). Существует матрица \, у которой в этом открытом интервале нет собственных значений.(10.5.5)
В формулировке Леманна цель состоит в том, чтобы минимизировать 6ДВ), а по теореме Вейля о монотонности из (10.5.4) следует
61 (^^[(Н-ВРЖСГ
Во многих приложениях ||С|| мала в сравнении с [] Н |], и в любом случае эта оценка для б? минимизируется при В = 9/ для некоторого /. Однако выбор В = 6/ в общем случае не минимизирует 61. Оказывается (упр. 10.5.5), что В и 6, (В) являются соответственно
серединой и полушириной интервала [ру, Py+J11, как показано на следующем рисунке.
8/ ®i§ 'Aj+k+t
Какая формулировка предпочтительней? Матрица (Н — |)2+С*С имеет порядок т, а М(ХЕ)— порядок тД-к. Однако к из собственных значений М известны, равно как и соответствующее собственное подпространство (упр. 10.5.8). Эту информацию можно использовать, чтобы упростить вычисление остальных собственных значений М. Правда, в данном случае соображения эффективности должны отступить на второй план по сравнению с требованиями точности.
К сожалению, 6-формулировка предполагает вычисление 6t (|) через предварительное вычисление 6f (|). Величина 6( является наименьшим собственным значением и будет вычислена (см. § 2.7) с ошибкой 2\ очень малой в сравнении с || (Н — В)2 4-С*С||. В наиболее интересных случаях отношение Si/I В | мало, например 10-5. Хотя вычисленное 6^, было бы верным в пределах рабочей точности, в 62 и, следовательно, в 6, мы должны ожидать-на десять верных десятичных знаков меньше. Этой потери достаточно, чтобы обесценить вычисление как раз тогда, когда его потенциал наибольший. Поскольку 6L/| ВI мало, в 6, не требуется очень высокой относительной точности, но некоторые верные знаки все же нужны. В М-формулировке вычисленные значения р,у- и Н/+а(=С) могут быть очень близки, но это не помешает хорошей программе вычислить их с такой точностью, какую допускает их разделенность. Резюмируем: 6-формулировка неизбежно приводит к почти удвоенной потере верных знаков. Упражнение 10.5.10 иллюстрирует это явление.
Упражнения к параграфу 10.5
Что происходит с матрицей Xg = $-|-C(H—Q-1C* и числами Pi (Х£), 1=1т + &, если $—> Оу? ■
Показать, что при 1</ интервал [р, (X; , С] содержит по крайней мере столько же собственных значений а матрицы А, сколько он содержит собственных значений р матрицы M(Xj)3).
Аналогично, при I > / интервал [С, р, (Х;)] содержит по крайней мере столько же собственных значений а, сколько собственных значений р.
4 Для $ = 5-рб! ©•— Прим, перев.
2> Абсолютной.—Прим, перев.
3> Напомним, что / определяется условием: 0у < $ < 6у+1.— Прим, перев.
Каково наименьшее число собственных значений ос, которые могут лежать в объединении [—оо, p,(Xc)J и (5, оо)? Указание: Использовать последнюю часть теоремы Кахана.
Показать, что интервал в упр. 10.5.2 оптимален в том смысле, что ни для какого подынтервала нельзя доказать наличие стольких же собственных значений А.
(Трудное.) Пусть 9/ < £ < 6у+1, и пусть р—произвольное собственное значение М(Х;), отличное от 5- Определить величины 5 = (5 + р)/2, 6 = (£ —р)/2. Показать, что
det |(Н—У2+С*С—62] = 0.
Пусть 6, (5) = XZ[(H — 5)2+С*С], i=l, ..,т. Применяя к (A — g)2 теорему Коши о разделении, доказать, что интервал [g—6у(|), 5 + 6у(§)] содержит по меньшей мере / собственных значений А.
Вывести исходную формулировку Леманна из (10.5.3).
Проверить, что для любого 6-вектора v (m + 6)-вектор [v*C (Н— Q-1, — v*j* есть собственный вектор М (X?), отвечающий £.
(Трудное.) Проводя для М(Х;) аналитическое исчерпывание, получить более сложную (тхт)-матрицу, собственными значениями которой являются pi, ..., ру, ру+^+1, ..., pm + ft. Указание: Использовать матрицу
где R—это верхняя треугольная (АХб)-матрица, выбранная так, чтобы столбцы произведения были ортонормированными, т. е. R~*R~1 есть разложение Холесского (см. гл. 3) для матрицы
С(Н —o~2c* + i.
Рассмотреть случай 5=1, С = (0, у2),
Предположить, что вычисленная сумма 1 + у4 равна 1 (или попробовать у=10-3). Исследовать вычисление 6t (5) в соответствии с (10.5.4). Затем рассмотреть вычисление чисел рг(Х^), если 5= 1 4-?2/P^l + ?2.
*§ 10.6. Использование оценокдля отсутствующей подматрицы
Напомним, что мы исследуем матрицы вида
' Н
с» о*
А =
С
Y
,(10.6.1)
°
где А: пхп, Н: тхт и Y неизвестна. Оценки Леманна можно значительно улучшить, если какая-нибудь информация об Y все же имеется, например оценка для ||Y|| или Ц Y—1 jj. Чтобы полу-
чить эти меньшие интервалы, полезно вначале посмотреть, что можно сказать, если известны собственные значения {т),, Z= 1, ..., п—т} матрицы Y. С этой целью возьмем в качестве матрицы X в (10.4.3) матрицу т)1Л:
М(Ч) =М(Ч) =■ н С* ' .07)1*■ н С* ' .07)1*■ Ml) ® \[M(q)], i * 1,■ Ml) ® \[M(q)], i * 1,т + к. (10.6.2)т + к. (10.6.2)
М(Ч) =
М(Ч) =
■ н С* ' .07)1*
■ н С* ' .07)1*
■ Ml) ® \[M(q)], i * 1,
■ Ml) ® \[M(q)], i * 1,
т + к. (10.6.2)
т + к. (10.6.2)
Соглашение: р; = —оо, если г^О; р,.= +оо, если i^m-Vk.
Далее следует целый каскад результатов, вытекающих из теоремы Вейля (10.3.1) о монотонности. Они были получены Каханом в 1957 году, но независимо были доказаны и опубликованы в работах [Weinberger, 1959, 1974].
Лемма. Для 0^i^m4-l, 0^/^п—т и a; = Xz[A] т1‘п{Р/(т)/+1). '1/+1}<а/+/^тах(р,.+й(г]/), г)/}. (Ю.6.3) min {р_г_*(л-/), Л-/} <“-/-/ <max(p_z(n-y-z), П-у-Д. (Ю.6.4) «I ^Hz(n-i)» H-z(t1iX«-z-(10.6.5)
Доказательство. Разложим А в подходящую сумму матриц и применим теорему о монотонности из § 10.3; получим
О* О* ‘
Y - ^*1
> min{ft(^+i)i^+i}.
Заметим, что второй член по-прежнему равен 0, когда j = n—т и т)/+1 = +оо. Результат, очевидно, верен и при 1 = 0^. Вторая часть теоремы о монотонности приводит к неравенству
^таХ^^Т).,-,), Г)^}.
Используя соотношения a_z = an+1_z, p_z = P-m+*+i-z> Л-z ” = T]„_m+1_z при p = m4-l—i, q = n—m—/, переводим это неравенство в.
az+y^maxIp-z+^T]/), т)у}.
Тем самым доказано (10.6.3), а (10.6.4) эквивалентно (10.6.3).
Последнее утверждение (10.6.5) оставляется читателю в качестве упражнения 10.6.1.
Установленные результаты являются чисто академическими; если бы числа r]z были известны, то роли У и Н можно было бы с выгодой поменять. На практике если что-нибудь известно об У, то это, скорее всего, какая-нибудь грубая оценка. Напомним, что из т] ^ У следует т]^р(х; У) для любого х^о.
Следствие 1. Для t = 1, ..., m
если rf^Y, то
min{pzh'), л'}<«< и ц_;(г]') <a_z,
если У ^ л" > т°
«,• ^пАп") и a_z<max(p_z(r]"), n"h (Ю.6.6)
Доказательство. Из монотонности чисел pz (см. (10.5.2)) следует ь- (л') < и,- hi), в,- h-i) <и,- (л")-
Применим теперь (10.6.3) при /=0, чтобы получить нижнюю оценку для az, и (10.6.5), чтобы получить верхнюю оценку. Вывод неравенств для a_z аналогичен.
Если известна лакуна в спектре У, то ее также можно использовать для нахождения интервалов включения.
Следствие 2. Предположим, что
т]л С Л' < Л" ^ Лл+i для некоторого л и (10.6.7а) е/^л'<9/+1^-..<е/+,^л"<9/+1+1,(ю.б.7Ь)
тогда
Hi (Л ) ^ an+t^Pi+* (Л )> / + l^t^/+l.(10.6.7с)
Доказательство оставляется читателю (упр. 10.6.3). Отметим, что для того, чтобы пользоваться этими оценками, не обязательно знать индекс л.
А -А -Пример 10.6.1
А -
А -
т = k = 1
Н = 0, С = у.
М(0 = ^ Т 0 < у « 0.
Если взять е, в качестве приближенного собственного вектора, то оценка из § 4.5, основанная на норме невязки, показывает, Что в интервале [0—у, @ + yj есть собственное значение а. Если
ничего не предполагать относительно Y, то оптимальный интервал Леманна — Кахана, построенный для числа t = 0-|-y, также оказывается совпадающим с [6—у, 6 +у], а все остальные £ дают худшие оценки. Теперь мы попробуем некоторые другие М. Положим о j/б2 + 4у2 == 0 + 2у2/0.
fMi-p-г
0
^9_^=_^/в
1(9 + а) = 9 + ^/9
е
6 — у
6 + у
26
9 + |(6 - а)* 6 -^/9
6 + |(6 + о) = 29 + у2/6
Предположение; O^Y^20.'
Следствия из (10.6.6) п:
—у2/е^«, ^е—у2/о, е+у2/е<а3^2е+у2/е.'
Оба а имеют большую свободу.
Предположение; 0 ^ Y ^ 20.
' Следствия из (10.6.6) ^
'0—у^а(^0—у2/0, 6 + у ^ а3 ^ 20 + у2/0.
Отметим узкий интервал для а,.
Предположение; г^ ^ 0 < 20 ^ т]а..
Следствие из (10.6.7):
aa = 9[l + yW + O(y4/04)]!!
Пока не было показано, что оценки в (10.6.6) и (10.6.7) улучшают оценки Леманна. Различие наиболее явственно при || С || —* 0 и 0у—*a-j*p Для некоторого р. Ширина интервала Леманна есть 26a (g); согласно определению чисел 6у в (10.5.4),
бП^ЖЯН-б]2.(10.6.8)
Таким образом, если ||—0.-1 = О (|| С ||) при ЦСЦ—>-0, то 6j (£) = = 0 (IIСII).
В отличие от этого
Ру(г)) > 0у.2С 1,2' — .(10.6.9)
/г1_е/+/(п_е/)2+41|С||2v '
Поэтому, например, интервалы [р,(т]'). ^Дл")] сужаются к az со скоростью О (|| С||2) при условии, что т/, г]" отделены от 07 и
При выводе оценок для а3 используется также (10.6.3) соответственно при i = 2, /=1 и 1=1, / = 2.— Прим, перев.
не зависят от [|С[]. Доказательство (10.6.9) дано в работе [Wie- landt, 1967, разд. 28]. Пример 10.6.1 иллюстрирует это явление.
Упражнения к параграфу 10.6
Используя теорему Вейля о монотонности (10.3.1), показать, что a,<p.,(n-i) и ц.((1п)<м.
Показать, что если rf^Y^Sr)", то
ц_/(т)'Ха_Хтах {р._, (т]"), п"}.
Доказать (10.6.7), применяя лемму с /, замененным на л.
Если собственные значения q, матрицы Y известны, то их можно использовать совместно с собственными значениями 0( матрицы Н. Доказать, что если 0Хч/+ь то р/^у-ы)<а1+у и если П/^в/, то а, + /<ц/+» (т)у).
*§ 10.7. Использование лакун в спектре
Рассмотрим пример из § 10.6, в котором имеется хорошее приближение 6 к собственному значению а:
А ■ у0А ■ у07 О7 О
А ■ у
0
А ■ у
0
7 О
7 О
Если об Y ничего не известно, то лучшее, что можно сказать: а принадлежит интервалу [0—у, ( +у]. Предположим, однако, что имеется дополнительная информация такого типа: а является единственным собственным значением А в большем интервале [9—0, 0 + 0], где ?<0. Тогда можно сделать сильное утверждение: а в действительности лежит в интервале [0 — уа/т, 0+уа/т], где т = (0 + /^+4?)/2 = Р + та/0. Если 0/0=10-*, у/0=1О-», то 0 совпадает с а в пяти десятичных разрядах. Наблюдения такого сорта позволяют ускорить выход из дорогостоящих итерационных процедур для вычисления чисел а.
Эти улучшенные оценки получаются с помощью двух конкретных вспомогательных матриц М.
Pi ю
е - р - а'
У — т
(6 + у2/т)
6 + р = а"
(» - ?7т)
9 + т
В 1929 г. Темпл по существу доказал, что ^ (а") ^а^ра(а'), и теорема, приводимая ниже, обобщает этот результат и аналогичные результаты Като.
Рассмотрим матрицу А вида (10.6.1) с достаточно малой ||С| так, чтобы, например, интервал [а', а"] содержал то же число собственных значений а матрицы А, что и собственных значений 0 матрицы Н. Ситуация показана на рисунке.
®х+1 ^"* ^ 9x+i®х+1 ^"* ^ 9x+iat” ax+z+l9ян+гat” ax+z+l9ян+г
®х+1 ^"* ^ 9x+i
®х+1 ^"* ^ 9x+i
at” ax+z+l
9ян+г
at” ax+z+l
9ян+г
Оптимальные интервалы получаются с помощью собственных значений р вспомогательной матрицы М(ХЕ) (см. (10.4.3), (10.5.1)) при подходящем выборе £. Теорема (10.7.1) есть следствие (10.5.3) и была впервые сформулирована в работе [Lehmann, 1949].
Теорема. П редположим, что для некоторых индексов л, k и I
(10.7.1а)(10.7.1b)(10.7.1а)(10.7.1b)(10.7.1с)(10.7.Id)(10.7.1с)(10.7.Id)®л < $^ ^ ^л+i ^ • • • ^^ ал+/ ^ ® < ^n+Z+i,0х < а <0х+1^...^0х+/<а < 0x+/+i,
(10.7.1а)
(10.7.1b)
(10.7.1а)
(10.7.1b)
(10.7.1с)
(10.7.Id)
(10.7.1с)
(10.7.Id)
тогда
х ^ л и
P-x + Z ^ (^а") ^ ал+/^Рх+)+б(Хал) для 1 ^/^ L
Напомним, что &=ранг [С]. Эти неравенства наилучшие возможные при данной информации.
Чтобы применять теорему, не обязательно знать л.
Доказательство. По теореме Коши аи ^0И, а согласно (10.7.1а) и (10.7.1b), 6И <а/ <ая+1, откуда и следует (10.7.1с). Теперь перейдем к более трудной части. По (10.7.1b) 0и<а' < 0и+1, поэтому можно применить при £ = а' теорему (10.5.3) о разделении с учетом невязок. Заключаем, что [а', рх+и+1(Ха,)] содержит по крайней мере одно а и, кроме того, а'= ри+1 (Ха,)= ... ... = р.х+х (Ха,). Согласно (10.7.1а), ал+1 должно принадлежать этому интервалу, в то время как ал+2 может принадлежать или не принадлежать ему. Таким образом,
ал+1 ^ Hx + fc+l (Ха.),
что доказывает правое неравенство в (10.7.Id) при / = 1.
Чтобы провести доказательство для прочих значений /, используем либо формулировку Леманна (10.5.5) при подходящем |, либо упражнение 10.5.2. Получим больший интервал [а', Мх+»+/(Ха,)], содержащий по крайней мере / чисел а. Согласно (10.7.1а), _он должен включать ал+1, ..., ал+у. Это доказывает правое неравенство в (10.7.Id) для всех / до т—х включительно; однако лишь при /^/ одновременно будет выполняться и левое неравенство.
Чтобы доказать левое неравенство, возьмем £ = а" и применим упр. 10.5.2. Заключаем, что р,х+/+1(Ха.,)= . .. =p,x+;+fe(Xa„) = a" и что [р-х+/(Ха"), а") содержит по крайней мере /4-1—/ чисел а для всех / от / и до (в направлении убывания)—(х—1). Согласно (10.7.1а), этот интервал должен включать ая+/, ..., ал+;. Значениями /, для которых выполняются оба неравенства, будут
Равенство в (10.7.Id) слева достигается для матрицы А = = diag[M(Xa„), a"4* 1]» а справа—для матрицы Л = diag[M(Xa,), a' — 1].
Упражнение к параграфу 10.7
Предположим, что (|С[| настолько мала, что в предположении (Ь) теоремы 10.7.1 справедливо a'4-||G||<бд+i- Показать, что для /=1, ...,/
0«+j < Pg* j*k (Ха») < 6q*/4*8СЦ8/(е<+j—a').
Примечания и ссылки
Теорема о разделении восходит к работе [Cauchy, 1821] так же, как простейшие случаи полной теоремы о монотонности—к работе [Weil, 1912]. В действительности эти две теоремы и минимаксная характеризация собственных значений [Fischer, 1905] составляют совокупность, в которой любой результат можно вывести из остальных.
В 1930-х годах Темпл начал работу по выводу оценок, основанных на использовании невязок, для ошибок приближенных собственных пар. Другие авторы, сделавшие вклад в этот раздел и распространившие его результаты иа дифференциальные операторы,— Вайнштейн, Като и Виландт. Изображая спектр А на рисунке, можно вывести интересные априорные оценки ошибок. Полный и современный обзор этой области дан в книге [Weinberger, 1974]. Той же теме посвящена более поздняя работа [Chatelin, Lemordant, 1978].
В этой главе выделена единственная тема—использование матрицы невязок, а не только ее нормы,— и сделана попытка изложить идеи просто и в то же время полно. Леманн [Lehmann, 1949, 1963] первым получил оптимальные оценки, которые можно вывести из дайной информации. Однако здесь мы придерживались подхода, предложенного в неопубликованных заметках Кахана. Эти заметки унифицируют все результаты и имеют то преимущество11, что написаны на английском.
11 С точки зрения автора,— Прим, пврев.
яа
ГЛАВА 11
Аппроксимациииз подпространства
Подпространства и их представление
Некоторым читателям может показаться, что широкое использование абстрактных понятий векторного пространства и подпространства при обсуждении численных методов излишне затрудняет понимание. В действительности же язык подпространства упрощает такие обсуждения за счет отбрасывания несущественных деталей. В этом параграфе рассматривается способ задания подпространств и показывается, как выбор базиса соответствует некоторым явным матричным преобразованиям.
Подпространство S’ пространства ^п является его подмножеством, замкнутым относительно операции линейной комбинации векторов. Однако более полезным определением представляется следующее: S’— совокупность всех линейных комбинаций некоторого малого множества векторов из S’. Любое малое множество, которое таким образом задает S, называется порождающим множеством. Для каждого S, отличного от тривиального подпространства {о}, существует бесконечно много таких порождающих множеств. Удобно т векторов порождающего множества упорядочить как столбцы некоторой матрицы S = (slt ..., s„) и затем сказать кратко и не совсем корректно, что S порождает^. Sx—это хорошее обозначение линейной комбинации столбцов матрицы S. Имеется несколько различных способов описания S;
S — span S = (Sx: x = (11.1.1)
Другие названия для S; область значений, образ или пространство столбцов матрицы S. Использование в (11.1.1) пространства 6т оказывается весьма важным: в то время как х пробегает все пространство m-мерных векторов $т, векторы Sx пробегают лишь некоторую часть Sn, а именно его подпространство S (см. упр. 11.1.2).
Порождающие множества выгодно иметь настолько малыми, насколько это возможно. Такие минимальные порождающие множества называются базисами подпространства S, и все они состоят из одинакового числа векторов. Это число называется размерно-
стью Д’. В дальнейшем размерность подпространства будет автоматически обозначаться верхним индексом, т. е. У = jf™. Одним из преимуществ использования (/гхт)-базиса S для Д’ является существование взаимно-однозначного соответствия между длинными /г-мерными векторами s из S’” и короткими вспомогательными векторами х из ^т, которое задается соотношением s = Sx.
Учитывая потребности, возникающие в § 11.4,.опишем типичные подпространства $у подпространства 5fm из &п. Как это можно сделать?
Пример 11.1.1.
Пусть
1О О1О Оо 1 оо 1 ос 63с 63§2 в§2 в§2 Е§2 Еа3 Yа3 Y: а + р + у = О: а + р + у = Ос £3.с £3.
1
О О
1
О О
о 1 о
о 1 о
с 63
с 63
§2 в
§2 в
§2 Е
§2 Е
а
3 Y
а
3 Y
: а + р + у = О
: а + р + у = О
с £3.
с £3.
По отношению к такому базису подпространство
соответствует подпространству
02 = span
Другой, более интересный пример показывает, что
1 1 1 О
соответствует подпространству
Аналогичная ситуация имеет место и в общем случае. Если для <5pm выбран конкретный базис S, то имеется естественное соответствие между подпространствами $7’ подпространства Дт и ^подпространствами ^ из £т, задаваемое соотношениями ^/=5$у = = {Su: и 6 $'} (см. у пр. 11.1.4).
6"
U
S” = SS”, S : л х m,
U и.
§1 = s^ = SG&'", G : m х /.
Взаимно-однозначное соответствие между подпространствами 8” ц §1 подпространства 8т
Рис, 11.1.1. Подпространства пространства.
Рисунок 11.1.1 иллюстрирует смысл изложенного другим способом.
Подпространство 5fm принадлежит ^" (не только 3?"), и поэтому одновременно удобно и правильно использовать для его описания ортонормальные базисы (см. упр. 11.1.5).
Упражнения к параграфу 11.1
Пусть подмножество ^ пространства §п обладает свойством, что для любых и и v из ^ этому подмножеству принадлежит их линейная комбинация au-f-Pv. Почему jf должно быть совокупностью всех линейных комбинаций некоторого конечного подмножества из ^?
2 41
11.1.2. Пусть S =11.1.2. Пусть S =1 2 —порождающее множество (избыточное) для jf.
11.1.2. Пусть S =
11.1.2. Пусть S =
L0 0 J
Показать, что каждый вектор s из ^ может быть записан в виде Su для некоторого и из ^а. Сколько таких и существует для каждого s?
Описать вторую пару подпространств $а и ga из примера 11.1.1 как пространства столбцов некоторых матриц G и G.
Пусть S является базисом £fm. Доказать, что соответствие между подпространством $fm и пространством §т, задаваемое матрицей S. действительно взаимно-однозначно.
Используя процесс Грама — Шмидта или иным способом, построить ортонормальные базисы заданных в § 11.1 подпространств.
Инвариантные подпространства
Собственный вектор г матрицы А может быть нормирован так, чтобы иметь любую удобную ненулевую норму. Иначе говоря, вместе с вектором z собственными векторами А являются также 2z, — z и т. д. Однако удобнее говорить о подпространстве 5fY = = span (z) из §", которое обладает двумя замечательными свойствами:
tf1 отображается матрицей А в себя, т. е. А^1 с еУ4.
Результат действия А на любой вектор z из .У1 является кратным z с постоянным множителем: Az — zX, причем X зависит только от сУ1, но не от z.
Подпространства, удовлетворяющие условию 2, называются собственными подпространствами.
Пусть теперь столбцы (/г X т)-матрицы Z = (z1, ..., ги) являются собственными векторами матрицы А. Тогда span (Z) удовлетворяет условию 1, но не удовлетворяет условию 2, за исключением случая Х, = Х2= ... =Хт. Подпространства б", удовлетворяющие условию 1, называются инвариантными. Обратно, любое инвариантное подпространство обладает базисом из собственных векторов (см. упр. 11.2.1).
Для любой заданной (/г х т)-матрицы F = (fu ..., fM) желательно иметь способ проверки инвариантности span (F). Согласно 1, для инвариантности необходимо, чтобы Afy = 2f,c,7 Для всех / = = 1, ..., т с некоторыми неизвестными коэффициентами си. Эти равенства могут быть записаны более элегантно в виде матрицы невязки для F:
R з АR з А(11.2.1)(11.2.1)
R з А
R з А
(11.2.1)
(11.2.1)
Когда F имеет полный ранг, то (11.2.1) дает единственное решение С= (F*F)-1 F*AF. Если же ранг(Р)<т, то уравнение (11.2.1) имеет много решений, но работать с такими матрицами F весьма затруднительно и нет необходимости.
Если доступен ортонормированный базис Q подпространства span(F) (т. е. span (Q) = span (F)), то изложенный выше критерий принимает более удобную форму
R(Q) = AQ—QH = O, H^Q*AQ. (11.2.2)
Матрицы С и Н обе представляют сужение А на span(F), но Н имеет то преимущество, что она симметрична. Более того:
Каждый собственный вектор С или Н определяет собственный вектор матрицы А.
Действительно, если Су = уХ, то Fy—собственный вектор А, соответствующий ее собственному числу X, а если Нх = хХ, то Qx является собственным вектором А, также соответствующим ее собственному числу X.
Пример 11.2.1.
11—20
110-2
-2011
0-2 11
Вычисление Сиу предлагается как упражнение, но нетрудно показать, что
НН= 7 6146 -2]'= 7 6146 -2]'илиилиГ 1]L -21Г 1]L -21
Н
Н
= 7 61
46 -2]'
= 7 61
46 -2]'
или
или
Г 1]
L -21
Г 1]
L -21
Упражнения к параграфу 11.2
Пользуясь результатами § 1.4, доказать, что если д’— инвариантно относительно А, то g обладает базисом нз собственных векторов.
Пусть F = QL* и матрица Q ортоиормальна. Выразить С через Н и L*.■
В примере 11.2.1 вычислить С, а также найти ее собственные векторы и соответствующие собственные векторы матрицы А.
Процедура Релея — Ритца
Обычно подпространство д’”, с которым приходится иметь дело, оказывается не инвариантным относительно А. Тем не менее, если оно близко к инвариантному, то должно содержать хорошие аппроксимации к некоторым собственным векторам А. Для вычисления наилучших приближений из д’”1 для собственных векторов А требуется выполнение трех условий:
S является (п х/п)-матрицей полного ранга, и ее столбцы образуют базис д’”. '
Имеется подпрограмма, назовем ее ОР, которая для любого заданного х выдает вектор Ах.
Имеются служебные программы для ортонормализации множества векторов и вычисления собственных систем симметричных (тхт)-матриц.
Знать матрицу А явно нет необходимости. В некоторых приложениях, но не во всех, п большое (п > 1000) и т^.п. Причем иногда требуется найти только подмножество р из т приближенных
собственных пар. Хорошо известная процедура Релея—Ритца (конкретизированная в табл. 11.3.1) позволяет вычислять эти аппроксимации.
Таблица 11.3.1
Процедура Релея — Ритца
Шаг
Стоимость (в арифметических операциях — ops) 11
Ортоиормировать, если это необходимо, столбцы S для получения ортонормальной матрицы Q, записываемой иа место S.
Сформировать AQ путем т вызовов подпрограммы ОР. Величина 1 является средним числом ненулевых элементов в строке А.
т (m+ 1) п
~ 1тп
(Больше, если представлена в усложненном виде с целью экономии памяти.)
Сфор мировать (m X т)- матрицу Н = р (Q)=Q* (AQ) (матричное отношение Релея для Q).
Вычислить р^т) представляющих интерес собственных пар Н, скажем Hg,-=g,-e,-, 1 = 1, ..., р. в;—значения Ритца.
Вычислить, если это требуется, р векторов Ритца yi = Q&b i=X, .... р. Множество {(в;, у,), 1=1, ..., т} является иаилучшим аппроксимирующим множеством для собственных пар А, которое может быть получено только из nfm.
Оценки ошибок через невязки. Сформировать р векторов невязок г; = г/(у,-) = Ау,- —у/в,-= = (AQ)gi—З^Ь используя для вычислений последнее выражение. Затем вычислить ||г,-||. Каждый интервал [в,-—||г,-||, в;-Ц]г,-1|j содержит собственное число А. Если некоторые интервалы перекрываются, то требуется несколько больше работы, чтобы гарантировать аппроксимацию р собственных чисел А (см. § 11.5).
ут(т+Х)п
~ т3
(меньше, если р<^т)
ртп
р(т-]-2)п
7. Нетрадиционный лишний шаг описан в § 11.8.
1-р(1р+Х)п-^О(.р»')
и Под арифметической операцией понимается умножение или деление.
Упражнения к параграфу 11.3
Применить процедуру Релея—Ритца при следующих исходных данных;
Матрица А берется из § 11.2,
<y,= span[(2 1 -1 -2)*, (2 -1 -1 2)*].
Матрица А берется из § 11.2, <$p = span[e1, е„ е3].
Матрица А берется из § 11.5, <Sp = spanQ.
Проверить формулу количества арифметических операций в процедуре Релея — Ритца, вычисляя, когда это возможно, второй член в выражениях. Предполагая, чтоп=103, т=102, р = 10, подсчитать количество операций для каждого шага при произвольном I.
Как изменится число действий иа третьем и четвертом шаге, если Н окажется трехдиагоиальиой? Изменит ли это обстоятельство значимость величины I в оценивании стоимости реализации процедуры Релея — Ритца?
Оптимальность
Имеются три (родственных) пути обоснования утверждения об оптимальности аппроксимаций {0,-, yz} Релея — Ритца при заданной информации. Первый путь является естественным следствием минимаксной характеризации собственных чисел. Согласно § 10.2,
а/ = Х/[А]= min max p(f; A), (f^O).(11.4.1)
?i csn fey7
Напомним, что размерности пространств указываются верхними индексами и p(f; А) = f*Af/f*f при f =# о. Следовательно, естественным определением наилучшей аппроксимации Ру к а,- из заданного подпространства S’™ является замена в (11.4.1) Sn на S’™, в результате чего имеем
Ру= min maxp(g; A), (g=#o).(11.4.2)
»/ c1z™ gg»/
Единственная трудность в доказательстве приводимой ниже теоремы заключается в характеризации подпространств ^ подпространства tfm. Если Q—фиксированный ортонормальный базис <5Р|”, то ^ = Q^“ = {Qs: s^^*™}. Ключевым моментом здесь является то, что подпространства из З’т определяются подпространствами из §т с тем же самым соответствием. Это было установлено в § 11.1, а именно
*§1 с S’”1
тогда и только тогда, когда
^ = <$1 и ^с$\(11.4.3)
Теорема.
py^Xy[H]^0y, /=1т, где H = Q*AQ. (11.4.4)
Доказательство. Из (11.4.2), (11.4.3) и Q*Q=Im следует, что Ру — min max р (g; А) = min maxp(s; H) = Xy[H] = 0y.
9/c^»gg9"/4lcgmst%l
Здесь первый максимум берется по g = Qs=#o, а при переходе от (g; А) к (s; Н) используются соотношения $/=Q§/ и s*s = g*g=#O. Этот результат об оптимальности касается только величин 0.
Второй путь в изучении оптимальности аппроксимаций связан с матрицей Q. Любой (/их/п)-матрице В соответствует матрица невязки R(B) = AQ—QB. Минимизирующее свойство обычного отношения Релея наследуется матрицей H = Q*AQ^p'(Q).
Теорема. Для заданной {пх ту матрицы Q и любой (тхт)- матрицы В справедливо неравенство
||R(H)||C|fR(B)||.(11.4.5)
Доказательство. R (В)* R (В) = Q*A2Q—В* (Q*AQ) — (Q*AQ) В + + В*В. Тонкость заключается в том, чтобы увидеть, что последние три члена этого равенства в точности равны матрице (Н—В)*х х(Н—В)—Н2 и, следовательно,
R (В)* R (B)=Q‘A2Q-H2 + (H—В)‘(Н —В) == R (Н)* R (Н) + (Н - В)* (Н - В).
Отсюда, поскольку матрица (Н—В)*(Н—В) положительно полу- определена, имеем
IIR (В) г - х_. [R (В)* R (В)] ^ ^ [R (Н)* R (Н)] = || R (Н) Ц2.
Относительно единственности см. упр. 11.4.4 и 11.4.5.
Далее, пусть S задает некоторый ортонормированный базис S”1 и А—произвольная диагональная матрица. Тогда пары {(6;, sz), i = l, ..., т\ являются конкурирующими аппроксимациями собственных пар. Однако из теоремы (11.4.5) вытекает, что jj AS—SA)| минимизируется по всем S и А тогда и только тогда, когда sz = yz, 6Z = 0Z, i=l, . .., т. Проверка этого предлагается как весьма важное упражнение (см. упр. 11.4.1). Родственные полезные характеризации векторов yz предлагаются в упр. 11.4.6.
Третий путь обоснования оптимальности аппроксимаций Релея—Ритца соответствует обратному анализу ошибок (см. гл. 2). Так как S’"1 не инвариантно относительно А, бессмысленно говорить о сужении А на <5Рт. Лучше всего здесь говорить о проекции А на Sm. Проекции обсуждаются в § 1.4. Если Р,у — ортогональный проектор на S”1, т. е. P^g является ближайшим вектором к g из S"1, то S”1 инвариантно относительно Р^А, и поэтому имеет смысл говорить о сужении на Sm, а именно о матрице P«zA|,y, которая и является требуемой проекцией. Она тесно связана с матрицей Р^АР.у, которая действует во всем §п, и также называется проекцией А. Такая двусмысленность не приносит вреда, поскольку действия двух проекторов на S”1 одинаковы. Это и есть третья характеризация пар Ритца.
Лемма. Пары (0/г у,), г=1, ..., т, являются собственными парами проекции А на(11.4.6)
Доказательство леммы составляет предмет упр. 11.4.2.
Пример 11.4.1
Если осуществить вращение А в плоскости §г против часовой стрелки, то проекция А на любое д’1 просто сжимает ^ в V 2 раз, как показано на рисунке.
Приведем две ситуации, когда аппроксимации Релея — Ритца оказываются неоптимальными. Вообще говоря, ни один вектор Ритца у у не является ближайшим единичным вектором из <5Рт к какому-либо ссбственному вектору А. Возможно, еще более удивительно то, что оценка ошибки || Av — vp (v) ||/|| v || не минимизируется в пространстве rfm никаким из векторов Ритца при т > 1. Иллюстрирует оба утверждения пример 11.5.1. Суммируя сказанное, можно утверждать, что, достигая коллективной оптимальности для т пар аппроксимаций Релея — Ритца, мы обычно теряем оптимальность для каждой конкретной собственной пары.
Мало пользы в хороших аппроксимациях, если не известно, что они хорошие. Оставшуюся часть этой главы мы и посвятим оценке аппроксимаций Релея — Ритца.
Упражнения к параграфу 11.4
Пользуясь теоремой (11.4.5), показать, что среди любых ортонормальных базисов S из 5Рт и диагональных матриц Д минимум величины ||AS—SAO достигается при s, = y, и 6,- = 6,-.
Проверить, что каждая пара (6,-, у,-) является собственной парой матрицы Р^А^.
Показать, что <У инвариантно также относительно матрицы А = А— — R (H)Q* — QR (Н)*. Проверить, что Ц А—А£=|| R (Н)||. Являются ли (6,-, у,) собственными парами матрицы А? Будет ли A = P1ZAP1Z?
В соответствии с теоремой (11.4.5) показать, что || R (B^lF^URtH)]]/? с равенством только в том случае, если В = Н.
Найти такие матрицы А и Q и (2х2)-матрицу В ^ Н, чтобы 1R(B)HIR(H)||.
Показать, что для х^У’т \х— хр(х) [ tfm тогда и только тогда, когда x = yz для некоторого 1<.т.
Оценки через невязку для очень близких значений Ритца
На заключительном этапе шестого шага процедуры Релея — Ритца (см. табл. 11.3.1) мы получаем в распоряжение величины 0Z, У,, Г/, Цг,-У, 7=1, . ,.,р. Приведенные в § 4.5 простые оценки ошибок гарантируют, что в каждом интервале [0/—II rj|, 0/+ Ц Г/1|] находится собственное число а матрицы А. Если интервалы не пересекаются между собой, то 0Z аппроксимируют р различных собственных чисел А, что нам и требуется. Для отыскания улучшенных оценок требуется либо больше сведений о матрице А или больше вычислительной работы, как это описано в § 11.8 и гл. 10.
Если два или более интервалов перекрываются, то возможно, что два или более различных 0Z аппроксимируют одно и то же а, как это показано в примере 11.5.1. .
"оА = у 0"оА = у 0Пример 11.5.1 '
"о
А = у 0
"о
А = у 0
У 010' Примем у *0.1. Тогда
0 1 . Q = 0 1 ./г А
j 00 0«41 = +yi +Y ,«2 = 0.
Вычисляя Н, найдем
У±1 » Ту, УГ = (1 -I 0)/V2, у? = (1 1 0)/V2.У±1 » Ту, УГ = (1 -I 0)/V2, у? = (1 1 0)/V2.
У±1 » Ту, УГ = (1 -I 0)/V2, у? = (1 1 0)/V2.
У±1 » Ту, УГ = (1 -I 0)/V2, у? = (1 1 0)/V2.
!lRrH = 1, б - Ay, - y,ez.
Заметим, что значения 0Х и 0а дают ложное основание считать,Заметим, что значения 0Х и 0а дают ложное основание считать,что в интервалечто в интервале' —1. /"2' —1. /"2т.уг + гт.уг + гнаходятся два собственныхнаходятся два собственных
Заметим, что значения 0Х и 0а дают ложное основание считать,
Заметим, что значения 0Х и 0а дают ложное основание считать,
что в интервале
что в интервале
' —1
. /"2
' —1
. /"2
т.уг + г
т.уг + г
находятся два собственных
находятся два собственных
числа а.
Способом устранения трудностей, связанных с перекрыванием интервалов, является использование нормы соответствующей матрицы невязки R. Нижеследующая теорема известна с 1910 г. Она также справедлива для произвольной (/пх/п)-матрицы Н. Доказательство в [Kahan, 1967] аналогично (11.10.3).
Теорема. Пусть Q — любая ортонормальная ^пхтуматрица и ей соответствуют матрицы H(=QAQ) и R(=AQ — QH). Тогда имеются т собственных чисел {ау, /=1т^ матрицы А, которые могут быть поставлены во взаимно-однозначное соответствие с собственными числами 0у матрицы Н таким образом, что
10/—«/'I^URO- /=1. •••• т. (11.5.1)
'Доказательство. Матрица Q может быть расширена (путем
добавления ортонормальных столбцов) до квадратной ортонормальной матрицы P = (Q, Q). Тогда■
Q*AQ О*Аб]_ГН В*]
Q*AQ 6*A6J [B.Wj
где явно известна лишь матрица Н. Далее
P*R = PtAQ - P*QH
= (P*AP)(P*Q) - (P*Q)H
(И.5.2)(И.5.2)в»]ги г Ин=[01[в wj[oj [о] [в]
(И.5.2)
(И.5.2)
В силу ортогональной инвариантности ||-|| (факт 1.10 из § 1.6)
ММр*р11=|[°]|=||В|Г-
Далее, используя представление
Р*АР =Р*АР =Г н [ОГ н [О°*] w J°*] w JВ*] о JВ*] о J(11.5.3)(11.5.3)
Р*АР =
Р*АР =
Г н [О
Г н [О
°*] w J
°*] w J
В*] о J
В*] о J
(11.5.3)
(11.5.3)
и по теореме монотонности Вейля (см. § 10.3) для t = 1, .... п имеем■
Поскольку 9Z появляется где-нибудь в упорядоченном списке собственных чисел матриц Ни W, то существует такой набор индексов j1, что
Л4\о' w/j-^ 7 = 1т.
Вычислим, используя соотношение
(11.5.5)(11.5.5)[° в*I2 = ГВ*В О* ]
(11.5.5)
(11.5.5)
[в о J [о BB*j
второй член в правой части (11.5.4). Так как В*В и ВВ* имеют одинаковые ненулевые собственные числа (см. упр. 11.5.2), то
Ц(в(11.5.6)
Полагая в (11.5.4) i = j', получаем утверждение теоремы.
Еслит>2, то стоимость вычисления величины ||R|| мала, но не слишком. [ R Ц можно легко мажорировать: | R |[8 ^ || R |^ = т
= 2 II г, Г, где величины JrJi2 уже определены на шестом шаге процедуры Релея — Ритца. [) R ||/? может также быть использована в следующем результате, доказательство которого составляет предмет упр. 11.5.3.
Теорема.
т
На практике теорема (11.5.1) будет обычно применяться не к матрице R (Q), а к матрице R = (г,, ..., rv), соответствующей подмножеству величин 9, интервалы невязок которых пересекаются п. При этом в доказательстве Q заменяется на Q = (уо..., yv), а Н — на H = diag(91, .... 9V), а затем используется то обстоятельство, что каждый из интервалов [9,—||R||, 9;-HR||] содержит свое собственное а, хотя бы и для очень близких величин 9,., t = 1, ..., V.
Упражнения к параграфу 11.5
Пусть H=diag(6lt ..., 64), C=diag(‘y1у4), Q = (et, .... е4). Тн с*1
Применить теорему (11.5.1) к матрице А= ^ ^ . Что показывает этот пример относительно возможности усиления результатов?
11 То есть интервалы (9/—||г,-||, 6/-Ц|г/|0.—Прим, перев.
Имеется несколько способов доказательства, что ненулевые собственные числа матриц В*В и ВВ* совпадают. Показать, что матрицы ГВ*В О1 ГО О 1
[в о] и [в ВВ*] подобиы'
Применить теорему Виландта—Хоффмана (факт 1.11 из § 1.6) к (11.5.3) Для доказательства теоремы (11.5.7).
Использовать пример § 11.2 для вычисления R (Q). Насколько хуже || R (Q) |] любой из оценок через вектор иевязки?
Выбрав Q = (ej, ..., em), применить теорему (11.5.1) к трехдиа- гоиальиой матрице. Какая теорема гл. 10 дает тот же самый результат?
§ 11.6. Оценок для векторов Ритца через невязки не существует
векторов Ритца не могут быть получены.векторов Ритца не могут быть получены.- Насколько хорошо вектор Ритца у, аппроксимирует некоторый собственный вектор z;,? Следующий пример с матрицей порядка два показывает, что без дополнительной информации
векторов Ритца не могут быть получены.
векторов Ритца не могут быть получены.
оценки ошибок для Рассмотрим матрицу
VV —6 ’VV —6 ’a, = v—о, a2 = v-|-a,a, = v—о, a2 = v-|-a,д = р+6
V
V —6 ’
V
V —6 ’
a, = v—о, a2 = v-|-a,
a, = v—о, a2 = v-|-a,
V
где а2 = 624-у8, и выберем Q = ej. Тогда H = 9=y-f-6 и, следовательно,
ie-«.|-a-|6|-^<|T|-lR|,
где 1' = 2, если 6^0, Г = 1, если 6^0.
„Истинный,, собственный вектор и вектор Ритца равны соответственно
Г 1 ГГ[±у/(о+16 |)J и [0. 1
Если ф—острый угол между ними (угол ошибки), то
созф = (1 +у2/(о-Ц 6 |))-1/2,(1, если 6 =/= 01"(1/И2, если 6=0] ПРИ
Поэтому, когда 6 = 0, „истинный" собственный вектор для всех ненулевых у равен (1, ±1)*, а угол ошибки равен л/4. Этот пример показывает, что общей границы ошибки вектора Ритца в терминах || R || не существует.
В чем тут дело? Почему метод не срабатывает, когда |6| мало? Ответ таков, что метод срабатывает, но не верна сама постановка вопроса. При 6 —► 0 требования на норму вектора
ошибки Це, —zj становятся все глупее и глупее—прекрасный пример опасности чисто формального подхода.
Когда величина |б/0| очень мала, то 6 является почти столь же хорошей аппроксимацией для ап что и для а2. Который же из соответствующих собственных векторов будет аппроксимировать вектор Ритца? Поскольку они взаимно ортогональны, нет ни одного вектора, который был бы близок к обоим, и с мудростью, не уступающей соломоновой, вектор Ритца выбирает среднее между двумя соперниками: в пределе при 6—<-0
е, = т[(1) + (—1) = 1{т (zi + z2)/1^2.
Этот пример отражает общую ситуацию, когда собственные векторы необязательно являются непрерывными функциями элементов матрицы в окрестности матриц с кратными собственными числами (см. § 1.4). В таких случаях полезными объектами являются инвариантные подпространства, связанные с каждой группой очень близких собственных чисел.
Трудности у пользователя меняют характер, но все же остаются. Вместо вопроса, является ли вектор Ритца хорошим или плохим, он (или она) могут спросить, имеет ли матрица А несколько собственных чисел, близких к одному вычисленному значению 6? Метод Ритца не может ответить на этот вопрос.
Когда в наличии имеется дополнительная информация (помимо R), то она часто может оказаться полезной при построении оценки ошибки. При ее отсутствии мы не можем сделать ничего лучше, чем в упр. 11.4.3.
Отделенность в спектре
Рассмотрим теперь произвольный единичный вектор и его отношение Релея 0 = р(у). Простая оценка ошибки из § 4.5 гарантирует, что матрица А имеет по крайней мере одно собственное число а, удовлетворяющее неравенству |а—6 ] ^|| Ау—у0|] = = ||г(у)||. Однако, если известно, что 0 хорошо отделено от всех собственных чисел, за исключением ближайшего к 0 собственного числа а (образующих дополнительную к 0 часть спектра), то можно не только улучшить оценку ошибки для 0, но могут быть получены некоторые оценки точности, с которой у аппроксимирует собственный вектор z, соответствующий а.
Теорема. Пусть у—единичный векторе 6 = р(у),а—ближайшее к 0 собственное число А и z—соответствующий нормированный собственный вектор А. Далее, пусть у = min | Х;[А] —0| по всем Xj-^a—расстояние от 0 до дополнительной части
спектра и ^ = /.^* гУ Тогда
Isimpl^l^l, (9—а|<1^М.(11.7.1)
Доказательство. Представим вектор у в виде суммы у= =zcosif+ wsinif, где w—ортогональный к z единичный век* тор из плоскости у—z. Отсюда, так как Az = za, имеем
г (у) = (А—9) z cos if + (А—9) w sin if=
= z(a—9) cos if + (А—9) w sin if.(11.7.2)
К счастью, так как z*w = 0 и Az = za, то z*(A—9)w = 0, и поэтому по теореме Пифагора
||г (у) || = (а—9)2 cos2 if +|| (А—9) w||2 sin2 if.(11.7.3)
Уже это для любого значения 9 приводит к неравенству 1 sin if | ^ || г (у) |/у (см. упр. 11.7.1). Если 9 = р(у), то г = г(у) ортогонально к у, т. е.
O = y*r (у) = (а—9) cos2 if + w* (А—9) w sin1 if.(11.7.4)
Таким образом, отношение cos2 if к sin2 if равно отношению w* (А—9)w к 9—а. Используя эти значения в (11.7.3), приходим к выражению для ||г||2 в терминах w
|| г (у) ||2 = [(9—a)2 w* (А—9) w + w" (А—9)2 w (9—a)]/w* (А—a) w
= (9—a) w*(A—а) (А—9) w/w* (А—a) w.(11.7.5)
По предположению между а и 9 нет собственных чисел А. Поэтому матрица (А—ос) (А—9) положительно определена, и, следовательно, полагая w = 26/^ и используя определение отделенности у, имеем
w* (А—а) (А—9) w = 21 az—а 1—6161 > >?Slaf—a|6z> >vlS(az—®)6Л =
= у| w*(A — a)w|.(11.7.6)
Подставляя (11.7.6) в (11.7.5), получим второе неравенство теоремы.
Следствие. Если величина 9 = р(у) наиболее близка к ах или а_х, то
|tgif|^-^M(П.7.7)
Доказательство. В этих случаях |w*(A—9)w|^y (см. упр. 11.7.4)
tg2 * = w^-6)w < Вг (У) Г/УIW (А-9) w |.
Во многих приложениях (но не во всех) величина у неизвестна и оценки теоремы (11.7.1) носят теоретический характер. Но при некоторых обстоятельствах, например в методе Ланцоша, наступает момент, когда очень маловероятно, что между уже известными а остаются какие-либо необнаруженные а. В таких ситуациях отделенность уу для бу может быть заменена вычислимой величиной min (|6Z—6, |—1|ггП), в результате чего границы ошибок становятся хорошими оценками.
Теорема (11.7.1) весьма удовлетворительна для локализации изолированных собственных чисел. Но она оказывается бесполезной, когда группа очень близких а аппроксимируется группой величин 6 с перекрывающимися границами интервалов. Теорема (11.7.1) дает основания полагать (вычислительный опыт подтверждает это), что векторы Ритца для таких близких 6 иногда являются плохими аппроксимациями собственных векторов. Для конкретности предположим, что yi, у2, у3—три таких вектора. Тогда оказывается, что если группа близких значений Ритца 6 хорошо отделена от всех а, не связанных с этими 6, то span^, у2, у3) намного лучше аппроксимирует соответствующее инвариантное подпространство, скажем 23, чем любой из векторов у—индивидуальный собственный вектор. Другими словами, рассогласование между базисами не мешает тому, чтобы два подпространства были близки. Вот почему нам нужна мера близости двух подпространств.
Теоремы отделенности для подпространств
Наша физическая ограниченность трехмерным-пространством не дает нам почувствовать способ сопоставления даже плоскостей из ^4, не говоря уже о паре р-мерных подпространств, находящихся в S". Надлежащее решение этого вопроса выходит за рамки этой книги, и интересующийся читатель может обратиться к нашему первоисточнику—работе [Davis Kahan, 1970]. Дальнейшее является кратким изложением части этой работы.
Если f и g—единичные векторы из ^", то . / (span f, span g) = arccos | f*g |.
Теперь пусть F и G—ортонормальные (/гхр)-матрицы, ^= = span(F), ^ = span(G). Оказывается, что правильной мерой близости ^р и ^р является множество из р чисел, называемых углами между ^р и ^р. Однако нам потребуется только наибольшее из них, и мы возьмем в качестве угла между подпространствами величину
Z^- ^) = arccosX1[(F*GG*F)!/2], (11.7.8)
Заметим, что O^||F*G||^1 (см. упр. 11.7.6) и, кроме того, (см. упр. 11.7.7)
-Z(^ ^)= max min Z(t g)-(11.7.9)
W3F? gt»P
Следующей задачей является определение отделенности. По теореме (11.5.1) заданная матрица А имеет р собственных чисел аг,, которые могут быть так попарно объединены с числами 9( матрицы р (F) = F*AF, что | а£,—0£ | ^| AF—Fp (F) |, i = 1, ..., р. (Если собственных чисел а, удовлетворяющих неравенству, больше, чем р, то из них могут быть выбраны любые р). Оставшиеся п—р собственных чисел а образуют часть спектра А, дополнительную к спектру матрицы p(F). Пусть индексы этих дополнительных а образуют множество ^. Расстояние между спектром р (F) и дополнительной к нему частью спектра А определяется соотношением
ysmin{|Qz—aj:1 ^.1<.р, j^^}.(11.7.10)
Цель всех этих приготовлений—сравнить подпространство ^р с инвариантным подпространством ^р, которые соответствуют множеству объединенных в пары р величин а и 0.
Дэвис и Кахан дали следующее элегантное обобщение теоремы (11.7.1).
Теорема. Во введенных выше обозначениях
' ysin/^, ^XIIAF—Fp(F)||.(11.7.11)
Одно важное приложение заменяет F на множество векторов Ритца, соответствующих группе близких величин Ритца 0£ ир(Е) на diag(6n ..., 0Д Когда вместе тесно связано больше чем р собственных чисел а, то оценка (11.7.11) мало что дает, в остальном она очень удовлетворительна.
Упражнения к § 11.7
Получить нижнюю оценку для ]] (А—в) w[j2, отбросить часть информации в (11.7.3) и вывести первое неравенство теоремы.
Показать, что когда 8 = р(у), то sin2tp = (8—a)/w*(А—a) w.
Используя равенство w*w=l, вывести вторую строчку формулы (11.7.5) из первой.
Показать, что в случае, когда 8 является ближайшим к наибольшему собственному числу а_1=|А||, то | w* (А — 8)w|^y.
Остается ли справедливой теорема (11.7.1), если а —кратное собственное число, а у—расстояние от 8 до других собственных чисел А, отличных от а. Если нет, то где нарушается доказательство?
Пусть F и G—ортонормальные (пХр)-матрицы. Показать, что ||F*G||<1. Указание: ||C|| = max | u*Cv |/(|| u||-|| v |). В каком случае равенство
U. V может иметь место?
Доказать равенство (11.7.9).
Сжатие невязки
Шестой шаг процедуры Релея — Ритца осуществляет построение р столбцов матрицы R(Y) = XY — Y0, где ©—диагональная матрица со значениями Ритца по диагонали, а столбцами Y являются векторы Ритца. Предыдущие оценки включали в себя величины ||г(-Ц, 1 = 1р, или величину || R (Y)||, если 6 образовывали группу очень близких величин. Улучшенные оценки можно получить, используя саму матрицу R (Y).
Если к R (Y) применить процесс Грама—Шмидта, то это приведет к построению ортонормальной (н х р)-матрицы S и верхней треугольной (р х р)-матрицы С, являющихся сомножителями разложения R(Y) = SC. Мы спешим добавить, что на практике делать это не нужно, поскольку R (Y)* (RY) = C*S*SC = C*C. Следовательно, С является, сомножителем Холесского для (рхрУ матрицы R (Y)*R (Y). С—именно та матрица, которая предоставляет дополнительную информацию, нужную для улучшения предыдущих оценок. Поэтому процедура Релея — Ритца должна быть дополнена еще одним, седьмым, шагом (см. табл. (11.3.1)).
На седьмом шаге формируется (р х р)-матрица W = = R (Y)*R (Y). Стоимость нахождения W составляет 1/2р (р+1)/г арифметических операций. Затем вычисляется треугольный множитель Холесского С матрицы W за р3/6 операций. Теперь могут быть применены оптимальные оценки, построенные в § 10.6, 10.7 и 10.8 с заменой матрицы Н на 0. Стоимость: О(р3) операций.
Заметим, что если R (Y) не является матрицей полного ранга, то С будет иметь верхний трапецеидальный вид. Тогда построение оценок ошибок гл. 10 потребует несколько меньше арифметических операций, но вычисление С наталкивается на некоторые трудности.
Оправданием шага 7 служит следующая
Лемма. А ортогонально подобна матрице
(11.8.1)
где подматрица U неизвестна.
Доказательство леммы составляет предмет упр. 11.8.2.
Упражнения к параграфу 11.8
Используя тот факт, что 9 является (матричным) отношением Релея для Y, показать, что в случае, когда R (Y) = SC имеет полный ранг, Y*S = O.
Пусть P = (Y, S, J) — ортонормальная (пхп)-матрица. Используя это, доказать лемму (11.8.1).
Показать, что || R (Y) || = |] R (Q) ||, если р = т.
Сравнить количество операций, требуемых для вычисления матрицы С двумя способами: (а) формируя W и осуществляя разложение Хо- лесского, (Ь) с помощью модифицированного процесса Грама—Шмидта с отбрасыванием столбцов S. Что можно сказать относительно требований к памяти?
*§ 11.9. Априорные оценки для внутренних аппроксимаций Ритца
Подпространство 8”® дает аппроксимации Релея — Ритца (6Z, у,) к собственным парам (а/;, z(-,). Результаты этого параграфа представляют интерес в том случае, когда S’” достаточно хорошо расположено в т. е. сами а, являются ближайшими собственными числами к 0,. Оценки являются априорными и не- вычисляемыми. Их значение состоит в выявлении потенциальной точности аппроксимаций Релея—Ритца из efm (см. гл. 12). Идея заключается в том, чтобы использовать ошибки экстремального вектора Ритца у3 для получения простой границы ошибки для 62, затем воспользоваться ошибками в у, и 62, чтобы оценить ошибку в у2, и так далее, продвигаясь по направлению к внутренней части спектра.
Согласно минимаксной характеризации собственных чисел, ai ^9i^P(s) для любого s из ^т. Разумный выбор s (близкого к собственному вектору zj приведет нас к настолько хорошим оценкам, насколько это позволяют обстоятельства. Однако соответствующие неравенства для 62, а2 ^ 62 ^ р (s) будут выполняться только в том случае, если s*y1 = O, sC^” (см. упр. 11.9.1). Здесь и лежит трудность, поскольку условие s*yj = O предполагает точное знание уп что не допускается в строгом апприорном анализе. Средством против этого является использование двух допустимых условий: (1) 5% = 0 и (2) оценки для ^/(у^), а затем получение модифицированных оценок вида а2^62^ ^p(s) + e1, где е2—какая-то малая величина.
Определим величины ф, = /.^(г^, z=l, .., tn.
Лемма. Для каждого j ^.т и любого s£a7m, удовлетворяющего условиям s*zz = O, z = l, ..., / — 1, справедливы неравенства
a/^6/^p(s) + S («-i—6,)8Ш2ф,<
77(Н.9.1)
< Р (s) + 2 («-!—«/) sin2 ф/.i=i
Доказательство. Первое и третье неравенства следуют из теоремы Коши о разделении. Чтобы установить среднее неравенство, выберем в качестве s единичный вектор и представим его в виде
s = t + Sy№(11.9.2)
где t*yz = O, z=l, ..., / — 1. Предположение s*z,=0 приводит непосредственно к оценке для yz:
I У/1 = |s*yz | = | s* (у z—z, cos ф,-) |
■^II s||-I sin ф? = I sin ф,|.(11.9.3)
Поскольку t*yz = O и y*yt = O, то
p(s) = t*At + £(y;Ayz)tf.(11.9.4)
Теперь, чтобы получить из (11.9.4) требуемое неравенство, все его члены должны быть отрицательными. Поэтому мы сдвинем А на величину а_п в результате чего, используя неравенство gt|^l и соотношения (11.9.3), получим
р (s)—а., = t* (А — а_!)Ч + £ (0; —а_,) ^'О
>Л» (A-a-J t/t* + 5 (6,—a.a Yz2 >
> p (t)—a_t + 2 (9t—»-i) sin2 ф,.
Наконец, заметим, что р (t) ^0y = min p(u) по всем uC^” и и | yz для i < j. Отсюда, добавляя к каждой из сторон неравенства величину a_n получаем среднее неравенство теоремы.
Следующая наша задача—увидеть, как каждый угол фу может быть оценен через предыдущие углы. Чтобы сделать это, введем временно величины фг/ =Z^b У/)» i=V •••. п'« j=i, ..., т. В частности, ф, = ф,./. Нам будут нужны следующие тригонометрические факты: для каждого /
(11.9.5)(11.9.6)(11.9.7)(11.9.5)(11.9.6)(11.9.7)У/ = 2 zz cos фг/,
(11.9.5)
(11.9.6)
(11.9.7)
(11.9.5)
(11.9.6)
(11.9.7)
| cos ф/у | ^ | sin ф,-1 (упр. 11.9.3),
п/-_1
2 СО82ф;/ = 8т2 фу— 2сО82ф,у.
Лемма. Для каждого / = 1, ..., тЛемма. Для каждого / = 1, ..., т(11.9.8)(11.9.8)
Лемма. Для каждого / = 1, ..., т
Лемма. Для каждого / = 1, ..., т
(11.9.8)
(11.9.8)
Доказательство. Согласно (11.9.5) и упр. 11.9.2,
Р(У/ А—а/) = 6/—а/ = 2 (а,—ау) cos^/y.
Перенесем члены, содержащие предыдущие величины ф;у, на другую сторону равенства. Тогда, используя упорядочение aj^ ^a,^... и в самом конце равенство (11.9.7), получим
/-1п
(бу—ау)+2 («/—«/) cos2 ф/у = 2 .(«<—«/) cos2 ф,.у >
<' = ii=i*\
Xa/+i—а/)£сО52Ф,у =//-i\
= (a/+1—az)( sin2 фу — 2 cos2 ф,7 ).
Разрешая последнее неравенство относительно sin2 фу, с помощью (11.9.6) приходим к требуемому неравенству (11.9.8).
Случай / = 1 приводит к неравенству sin^^ ^Za1 • Это скрытая форма оценки ошибки для отношений Редея.
Истинные априорные оценки получаются путем выбора подходящих векторов s и затем попеременного применения (11.9.1) и (11.9.8) для мажорирования величин sin2 фу и бу—ay. Цена, уплачиваемая за отход от явного использования бу, довольно высока, как это обнаруживается в § 12.4.
Упражнения к параграфу IL9
С помощью минимаксной характеризации собственных чисел, доказать. что a2<b2<p(s) тогда и только тогда, когда s^^” и s*y1 = 0.
Используя определение у/, показать, что р(у/) = 0/ и у’уу = О.
Используя результаты упражнения 11.9.2, установить неравенство (11.9.6).
/-1
Доказать, что a_y^ 0_у ^ р (s)—2 (ai—«Д з1п2ф_,-, где ф_/=
1 = 1
= Z ti-b г-д и s*z_, = 0, 1=1, .... /—1.
Что является аналогом леммы (11.9.8) для зш2ф_у?
Показать, что лемма (11.9.1) остается справедливой, если a_j заменить на 0_р
*§ 11.10. Неортогональные базисы
В принципе в подпространстве S’™ всегда возможно выбрать ортогональный базис, но на практике это делать не всегда удобно. Некоторые методы, такие, как метод обратных итераций, позволяют вычислять приближенные собственные векторы, которые не будут взаимно ортогональными в случае близко расположенных собственных чисел. Когда п велико, возникает соблазн обойти предупредительную переортогонализацию вычисленных собственных векторов, в особенности, если они почти ортогональны. Что при этом теряется?
Чтобы ответить на вопрос количественно, возьмем (пхр)- матрицу S с нормированными столбцами, возможно, матрицу векторов «Ритца», и симметричную (р х р)-матрицу Т, возможно, T = diag(91, ..., 9ру В любом случае 0, = Х;(Т). Условие «почти ортогональности» имеет вид-
O^u*^—S*S) и < 1, и^.(11.10.1)
Оно гарантирует, что матрица S полного ранга. Правильной мерой степени линейной независимости столбцов S является величина 0,(5)—наименьшее сингулярное число S.
По определению
a^(S)^X1[S»S).(11.10.2)
Таким образом, 0^ = 0 указывает на линейную зависимость столбцов, а о,= 1 гарантирует их ортонормальность. Оказывается, что предложенные ранее вычислимые оценки ошибок постепенно ухудшаются по мере того, как о, (S) отклоняется от единицы.
В простых границах ошибок из гл. 4 мы не пользовались ортогональностью, и они остаются в силе. Конечно, аппроксимации (0/, s,-) не являются больше оптимальными аппроксимациями Ритца, но все еще остается возможным вычисление матрицы невязки R(S, T) = AS— ST и ее использование для группы близких 0,-, как это показано в следующем неопубликованном результате [Kahan, 1967].
Теорема. Для любой (рхр)-матрицы Т и (пхр)-матрицы S, удовлетворяющей (11.10.1), найдется (по крайней мере) р собственных чисел a-v матрицы К, которые могут быть объединены в пары с величинами 6, таким образом, что
|аг —0, | ^/2 || R (S, 1)11/», (S), i = lр. (10.10.3)
Доказательство. Поскольку утверждение не зависит от выбора системы координат, мы можем без потери общности выбрать такой ортонормальный базис, в котором S=[q] с некоторой (рхр)-
матрицей J. Теперь соответствующим образом разобьем на блоки матрицу А и, исхитрившись, аналогично доказательству теоремы (11.5.1), представим ее в виде суммы двух матриц
А ГН В*1 ГТ О* ГН—Т В*] 1П ..
А = [в и J = [о U — х] + В х]'(И.Ю.4)
где X будет выбрана позже. Согласно теореме о монотонности из § 10.3, матрица А имеет р таких собственных чисел at>, что для i= 1, ..., р
II ГН—Т В*Н1
l^-ea^L в х]|-(1110-5)
В этот момент, используя теорему о расширении из следующего § 11.11, можно сказать, что существует такая матрица X, для которой
|[V х*]|=11Н R=[HbT]- (11J0-6)
Однако обе матрицы Н и В неизвестны. Что известно, так это || R || для
(11.10.7)
Теперь остается связать || R || с || R || в нетривиальном случае, когда JT =# TJ.
Сначала заметим, что, согласно (11.10.2),
IIJ-1Г = II (J*J)-* || = || (S*S)-18 = ar2, (11.10.8) и поэтому
[|B|l = ||(BJ)J-4<||BJ||ar.(11.10.9)
Чтобы разобраться с верхней компонентой матрицы R, перепишем ее в виде
HJ—JT = (H—T)J+(TJ—JT),(11.10.10)
второй член в правой части представляет собой кососимметричную матрицу. Таким образом, для любого собственного вектора и матрицы Н—Т, соответствующего ее собственному числу X,
u*‘(HJ— JT)u = u‘(H — T)Ju+0 =
= Xu*Ju.(11.10.11)
Выберем в качестве и доминирующий и нормированный собственный вектор, чтобы
Н1=1|н-Т8.
Тогда, используя при выводе последнего равенства (11.10.11), получим
|| Н J —JT|] = max | v* (HJ — JT w| ^ ^ max | v* (HJ — JT) v | ^ >|u‘(HJ — JT)u| = ||H-T||-|u‘Ju|>
(11.10.12)(11.10.12)^ЦН-ТЦ^,
(11.10.12)
(11.10.12)
где первый максимум берется по всем единичным векторам v, w из Sp, а второй — по всем единичным векторам v из 6р. Каждая матричная компонента R может быть мажорирована, и поэтому
1R*R Ц = 1(Н—Т)= + В*ВК1Н-Т||2 + ||В||=^
< (II HJ - JT II2 +11BJ ||2)/о2 ^ 2 g R ||2/oL(11.10.13)
где при выводе второго ' неравенства мы воспользовались оценками (11.10.12) и (11.10.9). Применение полученного неравенства (11.10.13) в (11.10.6), а затем в (11.10.5) приводит к требуемому результату теоремы.
Кажется правдоподобным, что появляющийся на последнем этапе доказательства множитель 2 является лишним. В любом случае o1(s) может уменьшиться до значения 1/^2, в то время как оценка ошибки только удваивается. Измёнение небольшое, если учесть, что основное требование к оценкам—верно указывать порядки оцениваемых величин (например, по основанию 10).
Отметим тот факт, что после применения процесса Ланцоша с выборочной ортогонализацией, как это описано в гл. 13, вычисленные векторы Ритца у,(= Sg,), z = lр, более близки к ортогональным, чем векторы базиса S из которого они получены.'
*§ 11.11. Теорема о расширении
"Н"В"Н"ВПриводимая ниже теорема нужна для полноты доказательства теоремы (11.10.3) предыдущего раздела. Однако она интересна и сама по себе как часть проблемы, поднятой Крейном в 1946 г., о расширении оператора из подпространства на все пространство таким образом, чтобы сохранить некоторые его свойства. Изложенный здесь результат никогда не был опубликован и дает явную формулу единственного расширения. Он появился в работе [Kahan, 1967].
"Н"В
"Н"В
Теорема. Пусть R =Теорема. Пусть R =, где Н—квадратная матрица. Тогда
Теорема. Пусть R =
Теорема. Пусть R =
существует такая матрица W, что «расширенная» матрица
А = $ w удовлетворяет, равенству
(11.11.1)(11.11.1)НАЦЕНКИ.
(11.11.1)
(11.11.1)
Доказательство. По теореме монотонности' Вейля (см. § 10.3) норма подматрицы не может превышать нормы самой матрицы. Пусть p = jR||. Тогда ра^{| A2|j для любого выбора матрицы W. Теорема требует, чтобы для некоторой W матрица р2 —А2 была положительно полуопределена.
Доказательство начинается с выбора произвольного а > р и установления факта, что существует такая зависящая от а матрица W, что матрица а2—Аа положительно полуопределена. Затем исследование поведения W (ст) показывает, что существует lim W(ст) при ст—> р + 0.
Для произвольной W определим матрицы
Ag[wJ- A-(R’R):
Тогда 2x2 обычные треугольйые разложения матриц ст8—А8 и о8—RR* имеют вид
о2 - R*RОо2 - R*RОО11(a)О11(a)а2 - Н2Оа2 - Н2О0 [1V(a) [О0 [1V(a) [О
о2 - R*RО
о2 - R*RО
О11(a)
О11(a)
а2 - Н2
О
а2 - Н2
О
0 [1V(a) [О
0 [1V(a) [О
U(o) - о2 - R*[l + R(o2 - R*R)~’r*]r, V(o) - o2[l - B(o2 - Н2)-'В*].
Поскольку
o2> p2 - ||R||2 - ||R*R|| - ]|RR‘||
то все три матрицы ст2 — R*R, ст2 — RR* и ст2—Н2 положительно определены. По теореме инерции Сильвестра матрица V (ст) также должна быть положительно определена. Матрица U (ст) зависит от W, и ее сигнатура вызывает сомнение. Вся хитрость доказательства заключается в нахождении такой W, чтобы U(ct) — V (ст) и, следовательно, опять по критерию Сильвестра, матрица ст2 — А2 была бы положительно определена. Как упражнение предлагается проверить, что искомая магическая матрица W задается соотношением
W(o) = — ВН(ст2—Н2)-1 В* = — В(ст2 — Н2)-1НВ*.
Представляется вероятным, что конструкция W и вытекающее из нее равенство U (а) = V (ст) нарушаются при а —»• р + О, что может произойти только из-за необратимости матрицы р2—R*R. Однако нарушиться может лишь сама формула. Матрица W (ст) рациональная и, следовательно, мероморфная функция комплексного переменного ст. Если это так, то любые особенности являются полосами, в окрестности которых |] W| должна быть неограниченной. Однако || W ||^0 А || < о для всех вещественных о > р. Таким образом, матрица W (ст) должна быть регулярной при ст = р и, следовательно, W (р) = lim W (ст) при ст—>р. Более того, по непрерывности нормы,
|| А (р) ||= lim |1 А (ст) || = р.о-»р + 0
Упражнения к параграфу 11.11
Построить расширение с минимальной нормой в случае
Н = 0, B* = (Pcos<p, Р$.Пф).
Показать, что ||R||<||A|| для всех W. Почему недостаточно доказать положительную полуопределеиность матрицы р—А?
Проверить приведенные в доказательстве треугольные разложения матриц о2—А2 и о2—RR*. Каковы L и К? Заметьте, что
I + H2(o2-H2)-1 = a2(a2-H2)-i.
Доказать,' что как бы ни были определены матрицы FG и GF, они имеют одинаковые ненулевые собственные числа. Рассмотреть для этого матрицы
FFG 01 ГО О 1
[G 0J И [G GF] 1
Показать, что [|R*R [[ = ||RR*||.
Проверить, что формула задания W (а) обеспечивает выполнение равенства U (о) = V(a). Вычисления весьма тонкие. Заметим, что Н(о2— Н2)-1= = (о2 —Н2)-1Н.
Показать, что уравнение (р2— Н2)С*= В* всегда разрешимо для С*, причем даже в случае, когда матрица р2 — Н2 вырожденная. Вывести формулу для W (р) и таким образом показать, как избежать исследования .на существование предела в доказательстве теоремы о расширении.
Примечания и ссылки
Аппроксимационная процедура Релея — Ритца давно стала стандартным аппаратом во многих областях математики и техники. Первоисточниками являются работы Релея [Rayleigh, 1899] и Ритца [Ritz, 1909]. Очень легко спутать, в каком смысле аппроксимации являются оптимальными, а в каком смысле они не оптимальны. Мы ие знаем учебника, где этот вопрос излагался бы ясно. Оценки для группы близких собственных чисел, которые используют невязки, были предложены в неопубликованном отчете [Kahan,. 1967]. Оценки для собственных чисел, основанные на отделенностях, берут свое начало с ра-
бот [Temple, 1933], [Weinstein, 1935] и [Kato, 1949], но материал для § 11.7 был взят из книги [Davis, Kahan, 1970].
Другое направление, дополняющее рассматривавшиеся до сих пор априорные оценки, представляют неравенства, показывающие, как на аппроксимации Ритца к внутренним собственным числам воздействуют ошибки аппроксимации внешних собственных чисел. Источниками здесь являются работа [Kaniel, 1966] и некоторые неопубликованные исследования Пэжа. Приложения будут рассмотрены в следующей главе.
Расширение всех предыдущих результатов на случай, когда базис перестает быть ортонормальным, имеет большое практическое зиачение. Основные результаты взяты нами из неопубликованного отчета [Kahan, 1967]. Теорема о расширении (11.11.1), аналогичная теореме Хана —Банаха, имеет и самостоятельное значение. В частности, она была обобщена на случай гильбертовых пространств. По этим вопросам, а также за имеющимися там ссылками на более ранние работы иужио обращаться к работе [Parrott, 1978].
ГЛАВА 12
Подпространства Крылова
Введение
Важное значение в теории различных методов вычисления собственных пар матрицы А играет подпространство простого вида, которое определяется одним ненулевым вектором, скажем f. Матрицы Крылова Km(f) и подпространства Крылова (f) определяются соотношениями
Km(f) = (f, АГA“-if), 3^“ (f) = span К” (f).
Размерность Жт, как правило, равна т, за исключением случаев, когда f специальным образом связан с А или т > п.
Если степенной метод, изложенный в гл. 4, использует в качестве начального вектор f, то столбцы К” (1) будут вычисляться последовательно один за другим. Однако каждый столбец записывается на место предыдущего, так что с целью экономии памяти сохраняется только последний столбец. В принципе могли бы быть сохранены все столбцы К” (f), а затем с помощью процедуры Релея — Ритца (см. гл. 11) вычислены аппроксимации из ^"(f), и уже для т^2 эти аппроксимации будут лучше, чем полученные степенным методом, но они будут более дорогостоящими. Рентабельны ли эти аппроксимации? Это хороший практический вопрос, затрагивающий выбор f, величины az(=Xz[A]), возможности памяти и легкость, с которой мы можем манипулировать матрицей А.
Но краткий ответ—решительное «да».
В этой главе будут приведены оценки сравнительной точности двух методов, а затем будет показано, как аппроксимации из 5^™ (f) могут быть вычислены гораздо более экономично, чем это кажется возможным с первого взгляда. Следующие примеры могут служить хорошим стимулом для того, чтобы энергично взяться за детали анализа метода. .Мы надеемся, что вся теория предстанет как естественное следствие использования подпространств Крылова.
Пример 12.1.1
Пусть т = 2, п = 3 (плоскость лучше, чем ее оси), A = diag(3, 2, 1), f = (l, 1, г])*, где т]— малая величина. Далее, пусть (6)"”, y*.m)), 1 = 1, ..., т, —аппроксимации Релея— Ритца .из ЗСт^). Тогда для т] < 0.01 имеем
т = 1. ZC^.e,) <^1чZ(A4, ej 4» 4/9
т = 3Z(/з3>, е,) = 0Z(A3f, е.) * 8/27
Рис. 12.1.1. Плоскость лучше, чем ее оси.
Этот простой пример выявляет тот факт, что степенной метод требует в принципе бесконечного числа итераций для вычисления собственного вектора, тогда как аппроксимации Релея — Ритца являются точными для 3^m(f). С другой стороны, случай т = 2 показывает, насколько лучше оказывается плоскость 3f2 (f) любой из заданных ее осей f и Af на что также указывает рисунок 12.1 .L
Пример 12.1.2
Пусть
а, = Хг [А] = I, t = 0, 1п 4-1.
Степенной метод дает сходимость к доминирующему собственному вектору z_P Эта задача несколько усложняется с возрастанием значения п. В таблице приведено количество шагов т, требуемых, чтобы для любого f гарантировать уменьшение угла конечной ошибки по отношению к углу начальной ошибки в 100 раз. При этом ошибка собственного числа .будет уменьшена приблизительно в 104 раз. Нужные выражения взяты из § 12.5.
п
Степенной /к _ ' хт. метод: Vм «1/ т
3C"(f)
ю2
693 (463)
38 (37)
10’
8061 (4607)
139 (84)
ю4
92105 (46054)
500 (265)
п
n ln[IOOVzz ] (л ШОО)
^п 1п[200Ул ] (^Ул Ш200)
Первое число в таблице соответствует неудачно выбранному начальному вектору f, равному z,-j-z2 + lO-^-!. Второе число в круглых скобках с точностью до общего числового множителя в оценках ошибки из § 12.5 дает хорошие оценки величины т, когда начальный вектор f выбран разумно.
Основные свойства
Теоретическое ограничение
Каждому f соответствует конкретное множество собственных векторов, а именно проекции f на собственные подпространства А. Может случиться так, что некоторые из этих проекций являются нулевыми векторами, т. е. f ортогонален соответствующим собственным подпространствам. Такие собственные подпространства будут также ортогональны ^(f) для всех т (см. упр. 12.2.1), и, следовательно, векторы из них никогда не могут быть найдены при помощи вычислений, основанных исключительно на подпространствах ^(f). Это неизбежное теоретическое ограничение одновременно для степенного метода и метода, использующего подпространства Крылова.■
Для формального описания ситуации нужно ввести
множество 2(0 = {а:а:=МА]’ H^f^O}— часть спектра матрицы А, соответствующая заданному f;
^ (f)—наименьшее инвариантное подпространство Sn, содержащее f.
Можно показать (см. упр. 12.2/2), что ^(f) = span{Haf: а^2(0} и что матрица А/е являющаяся сужением А на ^ (f), имеет простые собственные числа (см. упр. 12.2.3). Кроме того, подпро-
странства Крылова полностью покрывают ^ (f) в том смысле, что для некоторого I ^ п
span f с9Г3 (f)с ... с9f' (f) = ^+1 (f) = f (f).
Имеются два пути адаптировать теорию аппроксимации к этому ограничению. Либо предположить (в хорошем академическом стиле), что ^(f) = ^" и AZ=A, либо осложнить формулировку всех результатов, ссылаясь на Az вместо А. Остается фактом, что численные методы, основанные на возведении в степень, могут (в точной арифметике) не обнаружить некоторые собственные векторы матрицы А и они должны не обнаружить (бпять в точной арифметике) кратность любого собственного числа, которое они вычисляет.
К счастью, на практике ошибки округления делают предположение А/=А реалистическим. Это замечание будет усилено при обсуждении алгоритма Ланцоша в гл. 13.
Свойства инвариантности
Подпространства %*™(f) зависят от А, и, когда это необходимо, они также обозначаются ^(f; А). Укажем следующие важные свойства инвариантности.
Умножение на скаляр: Жт(о^, rA) = 3fm (I; А), о^О т^О. II. Сдвиг: ^"(I; А—0) = Жт^; А).
Изменение базиса: 3fm(Pf; PAP*) = P9^m(f; A), P* = P-1.
Проверка этих свойств оставляется читателю, но сделаем некоторые комментарии.
Оценки ошибок, связанных с аппроксимациями из ^"(f, А), также должны быть инвариантны в том же смысле.
Свойство II сначала озадачивает, поскольку оно совершенно отсутствует для соответствующих матриц Крылова K'”(f, А). Так, степенной метод сильно зависит' от любого сдвига о, но каждое а просто приводит к различным базисам Km(f; А—о) того же самого подпространства ’ЭС” (f, А). Одним из следствий свойств 1 и II является возможность без потери общности предполагать, чтоХ|[А] = —1 и Х—1 [А] = + 1. Эта нормализация объясняет, почему при возрастании т пространства ЭС” (f; А) приближаются к собственным векторам, соответствующим экстремальным собственным значениям. Нет ничего неожиданного и в том, что оценки ошибок включают в себя отношения разностей собственных чисел А — эти величины сами являются инвариантными.
Свойство III отражает тот факт, что ортогональное изменение базиса в ^” влечет за собой ортогональное преобразование подобия матрицы А. Поэтому без потери общности можно рассматривать случай диагональной матрицы А.
Упражнения к параграфу 12.2
Показать, что если Az = za, z J_ f, то z_[№ (f) для всех m > 1,
Показать используя равенства AHa = HaA=aHa, что ^(f) = = span {Haf: a^2 <f)b
Показать, что матрица Ay=A|^([) имеет только простые собственные числа..
Рассмотреть A = diag(—1, —0.5, 0, 0.5, 1) и f = (l, 1, ..., 1)*.
Вычислить углы между A$f и плоскостью (еь е6) для к = 0, 1, 2, 3, 4.
Проверить свойства инвариантности I, II и III.
Полиномиальные представления
Каждый элемент s из ^"(f) представим в специальном виде
5= 2 (АЧ)У/ = 2 (yfA‘) f = л (A) f, (12.3.1) i = 0t=0
где л (g) = 2 У Д' полином степени меньше т. В этой главе интенсивно используется векторное пространство 3^ всех действительных полиномов степени не выше к. Например, (12.3.1) имеет хорошую интерпретацию
5^™(1) = {л (A) f^^^™*1},.(12.3.2)
что устанавливает взаимно-однозначное соответствие между 5^™ и 5>т-1. Здесь предполагается, что размерность 3fm = /n.
Нет ничего неожиданного, что полиномы играют большую роль в описании аппроксимаций из 3fm. Для будущих ссылок мы опишем свойства векторов Ритца. Согласно гл. II, для любого подпространства «У™ векторы Ритца у,., 1=1, ..., т, взаимно ортогональны и характеризуются тем, что
Ау,- — У,Д ± <^m, 1=\,...,т.(12.3.3)
Для случая подпространств Крылова охарактеризовать векторы, ортогональные и к конкретному уь достаточно легко.
Лемма. Пусть (6,., у,), z= 1, .. ., т,—аппроксимации Релея— Ритца из 3£m(f). Тогда если а^^т~х, то co(A)f J_ уй тогда и только тогда, когда соД) = 0.(12.3.4)
Доказательство. Предположим сначала, что со принадлежит 51”, но не принадлежит 5»»»-> и со (£) = (£ — 6А)л(|), где л^^”1-*.
Тогда
л (A) f € Э£”1,(12.3.5)
у> (A) f = у* (А—6е) л (A) f
= [(А—6^)у6]*л(А) 1, так как А = А*, = 0. (12.3.3) и (12.3.5).
Это доказывает достаточность с небольшой дополнительной информацией. А именно, мы видим, что у*^^, где
<У к = {т (А) f: т € ^~1, т (0.) = 0} = (А - 6Й) ^“~1 (f)
является подпространством gfm размерности т—1. Поскольку множество всех векторов из ЭР”, которые ортогональны к уй, тоже является подпространством размерности т— 1, то оно должно совпадать с ^к.
Этот результат дает описание уй. Естественно определить полиномы
т
и® = Па-6.-) и nk^Y^^W-4Y (12.3.6) .=1.
Из результатов, установленных при доказательстве леммы (12.3.4), вытекает:
Следствие.
уй = лй(А) 1/[|лй(А)1 Q,
|3mHMA)f|| = minMA)f|l,(12.3.7)
где минимум берется по всем нормированным полиномам^ степени т. ■
Доказательство следствия предлагается как упражнение. Естественно назвать р минимальным, полиномом вектора f степени т. Заметим, что ||p(A)f||—расстояние от Amf до 5^™.
Следующий шаг—это доказательство основной леммы, которая будет использована при выводе оценок ошибок (0у—ау) для /= 1, ..., т. Роль f в этих оценках могут играть адекватно два числа: 2К1> z/)—°ДН0 число и /. (f, —другое, где ЗУ = = span (zn ... , Zy). Когда / > 1, второй угол может быть много меньше, чем первый.
Лемма. Пусть h—нормированная ортогональная к ® проекция f. Тогда для каждого л С 9””-1 и каждого j ^т отношение Релея р удовлетворяет неравенству
/\' Г51П Z (6 йЛ ||л(А)Ь|П2 о\
р(л(А)1; А-а^^-ау)^^^^ ^/J - (12.3.8)
11 Полиномы со старшим коэффициентом, равным единице.— Прим, перев.
Доказательство. Пусть V — ^/ (f, ^), g—нормированная проекция f на У и
f = gcosif + hsinif1J
является ортогональным разложением f. Поскольку %1 инвариантно относительно А, то
s = л (A) f = л (A) geos if+л (A) h sin if
является также ортогональным разложением s. Небольшие вычисления приводят к соотношению
р(s; А—ау) = [g* (А—ау) л2 (A) geos2if +
+ h*(A—ау) л2 (A) h sin2 if]/|| л (A) f ||2. (12.3.9)
Собственные числа матрицы А пронумерованны в порядке неубывания: а, ^а2 ^ ... ^ ал и
v*(A—ay)v^0 для всех v£22
и, в частности, для v = n(A)g,
w* (А —ay) w ^ (а„—ау) J w ||2
для всех ^ \_У и, в частности, для w = n(A)h.
Используя (а) и (Ь) для упрощения (12.3.9), получаем
p(s; A— ay)^(a„ —ay) [л (A) hjsin if/J л (A) f ||]2. (12.3.10) Завершает доказательство разложение f по собственным векторам матрицы А:
IIs il2 = II л (A) f ||2
= 2 л2 (a,.) cos2 (f, zz) ^ л2 (ау) cos2 Z_ (f, zy). i = I
Неравенства (а) и (b), использованные для получения (12.3.10), грубы, но без привлечения большей информации они не могут быть улучшены. Поскольку / (1, 2/) ^ / (f, zy), то в лемме возможна замена синусов и косинусов на tg^(f, zy), но для />1 это приводит к излишнему возрастанию границы. Без потери общности можно предполагать, что все наши углы острые.
Упражнения к параграфу 12.3
Доказать оба равенства из (12.3.7). Указание: Рассмотреть направление р (А) 1.
Показать, что для каждого n^^®-1 и j^m
I tg Z (2/, ^“) I < I tg z (2/, f) Hi " (A) fy ll/l Л (ay) I, где fy нормированная ортогональная к zy проекция f.
о Здесь f единичный вектор.— Прим, перев.
*§ 12.4. Оценки Каниэля и Саада для ошибок
В этом параграфе рассматриваются априорные оценки ошибок аппроксимаций Релея — Ритца (9,., у;), t = 1, ... , т, из ^(f, А) для соответствующих (одноименных) собственных пар (a,, zz) матрицы А. Эти результаты легко отличаются от вычислимых оценок ошибок, использующих невязки (см. гл. 11), которые сопоставляют каждому 9; некоторое близкое число а,- неизвестного индекса. Естественно, априорные оценки наиболее интересны, когда f выбран настолько хорошо, что а; действительно является ближайшим собственным числом к 9,-. Аналогичные оценки имеются и для близости (9_;, у_;) к (а_ь г_>) для 1 = 1, .... т. При этом по крайней мере одна из оценок будет мала.
Оценка ошибки для 9у—«у зависит от нескольких величин: начального вектора f, ^ (У/. zz) Для * <'/ и размаха (а„—а,) спектра А. Однако, как мы вскоре увидим, основную роль играют полиномы Чебышева Тт-)-, значения которых резко возрастают вне интервала [—1, 1] и которые помогают объяснить превосходное качество аппроксимаций, построенных с помощью подпространств Крылова.
Оценки ошибок получаются путем выбора в лемме (12.3.8) такого полинома л (А), чтобы среди других он обладал следующими свойствами:
|л(ау)| велико, в то время как ||л(А)Ь|| мала,
p(s, А — ау)^0, где $ = л(А)1.
Требование I выводит на сцену полиномы Чебышева. Заметим, что
|| л (А)/г j|2 = 2 л2 (a^cos2 / (f, zj/ 2 cos2 Z^(^zz) max л2 (a,).
Собственных . чисел a, превышающих ajt будет n — /, но л, оказывается, имеет только т—/" свободных нулей, причем обычно т<^п. Наилучшее л сильно зависит от фактического распределения собственных чисел А. С целью простоты |] л (A) h || обычно мажорируют следующим образом:
|| л (A) h ||2 ^ max л2 (a,) ^ max л2 (т) т из [а/+1, а„]. i > i
Когда л («у) задано, то нормированный полином Чебышева минимизирует член в правой части неравенства.
Требование II относится к левой части неравенства леммы (12.3.8), а именно к величине p(s, А — ау). Известны следующие
факты:
О<0у—ау (из § 10.1),
бу—«y^p(s; А—«у) следует из (11.4.6), если s | у,- для веех i < />
Оу—«y<p(s; А—«у)4- 5 («„—«/)Sin2^ (у,., zz),
если sj_zz для всех i <j (из § 11.9).
Из (А) видно, что если р (s; А—«у) <0, го р (s; А—«у)<Оу —ау и леммой (12.3.8) нельзя воспользоваться для построения оценок Оу—«у. Таким образом, требование II обращает наше внимание либо на факт (В), что приводит к оценкам Саада, либо на (С), что приводит к оценкам Каниэля. Выберем сначала (В).
Теорема. Пусть 0, ^ ... ^0Л— значения Ритца, полученные из ЭСт ^), a(az, zz)—собственные пары А. Тогда для каждого / = 1т
0 < Оу—«у ^(а„—«у)0 < Оу—«у ^(а„—«у)sin Z (f, 2Z)sin Z (f, 2Z)cos Z (f, Z/) " T„_y (1 +2у)cos Z (f, Z/) " T„_y (1 +2у)
0 < Оу—«у ^(а„—«у)
0 < Оу—«у ^(а„—«у)
sin Z (f, 2Z)
sin Z (f, 2Z)
cos Z (f, Z/) " T„_y (1 +2у)
cos Z (f, Z/) " T„_y (1 +2у)
sin Z (f, >')sin Z (f, >')Tm-j (1 +2?) ’Tm-j (1 +2?) ’И
sin Z (f, >')
sin Z (f, >')
Tm-j (1 +2?) ’
Tm-j (1 +2?) ’
tg / (Z/ ^ ^7-77Г
ь г—\cos ^ (f, z^
(12.4.1)(12.4.1)где у = («у—a/+1)/(ccy+1 —cc„).
(12.4.1)
(12.4.1)
Доказательство. Применим лемму (12.3.8). Следуя (В), пробный вектор з = л(А)1 должен быть ортогонален ку,, .. , Уу_и и поэтому, согласно лемме (12.3.4), достаточно рассмотреть полиномы л вида
л ю=а -о,)... (^—0/_а л (В), л е ^-^
Заметим, что для такого л, поскольку h J_ ИН,
H(A)h||< 8(A-e1)...(A-0/_1)||.H(A)h||
|n(«y)| ~" I^ — OJ ,., (ay—0/_,)| | л(а,)| ’
- тт Г a„—9Z1 MW Ir.
L^'J^W^ по всем t€^’ a«b
Задача сводится к нахождению такого л^”^, которое минимизирует отношение в правой части (12.4.2). Хорошо известное решение этой задачи (см. приложение В) дает полином "Чебышева,
адаптированный к интервалу [а/+1, а„], а именно
,тах7т_у(т; [а/+1, а„])
.Л-(Т)т
mm max -L—L-LL- = _—_'у--
~т|л|(ау)|Тт_у («у,[ау+1, «„])
(12.4.3)(12.4.3)_1
(12.4.3)
(12.4.3)
Тт_Д\^У
где величина у определена в формулировке теоремы. Комбинируя (В) лемму (12.3.8), (12.4.2) и (12.4.3), получаем первый результат теоремы.
Второй результат вытекает из представления f в виде
f = geos 21(1, ^“O + z,cos 21(1, Zy)4-h sin^ (1, 2/).
На этот раз л выберем так, чтобы удовлетворялись условия Л («у) = 0 для I = 1, . .., / — 1 и чтобы
s = л (A) f = Q + Хул (ау) cos / (f, zy) + л (A) h sin / (f, S^.
Это ортогональное разложение s, и, следовательно, , sin Z (f- 2У) II я (A) h || ь ’ p cos 2 (f, z^ । л ^.j ।
Завершается доказательство выбором того же самого л, что и раньше.
Каниэль для своих оценок явно использует векторы Ритца у,., i = 1, ... , /—1. Он подставляет то же самое s, что и выше, в именно
s = л (A) f = (А—а,) . .. (А —ay_t) л (А),
в лемму (11.9.1), что компенсирует, как показано в (С), тот факт, что s не ортогонален у, для I < /. Используя то же самое л, как при доказательстве теоремы (12.4.1), приходим к новой теореме.
Теорема. Аппроксимации Релея—Ритца (0у, уу) из ЗСт (f) для (ау, Zy) удовлетворяют неравенствам
О^бу—«у^(ал—«у)
cos / (f, zy) ' Tm_y(l+2y)
еде
i-\
+ 2 («„—”v) sin2/(yv, zv), V=I
у = («У—ay+1)/(ay + 1—a„) и, согласно (11.9.8),
sin2Z(yv, zv)< (9V—av) +
V- 1
+ 2 («v+1— ag) sin2 21 (yg, ц=1
^ц) /(GCv+1 CCv).
(12.4.4)
Теорема (12.4.1) не дает явной оценки для / (yv, zv) и, исправляя это упущение, Саад связывает этот угол с меньшим углом ^/(Zv, Э^®), оценка которого была дана в теореме (12.4.1). Обращение к рис. 12.4.1 показывает, что
81п22^(У/, Zy) = PQ2 + QR2 = sin2ф + sin2toCos2ф. (12.4.5)
Мы имеем дело с трехмерным пространством, где {уу, tiy, Wy}- множество ортонормальных векторов, причем у у и иу- принадлежат Ж”, в то время как w;-J_9Cm. Нормированной проекцией zy- на ^т является вектор Vy, и для доказательства последующей теоремы нам будут нужны соотношения
zy-= Vy cos ф + wy-sin ф, (12.4.6)
Vy = Уу cos со + Uy sin со. (12.4.7)
PmS|]HA(l-H)||,PmS|]HA(l-H)||,(12.4.8)(12.4.8)Чтобы обсуждать свойства векторов Ритца, нам нужен (ортогональный) проектор на 5?®. Это должна быть матрица QmQ„ из § 11.4, но здесь мы обозначим ее через Н. Напомним, что (бу, уу) является собственной парой проекции А на Жт, а именно сужения оператора НА на зет. Последующий анализ дает хороший пример важного значения области определения оператора, поскольку для нас будет также интересно сужение НА на (9^®)^. Различать эти операторы можно, обозначая через НАН первый и через НА(1 — Н) второй. Следующая ниже теорема использует интересную величину, называемую вариацией подпространства 3fmI- матрицей А:
PmS|]HA(l-H)||,
PmS|]HA(l-H)||,
(12.4.8)
(12.4.8)
т. е. норму сужения НА на (Э?®)1. Задача упр. 12.4.2—показать, что это то же самое Рге, которое возникает в (12.3.7).
Теорема. Пусть г#—нормированная проекция f на собственное подпространство, соответствующее «у для некоторого j <Lm, и (9f У;), < = 1, ••• , т —аппроксимации Ритца из дСт. Тогда sin2 / V-p Уу) < (1 +Pm/V/m)2)sin2 Z ^j, ^"Y
где y” = min|a/—0Z| no всем i^j.(12.4.9)
Доказательство. Используя (12.4.6), перепишем уравнение (А—ay)z=O, определяющее z,-, в виде
(А —«у) Vy cos ср = — (А—«у) Wy sin ф.
Этот вектор не принадлежит 3£т, и прием заключается в рассмотрении его проекции на Жт.
Правая часть равенства
|| Н (А—«у) Vy cos ф [| = || Н (А—«у) йУу sin ф [|(12.4.10)
легко с помощью (12.4.8) оценивается сверху
|| Н (А —*у) Wy sin Ф Ц < || Н (А — ау) (1 — Н) ||• || Wy || sin Ф
= Рт51Пф.(12.4.11)
Заметим, что уу— собственный вектор матрицы Н (А—«у). Поэтому (см. упр. 12.4.3), умножая (12.4.7) слева на Н(А —«у), мы приходим к ортогональному разложению вектора из левой части (12.4.10), а именно
Н (А —«у) Vy = (6y—«у) Уу cos со + Н (А—«у) Uy sin <» (12.4.12) и, следовательно,
||Н(А—«у) Vy||X|H (А —ау) Uy||sinto.(12.4.13)
Заметим, что вектор Uy принадлежит подпространству у/- Г) 5^™, которое инвариантно относительно Н(А — ссу.). Сужение Н(А — а) Н на это подпространство имеет собственные числа (6,-—ссу., i = 1, ..., т, i^j}, и поэтому
|| Н (А -ау.) цу ||2 = р (U/; [Н (А—ау) Н]2 > min (О.—Ку)2 = ^-
(12.4.14)
Окончательно применение неравенств (12.4.11), (12.4.13) и (12.4.14) к (12.4.10) дает неравенство
y*m) sintocos ф ^Pm sin ф,(12.4.15)
и требуемый результат следует из (12.4.5).
Простейший выбор л, сделанный в теоремах (12.4.1) и (12.4.4). не всегда дает наилучшие оценки, как это показывает рисунок,
Выберем для него / = 3, возьмем «4 близким к «8, а «п-1 хорошо отделенным от а„.
«1 «2«3«4«5«п-Х“п
-II III I . III ■
Т РасстояниеРасстояние
В этой ситуации лучше потребовать л(«4) = 0, л(«п) = 0, а затем выбрать подходящий полином Тт-)_г, адаптированный к. интервалу («6, «„„J. Чем больше известно относительно А, тем лучше можно выбрать л. В общем случае пусть ^ = {/4-1, ... , &—1, /4-1, ... , «}—множество индексов таких а, которые являются нулями л, и соотношение
V/Az = (a/—«аЖ—“z), j<k<l, (12.4.16) определяет отношение расстояний.'
В обеих теоремах' этого параграфа вполне законной является замена Т„_у(1 4*2уу,/+1, „) величиной
й Д । (%-«z) v ЛI (afc-aj Тт - / -1 ^ I ( + 2V/az) .
где через |^| обозначено число элементов у. (12.4.17)
Все границы становятся бесполезными для слишком больших значений /, поскольку мы имеем только т величин 6 для п значений а, и очень скоро «у уже не будут ближайшими собственными числами к 9у. В силу свойств инвариантности ^ (f) оба конца спектра равноправны. Результаты, двойственные теоремам (12.4.1) и (12.4.4), содержат немногим больше, чем просто изменение знака индексов. Их точная формулировка является полезным упражнением.
Пример 12.4.1
Оценки Саада (теорема (12.4.1)) и Каниэля (теорема (12.4.4)) будут подвергнуты сравнению на примере, близком к использованному Каниэлем в его первоначальной статье. Для простоты мы заменим sin^f, Z/)/cos^/(f, zy) на tg Фу, где 4>j —ZAV ^jl и f является начальным вектором для %т с т = 53. Величины at = 0, «2 = 0.01, «3 = 0.04, «4 = 0.1 и a„=1.0 являются собственными числами матрицы А.
Границы Саада имеют вид
Оу—«у^(«„—«y)[(tgVy)x;m,/7m_y(l 4-2у)]2,
где Хут) являются функциями 9 и а. В этом примере х/т) равно
с заданной точностью соответствующему множителю ху. из оценок Каниэля. Следовательно, оценки Саада проще и компактнее.
Мы ничего не потеряем, если предположим все углы острыми.
V - 1 I Чип - ^, Т52(1 + 2у) - 1.73 X 104, «И - X, = 1.0
в, — аг < (tg у, X 5.77 X Ю*у, sin2 Z(y„ rO < (0, - а,)/ (а2 - «,) < (tg у, X 5.77 X 10"4)2. 7-2 у23„ - £, Т5Х(1 + 2у) - 3.39 X 107,
*2 3 («„ ~ «[)/ («2 ~ “1) = 100 = Х^, Саад: 6г — ^ < 0.99(tg у2 X 2.95 X 10~6)2 Каниэль: 02 - а2 < 0.99(tg у2 X 2.95 X 10"6)2
+ 1.0(tg у, X 5.77 X IO'4)2
sin2 Z(y2, z^ < 33.3(52 - <x2) + 1.33 sin2 Z(yb z,),
(tg y2 X 1.70 X IO"5)2 + (tg у, x 3.40 X 10-’)’.
7 = 3 yM„=^,T50(l + 2y) - 8.1’7^ 10’°
x3 - (a„ - «,)(«„ - a^J (a, - «,)(«, - a^ = 825 = x\m\
Caan: S3 — a3 < 0.96(tg y3 X 1.00 X IO-8)2.
Каниэль; ^ - a3 < 0.96( " )2 + 0.99 sin2 Z(y2, z2) + 1.0 sin2 Z(yh Zj)
(tg y3 X 0.98 x IO"8)2 + (tg y2 X 1.70 X IO"5)2
+ (tg у, X 3.45 X 10-3)2 sin2 Z(y3, z3) < 16.7(53 - a3) + 1.5 sin2 Z(y2, z2)
+ 1.67 sin2 Z(yh z,).
Саад не дает априорной оценки для (уу, z7), но его апостериорная оценка (теорема (12.4.9)) имеет вид
sin2 Z (У/- z/) < 0 +Pm/V2) ^^„-уУ tg2 ф7,
и в этом примере очень похоже, что величина (1 +Р^/у2), где у—соответствующее расстояние, имеет порядок единицы. В гл. 12 будет показано, как $т вычисляются в ходе процесса Ланцоша.
Следующий пример показывает, что приведенные до сих пор оценки, по-видимому, очень сильно завышены.
Пример 12.4.2
Уточненные оценки ошибок. Этот пример продолжает предыдущий, но использует более сложный выбор л, описанный в (12.4.17), где Tm-i заменяется на aTm-/-v. Дополнительно задана
величина ап-1 = 0.9 (иллюстрирует эффект вынужденного обращения в нуль л в изолированных точках на обоих концах спектра).
j *^<4,n-i ~ 0Л25,j *^<4,n-i ~ 0Л25,Г49(1 + 2у) = 5.58 X 1014,Г49(1 + 2у) = 5.58 X 1014,
j *^<4,n-i ~ 0Л25,
j *^<4,n-i ~ 0Л25,
Г49(1 + 2у) = 5.58 X 1014,
Г49(1 + 2у) = 5.58 X 1014,
(«1 - «2>(«| - “3)[“i ~ “л](“л-1 - “2)(“л-1 - “з)[“4 - “л]
1 X 2 X 1089 X 43 X 91 X 2 X 1089 X 43 X 9= 5.81 X 10"4,= 5.81 X 10"4,
1 X 2 X 10
89 X 43 X 9
1 X 2 X 10
89 X 43 X 9
= 5.81 X 10"4,
= 5.81 X 10"4,
о X Ту = 3.24 X 10",
0, - а, < (tg <рх X 3.09 X Ю"12)2 sin2 Z(y„z,) < (tg у, X 3.09 X IO* ")2.
7 = 27 = 2V2,4,„-i-&>T49(l + 2у) ^ 9.38 X IO13
7 = 2
7 = 2
о X Ту Н= 3.6 X 1012,о X Ту Н= 3.6 X 1012,о =о =(“з - “г)(“л - “г)= 33
о X Ту Н= 3.6 X 1012,
о X Ту Н= 3.6 X 1012,
о =
о =
(“л-1~“з)[“л - “л]860 ‘
Саад:62 - а2 < 0.99(tg у2 X 2.76 X Ю'1')2
Каниэль: е2 — а- < 0.99(tg угх2.76Х 10~")2
.+ (tg у, X 3.09 X Ю*11)1
sin2 Z (у2, z2) < 2 [ юо(02 - у2) + 4 sin2 Z (yb Zj)].
7 = 3- У3.4.„-1 = £.Г49(1 + 2у) = 2.26 X 10”
/ аз \16_. - ,. ini!
ао х Т — 2 41 X 10,
\ «4 - ап) 15
_ (“л - “|) (“л - “2) _ уч /х 825*
.(«з “ ai) («з " «2)
Саад: 93 - <х3 < 0.96[tg у3 х 3.41 х 10"9]2
Каниэль; 62 — «3 < 0.96[tg у3 X 3.41 X 10“9]2
+ [tg у2 х 2.76 х IO-'°J2 + [tg у, X 6.18 X JO-"]2
sin2 Z(y3, z3) < 16.7(»3 - a3) + 1.5 sin2 Z(y2, z2) + 1.67 sin2 Z(yh zj.
Упражнения к параграфу 12.4
Аккуратно сформулировать и. доказать результаты, двойственные теоремам (12.4.1) и (12.4.4). Нужно ли переопределять у?
Показать, что P„ = || р(А) f ||=|| НА (I — H)|j, где и было определено в § 12.3.
Показать, что в равенстве (12.4.12) уу | Н (А—ау)иу.
Установить факт (12.4.17).
Предположим, что а1 = 0, аа=1 иа„=1001. Для т=10 и /п = 30 определить такие значения сс2, чтобы оценка для 0j—at из теоремы (12.4.1) (или теоремы (12.4.4)) была настолько же хорошей, как оценка из (12.4.17) с ^ = {2}.
Пусть a( = (V, 1=1, ... , п, где Р > 0. Взять п— 100 и п= 1000 и определить значения т, при которых
sin (у,-, z,) < sin (z,-, f)/100
для двух случаев: (a) t=l, 2 и (b) 1 =—1, —2.
Сравнение со степенным методом
После (т—1)-го шага степенного метода наилучшей аппроксимацией к собственному числу является величина p(Am-1f). В предположении л (^) = ^т-1 здесь для построения оценки ошибки может быть применена лемма (12.3.8). Степенной метод не инвариантен относительно сдвига, и Ат~Ч/(| Ат~Ч|| сходится при т —► оо либо к zn либо к гп. Когда [| А || = — alf то пределом является гх и оценки, аналогичные теореме (12.4.4), имеют вид
Р (А^-Ч) —a, < (а„—aj [tg / f, z1)/(a1/a2)-”"1]2, sin2/(A'”“1f,—(12.5.1)
Более четкое сравнение с методом, использующим подпространства Крылова, происходит тогда, когда мы рассматриваем матрицу с ||Aj| = an и наименьшее собственное число at аппроксимируется степенным методом с матрицей А—а„. В этом случае имеем следующие оценки:
Р ((A—cQ-”"1 f)—a, < (a„—aj[tg / 0. zJ/0 + VuJ”"1]2, где y12n определено в (12.4.16), и sin2Z((v4— aj™"1!, zj^
^{p[(A— an)-»-if]—aj/^ —aj.(12.5.2)
Сравнение теоремы (12.4.4) с (12.5.2) показывает, что обе оценки углов содержат множитель (а„—aj)/(a2—ai)> который нужен, чтобы учесть возможный неудачный выбор вектора f. Можно заменить простое выражение (а„—cci)/(cc2—ai) на более
сложное, содержащее все / (f, z;), i = 1, ..., п, и, когда f разумно выбрано, простое выражение приводит к сильно завышенной оценке. Следующая таблица объединяет оценки отношения конечного угла ошибки к / (f, z,) через соответствующее отношение расстояний у. Оценки для полиномов Чебышева Тт дает приложение В. .
Степенной метод (А — «„У"!
IX "(f)
( -ту /^
(1 + тГт~х
■( У-” (у ~>
0)
1
( 2е,-^ч/?
(У -
->0)
оо)
7^(1
Ь2у)
1 2(4у)"""
(у -
-> оо)
Именно показатель 2 Ку и выявляет различие двух методов в трудных задачах, где у мало (например, у=10-4). Если же у велико (например, 10*), то т окажется очень небольшим (возможно, 1 или 2) и методы различаются несущественно.
Итак, теперь заложены основы для сравнения аппроксимаций из ^“(f) с различными другими методами. Блочный степенной метод использует в качестве начальной (я х р)-матрицу F и вычисляет аппроксимации из span (А—y„)F) с по крайней мере в р раз более высокой стоимостью °. Оценки, аналогичные (12.5.2), получаются заменой у12п на у11/!+1, „ и ^/[f, zj Ha^ff, g?]. Если изменение углов игнорировать, то нетрудно видеть, что блочный степенной метод дает такие же хорошие результаты, как использование 3^” (f), если ylt p+li n/ylt 2i „ = 2 /у^ 2i „. Для равноудаленных ос,- равенство достигается только тогда, когда р = = 2/г/(Кй + 2) = 2/п, т. е. для слишком большого (в практическом смысле) блока.
Поучительно также сравнить обратную итерацию с методом, использующим ^“(f). (Такое сравнение довольно неестественно, поскольку если возможно вычислять (А—о)-1 f, то будет возможно и воспользоваться ^(f; (А—о)-1).). Если о близко к собственному числу и, скажем, а<ап то оценка ошибки (12.5.2) остается применимой при условии, что у12„ заменено на у = (а2—сс^/^,—о). (Почему это так?) Поэтому обратная итерация будет давать такие же хорошие аппроксимации, как получаемые из ^m(f; А) в случае равноудаленных а,- всякий раз, когда 1пу > 2]/щ Если итерирование подпространства, или блочная обратная итерация, используется в той же самой задаче с равноудаленными а,, то теперь аппроксимация из span[(A—о)'”*1 F] будет лучше у^т>, если 1пру > 2р^и. Это показывает, насколько мощным средством может быть обратная итерация.
*> По сравнению с обычным степенным методом. При этом, правда, находят приближения к р собственным парам А.— Прим, перев.
До сих пор стоимость различных подходов игнорировалась, так же как и тот факт, что ^т (f) дает аппроксимации для нескольких собственных пар А. Может случиться, что А настолько велика и неприступна, что единственная вещь, которая с ней может быть осуществлена, это умножение ее на вектор. Существуют также ситуации, когда А, несмотря на ее размеры, допускает возможность нахождения решения системы (А—a)u = v, но стоимость этого значительно больше стоимости вычисления произведения Av. Наконец, возможен случай, при котором решение системы (A—a)u = v требует меньше времени, чем, скажем, три произведения v на А.
При всем этом важным вопросом остается требование к памяти, кроме того, было бы своевременно затронуть проблему вычисления аппроксимаций Релея — Ритца из %’”’(/). Таблица в начале § 13.2 показывает, что для действительно трудных случаев значение т превосходит 25 и может составлять несколько сотен. Мы могли в 2 раза занизить скорость сходимости степенного метода. Если вместо a_j использовать оптимальный сдвиг (a2 + a_1)/2, то множитель сходимости изменится с (I+y)-1 на (14-2у)“1. На практике этот оптимальный сдвиг найти труднее, чем a_v
Частичное приведение к трехдиагональному виду
Между подпространствами Крылова и трехдиагональными матрицами имеется тесная связь. Начнем с подпространства 3^”(f, А). Для теоретических целей, таких, как теория Саада — Каниэля, естественным базисом для 9fm является базис Крылова Km(f, А) из § 12.1. Для практической работы особенно удобен ортонормированный базис Qme=(q1, ..., qm), который является результатом применения процесса ортонормализации Грама — Шмидта к столбцам К” (f) в естественном порядке f, Af, ... . Размерность ЗС'" должна равняться т, т. е. матрица К™ должна быть полного ранга. Мы не будем рассматривать случай, когда g^m+i — ^т_ []0 ПрИЧИНе, которая станет ясна в гл. 13, мы назовем Qm базисом Ланцоша подпространства ^(f; А). В матричных обозначениях можно записать
K'”(f) = QmC-1, (12.6.1) что есть QR-разложение К™. Элементами столбцов верхней треугольной матрицы С являются коэффициенты полиномов Ланцоша, введенных в гл. 7, но здесь этот факт мы использовать не будем.
Для произвольной последовательности векторов процесс Грама—Шмидта обременителен и тем сильнее, чем больше становится число векторов. В противоположность этому для подпрост-
ранств Крылова процесс исключительно упрощается' благодаря трехчленной рекурсии, связывающей столбцы Qm==(q1, ..., qm). Прежде чем браться за общий случай, рассмотрим пример, предварительно заметив, что поскольку q3 £ ST3 (q^, то
span(q„ q„ qg, Aq3) = span (qn q2, qsACy^+y^+ye^q,) = span(q1, q2, q3, A3q,) = ^ (qj.
Таким образом, чтобы дополнить базис для З^4, достаточно ортогонализировать Aq3 к векторам q3,.q2, q,. Нетрудно видеть, что Aq3 уже ортогонально к qj (см. упр. 12.6.1).
Теорема. Если К” (f; А) имеет полный ранг и Qm определена равенством (12.6.1), то Q^AQm является неприводимой трехдиагональной матрицей (12.6.2).
Доказательство. Включение А3^/с3^у+1 для каждого j < т является свойством, характеризующим 5^™ (f), в частности qzJ_5^/-1 и Aq/^g^/+1. Следовательно,'
qi(Aq/) = O для каждого i>/ + l. (12.6.3)
В силу симметрии A, q* (Aq,) = (q* (Aqy)) = 0 для всех / < Г—1. Это доказывает трехдиагональность матрицы Q*mAQm.
Заметим, что
5^/+1 = span (КЛ Ayf) == span(K', Aqy) == span(K< qy+1).
Отсюда если К” имеет полный ранг и j < т, то Aqy и qy+] не могут быть ортогональны, т. е. q/+, (Aqy)y=0.
Если ввести величины ay = q* Aqy и Py = q*+iAqy, то для трехдиагональной матрицы Q*mAQm можно воспользоваться обозначением
С помощью этого дополнительного обозначения мы дадим полезное следствие теоремы.
(12.6.5)(12.6.5)
(12.6.5)
(12.6.5)
где последним столбцом справа является вектор 1cj = olj+^J..
Доказательство. Проверка равенства
Aq, = q,--iP,--i + q,a,+q,-+iPz(12.6.6)
для всех t^/ предлагается как упр. (12.6.2). Следствие просто выражает его в компактной форме. Необходимо только заметить что p/ = q74-1Aq/ = l|r/|[2..
Вторая матрица в правой части равенства из (12.6.5) может быть переписана как г^*, где вектор е/ = (0, ..., О, 1) имеет только / компонент, хотя все другие векторы имеют п.
Заметим, что фундаментальная матрица Крылова сошла со сцены в (12.6.5), матрица Qy непосредственно связана с А.
Следствие указывает путь, каким все Qy и Ту, /= 1, ..., т, могут быть построены, исходя из А и Q, = q1 = f/|| f Ц. В начале /-го шага в распоряжении имеются Ту_п ру-1 и Qy..
Алгоритм Ланцоша
Из (12.6.5) вытекает, что
ry = r/e* еу = (AQZ—QyT ^ еу =
= Aqy—q/z,,(12.6.7)
где, поскольку q взаимно ортогональны,
ау = Ч;(АЧ/).(12.6.8)
Далее, согласно (12.6.5),
Р7=К+Л1НМ-(12-6.9)
Если ру > 0, то qy+i = ry/Py и очередной шаг завершен. Если же Ру=0, то AQ = QyTy и алгоритм останавливается, причем
span Qy =(f) = ^+1 (f) = У (Л(12.6.10)
является наименьшим инвариантным подпространством, содержащим f. В 1950 г., когда целью являлось вычисление Тп, возможность ри = 0 для т < п считалась легкой неприятностью. Сегодня при отыскании только нескольких собственных векторов ранняя
остановка процесса—горячо желаемый результат, поскольку каждое собственное число Тт будет собственным числом А. В экстремальном случае, когда f является собственным вектором, алгоритм завершается после одного шага.
Формула (12.6.6) представляет собой трехчленную рекурсию, связывающую столбцы Qm.
Стоимость одного шага алгоритма ■ полностью определяется формированием вектора Aqy, и это единственный способ, каким А участвует в алгоритме.
Упражнения к параграфу 12.6
Используя свойства А* = А и qiqe = O для i ^ 6, с помощью непосредственных вычислений показать, что Aq3 ортогонально к qv
Показать, что (12.6.5) н (12.6.6) эквивалентны, а также, используя обозначения (12.6.4), переформулировать теорему (12.6.2). Показать, что P/=q/+iAq/=llr/||.
Г Г f= —2 [ 1Г Г f= —2 [ 1Верно ли, чтоВерно ли, что[7 5 3'
Г Г f= —2 [ 1
Г Г f= —2 [ 1
Верно ли, что
Верно ли, что
Вычислить Т3, когда А= 15 3 1
I 3 1 О Рз = || Гз!| = 0?
Примечания и ссылки
Идея степенного метода очень естественна. Инженеры-строители называют его итерациями Стодолы. Последовательность (х, Ах, А2х, ...} использовалась Крыловым [1931J для нахождения коэффициентов характеристического полинома, и, несмотря на эту неудачную цель, имя Крылова прочио связано с указанной последовательностью.
В данной главе приведены оценки [Kaniel, 1966] (с поправками из работы [Paige, 1971]), которые показывают, что из подпространств Крылова умеренной размерности могут быть получены очень хорошие аппроксимации собственных чисел. Нашей целью было сделать результаты понятными и доступными для ссылок. С недавними и лучшими оценками [Saad, 1980] я ознакомился, когда книга подвергалась окончательному пересмотру. Первоначальные доказательства были упрощены, чтобы соответствовать соседнему материалу.
ГЛАВА 13
Алгоритмы метода Ланцоша
Подпространства Крылова + процедура Релея — Ритца = метод Ланцоша
Судьба алгоритма Ланцоша была переменчивой. Появился он еще в 1950 г. Хотя Ланцош указывал, что его метод предназначен для отыскания нескольких собственных векторов симметричных матриц, о нем сразу заговорили как о способе приведения всей матрицы к трехдиагональному виду. Но эта возможность метода была неосуществима на практике без привлечения очень дорогостоящих модификаций. Двадцатью годами позже Пэж показал, что, несмотря на чувствительность к округлениям, простой алгоритм Ланцоша является тем не менее эффективным средством вычисления некоторых внешних собственных чисел и соответствующих им собственных векторов.
Точный алгоритм может быть представлен несколькими способами. В действительности это уже было сделано при его появлении в §7.2, где конструктивное доказательство того факта, что q, полностью определяет приведение А к трехдиагональной форме T(=Q*AQ) является просто изложением алгоритма Ланцоша.
Другой подход дан в § 12.6, где показано, что столбцы матрицы Qm = (qi, - - ■, qra) образуют превосходный базис для подпространства Крылова ^“(q,), достоинства которого со всеми подробностями превозносятся на протяжении гл. 12. В этом базисе проекция А на ^M(q1) представляет собой трехдиагональную матрицу Тт. На шаге с номером / алгоритм резюмируется двумя уравнениями, а именно
АУу—Q/l/=r/e;, где vf = (\J+$,\ (13.1.1) l-Q*Qy = 0. (13.1.2)
Третий подход заключается во взгляде на алгоритм Ланцоша как на естественный способ реализации процедуры Релея — Ритца из § 11.3 для последовательности подпространств Крылова Ж’Ц!), /=1, 2, ... . На каждом шаге процедуры размерность подпространства возрастает на единицу и обычным образом могут быть вычислены наилучшие приближенные собственные векторы в подпространстве. Когда же рассматривается не одно, а последова-
тельность подпространств Крылова, универсальная и довольно дорсгостоящая процедура Релея — Ритца чрезвычайно упрощается. Посмотрим, каким образом возникает эта экономия.
Первым этапом процедуры Релея — Ритца является определение ортонормального базиса подпространства, но в нашем случае на шаге / базис (qn ..., qy_j подпространства 3^/-1 уже вычислен и к нему нужно добавить только один вектор. Этот вектор — компонента Aqy_n ортогональная к №'-1 (см. § 12.6), и, как будет видно ниже, уже имеется в нашем распоряжении, но не в нормированном виде. Таким образом, первым этапом будет простая нормировка вектора.
Следующие два этапа процедуры Релея — Ритца заключаются в вычислении матрицы отношения Релея р (Qy) = Q* (AQy). В нашем случае по теореме 12.6.2 матрица p(Qy) (т. е. матрица Ту) трехдиагональна, и ее формируют из Ty_i добавлением элементов p-_t и ау в соответствующие позиции. Опять оказывается, что Ру-1 уже имеется в нашем распоряжении, и поэтому первым фактическим вычислением является формирование величины az = q*Uy и вектора Uy = Aqy-
Затем в соответствии с процедурой Релея — Ритца происходит вычисление требуемых собственных чисел и векторов (бу\ s^’) матрицы Ту. Трехдиагональная форма очень удобна для реализации этого этапа (см. гл. 8). В § 11.4 показано, что наилучшими в совокупности аппроксимациями собственных пар А из 3^1 являются пары Ритца (6У’, у‘А), где yy^QyS^’, t= 1, ..., j. Далее, где это возможно, мы будем опускать верхний индекс (/).
Последнее завершает процедуру за исключением этапа оценивания точности пар Ритца, что составляет предмет § 13.2. Для оценивания необходимо ортогонализировать вектор uy(=Aqy) к qy и qy_i и тем самым найти полезный вектор невязки гу. Оказывается, что Ру (=|| гу ||) необходимо одновременно в § 13.2 и на следующем шаге алгоритма Ланцоша. Как бы в награду гу является кратным вектору q/+1. Теперь все готово для получения аппроксимаций Релея — Ритца из
Для завершенности мы выпишем один шаг процесса. В упражнении 13.1.1 предлагается объяснить, почему алгоритм несколько отличается от данного выше описания.
Простой алгоритм Ланцоша
Пусть задано г0 и Р„ = ||г„|)^0. Тогда для i=l, 2, ... повторяется следующее:
Uy ■«— Aqy
rz^uy — qy.iPy.i (q0 = o)
ay = q;-ry
Гу^Гу—qy«y
Р/*-II Г/1|
Вычисляются те 0;, sz, yz, которые нужны.
Если точность удовлетворительна, то процесс останавливается.
Важные замечания для вычислений с большими матрицами сформулированы как утверждения (13.13) и (13.14).
После этапа 3 вектор qy_, может быть передан в устройство вторичной памяти. Он не будет нужен до тех пор, пока,-скажем, на т-м шаге алгоритма Ланцоша не будет формироваться вектор уУ”’ = Qms;, когда сходимость у^ будет достаточно хорошей. (13.1.3)
В оперативной памяти необходимо хранить только три «-мерных вектора—привлекательная особенность в случае, например, п > 103. Пэж установил, что часто имеется возможность обойтись только двумя «-мерными векторами (см. у пр. 13.1.2).
Матрица X может быть представлена подпрограммой, которая по заданному х вычисляет вектор Хх, используя любые известные специальные свойства А. (13.1.4)
Теория Каниэля—Саада (см. § 12.5) указывает, что хорошие аппроксимации Релея — Ритца для внешних собственных чисел и векторов будут получаться до значений / порядка ^У п и что для таких вычислений алгоритм Ланцоша идеально подходит. Фиксировать заранее номер последнего шага / ( = т) нет необходимости. Процесс продолжается до тех пор, пока нужные пары Ритца (0Z, ур), i=l, ...,р, не станут удовлетворительными по точности. В точной арифметике это должно случиться при / = п, но обычно это происходит много быстрее. Типичными значениями, которые можно иметь в виду, являются /?=10, /п = 300, ц = Ю4.
Начальный вектор f (или qj лучше всего выбрать пользователю, чтобы можно было учесть любую имеющуюся в распоряжении информацию о требуемых собственных векторах А. При отсутствии такой информации в качестве f используется либо случайный вектор, либо вектор (1, 1, ..., 1)*.
Чтобы описать процесс Ланцоша полностью, следует что-то сказать о том моменте, когда алгоритм , должен побеспокоиться о вычислении некоторых собственных чисел Ту. Несколько неожиданным является ответ, что это нужно делать на каждом шаге. Следующий параграф, который сохраняет предположение о точной арифметике, объясняет, почему это так.
Упражнения к параграфу 13.1
Этапы с третьего по пятый не соответствуют словесному описанию процесса Ланцоша. Показать, что в рамках точной арифметики эти две версии эквивалентны. Объяснить отличие. Указание: Обратиться к модифицированному процессу Грама — Шмидта (см. § 6.6).
Предположим, что операция и<—Av выполнена в форме и-—u+Av. Перестроить простой алгоритм Ланцоша так, чтобы использовать только два n-мерных вектора. Указание: Потребуется поэлементное вычисление Av.
Оценивание точности
Теорема Каниэля—Саада (см. гл. 12) показывает, что мы можем надеяться на получение всех лучших аппроксимаций внешних собственных чисел из Ж^' (q^ при увеличении числа шагов /. На практике же нам нужны апостериорные оценки применительно к каждому специальному случаю. Теоремы из § 11.7 показывают, что норма невязки ЦАу—у6|| является хорошей мерой точности пар Релея— Ритца (6, у).
В принципе возможно вычислять 6,- и у,- на каждом шаге алгоритма Ланцоша. Но, к счастью, вычисление Ц Ayz—уД || возможно и без вычисления у,-! Чтобы увидеть, как это делается, опустим нижний индекс I и заметим, что
II Ау - у01| = || AQs— Qs91| = || (AQ- QT) s || =
= ||(₽/q/+1e;)s|| = ₽/|e;s|,(13.2.1)
где нами последовательно использованы соотношения y = Qs, s0 = Ts, (13.1.1) и j|q/+i|i= 1- Таким образом, нижние компоненты нормированных собственных векторов матрицы Ту являются показателем сходимости, и нет необходимости формировать вектор у до тех пор, пока его точность не будет удовлетворительной. Этот результат объясняет, почему некоторые значения Ритца могут быть очень точными, даже когда значение Ру не является малым числом.
Пример 13.2.1. Уменьшающиеся компоненты собственных векторов матрицы Т
Пусть
S = (s,у)—матрица нормализованных собственных векторов случайной симметричной трехдиагональной матрицы и
S = (s,7), где s,v = —log10|siV|.
Если каждый элемент v матрицы S, изображенной в виде таблицы 13.2.1, заменить на величину 10~v, то новая таблица задает абсолютные значения элементов матрицы S. Некоторые
j 1
2 3 4 5 ••• И 12 13 14 1521 22 23 24 25
6
3 1 4 1-2 211)2 73 4 6
4
5
6
7
7
8
10
11
11
13
342 2•2 i i i J•32445
342 3-21)1)-32445
4514-2)12)-41557
4 5)4-2112)'41557
55)3-2)12?•4)668
55)3-2 J )3)-52779
7625-321 ) 1-638911
7735-321)1-649912
7735'321))-64101012
99 4 7-42)))■86 1) 12 14
Матрица S
Таблица 13.2.1
элементы нижней строки этой матрицы очень малы (~ 10-13), и именно они соответствуют изолированным собственным числам X, и Х25. Это типичное явление.
Пусть S/P se/S; и определены следующие полезные числа
i=L...J. (13.2.2)
Без потери общности можно положить s/P > 0 для всех I ^ /. На /-м шаге процесса Ланцоша, согласно теореме 4.5.1, для некоторого собственного числа Х[А], зависящего от индекса I, имеем
|6,-Х[А]|^р/;,|6,-Х[А]|^р/;,(13.2.3)(13.2.3)
|6,-Х[А]|^р/;,
|6,-Х[А]|^р/;,
(13.2.3)
(13.2.3)
Кроме того, если использовать 66 как приближенные собственные числа для вычисления отделенностей y(- = min|0;—6^|, то
теорема 11.7.1 позволяет дать предельно реалистичные оценки
|sinA(yp>, z) | = ^jihi(13.2.4)
для векторов Ритца и
|61~^1=1Ш(13.2.5)
для значений Ритца, где (X, z)— собственная пара А.
Когда несколько интервалов, скажем [6,-—Ру/, 6,+Р/(] для 1 = 1, / + 1> /4-2, пересекаются, то можно и нужно использовать
Z + 2
теорему (11.5.1), а именно: пусть а=ч 2P/z> тогда каждый интервал [6,-—а, 0,-4-о], 1 = 1, /4-1, /4-2, содержит свое собственное число (см. упр. 13.2.1).
Эти оценки ошибок весьма привлекательны, но они предполагают, что для формирования ру-; должны быть вычислены некоторые собственные векторы s1/’ матрицы Ту. Хотя такие вычисления требуют только О(/) операций, заслуживает упоминания факт, что существуют по крайней мере два способа отыскания sl/z без вычисления самих зУ’. Правда, эти два альтернативных способа тоже требуют О(/) операций. Все три подхода удовлетворительны. См. упр. 13.2.2 и 13.2.3.
Важным вопросом является стоимость вычисления значений Ритца 0;. При использовании QL-алгоритма без операции извлечения квадратного корня с разумными сдвигами все 0,- могут быть вычислены примерно за 9/2 умножений. С другой стороны, комбинируя QL-алгоритм с делением спектра, можно вычислить р экстремальных собственных чисел в каждом конце Спектра приблизительно за Збр/ умножений. При этом мы отводим 1.8 QL- итераций на одно собственное число и 10/ умножений на одну QL-итерацию. Число Збр/ настолько мало, что составляет лишь незначительную долю стоимости одного шага процесса Ланцоша, когда ]<^п. - .
Предложенные апостериорные оценки ошибок помогают снизить число шагов метода Ланцоша, останавливая процесс в тот момент, когда достигается требуемая точность.
Упражнения к параграфу 13.2
Показать, почему величина а =Sp/< является оценкой нормы матрицы невязки AY —Y0, где Y = (yz, yz+b yz+2), a 0 = diag(8z, 8Z+1, 8z+2).
Используя результаты § 7.9 и предполагая, что старые значения 8),-1>, i=l, . . ., /—1 сохранены вместе с в^’, вычислить величины sp.
Есть возможность видоизменить внутренний цикл стандартного QL-алгоритма так, что вектор ezS модифицируется каждым вращением. Сколько действий (ops) добавится во внутреннем цикле?
Влияние арифметики с конечной точностью
Предыдущий параграф преподнес в очень розовом цвете картину алгоритма Ланцоша. Однако еще Ланцошу в 1950 г. было известно, что вычисленные величины могут сильно отклоняться от их теоретических эквивалентов. Второе основное уравнение Q*Qy=I, полностью нарушается округлениями, и об алгоритме сложилось мнение (отчасти несправедливое), как о неустойчивом, Практически интересным алгоритмом его сделало то, что, не-
смотря на сильные отклонения от точной модели, он тем не менее дает полностью правильные аппроксимации Релея — Ритца. Его недостаток заключается в том, что он не останавливается вовремя и продолжает вычислять много избыточных копий каждой пары Ритца.
Чтобы проанализировать процесс и не погрязнуть в не относящихся к делу деталях, мы сделаем важное стандартное изменение обозначений. Начиная с этого момента через Qy и Ту мы будем обозначать величины, хранящиеся в вычислительной машине под этими именами, и не будем в будущем обращать внимания на их платонические образы. Более того, вектор yV^^QysV’) будет назван «вектором Ритца» даже тогда, когда матрица Qy далека от ортонормальной. Кавычки напомнят нам, что это не истинные векторы Ритца из span Qy.
Сейчас мы опишем любопытные стороны практического поведения алгоритма Ланцоша и, прежде чем заняться их анализом, приведем один пример.
На первых нескольких шагах (может быть, трех, а может быть, тридцати) получаемые результаты неотличимы от точного процесса. Затем новый вычислительный вектор Ланцоша q перестает быть в пределах рабочей точности ортогональным предшествующим векторам, а несколькими шагами позже Qy даже не имеет полного ранга, т. е. векторы Ланцоша становятся линейно зависимыми. Это похоже на бедствие, поскольку нет никакой гарантии, что Ту продолжает иметь отношение к А. Тем не менее происходят неожиданные вещи: в то время как ортогональность между векторами (qz, (=1, ..., /} исчезает, пары Ритца (8)'’, у!п) для некоторых значений I сходятся к собственным парам А. •
При продолжении процесса он как бы «забывает», что уже нашел эту собственную пару и начинает вычислять ее опять. Таким образом, вскоре будет уже две собственные пары, точно аппроксимирующие соответствующую простую собственную пару А, и, следовательно, два собственных вектора должны быть почти кратными один другому, а это может случиться только тогда, когда Qy имеет почти линейно зависимые столбцы.
Точный алгоритм Ланцоша должен остановиться (Ру = О) для некоторого j^n, но на практике процесс продолжается бесконечно, вычисляя все большее число копий внешних собственных векторов для каждой новой обнаруженной внутренней пары.
Потеря ортогональности чувствуется во всех частях алгоритма. Например, соотношение |jAyz—yAjf = Pyz больше не выполняется. Вместо 'этого мы имеем
Д-Х^Л^ЦАу'-уДЦ/Цу/К^/z+iFzID/M (13.3.1)
где Fy учитывает ошибки округления, имеет малые элементы и совершенно безвредна. Более детально об этом говорится при обсуждении (13.4.1). Напомним, что мы не хотим вычислять у, на каждом шаге и должны считаться с реальной возможностью малости вектора у,, так как единственная имеющаяся в нашем распоряжении оценка имеет вид
ftYzli^M [Q7Q/].(13.3.2)
Мы вернемся к этому вопросу несколько позже. Конечно, чтобы (8(-, у() обладала хорошими аппроксимирующими свойствами, нам необходима малость величин $j4. За исключением редких случаев, величина ^ не будет очень малой.
Такое необычное поведение алгоритма, конечно, представляет собой нежелательное свойство, но все же это не бедствие.
Был предложен следующий пример [Scott, 1978], чтобы получить изолированное доминирующее собственное число с целью вызвать быструю сходимость и, следовательно, появление дубликатов пар Ритца. Наилучшей мерой линейной независимости qz является величина ог (Qy) = Хх [Q;-Qy]— наименьшее сингулярное число матрицы Qy.
Пример 13.3.1.
A = diag(0, lx 10~4, 2х10"4, ЗхЮ~4, 4х10“4, 1.0),q1 = (l, 1, 1, 1, 1, 1)*/Кб,
единица округления (или элементарная ошибка округления) = 10-7.
Таблица 13.3.1
Поведение процесса Ланцоша в машинном эксперименте
j
«уPjOl(Qy)
1
2
3
4
5
0.16683330.37260351.0
0.83336650.00034640.9999999
0.00020040.00030940.9997097
0.14642970.35329440.0760186
0.99983440.00010980.0000004
Упражнение к параграфу 13.3
Показать, что вектор y(-(=QyS;) удовлетворяет неравенству (13.3.2).
Таблица 13.3.2
Избранные значения Ритца и нормы невязок
j
^ ер
ЦАУ/ - у.ел
3
ер = 1.000000
0.48 X 10"7
5
»/5> = 0.9999996
0.41 X 10"4 «
ОР = 1.0000001
0.68 X 10 5 «
Теорема Пэжа
Исследование элементов матрицы Q*Qy в различных ситуациях наводит на мысль, что потеря ортогональности между столбцами Qy — одновременно широко распространенное и лишенное характерных черт явление. Такие наблюдения побудили к исключительно дорогостоящему средству — явной ортогонализации каждого нового вектора qy+1 ко всем предыдущим векторам q. Однако при исследовании «векторов Ритца» уz (=гQ-s^'1), i = 1, . . . ..., /, причина потери ортогональности становится яснее.
Приводимая ниже теорема, включающая равенства (13.4.6) и (13.4.7), принадлежит Пэжу, но эта часть его диссертации никогда не была опубликована. Для изложения его результатов нужна определенная дополнительная подготовка.
Завершением /-го шага алгоритма Ланцоша является построение Qy —матрицы векторов Ланцоша, Ту —трехдиагональной матрицы, задающей трехчленную рекурсию, и вектора невязки ry. = (AQy.—Q;.Ty) бу. Информация об алгоритме может быть сконцентрирована в двух фундаментальных соотношениях, которые регулируют вычисленные величины. Они имеют вид
ЛХЛЛХ/ nXi jXj ПХ1 IX/ «X/
A Qy-Qy Ty=ry e’ + Fy (13.4.1) И
Iy-Q*Qy = C;+Ay + Cy (13.4.2) где (/ х //-матрица Су верхняя строго треугольная и Ау диагональная. F, С и А учитывают влияние ошибок округления, но на этой стадии нет необходимости детально рассматривать, что они из себя представляют. Оказывается, что ||Fy|| остается очень малой (порядка е) по отношению к ||А|( для всех j, но |Су|| возрастает до единицы, как только появляются новые дубликаты пар Ритца.
«Векторы Ритца» yz = Qys//) строятся по нормированным собственным векторам si матрицы Ту: ТySp = з^б/’, i=l, ..., /.
Влияние большей части ошибок округления незначительно и при анализе алгоритма мы будем игнорировать те из них, которые несущественны. Мы дадим строгий анализ модели вычислений, которая учитывает все важные особенности. Первое предположение заключается в том, что матрицы Sy и 0у являются точными, а именно
Ty = Sy0yS;, 5; = 5Д 0y = diag(019у).(13.4.3)
Второе предположение заключается в требовании сохранения локальной ортогональности, т. е.
q;+1q; = O, i=l/ —1 и r-qy = O, (13.4.4)
или, эквивалентно, с помощью (13.4.2) (С,),,/+1 = 0. Основанием для (13.4.4) является такой выбор а,, чтобы удовлетворить этому условию с рабочей точностью. Если бы не последующее приложение, мы предполагали бы также, что в (13.4.2) Ду = О, т. е. || q, || = 1 для всех i.
Важно помнить, что /—число шагов метода Ланцоша — может возрастать без ограничения. Только в точной арифметике j^n. Теперь мы готовы установить для этой модели следующий интересный результат Пэжа.
Теорема. Предположим, что простой алгоритм Ланцоша удовлетворяет условиям (13.4.1) — (13.4.4). Пусть KjUNj— соответственно строго верхние треугольные части кососимметричных матриц
f*Q/-q;f и ДуТу-ТуДу,(13.4.5)
и пусть Gy = S* (Ky + Ny) Sy. Тогда «векторы Ритца» y,(=QyS;) i = l, ..., /, удовлетворяют соотношениям
У^+^Шр(13.4.6)
и
(
S / ь \[ S /7 \
где Gj^^) и ^п = ^^п.
Доказательство. Опустим верхний индекс / у всех величин, которые от него зависят, и умножим (13.4.1) на матрицу Q* слева. В результате получим
Q*AQ—Q*QT = Q*re*+Q*F.(13.4.8)
Чтобы исключить А, вычтем из (13.4.8) транспонированное равенство и применим к результату условия (13.4.2) и (13.4.4).
|Х
X X X • • • X X О I О
Рис. 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*).(13.4.9)
Это важное соотношение проиллюстрировано на рис. 13.4.1.
Поскольку матрица АТ—ТА кососимметрична, то она должна иметь вид N — N* и, аналогично, F*Q—QF* = K — К*. Согласно (13.4.4), СТ — ТС является строго верхней треугольной, как и матрица (Q*r)e* ранга единица. Строго верхняя треугольная часть (13.4.9) и есть главная часть доказательства
(Q*r)e* = CT — TC+N + K.(13.4.10)
Теперь выражение s? (13.4.10) s, с последовательным применением равенства r = qy+Ip/ и соотношений (13.4.10) и (13.4.3) дает
У;Ч7+1Рл = (^*)г(еЧ) =
= s* (СТ—ТС) s,. + s* (N + К) s,. =
= s;Cs,6,— 6,.s*Cs,. + V// = T„ (13.4.11) что приводит нас к ревенству (13.4.6).
Чтобы получить (13.4.7), рассмотрим для i^k выражение s* (13.4.8) sA:
У? Ay*—у(*уД = yz*qy+1pA + sJQ’Fs*.(13.4.12)
Для исключения из него величины у< Ay* сформируем выражение S; (13.4.8) S*—s* (13.4.8) sz, а затем для устранения у*q/+1 используем (13.4,6). В результате получим (13.4.7).
Выводы теоремы более всего полезны тогда, когда fGy| очень мала (порядка е||А|), и нам не известен случай, когда 6biflGz||> > е([ АЦ (е—единица округления). Для простого алгоритма Лан- цоша ||q,-||=l, и поэтому.
IIQJlMQ/QyK™ (Q’Qy) = /,(13.4.13)
но эта оценка груба, особенно если i > п. Хорошую вычислимую оценку для HQII дает величина Vm, где т—размер наибольшей совокупности дубликатов «векторов Ритца» (см. упр. 13.4.1). В любом случае, когда в (13.4.2) Д- = 0, то в (13.4.5) N-= 0 и (см. упр. 13.4.3)
1|С/ Н К/ К || К/ ||, = (1//2) II Ку- к; II, < /2II Qj. II || F, В,.
(13.4.14)
Поэтому ЦРуЦ, определяет, будет ли мала величина ]|Gy|. Напомним, что || B||F = Кслед (В*В) для любой матрицы В. Тщательный анализ ошибок, проделанный Пэжем [1976], показывает, что
||F,.||F^(7 + a)K7e||A||,(13.4.15)
где а объясняется ошибками, вносимыми программой пользователя при вычислении вектора Ах. Однако нам не известно исключение из более сильного утверждения:
||F,.||^e[|A||.(13.4.16)
Еще одно отношение в котором практический алгоритм Лан- цоша отклоняется от точного, связано с тем, что «векторы Ритца» при возрастании / не все обладают единичной длиной. Сложный анализ Пэжа, основанный на использовании (13.4.6) и некоторых результатов гл. 7, показывает, что только присутствие других «значений Ритца», которые являются ' дополнительными копиями 6Z, позволяет величинам JyJ опускаться до значений порядка Vе. Таким образом, можно ожидать появления дубликатов пар Ритца с векторами у самой различной длины.
Упражнения к параграфу 13.4
Предположим, что для каждого / любые два «вектора Ритца» у,- н у6 либо ортогональны, либо параллельны. Показать, что |Q||< У"т, где т— количество элементов наибольшей совокупности очень близких значений Ритца.
Вывести трехчленную рекурсию для величин, мажорирующих числа [|Qiqi + il|. а именно если ЦQfq/+1II<^/+1 для i = l, ..., /—1, то IIQ * q у +, II < 5/ +, {IIT , - ay II §y + Py _ &j _! + (1 + II Qy II) II Fy ||
Доказать, что || FG||f<(| F||-||G||f всякий раз, когда определено FG. Затем вывести все соотношения в (13.4.14). Здесь может оказаться полезной теорема монотонности из гл. 10.
Альтернативная формула для Pj
Имеется вариант алгоритма Ланцоша, который приводит,не к матрице Ту, а к несимметричной трехдиагональной матрице Jy. Эта версия широко использовалась, но настоящий параграф показывает, почему она хуже изложенной выше простой реализации. Изучение вопроса принадлежит Пэжу. Анализ Скотта [Scott, 1978] является изящным применением теоремы Пэжа и даст читателю возможность освоиться с формулами (13.4.6) и (13.4.7).
Алгоритм. Выберем гй так, чтобы Po = )jr((^O. Тогда для / = 1, 2, ... повторяется следующее:
Чу — Vj.^-v
Uy -<— Aqy.'
T]y-i Ч/-1 Uy. (Чо = 0).
«y^-q/Uy.
Гу —Uy — Чу«у — Чу-^у-v.
₽;—||гу||.
Вычисляются те 8,-, у(-, р^-, которые нужны.
Если точность удовлетворительна, то процесс останавливается.
Смысл этой версии состоит в том, что здесь достигается локальная ортогональность, т. е. равенства Чг+Л,-! = 0 и q^q,-= 0 выполняются с рабочей точностью.
Отрицательное значение qy_, недопустимо, но слишком большое различие положительных величин qz и р] (в точной арифметике они равны) будет увеличивать влияние ошибок округления.
Мы предположим, что qz > 0 для всех i и i-ой строкой Jy является вектор (... P^-i, a,-, qz, ...).
Лемма. Существует такая матрица tt^dvag^, ..., Шу_п 1), что
Q/-1J/Q/ = Ty и 0, = ^Ж 1 = 1, п — 1. (13.5.1)
Доказательство составляет предмет упражнения (13.5.1).
Уравнение, регулирующее алгоритм, может теперь быть переписано в виде
AQуЯу = Q/2у (Яу1J уЯу) —f— Гу еу Яу -}- FуЯу =
= СуЯуТу + Гуе; + РуЯу,(13.5.2)
поскольку (Оу=1.
Как и прежде, мы хотели бы применить теорему Пэжа (13.4.5), но теперь длины столбцов Qy^y не равны единице, а являются величинами го,, ... , o)y_i, 1 т. е. в (13.4.2) Ау = Я^. Более того, верхняя часть Ny матрицы АуТу—ТуАу является нулевой, за исключением того, что для / = 1, ... , /—1
пи z+i = P/(®z*i—<»<) =
H,<i(MM) = (cm. УПР- 13.5.1)
=— тр)^ (исключая ®)-
Таким образом, чем больше асимметрия Jy, тем больше величина О Kyj + ]jNy|j), а вместе с тем числители у,-у в (13.4.6) и (13.4.7). Подобные трудности не досаждают в симметричном варианте.
Упражнение к параграфу 13.5
Доказать лемму (13.5.1) и найти формулы для величин <о,-, 1 = 1, . .. . /-1.
Сходимость вызывает потерю ортогональности
Формулы Пзжа (13.4.6) и (13.4.7) дают достаточные основания для сделанного ранее утверждения (см. § 13.3) о поведении простого алгоритма Ланцоша в арифметике с конечной точностью. Появление отношения sjllsjk вместе с обратным ему в (13.4.7) проясняет всю ситуацию. Вопреки оценкам (13.4.14) и (13.4.15) для наихудшего случая есть, все основания полагать, что элементы кососимметричной матрицы Gy = S* (Ку + Ny) Sy, которая появляется в этих оценках, удовлетворяют неравенству
^КеЦАЦ(13.6.1)
для всех i, k, j, и поэтому |yiqy+1| полноатью регулируются поведением величин Ру,-(= PyS/z).
Мы оставляем читателю как важное упражнение вывод следующих заключений;
Ортогональность между векторами q/f i = l, ...,/, хорошо сохраняется до тех пор, пока один из векторов Ритца не начинает сходиться (РУ7==КМА|).
Каждый новый вектор Ланцоша q/+1 и каждый плохой «вектор Ритца» (Р/; > J А||//) имеет значительную по величине компоненту в направлении каждого хорошего «вектора Ритца» (РУ,.<]^(|А||).
Появление почти идентичных копий для тех пар Ритца, которые сошлись ранее, совершенно не противоречит (13.4.7).
Рассмотрим, например, шаг, на котором третье значение Ритца 6 первый раз присоединяется к группе, образуемой значениями 9 и 6, т. е. когда четко можно распознать появление этого нового члена группы. Обнаруживается, что 0 и 6 отклоняются от общего собственного числа X из-за вторжения 9. То же самое явление имеет место с векторами Ритца у и у. На последующих шагах 9, 8 и 9 опять сходятся к X, пока не «сформируется» четвертая копия X и не вторгнется в эту группу, расталкивая другие копии таким же образом, как ранее 9. И так будет продолжаться бесконечно.
Теорема Пэжа ничего не говорит относительно частоты, с которой могут появляться подобные копии собственных чисел. Длина цикла для каждого индивидуального собственного вектора оказывается довольно постоянной и сильно зависит от отделенностей в спектре по отношению к размаху всего спектра. Этот вопрос, кажется, не был исследован. -
Последующие таблицы иллюстрируют (13.4.6) и (13.4.7) в контексте рассмотренного выше примера (13.3.1).
Пример 13.6.1
A = diag(0,lx 10"*, 2x10-*, Зх10~\ 4Х10"4, 1.0),
<?, = (!, 1, 1, 1, 1, l)/)/^
При / = 3 ^ = 0.0003094 и
Таблица 13.6.1
i
НуЛ
Рл
|У,*Ч4|
1
0.587 X 10~4»
0.9999745
0.2225 х 10-3
0.4297 х 10'3
2
0.3415 х 10"3
1.000025
0.2228 х 10'3
0.4297 х 10-3
3
1.000000
1.000001
0.48 х 10~7
0.923981
В каждой строке произведение элементов из последних двух столбцов приблизительно равно 10“7 = е| AJ, как и требуется в (13.4.6). Кроме того, степень взаимной ортогональности между хорошими и плохими векторами Ритца оказывается слабой, что соответствует (13.4.7).
ИТ,
1.0
0.15 X 10“6
-0.2 X 10-5
1.0
0.2 X 10-3
Симметрично
1.0
При / = 5 р5 = 0.0001098 и
Таблица 13.6.2
i6,
НуЛP,i|у*Чб1
10.157 х 10“
20.2001 X 10“’
30.3845 х 10“’
40.9999996
51.000000
1.0004900.486 x10““0.33997х10“2
1.0004770.778 X 10““0.21557X10“2
0.9995090.486 X10““0.35172х10~2
0.750430.414 X 10"“0.70092X10'2
1.1486720.681 ХЮ"50.70535X10"2
Y$YS
1.0
-0.89 х 10“’
0.10 х 10"5
-0.40 Х'Ю'6
-0.35 х 10“*'
1.0
0.85 х 10“’
0.54 X 10'6
0.60 X 10“*
1.0
-0.42 х 10“*
-0.35 х 10“*
0.83
0.52 х Ю"'
иимметрично
1.3
В результате проделанного анализа и экспериментального опыта Пэж пришел к заключению, "то простой процесс Ланцоша может продолжаться настолько долго, насколько позволяет память. В конце процесса вычисляются все нужные пары Ритца, а дублирующие копии просто отбрасываются. Эта схема с успехом используется, но в остальных параграфах главы мы рассмотрим видоизмененный алгоритм Ланцоша в стиле Пэжа, который более эффективен и, что важнее, им можно пользоваться автоматически без какой-либо дополнительной экспертизы.
Сохранение ортогональности
Как мы видели, векторы Ланцоша теряют взаимную ортогональность при возрастании числа шагов. Первоначальное средство для борьбы с этим явлением было предложено самим Лан- цошем и требовало явной ортогонализации q,+1 ко всем предыдущим q. В этом случае пятый этап алгоритма из § 13.1 дополняется следующей процедурой:
5у - г/*-г/—qv(q^/) v=/, /—i,.... 2, i.
(Заметим, что гу ортогонализуется также и к qy и qy_i-) Таким образом, нужно хранить все векторы q и арифметическая стоимость каждого шага резко возрастает (см. упр. 13.7.1). Этот вариант процесса называется алгоритмом Ланцоша с переортогонализацией.
Представляет некоторый (главным образом академический) интерес замечание, что переортогонализация не может гарантировать получение q, которые были бы ортогональны с рабочей точностью. Причина указана в § 6.9, и, как там предлагалось, возможным выходом является проверка уменьшения нормы каждого вектора и повторение ортогонализации всякий раз, когда это становится необходимым.
Нужно отметить еще, что цена переортогонализации может быть уменьшена наполовину, если матрица Q хранится в факторизованном виде НТН8 ... НуЕу, где Еу = (е„ е ву), а каждая Ну является матрицей отражения Н (wf), как это изложено в § 6.2. При этом необходимо хранить только векторы w,, к тому же первые I— 1 компонент w, равны нулю. Более детально вопрос рассмотрен в работе [Golub, Underwood, Wilkinson, 1972]. Несмотря на указанное улучшение, остается все же сильное желание избежать затрат, связанных с переортогонализацией, как по памяти, так и по времени вычислений.
Результат Пэжа (13.4.6) показывает, что в простом методе Ланцоша q/+1 больше всего отклоняется в сторону тех векторов уР*, которые являются достаточно хорошими аппроксимациями собственных векторов, точнее
#Х*1 = Ж1»(^ЛЛ)
где, согласно (13.6.1), |v'P|^e||A| для всех I, /, к и, согласно (13.2.1), Py( = PySy(==[| Аур*—yPWi. Более того, величины наклонов могут контролироваться без вычисления уР1, поскольку каждое 6/; может быть вычислено приблизительно за 4/ ops, если
Формула (13.7.1) подсказывает более гибкий способ поддержки хорошего уровня ортогональности, чем полная переортогонализа- ция, а именно q/+1 ортогонализуется к уР только тогда, когда Р/Ч становится малым. Чтобы сделать это, уР должен быть вычислен и сохранен, и это само по себе составляет уже по крайней мере половину стоимости полной переортогонализации на одном шаге. Разница здесь в том, что новую ортогонализацию не надо осуществлять очень часто и постоянно возрастающую матрицу Qy уже не надо иметь в распоряжении на каждом шаге.
Чтобы увидеть, есть ли смысл в этой идее, мы рассмотрим два примера, в каждом из которых вектор q ортогонализован к у2 для получения вектора
q = <1 — у2Уг) q/||(i—у2Уг)чР
Вообще говоря, ортогональность векторов qf и уР*, г=1, ..., /, измеряется величиной
Ху = р—Q;Qz// = jjl—Y/Yyli-(13.7.2)
В примерах через х3 обозначается эта величина перед ортогонализацией, а через х3— после.
Пример 13.7.1
ТогдаТогдаy*q = -1/V6,У*У2 = 1/V2, y?q = О,х2 = 1/V2 , х3 = 1/V2 ,Х} > 1/V2.y*q = -1/V6,У*У2 = 1/V2, y?q = О,х2 = 1/V2 , х3 = 1/V2 ,Х} > 1/V2.
Тогда
Тогда
y*q = -1/V6,У*У2 = 1/V2, y?q = О,
х2 = 1/V2 , х3 = 1/V2 ,Х} > 1/V2.
y*q = -1/V6,У*У2 = 1/V2, y?q = О,
х2 = 1/V2 , х3 = 1/V2 ,Х} > 1/V2.
Нет, никакого выигрыша.
Пример 13.7.2ДустьПример 13.7.2ДустьУ1 =У1 =1ОО1ООУ2 =У2 =10~41О10~41О4 =4 =О10-21О10-21q =q =-Ю"6О1-Ю"6О1
Пример 13.7.2Дусть
Пример 13.7.2Дусть
У1 =
У1 =
1ОО
1ОО
У2 =
У2 =
10~41О
10~41О
4 =
4 =
О10-21
О10-21
q =
q =
-Ю"6О1
-Ю"6О1
Тогда
yfq = -10-*, У*У2 = IO-4, y2*q = Ю"10,*i = IO"4, x3 = IO-2, x3 = IO-4.
Предыдущий уровень ортогональности был сохранен.
Пример 13.7.1 пеказывает, что ортогонализация (сама по себе) может и не улучшить положения. Пример 13.7.2 более реалистичен и показывает, что прием полезен всякий раз, когда |y*qy+il значительно превосходит величину Ху.
Преимущества, которые дает сохранение сильной линейной независимости векторов Ланцоша, т. е. выполнение неравенства liI-Q;-Qy|K0.01
Лишние пары Ритца не формируются.
Число шагов в методе Ланцоша становится минимальным и в любом случае не может превзойти п
Кратные собственные числа могут быть найдены одно за другим.
Метод может быть использован как «черный ящик» и не требует деликатных параметров, задаваемых пользователем, сверх требуемой точности и размера оперативной памяти.
Как плату за получаемые выгоды программа должна вычислять и хранить любой хороший «вектор Ритца», чтобы использовать его для корректировки при построении новых q независимо от того, представляет он интерес для пользователя или нет. Например, если нужны три (алгебраически) наименьших собственных числа, то алгоритм может оказаться вынужден вычислять три или больше «векторов Ритца», соответствующих большим значениям Ритца, только потому, что некоторые из них сходятся быстро. В настоящее время Скотт исследует возможность ортогонализации новых q только к тем «векторам Ритца», которые необходимы пользователю.
В дальнейшем мы будем иногда говорить, что q очищен от у, понимая под этим ортогонализацию вектора q к у.
Предположим, что допускается медленный рост величины Ху [определенной в (13.7.2)] по мере роста / от начального значения х^е, но никогда не превышается некоторое значение х. Если х==пе, то ортогонализацию необходимо осуществлять практически постоянно, и ее стоимость может превысить стоимость полной переортогонализации. В другом экстремальном случае х^ 1 получается процесс Ланцоша в стиле Пэжа. Таким образом, х позволяет нам интерполировать между двумя экстремальными версиями процесса Ланцоша.
Упражнение к параграфу 13.7
Помимо стоимости вычисления Aqy, число операций для простого алгоритма Лаицоша равно 5п и для полной переортогонализации (/"-[-3) /г при условии, что Q не хранится в факторизованном виде, как это описано в работе [Golub, Underwood, Wilkinson, 1972]. Проверить эти подсчеты.
*§ 13.8. Выборочная ортогонализация
Небольшая модификация алгоритма Ланцоша обеспечивает сохранность заданного уровня линейной независимости векторов qn q2, ... . Пусть Ху = |1—Q*Qy[|, и предположим, что требуется поддерживать Ху^х для некоторого х из интервала (пе, 0.01). Если e=10-u и п=104, то интервал все еще охватывает восемь порядков. Опыт и одновременно неформальный анализ показывает, что х должно быть выбрано величиной порядка j/e, чтобы пожинать плоды полной переортогонализации при сравнимой, а иногда и меньшей стоимости, чем у простого алгоритма.
Новая версия видоизменяет вектор Гу простого алгоритма из § 13.1 перед его нормализацией, и, чтобы отличать первоначальный вектор Гу от последующего Гу, нам нужны некоторые обозначения. Мы примем обозначение гу- для конечного и г) для начального вектора. Из (13.4.1) имеем
г,' = Aqy — qy«y—qy-^y-,—fp где fy—ошибки округлений в течение /-го шага и [|fyj остается меньше пеЦ А || для всех у. Нас интересует ^(Г/, g^, i = 1, .., j, или, эквивалентно, ^(г^, у!'1), i=l, ..., у. Напомним, что yP’ = QyS, и (6(, sf) является собственной парой Ту. До тех пор пока углы остаются близкими к л/2, отклоняться от простого алгоритма нет необходимости, и новый алгоритм полагает Гу = г). По теореме Пэжа (13.4.6)’
cos /_ (г), уН = tWnII уР’ II'»lv^|^e||Aj для всех i, j, P^=P/S/Z,0; = ЬИ1 и s/< = e/sf
В силу завершающих замечаний § 13.4 ограничение х^О.01 имеет следствием неравенство [ 1—ЦуР ||<^х для всех i, у", поэтому мы будем игнорировать множитель lyP’l в течение настоящего параграфа. Важным следствием этого является то, что значения углов можно будет контролировать, если следить за легко вычисляемыми величинами РД-.‘
С момента, когда векторы Ланцоша начинают терять ортогональность, внимание сосредотачивается на множестве индексов
-^ (у) = (I: | cos /_ (уР, г; )| > х/ГVЬ
Пусть lJ?(j)l обозначает число индексов в ^(j). Для большинства значений у оказывается, что |^(/)| = 0, но когда l^ (/)[ > 0, то вступает в действие идея очистки г) от соответствующего вектора у!'1, I € =2" (у), который мы назовем пороговым «вектором Ритца».
' Есть надежда, что результирующий вектор Гу будет удовлетворять неравенству [cosZ№. Гу)|<х// для всех значений k = \, ..., /. Затем Гу нормируется, становится вектором qy+1, и мы имеем
IIQ/ q/+i II = II Y*q/+i II < VI W?) - х
Множитель Vj является грубой верхней оценкой и не может быть достигнут. Более реалистические оценки даны в упр. 13.8.1.
Чтобы подвергнуть корректировке г), необходимо вычислить уР для i ^ ^ (/). Это требует вызова из вторичной памяти старых векторов q. Мы говорим, что модифицированный алгоритм делает паузу всякий раз, когда 12 (/) | > 0. С другой стороны, если х^уТ, то р^^вЦАЦДх/К/^К/е |А|, откуда следует, что 0р, i € 2 (/) будет часто приближать соответствующее число А с рабочей точностью. Для некоторых, но не всех приложений такие пороговые «векторы Ритца» уже будут приемлемы, и поэтому их стоит вычислить. Стоит напомнить, что когда х превышает «е, то векторы уР не являются ни ортонормальными (с рабочей точностью), ни подлинными векторами Ритца из span Qy. Последнее объясняет, почему мы сохраняем кавычки, когда говорим о них. Прежде чем продолжать описание алгоритма, следует сделать одно замечание о (подлинных) векторах Ритца.
При изменении / возникает весьма досадная проблема идентификации, поскольку множество векторов Ритца полностью изменяется на каждом шаге. Вообще говоря, нет никакого естественного соответствия между уР и у^+1) для заданного значения i. Это хорошо видно на примере 10.1.1 при / = 1 и / = 2. Однако, как только последовательность {ОР} для некоторых фиксированных I, таких, как ±1 или ±2, стабилизируется по нескольким ее первым значащим цифрам, т. е. как только сходимость становится очевидной, имеет полный смысл говорить об yz и его (векторном) значении на различных шагах.
Помня об этом замечании, проследим историю типичного «вектора Ритца» в модифицированном алгоритме. Скажем, на 25-м шаге бг26' выделяется из множества ничем не примечательных «значений Ритца» в середине спектра и стабилизируется, т. е. |0\“>—0<»6> ]/] 0р | < о. 1. Позднее, у)40> становится пороговым вектором, вследствие чего устраивается пауза для вычисления уР*’ и, возможно, некоторых других пороговых векторов. Далее всегда случается так, что у,41) является пороговым вектором и совпадает с уг40' до некоторого (зависящего от х) знака. Возникает искушение не расходовать паузу на вычисление у*-41) и воспользоваться у)401 вместо него для корректировки г^. К этому вопросу мы еще вернемся.
Решающим фактором, который сразу не очевиден, является то, что для / = 42,43, ..., i^^d). Влияние округлений иногда может, а иногда нет поместить I в 2? (/) опять, прежде чем вычисления будут закончены. В любом случае важно то, что для большинства значений / величина i^^d). Это отчасти объясняет почему модифицированный алгоритм настолько же экономичен, как и простой.
Давайте вернемся к у-40> и у'/41). Подлинные векторы Ритца ортонормальны. Кроме того, у-40> будет отклоняться больше всего от подлинного вектора Ритца из-за компонент по тем у^40), которые пересекли порог раньше и, следовательно, лучше сошлись, мы назовем их хорошими «векторами Ритца» на 40-м шаге. Поскольку векторы Ланцоша qn q2, ..., q, все равно должны быть вызваны из вторичной памяти, потребуется лишь небольшая дополнительная работа для перевычисления всех хороших векторов у^40’ (правильнее говоря, тех, которые еще не сошлись с рабочей точностью). Можно также ортонормировать хорошие векторы у^40) и получить новые векторы, которые мы обозначим у,..., у,- без верхних индексов. В этом случае у, используется для коррекции одновременно Г40 и г^. Теперь паузы при / = 41 не будет, если другие «векторы Ритца» не пересекают порог на этом шаге. Пары (6^, зД которые должны быть вычислены на каждом шаге, соответствуют только экстремальным (самым крайним) значениям 6, если они еще не являются хорошими. Перевычислять хорошие 6 на каждом шаге не нужно, даже если они не сошлись.
Заметим, что модификация не зависит от требуемой пользователем точности. Результаты могут быть получены с рабочей точностью, но можно ограничиться и грубыми аппроксимациями. Аномалий не возникает, если вектор Ритца оказывается приемлемым раньше, чем он становится хорошим, поскольку прилагательные «хороший» и «плохой» относятся к степени ортогональности, которая должна поддерживаться. Имеются сильные аргументы, чтобы положить х = У^ (см. следующий параграф), и поэтому пользователю не нужно принимать никаких дополнительных решений.
Предположим, что А имеет кратное собственное число ХР На шаге 30, скажем, у!801 становится одним из собственных векторов, соответствующих Xt в пределах рабочей точности. После тридцатого шага выборочная ортогонализация обеспечивает yjty = = О (в]| А Ц) для / > 30. Ошибки округление будут порождать ненулевые компоненты по другим собственным векторам для Хп которые ортогональны к у,. В свое время новый вектор Ритца, скажем, уд70* будет сходиться к одному из этих собственных векторов. Тогда уГгу = О (е|| А И) и у8,г/ = О(е||А||) для / > 70 и так до тех пор, пока все собственное пространство для X] не будет получено.
Раздел 13.8.1 описывает алгоритм с выборочной ортогонализацией более детально.
Диаграмма прохождения LANSOU
Алгоритм Ланцоша с выборочной ортогонализацией
Диаграмма отражает последнюю реализацию выборочной ортогонализации SO, но алгоритм еще развивается.
Параметры
1с—индекс последнего полностью сошедшегося вектора Ритца (P/z < jejjAD с левого конца спектра.
1g—индекс последнего хорошего вектора Ритца с левого конца спектра.
re, rg—аналогичные величины для правого конца спектра.
Начальные данные
lc = lg=rc=rg=\2\ — 0. 2— й (пустое). qo = o. г„ = о.
Цикл
Для /=1, 2, .., п повторяются этапы с первого по пятый.
Если |^| > 0, то очистить г' от пороговых векторов для получения Г И ПОЛОЖИТЬ[|г||.«
Если P/_j = O, то остановить процесс, иначе нормировать г для получения qy.
Осуществить шаг процесса Ланцоша для. получения а,, г', Р).
^ — Х^ТД для i = lg4-l, lg + 2 и i = — (rg-pl), —(rg-V-2y Вычислить соответствующие s^. Положить |^| = 0.
Если Р;z (= P/Sy z) < Vг li Тj || для любого из этих I, то устраивается пауза.
Пауза
Сформировать ^(=i:P,-z < Ке ||Ту||). Исправить значения lg- rg.
Вызвать Qy и вычислить yy’ = Q/Sz для 1 = 1с, ..., 1g и l = —rc, ...,—rg.
Необязательный этап: Выполнить модифицированный процесс Грама — Шмидта с новыми уУ, используя сначала наиболее точные. Исправить значения s/z.
Если векторы у достаточно приемлемы, то остановить процесс.
Для каждого хорошего yz вычислить yz*r', если эта величина слишком большая, то добавить / к 2*.
После паузы необходимо сохранять только пороговые векторы, векторы Ланцоша могут быть возвращены еГо внешнюю память.
1> От первых букв английского названия алгоритма “Lanczos, algorithm with selective ortogonalization”.— Прим, перев.
Пример 13.8.1
Пример выборочной ортогонализации п — Ь.
A = diag(O., 0.00025, 0.0005, 0.00075, 0.001, 10.).
?1 = 6-»/2(1., 1., 1., 1., 1., 1.)».
Единица округления = Ю-14. Заметим, что 0.75-10-6 записано как ЛЬЕ—06.
Было проделано шесть шагов простого алгоритма Ланцоша
q;qb
Л0Е+01 .75Е—14.75Е-14 Л0Е + 01-.ЗОЕ-10 .ЗЗЕ-10".25Е—06 .55Е—06 .97Е-02 .22Е—01 .41Е + 00 .9IE+00Л0Е+01 .75Е—14.75Е-14 Л0Е + 01-.ЗОЕ-10 .ЗЗЕ-10".25Е—06 .55Е—06 .97Е-02 .22Е—01 .41Е + 00 .9IE+00-.ЗОЕ-10 .25Е-06 .973-02 .41Е+00 .ЗЗЕ-10 .55Е-06 .223—01 .91Е+00
Л0Е+01 .75Е—14
.75Е-14 Л0Е + 01
-.ЗОЕ-10 .ЗЗЕ-10
".25Е—06 .55Е—06 .97Е-02 .22Е—01 .41Е + 00 .9IE+00
Л0Е+01 .75Е—14
.75Е-14 Л0Е + 01
-.ЗОЕ-10 .ЗЗЕ-10
".25Е—06 .55Е—06 .97Е-02 .22Е—01 .41Е + 00 .9IE+00
ДОЕ^-О! -.97Е-10 ,19Е —05 .79Е-04
-.97Е-10 .10Е+01 .ILS —09 .23Е-08 .19Е-05 ЛЕ—09 .10Е+01 -.12Е-12 .79Е-04 .23Е—08 —.12Е—12 .10Е+01
Алгоритмом Ланцоша с выборочной ортогонализацией пройдено шесть шагов. После четвертого шага возникла пауза, и был вычислен хороший вектор Ритца для собственного числа 10. Затем были осуществлены еще два шага с ортогонализацией к этому вектору.
QeQe Для выборочной ортогонализации
JOE —01 ,75Е—14 — .ЗОЕ—10 .25Е-06-ЛЕ-09 .92Е-10 .75Е-14 .10Е+01 .ЗЗЕ-10 .55Е-06 .51Е-10-.36Е-10
-.ЗОЕ-10 .ЗЗЕ-10 .10Е+01 -.97Е-10-.44Е-10-.37Е-07
' .25Е-06 .55Е-06 -.97Е-10 _ .10Е+01 .24Е-07 -.64Е-08
-ЛЕ-09 .51Е-10-.44Е-.10 .24Е-07 .10E+0I ЛОЕ-13 .92Е—10 —.36Е—10 —.37Е—07 —,64Е—08 Л0Е-13 .10Е+01
Заметим, что ведущий главный минор порядка 4 одинаков в обеих матрицах. Отметим также, что поддерживаемая схема выборочной ортогонализации сохранила приближенную ортогональность векторов q. .
Упражнения к параграфу 13.8
Предположим, что
у»)*г/=уа)* г/ и Ily^lH1- I ^’l < 81|А11 дм к^.^е(/).
Используя теорему Пэжа (13.4.6), вывести неравенство llQ;q/+l[|<(eiiAii/p/>/ х ^2V,/2- \»6^(/> J
Пусть qy+1Py=Aqy—qy«y—qy_1Py_1 для всех j.
Пусть Az = zX, и предположим, что z*q40 = z*q41 = 0. Показать, что в рамках точной арифметики z*qy = O при j > 41.
13.9. Анализ выборочной ортогонализации
В этом параграфе обсуждаются различные аспекты процедуры выборочной ортогонализации, изложенной в § 13.8.■
Простой алгоритм Ланцоша может продолжаться неопределенно долго в условиях конечной точности, в связи с чем Пэж заинтересовался вопросом сходимости при j—>оо некоторых „пар Ритца" (0V*, уР) к собственным парам матрицы А. Модифицированный алгоритм сохраняет сильную меру линейной независимости между qz, и поэтому процедура должна остановиться (Ру ^ пе || А ||) при / ^ п. Следовательно, наше внимание переключается от сходимости к вопросу влияния величины х на ход выполнения модифицированного алгоритма.
Ортонормализация хороших векторов Ритца
Эта дополнительная деталь не является необходимой частью выборочной ортогонализации, но она имеет свои достоинства, когда в наличии нет подпрограммы, обрабатывающей первичную информацию, выдаваемую процессом Ланцоша, и которая давала бы аккуратные апостериорные оценки ошибок в духе гл. 10.
Для простоты перенумеруем „векторы Ритца" так, чтобы у'/’, ..., у(У' были хорошими, предположим, что {i} = eS:’(/) и без потери общности что Ру1 ^р/2^.. .^PyZ. На протяжении паузы алгоритм вычисляет для /=1, 2, ..., i
мУ* QySz,
/-1
Yz У'/’— 2 Yv Wih>),
V=1
Yz^ УЛуЛ-
Какое значение Ритца должно соответствовать уг? Естественно, отношение Релея р(уг) было бы наилучшим, но мы не хотим вычислять Ауг. Ответ на это дает следующий результат.
Лемма..
Р (У,) ” 9^ + О (х81| А В), l^i<j. (13.9.1)
Доказательство предлагается как упр. 13.9.2. Заметим,, что наилучшей оценкой, которую мы можем дать для y^sy’y/’, является | yvj | ^ ху.-|-О (х)) (см. упр. 13.9.1). Если х8 < е, то мы ничего не теряем, используя 6*/* как значение Ритца для уг
В остающихся разделах параграфа мы не будем рассматривать использование векторов yz, /^t, а будем продолжать работать с ур для корректировки г].
Влияние корректировки на углы.
У всех «векторов Ритца» ук опустим верхний индекс L Нам необходимо сравнить ^(У*> г/) и /ДУь г/) Для всех к^ЗЦУ Отметим, что у*г/ = О(е|| А||) для 1^.3^ по построению. После коррекции
Г/= Г; ^ yv?v> ёу = Uv^jY Yv Ik
v 6 je o') и поэтому
у»гу=у;г;—^(у^уд^.(i з.9.2)
V
В точной арифметике обе величины £v и y^yv обращаются в нуль, но на практике требуется лишь, чтобы их произведение было очень мало, т. е. порядка е||А||. Это предотвращает увеличение скалярного произведения у^г) при корректировке.
Очевидно, что ^. не является малой величиной, поскольку
1^Ну0г;|/Ш1=
=|eos^(yv, г;.) ip; (р;^ и г; li)^Р^/К/ (по определению 3 (/)).
Другой множитель y*yv из (13.9.2) ограничен величиной х,, и эта граница является реалистичной для отдельных значении к. Некоторые же члены в сумме (13.9.2) будут больше, чем Pjxxy//. При этом иногда Ху = х. Чтобы сохранить ^(yft, г}) в рамках рабочей точности, необходимо, по-видимому, иметь
хг^8.(13.9.3)
С другой стороны, если |£v| может быть много больше, чем х||А||, то (13.9.3) не защитит систему от постепенного ускорения в процессе потери ортогональности. Если теорема Пэжа (13.4.6) продолжает оставаться справедливой, то внезапная сходимость одного из yz, указываемая неравенством Р7£<^х||А||, может привести к такому большому gv. Следующий результат [Scott, 1978] показывает, что это опасение беспочвенно.
Лемма. Если r; = Aqv— q7«y — qy_iPy-i — fy, то
I y;r; I < ЦАу,-уД II + Ху [(ау-е,)г+Р;М*^ + || fy |[. (13.9.4)
Доказательство предлагается как упр. 13.9.3.
При применении выборочной ортогонализации теряют силу прекрасные оценки ||Ауй—У А || ^ ₽7* + О (е IIА ||) Для плохих «векторов Ритца» ук. Следующий раздел показывает, что для хоро-
шего у, (z £ 2 (v) при некотором v ^ /) разумная оценка все еще имеет место. Более того, по определению 2 U)> P/z^8/ДАЦ/х- Таким образом, лемма (13.9.4) приводит к следующей интересной оценке:
|yzг;К8/7||АН/х + X (2IIАII) + О(8IIАII), 1^2 (/).
Правая сторона неравенства минимизируется (приближенно) выбором х=|/е, и, следовательно, ||г | никогда не может возрасти много больше величины У^е ||А||.
Регулирующая формула
Предположим, что первый раз «вектор Ритца» уг пересекает порог на шаге /, т. е. |cos2/(y1, r|) | > x/j//. Тогда после корректировки имеем
Гу = г;~у&, ^ = У.*г;-/11У1||-(13.9.5)
Основное соотношение, данное в (13.4.1), имеет вид
AQy-QyTy = r^;+Fy.(13.9.6)
и, когда г) исключено из (13.9.5) и (13.9.6), получаем
AQy-QyTy-^yA* = Г/е; +Fy.(13.9.7)
Имеет смысл перенести уа* в левую часть, поскольку y^spanQ и y*Vj = O (8||А||) по построению. Напомним, что yi = QySt и TyS = s161. Поэтому (13.9.7) переходит в равенство
AQy-Qy (Ту +^S1e;) =.Г/е; + Fy.(13.9.8)
Возмущение Ту матрицей ранга единица является компенсацией за то, что Ту не является проекцией А на spanQy.
Можно проверить (см. упр. 13.9.4), что собственными парами возмущенной матрицы являются
J "F ^is/i> 81/1 Q о о\
По теореме Пэжа ^ = (уjr,)/j| ух || = ^/(Sp || уг ||), где уи = О (е || А ||). Следовательно, ^А^рц/ЦуЛ), т. е. величина syi выпадает и нет нужды, модифицировать пару (6П уг\'
В то же время значительные изменения других собственных векторов sA не будут неожиданными. Формулы точно указывают, каким образом можно убрать компоненту по у,, которая вползает в другие «векторы Ритца» ук. Поскольку мы не заинтересованы в вычислении подлинных плохих векторов Ритца из spanQy, то, по-видимому, нет смысла в запоминании модификаций к sft. Это облегчает положение.
Чтобы увидеть общую картину более четко, мы перейдем к следующему шагу и предположим, что новых пороговых векторов не появляется. Алгоритм выбирает экономичный путь использования для коррекции Г/+1 вектора ур вместо ур+п. Хорошей оценкой для sTn^(yf’, #V+1>) является величина 8у+1-], т. е. элемент (/4-1, 1) матрицы S/+1, и мы надеемся, что’ з^’, < <sX’ = O(J/e}. В любом случае, близки у^’ и yV40 или нет, мы приходим к соотношению
, 0, ^Р, £р+, 0, ^Р, £р+= г^еД: + F,*,.= г^еД: + F,*,.
, 0, ^Р, £р+
, 0, ^Р, £р+
= г^еД: + F,*,.
= г^еД: + F,*,.
Вектор s'/* должен быть наделен дополнительной нулевой компонентой в нижней части для соответствия с матрицей Ту+Р На рисунке:
X X
□
X X
х□
△
X
X X □
д
□ - элементы 3^[Л
х х Q
А
Д - элементы 8^^+,\
X X
X
X
X
Нижние две компоненты возмущающих векторов являются величинами порядка О (е||Т/ + 1||).
Можно предположить, что аналогичная картина имеет место на шаге /4-2, но этого не происходит. После двух коррекций Г/+2 будет ортогонален к yi с рабочей точностью (благодаря трехчленной рекурсии):
У’Дг = yf(Aq/+2 - q/+2«,+2 - q;+I/?y+1 - fy+2),
= (АУ0Ч+2 - O(=) - 0(e) - O(£),
= (y^ + qy+i/?yi)*qy+2 + 0(e),
- 0(e).
В действительности yi не становится опять пороговым вектором, пока округления не приведут к возрастанию скрытой компоненты по у, в текущем векторе г до требуемого уровня. Новых корректировок не потребуется до тех пор, пока новый у,., скажем у2, не пересечет порог на шаге т. Поскольку Qm должна.быть вызвана для вычисления y(2m> (^Qms2m,)> стоимость алгоритма увеличится лишь незначительно, если одновременно вычислить y(im> и записать его на место yV’.
Вспомним теперь о возмущениях Ту+1, связанных с коррек-Вспомним теперь о возмущениях Ту+1, связанных с коррек-тировкой на шагах / числен из соотношениятировкой на шагах / числен из соотношенияи / +1. А именно, Уа”’и / +1. А именно, Уа”’должен быть вы-должен быть вы-ооц ). Цель этой кор-ц ). Цель этой кор-
Вспомним теперь о возмущениях Ту+1, связанных с коррек-
Вспомним теперь о возмущениях Ту+1, связанных с коррек-
тировкой на шагах / числен из соотношения
тировкой на шагах / числен из соотношения
и / +1. А именно, Уа”’
и / +1. А именно, Уа”’
должен быть вы-
должен быть вы-
о
о
ц ). Цель этой кор-
ц ). Цель этой кор-
ректировки—увеличить Следовательно, прощеректировки—увеличить Следовательно, прощестепень ортогональности уД* к уД*. и эффективнее игнорировать возмущения
ректировки—увеличить Следовательно, проще
ректировки—увеличить Следовательно, проще
и просто ортонормализовать Qms£m) к нормированному вектору
y’m>, ЧТОбы получить, когда это необходимо, новую ортонормальную пару. Одна из возможностей состоит в том, чтобы реализовать это немедленно, как предлагалось в начале этого параграфа. Другая возможность—ждать до самого конца процесса.
Строгий анализ процесса выборочной ортогонализации невозможно провести в этой книге. Детали, касающиеся реализации метода, обсуждены в работе [Parlett, Scott, 1979].
Упражнения к параграфу 13.9■
Доказать по индукции или другим способом, то
I Yvi I ^ I У ОУ У11 < Ху+О (Х/2).
Предположим, что у</>*гу=О. Дог да используя упр. 13.9.1 и ра- веиство
.■Р(Уг! А) = 6]+р(уг; А — 6</>),
доказать лемму (13.9.1).
Доказать лемму (13.9.4).
Проверить, что собственные векторы матрицы Ty + g^e* задаются выражениями (13.9.9).
Для каждой вычисленной пары Ритца (9, у) определить соотношением■
т/+1 = [ту 19—ay 1 +ту _гРу _!+Зз |[ А Щ/Р'
последовательность {ту}. Показать, что если | y*q/_, |<Ty_j и |y*qy|<T, |y*qy+i1<Ту + 1- Предположить, что Ау—у9=^р, где q--qz для некоторого К /-1 и ₽< Ke IIА||.■
Записать регулирующее уравнение для выборочной ортогонализации в виде
AQy—Qy (Ty-f-Jy) = rye] + Fy,
где Jу—строго верхняя треугольная, содержащая соответствующие кратные собственных векторов sz, используемых в вычислении пороговых «векторов Ритца», т. е. Jy = 2sz^*- Предположить, чтох=рге, I—Q/Qy=C/4-Cy с||Су||<х и ||Jy||<x||A||. Тогда, пренебрегая всеми величинами порядка О (е || А ||), промоделировать доказательство теоремы Пэжа и установить, что для f= 1, .... /
Показать, что для пороговых вектороа величины s ^JySy незначительны.
*§ 13.10. Ленточный (или блочный) алгоритм Ланцоша
Даже при использовании полной переортогонализации основной алгоритм Ланцоша не может обнаружить кратность вычисляемых собственных значений. Причины были рассмотрены нами в § 12.2. Это ограничение побудило к развитию блочной версии процесса Ланцоша, допускающей определение кратностей вплоть до размеров блоков.
Идея заключается в том, чтобы начинать процесс не с одного вектора qn а с некоторого множества взаимно ортонормальных векторов, которые выбираются как столбцы начальной (nxv)- матрицы QP Типичными значениями для v являются 2, 3 и 4. Обобщение алгоритма § 13.1 на эту новую ситуацию осуществляется непосредственно, и мы кратко его опишем. Матрице Qt соответствует большое подпространство Крылова
^/(QJ^spantQ,, AQ„ A^QJ.
(Для простоты предположим, что A^Q, имеет ранг v, но, как мы увидим, отсутствие такого предположения не приводит к трудностям, осложнилось бы»лишь описание процесса.) Процедура Релея — Ритца, примененная к g^ для / = 1, 2приводит к оптимальному ортонормальному базису Qy = (Qn Q2, ..., Qy), и проекцией А в этом базизе является блочная трехдиагональная матрица
Bf
Аг
где А,—матрицы vxv. Матрицы В( могут быть выбраны верхними треугольными. Из нашего предположения, что матрицы A-^Q, имеют полный ранг, следует (см. упр. 13.10.2) обратимость каждой матрицы Bz.
Блочный метод Ланцоша
Пусть задана (га xv)-матрица Ro. Тогда для /=1, 2, ... повторяется следующее:
Ry_i — Q/By-I, т. е. QR-разложение матрицы Ry_, (см. §6.7).
Ry —AQy-Q/_IB/*_1,Qo = O.
Ay-Q/Ry.
Ry^Ry-QyAy.
Вычисляются и проверяются пары Ритца. Если исходные требования удовлетворены, то процесс останавливается.
Этот алгоритм значительно более сложен, чем простой алгоритм Ланцоша. В частности, стоимость вычисления собственных пар матрицы Т, пропорциональна величине (v2)(v/). Как вознаграждение за это, матрица Т, может иметь собственные числа кратности вплоть до (и включая) величины v, и, таким образом, можно получать аппроксимации к кратным собственным числам А. На практике, однако, Q, теряют взаимную ортогональность, как только наступает сходимость. Существующие средства против этого описаны ранее: либо полная переортогонализация, либо выборочная ортогонализация.
Привлекательной и удачной альтернативой является продолжение процесса вплоть до тех пор, пока первые пары Ритца не сойдутся и не будет потеряна ортогональность. Тогда нужно начать с нового Ro, столбцы которого ортогональны ко всем известным собственным векторам, и продолжать итерировать таким образом, пока не будут найдены все требуемые собственные векторы. Значительная часть эффективности алгоритма Ланцоша теряется при этих возобновлениях, и выбор нового подходящего Ro с использованием информации о предыдущих прогонах процесса требует дополнительных усилий. Тем не менее метод оказался весьма полезным.
Вернемся теперь назад и, следуя работе [Ruhe, 1979], переформулируем блочный алгоритм Ланцоша к виду, который ставит его на ту же самую основу, что и простой алгоритм Ланцоша. В этом случае первоначальная А непосредственно приводится к матрице ленточного вида.
Ленточный алгоритм Ланцоша
Выберем ортогональные векторы qn . .., qv и положим r = qv, tv „=1. Затем для / = 1, 2, ... повторяется следующее:
4/+V-1 ^r/^/4V-l, j-V
i- 1
г-—Aq,— 2 Ч/^/(?й = О> если к < 1). 'i=i-\
V —r-qX,.V —r-qX,.Для i = j, ..., /4-v — 1
V —r-qX,.
V —r-qX,.
^/4-v, / *—II г Q. Если ti+v,i = 0, то v уменьшается.
Вычисляются и проверяются пары Ритца. Если исходные требования удовлетворены, то процесс останавливается.
В точной арифметике ленточный алгоритм идентичен блочному алгоритму. На практике он обладает тем достоинством, что не требует специальной подпрограммы QR-разложения.
В конце /-го шага вычисленные величины удовлетворяют соотношению
AQ/-Q/T/ = R/E; + Fy,(13.10.1)
где Е) = (0, ..., 0, lv) и Fz учитывает округления при выполнении шага /. Векторы Ритца имеют вид у,-= QyS,-, где TyS,- = sz6,.. Точность пар Ритца может быть оценена обычным способом: умножая (13.10.1) на s;, находим
II Ау,. - У,.9,. II=Ру,.=II By (e;S;) ||.(13.10.2)
Ленточная версия алгоритма несколько более сложна, чем алгоритм с одним вектором. Однако если известно, что многие из требуемых собственных чисел имеют кратность v, то ленточный алгоритм Ланцоша с выборочной ортогонализацией (SO) будет более эффективен, чем простой SO, поскольку все копии кратных собственных чисел будут найдены на одном и том же шаге, вместо последовательного вычисления их один за другим. В то же время если все собственные числа простые, то обычный SO предпочтительнее.
Упражнения к параграфу 13.10
Подсчитать количество операций одного шага ленточного алгоритма Ланцоша. Предполагать, что для вычисления 2v собственных чисел Т применяется ленточный QL-алгоритм (см. § 8.16) и тратится в среднем два QL-преобразоваиия на одно собственное число. Отыскание каждого s,- требует (v+ I)2 V/ ops.
Предположить, что /<+v ;> 0 для / = 1(/ —l)v. Почему Т
не имеет собственных чисел кратности, большей, чем v?
В точной арифметике Q/Qy = lv и AQy—§yTy=RyE/. Используя эти соотношения, доказать, что ^;-iRy=O, и если Ay'=Q*AQy, то Q/Ry = O.
Примечания и ссылки
Начало всему положила статья [Lanczos, 1950]. Различные связи с другими методами обсуждались в работах [Householder, 1964] и [Wilkinson, 1965]. Более глубокое понимание простого алгоритма Ланцоша связано с неопубликованной диссертацией [Paige, 1971]. Некоторые важные аспекты этих исследований были опубликованы [Paige, 1972, 1976], но доказательство приведенной в § 13.4 теоремы в доступной литературе отсутствует.
Использование нижней компоненты собственного вектора матрицы Ту для оценивания точности вектора Ритца было предложено Пэжем, а также в работе [Kahan, Parlett, 1976], но ие было воспринято большинством пользователей. Тем не менее инженеры, химики и физики с успехом применяли простой процесс Ланцоша в больших, трудных задачах, вставляя разнообразные способы контроля за прогрессом вычислений (см. работы [Whitehead,
1972], [Davidson, 1975] и [van Katz, van der Vorst, 1976]). Идея итеративного применения алгоритма, т. е. с периодическим возобновлением, восходит к некоторым ранним попыткам применить алгоритм Ланцоша на имевшихся в 1950 г. вычислительных машинах. Использование блоков было описано в [Golub, 1973], [Cullum, Donath, 1974] и [Underwood, 1975]. Выборочная ортогонализация была введена в работе [Parlett, Scott, 1979]. Сейчас Скотт советует применять SO только в нужном конце спектра. В настоящее время алгоритм Ланцоша начинают адаптировать к вычислению всего спектра большой матрицы А (см. работы [Cullum, Willoughby, 1979, 1980]).
ГЛАВА 14
Итерированиеподпространства
Введение
Итерирование подпространства — это прямое обобщение и степенного метода, и метода обратных итераций, которые были представлены в гл. 4. Если задана матрица А и подпространство сУ из Sn, то нетрудно определить новое подпространство
.A^^As: sC^}.
Повторяя этот процесс, образуем последовательность подпространств Крылова
др (<$=>) =д^, А2^, ...}.
Возникает вопрос: как эта последовательность может быть представлена, может ли она быть полезной?
Прежде чем обсуждать поставленные проблемы, мы должны ответить на одно очень разумное возражение. На практике if задается косвенно через ортонормированный базис, скажем S = (xn х2, х3). Тогда Хк^ будет натянуто HaAAS = (A*X!, ААх2, ААх3). Даже если эти столбцы нормированы, они просто являются &-ми членами в трех отдельных последовательностях, каждая из которых будет сходиться (медленно) к доминирующему собственному вектору z„, где Az„ = z„X„ и A,„ = J| АЦ. Почему же три медленно сходящиеся последовательности могут быть предпочтительнее одной?
Ответ состоит в том, что AAS—плохой базис для хорошего подпространства А6^. В § 14.4 мы увидим, что №&р сходится к span (z„, z„_!, ..., z„_p+1)—доминирующему инвариантному подпространству размерности р, и для достаточно больших к одно применение процедуры Релея—Ритца (см. гл. 11) приводит к хорошим аппроксимациям для индивидуальных собственных векторов.
Если системы вида (А—о)х = Ь легко поддаются решению либо путем факторизации матрицы А—а, либо итерациями, то метод итерирования подпространства с матрицей (А—о)-1 может быть эффективно использован для получения р ближайших к о собственных чисел вместе с соответствующими . им собственными
векторами. Это наиболее распространенный прием использования рассматриваемой методики.
Основной момент здесь в том, что наградой за одновременную работу с несколькими столбцами с их периодическим ортонормированием является улучшенный множитель в линейной сходимости последовательных подпространств. Когда требуется найти несколько очень близких собственных чисел, улучшение особенно ярко выражено и с лихвой компенсирует дополнительную работу, вызванную использованием подпространств большей размерности, чем это необходимо в действительности. В других ситуациях метод может оказаться очень медленным. Трудности заключаются в том, что распределение собственных чисел обычно неизвестно, и поэтому не ясно, насколько большим должно быть выбрано р— размерность подпространства of. Более того, сама эффективность метода сильно зависит от значения величины р. '
В течение 1960-х и 1970-х гг., когда алгоритм Ланцоша находился в забвении, были разработаны тонкие версии метода итерирования подпространств. Сейчас, когда существуют простые в использовании и надежные программы, реализующие алгоритм Ланцоша, уместно спросить, не следует ли совсем отказаться от метода итерирования подпространства. Нет, не следует, поскольку имеются несколько ситуаций, в которых его применение оправдано.
Если в наличии нет вторичной памяти, а в оперативной памяти может одновременно храниться только несколько «-мерных векторов, то не оказывается другого выхода, как отбрасывать предыдущие векторы 'последовательности Крылова и использовать итерирование подпространства.
Если относительное расстояние между искомыми собственными числами и остальными очень велико, как в обратных итерациях с хорошим сдвигом, то для сходимости потребуется только один-два степенных шага метода. Ситуация настолько хороша, что преимущества метода Ланцоша здесь совсем не требуются. Тем не менее при таких благоприятных обстоятельствах метод Ланцоша также работает очень хорошо.
Самым прекрасным примером того, насколько хорошо метод итерирования подпространства может быть приспособлен к автоматизации вычислений, является программа Рутисхаузера RITZIT, которая приведена как алгоритм II.9 Справочника. Программа достаточно сложна, чтобы быть эффективной для широкого круга применений. Тем не менее она понятна, и при ее создании были затрачены значительные усилия, чтобы сократить количество вопросов, по которым пользователь должен принимать самостоятельные решения. Следующие три раздела описывают некоторые аспекты этой разработки.
Реализации
Описание метода будет упрощено предположением, что А положительно определена и что требуется найти р доминирующих собственных пар (a,-, г?), 1 = п—р 4-1. Матрица не будет меняться и может не быть известна явно, поскольку ее роль в программе соответствует оператору, получающему в качестве аргумента векторы и и возвращающему (в качестве результата) векторы Au. Любые специальные особенности, которые позволяют экономить память или арифметические операции, могут быть учтены пользователем при написании подпрограммы умножения матрицы на вектор, которую Рутисхаузер называет ОР (от английского слова «operator» — оператор).'
Для каждой реализации v-й шаг преобразует ортонормальный базис Sv_! подпространства AV-1<5P в ортонормальный базис Sv подпространства Xv<y. Добавим, что у нас должен быть определенный критерий сходимости. (Прямоугольная матрица Sv не связана никаким образом с матрицей Sy, составленной из собственных векторов матрицы Ту, гл. 13.)
Реализация № 1:
Простое итерирование подпространства
Таблица 14.2.1
Операция
Стоимость
(а) Вычисление CV=ASV-1
р вызовов ОР.
(b) Проверка критерия сходимости для каждого столбца
рп ops.
(с) Ортонормирование С =( R (модифицированным процессом Грама — Шмидта из § 6.7)
р(р+1)л ops.
(d) Присваивание SV = QV
0.
Замечания к таблице 14.2.1. Столбцы Sv не являются оптимальными аппроксимациями из span Sv к искомым собственным векторам. Даже если ^ = span (z„, zn-1), то столбцы Sv будут сходиться при V—* оо только линейно к z„ и z„_,, несмотря на то что они уже находятся в #’ = spanS0 (см. упр. 14.2.1). Этот недостаток наводит на мысль, что процедура Релея—Ритца (см. § 11.3) должна часто применяться к подпространству Sv.
Реализация № 2:
Объединение итерирования подпространства и процедуры Релея—Ритца
Таблица 14.2.2.
Операция
Стоимость
(а) Вычисление CV = ASV_]
р вызовов ОР,
С записывается на
место S.
(b) Ортонормирование CV=QVRV моди-
p(p+l)n ops, Q за-
фнцированный процессом Грама —
писывается на место С.
Шмидта
(с) Формирование Hv = Qv(AQv)
р вызовов ОР,
уР(Р + 1)порздляН.
(d) Разложение Hv = Gv0vGv
xp3(x=F5) (х зав и-
сит от метода спект-
рального разложения).
е) Формирование SV = QVGV векторов
кргп ops,
Ритца для А^
S записывается иа
место Q.
Рис. 14.2.1 дает картину одного шага реализации № 2.
Замечания к таблице 14.2.2. Если Gv найдено как произведение ортонормальных матриц, скажем СУ = Р, ... Рй, то (е) может быть выполнено одновременно с (d) по следующему алгоритму: SV = QV и далее Sv *— SVPZ для i = l, ... к. Формировать явно матрицу Gv нет необходимости, а для хранения S, С и Q достаточно одного массива размерности пхр.
Sv является наилучшим базисом в А^, а ее столбцы сходятся к векторам г. Однако затраты при этрм значительные, в частности операция (с) требует р дополнительных вызовов подпрограммы ОР, что приводит к удвоению стоимости каждого шага в сравнении с реализацией № 1. К счастью, имеется разумный способ избежать этих дополнительных вызовов, основанный на факте, что ф (А) имеет те же самые собственные векторы, что и матрица А, для любой аналитической функции ф, значения которой для различных собственных чисел (как значениях аргумента) также различны.
Пока оставим функцию ф неопределенной и найдем аппроксимации Релея—Ритца к ф(А) из А^. Аналогично предыдущим
1. Вычисление1. ВычислениеА8,-1А8,-12. Ортонормализация2. Ортонормализация4. Разложение (рпектральное)4. Разложение (рпектральное)Ь. ФормированиеЬ. ФормированиеРис. 14.2.1.Рис. 14.2.1.8. Формирование . отношения Ре лея8. Формирование . отношения Ре леяAQ,AQ,Один шаг реализации № 2.Один шаг реализации № 2.
1. Вычисление
1. Вычисление
А
8,-1
А
8,-1
2. Ортонормализация
2. Ортонормализация
4. Разложение (рпектральное)
4. Разложение (рпектральное)
Ь. Формирование
Ь. Формирование
Рис. 14.2.1.
Рис. 14.2.1.
8. Формирование . отношения Ре лея
8. Формирование . отношения Ре лея
AQ,
AQ,
Один шаг реализации № 2.
Один шаг реализации № 2.
реализациям положим
CV = ASCV = ASV-1V-1(14.2.1)(14.2.1)
CV = AS
CV = AS
V-1
V-1
(14.2.1)
(14.2.1)
Найдем новый базис, например CVFV, с (рхр)-матрицей Fv, удовлетворяющей двум условиям. А именно, условию ортонормальности -
и условию
(CVFV)*(CVFV)=1„
(14.2.2)
(CvFv)*V(A)(CvFv) = A-2,
(14.2.3)
(что приводит к векторам Ритца), где Ду2—диагональная матрица. Правильным выбором является tp(£) = £-2, так что (14.2.3) преобразуется в соотношение
. (f:s;_1a)a-2(Asv_1fv)=f;fx = Av2. (U.2.4)
Отсюда следует, что FVAV будет ортонормальной матрицей и (13.2.2) принимает, согласно (14.2.4), следующий вид:
CtCv^F^A^AvtA^F;1)-
= (FVAV) Av(FvAv)*-(14.2.5)
Таким образом, Fv и Av определяются путем спектрального разложения матрицы C‘CV.
Реализация № 3:
Это реализация № 2, примененная кА"1
Таблица 14.2.3.
Операция
Стоимость
(а)
Вычисление CV = ASV-1
p вызовов OP,
С записывается иа место S.
(Ь)
Вычисление НУ=СУСУ
1/2р(Р+ D” ops
(с)
Спектральное разложение
>НУ = ВУДУВУ
хр? ops (х зависит от метода).
(d)
Формирование Sv =
CVBVAV1 (=CVFV)
кргп ops,
S зап исывается иа место С.
йу=c;cv=r;q;qvrv = r;rv.йу=c;cv=r;q;qvrv = r;rv.Замечания к таблице 14.2.3. Hv является проекцией А2 на spanSv_i (см. упр. 14.2.2). Новое Sv будет отличаться от Sv из предыдущей реализации. Кроме того, Sv не представлено в виде произведения ортонормальных матриц. Райнш нашел разумный способ устранить этот пробел [Reinsch, 1971] следующим образом. Пусть QR-разложение матрицы Cv имеет вид QVRV, как и в реализации № 2. Тогда из операции (Ь) реализации № 3 имеем
йу=c;cv=r;q;qvrv = r;rv.
йу=c;cv=r;q;qvrv = r;rv.
LR.-преобразование было предшественником QR-преобразования, и, будучи примененным к Йу, оно приводит к матрице Ну (более близкой к диагональной), определяемой перестановкой со-
множителей матрицы
н v = rvr; = rvhvRv* = rvbva=b;r;* =
-(R^A^A^A^R"1)
(здесь была использована операция (с) из реализации № 3). Можно проверить (см. упр. 14.2.3), что PV=RVBVA”1 является ортонормальной матрицей, составленной из собственных векторов Hv. Поэтому из операции (с) реализации № 3 имеем
Sv = СуВуА*1 = QVR VBVA~* = QVPV.
Реализация № 4 (по программе RITZIT)
Таблица 14.2.4.
Операция
Стоимость
(а) Вычисление CV = ASV_3
р вызовов ОР, С на место S.
(b) Разложение Cv = QvRv
Р (р —1) п ops, Q на место С.
(с) Формирование Hv = RvR* (d) Разложение Hv = PvA2P*
(е) Формирование Sv=QvPv
^зР® ops.
хр3 ops (x = 5). кргп ops, S на место Q.
Замечание: Операции (d) и (е) могут быть осуществлены совместно.
Упражнения к параграфу 14.2
Выбрать S0 = (s1, s2), где s/ = (z„ ± z„-^/J^ 2, и проверить, что Svet сходится линейно к г^. Чему равен множитель сходимости?
Показать, что Hv является проекцией А2 на spanS г Определение и обсуждение свойств проекций даны в § 1.4 и § 11.4.
Показать, что матрица Р =RVBVA“’ действительно ортогональна.
Почему, несмотря на совпадение собственных векторов матриц А и ф (А), векторы Ритца для А и ф (А) из Sv неодинаковы?
Указание'. Посмотреть разд. 11.4.
Составить таблицу, указывающую полное количество действий и объем памяти, требуемые для каждой из четырех реализаций.
§ 14.3. Усовершенствования .
Чебышевское ускорение
Методика, описанная в этом разделе применяется во многих областях численного анализа и, следовательно, заслуживает внимания, краткого упоминания здесь будет недостаточно.
Даже в связи с реализацией № 4 процедура Релея — Ритца остается дорогостоящей, и поэтому заманчиво сделать несколько шагов основного степенного метода между каждым применением процедуры Релея — Ритца. Для определенности предположим, что алгоритм вычисляет последовательность Sv+/- = ASV+/_U / = = 1, ..., т. Однако вместо этого не труднее вычислять последовательность SV+/ = (A—o/)Sv+;_1, j=l, ..., т, введя сдвиги Оу. Таким путем алгоритм мог бы вычислять последовательность
Sv + m = Ф (A) Sv
с любым нормированным полиномом степени т. Проблема состоит в том, чтобы выбрать полином ф. '
/9?Tv^^T^-,®-^,.^),/9?Tv^^T^-,®-^,.^),/ = 2, ..., т./ = 2, ..., т.После первого применения процедуры Релея — Ритца, программа обладает аппроксимациями 0_п . .., 0 к доминирующим собственным числам. 0_z являются собственными числами Hv, либо Hv, либо Hv. После недолгого размышления становится ясно, что полезным (это не означает, что оптимальным) является выбор такого ф, который на интервале [0П 0_р] настолько мал, насколько это возможно. Поскольку 0t неизвестно, то обычно используют интервалы [0, 0_р], если матрица А положительно полуопределе- на, и [—0_р, 0_р] в противном случае. Сформулированная задача в теории аппроксимации решается с помощью полиномов Чебышева, адаптированных к соответствующему интервалу. Эти полиномы кратко описаны в приложении В. Замечательным фактом является то, что здесь не нужно знать, а затем использовать нули соответствующих полиномов Чебышева Тт (6) в качестве сдвигов Оу, поскольку простая трехчленная рекурсия с постоянными коэффициентами позволяет вычислять Ту (А) через Ty_t(A) и Ту_г(А). Точнее говоря, если Тт адаптирован к интервалу [—0, 0], то
/9?
Tv^^T^-,®-^,.^),
/9?
Tv^^T^-,®-^,.^),
/ = 2, ..., т.
/ = 2, ..., т.
ASv+/_t Sv+/_2)ASv+/_t Sv+/_2)
ASv+/_t Sv+/_2)
ASv+/_t Sv+/_2)
Кроме того, сохранять Sv+j_2 нет необходимости при условии, что все столбцы Sv по очереди преобразуются непосредственно к столбцам Sv+m. Это означает, что дополнительно нужно хранить только
два и-мерных вектора, чтобы реализовать предлагаемое ускорение сходимости Sv.
Как выбрать /и? Важное преимущество рекурсии заключается в том, что она не зависит от т и, следовательно, значение т может быть выбрано в ходе вычислений. В § 14.4 будет показано, что множитель сходимости для доминирующего вектора Ритца равен d-^.j/Q,!. Если это отношение мало, например 0.1, то процесс практически не нуждаегся в ускорении, значение т может быть выбрано равным единице. Однако когда отношение близко к единице, скажем 0.98, то большие значения т дают заметную выгоду. Единственным ограничением, является требование, чтобы столбцы матриц Sv+m были полностью независимыми. В своей программе RITZIT Рутисхаузер требует, чтобы
II Sv+m || = Тт (9_ ,/9_,) ^ ch 8 < 1500.
Упомянутая программа, включающая в себя этот мощный механизм, исключительно проста и даже элегантна. Тем не менее, чтобы придерживаться правильной перспективы, мы должны напомнить, что алгоритм Ланцоша через т шагов дает больше, чем чебышевское ускорение, использующее неизвестный оптимальный интервал [ап а.^.,]. Это замечание основано на теории, рассмотренной в § 12.4.
Рандомизация
Имеется способ оградить алгоритм от неудачного выбора начального подпространства сУ, которое может оказаться почти ортогональным к одному из искомых собственных векторов. После каждой ортогонализации базисных векторов, один из них с самым внутренним отношением Релея 9_z заменяется случайным вектором, ортогональным к остальным векторам базиса. Это простейший способ сделать как можно менее вероятным пропуск любого искомого собственного вектора.
Очевидно следует ожидать, пока не стабилизируются отношения Релея, и Рутисхаузер требует выполнения трех аппроксимаций Релея — Ритца. Это пример одного из редких специальных параметров, имеющихся в программе. Альтернатива, состоящая в вычислении отношений Релея до стабилизации 9_т представляется излишне сложной.
Заметим, что этот механизм в известной мере препятствует чебышевскому ускорению, которое использует величину р-го отношения Релея 9_р для определения интервала, к которому адаптируется полином Чебышева. Нужна некоторая осторожность при точном задании концов интервала, чтобы обезопасить их от неправильных текущих значений 9_F. С деталями читатель может ознакомиться в алгоритме II.9 Справочника.
Критерий окончания процесса
Аппроксимации Релея—Ритца 6Z в отсутствии округлений монотонно приближаются к своим пределам az (t = ± 1, ±2, ...) при продолжении итерирования подпространства, Рутисхаузер в программе RITZIT принимает значения 6Z, как только они стабилизируются (достигаемая точность близка к рабочей). Проверка векторов Ритца yz не производится, пока значения 6Z не приняты.
Из § 11.7 напомним, что
Isin ^ (yz, zz)|^||rz||/y,
где rz = (A—0,)yf известно, а расстояние ? = min{|az+i}—az|}, |az—az+I|— нет.. Рутисхаузер использует значения 6 для аппроксимации расстояния у и, таким образом, получает вычислимую оценку угла ошибки, которая может сравниваться с требуемой точностью.
Те, кто имеет опыт вычислений, знают, что заданные пользователем требования к точности могут иногда быть недостижимыми. Поэтому Рутисхаузер встроил в простую меру ошибки (||rz|[/y) дополнение, которое обеспечивает, что работа программы будет закончена даже в тех случаях, когда требуемая точность выше, чем может достигнуть программа. Однако Рутисхаузер не использовал ни норму невязки для сгруппированных собственных чисел (см. § 11.5), ни уточненные границы ошибок гл. 10.
*§ 14.4. Сходимость
Пусть Z = (zn . . ,zm), где Azz = zzaf, i=l, ...,т— матрица искомых собственных векторов. Для определенности мы предположим
0 < ar С(14.4.1)
так, чтобы Jg = £т span Z было доминирующим инвариантным подпространством матрицы А-1. Пусть <У—произвольное т-мер- ное подпространство <§п и {А-*^: ^ = 0, 1, 2, .. )—соответствующая последовательность, образуемая итерированием подпространства сУ. Величина ^/(2, A-^), определенная в § 11.7, является слишком грубой мерой качества аппроксимации 2 подпространством А~*сУ, поскольку пользователь хочет знать, насколько хорошо отдельные векторы, такие, как z,, могут быть аппроксимированы векторами из А~*сУ. Поэтому естественными объектами изучения являются величины
Ф/6> = z^ (z/. A-^^min^/Cz,, х) по всем х^А-к<У.
Нам нужно знать, как быстро ф^'—*0, в то же самое время хотелось бы сделать доказательство настолько близким к одномерному случаю, насколько возможно. Поэтому вопросу читатель может обратиться к § 4.2.
Чтобы при к —► оо последовательность {А-*^} сходилась к g, а не к другому инвариантному подпространству, необходимо предположить или выполнение неравенства / (2, 3^ < л/2, или, эквивалентно, что для любого ортонормированного базиса S подпространства 3 матрица
Z*S обратима. (14.4.2)
Полезное понятие в анализе—это угол У (матричный) между % и 3, определяемый соотношением
У = arccos (Z*SS*Z),/a.У = arccos (Z*SS*Z),/a.(14.4.3)(14.4.3)
У = arccos (Z*SS*Z),/a.
У = arccos (Z*SS*Z),/a.
(14.4.3)
(14.4.3)
Функции от матриц могут быть определены различными способами, но в нашем случае матричный аргумент У необходим только для того, чтобы придать смысл таким матрицам, как sinY и tg V, которые, будучи выраженными в терминах S и Z, имеют не очень удобный вид. Предположение (14.4.2) гарантирует, что У определена корректно. Заметим, что она не является диагональной.
По аналогии с одномерным случаем существует такой орто, нормальный базис S, что Z*S = S*Z = cos V (см. упр. 14.4.1). Этот базис S может быть выражен через Z следующим образом;
S
=
Z
cos Ф
+
J
sin Ф
(14.4.4)
где (см. упр. 14.4.2)
J*J = lm, Z*J=O.(14.4.5)
Теорема. При сделанных относительно 3 и 2 предположениях (14.4.1) и (14.4.2) каждый собственный вектор zh i ^т, удовлетворяет неравенству
A-M^a.Vo^JMgZ^, Зу (14.4.6)
Доказательство. Умножая равенство (14.4.4) слева на матрицу А-6, а затем справа на матрицу (secYJA*, получим
A"ftS (sec Т) А* = A"»ZA* + A"»J (tg Т) А»
= (ZA-»)A» + A-»J (tg^A», (14.4.7)
где A = diag(alt ..., am). Ключевым фактом является ортогональность Z к А~\1 (см. упр. 14.4.3). Поэтому оказывается удобным
переписать A-*J в виде
А-»Л=ЗД, fift=(J*A-2*J)i/s,(14.4.8)
так чтобы матрица JN была ортонормальной. Заметим, что поскольку Z*J = О, то
||QJ*max VJ^A-^Jv^a^*.(14.4.9)
1^11=1'
Рассмотрим теперь /-й столбец из (14.4.7):
х)6’ = А ~ *S (sec Т) ву«^ = Zy + Uy,
где Uy=« J^Q^tg^eyO^. Отсюда, последовательно используя (14.4.8), (14.4.9) и упр. 14.4.4, окончательно получаем
tg Z (Zy, А-^) < tg Z ^= II Uy ||/1 =(14.4.10)
H^g^eyM^
^mittg^eyK
^ ^jla-m+vY tg Z (z/> S (sec T) ey) ^ X(a/«m+1)MgZ(2,n
Оценить этот результат можно, сопоставив вычисление zt путем итерирования подпространства и методом обратных итераций (см. упр. 14.4.5)..
Теорема (14.4.6) показывает, что некоторая последовательность (x^tx)®’= A~*S (secТ)бу) -* Zy при к—* оо, но это не относится к поведению последовательности {у)6>), вычисленной в действительности, скажем, с использованием реализации № 4.
Некоторые авторы, козыряя «оптимальностью» векторов Ритца, заключают, что последовательность {у)*1} должна сходиться по крайней мере так же быстро, как последовательность {х^1}. Такой аргумент ошибочен, поскольку у)6> не являются ближайшими единичными векторами из А-*^ к zy. Таким образом, х могут сходиться быстрее, чем у.
Рутисхаузер показывает, что ^—* х^* с той же асимптотической скоростью, что и х)6) —>-Zy, и, следовательно, линейную сходимость {у/6>} к z, определяет тот же самый улучшенный множитель («у/ат+1). Трудность доказательства объясняется сложной природой векторов Ритца, и необходимо краткое отступление, прежде чем эти утверждения можно будет обосновать. Если В является неортонормальным базисом для span В, то каждая аппроксимация Ритца для А2 из span В имеет вид Bt, где t удовлетворяет уравнению
(В*А2В — p2B*B)t = o(14.4.11)
при соответствующем значении Ритца р (см. упр. 14.4.6).
Теорема. Если метод итерирования подпространства использует реализацию № 4, то каждый вектор Ритца у^ при к-—оо связан с вектором х^ теоремы (14.4.6) соотношением
sinZ(y^ х^’):==О[(а,/а„+1)*], (=*1, ...,m. (14.4.12)
Доказательство. В базисе В г A~*S (sec Y) Л*, заданном в (14.4.7), xz^' представлен вектором еь а yt*1 представлен решением t^ уравнения (14.4.11). После подстановки правой части (14.4.7) вместо В уравнение (14.4.11) принимает вид
[Л2—р2 + (а-^Л)*Щ(ай+1Л)*]/ = о,(14.4.13)
где, согласно у пр. 14.4.7,
8H»K(aw+fl|tgV||)’.(14.4.14)
Возмущение в (14.4.13) к АЗ—р2 при ^-*оо обращается в нуль, поэтому для достаточно больших к существуют р(, близкие к az, и ^, близкие к е;. Рассмотрим теперь к, настолько большое, что■
|pz—az | ^ 6=-у min |ау—аг-| по всем ay^a,.
При таких к (a2, tz) является хорошей аппроксимирующей парой для собственной пары (pz, ez), и вектор невязки rz для (14.4.13) удовлетворяет соотношениям
Иrz HI [Л2 + (а^Л)* н6 ^-ХЛУ-«Я ez|| =
= || (а-^ М Ще, || (az/ara+t)6 <
<^m4i) к («m+ill tg VID2.(14.4.15)
При выводе последнего неравенства используется (14.4.14).
По теореме 11.7.1 (результаты об отделенностях)
sinZG/, ez)^||rz||/6.(14.4.16)
Для больших к базис В почти ортонормален, поскольку
|Ь’Ь/|<(^П^У|^||2,(14А1?)
Если объединить неравенства (14.4.16) и (14.4.17) (см. упр. 14.4.8), то оказывается, что в пределе (14.4.17) доминирует и при к —► оо'
sinZ №> х?>) С (^j'lltg V||,(14.4.18)
что завершает доказательство.
Упражнения к параграфу 14.4
Пусть S—произвольный ортонормальный базис подпространства jf. Найти такую ортогональную (m X т)-матрицу G, чтобы S=SG удовлетво- ряда равенствам Z*S = S*Z = cos У, где cos У — положительно определенная матрица.
Проверить, что J =S cosec V— ZctgV.
Показать, чго Z J_A~*S.■
Показать, что tg ^ (z;S sec Те,-) = || (tg У) е/||.
Найти выражение для числа шагов метода итерирования подпространства, требуемых, чтобы уменьшить угол ошибки в 1000 раз. Разделить полученный ответ на т и сопоставить с результатом для метода обратных итераций. Является ли это сравнение корректным?
Ортонормальным базисом для span В является матрица В(В*В)-1/2. Используя этот факт, вывести уравнение (14.4.11).
Показать, что Hft = tg'F(Q|_1—рай|) tg Vam+, и затем подтвердить (14.4.14).
Запишем
’ Г / Ot* OL \ ^1
V = e; + n;f;, ||f;||=l, |ц;| = О.
L \ат +1 am + 1/ J
имеем также'
COS / (у;Х;) = t/B Вег-/]| Bi; II- Be; II .
С помощью этих двух фактов доказать неравенство (14.4.18).
§ 14.5. Секционные методы
Существует вариант рассмотренных в § 14.2 и 14.3 реализаций, нацеленный на подкласс больших задач, в которых должны быть вычислены все собственные числа из заданного интервала (а, р), как бы много их там ни было. Интервал может оказаться весьма широким. Конечно, спектр можно было бы поделить в точках a и р, но что делает эту проблему интересной, так это желание свести число требуемых разложений матриц к минимуму и предпочтительно к одному. '
В методе используется только одно применение процедуры Релея — Ритца. Итеративная часть сведена к определению начальных векторов, которые действительно порождают инвариантное подпространство, связанное с (a, Р). Дорогим (по цене) этапом является разложение матрицы А—р для некоторого р, равного (или близкого) средней точке (a-f-p)/2, но зато сомножители допускают относительно быстрое выполнение обратной итерации.
Цель состоит в том, чтобы быстро определить, какая из трех возможных ситуаций имеет место: (а) интервал (а, р) не содержит собственных чисел, (Ь) одно или больше собственных чисел,
близких к р,, (с) собственные числа группируются около а и Р, но не около р. Это различение достигается путем тщательного контроля скорости сходимости обратных итераций для одиночного вектора, который сохраняется ортогональным к уже найденным направлениям, находящимся в инвариантном подпространстве, связанном с (а, Р). Обратная итерация эффективна для ситуаций (а) и (Ь), но не для (с). При раннем обнаружении ситуации (с), программа может отменить текущий сдвиг и, только когда это оправдано? начать снова с хорошо выбранным сдвигом, близким к а, и другим, близким к р. В итоге для сложных ситуаций это приводит в сумме к трем разложениям.
В ситуации (Ь) итерацию останавливают, как только становится очевидно, что вектор лежит в требуемом подпространстве; здесь не приходится ждать сходимости. Поскольку программе значения а и Р заданы, то для дополнительного подавления компонент по собственным векторам, соответствующим собственным числам, лежащим вне интервала (а, Р), можно воспользоваться чебышевским ускорением.
Таким образом, к начальной матрице добавляются столбцы до тех пор, пока не придем к случаю (а), сигнализирующему о том, что инвариантное подпространство охвачено. Одно применение процедуры Релея — Ритца, использующей А, приводит к искомым собственным векторам. Все важные детали описаны в работе [Jensen, 1972], где впервые был предложен секционный алгоритм. ’
Другой вариант секционного метода был предложен недавно в работе [Wilson, 1978], который, по-видимому, не знал работы Йенсена. Минимизируя число действий и делая некоторые упрощающие предположения, Уилсон установил, что хорошим выбором ширины блока в методе итерирования подпространства является величина Vm/2, где т—половина ширины ленты А. Для определенности будем считать, что оптимальный размер блока для заданной матрицы принимается равным десяти.
Стратегия Уилсона более свободно использует разложения, чем подход Йенсена, и применяет деление спектра для нахождения подынтервалов (а, Р), каждый из которых содержит примерно 7 собственных чисел. Затем Уилсон начинает с ближайшего к р подынтервала (т. е. самого внутреннего конца большого интервала) и применяет итерирование подпространства для нахождения соответствующих ему собственных чисел и векторов. После этого он продвигается к а, пользуясь некоторыми векторами из предыдущих итераций как начальными и следя за тем, чтобы все начальные векторы были ортогональны к найденным ранее собственным векторам.
Обычно процесс осуществляют, продвигаясь от а к р.
Когда ширина ленты w очень мала относительно п, то разложения сравнимы по стоимости с другими векторными операциями, такими, как ортогонализация. В этом случае оправданы деление спектра и описанный в § 3.5 метод локализации собственных чисел, а затем отыскание собственных векторов за один или два шага метода обратных итераций. Когда собственные пары вычисляются последовательно, отпадает необходимость использовать блоки, размер которых больше числа искомых собственных векторов.
Примечания и ссылки
Одна нз работ, анализирующая блочные методы,— [Bauer, 1957), но самые важные работы по итерированию подпространств это [Rutishauser, 1969 и 1971]. Геометрические аспекты обсуждались в [Parlett, Poole, 1973].
Инженеры-строители применяли и развивали метод в значительной мере незавнснмо от специалистов по численному анализу, и поэтому у них своя терминология. Например, Дженнигс пользуется термином «матрица взаимодействия», говоря о том, что мы называем проекцией матрицы А на подпространство. Относительно недавние работы, где описывается испытание некоторых вариантов: [Bathe, Wilson, 1976] и [Jennings, 1977). ■
Изобретение секционного алгоритма [Jensen, 1972) оказалось очень полезным для больших задач. Одна из последних работ (смотри внизу) в этой области. [Jennings, Agar, 1978] 1>.
*> К моменту написания книги.— Прим, перев.
ГЛАВА 15
Обобщеннаялинейная проблемасобственных значений
Введение
В этой главе обсуждается задача вычисления нескольких или всех пар (к, z), удовлетворяющих для двух заданных симметричных матриц А и М уравнению (А—XM)z = o, z#=o. Скаляр X называется собственным числом (или корнем) пары (А, М), a z— соответствующим ему собственным вектором. Гантмахер назвал матрицу А—ХМ матричным пучком. Несколько странно используемое слово «пучок» пришло из оптики и геометрии. Собранные вместе лучи (света), сходящиеся в точку, напоминают острый конец карандаша, и расширенный естественным способом термин стали использовать для обозначения любого однопараметрического семейства кривых, пространств, матриц и других математических объектов. В структурном анализе А соответствует матрица жесткости (обычно записываемая ' как К) и М — матрица масс.
Два пучка (А„ М,) и (А2, М2) называются эквивалентными, если существуют такие обратимые матрицы Е и F, что
A2 = EA1F, M2=EM,F. (15.1.1)
Корни двух эквивалентных пучков совпадают, а собственные векторы связаны простым соотношением (см. упр. 15.1.1). Кроме того, корни Xj, Х2, ... являются нулями характеристического многочлена
X(T) = det[xM—А]. (15.1.2)
Симметрия—слишком драгоценное свойство, чтобы от нее отказаться, и поэтому мы будем рассматривать только конгруэнтные пучки, т. е. эквивалентные пучки, для которых E = F*. Условие F*=F-1 не является необходимым для сохранения собственных чисел, но ортонормальные матрицы весьма популярны, поскольку, согласно факту 1.10 гл. 1, || А, || = [| А2||, || М,|=||М21| и, следовательно, существует опасное возрастание элементов, которое может иметь место при явном выполнении преобразования конгруэнтности.
Было бы естественным пытаться искать аналог спектральной теоремы (см. факт 1.4 гл. 1) и соответственно определить каноническую форму (т. е. простейшую пару) матриц в каждом классе
конгруэнтных пучков. Ответ заключается в одновременном приведении к диагональному виду.
Для некоторых пучков (А, М) существует такая обратимая матрица F, что
F*AF = Ф = diag(<p1, . ..,<р„),F*MF = ¥ = diag'^i. • • •, Фп)-
Здесь имеется два важных отличия от спектральной теоремы: (1) хотя отношения (если они существуют, т. е. ф;=#=0) ^^i, i=l, ...,п, определяются однозначно, матрицы Ф и ¥ определяются не единственным образом и (2) приведение не всегда возможно.
Если фу =И= 0, 1 = 1, . ..,п, то пару Ф, ¥ можно нормировать, полагая ¥=1 и Ф = Л = diag(A.1, ..., Хп), но делать это не всегда разумно. Этот момент детально рассмотрен в § 15.2 и 15.3, где изложен основной материал по матричным пучкам или, эквивалентно, по парам квадратичных форм.,
После подготовки, которую дают § 15.2 и 15.3, в § 15.4, 15.5, 15.6 и 15.7 обсуждается численное приведение пары (А, М) к канонической форме (Л, I), в то время как остальная часть главы связана с распространением методов предыдущих глав на большие пучки (А, М).
Упражнение к параграфу 15.1
Пусть A2 = EA!F, M2 = EM]F. Показать, что корни пучков (Alt MJ и (А2, М2) одинаковы н установить соотношение, связывающее их собственные векторы *>. -
Симметрии недостаточно
Обобщенная проблема собственных значений в принципе труднее, чем стандартная, поскольку здесь могут иметь место три новых явления. К счастью, они могут быть проиллюстрированы на пучках порядка 2x2._ . ,
JгСобственные пары
(1, ej;.(£, ej.
°], м=Р °1.,
а,еО; (f.ea).
п. Л .[1
2} м"[о ?}r./Ml.
1111 А =[1
JL 9 — 1 ](Здесь i1 = — 1).
ц Предполагается, что Е и F обратимы.— Прим, перев.
В (1) все скаляры являются собственными числами для е2. В (II) бесконечности является собственным числом для хорошо определенного собственного вектора еР В (III) собственные числа комплексны, несмотря на то что матрицы А и М симметричны. Последнее явление проясняется следующим неожиданным результатом.
Теорема. Любая вещественная квадратная матрица В может быть представлена в виде В = АМ~1 или В = М-1А, где А и М — соответствующие симметричные матрицы. '
Доказательство предлагается читателю как упр. 15.2.3. Отсюда следует, что любые трудности, возникающие при вычислении собственных значений В, свойственны и задаче решения уравнения
(А—ХМ) х = (АМ-1—X) Мх = о.
Пучки типа I, для которых %(/) = 0 при всех t, называются - сингулярными. Часто, но не всегда, пучки сингулярны потому, что А и М имеют некоторый общий нуль-вектор, т. е. Ах = Мх = о, х о. Такой вектор х, строго говоря, является собственным вектором, и любое число будет соответствующим собственным числом. Подобная ситуация по меньшей мере не ортодоксальна, поэтому начальный этап анализа любого пучка должен заключаться в том, чтобы отыскать общее нуль-пространство и избавиться от него. Теоретически такое подпространство удаляется путем исчерпывания, т. е. сужением А и М на дополнительное инвариантное подпространство в §".
На практике возникает опасение, что могут существовать векторы х, которые почти аннулируются обеими матрицами А и М. В таком случае программа может вычислить некоторые собственные числа, которые, хотя и выглядят вполне невинно, не только сверхчувствительны к возмущениям А и М, но чье присутствие сильно понижает устойчивость других собственных чисел. Следующий пример демонстрирует сущность этих замечаний:
1 ОО 10~81 ОО 10~8е,) •(15.2.2)е,) •(15.2.2)1 и/ 1
1 О
О 10~8
1 О
О 10~8
е,) •
(15.2.2)
е,) •
(15.2.2)
М=1о 2Х10-* Г Решения 0- е1)> (у
Возмутим теперь элементы А на величины порядка 10~8, т. е. положим.
1/2Х1О~8/2хЮ-8 2х10~81/2Х1О~8/2хЮ-8 2х10~8(15.2.3)(15.2.3)
1/2Х1О~8
/2хЮ-8 2х10~8
1/2Х1О~8
/2хЮ-8 2х10~8
(15.2.3)
(15.2.3)
Корни (Az, М) равны приблизительно 1 ± 10~4, а соответствующие собственные векторы е2 + 10_4еР Таким образом, изменение элементов А на 10-8 изменило корень 1 на 10~4, т. е. ошибка уве-
дичилась в 104, в то время как корень у изменился полностью. Собственные числа, такие как у, называются плохо-определенными—этот подходящий термин был введен Стюартом. Теперь заметим, что задача 15.2.2 эквивалентна задаче с матрицами
[1 0]А==[о 1.[1 0]А==[о 1.[1 0" ’ м= 0 2[1 0" ’ м= 0 2: Решение: (1, ej, ^у, е^ , (15.2.4): Решение: (1, ej, ^у, е^ , (15.2.4)
[1 0]
А==[о 1.
[1 0]
А==[о 1.
[1 0" ’ м= 0 2
[1 0" ’ м= 0 2
: Решение: (1, ej, ^у, е^ , (15.2.4)
: Решение: (1, ej, ^у, е^ , (15.2.4)
которая превосходно обусловлена.
Математически в точной арифметике мы не можем провести различие между (15.2.2) и (15.2.4). Осознание, что (15.2.2) и (15.2.4) не в равной мере допустимые представления одной задачи, может оказаться важным в некоторых приложениях, но такая информация является внешней по отношению к стандартной теории матричных пучков и должна рассматриваться как дополнительный аспект проблемы. Лучше, если это может быть сделано указанием способа масштабирования, который может быть применен при конкретных данных.
Важно подчеркнуть, что бесконечные собственные числа (случай IIJ не обязательно являются плохо определенными. Фактически бесконечные собственные числа (А, М) являются нулевыми собственными числами пучка (М, А). Это еще одно указание на то, что каждое собственное число пучка следует скорее представлять в виде отношения, а не обычного числа. Наша естественная мера разделенности собственных чисел, а именно |Х;—\. |, также под вопросом. Поскольку роли А и М взаимно заменимы, то представляется целесообразным использовать такую меру отделенности X, и Ху, которая была бы инвариантна относительно обратного преобразования. Хордовая метрика
X(X, р) = | X—рI//T+X5КТ+р5
обладает этим свойством (см. упр. 15.2.4 и 15.2.5). Она возникает при изучении неевклидовой геометрии.
Располагая этим аппаратом, можно обобщить оценки ошибок из гл. 4, 10 и 11, чтобы охватить пучок (А, М) в подлинно инвариантном смысле, Некоторые результаты подобного рода по возмущениям имеются в работах [Crawford, 1976] и [Stewart, 1979]. Однако оценки ошибок в данной книге не требуют, чтобы сравниваемые матрицы были близки в каком-либо смысле.
Упражнения к параграфу 15.2
Проверить приведенные решения примеров (I), (И), и (Ш). Найти симметричный (2х2)-пучок только с одним собственным вектором.
Найти сингулярный (2х2)-пучок, в котором А и М не обладают общим нуль-пространством.
Заметим, что
1РрО1РрОО -р р ОО -р р ОО о о1О о о1q о 1 ю 1 О' 1 о о ОООq о 1 ю 1 О' 1 о о ООО
1Р
рО
1Р
рО
О -р р О
О -р р О
О о о
1
О о о
1
q о 1 ю 1 О' 1 о о ООО
q о 1 ю 1 О' 1 о о ООО
cJLpJ-cJLpJ-
cJLpJ-
cJLpJ-
и пусть B = FJrF-1, где J — веществеииая жорданова форма. Показать, что Jr может ,быть записана в виде Jr = AM-i, а отсюда прийти к выводу, что В = = АМ-1, где A = FAF и M = FMF*.
Показать, что% = (Х, р) = х(1Д, 1/р9- Полагая Х = а1/Р1, р.=О2/Р2, выразить х (X, р.) через а и 0. Заметим, что х инвариантно относительно ортогонального преобразования
И_Гс —si Га!
Одновременная диагонализация двух квадратичных форм
В точной арифметике все три явления, обнаруженные § 15.2, могут быть исключены, если мы ограничим наше внимание теми случаями, когда либо А, либо М, либо какая-нибудь их комбинация «А + цМ является положительно определенной матрицей. Это сужение класса матриц представляется естественным, если заметить, что стандартная проблема собственных значений соответствует M=I, а 1—это прототип всех положительно определенных матриц. .
Фактически для заданного пучка (А, М) мы ничего не теряем, рассматривая эквивалентный пучок (А, М) = (уА-|-стА, —стА-f-yM) для любой пары чисел (у, а), такой, что у2 + ст2=1. Какую же наилучшую пару выбрать? Чтобы ответить на это, рассмотрим
величину
ц(А, М) = inf {(х*Ах)2 + (х*Мх)2}1/2.(15.3.1)
Их ||=1
Следующий интересный результат приведен в работе [Uhlig, 1979].
Теорема. Если р (А, М) > 0, то при любом п > 2 существует такая пара (у, ст), что матрица М = чМ— ст А положительно определена.(15.3.2)
Даже когда М положительно определена, может оказаться предпочтительнее работать с пучком (А, М), если ХДМ)^^ (М).
В настоящее время нет экономичного способа, использующего теорему (15.3.2), для отыскания наилучшей пары. Пучки с р > 0 называют определенными, и по идее остальная часть главы применима к любым определенным пучкам, однако мы ограничимся только теми пучками, определенность которых выражена явно.
Именно определенность пучка (А, М) гарантирует одновременное приведение А и М к диагональному виду.
Теорема. Если М положительно определена, то существует много таких обратимых матриц F, что F*AF и F*MF одновременно диагональные и вещественные матрицы.(15.3.3)
Доказательство. Согласно спектральной теореме и предположению,
M = GA2G*,
где G —ортонормальная матрица, a A = diag(61, ..., 6П)—вещественная матрица. Единственное, но решающее использование положительной определенности состоит в том, что собственные числа М положительны и, следовательно, позволяют получить вещественную А. Теперь приведение пучка к стандартной форме осуществляется следующим образом:
A—>A~1G*AGA-1 = H, M->A-1G*MGA-’ = I.
По спектральной теореме для Н существует такая ортонормальная Р, что
Н = РЛР*,
и поэтому при F = GA~'P, т. е. равным произведению обратимых матриц, имеем
A^F*AF = A, М—>-F*MF=l.■
Заметим, что для любой неособенной диагональной матрицы Q матрица FQ также осуществляет приведение к диагональному пучку.
Доказательство предлагает простой способ вычисления корней пары (А, М), но пока эту тему отложим до следующего параграфа. Другая форма теоремы (15.3.3):
Теорема. Если М положительно определена, то симметричный пучок (А, М) в интервале [—||М~1А ||, || M—1A(jj имеет п действительных корней Xv ..., Хп, которым соответствуют п линейно-независимых собственных векторов zn .., z„. Кроме того, если Xj^Xy, то векторы г; и Zy являются ^-ортогональными, т. е.
z;Mzy = 0.(15.3.4)
Если же Х£ = Ху, то z и г, могут быть выбраны KV-ортогональными.
Доказательство предлагается читателю как упр. 15.3.3.
Другим важным следствием положительной определенности является то, что функции, задаваемые билинейными формами
(х, y)^ = y*Mx, (х, у)м-^У*М"1х,(13.3.5)
определяют скалярные произведения. Векторное пространство 51п, снабженное любым из этих скалярных произведений, переходит в пространство *, и почти все свойства §п, такие, как неравенство. Коши—Шварца, переносятся на.с^п. В упражнениях 15.3.3 и 15.3.4 предлагается рассмотреть некоторые из этих свойств.
Пучок положительно определен только в том случае, если А и М одновременно положительно определены.
Упражнения к параграфу 15.3
Доказать теорему (15.3.4), имитируя доказательство аналогичных результатов для стандартной проблемы.
Путем проверки свойств
(х, у)л=(У. х)м.
(ах + Ру, z)^=a(x, z)^ + P(y, z)M,
(х, х)л > 0, если х 56 о, показать, что (15.3.5) определяет скалярное произведение.
Проверить, что ||u||^= K"u*Mu удовлетворяет аксиомам нормы:
IIumII > °> если и = о,
ЦапЦл] = |а|[| пЦл!,
Ци + У^^ЦиЦ^ + ЦуПд!.
Для каких свойств существенно, чтобы матрица М была положительно определена?
Рассматривая выражение (х-|-Ву, х-|-§у)д1Для всех вещественных g, доказать неравенство Кошн— Шварца
(х. У)м<(х- х)м (У. У)м-
Найти такое 6, чтобы матрица (cos 6) ^ ®j—(sin 0) ^ ^ была положительно определена. Каков наилучший выбор 9?
Явное приведение к стандартной форме
Благодаря Справочнику и пакету EISPACK (см. § 2.8), мы имеем в наличии высококачественные программы для малых стандартных проблем на собственные значения. Поэтому, многое говорит за приведение обобщенной проблемы (А—ХМ)х = о к эквивалентной стандартной форме (А—Х1)х = о. Имеется несколько способов для осуществления этого приведения.
Сформировать М-1А, но зато потерять одновременно симметричность и разреженность.
Решить стандартную проблему собственных значений для М, чтобы найти ортонормальную G и диагональную Д, такие, что М = ОДЧЗ*. Тогда
(А—ХМ) = ОД (А —XI) ДО*, где
А* = Д-1О*АСД-1.
Вычислить разложение Холесского M = LL*.
Тогда
A—XM = L (А—XI) L*, где
A = L-iAL"*.
За деталями нужно обращаться к Справочнику, алгоритм II. 10, или руководству по пакету EISPACK.
Замечания
Если собственные векторы не требуются, то преобразующие матрицы L или G хранить не нужно. Если же собственные векторы требуются, то должны быть сохранены либо преобразования, либо исходная пара матриц.
Некоторые из преобразований матриц А и М могут быть выполнены одновременно, например когда G и L представлены как произведения простых матриц (см. упр. 15.4.1).
Расширение и усовершенствование метода 2 описано в § 15.5.
Уилкинсон дал элегантный способ вычисления А. Первоначально массивы размерности пхп хранят в А и М, а копии диагоналей А и М—в двух одномерных массивах DA и DM. Затем вычисляется L, и ее нижняя треугольная часть хранится в нижней треугольной части М. Наконец, в два этапа вычисляется матрица (L~lA)L“*. При этом используется только нижняя треугольная часть А, на месте е которой в конце процесса хранится нижняя треугольная часть А. Детали являются предметом упр. 15.4.2.
Чтобы упростить изложение, предположим, что матрицы А и М обе положительно определены и что собственные числа пары (А, М) упорядочены:
О < Xj ^... ^ Хп.
Заметим, что
||А|1=Х„^[]М-Ч11|А[|.
Во многих случаях некоторые элементы матрицы А сравнимы по величине с ||М~1[|-[|А|| и много больше, чем ||А||. Это происходит, когда М плохо обусловлена с точки зрения обращения (почти особенная), и тогда собственные числа А простираются по величине на много порядков, например от 103 до 1020. Возможно, что малые собственные числа будут вычислены со значительно меньшей относительной точностью, чем большие. Это происходит потому, что вычисленные собственные числа являются точными для некоторой матрицы А и часто ]]А—А||==е||А||, где е—единица округления. Грубая оценка изменения собственных чисел имеет вид
|Х;-&| ||Л-Лц /||АА , .
'| X; || X; |\ ^ /'
Для 1=1, 2, 3 вполне возможно, что || A [|AZ = 1/е, следовательно, реально, что л, не будет иметь правильных значащих цифр.
Последнее—недостаток явного приведения, когда М близка к особенной матрице и арифметические действия выполняются с числами ограниченной точности.
Если М и, следовательно, L умеренно плохо обусловлены для обращения и если дополнительно столбцы L монотонно убывают, то А обычно будет градуированной матрицей, строки которой монотонно возрастают по норме (последняя .строка наибольшая). Для градуированных матриц наименьшие собственные числа обычно отыскиваются с большей относительной точностью, чем этого можно ожидать из стандартных оценок через норму (абсолютная ошибка < е |( А [|). Соответствующий пример приведен на рисунке 15.4.1.
Приведение ленточных пучков
В § 7.5 предложен оригинальный алгоритм приведения ленточной матрицы А к трехдиагональному виду Т без временного увеличения ширины ленты в ходе процесса. В работе [Crawford, 1973] этот подход обобщен применительно к преобразованию ленточных пучков (А, М) к стандартной форме (Т, I) без использования дополнительной памяти.
Мы не будем описывать алгоритм в деталях по следующей причине. Когда А и М малы, то выгоды в памяти не очень важны.
4 1 0 1
‘ 10000 4000'1000
14 2 0
М =
4000 1700430
0 2 4 2
1000430 ПО
10 2 3
100 ' 6016.5
100
L-40 10
1031
.12.5 .1.
100
60
16.5
5.26
.0004-.0006-.0022.119
-.0006-.0384.0908 -1.616
-.0022.09083.1502.658
.119-1.6162.658223.8
Рис. 15.4.1. Приведение пучка (А, М) к стандартной форме (А, I).
Если же А и М большие, то очень маловероятно, что будут необходимы все или даже большинство собственных чисел, поэтому методы, избегающие явной редукции, предпочтительнее. Более того, большие А и М с узкой шириной ленты идеально приспособлены для метода деления спектра (см. § 3.3) или алгоритма Ланцоша (см. § 15.11).
Упражнения к параграфу 15.4
Найти количество действий, требуемых для спектрального разложения и разложения Холесского, Воспользоваться симметрией. Подсчитать количество действий для приведений (15.4.2) и (15.4.3).
Пусть B = L-1A. Найти алгоритм, который вычисляет н записывает нижнюю часть BL~* иа место нижней части А, теряя в процессе диагональ А. Использовать, где это возможно, симметрию.
Рассмотреть пучок 2x2. Если М плохо обусловлена, и А плохо обусловлена, то А должна быть сильно градуированной. Правильно или нет это заключение? '
15.5. Приведение Фикса—Хайбергера
Этот параграф описывает осторожное приведение к стандартной форме, предназначенное специально для тех случаев, когда М—с практической точки зрения положительно полуопределенная матрица (по крайней мере одно собственное число равно нулю). Иначе говоря, М либо особенная, либо так близка к особенной матрице, что предпочтительнее работать с особенной со всеми вытекающими отсюда последствиями. Цель подхода — найти бесконечные или плохо определенные собственные числа (см. § 15.2) прежде, чем вычислять благополучные.
В дальнейшем
А, М^-А, М
будет означать, что
.А = Р*АР, М = Р*МР.
Кроме того, полагаем
PeQ = diag(P, Q).
Пусть т]—заданный пользователем критерий малости.
Процесс состоит из трех шагов нарастающей сложности.
Шаг 1. Отыскиваем спектральное разложение М = О(Д1фД|)О*, где Да содержит чрезвычайно малые собственные числа М, т. е. II ^2 II2 ^ ЛII ^i II2- Заменяем Д2 на О. Определяется разбиение G*AG, соответствующее Д^
GА, М—^GА, М—^Ац а:2Ац а:2А|2А22А|2А22Д? о . О оД? о . О о
G
А, М—^
G
А, М—^
Ац а:2
Ац а:2
А|2
А22
А|2
А22
Д? о . О о
Д? о . О о
Шаг 2. А? приводится к I, и находим спектральное разложение А22 = F(ФфТ) F*, где ФфТ—диагональная матрица и ||¥||< < П||Ф||. Т заменяется на О. Представляя AXA12F как (А12, А13), находим
дг'е^ ^чАТздг'е^ ^чАТзА|2 А13"ф о" .о оА|2 А13"ф о" .о оI о оООООООI о оОООООО
дг'е^ ^ч
АТз
дг'е^ ^ч
АТз
А|2 А13"ф о" .о о
А|2 А13"ф о" .о о
I о о
ООО
ООО
I о о
ООО
ООО
Когда М хорошо обусловлена, последние две строки и два столбца пусты и результатом будет пучок (An, I), что соответствует редукции № 2, изложенной в § 15.4. Если А22 хорошо обусловлена, то конечной формой является пучок
Ац АцА* ФАц АцА* ФI ОО ОI ОО О
Ац Ац
А* Ф
Ац Ац
А* Ф
I О
О О
I О
О О
Дальнейшее приведение этого пучка для получения конечных собственных чисел предлагается осуществить как упр. 15.5.1.
В общем случае требуется еще анализ А|3.■
Шаг 3. Трудности возникают в случае, когда А13 не обладает полным рангом, но это и есть один из случаев, когда подход Фикса — Хайбергера оправдан. Поэтому мы допускаем такую возможность. Сначала необходимо осуществить сингулярное разло-
жение матрицы А13:
А13 — Q qА13 — Q qР*.Р*.
А13 — Q q
А13 — Q q
Р*.
Р*.
где Q и Р ортонормальные матрицы (различных размеров), а 2 — диагональная матрица с неотрицательными элементами. Матрицы Q и Р определяются не единственным образом. Q состоит из собственных векторов матрицы A13Ai3, а Р — из собственных векторов А13А13. Диагональные элементы oz матрицы 2 задаются формулой 0, = ]/
и называются сингулярными числами матрицы А13.
Затем 2 представим в виде 0®Q, где 0 содержит большие сингулярные числа и В ^||^ ЛII® II- Теперь положим Й = О и определим числа
и, == число строк 0,^ + «2 = число строк А13,п3 = число строк Ф.
Подматрицы в форме Фикса—Хайбергера задаются соотношениями
Q*AnQ =Q*AnQ =«1 «2Ап AuА*2 А22«1 «2Ап AuА*2 А22q*a«q*a«АвА2зАвА2з
Q*AnQ =
Q*AnQ =
«1 «2Ап AuА*2 А22
«1 «2Ап AuА*2 А22
q*a«
q*a«
Ав
А2з
Ав
А2з
Окончательно
aeieeaeieeАцАцА и АмА и АмА1зА2з'ФА1зА2з'Фсимметричносимметрично0 О о о0 О о оО О о о оО О о о о1 ® ! Ф О ® О Ф О.1 ® ! Ф О ® О Ф О.
aeiee
aeiee
Ац
Ац
А и Ам
А и Ам
А1з
А2з'Ф
А1з
А2з'Ф
симметрично
симметрично
0 О о о
0 О о о
О О о о о
О О о о о
1 ® ! Ф О ® О Ф О.
1 ® ! Ф О ® О Ф О.
Если 0 ^ 2, то пятые (блочные) строка и столбец действительно присутствуют и пучок (А, М) является сингулярным. Программа должна выдать оповещение, что любая величина является собственным числом. Теперь пятые строка и столбец могут быть отброшены, и это исчерпывает каверзное нуль-пространство. Подлинные собственные числа и векторы могут быть найдены из остающихся четырех строк и столбцов аналогично случаю, когда матрица А13 на шаге 2 имеет полный ранг.
Пусть (х*, х2*, х3, xj) — разбиение собственного вектора ведущей (4х4)-подматрицы приведенной выше канонической формы. Раз-
решая эти уравнения снизу вверх, получим
X] = о,
х3 = -Ф *А2зХ2,
(А22 ~ А2зФ 1 А2з - Л)х2 = о,
х4 = —@ ’(А12х2 + А13Хз).
Таким образом, п2 конечных собственных чисел находится из стандартной проблемы собственных значений, выписанной для х2 в третьей строке. Отыскание собственных векторов для бесконечных собственных чисел предлагается как упр. 15.5.2. Формулы для собственных векторов первоначальной проблемы составляют предмет упр. 15.5.3.
Дополнительная осторожность была проявлена в проделанной редукции для того, чтобы точно определить те малые собственные числа, которые хорошо определены первоначальными данными. Если подходящее значение т] не очевидно, то вычисления должны проводиться с двумя различными значениями т] (скажем, т] + пе и ^ = У~в), а затем результаты должны быть подвергнуты сравнению.
В работе [Fix, Heiberger, 1972] даны оценки ошибок, вызванные аннулированием Д2, V и й.
Упражнения к параграфу 15.5
Найти стандартную проблему собственных значений, которая дает конечные собственные числа пары
Ац Ап] I О]А^ Ф J ’ [о OJ '
Напомним, что матрица Ф диагональная н обратимая.
Используя разбиение на хь х2, х3, х4, примененное в § 15.6, описать собственные векторы формы Фикса — Хайбергера, соответствующие беско нечным собственным числам.
Предполагая, что А13 имеет полный ранг, дать формулы, по которым преобразуются собственные векторы канонической формы в собственные векторы первоначального пучка.
Пусть в конце шага 1 возникает пара матриц
" 65 43 121 "4 32;112112 .32 ।34110"40симметрично100" 65 43 121 "4 32;112112 .32 ।34110"40симметрично100■ 1I1' окг21 W10"4 11* 0 w(о■ 1I1' окг21 W10"4 11* 0 w(о
" 65 4
3 1
2
1 "
4 3
2;
1
1
2
11
2 .
3
2 ।
3
4
1
10"4
0
симметрично
1
0
0
" 65 4
3 1
2
1 "
4 3
2;
1
1
2
11
2 .
3
2 ।
3
4
1
10"4
0
симметрично
1
0
0
■ 1
I
1' о
кг21 W
10"4 1
1
* 0 w(о
■ 1
I
1' о
кг21 W
10"4 1
1
* 0 w(о
Найти форму Фикса—Хайбергера этой пары и, если в наличии имеется вычислительная машина (или калькулятор), определять все ее собственные числа и векторы.
QZ-алгоритм
Устойчивое обобщение QR-алгоритма на произвольные квадратные пучки (В, N) было предложено в [Moler, Stewart, 1973]. Метод нарушает симметрию и заменяет (А, М) эквивалентным пучком (J, К), где J и К—верхние треугольные матрицы. Применяются исключительно ортогональные преобразования, так что || А || = || J || и ||М[| = ||К||, и на конечную точность не влияют такие неприятные обстоятельства, как особенность М или даже ее неопределенность. Плохо определенные собственные числа получаются как отношения малых диагональных элементов J и К-
Для малых пучков QZ-алгоритм является альтернативой редукции Фикса—Хайбергера и обладает тем преимуществом, что в вычислительных центрах он обычно имеется в библиотеке программ. Для отыскания QZ-алгоритмом всех собственных чисел требуется приблизительно 20п3 операций. Временной штраф менее обременителен, чем необходимость использования двух дополнительных массивов размерности пхп. Однако для малых п оба вида затрат не будут слишком серьезными, если не приходится обрабатывать очень большое число пучков.
Потеря симметрии неприятна, поэтому в дальнейшем вернемся к методу, который использует конгруэнции, а не эквивалентные преобразования.
Обобщенный метод Якоби
Естественное расширение идеи Якоби (гл. 9) — это найти конгруэнцию в плоскости (t, /) для уничтожения элементов в позиции (i, /) одновременно для А и М. Если М положительно определена, это всегда осуществимо и в выборе конгруэнции имеется значительная свобода.
Задача по существу двумерная. Ограничиваясь типичной (t, /)- плоскостью и пользуясь простейшими конгруэнциями, получим
1Р1Р— аI— аI«я°4«я°4аУаЛаУаЛ1— а1— аР IР I
1
Р
1
Р
— а
I
— а
I
«я
°4
«я
°4
аУ
аЛ
аУ
аЛ
1
— а
1
— а
Р I
Р I
а„ - 2а^. + а^, Раи + (I - аД)^ - аОуР«и + (1 - а^ац - аал, ргаи + 2/3^ + ал
(15.7.1)
и, аналогично, для матрицы М. Чтобы диагонализовать обе матрицы, для аир нужно решить специальную пару квадратных уравнений. К счастью, здесь имеется замкнутое решение (см. упр. 15.7.1): нелинейный член может быть исключен, и если положить a=6f/v, р= = 6/у, где
8f8fао 'ао '8, = det8, = detаЛ avтл тлаЛ avтл тл(15.7.2)(15.7.2)
8f
8f
ао '
ао '
8, = det
8, = det
аЛ av
тл тл
аЛ av
тл тл
(15.7.2)
(15.7.2)
то v удовлетворяет квадратному уравнению
у2 - S^v - 8,6; = 0,(15.7.3)
8v = det8v = det«Иту«Итуа»а»(15.7.4)(15.7.4)
8v = det
8v = det
«И
ту
«И
ту
а»
а»
(15.7.4)
(15.7.4)
Когда М положительно определена, квадратное уравнение имеет ненулевое решение (см. упр. 15.7.2) и имеет место собственная конгруэнция, т. е. определитель l-j-ap^O. Чтобы аир были достаточно малыми величинами, нужно выбрать в качестве v тот корень уравнения (15.7.3), который дальше отстоит от нуля.
На рассмотренный случай распространяется асимптотическая квадратичная сходимость обычного процесса Якоби (см. работу [Zimmerman, 1969]), при условии, что процесс вообще сходится. Однако сходимость никем не была доказана.
Эти подходы с определенным успехом были применены для А и М малого порядка, которые обладают доминирующей диаго- .п
налью, т. е. ан > 2 la</1> i=#i« Д я всех i (см. [Bathe, Wilson, 1976]).'"*
Упражнения к параграфу 15.7
Найти замкнутую форму решения системы
Рйц + О — «Р^/у—аауу = 0,P'”Zi + (l— “Р) тц—ату) = б.
Показать, что когда М положительно определена, то (15.7.3) имеет ненулевое решение.
Показать, что прн правильном выборе v в (15.7.3) параметры а и Р удовлетворяют неравенствам 0<аР<1.
Неявное приведение к стандартной форме
Три редукции, описанные в § 15.4, могут быть использованы неявно. Это важно при решении задач с большими разреженными матрицами А и М. 'Рассмотрим три подхода:
Матрица М-1А не является ни симметричной, ни разреженной, но она самосопряженная в смысле скалярного произведения, задаваемого матрицей М:
(М-1Ах, у)м = (х, М-1Ау)м = У*Ах.
Вектор w = M-1 Au вычисляется в два шага.
С использованием разреженности формируется v = Au.
Система Mw = v решается либо итеративно, если М не может быть факторизована, либо, если М = ил сначала решается система Lx = v, затем L*w = x.
В каждом из вариантов на шаге (Ь) можно воспользоваться разреженностью М.
В принципе матрица А = A-lG*AG* А-1 может быть использована без явного формирования. Однако матрица редко наследует какую-либо разреженную структуру М (исключая случаи М = Д3 и G = I!), а потому этим разложением в неявной форме не пользуются, насколько автору известно.
Произведение х = Аи, где A = L“1AL~*, может быть сформировано в три этапа:
Относительно v решается система L*v = и.
Формируется w = Av.
Относительно х решается система Lx = w.
Любая ленточная или профильная структура М наследуется множителем Холесского L. Разреженная матрица L не обращается. Если А и М имеют ширину ленты 2m +1 н т <| п, то рассмат-
МLL*
Рис. 15.8.1. Сохранение профиля в треугольной факторизации.
риваемый метод требует для формирования х приблизительно (4m 4-3)n ops против п? ops при использовании полной матрицы А. Поэтому когда нужно только несколько собственных чисел и вен- торов, то неявная редукция экономит и время, и память.
На рис. 15.8.1 показано, как L наследует структуру разреженности А.
Простые векторные итерации
Предыдущий параграф мог создать впечатление, что если М может быть представлена в виде LL*, то нет ничего лучше, как применить наиболее подходящий метод к Стандартной проблеме (А, I), где А задана либо в явном, либо в неявном виде. Этот подход, конечно, выдержан в чисто математических традициях — привести новую проблему к известной, которая уже была решена ранее. Однако в настоящей ситуации стандартная редукция может быть не оправдана.
Чтобы изучить этот вопрос, мы рассмотрим заново степенной метод (РМ) и метод обратных итераций (INVIT) гл. 4. Управляющие уравнения этих двух методов со сдвигом а имеют вид
PM: Mvft+1 = (A—ойМ)у^,(15.9.1)
INVIT: (А-ойМ)иЛ+1 = МиЛ(15.9.2)
где тЛ и vA—нормирующие константы. Отметим новый факт, что обе итерации требуют решения систем уравнений.
Случай 1. Если А и М настолько большие, что факторизация неосуществима, то для решения систем (15.9.1) и (15.9.2) нужно осуществить какой-либо внутренний итерационный процесс. Оба этих подхода совпадают по стоимости при отсутствии у М каких- либо специальных качеств.
Случай 2. Если А и М допускают факторизацию, то мы можем сравнить две версии INVIT, а именно
Для вычисления и6+1 из (15.9.2) строится разложение матрицы А—оЛМ.
Решение системы (А—а^'«к+1 = 'адклкдля'адк+1 осуществляется в три этапа:
x* = Lwft, (A—akM)yk = xk,
wfe+1 = (L»yk)nk.(15.9.3)
Если uft+I нормировано тем же способом, что и wfc+1, то . обе версии обладают одинаковой стоимостью, но первая версия несомненно более естественна, чем вторая.
Предшествующие замечания показывают, что для больших матриц имеет смысл сохранять первоначальный вид задачи
(А—АМ) х = о.
Техника деления спектра и итерации по методу секущих из гл. 3 непосредственно распространяются и хорошо подходят к тем случаям, когда А и М имеют малую ширину ленты и не требуются собственные векторы. Более подробно это обсуждается в гл. 11 книги [Bathe, Wilson, 1976].
Большая часть результатов гл. 4 распространяются на пучок (А, М), если только вместо || • Ц используется подходящая норма. Теоретически расширение проходит прекрасно, но на практике новая норма значительно повышает стоимость. Возможно, что мы уже избалованы чрезвычайной простотой евклидовой нормы. Доказательства - приводимых ниже результатов близки по духу к соответствующим доказательствам гл. 4 и будут опущены. Некоторые из них совершенно очевидны, другие не очень. Напомним, что ||х||л1-> = Кх’М-1х.
Теорема. Для произвольного вектора и#=о и числа а существует такое собственное число А пучка (А, М), что
|A-q|^||(A-qM)u||m-V||Mu||m-.' '(15.9.4)
Как и в стандартном случае, превосходным выбором а для INVIT является отношение Релея
р (u) = р (u; А, М) = u*Au/u*Mu, и=/=о.
Теорема. Если матрица Ж положительно определена, то отношение Релея обладает следующими свойствами:
Однородность-. р(аи) = р(и), а=/=0 {степени 0).
Ограниченность: Когда и пробегает единичную сферу, значения р(и) принадлежат интервалу^, A_j].
Стационарность: grad р (и) = VP (и) = 2 (Аи — р (и) Ми)*/и*Ми. Таким образом, р стационарно на собственных векторах пары (А, М) и только на них.
Минимум невязки: ||(А—аМ) и ||м~* ^|| АиЦм-1 — |Р (и) }а||Ми ЦД-ц причем равенство достигается тогда и только тогда, когда о = р(и).(15.9.5)
Предлагались численные методы, имеющие целью исправить тот «недостаток», что величина р(и)не минимизирует ][(А—оМ)и|| по всем а. (Это слегка похоже на то, чтобы забыть обменять валюту перед поездкой за границу.)
Как и раньше, мы определим вектор невязки г (и) соотношением
Au = р (и) Ми + г (и)
и заметим, что оно является ортогональным разложением Au. при скалярном произведении, определяемом М-1, т. е. (г(u), Mu)m-i = 0. Можно проверить, что г*и = 0, но в рассматриваемом случае это не так важно.
Итерация с соотношением Релея (RQI) порождает последовательность (xft) с помощью уравнения
(А —рАМ)хА+1 = МхАтА,(15.9.6)
где тА выбрано так, чтобы || Мх^))^ —i = 1 для всех к и рА = р(хА). Теория сходимости RQI дана в следующих трех теоремах.
Теорема. Предположим, что {хА}—*z при к—со, где г—собственный вектор, и пусть ^к =/Д^Ч' №Д при скалярном произведении, определяемом М-1. Тогда
lim Mg'IW^'hlsC I-(15.9.7)
k -* оо
Теорема. Ц(А—pft_i М) хА+1 Цм-i ^||(А — рйМ)хА||л1-> для всех к.
(15.9.8)
Теорема. Для любого ненулевого начального вектора х0
рА —► р при к—* оо и либо
кубически (pft, х^—*(к, z)—собственной паре пучка (А, М), либо
{x2ft}->x+ и {х2А+1}-*х линейно, где х±— биссектрисы углов между собственными векторами, соответствующими собственным числам р ± т, и
т = ПтД(А—рАМ) xJm-.
Режим (с) неустойчив в условиях округлений,(15.9.9)
Другие итерационные подходы
Степенной метод и метод RQI предназначаются для решения однородных систем уравнений (А—XM)z = o. Конечно, величина А неизвестна, и поэтому задача нелинейна. Тем не менее почти каждый известный подход к решению линейных систем приводит к соответствующему итерационному методу для задачи на собственные значения. Например, метод последовательной верхней релаксации (SOR) может оказаться очень эффективным для специальных задач, когда треугольное разложение матриц невозможно. Для' подробного ознакомления с этими идеями читателю можно порекомендовать работы [Ruhe, 1975, 1977]. По мнению автора, ни один из итерационных методов вида хй+1 = фй(х6) не может
конкурировать с методом Ланцоша, в котором не отбрасывается предыдущая информация.'
По той же причине мы не описываем те методы, которые осуществляют поиск минимума величины ||(А—рМ)х|| различными градиентными методами, хорошо зарекомендовавшими себя в более общей проблеме минимизации нелинейных функций. В нашем случае евклидова норма Ц • Ц не является естественной для рассматриваемой задачи, и поэтому нет оснований полагать, что подобные итерации будут быстро сходиться.
Одним из простейших итерационных подходов является координатная верхняя релаксация. Идея заключается просто в минимизации р(х-|-аеу; А, М) по всем а для каждого координатного вектора по очереди. Здесь х—текущий приближенный вектор, /-ая компонента которого изменяется. На практике оказывается выгодной верхняя релаксация, т. е. замена х на x-j-roaey при некотором <о £ (1,2). Каждый шаг требует два матрично-векторных умножения, и, что неизбежно, свойства сходимости оказываются не очень удовлетворительными..
Обычный аргумент в пользу этих простых итерационных подходов заключается в том, что они не требуют факторизации матриц и, следовательно, только они применимы к проблемам с огромными матрицами А и М, где факторизация представляется невозможной. Это рассуждение пренебрегает старой пословицей: «Кто хочет, тот всегда найдет». Примеры, поставляемые инженерами- строителями, показывают, что нет пределов размерам матриц, которые могут быть факторизованы. Конечно, вторичная память интенсивно используется, когда п > 5000, а надлежащее управление обменами между различными иерархиями памяти не легкая задача, к тому же она выходит за пределы этой книги.
В том случае, когда факторизация отвергается, уравнение Мх = Ь может быть решено либо итерациями, либо методом сопряженных градиентов. Поэтому здесь можно применять и алгоритм Ланцоша, и итерации подпространства, как это описано в оставшихся параграфах.
Упражнения к параграфу 15.9
Доказать (15.9.4).
Доказать (15.9.5).
Провести подсчет числа операций одного шага RQI, предполагая, что полуширина ленты для матриц А и М равна тп. Предположить также, что А—р6М допускает факторизацию и воспользоваться таблицей разд. 3.1 для подсчета числа операций.
Доказать (15.9.7).
Доказать (15.9.8).
Аппроксимации Релея — Ритца
Пусть (пхт)-матрица S имеет полный ранг т ^ п. Мы хотим найти формулы тех линейных комбинаций столбцов S, которые в совокупности дают наилучшие аппроксимации некоторых собственных векторов пучка (А, М). Иначе говоря, мы хотим найти наилучшие аппроксимации из span S. Наш критерий понятия «лучший» взят непосредственно из стандартной проблемы, обсужденной в гл. 11. Такой подход отчасти неудовлетворителен, если говорить о независимом развитии теории матричных пучков, но это позволяет избежать довольно сложного обсуждения присущих (А, М) геометрических свойств.
Каждая симметричная положительно определенная матрица обладает единственным положительно определенным квадратным корнем, и для теоретических целей удобно исследовать приведение (А, М) к стандартной форме при помощи квадратного корня М1/8 из М. Исходное основное уравнение
Az —MzX = o(15.10.1)
перепишем в виде
(М~1/2АМ~1/8—^ap/Sz-M-v^o.(15.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—5Й Ц/7(15.10.4)
по всем матрицам Н порядка т достигается выбором
.Н = р(£) = §*А§.(15.10.5)
Заметим, что здесь используется || • ||/ вместо || • Д. К тому же наилучшими аппроксимациями собственных векторов А из spanS являются векторы Sgz, i = l, .... т, где Hg,- = gz9z и ||gzJ=l. Короче, аппроксимациями Ритца являются столбцы матрицы SG, где G0G*—спектральное разложение Н.
Опишем теперь эту характеризацию с помощью выражений, включающих в себя матрицы А и М. Из (15.10.5) и (15.10.3) имеем
Й = (S*MS)-42 (S*AS) (S*MS)-!/2.(15.10.6)
К счастью, матрица Н не требуется в явном виде, но именно ее собственные пары (9,-, g,) приводят к аппроксимациям Ритца. Из (15.10.6) получаем уравнение
'(S*AS—9,S*MS) (S*MS)~1/2g,- = o,(15.10.7)
которое обычно записывается как
(As — 6,Ms)g, = o, i=l, ...,т.(15.10.8)
Наилучшими аппроксимациями к z,- являются векторы Sg,-, и поэтому, согласно (15.10.2), наилучшими аппроксимациями к первоначальным z являются векторы-
М-1/2 —Sg,-=S (S*MS)-1/2 gf = Sg,-, i=\,...,m (15.10.9).
Суммируем изложенное в виде следующего заключения
Аппроксимациями Релея — Ритца для пучка (А, М) из spanS являются пары ^b^6iY i = ^> ...,т, где (9,-, g,) удовлетворяют (15.10.8). Они оптимальны в смысле минимизации велйчины
flM-i/^ Р|> = след (R*M-1R)
по всем матрицам невязок R, где\; = Ах,-—Мх,-р,-, i= 1, ..., т и х1Мх/ = Ьи {символ Кронекера) х,€spanS.
Упражнения к параграфу 15.10
Пусть <•, •>—функция, задающая скалярное произведение в 9У1. Найти скаляр р, который для заданного х миннмнзирует выражение <Ах—Мх р, Ах — Мх р>.
Вывести уравнение (15.10.7).
Алгоритмы Ланцоша.
Очень рекомендуется предварительное знакомство с гл. 13.
Пусть заданы матрицы А и М (М положительно определена) и множитель Xодесского L матрицы М. Тогда алгоритм Ланцоша с выборочной ортогонализацией или без нее может быть непосредственно применен к неявно заданной матрице k = L~1NL*) как это описано в § 15.7. Пользователь, которому предоставлена программа ОР, реализующая произведение матрицы на вектор, должен дополнить ее операциями с матрицей L, но сама программа
реализующая метод Ланцоша, не должна видоизменяться совсем. В конце процесса каждый вычисленный вектор у должен быть преобразован в собственный вектор z пучка (А, М) посредством решения относительно z системы L*z = y. Такой подход очень удовлетворителен и широко используется на практике, когда М имеет узкую ширину ленты.
С другой стороны, можно использовать алгоритм непосредственно для матрицы М-1А, заданной опять неявно, и такой подход является весьма ценным в случае, когда М не может быть подходящим образом факторизована. В этом случае метод Ланцоша нужно переформулировать с учетом матрицы М и соответственно должны быть немного модифицированы алгоритмы его реализации из гл. 13.
Математическое распространение метода осуществляется непосредственно. Основные трехчленные рекуррентные соотношения принимают вид
Mq/+1p/+1 = Aqy—Mq/ty—Mq^^.
Индексы коэффициентов 0 сдвинуты на единицу1’. Векторы Ланцоша qn q2, ... не являются взаимно ортонормальными, но они М-ортонормальны, т. е. q’Mqy = 6f/. Трехдиагональная матрица Ту та же, что и раньше, и, если алгоритм продолжается до п шагов, он приводит к обратимой матрице Q, с помощью которой пучок (А, М) преобразуется к стандартной форме (Т, I). В конце /-го шага алгоритма мы имеем матрицу Qy = (qv . ...q^) и матрицу Ту—ведущую главную (/ х /)-подматрицу Т. Если (9, s) — собственная пара Ту, то (9, Qy, s) будет соответствующей парой Ритца для пучка (А, М) (см. § 15.10).
Для теоретических и практических целей полезно ввести дополнительные векторы рп р2, ..., определяемые соотношением pz = Mq;. Заметим, что последовательности (q() и (рД биортонор- мальны в <§п, т. е. р^/ = 6бу.
Алгоритм с выборочной ортогонализацией обобщается непосредственным образом. Простой алгоритм получается опусканием первого шага в приведенной ниже схеме реализации.
Алгоритм Ланцоша с выборочной ортогонализацией для пучка (А, Л1)
Выберем и^о. Вычислить гг-«— Мщ и 0t *— КиГ^ >0. Для /=1, 2, ... повторить этапы с первого по девятый:
. Если имеются некоторые пороговые векторы, то с их помощью осуществить коррекцию вектора Uy. Затем заново ВЫЧИСЛИТЬ Гу Миу и 0уjAj/Гу.
По сравнению с гл. 13.— Прим, перев.
q/*-Uy/Py
Uy^-Aqy—ру.^у (р0 = о).
ay —q-Uy.
р/*-Гу/ру.
r/+1*~ Uy—руау.
Для отыскания u/+1 (=q/+ip/+i) решается система Ми,+1= =r/+i-
Р/+1"* l^u/+ir/+i-.
Вычислить требуемые пары (9(, s,) матрицы Ту. Проверить наличие пороговых векторов и нужна ли пауза. Проверить критерий сходимости. Если исходные требования удовлетворены, остановить процесс.
Замечания'.
Было отмечено, что нельзя применять метод Ланцоша, если не может быть факторизована матрица М. Однако итерационные методы на этапе 7 могут максимально использовать разреженность. Простым начальным вектором является diag(M)-1 г/+1.
■ 2. Этапы 5 и 7 добавлены к алгоритму гл. 13. Этап 5 увеличивает число операций на одном шаге (не считая матфично-век- торных умножений) с 5 до 6. Для хранения векторов и, г, q, р необходимы лишь четыре л-мерных массива — увеличение на один.
После этапа 4 вектор qy можно записать в последовательную память. Запоминать ру нет необходимости.
Величины фу,- = фу | е* Sy | все еще характеризуют меру сходимости, но уже в новой норме (см. упр. 15.11.2).
Приведенный выше алгоритм может выгодно применяться даже тогда, когда М допускает факторизацию, как это отмечено ниже. ■
Как пользоваться программой алгоритма Ланцоша ' Вычисление собственных векторов, соответствующих всем собственным числам из интервала [а—<о, о + <о],— часто возникающая задача. Пусть матрицы А и В могут быть большими и разреженными, но для одной из них или даже двух осуществимо треугольное разложение. В этом случае оказывается выгодным применять алгоритм Ланцоша вместо пучка (А, М) к пучку (М, А—оМ) (см. [Ruhe, Ericsson, 1980]).
Если при вычислении Aq или решении системы Ми = г интенсивно используется вторичная память, то вычисление AQ или решение системы MU = R для (лхт)-матриц Q, U и R прит>1 может стоить ненамного дороже. При этих обстоятельствах блочный алгоритм Ланцоша с выборочной ортогонализацией оказы-
вается наиболее эффективной процедурой для вычисления собственных чисел и векторов. Работы этого направления интенсивно развиваются.
Упражнения к параграфу 15.11
Пусть полуширина ленты у матриц А и М равна m и М факторизована в виде LL*. Подсчитать количество операций, требуемых для одного шага алгоритма, предполагая, что реализация произведения Aq требует (2т + 1) п ops.
Нормой какой невязкн является величина Ру,?
Проверить, что алгоритм гл. 13, использующий матрицу A(=L-1AL“*), и изложенный в этом параграфе алгоритм для пучка (А, М) приводят в точной арифметике к одной и тон же матрице Ту.
Итерирование подпространства
Изложенные в гл. 14 методы легко обобщаются на случай проблемы (А—ХМ)х = о, когда М положительно определена. Как установлено в § 15.9, стоимость одного шага степенного метода (или прямой итерации) приблизительно та же самая, что одного шага обратной итерации (если М не диагональная), а ускорение сходимости в случае последнего метода делает его предпочтительным для вычисления малых собственных чисел больших разреженных пучков (А, М). Основная идея итерирования подпространства заключается в комбинировании блочных обратных итераций при использовании время от времени сдвигов с аппроксимациями Релея — Ритца на каждом шаге.
Тонкие реализации метода стали стандартным инструментом анализа динамики структур всех видов. Для типичных задач п > 1000, но, к счастью, у А и М полуширина ленты обычно приблизительно равна 100 и пучок (А, М) является положительно определенным. Как правило, требуется вычислить около 10 наименьших собственных чисел вместе с соответствующими им собственными векторами или (при расчетах, связанных с землетрясениями) все собственные числа, меньшие некоторой определенной величины.
На каждом шаге к алгоритм вычисляет (п х т)-матрицу S<fel, столбцы которой являются текущими аппроксимациями собственных векторов. Как показано в гл. 14, некоторые столбцы будут сходиться быстрее других, и на практике важно получить от этого явления какую-то выгоду, хотя в дальнейшем это обсуждаться не будет.
Одним из недостатков итерирования подпространства является то, что т должно быть выбрано больше, чем число векторов, которые нужно вычислить в действительности. Улучшение ско-
Таблица 15.12.1
Общая схема метода итерирования подпространства 11
ДАННЫЕ: А, М — матрицы порядка п со средней полушириной ленты, равной <о.
S6 (пХ/п)-матрица, состоящая на шаге к из приближенных собственных векторов.
б**1 диагональная (тх ту матрица значений Ритца 1 < т<<я<п.
НАЧАЛЬНЫЕ ВЫЧИСЛЕНИЯ
КОЛИЧЕСТВО ОПЕРАЦИЙ
1. Выбор первоначального сдвига о.
И. Разложение LAL* матрицы А — аМ.
III. Выбор т начальных векторов, являющихся столбцами S(o). О<0) полагается равной 1я.
л (о -|-1) (со -}- 2) /2 « пт
ИТЕРАЦИИ: Для к= 1, 2
Ортогонализация S(A-1) к известным собственным векторам (когда это необходимо).
Формирование правой части р(6> = 1У15(*-1,9<А~1>, которая масштабируется матрицей в<*-1).
Решение системы LL*S<*> =R<ft>.
Вычисление проекций А н М на spanS<fel для полу-' чеиия A<*o = S<*>*R<*> и М«> =S<*>MS<*>.
Решение проблемы собственных значений
(А<*> —aM<ft>) G<6> = M(*>G<*>9*
порядка" т для сдвинутых значений Рнтца 9<*> и ортонормальной (по отношению к М<А)) матрицы собственных векторов G<6>.
Формирование нового базиса
S^>=S<»>G<fe>.
Проверка критерия сходимости.
2 пт (о>+ 1)
2птю
2пт*-Упт (2«> + U
10/п»
П/714
ОБЩЕЕ КОЛИЧЕСТВО ОПЕРАЦИЙ3nm(2©+m+ 1) + „.
11 Из работы [Wilson, 1975].
рости сходимости дает более чем достаточную компенсацию за увеличение работы, но, чтобы решить априори, насколько больше надо ввести дополнительных столбцов, достаточно удовлетворительного способа нет. Отметим, что эффективность программы чрезвычайно чувствительна к выбору размера блока.
Алгоритм представлен в таблице 15.12.1.
.12.1. Комментарии к таблице 15.12.1
. Выбор о обсужден в§ 14.5. Во многих приложениях пользователь располагает дополнительной информацией, позволяющей разумный выбор сдвига. Это пример трудностей, стоящих на пути реализации метода итерирования подпространства в виде программы типа «черный ящик». Эффективность программы сильно зависит от выбора параметра о.
. Более подробно детали изложены в гл. 3. Проверьте v(A), чтобы видеть, где о фактически делит спектр.
. Иногда знакомство с характером приложений может помочь выбрать начальные векторы. Не обязательно, чтобы столбцы S*"’ были М-ортонормальны, но они должны быть сильно линейно независимы. В отсутствие дополнительной информации разумным выбором первого.столбца S*0’ является сумма первых [п/т] столбцов 1„, второго столбца—вторых [п/т] столбцов 1„ и так далее. Векторы со случайными компонентами, кажется, не очень эффективны. Начальные векторы должны быть ортогонали- зованы ко всем известным собственным векторам.
. 1. Если собственные векторы вычисляются комплектом (/ за один раз), то важно поддерживать текущее подпространство М- ортонормальным ко всем известным собственным векторам. Тем не менее нет необходимости проводить ортогонализацию на каждом шаге. Частота, с которой должен исчерпываться известный собственный вектор z;, зависит от отношения шах^-11 |/|Х,-—о]. Таким образом, если ^ очень близко к о, то г, будет сходиться за один или два шага и после этого он может быть удален из итерационного процесса путем ортогонализации столбцов S(AI к z^ Конечно, значение т уменьшится, и мы получим соответствующий выигрыш в эффективности процесса.
При возрастании к заполненные (тхт)-матрицы Kvk' и М(А> все больше доминируются диагональными элементами. Это делает метод Якоби, изложенный в § 15.6, очень привлекательным, несмотря на отсутствие какого-либо доказательства сходимости, поскольку число полных циклов, требуемых для того, чтобы сделать внедиагональные элементы незначительными, обычно находится между тремя и шестью в зависимости от рабочей точности.
Практические соображения
Те, кто связаны с вычислением собственных чисел и векторов больших пучков (А, М), хорошо осведомлены, что успех в решении задачи зависит от удачного сочетания средств для (а) генерирования матриц А и М, (Ь) перемещения информации в оперативную память и из нее, (с) вычисления результатов и (d) управления процессом ввода-вывода информации. Для больших проблем становится все более затруднительным изолировать численный метод от операционной среды. Важным следствием этого является трудность априорного измерения стоимости метода и соответственно его эффективности. -
Если m матрично-векторных произведений Ахп ..., Ахт можно реализовать с той же скоростью, как одно произведение, то относительные скорости соперничающих методов могут сильно измениться, и наши привычные суждения будут нарушены. Относительно элементарных операций заметим, что затраты времени, требуемые для вызова, запоминания, сложения, умножения и деления становятся все ближе друг к другу, и эта тенденция приведет к тому, что многие обычные подсчеты числа операций будут только вводить в заблуждение. С другой стороны, важность отношения времени деления к времени умножения переносится на более высокий уровень операций, а именно к проблеме отношения стоимости решения системы Ах = Ь к стоимости формирования произведения АЬ. Здесь разреженность структуры и характеристики вычислительной системы решающим образом влияют на картину вычислительного процесса.
Эта книга сконцентрирована на тех аспектах численных методов, которые не зависят от особенностей вычислительных систем, но это не означает, что мы преуменьшаем роль последних. По мере того как численные методы становятся лучше адаптированными к современным средствам, узкое место в программном обеспечении передвигается к проблемам управления данными.
Примечания и ссылки
Несколько подробнее матричные пучки обсуждены в книге Гантмахера. Наибольшая часть материала § 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].
Неявная редукция к стандартной форме хорошо известна, но не всегда излагается таким способом. Распространение итераций Релея и процедуры Релея—Ритца на пучки матриц дано с некоторыми деталями, поскольку, как мне кажется, этот материал не представлен где-либо еще в доступной форме. Был соблазн изложить процедуру Релея —Ритца с более абстрактной точки
зрения, т. е. рассматривая ее естественное появление нз соответствующей (присущей ей) геометрической интерпретации. Однако оказалось, что необходимая подготовительная работа превосходит получаемую выгоду.
Теория метода координатной релаксации освещена в [Schwarz, 1977), а практические аспекты—в работе [Shavitt, Bender, Pipano, 1973]. В книге не рассматриваются релаксационные методы, с ними читатель может познакомить- тя по всестороннему и современному обзору [Ruhe, 1977].
Применению алгоритма Ланцоша к пучку (А, М) посвящены работы [Weaver, Yoshida, 1971), [Golub, Underwood, Wilkinson, 1972] и [Cullum, Donath, 1974]. Идея неявного использования M-1A обсуждалась в [Wiberg, 1973] и [McCormick, Noe, 1977]. Критерий остановки, основанный на наблюдении за поведением значений Рнтца 0р, был дан в [van Kats, van der Vorst, 1976]. Идея ленточного алгоритма Ланцоша принадлежит Руэ [Ruhe, 1979].
Инженерами-строителями была проделана настолько обширная работа с методом итерирования подпространства, что перечисление всех придуманных ими трюков' и модификаций заняло бы очень много времени и места. Две работы [Bathe, Wilson, 1976] и [Jennings, 1977] как будто синтезируют весь этот опыт. Превосходный обзор исследований в области вычислений для больших задач на собственные значения был дан Стюартом [Stewart, 1976]. '
ПРИЛОЖЕНИЕ А
Элементарные матрицыи матрицы ранга единица
Элементарными операциями со строками матрицы В являются: (а) перестановка двух строк, (Ь) умножение строки на ненулевой скаляр и (с) прибавление кратного одной строки к другой. Такие операции могут быть реализованы умножением В слева на некоторые достаточно простые матрицы, которые традиционно называют элементарными. Понятие элементарной матрицы приобрело значение в свете важного результата, что любая обратимая матрица может быть представлена как произведение элементарных матриц (многими способами)..
В 1950 г. Хаусхолдер исправил определение, одновременно упростив его и сделав более общим.
Определение. Элементарной матрицей называется любая квадратная матрица вида.
14-матрица ранга единица.(АЛ)
Элементарные матрицы могут храниться в компактной форме и обратные к ним можно, как мы сейчас увидим, легко выписать.
Все матрицы с рангом, равным единице, представимы в виде ху*, поскольку каждый столбец является кратным некоторого х и каждая строка—кратной некоторому у*. На практике хну обычно нормируют и матрицу ранга единица записывают в виде
uav*,(А.2)
где ||и||—1|и||=1. Следовательно, матрица (АЛ) может быть переписана как ■
Е = 1— uav*.(А.З)
Легко проверить, что Е-1 существует тогда и только тогда, когда av^u^l. В этом случае
Е-1=1— utv*,(А.4)
где T”i4’CT”l = v*U' Таким образом, (А.4) утверждает, что Е-1 тоже элементарная матрица. Отмегим, что u, v, о и т определяют одновременно Е и Е”1 и в практической работе произведение ЕВ может быть реализовано только за 2па действий против п8 дейст-
вий, если структура Е игнорируется. В общем случае Е может оказаться полной матрицей, если она была сформирована явно.
Элементарные матрицы действительно являются полезными инструментами.
Упражнения к приложению А
А.1. Найти значения u, v и а, которые определяют традиционные элементарные матрицы, описанные в первом предложении.
А.2. Проверить, что (А.2), (А.З), (А.4) продолжают сохранять силу, когда и и v разрешается быть (лХл)-матрицами (т<л), удовлетворяющими условиям u*u=v*v = lm. Разумеется, о и т становятся (mXm)-матрицам и.
ПРИЛОЖЕНИЕ В
Многочлены Чебышева
Для заданного положительного целого k функция соз^ф не является многочленом от ф, но она оказывается многочленом степени к от созф. Этот многочлен, конечно, корректно определен для значений аргумента вне интервала [—I, I], но не может быть выражен через косинусы. Если ф = |, то ф = соз~1£=агссоз|н cos(&arccos£) = cosfop,—1^£^1>
ch(^arcch^), |5|> К
=| Ин Vv-ty+а+г р=л )-*] при । ^ । > 1,
~у(2|)* при 5—* °°. к фиксировано.
Кроме того,
ТА(1)= I для всех к,
z41-e;-2^1_|Ггу|
~у exp ^к Уб), к У в > 1, в —*0.
Т6(14-е) быстро возрастает для малых е и больших в(е>0), что н делает ускорение Чебышева столь полезным (см. табл. ВЛ).
Таблица В.1
Типичные значения 7‘^(14-2у)
т
Ю’4
ю~3
иг2
10~1
10
1.0201
1.2067
3.7502
2.5227 X" 102
ю2
3.7621
2.7876 X 102
2.3466 X 10*
5.3436 X 1026
2 X 102
2.7306 X 101
1.5542 X 10’
1.1014 X 1017
5.7107 X 10”
103
2.4250 X 10е
1.4507 X 1027
2.5927 X 10м
9.7179 X 10**
Простая грехчленная рекурсия позволяет вычислять Т^^без явного использования его коэффициентов. Рекурсия представляет
Экетремумы Т7 г cos U«/7'), J= 0,. .■. ,7
о Нули
Рис. ВЛ. График многочлена Тп.
собой скрытую форму равенства
cos (^-|-1) ф-ьсоз(&— 1) <р = 2 cos ф cos ^ф, а именно
Многочлен 7\(|)/2*-1 является наименьшим нормированным многочленом степени к при условии,, что величина функции определяется как ее максимальное абсолютное значение на интервале [—1, 1]. Более важным является связанный с этим факт, что из всех многочленов р степени, меньшей или равной к, которые удовлетворяют условию р(у) = 6 для некоторого |yj > 1, наименьшим на интервале [—1, 1] является многочлен
P® = 6Tk(WkW,
358358Многочлен» Чебышева
358
358
ДЛЯ которого
||p|L= max |р(6)| = |61/|Т»(у)|.
-1 <8<i
Чтобы получить аналогичные результаты для интервала [а, ₽], используем адаптированные к нему многочлены Чебышева
Тк £: а, Р) = Тк [(2^—а—Р)/(Р—а)] = Тк ( Ц- 2|=|) .
Ведущий коэффициент Тк (|: а, Р) равен у [4/(Р—а)]*.
Оптимальные характеристики Тк являются следствием их знаменитых свойств: на интервале [—1, 1] 7\(|) достигает своего максимального абсолютного значения ровно &+1 раз, меняя при этом каждый раз свой знак. Других многочленов степени k или меньше, которые имели бы подобное свойство (называемое альтер- нансом) и были бы отличны от кратных Тк, не существует.
Литература*’
Bargmann, V.; С. Montgomery; and J. von Neumann, 1946. ° 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.” Zany, 8:214-235.
Brent, R. P., 1973. Algorithms for Minimization without Derivatives. Englewood Cliffs, NJ.: Prentice-Hall.
Browne, E. T., 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 Guaranteed Convergence for Finding a Zero of a Function.” Trans, on Mathematical Software, 1:330-345.
Cauchy, A., 1821. “Cours D'Analyse de L'Ecole 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. Appl., 22:257-271.
* Cline, A. K.; G. H. Golub; and G. W. Platzman, 1976. “Calculation of Normal Modes of Oceans Using a Lanczos Method." In Sparse Matrix 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.
11 Звездочками помечены работы, переведенные на русский язык, и работы советских авторов — см. список на с. 365.
Crandall, S. H., 1951. “Iterative Procedures Related to Relaxation Methods for Eigenvalue Problems.” Proc. Roy. Soc. Landon, Ser. A, 207:416-423.
Crawford, C. R.,’1973. “Reduction of a Band-Symmetric Generalized 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, 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. Comp., 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. Comp. 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 Reconstruction of a Jacobi Matrix from Spectral Data.” Un. 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.” Monatsh. 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 С. B. Moler, 1967. Computer Solutions of Unear 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 J„ 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. If. New York: Chelsea Publ, Co..
Gentleman, W. M., 1973. “Least Squares Computations by Givens Transformations without Square Roots.” J. Inst. Math. Appl., 12:329-336.
, 1975. “Error Analysis of QR Decompositions by Givens Transfer-
Gill, Р. Е.; G. Н. Golub; W, Murray; and М. A. Saunders, 1974. “Methods for Modifying Matrix Factorizations.” Math. Comp., 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. Comp., 29:1051-1077.
Givens, W., 1954. “Numerical Computation of the Characteristic Values of a Real Symmetric Matrix.” ORNL-1574. Oak Ridge, Tenn.: 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. Comp., 23:221-230.
Hald, О. H., 1976. “Inverse Eigenvalue Problems for Jacobi Matrices.” Un. 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 Rotation." J. Inst. Math. Appl, 13:215-218.
Henrici, P., 1958. “On the Speed of Convergence of Cyclic and Quasicyclio Jacobi Methods for Computing Eigenvalues of Hermitian Matrices.” J. Soc. Ind. 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. Ind. 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. Ind. Appl. Math., 6:189-195.'
1961. “On Deflating Matrices." J. Soc. Ind. 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 Theoiy of Secular Disturbances”. J. 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 Simultaneous Iteration Methods.” in Proc, of Symp. on Applic. of Computer Methods in Eng. Los Angeles: University of Southern California Press.-
Jessen, Р. S., 1972. “The Solution of Large Symmetric Eigenproblems by Sectioning." Soe. Ind. 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 Dept., University of Toronto. Kahan, W., and R. 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. Comp., 20:369-378.
* Kato, T., 1949. “On the Upper and Lower Bounds of Eigenvalues.” J. Phys. Soc. Japan, 334-339.
•, 1966. Perturbation Theory for Linear Operators. New York: Springer-Verlag.■
For general perturbation theory see [Kato,-1966, Chap. 2]...
* Knuth, D. E., 1969. The Art of Computer Programming. Fundamental Algorithms, vol. 1. Reading, Mass.:Addison-Wesley Publ. Co.
* Krein, M. G., 1945. “On Self-Adjoint Extensions of Bounded and Semibounded 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.” ho. 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.” J. Res. Nat. Bur. Standards, Sect. В 45:225-280.
Lehmann, N. J„ 1949. “Calculation of Eigenvalue Bounds in Linear 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." J. Lin. Aig. Appl., 16:43-56.
Moler, С. B., and G. W. Stewart, 1973. “An Algorithm for Generalized Matrix Eigenvalue Problems." Soc. Ind. 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 Meeh. Anal., 1:233-241; 2:423-428.
" Paige, С. C., 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
Eigenproblem.” J. Inst. Math. Appl., 10:373-381.
; 1976. “Error Analysis of the Lanczos Algorithm for Tridiagonalizing a Symmetric Matrix." J. Inst. Math. Appl., 18:341-349.
Pariett, 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.” Sac. Ind. Appl. Math. Rev., 13: 197-208.
1974. “The Rayleigh Quotient Iteration and Some Generalizations for Nonnormal'Matrices.” Math. Comp., 28:679-693.-
Pariett, 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.
Pariett, 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.
Pariett, B. N„ and D. S. Scott, 1979. "The Lanczos Algorithm with Selective Orthogonalization.” Math. Comp., 33:217-238.
Parrott, S., 1978. “On a Quotient Norm and the Sz.-Nagy-Foias Lifting Theorem.” J. 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 Hydrodynamics.” Philos. Mag., 47:556-572.
Reinsch, С. H., 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. “Uber eine neue Method zur Losung Gewisser Varia- tionsprobleme der Mathematischen Physik." J. Rein. Angew. Math., 135:1-61.
Ruhe, A, 1975. "Iterative Eigenvalue Algorithms Based on Convergent Splittings.” J. Comp. 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 Agorithm for Computation of Eigenvalues of Large Sparse Matrices.” Math. Comp., 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. Comp., 35:1251-1261.
Rutishauser, H., 1969. “Computational Aspects of F. L. Bauer’s Simultaneous Iteration Method.” Numer. Math., 13:4-13.
*, 1971. “The Jacobi Method for Real Symmetric Matrices.” In Handbook for Automatic Confutation (.Linear Algebra), eds. J. H. Wilkinson, and С. H. Reinsch, pp. 202-211. New York: Springer-Verlag.
*,1971. “Simultaneous Iteration Method for Symmetric Matrices.” In Handbook for Automatic Confutation (Linear Algebra), eds. J. H. Wilkinson, and С. H. Reinsch, pp. 284-302. New York: Springer-Verlag.
Saad, Y., 1974. “Shifts of Origin for the QR Algorithm." Torontol Pro. I FIP Congress.
1980, “Error Bounds on the Interior Rayleigh-Ritz Approximations fro Krvlov Subsoaces.” Soc. Ind. AppI. Math. J. Num. Anal., 17:000-000.
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,” Comp. Meth, in Appl. Meeh. Eng., 3:11-28.
1977. “More Results on A — XB." Comp. Meth in Appl. Meeh. Eng., 12:181-199.' -
Scott, D., 1978. Analysis of the Symmetric Lanczos Algorithm. Ph.D. 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. Comp. Phys., 11:90-108.
Stewart, G. W., 1970. “Incorporating Origin Shifts into the QR Algorithm for Symmetric Tridiagonal Matrices.” Comm. Assoc. Comp. Mach., 13:365-1367.
■, 1973. Introduction to Matrix Computation. New York: Academic ^ress, 1976. "A Bibliographic Tour of the Large, Sparse . Generalized Eigenvalue Problem.” In Sparse Matrix Confutations, eds. J. R. Bunch and D. J.' Rose. New York: Academic Press.
, 1976. “The Economic Storage of Plane Rotations.” Numer. Math., 25:137-138..
■ . 1979. ‘Terturbation Bounds for the Definite Generalized Eigenvalue Problem.” Un. Alg. and its Appl., 23:69-85.
Strang, G., 1976. Unear 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 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 Submatrices II, the Upper and Lower Quadratic Inequalities.” Un. Alg. and its Appl., 1:211-243.
Traub, J., 1964. Iterative Methods for the Solution of Equations. Englewood Cliffs, N.J.: Prentice-Hall.
Uhlig, F., 1979. “A Recurring Theorem About Pairs of Quadratic Forms and Extensions: A Survey.” Z Un. Alg. Appls., 25:219-238. •1
Underwood, R., 1975. An Iterative Block Lanczos Method for the Solution of Large Sparse Symmetric Eigenproblems. Ph.D. dissertation, STAN-CS-75-496, Stanford .University..
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.” C. 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., 71:441-479.
Whitehead, R. R., 1972. “A Numerical Approach to Nuclear Shell-Model Calculations." Nuclear Physics, A 182:290-300.
Wiberg, T., 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.” Comp. 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, NJ.: Prentice-Hall.
, 1965. The Algebraic Eigenvalue Problem. New York: Oxford Univ. Press.
Wilkinson, J. H„ and С, H. Reinsch, 1971. Handbook for Automatic Computation. Linear Algebra, vol. 2. New York: Springer-Verlag.
Wilson, E. 1978. Private communication.
Zeeman, E. C., 1976. “Catastrophe Theory.” Sci. Amer., 234:65-83.
Zimmerman, K., 1969. “On the Convergence of e Jacobi Process for Ordinary and Generalized Eigenvalue Problems.” Dissertation No..4305. Zurich; Eidgenossische Technische Hochschule.
Работы советских авторов и работы, переведенные на русский язык
Гантмахер Ф. Р. Теория матриц. Изд. 2.— М.: Наука, 1966.
Като Т. Теория возмущений линейных операторов.— М.: Мир, 1972.
Кнут Д. Е. Искусство программирования для ЭВМ. Т. 1. Основные алгоритмы,—М.: Мир, 1976.
Крейн М. Г. О самосопряженных расширениях ограниченных и полуограни- ченных эрмитовых преобразований.— ДАН СССР', 1945, 48, 306—306.
Крылов А. Н. О численном решении уравнения, которым в технических вопросах определяются частоты малых колебаний материальных систем.— ИАН ОМЕН, 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 G. 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 G. W. Introduction to Matrix Computations. New York: Academic Press, 1973. Всесторонняя, авторитетная и легко читается. От читателя требуется большая подготовка, чем в книге Фокса. Включены программы.
Schwarz Н. R., Н. Rutishauser and Е. Stiefel, Numerical Analysis of Symmetric Matrices. Englewood Cliffs N, J.: Prentice-Hall, 1973. Стиль совершенно отличен как от книги Фокса, так и от книги Стьюарта. Изложение классическое, основной материал представлен хорошо, но некоторые численные методы, описанные с такой тщательностью, на удивление устаревшие. Программы на Алголе используются для иллюстрации методов.
Gourlay A. R. and G. 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. Рассматриваемые численные методы совершенно устарели, что и не удивительно. Однако первые три главы представляют полезный набор тем из матричной теории: проекции, факторизации, нормы и выпуклые тела, теория Перрона—Фробениуоа и неравенства, связанные с собственными числами. Этот материал, а также многочисленные задачи и упражнения сохраняют свое
значение. Книга написана компактно, для профессиональных математиков. Пользовалась значительным авторитетом в данной области.
Wilkinson J. Н. The Algebraic Eigenvalue Problem. New York: Oxford University Press, 1965. [Русский перевод: Уилкинсон Дж. Алгебраическая проблема собственных значений.— М.: Наука, 1970.] Сначала представлены те разделы матричной теории н теории возмущений, которые связаны с численными методами. Затем проводится анализ ошибок округления. В основной части книги мастерски и детально рассматриваются все важные подходы к решению проблемы собственных значений. Анализ охватывает как точную арифметику, так и арифметику с шумами. Различные важные примеры иллюстрируют зачастую поразительные эффекты ошибок округления. Эффективное использование «обратного» анализа ошибок, в котором Уилкинсон заслуженно является признанным авторитетом, позволило просто и убедительно объяснить поведение каждого численного метода.
Эта книга является «библией» для тех, кто занимается матричными вычислениями. .
Wilkinson J. Н. and G. Reinsch. Handbook for Automatic Computation Volume II — Linear Algebra. New York: Springer-Verlag, 1971. [Русский Перевод: Уилкинсон Дж., Райнш. Справочник алгоритмов на языке Алгол. Линейная алгебра.— М.: Машиностроение, 1976]. Книга представляет собой собрание восьмидесяти двух программ на языке Алгол и синтезирует в известном смысле двадцать лет работы по переложению основ матричного анализа на язык программирования для вычислительной машины. Наряду с текстом каждой программы имеется ценная сопровождающая документация. Не весь материал принадлежит авторам, но каждая программа в той или иной степени создавалась при их участии. Многие из этих алгоритмов имеются в составе пакета программ EISPACK.
Я предпочитал ориентировать пользователей на соответствующие хорошо оттестированные и имеющиеся в наличии программы из Справочника, вместо того чтобы предлагать мои собственные версии.
Jennings A., Matrix Computation for Engineers and Scientists. New York: John Wiley, 1977. Изложена большая часть методов, используемых в настоящее время для матричных задач, и некоторые устаревшие методы. Много полезных деталей. Упор делается на примеры и эксперименты. Меньше внимания уделено теории и объяснению проведения различных методов. Язык ориентирован на инженеров-строителей.
Описание и примерОписание и пример. Термин.ОпределениеИндексы (положительные целые числа)Нумерация (формул, теорем и т. д.)Скаляры (вещественные нли комплексные числа)Векторы (столбцы)МатрицыСимметричные матрицыДиагональные матрицыСпециальные матрицыСопряженные величиныВекторные пространства и подпространстваРазмерностьСобственные значенияУпорядочение собственных значений. Термин.ОпределениеИндексы (положительные целые числа)Нумерация (формул, теорем и т. д.)Скаляры (вещественные нли комплексные числа)Векторы (столбцы)МатрицыСимметричные матрицыДиагональные матрицыСпециальные матрицыСопряженные величиныВекторные пространства и подпространстваРазмерностьСобственные значенияУпорядочение собственных значений
Описание и пример
Описание и пример
. Термин.
Определение
Индексы (положительные целые числа)
Нумерация (формул, теорем и т. д.)
Скаляры (вещественные нли комплексные числа)
Векторы (столбцы)
Матрицы
Симметричные матрицы
Диагональные матрицы
Специальные матрицы
Сопряженные величины
Векторные пространства и подпространства
Размерность
Собственные значения
Упорядочение собственных значений
. Термин.
Определение
Индексы (положительные целые числа)
Нумерация (формул, теорем и т. д.)
Скаляры (вещественные нли комплексные числа)
Векторы (столбцы)
Матрицы
Симметричные матрицы
Диагональные матрицы
Специальные матрицы
Сопряженные величины
Векторные пространства и подпространства
Размерность
Собственные значения
Упорядочение собственных значений
Обозначения
i, j, k, I, т, п и иногда р.
у. j. k) й-я формула (теорема) параграфа / главы L
строчные греческие буквы а, 0, ^ или строч- вый курсив а^, Х{.
строчные латинские буквы а, х, qx; нулевой вектор о.
Прописные латинские буквы А, В, С.
Симметричные буквы А, Н, М, Т, U, V, W, X, Y.
Греческие буквы А, 6, Ф, Д.
Нулевая матрица О, единичная матрица I, сдвиг матрицы А обозначается А—о (I опускается).
и*, В*.
Рукописные буквы 5?, g, или span(bj, ..., bm), или х-1-.■
Все векторы n-мериые, а матрицы порядка п, если не оговорено противоположное.
Х1, Х2, . . .-
Ху [MJ обозначает /-е собственное значение М.
Xi ^ Х2 ^.. .^ Хп
Х-п<.. .< Х_2< Х-j (это упорядочение полезно для матриц большого порядка).
370
Обозначения
Определители
Характеристические многочлены
det В или det [В].
X (т)э Хд (?) = det [т—А].
Углы
Z У, S) обозначает угол между f н g.
Ортогональность
х±У. х±^-.
Нормы
М = У^х.
|| В || в max | Ви ||/|| и || по всем и ^ 0.
IIBIIf^r SSP//I2
.(=1 /=1.
(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) $82
Голуб (Golub) 9, 155
Гундельфингер (Gundelfinger) 68
Деккер (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
Коши (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
Парлетт (Parlett) 190
Перейра (Pereyra) 182
Пэж (Paige) 9, 14, 145, 155, 275, 285
Пэл (Pal) 182
Пэр рот (Parrot) 254
Райнш (Reinsch) 51, 182
Релей (Rayleigh) 87, 253
Ритц (Ritz) 253
Рутисхаузер (Rutishauser) 182, 192,
310, 317
Саад (Saad) 180, 275
Сеге (Szego) 155
Скотт (Scott) 288, 294
Стречи (Strachey) 189
Стрэнг (Strang) 9, 367
Стюарт (Stewart) 9, ПО, 155, 182, 367
Сузуки (Suzuki) 10.
Сэк (Sack) 182
Темпл (Temple) 225
Том (Thom) 42
Тон-Цун-Чжу (Tong Tshung-chu) 7
Трауб (Traub) 190
Уилкинсон (Wilkinson) 9, 41, 51, 102, 135, 155, 202.
Уилсон (Wilson) 323
Уокер (Walker) 182
Уэлш (Welsh) 182
Фаддеев 73
Фаддеева 73
Фокс (Fox) 102, 155, 367
Форсайт (Forsythe) 9
Фрэнклин (Franklin) 9, 367
Фрэнсис (Francis) 189
Хаусхолдер (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, 113
прямой 41, 114 треугольного разложения 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
Вращения быстрые масштабированные 116
— Гивенса 109, 135, 194
— плоские 135
— Якоби 109, 136, 192
Выборочная ортогонализация (в методе
Ланцоша) 295
Галуа теорема 73
Гаусса преобразование 57
Гильберта — Шмидта норма 28
Гиперплоскость 106
Градуированная матрица 160, 333
Грама —Шмидта ортогонализация 115
Граничная норма [см. Спектральная норма]
Гундельфингера правило 68
Деление пополам 69
— спектра 62, 186
Делитель спектра 63
Диагонализация одновременная пары квадратичных ферм 329
Дополнение по Шуру 57
Евклидово пространство 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
обобщенный 338
сходимость 195
— SOR 343
Методы барьерные 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
Обратный анализ ошибок 113
Обусловленность собственного значения 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
Подпространства базис 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
Собственный вектор 20 с уменьшающимися компонента. ми 279
трехдиагональной матрицы 114
Собственных значений оценка ошибок 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
Якоби вращения 109, 136, 192
— метод 191
bandrd (программа) 138
BQR (программа) 189
E1SPACK (пакет программ) 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
Ю <2000СО tO <D CD 09 ЮCD О О) 03ЮЮОСЧООО—О)^Th Ю —«Th из СП <ИС9 09 0000СО СО 00 00 Th ThTh ю ю IOКЗКЗ Ю СО Ф СО Ь- К£.£. Ь* 0000 00 $ СОЮ <2000СО tO <D CD 09 ЮCD О О) 03ЮЮОСЧООО—О)^Th Ю —«Th из СП <ИС9 09 0000СО СО 00 00 Th ThTh ю ю IOКЗКЗ Ю СО Ф СО Ь- К£.£. Ь* 0000 00 $ СО
Ю <2000СО tO <D CD 09 ЮCD О О) 03ЮЮОСЧООО—О)^Th Ю —«Th из СП <И
С9 09 0000СО СО 00 00 Th ThTh ю ю IOКЗКЗ Ю СО Ф СО Ь- К£.£. Ь* 0000 00 $ СО
Ю <2000СО tO <D CD 09 ЮCD О О) 03ЮЮОСЧООО—О)^Th Ю —«Th из СП <И
С9 09 0000СО СО 00 00 Th ThTh ю ю IOКЗКЗ Ю СО Ф СО Ь- К£.£. Ь* 0000 00 $ СО
Оглавление
Предисловие крусскому изданию 5
Предисловие 7
Введение 11
Глава 1. Основные сведения о самосопряженных матрицах 16
Введение 16
Евклидово пространство 16
Собственные значения■..20
Самосопряженные матрицы 21
Квадратичные формы
Матричные нормы
Обобщенная проблема собственных значений
Глава 2. Задачи, помехи и средства . . .
Что мало? Что велико?
Задачи . . , ,
Противоречивые требования . ,
Арифметика конечной точности . . . . .
Взаимное уничтожение*
Анализ скалярного произведения
Можно ли находить малые собственные значения с малой относительной ошибкой?
Существующие программы
Длительность вычислений
Другие виды машинной архитектуры , , ,
Глава 3. Количество собственных значений
Треугольное разложение
Анализ ошибок треугольного разложения .
Деление спектра
Связь с последовательностями Штурма
Методы деления пополам и секущих .
Скрытые собственные значения , . ,,,,..
Характеристический многдчлен , , , , , , ,
Глава 4. Простые векторные итерации
Собственные векторы матриц ранга 1 , , , ,
Прямая и обратная итерация
Преимущества плохо обусловленной системы ,,,,,,.
Сходимость н ортогональность , , , ,
Простые оценки ошибок , , .
Итерация с отношением Релея, , . .
Локальная сходимость ,,,.,,,.,..,.<.,<<
Монотонность невязок 91
. Глобальная сходимость .,,,,....,,, 92
Глава 5. Исчерпывание ,,,,,,,, , ,,,,,.. .97
. Исчерпывание вычитанием ,...,,.,,,,,....97
■§ 5.2. Исчерпывание посредством сужения 100
Исчерпывание посредством подобных преобразований . . . .101
103103Глава 6. Полезные ортогональные матрицы. (Орудия ремесла.) ,
103
103
§6.1.§6.2.§6.1.§6.2.§ 6.3.§ 6.4." 6.5.§ 6.3.§ 6.4." 6.5.§§§§♦§♦§§§♦§♦§6.6.6.7.6.8.6.9.6.6.6.7.6.8.6.9.Важность ортогональности ,,,,,,,.Перестановки.,,,,.,Отражения (или симметрии),,,,,,,Плоские вращенияРаспространение ошибки в последовательности конгруэнций Обратный анализ ошибок ,.,,,..., QR-разложение и' процесс Грама—Шмидта Быстрые масштабированные вращения . . , Ортогонализация в условиях округлений ,Важность ортогональности ,,,,,,,.Перестановки.,,,,.,Отражения (или симметрии),,,,,,,Плоские вращенияРаспространение ошибки в последовательности конгруэнций Обратный анализ ошибок ,.,,,..., QR-разложение и' процесс Грама—Шмидта Быстрые масштабированные вращения . . , Ортогонализация в условиях округлений ,ортогональныхортогональныхГлава 7. Трехдиагональная форма , , , , , , , ,Введение......Единственность приведения .,,,,.Минимальные характеристики . . , .Явное приведение заполненной матрицыПриведение ленточной матрицы . , . ,Кажущаяся неустойчивость ...,,,Глава 7. Трехдиагональная форма , , , , , , , ,Введение......Единственность приведения .,,,,.Минимальные характеристики . . , .Явное приведение заполненной матрицыПриведение ленточной матрицы . , . ,Кажущаяся неустойчивость ...,,,§7.7.§7.7.Собственные значения — простые ,Собственные значения — простые ,Ортогональные многочлены ..,,,.,,,,,,.Собственные векторы Т . ,, , , , , .Последовательность Штурма . , Когда можно пренебречь внедиагональным элементомОбратные задачи на собственные значения . , , , ,Ортогональные многочлены ..,,,.,,,,,,.Собственные векторы Т . ,, , , , , .Последовательность Штурма . , Когда можно пренебречь внедиагональным элементомОбратные задачи на собственные значения . , , , ,103 104 105 108НО 113 114 116 121127127 128 130 132 136139 140141 144 147 150 152103 104 105 108НО 113 114 116 121127127 128 130 132 136139 140141 144 147 150 152
§6.1.
§6.2.
§6.1.
§6.2.
§ 6.3.
§ 6.4.
" 6.5.
§ 6.3.
§ 6.4.
" 6.5.
§
§
§
§
♦§
♦§
§
§
♦§
♦§
6.6.
6.7.
6.8.
6.9.
6.6.
6.7.
6.8.
6.9.
Важность ортогональности ,,,,,,,.
Перестановки.,,,,.,
Отражения (или симметрии),,,,,,,
Плоские вращения
Распространение ошибки в последовательности конгруэнций
Обратный анализ ошибок ,.,,,..., QR-разложение и' процесс Грама—Шмидта Быстрые масштабированные вращения . . , Ортогонализация в условиях округлений ,
Важность ортогональности ,,,,,,,.
Перестановки.,,,,.,
Отражения (или симметрии),,,,,,,
Плоские вращения
Распространение ошибки в последовательности конгруэнций
Обратный анализ ошибок ,.,,,..., QR-разложение и' процесс Грама—Шмидта Быстрые масштабированные вращения . . , Ортогонализация в условиях округлений ,
ортогональных
ортогональных
Глава 7. Трехдиагональная форма , , , , , , , ,
Введение......
Единственность приведения .,,,,.
Минимальные характеристики . . , .
Явное приведение заполненной матрицы
Приведение ленточной матрицы . , . ,
Кажущаяся неустойчивость ...,,,
Глава 7. Трехдиагональная форма , , , , , , , ,
Введение......
Единственность приведения .,,,,.
Минимальные характеристики . . , .
Явное приведение заполненной матрицы
Приведение ленточной матрицы . , . ,
Кажущаяся неустойчивость ...,,,
§7.7.
§7.7.
Собственные значения — простые ,
Собственные значения — простые ,
Ортогональные многочлены ..,,,.,,,,,,.
Собственные векторы Т . ,, , , , , .
Последовательность Штурма . ,
Когда можно пренебречь внедиагональным элементом
Обратные задачи на собственные значения . , , , ,
Ортогональные многочлены ..,,,.,,,,,,.
Собственные векторы Т . ,, , , , , .
Последовательность Штурма . ,
Когда можно пренебречь внедиагональным элементом
Обратные задачи на собственные значения . , , , ,
103 104 105 108
НО 113 114 116 121
127
127 128 130 132 136
139 140
141 144 147 150 152
103 104 105 108
НО 113 114 116 121
127
127 128 130 132 136
139 140
141 144 147 150 152
Глава 8. Алгоритмы QR в QL ,,,,,,,,,,,,,.,,,,', .156
Введение ,,.,,,,,,,,,,,,,,,,.,,,,156
QL-преобразованне ...,,,,,.,,,,,.,,,,.157
Сохранение ширины ленты ,..,,,,,,,,,,,..158
Связь между алгоритмам» QL н QR......159
'§ 8.5.QL, степенной метод н обратная итерация , , , , , , . .160
Сходимость основного QL-алгоритма ,,,,,,,,,.,162
Отношение Релея как сдвиг ,,,.,,,,,,.,,.,163
Внедиагональные элементы 165
Оценка невязки прн сдвиге по Уилкинсону .,,,,,,.166
Трехдиагональный QL-алгоритм сходится всегда . ,,..168
Асимптотическая скорость сходимости.,,•171
Трехднагональный QL-алгоритм с явными сдвигами.,.174
Вытеснение выступа176
Сдвиги на любой случай179
Как избавиться от квадратных корней ,,,,,,,,,.181
QL-алгоритм для ленточных матриц ., , .188
Главе 9. Методы Якоби ..,,,,,,,,,,,,,,,,,,,,,191
Вращение плоскости ,,,,,,,.,,,,,,,,,,,191
Вращения Якоби .. . .192
Сходимость ....,,.,,,,,,,,,,,,,,,.195
Различные стратегии , . , , , . ,197
Асимптотически квадратичная сходимость ,,,,,,,,,198
Оценка методов Якоби., , , , , , , , ,201
Глава 10. Оценки для собственных значений ,,,,,,,,,,,,,203
Теорема Коши о разделении .,,,,,,,,,,,,,,204
Минимаксные характеризации ,,,,,,,,,,,,,,206
Теорема о монотонности ,, , , . , , ,209
Теорема о разделении с учетом невязок , ,212
5.Оптимальные интервалы Леманна ,216
6.Использование оценок для отсутствующей подматрицы,,221
7.Использование лакун в спектре .,,,,,...,,,,225
Глава 11. Аппроксимации из подпространства . , , , ,228
Подпространства и их представление , , ,228
Инвариантные подпространства .,,,,.,,,..,,230
Процедура Релея —Ритца , . . . ,,..,,232
Оптимальность 234
Оценки через невязку для очень близких значений Ритца 237
Оценок для векторов Ритца через невязки не существует , ,240
Отделенность в спектре 241
Сжатие невязкн 245
§ 11.9. Априорные оценки для внутренних аппроксимаций Ритца 246
§ 11.10. Неортогональные базисы ,,,,,, , ,,,,,,., ,249
§ 11.11. Теорема о расширении .,,,,,,.,,,,,,,,,251
Глава 12. Подпространства Крылова ,,,,,,,,,,,,,,, , ,255
Введение 255
Основные свойства,....,.,,,,,,257
Полиномиальные представления , . , , , ,259
4. Оценки Каниэля и Саада для ошибок ..,.,,,,,,262
Сравнение со степенным методом .' 270
Частичное приведение к трехднагональному виду , , , , ,272
Глава 13. Алгоритмы метода Ланцоша,,..,,276
Подпространства К рылова 4-процедураРелея — Ритца = метод Ланцоша ,,,..,,,,276
Оценивание точности, , , , ,279
Влияние арифметикисконечнойточностью ,,,,,,,281
Теорема Пэжа , . , ,284
Альтернативная формула для Ру , , ,288
Сходимость вызывает потерю ортогональности ,,,,,,,289
Сохранение ортогональности ..,,,,,,,,,,,,,292
8. Выборочная ортогонализация ...,,,,,,,,,,,295
9. Анализ выборочной ортогонализации , , , ,300
10. Ленточный (нли блочный) алгоритм Ланцоша ,,,,,,305
Глава 14. Итерирование подпространства ..,,,,,,, 309
Введение 309
Реализации 311
Усовершенствования ,,,,.,.,, ,316
4. Сходимость■, , , , ,318
Секционные методы ,,,,,,,,,,,,,,,,,,,322
Глава 15, Обобщенная линейная проблема собственных знач.ений , , ,325
Введение 325
Симметрии недостаточно 326
Одновременная диагонализациядвухквадратичных форм 329
Явное приведение к стандартнойформе 332
5.Приведение Фикса — Хайбергера 334
QZ-алгоритм ,. . 338
Обобщенный метод Якоби 338
Неявное приведение к стандартной форме 340
Простые векторные итерации341
Аппроксимации Релея — Ритца , 345
Алгоритмы Ланцоша 346
Итерирование подпространства 349
Практические соображения 352
Приложение А. Элементарные матрицы н матрицы ранга единица . . .354
Приложение В. Многочлены Чебышева 356
Литература 359
Аннотированная библиография 367
Обозначения 369
Именной указатель .,,,,,,,.,..,....,...,. ■ .371
Предметный указатель . , , , ,.,.,,.,, , ,.,,,.... •373
Уважаемый читатель!
Ваши замечания о содержании книги, ее оформлении, качестве перевода и другие просим присылать по адресу: 129820, Москва, И-ПО, ГСП, 1-й Рижский пер., 2, издательство «Мир»,
Бересфорд Парлетт
вИММЕТРИЧНАЯ ПРОБЛЕМА СОБСТВЕННЫХ ЗНАЧЕНИЙ.
Численные методы
Научный редактор К. Г. БатаевМл. научный редактор Н. С. ПоляковаХудожник Н Н. ДроноваХудожественный редактор В. И. ШаповаловТехнический редактор В. С. ПотапенковаКорректор Н. А. Гнря
ИВ № 3339
Сдано в набор 07.06.82.
Подписано к печати 15.10.82.
Формат 60X90I/ie.
Бумага кн.-журн
Гарнитура литературная. Печать высокая.
Объем 12,00 бум. л. Усл. печ. л. 24,00. Усл. кр.-отт. 24,00.
Уч.-изд. л. 20,51. Изд. № 1/2089. Тираж 1 1000 экз.
Зак. jV$ 335. Цена 1 р. 70 к.
Издательство «Мир»Москва, 1-й Рижский пер., 2.
Ордена Октябрьской Революции и ордена Трудового КрасногоЗнамени Первая Образцовая типография имени А А. ЖдановаСоюаполиграфпрома при Государственном комитете СССР по де-лам издательств, полиграфии н книжной торговли. Москва,М-54, Валовая, 28.
11 Правой части.— Прим. перев,
*• Помимо тех собственных значений, которые лежат вне обоих интервалов,— Прим, перев.
' 2> По номеру.—Прим, перев.
® В средней части неравенства,— Прим, перев.