사전 계산 후 2 차 시간에 대각선 + 고정 대칭 선형 시스템을 해결할 수 있습니까?


21

이 생길는 O(n3+n2k) 해결 방법 k 형태의 시스템 선형 (Di+A)xi=bi 곳 인 고정 SPD 행렬과 D 나 포지티브 대각 행렬이다?ADi

예를 들어, 각 Di 가 스칼라이면 의 SVD를 계산하면 충분합니다 A. 그러나 이것은 일반적인 D 의 경우, commutativity가 없기 때문에 분류됩니다.

업데이트 : 지금까지 답변은 "아니오"입니다. 왜 그 사람에 대해 흥미로운 직관이 있습니까? 대답이 없다는 것은 두 비 정류 연산자 사이에 정보를 압축하는 데 사소한 방법이 없다는 것을 의미합니다. 놀라 울 정도로 놀라운 것은 아니지만 더 잘 이해하는 것이 좋습니다.


SPD = semi-positive 한정?
— rcollyer

예. SPD가 없으면 문제는 본질적으로 동일합니다. 시스템이 결코 단일하지 않도록 보장하기 위해 해당 제약 조건을 추가했습니다.
— Geoffrey Irving

답변:


19

내가 찾을 수있는 귀하의 질문에 가장 가까운 긍정적 인 대답은 드문 대각선 섭동에 대한 것입니다 (아래 참조).

SPD 매트릭스에서 모든 정사각형 매트릭스로 스칼라 시프트에 대해 언급 한 기술의 일반화가 있지만, 일반적인 경우에 대한 알고리즘은 모릅니다.

정사각 행렬 주어지면 Schur 분해 A = U T U H 가 존재합니다 . 여기서 U 는 단일이고 T 는 상위 삼각형이며 A + σ I = U ( T + σ I ) U H 는 A + 의 Schur 분해를 제공합니다 σ I . 따라서 사전 계산 아이디어는 알고리즘을 통해 모든 제곱 행렬로 확장됩니다.AA=UTUHUTA+σI=U(T+σI)UHA+σI

  • 최대 O ( n ) 에서 계산 [U,T]=schur(A) 작업.O(n3)
  • x 를 통해 각 를 풉니 다 : = U ( T + σ I ) − 1 U H b in O ( n 2(에이+σ나는)엑스=비엑스: =유(티+σ나는)−1유H비 일 (중간 반전 단순히 역대이다).영형(엔2)

이 추론은 다음과 같은 경우에 언급 한 접근 방식으로 축소됩니다. Schur 분해가 정규 행렬의 EVD로 감소하고 EVD가 에르 미트의 양의 유한 행렬의 SVD와 일치하기 때문에 A 가 SPD 일줄어 듭니다.에이

업데이트 응답 : 본인이 증명할 증거가 없을 때까지 답변이 "아니오"라고 주장하는 것을 거부합니다. 그러나 왜 어려운지에 대한 통찰력과 대답이 예인 또 다른 하위 사례를 제공 할 수 있습니다.

근본적인 어려움은 업데이트가 대각선이더라도 여전히 전체 순위이므로 역을 업데이트하는 기본 도구 인 Sherman-Morrison-Woodbury 공식 은 도움이되지 않는 것입니다. 스칼라 시프트 케이스도 풀 랭크이지만, 언급했듯이 모든 매트릭스와 통근하기 때문에 매우 특별한 경우입니다.

즉, 각 가 희소 한 경우, 즉 각각 0이 아닌 O ( 1 )를 갖는 경우, 셔먼-모리슨-우드버리 공식은 각 쌍 { D , b }으로 O ( n 2 ) 해를 산출합니다 . 예를 들어, j 번째 대각선 항목 에서 0이 아닌 단일 값으로 D = δ e j e H j :디영형(1)영형(엔2){디,비}j디=δ이자형j이자형jH

[A−1+δejejH]−1=A−1−δA−1ejejHA−11+δ(ejHA−1ej),

여기서 는 j 번째입니다ejj 표준 기본 벡터 입니다.

또 다른 갱신 : 나는 내가 노력 언급해야 - 1 개 예비 - @GeoffOxberry 몇 임의 SPD에 제안 있음을 1000 × 1000 개 PCG하고, 아마도 당연히이 크게 때 반복 횟수를 줄일 것를 사용하여 행렬 | | D | | 2 / | | A | | 2 는 작지만 O ( 1 ) 이상인 경우에는 아닙니다 .A−11000×1000||D||2/||A||2O(1)


12

경우 이다 대각선 지배적 각각의 난 , Koutis, 밀러, 그리고 펭 (참조하여 다음 최근 연구 Koutis의 웹 사이트 에서 각 시스템을 해결하는 데 사용할 수 있습니다 대칭 대각선 지배적 행렬에 작업을) O ( N 2 로그 ( N ) ) 시간 (실제로 O ( m의 로그 ( N ) ) 의 시간, m은 의 제로 엔트리의 최대 개수 ( D는 I + ) 각지(Di+A)iO(n2log⁡(n))O(mlog⁡(n))m(Di+A)i , 따라서 희소성을 활용할 수도 있습니다). 그런 다음 총 실행 시간은 이며, 밀도가 높은 선형 대수를 사용하여 각 시스템을 순진하게 해결 하는 O ( n 3 k ) 접근법 보다 낫지 만 2 차 실행 시간보다 약간 나쁩니다. 요구하고 있습니다.O(n2log⁡(n)k)O(n3k)

모든 i에 대한 현저한 희소성은 희소 솔버에 의해 이용되어 O ( n 2 k ) 를 산출 할 수 있습니다(Di+A)iO(n2k) 알고리즘 있지만, 상당한 희소성이 있다면, 당신은 그것을 언급했을 것입니다.

당신은 또한 사용할 수 - 1을 반복 방법을 사용하여 각 시스템을 해결하기 위해 예비 상태로, 그 밖으로 작동하는 방법을 참조하십시오.A−1

갱신에 응답 : @JackPaulson 수치 선형 대수 및 알고리즘의 관점에서 좋은 점을합니다. 대신 계산 복잡도 인수에 중점을 둘 것입니다.

선형 시스템 솔루션의 계산 복잡도와 행렬 곱셈의 계산 복잡성은 본질적으로 동일합니다. ( 대수 복합성 이론 참조 ) 두 개의 비 정류 연산자 사이의 정보를 압축하고 (양의 반정도 부분을 무시하고) 2 차 시간에 제안하는 시스템의 집합을 직접 해결할 수있는 알고리즘을 찾을 수 있다면 . 더 빠른 행렬 곱셈에 대해 추론하기 위해 그러한 알고리즘을 사용할 수 있습니다. 선형 시스템이 계산 복잡성을 감소시키기 위해 밀도가 높은 반 정밀도 구조가 밀도가 높은 직접 방법으로 어떻게 사용될 수 있는지 알기가 어렵습니다.n

@JackPaulson과 마찬가지로, 나는 대답이 증거없이 "아니오"라고 말하고 싶지는 않지만 위의 연결을 고려할 때 문제는 매우 어렵고 현재의 연구 관심사입니다. 특수 구조를 활용하지 않고 점근 적 관점에서 할 수있는 최선는 A 맺는 카퍼와 Winograd 알고리즘에 대한 개선입니다 알고리즘, α ≈ 2.375 . 이 알고리즘은 코딩하기가 어렵고, 작은 행렬의 경우 속도가 느릴 수 있습니다. 점근 적 추정치 앞의 상수 요소는 아마도 가우시안 제거에 비해 클 수 있기 때문입니다.O(nαk)α≈2.375


3
크로스 오버가 어디에 있는지에 대한 구체적인 진술은 아직 보지 못했지만, 몇 가지 평판 좋은 소식에 따르면 (구현 문제는 제외하고) Coppersmith-Winograd는 가까운 미래에 메모리에 적합 할 수있는 매트릭스 크기에 대한 표준 방법을 능가 할 수 없습니다 (수십 년). Linpack 벤치 마크가 현재 최고의 머신에서 실행하는 데 하루 이상이 걸리므로 실제로 Coppersmith-Winograd가 사용되지는 않을 것입니다. Strassen은 다소 큰 문제는 없지만 실제로 큰 문제에 실용적입니다.
— Jed Brown

그것은 나를 놀라게하지 않습니다. 구현 세부 사항은 +1입니다.
— 제프 옥스 베리

6

A first order Taylor expansion can be used to improve convergence over simple lagging. Suppose we have a preconditioner (or factors for a direct solve) available for A+D, and we want to use it for preconditioning A. We can compute

A−1=(A+D−D)−1(A+D)(A+D)−1=[(A+D)−1(A+D−D)]−1(A+D)−1=[I−(A+D)−1D]−1(A+D)−1≈[I+(A+D)−1D](A+D)−1

where the Taylor expansion was used to write the last line. Application of this preconditioner requires two solves with A+D.

It works fairly well when the preconditioner is shifted away from 0 by a similar or larger amount than the operator we are trying to solve with (e.g. D≳0). If the shift in the preconditioner is smaller (D≲minσ(A)), the preconditioned operator becomes indefinite.

If the shift in the preconditioner is much larger than in the operator, this method tends to produce a condition number about half that of preconditioning by the lagged operator (in the random tests I ran, it could be better or worse for a specific class of matrices). That factor of 2 in condition number gives a factor of 2 in iteration count. If the iteration cost is dominated by the solves with A+D, then this is not a sufficient factor to justify the first order Taylor expansion. If matrix application is proportionately expensive (e.g. you only have an inexpensive-to-apply preconditioner for A+D), then this first order method may make sense.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.