야코비법

Jacobi method

수치 선형 대수학에서 야코비 방법은 엄밀하게 대각선 지배적인 선형 방정식의 해법을 결정하기 위한 반복 알고리즘이다.각 대각선 요소를 풀고 근사치를 꽂는다.그런 다음 수렴될 때까지 프로세스가 반복됩니다.이 알고리즘은 행렬 대각화의 Jacobi 변환 방법의 제거 버전입니다. 방법은 칼 구스타프 야코비의 이름을 따왔다.

묘사

허락하다

n개의 선형 방정식의 제곱계이다.

그런 다음 A를 대각선 성분 D, 아래쪽 삼각형 부분 L 및 위쪽 삼각형 부분 U로 분해할 수 있습니다.

그런 다음 솔루션을 통해 반복적으로 얻을 수 있습니다.

x ( ){ (}는x {\ k번째 근사치 또는 반복치이며 x ( x{\ 요소의 또는 k + 1번째 반복치입니다

i ( + 계산에는 자신을 제외한 x (k) 각 요소가 필요합니다.Gauss-Seidel 방법과는 (k ) { x _ { i } { } { x _ { i}^ (+ )} 에는 수 없습니다.다른 계산에서는 이 값이 필요하기 때문입니다.최소 저장 용량은 크기 n의 벡터 2개입니다.

알고리즘.

입력: 솔루션초기 추측 x ( {{ (주요) A ({A 우측 b ({ b 수렴 기준 출력: 수렴도달했을 때 해결 방법: k   { k=  기반 공식에 기초한 의사 코드 수렴도달하지 않는 동안 i : = n do  \ \ 0 \displaystyle = \  x j ( k ) \ \= \ = 종료  1 = 1  x +  1 = i= 1 = 1  x 1 = 1 step= 1}-\capsright}}    + 1 \  k =1}

컨버전스

표준 수렴 조건(반복 방법)은 반복 행렬의 스펙트럼 반지름이 1 미만일 경우이다.

이 방법이 수렴하기에 충분한(필요하지는 않지만) 조건은 행렬 A가 엄격히 또는 축소할 수 없을 정도로 대각선으로 우세하다는 것이다.엄격한 행 대각 우위는 각 행에 대해 대각 항의 절대값이 다른 항의 절대값의 합보다 크다는 것을 의미합니다.

Jacobi 메서드는 이러한 조건이 충족되지 않더라도 수렴될 수 있습니다.

Jacobi 방법은 모든 대칭 정의 행렬에 대해 수렴되지 않습니다.예를들면

예 1

b Ax 의 초기 추정치 x ()}{\ x 선형 시스템은 다음과 같다.

앞에서 설명한 (+) - ( - ( + ) (} = { - ( ( L + U )x ^ { ( k) = D = D ^ { - 1 } ( b - ( b - ( L + U )^ { ( k ) } } } , x x x x x x x x x 값에서 T -1 ( +) ({ T=- C - 1 ({ C를 선택합니다.

T - - ( +) { T=-(를) 다음과 같이 한다.

또한 C C 다음과 같습니다.

T TC(\C 하면x (0 +(\x(1) =displaystyle x(됩니다.

다음 반복이 산출됩니다.

이 프로세스는 컨버전스( A () - b \\ (n\ 가 작아질때까지 반복됩니다.25회 반복 후 해결 방법은 다음과 같습니다.

예 2

다음과 같은 선형 시스템이 주어졌다고 가정합니다.

초기 근사치로 (0, 0, 0, 0)을 선택하면 첫 번째 근사해는 다음과 같습니다.

구한 근사치를 사용하여 원하는 정확도에 도달할 때까지 반복 절차를 반복합니다.다음은 5회 반복한 후의 대략적인 해결 방법입니다.

0.6 2.27272 -1.1 1.875
1.04727 1.7159 -0.80522 0.88522
0.93263 2.05330 -1.0493 1.13088
1.01519 1.95369 -0.9681 0.97384
0.98899 2.0114 -1.0102 1.02135

시스템의 정확한 솔루션은 (1, 2, -1, 1)입니다.

Python 예시

수입품 수치 ~하듯이 np  반복_제한 = 1000  # 매트릭스 초기화 A = np.배열([[10., -1., 2., 0.],               [-1., 11., -1., 3.],               [2., -1., 10., -1.],               [0.0, 3., -1., 8.]]) # RHS 벡터 초기화 b = np.배열([6., 25., -11., 15.])  # 시스템 인쇄 인쇄물("시스템:") 위해서 i  범위(A.모양.[0]):     배를 젓다 = ["{}*x{}".포맷(A[i, j], j + 1) 위해서 j  범위(A.모양.[1])]     인쇄물(f'{" + ".합류하다(배를 젓다)}={b[i]}') 인쇄물()  x = np.0과 같은(b) 위해서 카운트  범위(반복_제한):     한다면 카운트 != 0:         인쇄물(「반복합니다.{0}:{1}".포맷(카운트, x))     x_new = np.0과 같은(x)      위해서 i  범위(A.모양.[0]):         s1 = np.(A[i, :i], x[:i])         s2 = np.(A[i, i + 1:], x[i + 1:])         x_new[i] = (b[i] - s1 - s2) / A[i, i]         한다면 x_new[i] == x_new[i-1]:           브레이크.      한다면 np.모두 닫다(x, x_new, 아톨=1e-10, 반응하다=0.):         브레이크.      x = x_new  인쇄물("솔루션: ") 인쇄물(x) 에러 = np.(A, x) - b 인쇄물("에러:") 인쇄물(에러) 

가중 자코비법

가중치 Jacobi 반복은 파라미터 사용하여 다음과 같이 반복을 계산합니다.

//3[1] 설정합니다.L + - L로부터 다음과 같이 나타낼 수도 있습니다.

( + ) D -b +( I - D - )(k ) \ \} ^ { ( k + 1) = \{ - 1 A \ ( I - \ D^ { )

대칭 양의 유한 케이스에서의 수렴

시스템 A A 대칭 정의-확정형일 경우 컨버전스를 나타낼 수 있습니다.

C - D- A {\ C }= D 반복 행렬로 .그러면 컨버전스가 보증됩니다.

서 max _ 최대 고유값입니다.

스펙트럼 반경은 과 같이 \ =\ _ 특정 선택에 대해 최소화할 수 있다.

{ 매트릭스 조건 번호입니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ Saad, Yousef (2003). Iterative Methods for Sparse Linear Systems (2nd ed.). SIAM. p. 414. ISBN 0898715342.

외부 링크

  • 이 문서에는 GFDL 라이선스에 따라 CFD-Wiki에 관한 기사 Jacobi_method의 텍스트가 포함되어 있습니다.