CAFE

Numerical Analysis

[[강좌]]**매트랩의 특이한 역행렬 계산(Pseudoinverse)**<<중요>>#2[완성]

작성자블루마운틴|작성시간02.10.25|조회수6,992 목록 댓글 0
**Pseudoinverse(의사 역행렬)**

어떤 (m,n) 매트릭스에서 m>n인 경우
Pseudoinverse A+=inv(A'*A)*A' 라고 정의를 합니다.
그리고 그 해는(Ax=b) x=A+*b
A+ : Pseudoinverse
A' : A의 전치행렬
inv : 역행렬

overdetermined system에서는 해를 찾기 위하여 approximate해서 찾을 수 있습니다. 그 대표적인 경우가 아래에 소개한 것들입니다. 아래의 것들은 수치해석에서 가장 중요하게 다루는 내용이구여..

To solve Ax=b, A에 따라서 다양한 방법을 적용하여 해를 구 할 수 있습니다.

*upper(lower) triangular : forward substitution
(전진대입법)
backward substitution
(후진대입법)
*symmetric and positive definite : Cholesky Decomposition
(직접분해법의 한 종류죠!!)
*not tirangular : Gaussian 소거법
*square and many right sides : LU Decomposition(LU 분해법)
*non square : QR Decomposition(QR 분해법)
*any matrix(e.g. ill-conditioned): singular value decomposition(SVD)


강좌#1에서 언급했던...
매트랩에서의 벡터 나눗셈에 대하여 다시한번 Pseudoinverse의 적용예로 설명을 하겠습니다.
To solve Dx=C
일반적을 x=inv(D)*C 하면 됩니다. 그러나 벡터의 연산은?? 가능한가여?
벡터의 역행렬이 존재하는가? 이런 의문점을 제시했고 매트랩에서 이러한 연산을 Pseudoinverse을 이용하여 계산한다고 했습니다.
예를 들어 보져!!!
>>C=1:3;
>>D=2:4;
>>x=C/D
x =

0.6897
결과가 나옵니다. 그럼 위 결과가 어떻게 나온것이냐?
x=D+*C 즉,
>>x=C*pinv(D)
x =

0.6897

이렇게 나오네여.. 이제 이해가 돼시져...
overdetermined system의 해를 이런식으로 매트랩은 바로 구현을 합니다.
엄청난 장점중에 하나라 생각합니다.

여기서 pinv()는 어떤 매트릭스의 pseudoinverse를 구현하는 내장함수 입니다. 직접 구현 하실려면 위에 설명한대로 하심 돼구여!!

**참조**
?A=[1 2 3;3 5 8;6 9 8]

A =

1 2 3
3 5 8
6 9 8

?pinv(A)

ans =

-4.5714 1.5714 0.1429
3.4286 -1.4286 0.1429
-0.4286 0.4286 -0.1429

?inv(A'*A)*A'

ans =

-4.5714 1.5714 0.1429
3.4286 -1.4286 0.1429
-0.4286 0.4286 -0.1429

A가 squre matrix인 경우 위처럼 같은 결과가 나옵니다.
그런데 위에서 제시한 벡터의 경우에는 어떤 결과가 나올까여?

Pinv(D)

ans =

0.0690
0.1034
0.1379

?inv(D'*D)*D'
Warning: Matrix is singular to working precision.

ans =

Inf
Inf
Inf
^^.^^ 이상하져.....
잘 생각해보심 알거에여..
매트랩에서도 역시나 inv는 정방행렬일 경우에만 연산을 하므로.. ^^.^^
D'*D가 정방행렬이 아니므로.. ^^.^^ 연산을 몬 하져...
그래서 결과과 inf로 나오는 겁니다.

하지만 pinv()는 m>n인 overdetermined system인 경우에 연산을 가능하게하는 내장함수져 ^^.^^
음.. 정확하고 쉬운 설명이었는지는 잘 ㅠ.ㅠ

아무튼 필요하신분 참고를 하시구여...

만약에 틀린부분이나 오타가 있으면 즉각 리플을 달아주시고.

pseudoinverse에 관해선 아래 책과 아래 싸이트를 참조하세엽!!


[Reference]
"statistical digital signal processing and modeling"

"lessons in estimation theory for signal processing,communication, and control"

[site]
http://ikpe1101.ikp.kfa-juelich.de/briefbook_data_analysis/node220.html

http://ikpe1101.ikp.kfa-juelich.de/briefbook_data_analysis/node265.html#264

http://ikpe1101.ikp.kfa-juelich.de/briefbook_data_analysis/node155.html#154
다음검색
현재 게시글 추가 기능 열기

댓글

댓글 리스트
맨위로

카페 검색

카페 검색어 입력폼