란초스 알고리즘
Lanczos algorithmLanczos 알고리즘은 Cornelius Lanczos가 고안한 반복적인 방법으로, 유용한 고유값과 n 에르미타인 매트릭스의 고유값 및 고유 벡터를 찾기 위해 전력 방법을 채택한 것이다. 여기서 은 종종 있지만 그렇지 않다.반드시 보다 훨씬 작아야 한다[1] 원칙적으로 계산적으로 효율적이지만, 초기 공식화된 방법은 수치적 불안정성 때문에 유용하지 않았다.
1970년, 오잘보와 뉴먼은 이 방법을 수치적으로 안정화시키는 방법을 보여주었고, 동적 하중을 받는 매우 큰 공학적 구조물의 용액에 적용하였다.[2]이는 Lanczos 벡터를 정화하는 방법(즉, 이전에 생성된 모든 벡터와 새로 생성된 각 벡터를 반복적으로 직교함으로써)[2]을 사용하여 달성되었으며, 이 방법을 수행하지 않을 경우 가장 낮은 자연 주파수와 관련된 벡터에 의해 매우 오염된 일련의 벡터를 생성했다.
이 저자들은 원저에서도 출발 벡터 선택 방법(즉, 무작위 번호 생성기를 사용하여 출발 벡터의 각 요소를 선택)을 제시하고, 벡터 수즉, 약 1.5배)인 m {\ m을 결정하기 위해 실증적으로 결정된 방법을 제시했다e 원하는 정확한 고유값 수입니다.곧이어 그들의 작업이 끝나고 페이지는 오류 분석을 제공하기도 했다.[3][4]1988년, Ojalvo는 이 알고리즘의 보다 상세한 이력과 효율적인 고유값 오류 테스트를 작성했다.[5]
알고리즘
- 크기가 인 인 Emidantian 행렬 을(를) 입력하고 으로 m m으로 = n m를 입력하십시오.
- 엄밀히 말하면 알고리즘은 명시적 매트릭스에 접근할 필요가 없고 임의 벡터로 매트릭스의 곱을 계산하는 v 만 필요하다.이 함수는 최대 번 호출된다.
- 정형외과적 기둥과 3각형 실제 대칭 행렬 = V 를 포함한 n 행렬 V 출력 크기 m{\ mm= 이면 이가) 단일이고, = ∗
- Warning Lanczos 반복은 수적으로 불안정해지기 쉽다.비정확한 산술로 실행할 경우, 결과의 타당성을 보장하기 위해 추가 조치(나중의 절에서 요약한 것)를 취해야 한다.
- 을(를) 유클리드 표준 1을(를) 가진 임의 벡터가 되도록 한다
- 축약된 초기 반복 단계:
- 1 =A
- = w 1 }:{11}:{1
- w = w 1 - 1 1}={1}}}{1을(를) 놓으십시오
- = ,… , 의 경우:
- = - 또한 유클리드 규범).
- 0인 경우 v = w -/
- j 로 선택하십시오 모든 v 1, … , - 1 와 직교하는 유클리드 1{\이 있는 임의 벡터.
- Let = j .
- = = j{ j {\j
- w = - - - 1 j}={}v_.
- Let be the matrix with columns . Let 스타일 T={\begin{pmatrix}\alpha _{1}&,\beta _{2}&,&&&0\\\beta _{2}&, \alpha _{2}&,\beta _{3}&,&&\\&,\beta _{3}&, \alpha _{3}&, \ddots &,&\\&,&\ddots &, \ddots &, \beta _{m-1}&, \\&,&&\beta _{m-1}&, \alpha _{m-1}&,\beta _{m}\\0&,&&&\beta _{m}&, \alpha _{m}\\.\end{pmatrix}}}.
- Note for .
반복 절차를 작성하는 방법에는 원칙적으로 네 가지가 있다.페이지와 다른 작품들은 위의 작업 순서가 수적으로 가장 안정적이라는 것을 보여준다.[6][7]실제로 초기 벡터 }은(는) 절차의 또 다른 인수로 간주될 수 있으며, = 0 및 수치적 부정확성의 지표가 추가 루프 종단 조건으로 포함된다.
매트릭스-벡터 곱셈을 계산하지 않고, 각 반복은 () 산술 연산을 수행한다.행렬-벡터 곱셈은 ( ) 산술 연산으로 수행할 수 있으며, 서 d 은 한 행에 있는 비제로 원소의 평균 수입니다. 총 복잡도는 m= O이거나 = {\ Lanczos 알고리즘은 희박한 행렬에 대해 빠를 수 있다.수치 안정성을 향상시키기 위한 계획은 일반적으로 이 높은 성과에 대해 평가된다.
벡터 는 Lanczos 벡터라고 한다.벡터 는 계산 후 사용되지 않으며, j + {\1} 계산 후에는 {\{j을 사용하지 않는다.따라서 세 가지 모두에 대해 동일한 저장소를 사용할 수 있다.마찬가지로 삼지각 행렬 만 구한다면, 숫자 안정성을 개선하기 위한 일부 계획은 나중에 필요하겠지만 원시 반복은 j 를 계산한 v - 1 이 필요하지 않다.때때로 후속 Lanczos 벡터는 필요할 때 1{\}에서 다시 계산된다.
고유 문제에 대한 적용
Lanczos 알고리즘은 매트릭스의 고유값과 고유 벡터를 찾는 맥락에서 가장 자주 제기되지만, 매트릭스의 일반적인 대각화는 검사에서 고유 벡터와 고유값을 분명하게 하는 반면, Lanczos 알고리즘에 의해 수행되는 3각형화에는 동일하지 않다; 비종교적 추가 단계 a.단일 고유값 또는 고유 벡터 계산에 다시 필요함.그럼에도 불구하고, Lanczos 알고리즘을 적용하는 것은 종종 아이젠데 구성을 계산하는데 있어서 중요한 진전이다.If is an eigenvalue of , and if ( is an eigenvector of ) then is the corresponding eigenvector of (since y따라서 Lanczos 알고리즘은 에 대한 eigendecomposition 문제를 에 대한 eigendecomposition 문제로 변환한다
- 3각형 행렬의 경우, 다수의 전문 알고리즘이 존재하며, 범용 알고리즘보다 연산 복잡성이 더 높은 경우가 많다.예를 들어, 이 (가) × m 삼각형 대칭 행렬인 경우:
- 연속 재귀는 ( ) 연산에서의 특성 다항식을 계산하고, ( ) 연산 한 지점에서 평가할 수 있다.
- 분할 및 변환 고유값 알고리즘을 사용하여 ) 작업에서 T 의 전체 eigende 구성을 계산할 수 있다.
- Fast Multipole Method는[8] log m ) 연산만으로 모든 고유값을 계산할 수 있다
- 일부 일반 에겐데포메이션 알고리즘, 특히 QR 알고리즘은 일반 매트릭스보다 3각형 매트릭스의 수렴 속도가 더 빠른 것으로 알려져 있다.삼지각형 QR의 점증상 복잡성은 분할 및 변환 알고리즘과 마찬가지로 ) 이며, 고유 벡터에는 개의 요소가 있으므로 점증상 최적이다.
- 전력법, 역반복 등 단일변환에 영향을 받지 않는 수렴율 알고리즘도 원래의 매트릭스 이 아닌 3각형 T 에 적용됨으로써 낮은 수준의 성능상의 이점을 누릴 수 있다 은 매우 sp이기 때문이다.예측성이 매우 높은 위치에 0이 아닌 모든 요소를 갖추고 있어, 탁월한 성능의 동시 캐슁과 함께 소형 스토리지가 가능하다.마찬가지로 은 모든 고유 벡터와 고유값이 실제인 실제 행렬인 반면, 일반적으로 은 복잡한 원소와 고유 벡터를 가질 수 있으므로 실제 산술은 의 고유 벡터와 고유값을 찾기에 충분하다
- 이 (가) 매우 크면, 이 (가) 관리 가능한 크기로 을(를) 축소하면 영역에서 Lanczos 알고리즘을 손실된 것으로 볼 수 있다극한 고유값 보존을 강조하는 은둔 행렬에 대한 압축 계획.
희소성 행렬에 대한 우수한 성능과 (모든 값을 계산하지 않고) 여러 고유값을 계산하는 능력이 결합되어 Lanczos 알고리즘을 사용하는 것을 선택하는 주된 이유가 된다.
삼지각화 적용
고유문제는 종종 Lanczos 알고리즘을 적용하는 동기가 되지만, 알고리즘이 주로 수행하는 연산은 매트릭스의 삼지각화인데, 이 연산에서는 1950년대 이후 수치적으로 안정된 Householder 변환이 선호되어 왔다.1960년대에 랭크조스 알고리즘은 무시되었다.그것에 대한 관심은 카니엘-파이지 융합 이론과 수치적 불안정성을 막기 위한 방법의 개발로 다시 살아났지만, 란초스 알고리즘은 하우스홀더가 만족스럽지 못할 경우에만 시도하는 대안 알고리즘으로 남아 있다.[9]
두 알고리즘이 다른 측면은 다음과 같다.
- Lanczos는 이(가) 희박한 행렬인 반면, Householder는 그렇지 않고, 채우기(fill-in)를 생성한다는 장점을 취한다.
- Lanczos는 원래의 매트릭스 을(를) 사용하여 전체에서 작동하며(암묵적으로만 알려져 있음에는 문제가 없음), 반면 원시 Householdholdholder는 계산 중에 매트릭스를 수정하고자 한다(그것은 피할 수 있지만).
- Lanczos 알고리즘의 각 반복은 최종 변환 매트릭스 의 다른 열을 생성하는 반면 Householder의 반복은 … 의 다른 요소를 생성한다 그러나각 는 결정된다.단일 벡터에 의해 설계되므로 스토리지 요구사항은 두 알고리즘에 대해 동일하며 =Q 1 … V=1} Q_{는 O (3 로 계산할 수 있다.
- 주택소유자는 수적으로 안정되어 있는 반면 원시 란초스는 그렇지 않다.
- Lanczos는 (개 지점만 동기화( j{\ _ 및 j{\로 매우 평행하다.Householder는 평행도가 낮으며, 각각이 시퀀스의 이전 수량에 의존하는 것으로 된 ( 2 {\}) 스칼라 수량의 시퀀스를 가지고 있다.
알고리즘의 파생
Lanczos 알고리즘으로 이어지는 몇 가지 추리 라인이 있다.
더 확실한 권력 방식
매트릭스 {\의 최대 규모의 고유값과 해당 고유 벡터를 찾기 위한 전력 방법은 대략 다음과 같다.
- 임의 벡터 0을(를) 선택하십시오
- 1의 경우( j 의 방향이 수렴될 때까지) 다음을 수행하십시오.
- Let j+ = j.
- Let j+ = + / + . }\ u_{j+1}\
- 큰 한계에서 는 가장 큰 규모 고유값에 해당하는 규범 고유 벡터에 접근한다.
이 방법에 대해 제기할 수 있는 비판은 낭비적이라는 것이다: A 스타일 에서 정보를 추출하는 데 많은 작업(2.1단계의 매트릭스-벡터 제품을 소비하지만 마지막 결과에만 주의를 기울인다; 구현은 일반적으로 모든 벡터 j ]에 대해 동일한 변수를 사용한다. 각각의 새로운 반복이 이전 반복의 결과를 덮어쓰게 한다.대신 중간 결과를 모두 유지하고 데이터를 정리하면 어떨까?
벡터 j 에서 사소한 것으로 얻을 수 있는 한 가지 정보는 크릴로프 하위 공간의 체인이다.알고리즘에 집합을 도입하지 않고 계산한다고 말하는 한 가지 방법은
- a subset of a basis of such that for every 및 모든 ⩽ < ;j
v = = u j = j = {\v_}=u_가 , -1 와 선형적으로 독립되어 있는 한(그리고 이러한 의존성이 있는 경우에는 j {로 선택하여 시퀀스를 계속할 수 있다. 1,…, - 에 선형적으로 독립적인 임의 벡터.그러나 } 벡터의 순서는 의 고유 벡터에 수렴하기 위한 설계에 의한 것이므로, u j {\displaystyle u_{j 벡터를 포함하는 기초는 숫자로 불량할 가능성이 있다 이를 피하기 위해 전력 반복을 Gram-Schmidt 공정과 결합하여 직교정맥 b를 만들 수 있다.이 크릴로프 서브 스페이스의 경우
- 유클리드 노먼 의 임의 벡터 1{\}를 선택하십시오 v =
- = ,…, - 의 경우 다음을 수행하십시오.
- Let j+ = j
- For all let . (These are the coordinates of with respect to the basis vectors .)
- Let . (Cancel the component of that is in .)
- If then let and ,
- 그렇지 않으면 j+ = j+ 1 의 , , ,에 직교하는 유클리드 규범 1의 임의 벡터로 선택하십시오
출력 반복 벡터 j 와 직교 벡터 사이의 관계는 다음과 같다.
- .
Here it may be observed that we do not actually need the vectors to compute these , because and therefore the difference between 및 + = 은 (는 ( 1, 에 있으며,직교화 프로세스에 의해 취소된다.따라서 Krylov 하위공간 체인에 대한 동일한 근거는 다음과 같이 계산된다.
- 유클리드 표준 의 벡터 1 1}를 하십시오
- = ,…, - 의 경우 다음을 수행하십시오.
- Let + = A j
- 모든 = 1,…에 대해,j {\1,\ , = w+
- + = + 1 + 1′- = j k v k {\w_{
- h j+ 1,= w+ ,j
- + , 0{\1,0}인 j + = + / j + , {\1}/jj}}},
- 그렇지 않으면 v + v 모든 과 직교하는 유클리드 표준 의 임의 벡터로 선택하십시오
계수 , 이(가) 충족됨
- = = 1 j+ 1 j k }{k}m 모든 j < m
정의 + , j = + 1{\,j+1은 (는) 약간 이상하게 보일 수 있지만, 인 패턴 k = k = w + k}={+1}^{j+1}^{j+1}}}}}}}}}}}^{j
Because the power iteration vectors that were eliminated from this recursion satisfy the vectors and coefficients , j}는u , …, m 모두 계산될 수 있을 A{\로부터 충분한 정보를 포함하고 있으므로 벡터를 전환하여 손실된 것은 아무것도 없었다.(실현상, 수집된 데이터는 가장 큰 고유값의 근사치를 상당히 높은 것으로 판명되었다.ue는 전력 방법에서 동일한 횟수의 반복으로부터 얻는 것보다 더 많은 것을 얻지만, 이 시점에서 그것이 반드시 분명한 것은 아니다.)
이 마지막 절차는 아놀디 반복이다.그런 다음 Lanczos 은 A A}이(가) Emitian일 때 사소한 것으로 판명되는 계산 단계를 제거함으로써 얻어지는 단순화(특히 h , j 계수의 대부분이 0으로 밝혀짐으로써 발생한다.
으로 A 이 (가) Emitian이면
k<>에서 이 부분 공간;j − 우리는 A가 vk∈{\displaystyle Av_{km그리고 4.9초 만}\in\operatorname{ 걸치다}(v_{1},\ldots{j-1},v_)}(v1,…, vj− 1)에 알아 1{\displaystyle k<, j-1}, vj{\displaystyle v_{j}}건설은 직교 내면의 제품이 되어야 한다 0.(이것은 본질적으로도.reason 직교 다항식의 시퀀스가 항상 3개월의 반복 관계를 부여할 수 있는 이유)= - 의 경우
후자는 벡터의 규범이기 때문에 현실적이기 때문이다.= j 의 경우
이것도 진짜라는 뜻이야
더 추상적으로,V {\ V이() v 1,…, m{\ 열로 이루어진 행렬이라면, k , 는 = H^{*}의 요소로 식별할 수 있다., 및 = 의 > + 1 행렬 은 (는) 상부 Hessenberg이다.이후
H 은 (는) 에르미트어이다.는 H 역시 하급 헤센버그라는 것을 암시하므로, 사실상 삼지일체임에 틀림없다.에르미트인이기 때문에, 그것의 주요 대각선은 실제이고, 그것의 첫 번째 대각선은 시공에 의해 실제이기 때문에, 그것의 첫 번째 대각선도 마찬가지다.따라서 은 실제 대칭 행렬로서 Lanczos 알고리즘 명세의 T 이다.
극한 고유값의 동시 근사치
은둔자 행렬 의 고유 벡터를 특징짓는 한 가지 방법은 Rayleigh 지수의 정지 지점과 같다
특히 가장 큰 고유값 {\은 r{\}의 전역 최대값이고, 가장 작은 고유값 {\은 의 전역 이다
의 저차원 서브공간 내에서 r 의 최대 및 y 를 찾을 수 있다 증가 체인 ⊂ {n을 반복한다. produces two sequences of vectors: and such that and
그런 다음 이러한 시퀀스가 최적의 속도로 수렴되도록 하위 스페이스를 선택하는 방법에 대한 문제가 발생한다.
로부터 r의 더 큰 값을 찾는 최적의 방향은gradient ( x 의 방향이며, {\ y_에서도 보다 작은 을 찾는 최적의 방향이다.음의 구배 - ( ) 의 구배 일반적으로
따라서 관심 방향은 매트릭스 산술로 계산할 수 있을 정도로 쉽지만, 만약 j 와 y j{\를 모두 개선하고자 한다면, A j 와 의 두 가지 새로운 방향을 고려해야 한다. 및 j 은(는) 선형 독립 벡터(실제, 직교에 가까우므로 으로 A j{\와 j{\가 평행하다고 기대할 수 없다.따라서 단계마다 L 의 치수를 씩 늘릴 필요가 있는가?Not if are taken to be Krylov subspaces, because then for all thus in particular for both 및 =
즉, 임의의 초기 벡터 = , 벡터 공간을 구성하는 것으로 시작할 수 있다.
다음 x , 을 (를) 구하십시오.
전원법반복 {\는 L , {\mathcal에 속하므로, x j {\ y 를 생성하는 반복은 전원법보다 더 느리게 수렴할 수 없으며,고유값의 극한값을 모두 근사하게 함으로써 더 많은 것을 달성할 것이다. displaystyle {\에rdisplaystyle v \}을(를) 최적화하는 하위 문제에 대해서는 이 벡터 공간에 대해 직교법 {v1,….따라서 우리는 다시 반복적으로 크릴로프 하위공간 순서에 대한 그러한 기초를 계산하는 문제에 이르게 된다.
수렴 및 기타 역학
알고리즘의 역학을 분석할 때 사용자에게 명시적으로 알려져 있지 않더라도 의 고유값과 고유 벡터를 주어진 대로 가져가는 것이 편리하다.To fix notation, let be the eigenvalues (these are known to all be real, and thus possible to order) and let be an orthonormal set of eigenvectors such that = z 모든 = , n
It is also convenient to fix a notation for the coefficients of the initial Lanczos vector with respect to this eigenbasis; let for all , so that \textstyle 일부 고유 구성요소가 고갈된 시작 v 은(는)에 대한 정합성을 지연시키고, 오차범위의 상수로만 나오더라도 고갈은 바람직하지 않다.지속적으로 타격을 받지 않도록 하는 한 가지 일반적인 기법은 먼저 0을(를) 사용하여 동일한 정규 분포에 따라 무작위로 요소를 그려 1 }을 선택한 다음 벡터의 크기를 Norm 1재조정 전에 계수를 발생시키는 것이다 또한 동일한 정규 분포로부터 독립적으로 정규 분포된 확률 변수를 갖기 위해(좌표 변경은 단일 분포이므로), 벡터 1,, n)를 재조정한 후는 의 단위 구에 균일한 분포를 가진다. 이를 통해 예를 d 1< 1}의 확률을 바인딩할 수 있다
Lanczos 알고리즘이 좌표에 구애받지 않는다는 사실 – 연산은 벡터의 개별 요소에서가 아니라 벡터의 내부 제품만을 바라지 않는다는 사실 때문에 알고리즘을 실행할 알려진 고유 구조를 가진 예를 쉽게 구성할 수 있다: 을(를) 대각선에 원하는 고유값을 가진 대각 행렬로 만든다.시작 벡터 }은(는) 0이 아닌 원소가 충분하며 알고리즘은 일반 3각 대칭 행렬을 T로 출력한다
카니엘-파이지 융합 이론
After iteration steps of the Lanczos algorithm, is an real symmetric matrix, that similarly to the above has eigenvalues 수렴에 의해 1 ~ 1 }의 수렴( _{n과 {\이 증가함에 따라 대칭적으로 이해된다. 범위의 ce는 의 T 고유값의 , Lanczos 알고리즘의 수렴은 종종 전력 반복 알고리즘의 그것보다 더 빠른 크기의 순서다.[9]: 477
}의 한계는 Rayleigh 지수 ( x r의 극단값으로 위와 같은 고유값을 해석한 데서 비롯된다.come 는 , 전체에서 r}의 최대값 r의 r}에 대한 r}{\ whereas is merely the maximum on an -dimensional Krylov subspace, we trivially get . Conversely, any point in that Krylov subspace provides a lower bound ) 1 {\_}에 {\ r을(를) 의 포인트가 작을 경우 can }에 엄격한 바인딩을 제공한다
m Krylov 하위 공간은
따라서 그것의 어떤 요소도 최대 - 1 에서 도인 일부 p 에 p( }로 표현될 수 있다 해당 다항식의 계수는 , , 2 v 1 의 선형 조합에 있는 계수일 뿐이다. 1 }:{1}:{1우리가 원하는 다항식은 실제 계수를 갖는 것으로 판명되겠지만, 당분간은 복잡한 계수도 허용해야 하며, 복합체가 의 모든 계수를 결합하여 얻은 다항식에 p p를 쓰도록 하겠다 크릴로프 서브 공간의 이 파라메타레이션에서 우리는 다음과 같이 한다.
v }의 식을 고유 벡터의 선형 조합으로 사용하여
그리고 더 일반적으로
모든 다항식 에 대해
그러므로
여기서 분자와 분모의 주요 차이점은 = 항이 분자에서 사라지지만 분모에서는 사라지지 않는다는 것이다.따라서 을(를) {\}에서 크지만 다른 모든 고유값에서 작을 수 있다면 1- 1{\1}-\}에 대한 오차 한계를 좁게 된다
은(는) 계수가 p 보다 훨씬 더 많은 고유값을 가지므로, 이는 높은 순서로 보일 수 있지만 이를 충족시키는 한 가지 방법은 체비셰프 다항식을 사용하는 것이다.Writing for the degree Chebyshev polynomial of the first kind (that which satisfies for all ), we have a polynomial which stays in the range 은(는) 알려진 간격[- , 에 있지만 그 외부에서 빠르게 성장한다.인수의 일부 축소를 통해 }를 제외한 모든 고유값을[ -, ]{\[-에 매핑하도록 할 수 있다
(in case , use instead the largest eigenvalue strictly less than ), then the maximal value of for is 과 (와) 은 0 이므로
더 나아가
수량
따라서 (즉, 나머지 스펙트럼의 지름에 대한 첫 번째 아이겐갑의 비율)은 여기에서 수렴율에 있어 중요한 것이다.또한 쓰기
라고 단정할 수 있다.
따라서 수렴 속도는 에 의해 주로 제어된다 이 바운드는 각 추가 반복에 대해 R {\ R로 축소되기 때문이다.
비교를 위해 전력법의 수렴률이 에 어떻게 의존하는가를 고려할 수 있지만, 전력법은 주로 고유값의 절대값 의 인수에 민감하기 때문에, 는 for \ 2 {\ \}이 필요하다. }와 2 }} 사이의 간격이 지배적이다.그 제약조건하에서 전력법을 가장 선호하는 경우는 = - 그러니까 그 점을 고려하라.전력 방식 후반에 반복 벡터:
여기서 각 새로운 반복은 }}-display 을(를) 효과적으로 곱한다.
가장 큰 고유값의 추정치는 다음과 같다.
따라서 Lanczos 알고리즘 수렴 속도에 대한 위의 바운드는 다음과 비교되어야 한다.
반복에 대해(+ )- 2 의 비율로 축소된다.The difference thus boils down to that between and . In the region, the latter is more like , and performs like the power method would두 배나 큰 에이긴갑으로, 눈에 띄는 개선으로.The more challenging case is however that of in which is an even larger improvement on the eigengap; the region is where the Lanczos algorithm convergence-wise makes the smallest improvement on the파워 방식
수치안정성
안정성은 작은 숫자 오류가 도입되고 누적될 경우 알고리즘이 얼마나 영향을 받는지(즉, 원래 알고리즘에 가까운 대략적인 결과를 산출할 것인가)를 의미한다.숫자 안정성은 반올림된 컴퓨터에서 알고리즘 구현의 유용성을 판단하기 위한 중심 기준이다.
란초스 알고리즘의 경우 정확한 산술로 벡터 v ,v , m+ 해결된 고유값/벡터 세트가 정형근거를 구성하며, 해결된 고유값/벡터 세트가 원래 매트릭스의 그것과 좋은 근사치가 된다는 것을 증명할 수 있다.그러나 실제에서는(오차가 불가피한 부동 소수점 산술에서 계산을 수행함에 따라), 직교성은 빠르게 상실되며 경우에 따라서는 새로운 벡터가 이미 구성된 집합에 선형적으로 의존할 수도 있다.결과적으로 3각형 행렬의 일부 고유값은 원래 행렬에 근사치가 아닐 수 있다.따라서 란초스 알고리즘은 그다지 안정적이지 않다.
이 알고리즘의 사용자는 반드시 그러한 "비논리적" 고유값을 찾아 제거할 수 있어야 한다.Lanczos 알고리즘의 실제 구현은 이 안정성 문제와 싸우기 위해 세 가지 방향으로 간다.[6][7]
- 직교성 상실을 방지하고
- 기초가 생성된 후 직교성을 복구하십시오.
- 좋은 값과 "가공적인" 고유값을 모두 확인한 후 가짜 값을 제거하십시오.
변형
Lanczos 알고리즘의 변화는 관련된 벡터가 벡터 대신 키가 크고 폭이 좁은 행렬이며 정규화 상수가 작은 사각 행렬인 경우에 존재한다.이를 "블록" 란초스 알고리즘이라고 하며 레지스터 수가 많고 메모리 추출 시간이 긴 컴퓨터에서 훨씬 빠를 수 있다.
Lanczos 알고리즘의 많은 구현은 일정 횟수의 반복 후에 재시작된다.가장 영향력 있는 재시동 변형 중 하나는 ARPACK에서 구현되는 암묵적으로 재시동된 Lanczos 방법이다.[10][11]이것은 다시 시작된 Lanczos bidiangleization과 같은 많은 다른 다시 시작된 변형으로 이어졌다.[12]다시 시작된 또 다른 성공적인 변화는 TRLAN이라는 소프트웨어 패키지로 구현된 Thick-Restart Lanczos 방법이다.[13][14]
한정된 영역에 걸친 Nullspace
1995년, 피터 몽고메리는 GF(2)에 걸쳐 큰 희소성 행렬의 nullspace 요소를 찾기 위해 Lanczos 알고리즘에 기초하여 알고리즘을 발표하였다. 유한한 분야에 걸쳐 큰 희소성 행렬에 관심이 있는 집합과 큰 고유치 문제에 관심이 있는 집합이 거의 겹치지 않기 때문에, 이것을 블록이라고도 한다.k Lanczos 알고리즘에 불합리한 혼동을 일으키지 않는다.[citation needed]
적용들
Lanczos 알고리즘은 {\에 의한 곱셈이 유일한 대규모 선형 연산이기 때문에 매우 매력적이다.가중치 부여형 텍스트 검색 엔진은 이 연산만을 구현하므로, 란초스 알고리즘을 텍스트 문서에 효율적으로 적용할 수 있다(잠재적 의미 인덱싱 참조).존 클라인버그가 개발한 HITS 알고리즘이나 구글이 사용하는 페이지랭크 알고리즘 등 대규모 순위 결정 방식에도 아이겐벡터가 중요하다.
란초스 알고리즘은 핵물리학에서 쉘 모델 코드뿐만 아니라 강하게 상관관계가 있는 전자 시스템의 해밀턴인들을 해결하기 위한 방법으로 응축물리학에서도 사용된다.[15][16]
구현
NAG 라이브러리에는 Lanczos 알고리즘을 사용하는 대규모 선형 시스템과 고유문제의 해결을 위한 몇 가지 루틴이 포함되어[17] 있다.
MATLAB와 GNU 옥타브는 ARPACK이 내장되어 있다.저장된 행렬과 암묵적인 행렬은 모두 eigs() 함수(Matlab/Octave)를 통해 분석할 수 있다.
Lanczos 알고리즘의 Matlab 구현(정밀성 문제 참고)은 가우스 신앙 전파 Matlab 패키지의 일부로 이용할 수 있다.GraphLab[18] 협업 필터링 라이브러리는 멀티코어용 Lanczos 알고리즘(C++)의 대규모 병렬 구현을 통합한다.
PrimME 라이브러리는 또한 Lanczos와 같은 알고리즘을 구현한다.
메모들
- ^ 계수는 둘 다 실제일 필요는 없지만 위상은 거의 중요하지 않다.또한 다른 고유 벡터를 위한 합성물이 완전히 사라졌을 필요는 없지만 z }만큼 빨리 수축되기 에 u 1 + z {\ 약 최악의 경우를 설명한다.
참조
- ^ Lanczos, C. (1950). "An iteration method for the solution of the eigenvalue problem of linear differential and integral operators" (PDF). Journal of Research of the National Bureau of Standards. 45 (4): 255–282. doi:10.6028/jres.045.026.
- ^ a b Ojalvo, I. U.; Newman, M. (1970). "Vibration modes of large structures by an automatic matrix-reduction method". AIAA Journal. 8 (7): 1234–1239. Bibcode:1970AIAAJ...8.1234N. doi:10.2514/3.5878.
- ^ Paige, C. C. (1971). The computation of eigenvalues and eigenvectors of very large sparse matrices (Ph.D. thesis). U. of London. OCLC 654214109.
- ^ Paige, C. C. (1972). "Computational Variants of the Lanczos Method for the Eigenproblem". J. Inst. Maths Applics. 10 (3): 373–381. doi:10.1093/imamat/10.3.373.
- ^ Ojalvo, I. U. (1988). "Origins and advantages of Lanczos vectors for large dynamic systems". Proc. 6th Modal Analysis Conference (IMAC), Kissimmee, FL. pp. 489–494.
- ^ a b Cullum; Willoughby (1985). Lanczos Algorithms for Large Symmetric Eigenvalue Computations. Vol. 1. ISBN 0-8176-3058-9.
- ^ a b Yousef Saad (1992-06-22). Numerical Methods for Large Eigenvalue Problems. ISBN 0-470-21820-7.
- ^ Coakley, Ed S.; Rokhlin, Vladimir (2013). "A fast divide-and-conquer algorithm for computing the spectra of real symmetric tridiagonal matrices". Applied and Computational Harmonic Analysis. 34 (3): 379–414. doi:10.1016/j.acha.2012.06.003.
- ^ a b Golub, Gene H.; Van Loan, Charles F. (1996). Matrix computations (3. ed.). Baltimore: Johns Hopkins Univ. Press. ISBN 0-8018-5413-X.
- ^ D. Calvetti; L. Reichel; D.C. Sorensen (1994). "An Implicitly Restarted Lanczos Method for Large Symmetric Eigenvalue Problems". Electronic Transactions on Numerical Analysis. 2: 1–21.
- ^ R. B. Lehoucq; D. C. Sorensen; C. Yang (1998). ARPACK Users Guide: Solution of Large-Scale Eigenvalue Problems with Implicitly Restarted Arnoldi Methods. SIAM. doi:10.1137/1.9780898719628. ISBN 978-0-89871-407-4.
- ^ E. Kokiopoulou; C. Bekas; E. Gallopoulos (2004). "Computing smallest singular triplets with implicitly restarted Lanczos bidiagonalization" (PDF). Appl. Numer. Math. 49: 39–61. doi:10.1016/j.apnum.2003.11.011.
- ^ Kesheng Wu; Horst Simon (2000). "Thick-Restart Lanczos Method for Large Symmetric Eigenvalue Problems". SIAM Journal on Matrix Analysis and Applications. SIAM. 22 (2): 602–616. doi:10.1137/S0895479898334605.
- ^ Kesheng Wu; Horst Simon (2001). "TRLan software package". Archived from the original on 2007-07-01. Retrieved 2007-06-30.
- ^ Chen, HY; Atkinson, W.A.; Wortis, R. (July 2011). "Disorder-induced zero-bias anomaly in the Anderson-Hubbard model: Numerical and analytical calculations". Physical Review B. 84 (4): 045113. arXiv:1012.1031. Bibcode:2011PhRvB..84d5113C. doi:10.1103/PhysRevB.84.045113. S2CID 118722138.
- ^ Shimizu, Noritaka (21 October 2013). "Nuclear shell-model code for massive parallel computation, "KSHELL"". arXiv:1310.5431 [nucl-th].
- ^ The Numerical Algorithms Group. "Keyword Index: Lanczos". NAG Library Manual, Mark 23. Retrieved 2012-02-09.
- ^ GraphLab 2011-03-14 웨이백 머신에 보관
추가 읽기
- Golub, Gene H.; Van Loan, Charles F. (1996). "Lanczos Methods". Matrix Computations. Baltimore: Johns Hopkins University Press. pp. 470–507. ISBN 0-8018-5414-8.
- Ng, Andrew Y.; Zheng, Alice X.; Jordan, Michael I. (2001). "Link Analysis, Eigenvectors and Stability" (PDF). IJCAI'01 Proceedings of the 17th International Joint Conference on Artificial Intelligence. 2: 903–910.