거의 단일 시스템에 적용되는 반복 선형 솔버의 정지 기준


16

고려 와 가 거의 단수를 의미 고유치 의 매우 작게된다. 반복 방법의 일반적인 정지 기준은 잔여에 기초 과는 반복을 중단 할 수 간주 때 와 N 반복 수. 그러나 우리가 고려하고있는 경우 , 작은 고유 값 \ lambda_0 과 관련된 고유 공간에 큰 오차 v 가 존재할 수 있으며 이는 작은 잔차 Av = \ lambda_0v를 제공 합니다. 초기 잔차 r_0 이 크다고 가정하면λ 0 R N : = B - X NR N/R 0< t O L N V λ 0 V = λ 0 V에서 , R 0R N/R 0< t o lAx=bAλ0Arn:=bAxnrn/r0<tolnvλ0Av=λ0vr0rn/r0<tol 그러나 오류 xnx 는 여전히 큽니다. 이 경우 더 나은 오류 표시기는 무엇입니까? 가 엑스엑스1좋은 후보?


3
"거의 단수"에 대한 정의를 생각할 수도 있습니다. 행렬 Iϵ ( ϵ1나는 행렬)은 고유 값이 매우 작지만 행렬과 같이 특이 값과는 거리가 멀습니다.
David Ketcheson

1
또한 ||rn/r0||잘못된 표기법처럼 보입니다. ||rn||/||r0||더 전형적인가요?
Bill Barth

네, 맞습니다 빌! 이 실수를 바로 잡겠습니다.
Hui Zhang

1
어때요? 알고리즘은 정확히 무엇입니까? 엑스/
shuhalo

2
부록 : 다음 논문은 적어도 CG를 사용하는 경우 걱정스럽지 않은 조건의 시스템을 거의 다룬다 고 생각합니다. DOI : 10.1002 / nla.244
shuhalo

답변:


13

제발 결코 멈추고있는 기준을 정의하기 위해 연속적인 반복의 차이를 사용하지 않습니다. 이것은 수렴에 대한 정체를 잘못 진단합니다. 대부분의 비대칭 행렬 반복은 모노톤이 아니며, 재시작없이 정확한 산술에서 GMRES조차도 갑자기 수렴하기 전에 임의의 수의 반복 (행렬의 차원까지) 동안 정체 될 수 있습니다. Nachtigal, Reddy 및 Trefethen (1993)의 예를 참조하십시오 .

수렴을 정의하는 더 좋은 방법

우리는 일반적으로 잔차의 크기보다 솔루션의 정확성에 관심이 있습니다. 구체적으로, 우리는 근사 솔루션 과 정확한 솔루션 가 유저 지정에 대한 . 그것은 그가 발견하여이 작업을 수행 할 수 있습니다 밝혀 그러한 여기서 의 가장 작은 특이 값 ,로 인한 x | x nx | < c c x n | A x n - b | < c ϵ ϵ A엑스엑스

|엑스엑스|<
엑스
|엑스|<ϵ
ϵ

|xnx|=|A1A(xnx)|1ϵ|AxnAx|=1ϵ|x|<1ϵϵ=

여기서 우리는 이 가장 큰 특이 값 (두 번째 줄)이고 (세 번째 줄)를 정확하게 해결 한다는 것을 사용했습니다 .A 1 x A x = b1/ϵ1엑스엑스=

가장 작은 특이 값 추정ϵ

가장 작은 특이 값의 정확한 추정치는 일반적으로 문제에서 직접 구할 수 없지만, 켤레 구 배나 GMRES 반복의 부산물로 추정 할 수 있습니다. 가장 큰 고유 값과 특이 값의 추정치는 일반적으로 몇 번의 반복 후에 상당히 양호하지만, 가장 작은 고유 값 / 단일 값 의 정확한 추정값 은 일반적으로 수렴에 도달 한 후에 만 얻을 수 있습니다. 수렴하기 전에 추정치는 일반적으로 실제 값보다 훨씬 큽니다. 이것은 올바른 공차 정의하기 전에 실제로 방정식을 풀어야 함을 나타냅니다 . 사용자가 제공 한 정확도를 취하는 자동 수렴 공차c ϵ c ϵ ϵϵϵ가장 작은 특이 값 솔루션과 추정 의 추정 때문에 크릴 로프 방법의 현재 상태와 너무 일찍 수렴 할 수 실제 값보다 훨씬 더 큰했다.ϵϵ

노트

  1. 함께 상기 논의는 동작 좌측 컨디셔닝 운영자에 의해 대체 상기 프리 컨디셔닝 잔류 또는 오른쪽 컨디셔닝 운영자와 과 에러 . 경우 좋은의 예비 상태 인 상기 프리 컨디셔닝 연산자 잘 조절 될 것이다. 왼쪽 전제 조건의 경우 이는 사전 조정 된 잔차를 작게 만들 수 있지만 실제 잔차는 그렇지 않을 수 있음을 의미합니다. 올바른 사전 조정의 경우쉽게 작게 만들지 만 실제 오류P - 1 A P - 1 ( A x n - b ) A P - 1 P ( x n - x ) P - 1 | P ( x nx ) | | x nx |11(엑스)1P(xnx)P1|P(xnx)||xnx|아닐 수도 있습니다. 이것은 왼쪽 사전 조건이 오류를 작게 만드는 데 더 좋은 반면, 오른쪽 사전 조건이 잔차를 작게 만드는 데 (및 불안정한 사전 조건을 디버깅하는 데) 더 나은 이유를 설명합니다.
  2. GMRES 및 CG에 의해 최소화 된 규범에 대한 자세한 내용은 이 답변 을 참조하십시오 .
  3. 극한 특이 값의 추정치는 -ksp_monitor_singular_valuePETSc 프로그램을 사용하여 모니터링 할 수 있습니다 . 코드에서 특이 값을 계산하려면 KSPComputeExtremeSingularValues ​​() 를 참조하십시오 .
  4. 단수 값을 추정하기 위해 GMRES를 사용할 때는 재시작을 사용하지 않는 것이 중요합니다 (예 : -ksp_gmres_restart 1000PETSc).

1
''또한 사전 조건 연산자로 대체 된 A와 함께 작동합니다 ''-그러나 를 사용 경우 사전 조정 된 잔차 에만 적용됩니다 . 프리 컨디셔닝 오류에 경우 사용한다. P 1P1rP 1 δ x A P 1P1AP1δxAP1
Arnold Neumaier

1
좋은 지적, 나는 대답을 편집했다. 올바른 전제 조건을 사용하면 를 제어 할 수 있으며 전제 조건을 해제하면 ( ) 일반적으로 오류시 저에너지 모드가 증폭됩니다. PδxP1
Jed Brown

6

이 문제를 보는 또 다른 방법은 해결하는 것을 포함입니다 이산 역 문제, 문제의 도구 고려하는 또는 , 즉 사이의 비율이 매우 악조건이다 ( 첫 번째 및 마지막 특이 값 이 큼).Ax=bσ 1 / σ Nmin||Axb||2Aσ1/σn

여기에는 정지 기준을 선택하는 몇 가지 방법이 있으며 반복 방법의 경우 이미 사용 가능한 수량 만 포함하므로 L- 곡선 기준을 권장합니다 (면책 조항 : 조언자가이 방법을 개척 했으므로 확실히 그것). 나는 이것을 반복적 인 방법으로 성공적으로 사용했다.

아이디어는 잔차 규범 과 해법 규범 를 모니터링하는 것입니다 . 여기서 는 번째 반복입니다. 반복 할 때 loglog (rho, eta) 플롯에서 L의 모양이 그려지기 시작하고 해당 L의 모서리에있는 점이 최적의 선택입니다.ρk=||Axkb||2ηk=||xk||2xkk

이를 통해 코너를 지나갈 때 눈을 떼지 않는 기준을 구현할 수 있습니다 (예 : 의 기울기를보고 코너에 위치한 반복을 선택하십시오.(ρk,ηk)

내가했던 방법은 마지막 20 회 반복을 저장하는 것과 그라디언트 은 20 번의 연속 반복에서 일부 임계 값보다 컸습니다. 곡선의 수직 부분에 있고 모서리를 통과했음을 알았습니다. 그런 다음 내 솔루션에서 첫 번째 반복 (즉, 20 회 전)을 반복했습니다.abs(log(ηk)log(ηk1)log(ρk)log(ρk1))

모서리를 찾는 더 자세한 방법도 있으며, 더 잘 작동하지만 많은 수의 반복을 저장해야합니다. 그것으로 조금 놀아 라. matlab에있는 경우 툴박스 정규화 도구를 사용하면이 도구 중 일부를 구현할 수 있습니다 (특히 "코너"기능이 적용됨).

이 방법은 추가 컴퓨팅 시간이 적기 때문에 대규모 문제에 특히 적합합니다.


1
고마워요! loglog (rho, eta) 플롯에서 우리는 L 곡선의 오른쪽에서 시작하여 L의 상단에서 끝납니다. 나는 단지이 기준의 원리를 모른다. 왜 항상 L 곡선처럼 행동하고 왜 모서리를 선택하는지 설명 할 수 있습니까?
Hui Zhang

천만에. 반복적 인 방법을 위해, 우리는 항상 오른쪽에서 시작하여 끝에서 끝납니다. 문제의 노이즈로 인해 L로 작동합니다. 수직 부분은 에서 발생합니다. 여기서 는 노이즈 벡터 입니다. 자세한 분석은 Hansen, PC 및 O'Leary, DP (1993)를 참조하십시오. 불연속 이산 문제의 정규화에 L- 곡선 사용. SIAM Journal on Scientific Computing, 14. 게시물에 약간의 업데이트를했습니다. ||엑스||2=||이자형||2이자형이자형엑스=+이자형
OscarB

4
@ HuiZhang : 항상 L 은 아닙니다 . 정규화가 모호한 경우 이중 L 일 수 있습니다. 그중 하나는 총 기능이 더 잘 해결되고 다른 하나는 세부 사항이 더 잘 해결됩니다. (물론 mor ecomplex 모양이 나타날 수도 있습니다.)
Arnold Neumaier

L- 커브는 고유 한 솔루션이 필요한 조건없는 문제에 적용됩니까? 즉, b가 "정확하게"알려져 있고 A가 거의 단수이지만 기술적으로 뒤집을 수없는 문제 Ax = b에 관심이 있습니다. GMRES와 같은 것을 사용하면 x에 대한 현재 추측의 규범이 시간이 지남에 따라, 특히 처음 많은 반복 후에도 너무 많이 변하지 않는 것처럼 보입니다. L 자 커브의 수직 부분은 잘못된 문제에 고유 / 유효한 솔루션이 없기 때문에 발생합니다. 이 수직적 특징이 조건이 나쁜 모든 문제에 존재합니까?
nukeguy

솔루션 솔루션의 수치 오류로 인해 || Ax-b || 감소하지 않습니다. 그러나 잡음이없는 문제에서 곡선은 항상 L처럼 보이지는 않습니다. 즉, 일반적으로 몇 개의 모서리를 선택하고 다른 모서리를 선택하는 것이 어려울 수 있습니다. 위의 의견에서 언급 한 논문은 소음이없는 시나리오에 대해 간략하게 설명합니다.
OscarB
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.