대형 선형 시스템에 대한 반복적 방법이 실제로 수렴되도록하는 방법은 무엇입니까?


11

계산 과학에서 우리는 종종 직접 또는 반복 방법과 같은 일부 (효율적인) 수단으로 해결해야하는 큰 선형 시스템에 직면합니다. 후자에 중점을 둔다면, 큰 선형 시스템을 해결하기위한 반복적 인 방법이 실제로 수렴되는지 어떻게 알 수 있습니까?

시행 착오 분석 (cf. 반복 선형 솔버가 수렴하지 않는 이유는 무엇입니까? )을 수행 할 수 있으며 증거에 의한 수렴을 보장하거나 건전한 경험 기반 (예 : CG 및 GMRES와 같은 Krylov 하위 공간 방법)을 갖는 반복 방법에 의존하는 것이 분명합니다 . 대칭 및 비대칭 시스템 각각).

그러나 실제로 수렴을 구축하기 위해 무엇을 할 수 있습니까? 그리고 무엇을합니까?


1
좋은 질문입니다! '수렴 설정'이라고 말하면 '솔루션이 수렴한다는 것을 설정하는 것'또는 '수렴이 발생할 것임을 설정하는 것'을 의미합니까? 예를 들어 PETSc KSP 객체에는 수렴을 테스트하기위한 몇 가지 기본 기술이 있습니다 (오류의 수는 감소하고 최대 반복 횟수는 있음). 이것은 당신이 찾고있는 일종의 대답입니까?
Aron Ahmadia 2019

@ aron : 두 가지 문제에 대한 답변을 보는 것이 흥미로울 것입니다.
Allan P. Engsig-Karup

답변:


6

자연에서 발생하는 많은 부분 미분 방정식, 특히 강한 비선형 성 또는 이방성을 갖는 경우, 적절한 전제 조건을 선택하면 반복 방법이 빠르게, 느리게 수렴하는지 전혀 영향을 미치지 않을 수 있습니다. 빠르고 효과적인 전제 조건이있는 것으로 알려진 문제의 예로는 멀티 그리드 방법이 종종 빠른 수렴을 달성하는 강력한 타원 부분 미분 방정식이 있습니다. 수렴을 평가하기 위해 사용할 수있는 여러 가지 테스트가 있습니다. 여기서는 예를 들어 PETSc의 기능을 사용합니다. 반드시 선형 (및 비선형 방정식)의 희소 시스템을 반복적으로 풀기위한 가장 오래되고 가장 성숙한 라이브러리이기 때문입니다.

PETSc는 KSPMonitor라는 객체를 사용하여 반복 솔버의 진행 상황을 모니터링하고 솔버가 수렴 또는 발산되었는지 여부를 결정합니다. 모니터는 네 가지 기준을 사용하여 중지 여부를 결정합니다. 여기서 논의에 대한 자세한 내용은 KSPGetConvergedReason () 매뉴얼 페이지에서 찾을 수 있습니다 .

x

Ax=b

x^r^
  1. (P1(Axb))

    r^=P1(Ax^b)
  2. (AP1Px=b)

    r^=Ax^b

컨버전스 기준

  1. atol
    r^atol
  2. 상대 허용 오차 -잔류 허용 오차가 사전 정의 된 상수 의 계수로 오른쪽의 노름보다 작을 때 상대 허용 오차 기준이 충족됩니다 .rtol
    r^rtolb
  3. 기타 기준 -반복적 해석은 작은 스텝 길이 또는 음의 곡률 감지로 인해 수렴 될 수도 있습니다.

발산 기준

  1. 최대 반복 -솔버가 수행 할 수있는 반복 횟수는 최대 반복으로 제한됩니다. 최대 반복 횟수에 도달했을 때 다른 기준이 충족되지 않으면 모니터는 분기 된 것으로 리턴합니다.

  2. 잔차 NaN- 어떤 시점에서 잔차가 NaN으로 평가되면 솔버는 분기 된 것으로 반환됩니다.

  3. 잔차 규범 의 분기 미리 정의 된 상수 의 인수로 잔차 규범이 오른쪽의 규범보다 큰 경우 모니터가 분기 된 것으로 반환됩니다 . dtol

    r^dtolb
  4. Solver Breakdown Krylov 방법 자체는 단일 행렬 또는 전제 조건을 감지하면 발산을 신호 할 수 있습니다.

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