2.3 Elimination Using Matrices
가우스 소거법을 행렬로 표현하기
다음 선형 방정식계를 생각한다.
2x1+4x2−2x34x1+9x2−3x3−2x1−3x2+7x3=2=8=10
행렬 방정식으로 쓰면 다음과 같다.
24−249−3−2−37x1x2x3=2810
가우스 소거법의 각 단계인 제거와 행 교환을 행렬을 통해 구조화할 수 있다.
- 제거 연산은 제거 행렬 E로 표현한다.
- 행 교환은 순열 행렬 P로 표현한다.
- 즉, 제거와 행 교환이라는 절차를 행렬 곱셈으로 치환하는 것이다.
기본적으로 가우스 소거법은 행(row) 연산이다.
제거 대상 계수와 피봇 계수를 이용해 multiplier를 구하고, 다음 방식으로 소거를 수행한다.
제거 대상 방정식−multiplier×피봇 방정식
가우스 소거법을 행렬로 표현하는 단계
- 방정식 Ax=b의 양변에 두 번째 방정식의 x를 소거하는 제거 행렬 E21을 곱한다.
E21Ax=E21b
-
행렬 E21Ax에서 (2,1) 위치의 원소는 0이 된다. 즉, 두 번째 방정식에서 x가 소거된다.
-
E21은 identity matrix의 2행 1열을 다음 값으로 바꾼 행렬이다.
−a11a21
- 행렬-행렬 곱셈은 여러 개의 행렬-벡터 곱셈으로 볼 수 있다.
EA=[Ea1 ⋯ Ean]
- 좌변의 A뿐만 아니라 우변의 b에도 같은 제거 행렬 E를 곱해야 한다. 이를 편리하게 수행하기 위해 첨가행렬을 사용한다.
[A b]=[a1 ⋯ an b]
-
제거 행렬 Eij를 반복적으로 곱하면 위삼각행렬 U를 얻는다.
-
행 교환(row exchange) 행렬은 Pij로 표기한다. Pij는 단위행렬의 행 i와 행 j를 교환하여 만든다.
제거 행렬과 LU 분해
각 제거 단계를 나타내는 Eij를 하나의 행렬 E로 결합할 수 있다.
최종적으로는 Eij의 역행렬인 (Eij)−1을 구하고, 전체에 대해 다음을 얻는 것이다.
L=E−1
즉, 행렬 A는 다음처럼 분해된다.
A=LU
전체 과정은 다음과 같다.
- 행렬곱 수행 과정을 확인한다.
- 여러 제거 행렬 Eij를 하나의 E로 통합한다.
- 각 Eij가 어떻게 (Eij)−1로 역전되는지 확인한다.
- 올바른 순서로 모든 역행렬 (Eij)−1을 결합하여 L을 만든다.
행렬곱의 정의
열 기반 접근법에서 행렬곱 Ax는 A의 columns의 결합이다.
계산 과정에서는 row form을 사용하며, Ax는 A의 각 행과 벡터 x의 내적으로 계산된다.
일반적으로 두 행렬 A(m×n)과 B(n×p)의 곱 AB는 다음과 같다.
(AB)ij=k=1∑naikbkj
즉, AB의 (i,j) 원소는 A의 i번째 행(row)과 B의 j번째 열(column)의 내적이다.
제거 과정의 행렬 형태
우변 벡터 b와 제거 행렬 E를 다음과 같이 둔다.
b=2810,E=1−20010001
E를 b에 곱하면 다음과 같다.
1−200100012810=2410
일반적으로는 다음과 같이 작용한다.
1−20010001b1b2b3=b1b2−2b1b3
multiplier는 다음과 같이 구한다.
multiplier=pivot제거 대상 계수
b2를 8에서 4로 만들기 위해, 다음 값으로 E21을 설정한다.
−24=−2
A의 2행 1열 소거 예시
A의 2행 1열 원소를 0으로 만들기 위해 다음 제거 행렬을 왼쪽에서 곱한다.
EA=1−2001000124−249−3−2−37=20−241−3−217
위 과정은 1행과 3행을 바꾸지 않는다.
이때 pivot은 다음과 같다.
A11=2
제거 대상은 다음 원소이다.
A21=4
따라서 multiplier는 다음과 같다.
(−1)(24)=−2=E21
행렬곱의 결합 법칙과 교환 법칙
행렬곱에서는 결합 법칙은 성립한다.
A(BC)=(AB)C
하지만 일반적으로 교환 법칙은 성립하지 않는다.
AB=BA
왼쪽 곱셈 EA: 행 연산의 관점
행렬 E를 A의 왼쪽에 곱하면 EA가 된다.
이때 E의 행(row)이 A의 행들을 어떻게 조합할지 결정한다.
결과 행렬 EA의 각 행은 다음과 같이 계산된다.
- EA의 1행 전체 = E의 1행 ×A
- EA의 2행 전체 = E의 2행 ×A
- EA의 3행 전체 = E의 3행 ×A
즉, E의 i행 ×A는 A의 모든 행들의 선형결합이 된다.
이때 E의 i행 원소들이 그 선형결합의 계수가 된다.
따라서 왼쪽 곱셈은 행 연산을 수행한다.
오른쪽 곱셈 AE: 열 연산의 관점
행렬 E를 A의 오른쪽에 곱하면 AE가 된다.
이때 E의 열(column)이 A의 열들을 어떻게 조합할지 결정한다.
결과 행렬 AE의 각 열은 다음과 같이 계산된다.
- AE의 1열 전체 = A×E의 1열
- AE의 2열 전체 = A×E의 2열
- AE의 3열 전체 = A×E의 3열
즉, A×(E의 k열)은 A의 모든 열들의 선형결합이 된다.
이때 E의 k열 원소들이 그 선형결합의 계수가 된다.
따라서 오른쪽 곱셈은 열 연산을 수행한다.
행렬곱의 계산: 열 단위 분리
B가 여러 개의 columns인 b1,b2,b3로 이루어져 있다면, AB의 columns는 다음과 같이 계산된다.
AB=A[b1 b2 b3]=[Ab1 Ab2 Ab3]
즉, 일반적인 행렬곱 AB는 B를 열벡터의 묶음으로 보고, A를 각 열벡터에 곱하는 방식으로 계산할 수 있다.
이는 다음을 의미한다.
E(column j of A)=column j of EA
순열(Permutation) 행렬 Pij
소거 과정에서 pivot에 0이 등장하면 row exchange가 필요하다.
순서를 재배치하는 연산을 순열(permutation)이라고 하며, 이를 수행하는 행렬을 permutation matrix라고 한다.
순열 행렬은 단위행렬의 행을 바꿔서 만든다.
예를 들어 2행과 3행을 바꾸는 permutation matrix는 다음과 같다.
P23=100001010
이 행렬을 벡터에 곱하면 2번째 성분과 3번째 성분이 교환된다.
100001010135=153
첨가행렬(Augmented Matrix)
소거, 순열 등의 연산은 Ax=b에서 양변에 동시에 수행되어야 한다.
이를 편리하게 처리하기 위해 첨가행렬을 구성한다.
G=[A b]
예제의 첨가행렬은 다음과 같다.
[A b]=24−249−3−2−372810
첨가행렬에 제거 행렬을 곱하면 A와 b에 동시에 같은 행 연산이 적용된다.
1−2001000124−249−3−2−372810=20−241−3−2172410
제거 연산을 통해 새롭게 도출된 두 번째 방정식은 다음과 같다.
x2+x3=4
첨가행렬에서 행렬곱의 작용
행렬곱은 행과 열의 관점에서 동시에 이해할 수 있다.
Rows 관점
E의 각 행이 첨가행렬 [A b]에 작용하여 [EA Eb]의 행을 만든다.
즉, E의 해당 행이 A의 모든 행을 어떻게 조합할지 결정한다.
Columns 관점
E는 첨가행렬 [A b]의 각 열에 작용하여 [EA Eb]의 열을 만든다.
즉, E가 A의 개별 열과 b에 각각 작용한다.
정리
-
가우스 소거법은 제거와 행 교환을 반복하여 Ax=b를 Ux=c로 바꾸는 과정이다.
-
제거 연산은 제거 행렬 Eij로 표현할 수 있다.
-
행 교환은 순열 행렬 Pij로 표현할 수 있다.
-
제거 행렬은 단위행렬에서 소거 위치의 값을 multiplier의 음수로 바꾼 형태이다.
Eij=I에서 (i,j) 위치를 −lij로 바꾼 행렬
-
왼쪽 곱셈 EA는 행 연산을 의미한다.
-
오른쪽 곱셈 AE는 열 연산을 의미한다.
-
첨가행렬 [A b]를 사용하면 A와 b에 같은 행 연산을 한 번에 적용할 수 있다.
-
제거 행렬들의 역행렬을 올바른 순서로 결합하면 L을 얻고, 최종적으로 다음 분해를 얻는다.
A=LU