사전 계산 후 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 HA + 의 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(에이+σ나는)엑스=엑스: =(+σ나는)1H 일 (중간 반전 단순히 역대이다).영형(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

[A1+δejejH]1=A1δA1ejejHA11+δ(ejHA1ej),

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

또 다른 갱신 : 나는 내가 노력 언급해야 - 1 개 예비 - @GeoffOxberry 몇 임의 SPD에 제안 있음을 1000 × 1000 개 PCG하고, 아마도 당연히이 크게 때 반복 횟수를 줄일 것를 사용하여 행렬 | | D | | 2 / | | A | | 2 는 작지만 O ( 1 ) 이상인 경우에는 아닙니다 .A11000×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을 반복 방법을 사용하여 각 시스템을 해결하기 위해 예비 상태로, 그 밖으로 작동하는 방법을 참조하십시오.A1

갱신에 응답 : @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

A1=(A+DD)1(A+D)(A+D)1=[(A+D)1(A+DD)]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. D0). If the shift in the preconditioner is smaller (Dminσ(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.