분할 및 변환 고유값 알고리즘

Divide-and-conquer eigenvalue algorithm

분할 및 변환 고유값 알고리즘은 최근(서클 1990년대) QR 알고리즘과 같은 전통적인 알고리즘으로 안정성효율성 면에서 경쟁력이 높아진 에르미트나 실제 대칭 행렬에 대한 고유값 알고리즘의 일종이다.이러한 알고리즘 뒤에 숨겨진 기본 개념은 컴퓨터 과학에서 분리-금융 접근법이다.고유치 문제는 대략 절반 크기의 두 문제로 나뉘는데, 각각은 재귀적으로 해결되며, 원래 문제의 고유치는 이러한 작은 문제의 결과로 계산된다.

여기서 우리는 1981년에 Cuppen에 의해 원래 제안되었던 것과 유사한, 분할 및 재무 알고리즘의 가장 간단한 버전을 제시한다.이 글의 범위 밖에 있는 많은 세부사항은 생략될 것이다. 그러나 이러한 세부사항을 고려하지 않으면 알고리즘이 완전히 안정적이지 않다.

배경

에르미트 행렬에 대한 대부분의 고유값 알고리즘과 마찬가지로, 분할 및 재무는 삼지각형 형태로 감소하는 것으로 시작한다. m 행렬의 경우, Householder reflection을 통해 4 }{3}}{3}} 부동 소수점 연산을 수행하거나, 고유 벡터가 필요한 경우 3을 사용한다.아놀디 반복과 같은 다른 알고리즘들이 있는데, 이것은 특정 등급의 매트릭스에 더 도움이 될 수 있다; 우리는 여기서 더 이상 이것을 고려하지 않을 것이다.

어떤 경우에는 고유치 문제를 더 작은 문제로 압축하는 것이 가능하다.블럭 대각 행렬 고려

의 고유값과 고유 벡터는 1 }와 }}의 값이며 이 두 가지 작은 문제를 한꺼번에 해결하는 것보다 거의 항상 더 빠를 것이다.이 기법은 많은 고유값 알고리즘의 효율성을 향상시키기 위해 사용될 수 있지만, 분할 및 조정에는 특별한 의미가 있다.

이 글의 나머지 부분에 대해서는, 분할-통화 알고리즘에 대한 은 m× m 실제 대칭 3지각 행렬 이라고 가정한다 비록 알고리즘은 은둔자 행렬에 대해 수정할 수 있지만, 여기서는 자세한 내용을 설명하지 않는다.

나누다

분할-분할 알고리즘의 분할 부분은 삼지각 행렬이 "거의" 블록 대각선이라는 깨달음에서 비롯된다.

Almost block diagonal.png

The size of submatrix we will call , and then is . Note that the remark about being almost block diagonal is true regardless of how 이(가) 선택됨(즉, 매트릭스를 그렇게 분해하는 방법은 여러 가지가 있다).그러나 효율성 측면에서 n m/ }을를) 선택하는 것이 타당하다

블록 대각 행렬에 1보정을 T {\ T}을를) 쓴다.

Block diagonal plus correction.png

The only difference between and is that the lower right entry in has been replaced with and similarly, in ^ 2}} 상단 왼쪽 t +, + 1 ,1n+1}-{로 대체되었다

The remainder of the divide step is to solve for the eigenvalues (and if desired the eigenvectors) of and , that is to find the diagonalizations and . This can be accomplished with recursive calls to the divide-and-conquer algorithm, although practical implementations often switch to the QR algorithm for small enough submatrices.

정복하다

알고리즘의 정복 부분은 비논리적인 부분이다.위에서 계산된 하위 행렬의 대각화를 고려할 때 원본 행렬의 대각화를 어떻게 찾을 수 있는가?

First, define , where is the last row of and 의 첫 번째 행으로, 이제 이 행을 보여 주는 것이 초등이다

나머지 과제는 대각 행렬의 고유값과 순위 1 보정을 찾는 것으로 축소되었다.이것을 어떻게 하는지 보여주기 전에 표기법을 단순화하자.우리는 매트릭스 + DD은(는) 구별되는 항목이 있는 대각선이고 (는) 0이 아닌 항목이 있는 벡터입니다.

w가i 0인 경우( i di)는 + d)의 고유공기다. 이후(+ ) = e =

이(가) 고유 값인 경우 다음을 수행하십시오.

여기서 (는) 해당 고유 벡터다.지금

w(는) 0이 아닌 스칼라이다. 도 0이 아니다. w(는) 0이어야 하며, + = 그렇다면 은(는) 구별되는 대각선이기 때문에 q {\ 은(는) 0이 아닌 하나의 위치만 포함할 것이고, 따라서 내부 w은(는) 결국 0일 수 없다.따라서 다음과 같은 이점이 있다.

스칼라 방정식으로 쓰이거나

이 방정식은 세속 방정식으로 알려져 있다.따라서 문제는 이 방정식의 왼쪽에서 정의한 합리적 함수의 근원을 찾는 것으로 축소되었다.

모든 일반 고유값 알고리즘은 반복적이어야 하며, 분할 및 재무 알고리즘도 다르지 않다.비선형 세속 방정식을 풀려면 뉴턴-랩슨 방법과 같은 반복적 기술이 필요하다.그러나 각 루트는 O(1) 반복에서 찾을 수 있으며, 각 루트는 플롭( -di rational function의 경우)을 필요로 하므로 이 알고리즘의 반복 부분 2)

분석

알고리즘을 분할·정복하는 것이 일반적이듯이 분할·정복 반복에 대한 마스터 정리를 이용하여 실행시간을 분석한다.위에서 n m / }을를) 선택한다고 말한 것을 기억하십시오 우리는 다음과 같은 반복 관계를 작성할 수 있다.

마스터 정리 에서 a= b= 따라서 = 1 분명히 )= ) 그래서 우리는

위에서 우리는 은둔자 행렬을 3각형 형태로 축소하는 데 3}}}{3플롭이 필요하다는 점을 지적한 것을 기억하십시오.이는 분할 및 변환 부분의 실행 시간을 왜소하게 하며, 이 시점에서 분할 및 변환 알고리즘이 3지각 행렬에 대해 QR 알고리즘(또한 ) 플롭을 통해 제공하는 이점이 무엇인지 명확하지 않다.

분할-통화 이점은 고유 벡터도 필요할 때 발생한다.이런 경우 삼두각형 형태로의 축소는 8 3이 걸리지만 알고리즘의 두 번째 부분 역시 (3 )가 걸린다.타당한 목표 정밀도의 QR 알고리즘의 경우 6m분할 및 변환의 경우 3 \ {이러한 개선의 이유는 분할 및 변환에서 알고리즘의 ) 부분(다중 행렬)은 반복과는 별개인 반면 QR에서는 모든 반복 단계에서 이러한 현상이 일어나야 하기 때문이다.8 플롭을 더하면 총 개선량은9 에서 \ 약 플롭이다.

분할 및 재무 알고리즘의 실용적 사용은 가장 현실적인 고유값 문제에서 알고리즘이 실제로 이것보다 더 잘 작동한다는 것을 보여주었다.그 이유는 Q 벡터 z이(가) 숫자로 희박해지는 경향이 매우 많으므로, 이는 부동소수점 정밀도보다 작은 값을 가진 항목이 많다는 것을 의미하며, 즉, 숫자 디플레이션(숫자 디플레이션)을 허용하기 때문이다.

변형 및 구현

여기에 제시된 알고리즘은 가장 간단한 버전이다.많은 실제 구현에서는 안정성을 보장하기 위해 더 복잡한 순위 1 보정이 사용된다. 일부 변형에서는 순위 2 보정을 사용하기도 한다.[citation needed]

성능과 안정성 측면에서 뉴턴-래프슨 방법보다 더 잘할 수 있는 합리적인 기능에 대한 전문화된 뿌리 찾기 기법이 존재한다.이것들은 분할-금융 알고리즘의 반복적인 부분을 개선하는 데 사용될 수 있다.

분할-상호 알고리즘은 쉽게 병렬화되며, LAPACK과 같은 선형 대수 계산 패키지는 고품질 병렬 구현을 포함하고 있다.

참조

  • Demmel, James W. (1997), Applied Numerical Linear Algebra, Philadelphia, PA: Society for Industrial and Applied Mathematics, ISBN 0-89871-389-7, MR 1463942.
  • Cuppen, J.J.M. (1981). "A Divide and Conquer Method for the Symmetric Tridiagonal Eigenproblem". Numerische Mathematik. 36: 177–195.