*3.7 LU -분해(Factorization)
동영상 강의 주소: http://youtu.be/lKJPnLCiAVU
이 절에서는 주어진 행렬의 REF를 구하는 과정에서 시작하여 (정사각) 행렬을 하삼각행렬과 상삼각행렬의 곱으로 나타내는 방법을 학습한다. 이 방법은 연립방정식의 해를 구하는데 큰 힘을 발휘한다. 이 내용이 수치적 선형대수학의 시작이다.
3.7 연습문제
[1-2] -분해가 된 아래 연립방정식을 풀어라.
1.
Ans ,
, ∴
, ∴ ■
2.
Ans ,
∴
, ∴ ■
[3-4] 다음에 주어진 행렬에 대하여 -분해를 구하여라.
3.
Ans # 소프트웨어를 이용한 계산은 이것과 다를 수 있다.
A=matrix(CDF,2, 2, [3, -6, -2, 5]);A |
[ 3.0 -6.0]
[-2.0 5.0]
P, L, U=A.LU()# P*A=L*U, 여기서 P는 치환행렬이다. P |
[1.0 0]
[ 0 1.0]
L |
[ 1.0 0 ]
[-0.666666666667 1.0]
U |
[ 3.0 -6.0]
[ 0 1.0]
L*U# P가 단위 행렬이므로 L*U는 A와 같다. |
[ 3.0 -6.0]
[-2.0 5.0] ■
4.
Ans ■
5. 행렬 에 대하여 -분해가 아래와 같이 로 나타날 때, 연립방정식 의 해를 구하여라.
, ,
[도움말 : 전진대입법과 후진대입법을 사용하면 된다.]
Ans
L=matrix(3, 3, [1, 0, 0, -1, 1, 0, 0, -1, 1]);L |
[ 1 0 0]
[-1 1 0]
[ 0 -1 1]
b=vector([2, -3, 4]);b# 전진대입법 |
(2, -3, 4)
y=L.solve_right(b);y |
(2, -1, 3)
U=matrix(3, 3, [1, -1, 0, 0, 1, -1, 0, 0, 1]);U |
[ 1 -1 0]
[ 0 1 -1]
[ 0 0 1]
x=U.solve_right(y);x |
(4, 2, 3)
6. 와 라고 하자.
(a) Gauss-Jordan 소거법을 이용하여 를 구하여라.
(b) 를 -분해를 하여라.
(c) 를 기본행렬들의 곱으로 표현하여라.
(d) 의 역행렬을 구하여라.
Ans (a)
(b)
(c)
(d) ■
7. 이라 하자. 다음 물음에 답하여라.
(a) 를 만족하는 ,를 구하여라.
(b) , 가 각각 다음과 같을 경우 위의 과 를 이용하여 , 의 해를 각각 구하여라.
,
(c) 를 -분해하여라.
Ans (a) ,
(b) ,
(c) 이다. ■
[8-9] 아래 행렬 에 대하여 되게 하는 치환행렬 를 구하여라.
8.
Ans ■
9.
Ans ■
토론과 발표
P1. 다음의 행렬연산을 살펴보자.
여기서 는 치환행렬이다. 이 행렬이 의 모양을 어떻게 바꾸었는지 서술하여라.
Ans 치환 에 해당하는 permutation matrix이다. 를 하면 4번 행, 3번 행, 2번 행, 1번 행의 순서대로 행렬의 그 순서가 바뀐다.
P2. 가 대칭행렬이고 가역이면, 의 존재성과 어떤 연관관계가 있는지 서술하여라.
Ans 가 대칭행렬이고 가역이면, 대각성분이 모두 이 아니다. 따라서 첫 번째 성분이 이 아니기 때문에 에 적당한 치환행렬을 가해주지 않아도 일반성을 잃지 않고 로 쓸 수 있다. ■
P3. 예제 01을 이용하여 -분해가 유일하지 않다는 것을 증명하여라.
Ans -분해가 된 경우 의 각 행에 2를 곱해주고, 의 각 행을 2로 나누어주면 결과는 같다. 같은 방법으로 다양한 -분해를 얻을 수 있다. ■
P4. 대칭행렬 의 경우 이면 이므로 로 쓸 수 있다. 이를 이용하여 다음에 주어진 대칭행렬에 대하여 로 표현할 수 있음을 확인하여라.
(a) (b)
Ans (a)
(b)
만일 이고 라면 로 분해를 하려면 이어야 한다 (i.e., ). ■
P5. -분해 또는 PLU-분해를 이용하여 선형연립방정식 , , 을 풀어라.
,
, ,
Ans
A=matrix(CDF,4, 4, [6,2,-1,1,2,7,1,-1,3,-1,5,2,4,3,2,-8]);A P, L, U=A.LU()# P*A=L*U, P는 치환행렬이다. A=L*U L.n(digits=3)# 유효숫자 3자리 |
P는 항등행렬이고, L이 프린트 된다.
U.n(digits=3)# 유효숫자 3자리 |
L이 프린트 된다.
L*U |
다시 A가 프린트 된다.
이 L과 U를 이용하여 를 푼다.
실습: