• 검색 결과가 없습니다.

LU 행렬분해

N/A
N/A
Protected

Academic year: 2022

Share "LU 행렬분해"

Copied!
21
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

LU 행렬분해

LU Decomposition

Keon M. Lee

(2)

 행렬의 분해

 LU 분해

 LU 분해 알고리즘

(3)

행렬의 분해

 행렬 A의 분해 (factorization, decomposition)

 A를 2개 이상의 행렬의 곱으로 나타내는 것 A= BC, A = BCD

 LU 분해

 Eigen 분해

 QR 분해

 SVD 분해

(4)

LU 분해

 LU 분해 (LU factorization, LU decomposition)

 행렬을 하 삼각행렬(lower triangular matrix) L과 상 삼각행렬(upper triangular matrix) U의 곱으로 표현

A = LU

 정방행렬(square matrix) 뿐만 아니라 일반 사각행렬에도 적용 가능

단위 하 삼각행렬 (unit lower triangular matrix)

(5)

LU 분해

 LU 분해의 예

 3x3 행렬의 LU 분해

 

 

 

 

 

 

7 . 0 0

0

56 . 1 8

. 4 0

1 5

25

1 5

. 3 76

. 5

0 1

56 . 2

0 0

1

1 12 144

1 8

64

1 5

25

 

 

 

 

33 23 22

13 12

11

32 31

21

0 0

0 1

0 1

0 0

1

u u u

u u

u LU

A

(6)

LU 분해 알고리즘

 LU 분해

 A = LU

 A는 행교환(row exchange) 없이 행 사다리꼴(row-echelon form)로 변 환 가능해야 함

 교체와 상수배 행 연산에 대응하는 기본 행렬은 하 삼각행렬이고, 이들 의 역행렬과 이들의 곱도 하 삼각행렬임

(7)

LU 분해 알고리즘

 LU 분해

 A = LU

 A는 행교환(row exchange) 없이 행 사다리꼴(row-echelon form)로 변 환 가능해야 함

 교체와 상수배 행 연산에 대응하는 기본 행렬은 하 삼각행렬이고, 이들 의 역행렬과 이들의 곱도 하 삼각행렬임

(8)

LU 분해 알고리즘

 A = LU

(9)

LU 분해 알고리즘

 A = LU

(10)

LU 분해 알고리즘

 LU 분해 알고리즘 (Doolittle’s LU Decomposition)

 A = (a

ij

)

nxn 행렬 for i=1,⋯,n

for j=1,⋯,i−1 α = aij

for p=1,⋯,j−1 α = α−aipapj aij = αajj

for j=i,⋯,n α = aij

for p=1,⋯,i−1 α = α−aipapj aij

(11)

LU 분해의 활용

 선형시스템 해법 – factor-solve 접근법

 Ax = b, A = LU

 Ax = (LU)x = b

 L(Ux) = b Ly = b

 Ux = y

Ux = y Ly = b

x b

y A

U L

(12)

LU 분해의 활용

 LU 분해을 이용한 선형시스템의 해법

L(Ux) = b

Ux = y Ly = b

(13)

LU 분해의 활용

 LU 분해를 이용한 역행렬 계산

 AB = I

 A= LU, B = [b1 b2 … bn]

 B의 첫번째 열

 B의 마지막 열

















0 0 1

1 21 11

1  

bn

b b A Ab

















0 1 0

2 22 12

2  

bn

b b A Ab

















1 0 0

2 1

nn n n

n

b b b A Ab

B의 두번째 열

(14)

LU 분해의 활용

 LU 분해를 이용한 역행렬 계산

 

 

1 12 144

1 8 64

1 5 25

A

 

 

 

 

7 0 0

0

56 1 8

4 0

1 5

25

1 5 3 76 5

0 1 56 2

0 0 1

. . .

. .

. LU

A













0 0 1

1 12 144

1 8 64

1 5 25

31 21 11

b b b













0 1 0

1 12 144

1 8 64

1 5 25

32 22 12

b b b









000 . 5

417 . 1

08333 .

0

32 22 12

b b b

 

 

 

 

 

 

1 0 0

1 12 144

1 8 64

1 5 25

33 23 13

b b b









429 . 1

4643 .

0

03571 .

0

33 23 13

b b b









571 . 4

9524 .

0

04762 .

0

31 21 11

b b b

429 . 1 000

. 5 571

. 4

4643 . 0 417

. 1 9524 . 0

03571 .

0 08333 .

0 04762 .

0 A 1

(15)

LU 분해의 활용

 LU 분해를 이용한 행렬식(determinant)의 계산

 정방행렬 A = LU에 대해서

 det(A) = det(L)det(U)

 삼각행렬에서 det는 대각선 원소의 곱

 

 

 

 

7 0 0

0

56 1 8

4 0

1 5

25

1 5 3 76 5

0 1 56 2

0 0 1

. . .

. .

. LU

A

 

 

1 12 144

1 8 64

1 5 25

A

det(A) = -84 det(LU) = det(A)det(B) = -84

(16)

LU 분해 적용 알고리즘의 효율성

 선형시스템의 해법

 Gauss 소거법

 LU 분해활용 기법

 역행렬 계산

 Gauss 소거법

 LU 분해활용 기법



 

  

3 12 4

3

8 3 2 n

n n T



 

  

3 12 4

3

8 3 2 n

n n T

 

 

  

3 12 4

3

8 4 3 n2 n n

T

 

 

  

3 12 20

3

32

3 2

n

n n T

n

(크기)

10 100 1000 10000

Gauss 소거법활용/ LU 분해 활용

3.28 25.83 250.8 2501

자료출처: http://numericalmethods.eng.usf.edu

(17)

LU 분해 불가 행렬

 LU 분해 불가능한 행렬

 모든 행렬이 LU 분해 가능한 것은 아님

(18)

LU 분해 불가 행렬

 행 피봇팅(row pivoting)을 이용한 LU 분해

 행 교환을 통한 행렬 재조정

 미리 행교환을 한 다음, LU 분해 적용 A = PLU

 행교환은 순열행렬(permutation matrix) P를 사용하여 가능

• 여러가지 분해 가능

(19)

LU 분해 알고리즘

 LU 분해 A = LU에서 L이나 U 가 단위 삼각행렬인 경우에는 LU 분해 가 유일하게 결정됨

 LU 분해에서 L 또는 U가 단위 행렬이라는 제약 조건이 없으면, 여러 가지 LU가 분해가 가능함

 LU 분해는 nxn 행렬에 대해서 적용하는 것을 기본으로 하나,

사각(rectangular) 행렬과 특이(singular) 행렬에도 적용가능함

(20)

LU 분해 알고리즘

 MatLab/Octave에서 LU 분해

A = rand(3)

[L, U, P] = lu(A) % L*U = P*A b = rand(3,1)

bp = P*b

y = L\bp % y = L-1b Ly = b x = U\y % x = U-1y Ux = y

(21)

Summary

 행렬 분해는 하나의 행렬을 두 개 이상의 행렬의 곱으로 나타내는 것이다.

 LU 분해는 하나의 행렬을 하 삼각행렬과 상 삼각행렬의 곱으로 나타 내는 것이다.

 LU 분해가 되지 않은 경우, 행교환을 한 다음에 LU 분해를 하기도 한다.

 LU 분해는 선형시스템의 해법, 역행렬 계산, 행렬식(determinant) 등

의 계산을 효과적으로 할 수 있게 한다.

참조

관련 문서

For Practical determination of the inverse A -1 of a nonsingular nxn matrix A, Gauss elimination can be used.. : This method is

For Practical determination of the inverse A -1 of a nonsingular nxn matrix A, Gauss elimination can be used.. : This method is

 자신의 무지와 몰이해에 대해 자책하거나, 일깨움이 더딘 것을 탓하지 말고 그저 부지런히 행함을 놓치지 않는다..  언제나 자신에게 솔직할 것이며, 나눌 준비와

 A linear system of equations in n unknowns has a unique solution if the coefficient matrix and the augmented matrix have the same rank n, and infinitely many solution if

 So the rank vector r is an eigenvector of the web matrix M, with the corresponding eigenvalue 1.  Fact: The largest eigenvalue of a column stochastic

Emotion Ctrl 커리어 플랜 경력목표 설정. 월 계획

The difference in writing ability according to English proficiency (upper and lower) was that for students with upper English proficiency, grammar learning

4.3  Gauss Elimination with Pivoting 4.4  Gauss‐Jordan Elimination Method 4.5  LU Decomposition Method. 4.6