Алгоритм собственных значений - Eigenvalue algorithm

В численном анализе , один из наиболее важных проблем является разработка эффективных и устойчивых алгоритмов для нахождения собственных значений матрицы А матриц . Эти алгоритмы собственных значений могут также находить собственные векторы.

Собственные значения и собственные векторы

Дан п × п квадратной матрицы А из реальных или комплексных чисел, в собственных значениях Л и связанный с ним обобщенным собственным вектором v представляет собой пару подчиняясь соотношению

где v - ненулевой вектор-столбец размера n × 1 , I - единичная матрица размера n × n , k - положительное целое число, и и λ, и v могут быть комплексными, даже если A является вещественным. Когда k = 1 , вектор называется просто собственным вектором , а пара называется собственной парой . В этом случае A v = λ v . Любое собственное значение λ из A имеет обычные собственные векторы , связанные с ним, поскольку , если к является наименьшее целое число такое , что ( - & lambda ; i ) к v = 0 для обобщенного собственного вектора v , а затем ( - & lambda ; i ) к -1 v является обычным собственным вектором . Значение k всегда можно принять меньше или равным n . В частности, ( A - λI ) n v = 0 для всех обобщенных собственных векторов v, связанных с λ .

Для каждого собственного значения λ из А , то ядро кег ( - & lambda ; i ) состоит из всех собственных векторов , связанных с Х (наряду с 0), называется подпространством из Х , в то время как векторное пространство кег (( - & lambda ; i ) п ) состоит из всех обобщенные собственные векторы и называется обобщенным собственным подпространством . Геометрическая кратность из Й является размерностью его собственного подпространства. Алгебраическая кратность из Й является размерностью его обобщенного собственного подпространства. Последняя терминология оправдывается уравнением

где det - детерминантная функция, λ i - все различные собственные значения A, а α i - соответствующие алгебраические кратности. Функция р ( г ) представляет собой характеристический полином из A . Таким образом, алгебраическая кратность - это кратность собственного значения как нуля характеристического многочлена. Поскольку любой собственный вектор также является обобщенным собственным вектором, геометрическая кратность меньше или равна алгебраической кратности. Алгебраические кратности в сумме равны n - степени характеристического многочлена. Уравнение р ( г ) = 0 называется характеристическое уравнение , так как его корни в точности собственные значения A . По теореме Гамильтона-Кэли , сама подчиняется тому же уравнению: р ( ) = 0 . Как следствие, столбцы матрицы должны быть либо 0, либо обобщенными собственными векторами собственного значения λ j , поскольку они аннулируются . Фактически, пространство столбцов является обобщенным собственным подпространством λ j .

Любой набор обобщенных собственных векторов различных собственных значений линейно независим, поэтому можно выбрать базис для всех C n , состоящий из обобщенных собственных векторов. В частности, это основание { v i }п
я = 1
можно выбрать и организовать так, чтобы

  • если v i и v j имеют одно и то же собственное значение, то также v k для каждого k между i и j , и
  • если v i не является обычным собственным вектором и если λ i является его собственным значением, то ( A - λ i I ) v i = v i −1 (в частности, v 1 должен быть обычным собственным вектором).

Если эти базисные векторы поместить как векторы-столбцы матрицы V = [ v 1 v 2v n ] , то V можно использовать для преобразования A в его нормальную форму Жордана :

где λ i - собственные значения, β i = 1, если ( A - λ i +1 ) v i +1 = v i, и β i = 0 в противном случае.

В более общем смысле, если W - любая обратимая матрица, а λ - собственное значение матрицы A с обобщенным собственным вектором v , то ( W −1 AW - λI ) k W - k v = 0 . Таким образом, λ - собственное значение W −1 AW с обобщенным собственным вектором W - k v . То есть похожие матрицы имеют одинаковые собственные значения.

Нормальные, эрмитовы и вещественно-симметричные матрицы

Сопряженный М * комплексной матрицы M транспонированная конъюгата M : M * = M T . Квадратная матрица A называется нормальной, если она коммутирует со своим сопряженным: A * A = AA * . Она называется эрмитовым , если она равна его сопряженным: * = . Все эрмитовы матрицы нормальные. Если A имеет только действительные элементы, то присоединенный элемент является просто транспонированным, а A является эрмитовым тогда и только тогда, когда он симметричен . Применительно к векторам-столбцам сопряженное может использоваться для определения канонического внутреннего произведения на C n : wv = w * v . Нормальные, эрмитовы и вещественно-симметричные матрицы обладают несколькими полезными свойствами:

  • Каждый обобщенный собственный вектор нормальной матрицы является обычным собственным вектором.
  • Любая нормальная матрица подобна диагональной матрице, поскольку ее жорданова нормальная форма диагональна.
  • Собственные векторы различных собственных значений нормальной матрицы ортогональны.
  • Нулевое пространство и изображение (или пространство столбцов) нормальной матрицы ортогональны друг другу.
  • Для любой нормальной матрицы , C п имеет ортогональный базис , состоящий из собственных векторов A . Соответствующая матрица собственных векторов унитарна .
  • Собственные значения эрмитовой матрицы действительны, поскольку ( λ - λ ) v = ( A * - A ) v = ( A - A ) v = 0 для ненулевого собственного вектора v .
  • Если A вещественно, существует ортонормированный базис для R n, состоящий из собственных векторов A тогда и только тогда, когда A симметрична.

Реальная или комплексная матрица может иметь все действительные собственные значения, не будучи эрмитовыми. Например, реальная треугольная матрица имеет собственные значения по диагонали, но в целом не является симметричной.

Номер условия

Любую задачу числового вычисления можно рассматривать как вычисление некоторой функции f для некоторого входа x . Число обусловленности κ ( f , x ) задачи представляет собой отношение относительной ошибки на выходе функции к относительной ошибке на входе и изменяется как для функции, так и для входа. Номер условия описывает, как растет ошибка во время расчета. Его логарифм по основанию 10 показывает, на сколько цифр точности меньше, чем во входных данных. Номер условия - это лучший сценарий. Он отражает нестабильность, заложенную в проблему, независимо от того, как она решается. Ни один алгоритм не может дать более точных результатов, чем указано в номере условия, за исключением случая. Однако плохо спроектированный алгоритм может дать значительно худшие результаты. Например, как упомянуто ниже, проблема нахождения собственных значений для нормальных матриц всегда хорошо обусловлена. Однако проблема нахождения корней многочлена может быть очень плохо обусловлена . Таким образом, алгоритмы собственных значений, которые работают, находя корни характеристического многочлена, могут быть плохо обусловлены, даже если проблема не в этом.

Для задачи решения линейного уравнения A v = b, где A обратима, число обусловленности κ ( A −1 , b ) задается как || А || op || A −1 || op , где || || op - операторная норма, подчиненная нормальной евклидовой норме на C n . Так как это число не зависит от Ь , и то же самое для A и A -1 , он обычно просто называют условием числа К , ( A ) матрицы A . Это значение κ ( A ) также является абсолютным значением отношения наибольшего собственного значения A к его наименьшему. Если является унитарной , то || А || op = || A −1 || op = 1 , поэтому κ ( A ) = 1 . Для обычных матриц часто бывает сложно вычислить операторную норму. По этой причине для оценки числа обусловленности обычно используются другие матричные нормы .

Для задачи собственных значений, Бауэр и Фике доказано , что если λ является собственным значением для диагонализируемого п × п матрицы А с собственным вектором матрицей V , то абсолютная погрешность при вычислении Л ограничена произведения каппы ( V ) и абсолютной погрешностью . В результате число условия для нахождения λ будет κ ( λ , A ) = κ ( V ) = || V || op || V −1 || op . Если A нормальна, то V унитарна и κ ( λ , A ) = 1 . Таким образом, проблема собственных значений для всех нормальных матриц хорошо обусловлена.

Условие номер для задачи нахождения собственного подпространства нормальной матрицы A , соответствующего собственного значение λ были показан, что обратно пропорционально минимальным расстояние между Й и другой различной собственными значениями А . В частности, проблема собственного подпространства для нормальных матриц хорошо обусловлена ​​изолированными собственными значениями. Когда собственные значения не изолированы, лучшее, на что можно надеяться, - это определить диапазон всех собственных векторов ближайших собственных значений.

Алгоритмы

Любой монический многочлен является характеристическим многочленом своей сопутствующей матрицы . Следовательно, общий алгоритм поиска собственных значений может также использоваться для поиска корней многочленов. Теорема Абеля – Руффини показывает, что любой такой алгоритм для размерностей больше 4 должен быть либо бесконечным, либо включать функции большей сложности, чем элементарные арифметические операции и дробные степени. По этой причине алгоритмы, которые точно вычисляют собственные значения за конечное число шагов, существуют только для нескольких специальных классов матриц. Для общих матриц алгоритмы являются итеративными , позволяя получать более приближенные решения с каждой итерацией.

Некоторые алгоритмы производят каждое собственное значение, другие - несколько или только одно. Однако даже последние алгоритмы можно использовать для поиска всех собственных значений. Как только собственное значение λ матрицы A было идентифицировано, его можно использовать либо для направления алгоритма к другому решению в следующий раз, либо для сведения проблемы к той, для которой λ больше не является решением.

Перенаправление обычно выполняется сдвигом: заменой A на A - μI для некоторой постоянной μ . Собственное значение найдено для A - μI должен быть μ добавлен назад, чтобы получить собственное значение для A . Например, для питания итерации , μ = Х . Степенная итерация находит наибольшее собственное значение по модулю, поэтому даже когда λ является лишь приблизительным собственным значением, степенная итерация вряд ли найдет его второй раз. И наоборот, методы, основанные на обратной итерации, находят наименьшее собственное значение, поэтому μ выбирается достаточно далеко от λ и, надеюсь, ближе к некоторому другому собственному значению.

Редукция может быть достигнута путем ограничения A до пространства столбцов матрицы A - λI , которое A переносит на себя. Поскольку A - λI сингулярно, пространство столбцов имеет меньшую размерность. Затем алгоритм собственных значений может быть применен к ограниченной матрице. Этот процесс можно повторять до тех пор, пока не будут найдены все собственные значения.

Если алгоритм на основе собственных значений не генерирует собственные векторы, обычной практикой является использование алгоритма на основе обратной итерации с параметром μ , близким к приближению собственного значения. Это быстро сведется к собственному вектору ближайшего к μ . Для небольших матриц альтернативой является рассмотрение пространства столбцов произведения A - λ ' I для каждого из других собственных значений λ ' .

Формула для нормы составляющих единичного собственного вектора нормальных матриц была открыта Робертом Томпсоном в 1966 году и переоткрыта независимо несколькими другими. Если A - нормальная матрица с собственными значениями λ i ( A ) и соответствующими единичными собственными векторами v i , составляющими элементами которых являются v i, j , пусть A j будет матрицей, полученной удалением i -й строки и столбца из A , и пусть λ k ( A j ) будет его k -м собственным значением. потом

Если - характеристические многочлены от и , формулу можно переписать в виде

предполагая, что производная не равна нулю при .

Гессенберга и трехдиагональные матрицы

Поскольку собственные значения треугольной матрицы являются ее диагональными элементами, для обычных матриц не существует конечного метода, такого как исключение гаусса, для преобразования матрицы в треугольную форму с сохранением собственных значений. Но можно достичь чего-то близкого к треугольному. Верхняя матрица хессенбергова представляет собой квадратную матрицу , для которой все элементы ниже поддиагональных равны нулю. Нижняя матрица Хессенберга - это матрица, для которой все элементы над наддиагональю равны нулю. Матрицы, которые являются как верхним, так и нижним Hessenberg, трехдиагональны . Матрицы Хессенберга и трехдиагональные матрицы являются отправными точками для многих алгоритмов собственных значений, поскольку нулевые элементы уменьшают сложность проблемы. Для преобразования общей матрицы в матрицу Хессенберга с теми же собственными значениями обычно используются несколько методов. Если исходная матрица была симметричной или эрмитовой, то итоговая матрица будет трехдиагональной.

Когда нужны только собственные значения, нет необходимости вычислять матрицу подобия, поскольку преобразованная матрица имеет те же собственные значения. Если также необходимы собственные векторы, матрица подобия может потребоваться для преобразования собственных векторов матрицы Хессенберга обратно в собственные векторы исходной матрицы.

Метод Относится к Производит Стоимость без матрицы сходства Стоимость с матрицей сходства Описание
Преобразования домохозяев Общий Hessenberg 2 п 33 + О ( п 2 ) 4 п 33 + О ( п 2 ) Отразите каждый столбец через подпространство, чтобы обнулить его нижние элементы.
Гивенса вращения Общий Hessenberg 4 п 33 + О ( п 2 ) Примените плоские вращения, чтобы обнулить отдельные записи. Вращения упорядочены так, чтобы последующие не заставляли нулевые записи снова становиться ненулевыми.
Итерация Арнольди Общий Hessenberg Выполните ортогонализацию Грама – Шмидта на подпространствах Крылова.
Алгоритм Ланцоша Эрмитский Трехдиагональный Итерация Арнольди для эрмитовых матриц с сокращениями.

Для симметричных трехдиагональных задач на собственные значения все собственные значения (без собственных векторов) могут быть вычислены численно за время O (n log (n)) с использованием пополам на характеристическом полиноме.

Итерационные алгоритмы

Итерационные алгоритмы решают проблему собственных значений, создавая последовательности, сходящиеся к собственным значениям. Некоторые алгоритмы также создают последовательности векторов, которые сходятся к собственным векторам. Чаще всего последовательности собственных значений выражаются как последовательности одинаковых матриц, которые сходятся к треугольной или диагональной форме, что позволяет легко читать собственные значения. Последовательности собственных векторов выражаются в виде соответствующих матриц подобия.

Метод Относится к Производит Стоимость за шаг Конвергенция Описание
Алгоритм Ланцоша Эрмитский m наибольшая / наименьшая собственная пара
Итерация мощности Генеральная собственная пара с наибольшим значением О ( п 2 ) линейный Повторно применяет матрицу к произвольному начальному вектору и перенормирует.
Обратная итерация Генеральная собственная пара со значением, ближайшим к μ линейный Степенная итерация для ( A - μI ) −1
Итерация фактора Рэлея Эрмитский любая собственная пара кубический Степенная итерация для ( A - μ i I ) −1 , где μ i для каждой итерации - это частное Рэлея предыдущей итерации.
Предварительно обусловленная обратная итерация или алгоритм LOBPCG положительно определенный действительный симметричный собственная пара со значением, ближайшим к μ Обратная итерация с использованием предобуславливателя (приблизительно обратная A ).
Метод деления пополам действительный симметричный трехдиагональный любое собственное значение линейный Использует метод деления пополам, чтобы найти корни характеристического многочлена, поддерживаемого последовательностью Штурма.
Итерация Лагерра действительный симметричный трехдиагональный любое собственное значение кубический Использует метод Лагерра для поиска корней характеристического многочлена, поддерживаемого последовательностью Штурма.
QR-алгоритм Hessenberg все собственные значения О ( п 2 ) кубический Факторы A = QR , где Q ортогонален, а R треугольный, затем применяет следующую итерацию к RQ .
все собственные пары 6 п 3 + О ( п 2 )
Алгоритм Якоби на собственные значения реальный симметричный все собственные значения О ( п 3 ) квадратичный Использует вращения Гивенса, чтобы попытаться удалить все недиагональные записи. Это не удается, но усиливает диагональ.
Разделяй и властвуй Эрмитова трехдиагональная все собственные значения О ( п 2 ) Делит матрицу на подматрицы, которые диагонализируются, а затем повторно объединяются.
все собственные пары ( 43 ) n 3 + O ( n 2 )
Гомотопический метод действительный симметричный трехдиагональный все собственные пары О ( п 2 ) Строит вычислимый гомотопический путь из диагональной задачи на собственные значения.
Метод свернутого спектра реальный симметричный собственная пара со значением, ближайшим к μ Предварительно обусловленная обратная итерация, примененная к ( A - μI ) 2
Алгоритм MRRR действительный симметричный трехдиагональный некоторые или все собственные пары О ( п 2 ) «Множественные относительно устойчивые представления» - выполняет обратную итерацию по разложению LDL T сдвинутой матрицы.

Прямой расчет

Хотя не существует простого алгоритма для прямого вычисления собственных значений для общих матриц, существует множество специальных классов матриц, в которых собственные значения могут быть непосредственно вычислены. Это включает:

Треугольные матрицы

Поскольку определитель треугольной матрицы является произведением ее диагональных элементов, если T треугольная, то . Таким образом, собственные значения T являются его диагональными элементами.

Факторизуемые полиномиальные уравнения

Если p - любой многочлен и p ( A ) = 0, то собственные значения A также удовлетворяют тому же уравнению. Если p имеет известную факторизацию, то собственные значения A лежат среди его корней.

Например, проекция представляет собой квадратную матрицу Р , удовлетворяющей P 2 = P . Корни соответствующего скалярного полиномиального уравнения λ 2 = λ равны 0 и 1. Таким образом, любая проекция имеет собственные значения 0 и 1. Кратность 0 как собственное значение является дефектности из Р , в то время как кратность 1 представляет ранг P .

Другой пример - матрица A, которая удовлетворяет A 2 = α 2 I для некоторого скаляра α . Собственные значения должны быть ± α . Операторы проекции

удовлетворить

а также

В пространстве столбцов из P + и P - являются собственными подпространства А , соответствующими + α и - & alpha ; , соответственно.

2 × 2 матрицы

Для размерностей 2–4 существуют формулы с радикалами, которые можно использовать для нахождения собственных значений. В то время как обычная практика для матриц 2 × 2 и 3 × 3, для матриц 4 × 4 возрастающая сложность формул корней делает этот подход менее привлекательным.

Для матрицы 2 × 2

характеристический многочлен

Таким образом, собственные значения можно найти, используя формулу корней квадратного уравнения :

Определив расстояние между двумя собственными значениями, легко вычислить

с аналогичными формулами для c и d . Из этого следует, что расчет хорошо обусловлен, если собственные значения изолированы.

Собственные векторы можно найти, используя теорему Кэли – Гамильтона . Если λ 1 , λ 2 - собственные значения, то ( A - λ 1 I ) ( A - λ 2 I ) = ( A - λ 2 I ) ( A - λ 1 I ) = 0 , поэтому столбцы ( A - λ 2 I ) аннулируются на ( A - λ 1 I ) и наоборот. Предполагая, что ни одна из матриц не равна нулю, столбцы каждого должны включать собственные векторы для другого собственного значения. (Если любая из матриц равна нулю, то A кратно единице, и любой ненулевой вектор является собственным вектором.)

Например, предположим

тогда tr ( A ) = 4-3 = 1 и det ( A ) = 4 (−3) - 3 (−2) = −6 , так что характеристическое уравнение имеет вид

а собственные значения - 3 и -2. Сейчас,

В обеих матрицах столбцы кратны друг другу, поэтому можно использовать любой столбец. Таким образом, (1, -2) могут быть приняты в качестве собственного вектора , связанного с собственным значением -2, и (3, -1) в качестве собственного вектора , связанного с собственным значением 3, как можно проверить путем их умножения на A .

3 × 3 матрицы

Характеристическое уравнение симметричной матрицы 3 × 3 A :

Это уравнение может быть решено с использованием методов Кардано или Лагранжа , но аффинное изменение A значительно упростит выражение и приведет непосредственно к тригонометрическому решению . Если = рв + QI , то и В имеют те же собственные векторы, а β является собственным значением B тогда и только тогда , когда α = + д является собственным значением A . Позволяя и , дает

Замена β = 2cos θ и некоторое упрощение с использованием тождества cos 3 θ = 4cos 3 θ - 3cos θ сводит уравнение к cos 3 θ = det ( B ) / 2 . Таким образом

Если det ( B ) комплексный или больше 2 по абсолютной величине, арккозинус следует брать по одной и той же ветви для всех трех значений k . Эта проблема не возникает, когда A является действительным и симметричным, что приводит к простому алгоритму:

% Given a real symmetric 3x3 matrix A, compute the eigenvalues
% Note that acos and cos operate on angles in radians

p1 = A(1,2)^2 + A(1,3)^2 + A(2,3)^2
if (p1 == 0) 
   % A is diagonal.
   eig1 = A(1,1)
   eig2 = A(2,2)
   eig3 = A(3,3)
else
   q = trace(A)/3               % trace(A) is the sum of all diagonal values
   p2 = (A(1,1) - q)^2 + (A(2,2) - q)^2 + (A(3,3) - q)^2 + 2 * p1
   p = sqrt(p2 / 6)
   B = (1 / p) * (A - q * I)    % I is the identity matrix
   r = det(B) / 2

   % In exact arithmetic for a symmetric matrix  -1 <= r <= 1
   % but computation error can leave it slightly outside this range.
   if (r <= -1) 
      phi = pi / 3
   elseif (r >= 1)
      phi = 0
   else
      phi = acos(r) / 3
   end

   % the eigenvalues satisfy eig3 <= eig2 <= eig1
   eig1 = q + 2 * p * cos(phi)
   eig3 = q + 2 * p * cos(phi + (2*pi/3))
   eig2 = 3 * q - eig1 - eig3     % since trace(A) = eig1 + eig2 + eig3
end

И снова собственные векторы матрицы A могут быть получены с помощью теоремы Кэли – Гамильтона . Если α 1 , α 2 , α 3 - различные собственные значения A , то ( A - α 1 I ) ( A - α 2 I ) ( A - α 3 I ) = 0 . Таким образом, столбцы произведения любых двух из этих матриц будут содержать собственный вектор для третьего собственного значения. Однако если α 3 = α 1 , то ( A - α 1 I ) 2 ( A - α 2 I ) = 0 и ( A - α 2 I ) ( A - α 1 I ) 2 = 0 . Таким образом, обобщенное собственное подпространство α 1 натянуто на столбцы A - α 2 I, а обычное собственное подпространство натянуто на столбцы ( A - α 1 I ) ( A - α 2 I ) . Обычное собственное подпространство α 2 натянуто на столбцы ( A - α 1 I ) 2 .

Например, пусть

Характеристическое уравнение имеет вид

с собственными значениями 1 (кратности 2) и -1. Расчет,

а также

Таким образом, (−4, −4, 4) является собственным вектором для −1, а (4, 2, −2) является собственным вектором для 1. (2, 3, −1) и (6, 5, −3) равны обе обобщенные собственные векторы , связанные с 1, либо один из которых может быть в сочетании с (-4, -4, 4) и (4, 2, -2) , чтобы сформировать основу обобщенных собственных векторов а . Найденные собственные векторы при необходимости можно нормализовать.

Собственные векторы нормальных матриц 3 × 3

Если матрица 3 × 3 нормальна, то для поиска собственных векторов можно использовать перекрестное произведение. Если - собственное значение , то нулевое пространство перпендикулярно его пространству столбцов. Перекрестное произведение двух независимых столбцов будет в нулевом пространстве. То есть это будет собственный вектор, связанный с . Поскольку пространство столбцов в этом случае двумерное, собственное подпространство должно быть одномерным, поэтому любой другой собственный вектор будет параллелен ему.

Если не содержит двух независимых столбцов, но не равен 0 , перекрестное произведение все равно можно использовать. В данном случае это собственное значение кратности 2, поэтому любой вектор, перпендикулярный пространству столбцов, будет собственным вектором. Предположим , это ненулевой столбец . Выберите произвольный вектор, не параллельный . Тогда и будут перпендикулярны и, следовательно, будут собственными векторами .

Это не работает, если это не нормально, поскольку пустое пространство и пространство столбцов не обязательно должны быть перпендикулярными для таких матриц.

Смотрите также

Заметки

Рекомендации

дальнейшее чтение