blanda
|
|
|
|
|
Рег.: 22.03.2005
|
Сообщений: 69
|
|
Рейтинг: 0
|
|
как найти собственные векторы для кратного соб значения
04.04.2006 18:03
|
|
|
для симметричной матрицы. Сами собственные значения умею находить. Может есть какая - нибудь модификация степенного метода (метода простой итерации) для кратных соб значений?
|
By all means necessary |
|
Google
|
knows all!
|
|
|
|
Рег.: 16.02.2006
|
Сообщений: 234
|
|
Рейтинг: 0
|
|
Re: как найти собственные векторы для кратного соб значения
[re: blanda]
04.04.2006 20:42
|
|
|
Пусть A - квадратная вещественная матрица с собственным значением λ (одним из) кратности k ≥ 2.
Тогда матрица (A - λE) имеет ядро размерности k, которое называется собственным подпространством для матрицы A (соответствующим собственному значению k). Оно, очевидно, состоит в точности из всех собственных векторов для A с собственным значением k, и твоя задача - лишь найти в нем любой базис.
Найти это пространство можно элементарными преобразованиями над строками в паре {(A - λE) | E}.
|
|
blanda
|
|
|
|
|
Рег.: 22.03.2005
|
Сообщений: 69
|
|
Рейтинг: 0
|
|
Re: как найти собственные векторы для кратного соб значения
[re: Google]
04.04.2006 23:39
|
|
|
Дело в том, что мне нужно найти векторы, соответствующие определенному начальному приближению, то есть нужен итерационный процесс.
|
By all means necessary |
|
_nobody_
|
|
|
|
|
Рег.: 10.05.2005
|
Сообщений: 3368
|
|
Рейтинг: 722
|
|
Re: как найти собственные векторы для кратного соб значения
[re: Google]
05.04.2006 02:05
|
|
|
В ответ на:
Пусть A - квадратная вещественная матрица с собственным значением λ (одним из) кратности k ≥ 2.
Тогда матрица (A - λE) имеет ядро размерности k, которое называется собственным подпространством для матрицы A (соответствующим собственному значению k). Оно, очевидно, состоит в точности из всех собственных векторов для A с собственным значением k
Забыли условие симметричности матрицы А (без него написанное неверно).
|
Ушел из форума (уничтожил пароль). |
|
organizer
|
addict
|
|
|
|
Рег.: 17.12.2002
|
Сообщений: 666
|
|
Рейтинг: 0
|
|
Re: как найти собственные векторы для кратного соб значения
[re: blanda]
05.04.2006 02:49
|
|
|
Для метода прямых/обратных итераций можно воспользоваться многократным применением этого метода с реортогонализацией на последующих шагах.
Пусть найден первый с.в. x1. На втором шаге мы и ищем второй с.в. x2 (возможно кратный x1) применяя метод с ортогонализацией приближения к x1 на каждой итерации. На третьем шаге мы и ищем третий с.в. x3 - с ортогонализацией к x0, x1 и т.д. Так можно найти верхнюю часть спектра невысокой размерности, тк при большой размерности этот алгоритм может сломаться:
Реортогонализация должна проводиться модифицированным методом Грама - Шмидта
|
|
|
Re: как найти собственные векторы для кратного соб значения
[re: organizer]
06.04.2006 02:29
|
|
|
можно поподробнее про модифицированный метод грамма-шмидта? спасибо.
|
|
AVS
|
Spectator
|
|
|
|
Рег.: 18.01.2006
|
Сообщений: 2314
|
Из: Москва
|
Рейтинг: 454
|
|
Re: как найти собственные векторы для кратного соб значения
[re: Anonymous]
06.04.2006 21:02
|
|
|
Я главного не понял: вы это руками собираетесь делать, или вам программа нужна?
|
При выходе из поезда не забывайте своих женщин |
|
blanda
|
|
|
|
|
Рег.: 22.03.2005
|
Сообщений: 69
|
|
Рейтинг: 0
|
|
Re: как найти собственные векторы для кратного соб значения
[re: AVS]
07.04.2006 02:33
|
|
|
мне нужен метод, а если есть программа, особенно на си или фортране, то это совсем замечательно.
|
By all means necessary |
|
AVS
|
Spectator
|
|
|
|
Рег.: 18.01.2006
|
Сообщений: 2314
|
Из: Москва
|
Рейтинг: 454
|
|
Re: как найти собственные векторы для кратного соб значения
[re: blanda]
07.04.2006 17:19
|
|
|
Существуют блочные итерационные методы, более продвинутые, чем степенной, и им, вообще говоря, безразлично, вырождены (т.е. кратны) собственные значения или нет, если, конечно, соответствующие векторы ищутся одновременно. Например, метод Ланцоша и метод Давидсона. Лучше варианты с предобуславливателями. Советую поискать в гугле с ключевыми словами типа: Lancos, Davidson, iteration, block, preconditioner, deflation, diagonalization, eigenvalue ...
Знанием собственного значения, возможно, придется пожертвовать, если не задаваться целью переделывать готовые алгоритмы. Все они предполагают постепенное уточнение собственных значений от итерации к итерации. А вот предварительные заготовки для собственных векторов, наоборот, могут помочь, особенно если они -- хорошее начальное приближение.
Кстати, для неэрмитовых матриц аналоги тоже вроде есть.
А вообще, если матрица не столь велика (ну до 1000 в длину, скажем), то лучше не ломать голову, а взять и диагонализовать ее целиком. Например, QL-алгоритмом.
|
При выходе из поезда не забывайте своих женщин |
|
blanda
|
|
|
|
|
Рег.: 22.03.2005
|
Сообщений: 69
|
|
Рейтинг: 0
|
|
Re: как найти собственные векторы для кратного соб значения
[re: AVS]
08.04.2006 00:24
|
|
|
в том-то и дело, что матрицы очень большие- порядка 60000 итд. Я понимаю, что существует много более цивилизованных алгоритмов, но хочется получить результат быстро и без написания особо продвинутых программ. Поэтому и возникла идея со степенным методом или чем-то типа того.
|
By all means necessary |
|
AVS
|
Spectator
|
|
|
|
Рег.: 18.01.2006
|
Сообщений: 2314
|
Из: Москва
|
Рейтинг: 454
|
|
Re: как найти собственные векторы для кратного соб значения
[re: blanda]
08.04.2006 15:19
|
|
|
У всех матрицы большие Ну так все ж уже изобретено... см. выше...
|
При выходе из поезда не забывайте своих женщин |
|