Jump to content

Алгоритм Ланцоша

(Перенаправлено из метода Ланцоша )

Алгоритм Ланцоша — это итерационный метод, разработанный Корнелиусом Ланцошем , который представляет собой адаптацию степенных методов для поиска «наиболее полезные» (стремящиеся к крайне высокому/самому низкому) собственным значениям и собственным векторам Эрмитова матрица , где часто, но не обязательно, намного меньше, чем . [1] Несмотря на свою вычислительную эффективность в принципе, метод в его первоначальной формулировке оказался бесполезным из-за его численной нестабильности .

В 1970 году Охалво и Ньюман показали, как сделать метод численно устойчивым, и применили его к решению очень больших инженерных конструкций, подвергающихся динамическим нагрузкам. [2] Это было достигнуто с помощью метода очистки векторов Ланцоша (т.е. путем многократной реортогонализации каждого вновь сгенерированного вектора со всеми ранее сгенерированными). [2] с любой степенью точности, которые, если их не выполнять, давали серию векторов, которые были сильно загрязнены векторами, связанными с самыми низкими собственными частотами.

В своей оригинальной работе эти авторы также предложили, как выбрать начальный вектор (т.е. использовать генератор случайных чисел для выбора каждого элемента начального вектора) и предложили эмпирически определяемый метод определения , уменьшенное количество векторов (т.е. оно должно быть выбрано примерно в 1,5 раза больше желаемого количества точных собственных значений). Вскоре после этого за их работой последовала Пейдж, которая также провела анализ ошибок. [3] [4] В 1988 году Охалво представил более подробную историю этого алгоритма и эффективный тест на ошибку собственных значений. [5]

Алгоритм

[ редактировать ]
Введите матрицу эрмитову размера и, возможно, несколько итераций (по умолчанию пусть ).
  • Строго говоря, алгоритму не нужен доступ к явной матрице, а только функция который вычисляет произведение матрицы на произвольный вектор. Эта функция вызывается не более чем раз.
Выведите матрица с ортонормированными столбцами и трехдиагональной вещественной симметричной матрицей размера . Если , затем является унитарным , и .
Предупреждение. Итерация Ланцоша склонна к числовой нестабильности. При выполнении неточной арифметики следует принять дополнительные меры (как описано в последующих разделах) для обеспечения достоверности результатов.
  1. Позволять — произвольный вектор с евклидовой нормой .
  2. Сокращенный начальный шаг итерации:
    1. Позволять .
    2. Позволять .
    3. Позволять .
  3. Для делать:
    1. Позволять (также евклидова норма ).
    2. Если , тогда пусть ,
      еще выбери как произвольный вектор с евклидовой нормой что ортогонально всем .
    3. Позволять .
    4. Позволять .
    5. Позволять .
  4. Позволять быть матрицей со столбцами . Позволять .
Примечание для .

В принципе существует четыре способа написания итерационной процедуры. Пейдж и другие работы показывают, что указанный выше порядок операций является наиболее численно стабильным. [6] [7] На практике исходный вектор можно рассматривать как еще один аргумент процедуры, при этом и индикаторы числовой неточности, включенные в качестве дополнительных условий завершения цикла.

Не считая умножения матрицы на вектор, каждая итерация арифметические операции. Умножение матрицы на вектор можно выполнить в арифметические операции, где — среднее количество ненулевых элементов в строке. Таким образом, общая сложность , или если ; алгоритм Ланцоша может быть очень быстрым для разреженных матриц. Схемы улучшения численной стабильности обычно оцениваются по этой высокой производительности.

Векторы называются векторами Ланцоша . Вектор не используется после вычисляется, и вектор не используется после вычисляется. Следовательно, можно использовать одно и то же хранилище для всех трех. Аналогично, если только трехдиагональная матрица ищется, то необработанная итерация не нужна после того, как вычислил , хотя некоторым схемам улучшения численной стабильности это понадобится позже. Иногда последующие векторы Ланцоша пересчитываются из когда это необходимо.

Применение к собственной проблеме

[ редактировать ]

Алгоритм Ланцоша чаще всего упоминается в контексте поиска собственных значений и собственных векторов матрицы, но в то время как обычная диагонализация матрицы сделает собственные векторы и собственные значения очевидными при проверке, то же самое нельзя сказать о трехдиагонализации, выполняемой Ланцошем. алгоритм; для вычисления даже одного собственного значения или собственного вектора необходимы нетривиальные дополнительные шаги. Тем не менее, применение алгоритма Ланцоша часто является значительным шагом вперед в вычислении собственного разложения.

Если является собственным значением , и его собственный вектор ( ), затем является соответствующим собственным вектором с тем же собственным значением:

Таким образом, алгоритм Ланцоша преобразует задачу собственного разложения для в задачу собственного разложения для .

  1. Для трехдиагональных матриц существует ряд специализированных алгоритмов, часто с большей вычислительной сложностью, чем алгоритмы общего назначения. Например, если это трехдиагональная симметричная матрица тогда:
  2. некоторые общие алгоритмы собственного разложения, в частности алгоритм QR Известно, что , сходятся быстрее для трехдиагональных матриц, чем для общих матриц. Асимптотическая сложность трехдиагонального QR равна так же, как и для алгоритма «разделяй и властвуй» (хотя постоянный коэффициент может быть и другим); поскольку собственные векторы вместе имеют элементов, это асимптотически оптимально.
  3. Даже алгоритмы, на скорость сходимости которых не влияют унитарные преобразования, такие как степенной метод и обратная итерация , могут получить небольшой выигрыш в производительности от применения к трехдиагональной матрице. вместо исходной матрицы . С очень разреженный, со всеми ненулевыми элементами в очень предсказуемых позициях, он обеспечивает компактное хранение с превосходной производительностью по сравнению с кэшированием . Так же, является вещественной матрицей со всеми собственными векторами и собственными значениями, тогда как вообще может иметь комплексные элементы и собственные векторы, поэтому реальной арифметики достаточно для нахождения собственных векторов и собственных значений .
  4. Если очень велика, то уменьшается так что имеет управляемый размер, все равно позволит найти более крайние собственные значения и собственные векторы ; в Алгоритм Ланцоша можно рассматривать как схему сжатия с потерями для эрмитовых матриц, в которой особое внимание уделяется сохранению крайних собственных значений.

Сочетание хорошей производительности для разреженных матриц и возможности вычисления нескольких (без вычисления всех) собственных значений являются основными причинами выбора использования алгоритма Ланцоша.

Приложение к трехдиагонализации

[ редактировать ]

Хотя проблема собственных значений часто является мотивацией для применения алгоритма Ланцоша, операция, которую в первую очередь выполняет алгоритм, - это трехдиагонализация матрицы, для которой численно стабильным преобразованиям Хаусхолдера с 1950-х годов предпочтение отдавалось . В 1960-е годы алгоритм Ланцоша игнорировался. Интерес к нему был возрожден теорией сходимости Каниэля-Пейджа и разработкой методов предотвращения числовой нестабильности, но алгоритм Ланцоша остается альтернативным алгоритмом, который можно попробовать только в том случае, если Хаусхолдер неудовлетворителен. [9]

Аспекты, в которых различаются два алгоритма, включают:

  • Ланцош воспользовался является разреженной матрицей, тогда как Householder этого не делает и будет генерировать fill-in .
  • Ланчош полностью работает с оригинальной матрицей. (и у него нет проблем с тем, что она известна только неявно), тогда как необработанный Хаусхолдер хочет изменить матрицу во время вычисления (хотя этого можно избежать).
  • Каждая итерация алгоритма Ланцоша создает еще один столбец окончательной матрицы преобразования. , тогда как итерация Householder создает еще один фактор в унитарной факторизации из . Однако каждый фактор определяется одним вектором, поэтому требования к хранению одинаковы для обоих алгоритмов. можно вычислить в время.
  • Домохозяин численно стабилен, а необработанный Ланцош — нет.
  • Ланцош во многом аналогичен, только точки синхронизации (вычисления и ). Домохозяин менее параллелен, имеет последовательность вычисляются скалярные величины, каждая из которых зависит от предыдущей величины в последовательности.

Вывод алгоритма

[ редактировать ]

Существует несколько направлений рассуждений, которые приводят к алгоритму Ланцоша.

Более экономный метод питания

[ редактировать ]

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

  1. Выберите случайный вектор .
  2. Для (до направления сошлось) делаем:
    1. Позволять
    2. Позволять
  • В большом предел, приближается к нормированному собственному вектору, соответствующему собственному значению наибольшей величины.

Критика, которую можно выдвинуть против этого метода, заключается в том, что он расточителен: он тратит много работы (матрично-векторные продукты на этапе 2.1) на извлечение информации из матрицы. , но обращает внимание только на самый последний результат; реализации обычно используют одну и ту же переменную для всех векторов , при этом каждая новая итерация перезаписывает результаты предыдущей. Вместо этого может быть желательно сохранить все промежуточные результаты и систематизировать данные.

Одна часть информации, которую тривиально можно получить из векторов есть цепочка подпространств Крылова . Один из способов заявить, что без введения множеств в алгоритм — это заявить, что он вычисляет

подмножество основе такой, что для каждого и все

это тривиально удовлетворяется пока линейно не зависит от (и в случае наличия такой зависимости можно продолжить последовательность, выбрав в качестве произвольный вектор, линейно независимый от ). Основа, содержащая векторов, однако, вероятно, будет численно плохо обусловленным , поскольку эта последовательность векторов по замыслу предназначена для сходимости к собственному вектору . Чтобы избежать этого, можно объединить степенную итерацию с процессом Грама – Шмидта , чтобы вместо этого создать ортонормированный базис этих подпространств Крылова.

  1. Выберите случайный вектор евклидовой нормы . Позволять .
  2. Для делать:
    1. Позволять .
    2. Для всех позволять . (это координаты относительно базисных векторов .)
    3. Позволять . (Отменить компонент это в .)
    4. Если тогда пусть и ,
      в противном случае выберите как произвольный вектор евклидовой нормы что ортогонально всем .

Связь между векторами итераций мощности и ортогональные векторы это что

.

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

  1. Выберите случайный вектор евклидовой нормы .
  2. Для делать:
    1. Позволять .
    2. Для всех позволять .
    3. Позволять .
    4. Позволять .
    5. Если тогда пусть ,
      в противном случае выберите как произвольный вектор евклидовой нормы что ортогонально всем .

Априори коэффициенты удовлетворить

для всех ;

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

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

Эта последняя процедура является итерацией Арнольди . Тогда возникает алгоритм Ланцоша как упрощение, получаемое за счет исключения шагов вычислений, которые оказываются тривиальными, когда является эрмитовым, в частности, большая часть коэффициенты оказываются равными нулю.

Элементарно, если тогда является эрмитовым

Для мы знаем это , и поскольку по построению ортогонально этому подпространству, это скалярное произведение должно быть равно нулю. (По сути, это также причина, по которой последовательностям ортогональных многочленов всегда можно задать трехчленное рекуррентное соотношение .) Для каждый получает

поскольку последнее действительно, поскольку является нормой вектора. Для каждый получает

значит, это тоже реально.

Более абстрактно, если это матрица со столбцами тогда цифры могут быть идентифицированы как элементы матрицы , и для матрица находится верхний Хессенберг . С

матрица является эрмитовым. Это означает, что также является нижним Хессенбергом, поэтому на самом деле он должен быть трехдиагональным. Будучи эрмитовой, ее главная диагональ действительна, а поскольку ее первая поддиагональ действительна по построению, то же самое верно и для ее первой наддиагонали. Поэтому, является реальной симметричной матрицей — матрицей спецификации алгоритма Ланцоша.

Одновременная аппроксимация крайних собственных значений

[ редактировать ]

Один из способов характеристики собственных векторов эрмитовой матрицы. является стационарными точками фактора Рэлея

В частности, наибольшее собственное значение это глобальный максимум и наименьшее собственное значение это глобальный минимум .

В низкомерном подпространстве из возможно найти максимум и минимум из . Повторяя это для возрастающей цепочки создает две последовательности векторов: и такой, что и

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

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

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

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

а затем искать такой, что

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

Конвергенция и другая динамика

[ редактировать ]

При анализе динамики алгоритма удобно брать собственные значения и собственные векторы как задано, даже если они явно не известны пользователю. Чтобы исправить обозначения, пусть — собственные значения (всем известно, что они вещественны и, следовательно, их можно упорядочить) и пусть — ортонормированный набор собственных векторов такой, что для всех .

Также удобно зафиксировать обозначения для коэффициентов исходного вектора Ланцоша относительно этого собственного базиса; позволять для всех , так что . Стартовый вектор обеднение некоторого собственного компонента приведет к задержке сходимости к соответствующему собственному значению, и хотя это просто проявляется как постоянный фактор в границах ошибки, истощение остается нежелательным. Одним из распространенных способов избежать постоянного поражения им является выбор сначала рисуя элементы случайным образом в соответствии с тем же нормальным распределением со средним значением а затем измените масштаб вектора до нормы . До масштабирования это приводит к тому, что коэффициенты также быть независимыми нормально распределенными стохастическим переменными из одного и того же нормального распределения (поскольку замена координат унитарна), а после масштабирования вектора будет иметь равномерное распределение на единичной сфере в . Это позволяет ограничить вероятность того, что, например, .

Тот факт, что алгоритм Ланцоша не зависит от координат (операции рассматривают только внутренние произведения векторов, а не отдельные элементы векторов), позволяет легко создавать примеры с известной собственной структурой для запуска алгоритма: make диагональная матрица с искомыми собственными значениями на диагонали; пока стартовый вектор имеет достаточное количество ненулевых элементов, алгоритм выведет общую трехдиагональную симметричную матрицу в виде .

Теория конвергенции Каниэля – Пейджа

[ редактировать ]

После итерационные шаги алгоритма Ланцоша, это реальная симметричная матрица, которая, как и выше, имеет собственные значения Под конвергенцией понимают прежде всего конвергенцию к (и симметричная сходимость к ) как растет, и во вторую очередь сближение некоторого диапазона собственных значений своим коллегам из . Сходимость алгоритма Ланцоша часто на несколько порядков быстрее, чем сходимость алгоритма степенной итерации. [9] : 477 

Границы для исходят из приведенной выше интерпретации собственных значений как крайних значений коэффициента Рэлея. . С априори является максимумом в целом тогда как это просто максимум на -мерное подпространство Крылова, тривиально получаем . И наоборот, любая точка в этом подпространстве Крылова имеется нижняя оценка для , поэтому, если можно указать точку, для которой мал, то это обеспечивает жесткую границу .

Размер Krylov subspace is

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

Используя теперь выражение для как линейную комбинацию собственных векторов, мы получаем

и вообще

для любого многочлена .

Таким образом

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

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

(в случае , используйте вместо этого наибольшее собственное значение, строго меньшее ), то максимальное значение для является и минимальное значение , так

Более того

количество

(т. е. отношение первой собственной щели к диаметру остальной части спектра ) , таким образом, имеет здесь ключевое значение для скорости сходимости. Также пишу

мы можем заключить, что

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

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

[примечание 1]

где каждая новая итерация эффективно умножает -амплитуда к

Тогда оценка наибольшего собственного значения равна

поэтому приведенную выше оценку скорости сходимости алгоритма Ланцоша следует сравнить с

который уменьшается в раз для каждой итерации. Таким образом, разница сводится к тому, что между и . В регион, последнее больше похоже на , и работает так же, как степенной метод с собственным зазором в два раза больше; заметное улучшение. Однако более сложным случаем является случай в котором это еще большее улучшение собственного зазора; тот Область — это область, в которой алгоритм Ланцоша с точки зрения сходимости дает наименьшее улучшение по сравнению со степенным методом.

Численная стабильность

[ редактировать ]

Стабильность означает, насколько повлияет на алгоритм (т. е. даст ли он приблизительный результат, близкий к исходному), если в него войдут и накопится небольшие числовые ошибки. Численная стабильность является центральным критерием оценки полезности реализации алгоритма на компьютере с округлением.

Для алгоритма Ланцоша можно доказать, что при точной арифметике набор векторов строит ортонормированный базис, а решенные собственные значения/векторы являются хорошими аппроксимациями исходной матрицы. Однако на практике (поскольку вычисления выполняются в арифметике с плавающей запятой, где неточность неизбежна) ортогональность быстро теряется и в некоторых случаях новый вектор может даже линейно зависеть от уже построенного множества. В результате некоторые собственные значения результирующей трехдиагональной матрицы могут не быть аппроксимациями исходной матрицы. Следовательно, алгоритм Ланцоша не очень стабилен.

Пользователи этого алгоритма должны иметь возможность находить и удалять эти «ложные» собственные значения. Практическая реализация алгоритма Ланцоша направлена ​​на решение этой проблемы стабильности в трех направлениях: [6] [7]

  1. Предотвратить потерю ортогональности,
  2. Восстановите ортогональность после создания базиса.
  3. После того, как все хорошие и «ложные» собственные значения идентифицированы, удалите ложные.

Вариации

[ редактировать ]

Существуют вариации алгоритма Ланцоша, в которых задействованные векторы представляют собой высокие узкие матрицы вместо векторов, а нормализующие константы представляют собой небольшие квадратные матрицы. Они называются «блочными» алгоритмами Ланцоша и могут работать намного быстрее на компьютерах с большим количеством регистров и длительным временем выборки из памяти.

Многие реализации алгоритма Ланцоша перезапускаются после определенного количества итераций. Одним из наиболее влиятельных вариантов перезапуска является неявно перезапускаемый метод Ланцоша. [10] который реализован в ARPACK . [11] Это привело к ряду других возобновленных вариантов, таких как возобновление бидиагонализации Ланцо. [12] Еще одним успешным вариантом перезапуска является метод Ланцоша с толстым перезапуском. [13] который был реализован в пакете программного обеспечения под названием TRLan. [14]

Нулевое пространство над конечным полем

[ редактировать ]

В 1995 году Питер Монтгомери опубликовал алгоритм, основанный на алгоритме Ланцоша, для поиска элементов нулевого пространства большой разреженной матрицы над GF(2) ; поскольку группа людей, интересующихся большими разреженными матрицами над конечными полями, и группа людей, интересующихся большими проблемами собственных значений, почти не перекрываются, это часто также называют блочным алгоритмом Ланцоша, не вызывая необоснованной путаницы. [ нужна ссылка ]

Приложения

[ редактировать ]

Алгоритмы Ланцоша очень привлекательны, поскольку умножение на является единственной крупномасштабной линейной операцией. Поскольку системы взвешенного поиска текста реализуют именно эту операцию, алгоритм Ланцоша можно эффективно применять к текстовым документам (см. скрытое семантическое индексирование ). Собственные векторы также важны для крупномасштабных методов ранжирования, таких как алгоритм HITS, разработанный Джоном Кляйнбергом , или алгоритм PageRank, используемый Google.

Алгоритмы Ланцоша также используются в физике конденсированного состояния как метод решения гамильтонианов сильно коррелированных электронных систем . [15] а также в оболочечных моделей кодах по ядерной физике . [16]

Реализации

[ редактировать ]

Библиотека NAG содержит несколько процедур. [17] для решения крупномасштабных линейных систем и собственных задач, использующих алгоритм Ланцоша.

MATLAB и GNU Octave поставляются со ARPACK встроенным . Как хранимые, так и неявные матрицы можно анализировать с помощью функции eigs() ( Matlab / Octave ).

Аналогично, в Python пакет SciPy ARPACK имеет scipy.sparse.linalg.eigsh , который также является оболочкой для функций SSEUPD и DSEUPD из , которые используют неявно перезапущенный метод Ланцоша.

Реализация алгоритма Ланцоша в Matlab (обратите внимание на проблемы с точностью) доступна как часть пакета Matlab для распространения гауссовского доверия . ГрафЛаб [18] Библиотека совместной фильтрации включает крупномасштабную параллельную реализацию алгоритма Ланцоша (на C++) для многоядерных вычислений.

Библиотека PRIMME также реализует алгоритм, подобный Ланцошу.

Примечания

[ редактировать ]
  1. ^ Оба коэффициента не обязательно должны быть действительными, но фаза не имеет большого значения. Не обязательно, чтобы компонанты для других собственных векторов полностью исчезли, но они сжимаются по крайней мере так же быстро, как и для , так описывает худший случай.
  1. ^ Ланцос, К. (1950). «Итерационный метод решения проблемы собственных значений линейных дифференциальных и интегральных операторов» (PDF) . Журнал исследований Национального бюро стандартов . 45 (4): 255–282. дои : 10.6028/jres.045.026 .
  2. ^ Jump up to: а б Оялво, ИЮ; Ньюман, М. (1970). «Режимы вибрации крупногабаритных конструкций методом автоматического матричного приведения». Журнал АИАА . 8 (7): 1234–1239. Бибкод : 1970AIAAJ...8.1234N . дои : 10.2514/3.5878 .
  3. ^ Пейдж, CC (1971). Вычисление собственных значений и собственных векторов очень больших разреженных матриц (кандидатская диссертация). Лондонский университет. OCLC   654214109 .
  4. ^ Пейдж, CC (1972). «Вычислительные варианты метода Ланцоша для задачи о собственных силах». Дж. Инст. Математические приложения . 10 (3): 373–381. дои : 10.1093/имамат/10.3.373 .
  5. ^ Оялво, ИЮ (1988). «Происхождение и преимущества векторов Ланцоша для больших динамических систем». Учеб. 6-я конференция по модальному анализу (IMAC), Киссимми, Флорида . стр. 489–494.
  6. ^ Jump up to: а б Каллум; Уиллоби (1985). Алгоритмы Ланцоша для вычисления больших симметричных собственных значений . Том. 1. ISBN  0-8176-3058-9 .
  7. ^ Jump up to: а б Юсеф Саад (22 июня 1992 г.). Численные методы решения больших задач на собственные значения . ISBN  0-470-21820-7 .
  8. ^ Коакли, Эд С.; Рохлин, Владимир (2013). «Быстрый алгоритм «разделяй и властвуй» для вычисления спектров действительных симметричных трехдиагональных матриц». Прикладной и вычислительный гармонический анализ . 34 (3): 379–414. дои : 10.1016/j.acha.2012.06.003 .
  9. ^ Jump up to: а б Голуб, Джин Х.; Ван Лоан, Чарльз Ф. (1996). Матричные вычисления (3-е изд.). Балтимор: Университет Джонса Хопкинса. Нажимать. ISBN  0-8018-5413-Х .
  10. ^ Д. Кальветти ; Л. Райхель; Округ Колумбия Соренсен (1994). «Неявно перезапущенный метод Ланцоша для решения больших симметричных задач на собственные значения» . Электронные труды по численному анализу . 2 : 1–21.
  11. ^ РБ Лехук; округ Колумбия Соренсен; К. Ян (1998). Руководство пользователя ARPACK: Решение крупномасштабных задач на собственные значения с помощью неявно перезапускаемых методов Арнольди . СИАМ. дои : 10.1137/1.9780898719628 . ISBN  978-0-89871-407-4 .
  12. ^ Э. Кокиопулу; К. Бекас; Э. Галлопулос (2004). «Вычисление наименьших сингулярных троек с неявно перезапущенной бидиагонализацией Ланцоша» (PDF) . Прил. Число. Математика . 49 : 39–61. дои : 10.1016/j.apnum.2003.11.011 .
  13. ^ Кешэн Ву; Хорст Саймон (2000). «Метод Ланцоша с толстым перезапуском для больших симметричных задач на собственные значения» . Журнал SIAM по матричному анализу и приложениям . 22 (2). СИАМ: 602–616. дои : 10.1137/S0895479898334605 .
  14. ^ Кешэн Ву; Хорст Саймон (2001). «Программный комплекс ТРЛан» . Архивировано из оригинала 1 июля 2007 г. Проверено 30 июня 2007 г.
  15. ^ Чен, HY; Аткинсон, Вашингтон; Уортис, Р. (июль 2011 г.). «Аномалия нулевого смещения, вызванная беспорядком, в модели Андерсона-Хаббарда: численные и аналитические расчеты». Физический обзор B . 84 (4): 045113. arXiv : 1012.1031 . Бибкод : 2011PhRvB..84d5113C . дои : 10.1103/PhysRevB.84.045113 . S2CID   118722138 .
  16. ^ Симидзу, Норитака (21 октября 2013 г.). «Код ядерной оболочки для массовых параллельных вычислений, «KSHELL» ». arXiv : 1310.5431 [ нукл-й ].
  17. ^ Группа числовых алгоритмов. «Указатель ключевых слов: Ланцош» . Руководство по библиотеке НАГ, Марк 23 . Проверено 9 февраля 2012 г.
  18. ^ GraphLab. Архивировано 14 марта 2011 г. в Wayback Machine.

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

[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 63b3ad9feb0a2e7eba889b668329b42b__1715756220
URL1:https://arc.ask3.ru/arc/aa/63/2b/63b3ad9feb0a2e7eba889b668329b42b.html
Заголовок, (Title) документа по адресу, URL1:
Lanczos algorithm - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)