위키득계정 ↗
과학

행렬 평형화

행렬 평형화과학
영문명
Matrix equilibration
기본 수단
행 및 열의 스케일 조정
스케일 행렬
가역 대각행렬
대표 목적
선형 시스템의 수치 계산 개선
행렬 평형화는 행과 열의 스케일을 조정해 계수 크기의 불균형을 줄이는 수치 계산 기법이다. 경우에 따라 행이나 열의 순열도 함께 사용한다. 선형 시스템을 같은 해에 대응하는 형태로 바꾸되 우변과 해의 좌표 변환을 함께 관리해야 한다.

행의 크기를 맞추기

두 식이 1000x+1000y=3000, x+2y=5라고 하자. 첫 식 전체를 1000으로 나누면 x+y=3, x+2y=5가 된다. 계수만 줄이는 것이 아니라 우변 3000도 3으로 바꿔야 같은 문제다. 두 시스템의 해는 모두 (1,2)다.

열 스케일은 변수도 바꾼다

앞의 조정된 시스템에서 x=2u로 놓으면 2u+y=3, 2u+2y=5다. 해는 (u,y)=(1/2,2)이며 원래 변수는 x=1로 복원한다. 새 시스템의 해 벡터를 그대로 원래 해로 보고하면 값이 달라진다.

행렬로 적는 변환

순열을 제외한 기본 표현은 B=RAC, d=Rb, x=Cy다. R과 C는 0이 아닌 대각 원소를 갖는 스케일 행렬이다. By=d를 푼 뒤 x를 복원한다. 이 변환은 일반적으로 닮음 변환이 아니므로 원래 행렬의 고유값까지 보존한다고 생각하면 안 된다.

원래 문제에서 다시 검사하기

스케일이 달라지면 잔차의 크기도 달라진다. 예제에서 첫 식을 1000으로 나눈 시스템의 첫 잔차가 1/1000이면 원래 첫 식의 잔차는 1이다. 따라서 조정된 시스템의 종료 기준만 확인하지 말고 복원한 해로 원래 Ax=b의 잔차도 계산한다.

관련 문서

행렬 조건수 / 전처리 (수치해석) / 후방 오차 / 대각행렬 / 연립방정식 / 불완전 LU 분해 / GMRES