행렬의 고유 분해를 찾는 복잡성


40

내 질문은 간단합니다.

계산하기위한 가장 잘 알려진 알고리즘의 실행 시간을 최악의 경우 무엇 eigendecompositionn×n 행렬은?

고유 분해가 행렬 곱셈으로 감소합니까 아니면 최악의 경우 SVD 를 통해 가장 잘 알려진 알고리즘 입니까?O(n3)

조건 번호와 같은 문제 종속 상수가있는 경계가 아닌 최악의 경우 분석 ( 만)을 요구하고 n있습니다.

편집 : 아래 답변 중 일부를 고려하여 질문을 조정하겠습니다. 나는 근사에 만족합니다. 근사값은 곱셈, 덧셈, 입력 방식 또는 원하는 합리적인 정의가 될 수 있습니다. 에 더 의존이 알려진 알고리즘이 있다면 나는 관심이 N 과 같은보다 O ( P 리터의 Y ( 1 / ε ) N 3 ) ?ϵnO(poly(1/ϵ)n3)

편집 2 : 대칭 행렬관한이 관련 질문 을 참조하십시오 .


CLRS 알고리즘 교과서에서 행렬 반전에서 행렬 곱셈으로의 축소를 보았습니까? 그 아이디어가 고유 분해로 확장되는지 확인하는 것으로 시작하겠습니다.
워렌 슈디

예-그것들은 LU 분해를 찾는 것으로 확장되지만, 그것이 고유 분해에 어떻게 작용하는지 모르겠습니다.
레브 레이 진

SVD 계산에 O(n3) 가 가장 잘 알려진 알고리즘 인지 알고 있습니까?
로빈 코타 리

1
O(min(mn2,m2n))n×n

좋구나. 이 영역에 대해서도 많이 알지 못하지만 아마도 SVD 계산을 고유 분해로 줄일 수 있습니다. AA *와 A * A를 고유 분해 할 수 있으면 SVD에 대한 좌우 행렬을 얻을 수 있기 때문입니다.
로빈 Kothari의

답변:


18

Ryan은 mathoverflow에 대해 비슷한 질문에 답변했습니다. 다음은 링크입니다. mathoverflow-answer

기본적으로 기호 결정자를 계산하여 고유 값 계산을 행렬 곱셈으로 줄일 수 있습니다. 이것은 비트의 고유 값 을 얻기 위해 O ( ) 의 실행 시간을 제공합니다 . 현재 가장 잘 알려진 런타임은 내의 근사값에 대한 O ( )입니다 .nω+1mmn3+n2log2nlogb2b

Ryan의 언급은``Victor Y. Pan, Zhao Q. Chen : Matrix Eigen 문제의 복잡성입니다. STOC 1999 : 507-516 ''.

(나는 오래된 Aho, Hopcroft 및 Ullman 저서``컴퓨터 알고리즘의 설계 및 분석 ''에서 고유 값의 복잡성과 행렬 곱셈 사이의 관계에 대한 논의가 있다고 생각하지만,이 책은 없습니다. 내 앞과 정확한 페이지 번호를 줄 수 없습니다.)


13

고유 값을 찾는 것은 본질적으로 반복적 인 과정입니다. 고유 값을 찾는 것은 다항식의 근을 찾는 것과 같습니다. 더욱이, 아벨-루피 니 정리는 일반적으로 임의의 다항식의 근을 단순한 닫힌 형태 (즉, 2 차 공식과 같은 라디칼로)로 표현할 수 없다고 말합니다. 따라서 고유 값을 "정확하게"계산할 수는 없습니다.

이것은 스펙트럼 분해 알고리즘이 근사 적이어야한다는 것을 의미합니다. 일반적인 알고리즘의 실행 시간은 원하는 정확도에 의존해야합니다. 치수에만 의존 할 수는 없습니다.

나는 이것에 대한 전문가가 아닙니다. 나는 n에 대한 입방 관계가 꽤 좋다고 생각합니다. 내가 본 알고리즘은 모두 행렬-행렬 곱셈 대신 행렬-벡터 곱셈을 사용합니다. 그래서 모든 것이 행렬 행렬 곱셈으로 귀결된다면 다소 놀랄 것입니다.

http://en.wikipedia.org/wiki/List_of_numerical_analysis_topics#Eigenvalue_algorithms를 살펴보십시오


답변 주셔서 감사합니다-소화 할 시간이 필요합니다! 그러나 행렬-벡터 곱셈을 사용한다면 n에 대한 의존성이 아마도 n ^ 3보다 낫습니다.
레브 레이 진

6

행렬의 고유 값과 관련된 부분적인 답변 만 제공합니다.

앞에서 언급했듯이 행렬의 고유 값 (예 : 거듭 제곱 반복)을 찾는 반복적 인 방법이 많이 있지만 일반적으로 고유 값을 찾는 것은 특성 다항식의 근을 찾는 것으로 줄어 듭니다. 특성 다항식을 구하는 것은 에서 수행 할 수 있습니다 . 여기서 는 비트 곱하기 비용 이고 은 최대 항목의 비트 크기입니다. Bareiss 's Algorithm을 사용한 기호 결정기 계산 . Yap의 "Algoithmic Algebra 기초" 에 관한 책 , 특히 Chap. 10, "선형 시스템" .O(n3MB[n(logn+L)])MB(s)sL

특성 다항식이 발견되면, 격리 간격을 사용하여 원하는 정도의 근을 찾을 수 있습니다. Yap 's book, Chap. 6 "다항식의 뿌리" . 정확한 런타임을 잊어 버렸지 만 특성 다항식의 정도와 원하는 정확도의 자릿수에서 다항식을 잊어 버렸습니다.

정확도에 상관없이 고유 벡터를 계산하는 것도 다항식이라고 생각하지만 직선 알고리즘은 보이지 않습니다. 물론 이전에 언급 된 표준 기법이 있지만, 아는 한, 원하는 정확도를 위해 다항식 런타임을 보장하는 것은 없습니다.


흥미롭지 만 이것은 n ^ 3보다 훨씬 나빠 보입니다. 이것이 최선이라는 것을 알고 있습니까?
레프 레이 진

이러한 특성의 알고리즘에서 실행 시간은 약 O (n ^ 3) 인 Matrix Multiplication의 복잡성과 연결되어 있습니다. Strassen의 알고리즘에 대해 알고 있지만 수치 안정성 문제를 무시하지 않으면 행렬 곱셈에 대해 O (n ^ 3)를 다시 얻는다고 생각합니다. 반복적 인 방법은 "평균"의 경우 더 빨리 수렴 될 수 있지만 일반적으로 O (n ^ 3) 정도가 최선이라고 생각합니다.
user834

수치 안정성 문제에 관심이 없다면 O (n ^ 2.376)로 줄일 수 있습니까?
레프 레이 진

5

Max-Cut에 대한 조합 알고리즘을 제공하는 Commandur와 Kale의 새 논문을 확인할 수 있습니다. 그것들의 알고리즘은 최대 고유 값에 해당하는 고유 벡터를 조합하여 찾은 다음이 고유 벡터를 가진 Luca Trevisan 알고리즘을 사용하여 알고리즘을 기반으로하는 것으로 보인다.

그들은 그러한 고유 벡터를 찾기 위해 Lanczos의 알고리즘에 대한 대안적인 접근법을 사용하고있는 것으로 보인다. 고유 벡터를 찾는 방법의 복잡성이 무엇인지 잘 모르겠지만 조사해 볼 가치가 있습니다. 또한 관심사에 대한 시간이 아니라 근사 비율이므로 시간에 관계없이 최적이 아닐 수 있습니다.


1

이것은 오래된 질문이지만 몇 가지 중요한 문헌이 빠져있는 것 같습니다.

우리가 더 강력한 이론적 지원을하는 알고리즘이 있습니다. 예를 들어, 행렬 부호 함수를 기반으로 반복이 수행됩니다 (예 : Demmel, Dumitriu 및 Holtz의 "Fast Linear Algebra is Stable"참조) . 이 논문에서 고유 값 문제는 시간 에서 해결 될 수 있음을 보여줍니다. 여기서 는 행렬 곱셈의 지수이고 는 입니다.(Oω+η)ωη>0

그렇습니다. Pan + Chen + Zheng 논문은 마지막에 많은 정확성을 잃기 때문에 특성 다항식을 조립하고 BigFloat에서 계산하는 것을 제안하지만 실제로 많은 사람들이이 방법을 실용적인 방법으로 생각하지는 않습니다.

또한 가장 널리 사용되는 알고리즘 인 Francis QR 반복은 일반적인 행렬에 대한 수렴의 증거가 없습니다. Kressner의 저서에는 여러 가지 반례가 설명되어 있습니다.


0

그렇습니다. 수치 선형 대수학은 거의 모든 수의 선형 대수를 행렬 곱셈으로 줄일 수 있지만 항상 그렇듯이 수치 안정성이 문제입니다. 또한 고유 분해와 같은 문제가 발생하면 해가 불합리 할 수 ​​있으므로 근사치에 만족해야합니다. Bini and Pan의 다항식 및 행렬 계산 책을 확인하십시오 .

여기 또 다른 참고 자료가 있습니다- 빠른 선형 대수는 안정적입니다 http://www.netlib.org/lapack/lawnspdf/lawn186.pdf


3
포인터에 감사하지만 Google 도서에서 책을 검색하면 행렬 곱셈을 줄일 수 없었습니다. 구체적인 참조 또는 알고리즘에 대한 포인터가 있습니까? 그리고 SVD 알고리즘은 매트릭스의 조건 번호에 의존하는 것으로 보이며 이는 최악의 경우 분석이 아닙니다. 수치 적 안정성 문제 등과 관련하여 모든 곱셈과 나눗셈에 단위 시간이 걸리고 정확한 답을 얻는 이상적인 사례를 가정 해 봅시다.
레프 레이 진
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.