레이블이 선형대수인 게시물을 표시합니다. 모든 게시물 표시
레이블이 선형대수인 게시물을 표시합니다. 모든 게시물 표시

2014년 5월 20일 화요일

LU 분해, LDU분해

정사각행렬 \( \mathbf{A}_{n \times n} \)에 대해서,
  • LU 분해는 유일하지 않지만, LDU 분해는 유일하다.
    • LDU 분해를 통해 LU분해를 구할 수도 있다.(그럴 필요가 없지만)
    • 즉, \( \mathbf{D} \)를 적당히 \( \mathbf{D_{1}D_{2}} \)로 분해하여 \( \mathbf{(LD_{1})(D_{2}U)} \)로 만들 수 있는 방법은 많으니까.
    • 단, LU의 대각성분이 모두 1이면 당연히 유일하다.
  • 0인 pivot이 존재해서 LU 분해가 불가능하면( \(  \begin{pmatrix}0 & 1 \\1 & 0 \end{pmatrix} \) 처럼) PLU 분해 ( \( \mathbf{PA=LU} \) )로 가능하게 할 수 있다. \( \mathbf{P} \)는 permutation matrix이다. MatLab에 있는 lu 함수에 이 기능이 내장되어 있다.

추가정보는 여기로.

2014년 5월 8일 목요일

치환행렬 permutation matrix

치환행렬 (permutation matrix) 혹은 순열행렬
치환행렬은 기본 행렬(elementary matrix)의 세 종류 중 하나이다.

어떤 행렬에 곱해지면 그 행렬의 행 또는 열의 순서를 바꿔주는 역할을 한다.


성질

  • 행렬의 앞에 곱해지면 원래 행렬의 행 순서를 바꿔주고 \( \mathbf{P}_{n\times n}\mathbf{A}_{n\times m}\)
    행렬의 뒤에 곱해지면 원래 행렬의 열 순서를 바꿔준다. \( \mathbf{A}_{m\times n}\mathbf{P}_{n\times n}\)
  • 치환행렬이 대칭행렬(symmetric matrix)일 거라고 착각하는 경우가 있는데, 그것은 두 행 사이의 상호 행바꿈만 존재할 때만 그렇다. 대칭행렬인 치환행렬끼리 곱해도 치환행렬인데, 대칭행렬이 아닌 경우가 더 많다.
  • 치환행렬의 전치(transpose)는 치환행렬의 역행렬(inverse matrix)과 같다.
    \( \mathbf{P}^{T}=\mathbf{P}^{-1} \Leftrightarrow \mathbf{P}\mathbf{P}^{T}=\mathbf{I} \) (순서를 바꾸고 또 바꾸면 원래대로 돌아오게 되니까)
  • 원래 위의 성질은 직교행렬의 것이다. 즉, 모든 치환행렬은 직교행렬(orthogonal matrix)이다.

2014년 4월 30일 수요일

선형대수학 linear algebra

선형대수만 배워서는 쓸데가 없다. 왜 중요한지도 모른다. 예를 들어 행렬식(det., determinant)을 구하는 방법을 배운 다음에, 그게 무엇인지 의미를 스스로 생각해보려고 하면 깨달음을 얻기도 힘들 뿐더러, 아무것도 배운 것 같지 않은 느낌만 남는다. 차라리 실제적인 문제를 푸는데 있어서 행렬식을 모르면 안 풀리는 상황을 가져다놓고, 스스로 궁금해하게 한 다음에 가르치는 게 더 의미있지 않을까 싶다.

선형대수학만 배운다는 것은, 펜을 잡는 법만 배우고 글씨는 한번도 안 써보는 것과 같다.

2013년 4월 23일 화요일

(고등학생을 위한) 2차 정사각행렬의 역행렬 The Inverse of a 2 by 2 Square Matrix


행렬 \( \mathbf{A}= \left( \begin{array}{ccc} a & b \\ c & d \end{array} \right) \) 의 역행렬은 공식으로 외웠을 것이다.
\( a \)와 \( d \)는 자리를 바꾸고, \( b \)와 \( c \)는 부호를 바꾸고, \( ad-bc \)로 나눠주고... 다음과 같이.
행렬 \( \mathbf{B}= \frac{1}{ad-bc} \left( \begin{array}{ccc} d & -b \\ -c & a \end{array} \right) \)
그런데 왜? 고등학교 과정에서는 그 이유를 도통 알려주지 않는다.
다시 \( \mathbf{B} \)를 떠올려보자.역행렬의 정의에 의하여, \( \mathbf{AB}=\mathbf{I} \)이다. 좌변과 우변의 좌측에 임의의 행렬 \( \mathbf{P} \)를 곱해도 역시 성립한다.
\( \mathbf{PAB}=\mathbf{P} \)
계속 똑같은 짓을 반복해도 성립한다.여기서 주의할 점은,\(\mathbf{A}\)는 실제로 우리가 알고 있는 것이고, \(\mathbf{B}\)는 모르는 상태라는 것.이걸 헷갈리면 안 된다.
곱해주는 행렬을 '적절히' 만들어주면 \(\mathbf{B}\)를 제외한 앞쪽 행렬들의 곱이 단위행렬 \(\mathbf{I}\)가 되게 만들 수도 있을 것이다.
\( \left( \begin{array}{ccc} \frac{1}{a} & 0 \\ 0 & \frac{1}{a} \end{array} \right) \left( \begin{array}{ccc} a & b \\ c & d \end{array} \right)\mathbf{B}= \left( \begin{array}{ccc} 1 & \frac{b}{a} \\ \frac{c}{a} & \frac{d}{a} \end{array} \right) \mathbf{B} = \left( \begin{array}{ccc} \frac{1}{a} & 0 \\ 0 & \frac{1}{a} \end{array} \right)=\mathbf{P}_{1} \)
\( \left( \begin{array}{ccc} 1 & 0 \\ 0 & \frac{a}{c} \end{array} \right) \left( \begin{array}{ccc} 1 & \frac{b}{a} \\ \frac{c}{a} & \frac{d}{a} \end{array} \right)\mathbf{B}=\left( \begin{array}{ccc} 1 & \frac{b}{a} \\ 1 & \frac{d}{c} \end{array} \right)\mathbf{B}=\mathbf{P}_{2}\mathbf{P}_{1} \)
\( \left( \begin{array}{ccc} 1 & 0 \\ -1 & 1 \end{array} \right)\left( \begin{array}{ccc} 1 & \frac{b}{a} \\ 1 & \frac{d}{c} \end{array} \right)\mathbf{B}=\left( \begin{array}{ccc} 1 & \frac{b}{a} \\ 0 & \frac{ad-bc}{ac} \end{array} \right)\mathbf{B}=\mathbf{P}_{3}\mathbf{P}_{2}\mathbf{P}_{1} \)
\( \left( \begin{array}{ccc} 1 & 0 \\ 0 & \frac{ac}{ad-bc} \end{array} \right)\left( \begin{array}{ccc} 1 & \frac{b}{a} \\ 0 & \frac{ad-bc}{ac} \end{array} \right)\mathbf{B}=\left( \begin{array}{ccc} 1 & \frac{b}{a} \\ 0 & 1 \end{array} \right)\mathbf{B}=\mathbf{P}_{4}\mathbf{P}_{3}\mathbf{P}_{2}\mathbf{P}_{1} \)
\( \left( \begin{array}{ccc} 1 & -\frac{b}{a} \\ 0 & 1 \end{array} \right)\left( \begin{array}{ccc} 1 & \frac{b}{a} \\ 0 & 1 \end{array} \right)\mathbf{B}=\left( \begin{array}{ccc} 1 & 0 \\ 0 & 1 \end{array} \right)\mathbf{B}=\mathbf{B}=\mathbf{P}_{5}\mathbf{P}_{4}\mathbf{P}_{3}\mathbf{P}_{2}\mathbf{P}_{1} \)
\( \mathbf{P}_{5}\mathbf{P}_{4}\mathbf{P}_{3}\mathbf{P}_{2}\mathbf{P}_{1}= \left( \begin{array}{ccc} 1 & -\frac{b}{a} \\ 0 & 1 \end{array} \right) \left( \begin{array}{ccc} 1 & 0 \\ 0 & \frac{ac}{ad-bc} \end{array} \right) \left( \begin{array}{ccc} 1 & 0 \\ -1 & 1 \end{array} \right) \left( \begin{array}{ccc} 1 & 0 \\ 0 & \frac{a}{c} \end{array} \right) \left( \begin{array}{ccc} \frac{1}{a} & 0 \\ 0 & \frac{1}{a} \end{array} \right)= \left( \begin{array}{ccc} \frac{d}{ad-bc} & \frac{-b}{ad-bc} \\ \frac{-c}{ad-bc} & \frac{a}{ad-bc} \end{array} \right)\)
물론 행렬 \(\mathbf{P}_{i}\)의 개수나 그 값은 고정되어 있지 않다. 과정에 따라 달라질 수 있다.하지만 그 결과물은 항상 우리가 아는 저 식으로 수렴하게 된다.
보다시피, \(ad-bc\)가 \(0\)이면 저 식 자체가 성립하지 않는다. 즉, 역행렬이 존재하지 않는다.
공교롭게도 \(ad-bc\)는 2차 정사각행렬의 행렬식(determinant)인데, 이것이 우연의 일치인지 아닌지는 다음 포스팅에서 다루기로 한다.