기본 콘텐츠로 건너뛰기

라벨이 급수인 게시물 표시

[matplotlib]quiver()함수

[Linear Algebra] 고유값분해(Eigenvalue Decomposition)

고유값 분해(Eigen-Decomposition) 식 1과 같이 행렬 A가 가역행렬인 P과 대각행렬 D를 사용하여 유사변환이 가능하다면 그 행렬은 대각 가능(Diagonalizable) 하다고 합니다. 즉, 식 2와 같이 행렬 A의 고유값과 고유행렬에 대한 유사변환(Similarity transformation) 이 성립합니다. 예를 들어 2×2 정방행렬 A에 대해 고유값과 고유벡터들로 분해하는 다음과 같으며 고유값분해 (Eigenvalue Decomposition) 라고 합니다. \begin{align}\text{A}& =\text{PDP}^{-1}\\\tag{식 1}& P:\;\text{고유행렬}\\& D:\;\text{고유값으로 구성된 대각행렬}\end{align}   \begin{align} A=& \begin{bmatrix} a_{11}& a_{12}\\a_{21}& a_{22} \end{bmatrix}\\ \tag{식 2}\text{고유값}& =\begin{bmatrix} \lambda_1 & \lambda_2 \end{bmatrix}\\ \text{고유행렬}& =\begin{bmatrix} v_{11}& v_{12}\\v_{21}& v_{22} \end{bmatrix}\\ \begin{bmatrix} a_{11}& a_{12}\\a_{21}& a_{22} \end{bmatrix}&= \begin{bmatrix} v_{11}& v_{12}\\v_{21}& v_{22} \end{bmatrix}\begin{bmatrix} \lambda_1& 0\\0& \lambda_2 \end{bmatrix}\left(\begin{bmatrix} v_{11}& v_{12}\\v_{21}& v_{22} \end{bmatrix}\right)^{-1}\end{align} 예 1) 다음 행렬 A에 위 대각화를...

[Linear Algebra] 고유벡터(Eigenvector)와 고유값(Eigenvalue)

고유벡터(Eigenvector)와 고유값(Eigenvalue) 고유 벡터(eigenvector) 는 정방 행렬의 선형 변환이 일어난 후에도 방향이 변하지 않는 영벡터(zero vector)가 아닌 벡터들을 의미합니다. 즉, n차원 공간에서 임의의 벡터를 표현할 수 있는 기준이 되는 벡터인 기저(basis) 벡터 를 의미합니다. 그러므로 행렬 A의 고유벡터 v 사이에는 식 1의 관계가 성립합니다. Av = λv (식 1) (A − λ)v = 0 조건) λ ≠ 0 식 1에서 A는 가역행렬이고 λ는 스칼라로서 고유값(eigenvalue) 이라고 합니다. 예 1) 행렬 A와 두 벡터 u, v의 관계를 조사해 봅니다. $$A=\begin{bmatrix}3&-2\\1&0\end{bmatrix}, \quad u=\begin{bmatrix}-1\\1\end{bmatrix}, \quad v=\begin{bmatrix}2\\1\end{bmatrix}$$ 행렬 A와 미지의 벡터 x와 선형결합한 결과 벡터가 각각 u, v일 경우 선형독립인지를 결정합니다. 선형독립일 경우 A는 기저행렬이 됩니다. A=np.array([[3,-2],[1,0]]) u=np.array([-1,1]) v=np.array([2,1]) Au=np.c_[A, u] print(Au) [[ 3 -2 -1] [ 1 0 1]] Matrix(Au).rref() (Matrix([ [1, 0, 1], [0, 1, 2]]), (0, 1)) Av=np.c_[A, v] print(Av) [[ 3 -2 2] [ 1 0 1]] Matrix(Av).rref() (Matrix([ [1, 0, 1], [0, 1, 1/2]]), (0, 1)) 행렬 A와 벡터 u, v를 결합한 확대행렬 Au, Av의 기약행 사다리꼴 형태 (rref) 을 검사한 결과는 A의 모든 열이 피봇열이므로 행렬 A의 급수(Rank) 가 2임을 나타냅니다. 이 행렬의 급수는 numpy....

[Linear Algebra] 급수(Rank)

급수(Rank) 선형결합에 의해 생성되는 부분 공간 W의 차원 은 그 공간을 구성하는 기저(Basis) 벡터 의 수 입니다. 그 기저 벡터의 수를 급수(rank) 라고 합니다. 예 1) 다음 동차 방정식의 급수(rank)를 결정해 봅니다. 3x 1 + 6x 2 - x 3 + x 4 + 7x 5 = 0 x 1 - 2x 2 + 2x 3 + 3x 4 - x 5 = 0 2x 1 - x 2 + 5x 3 + 8x 4 - 4x 5 = 0 v1=np.array([3, 1, 2]) v2=np.array([6, -2, -1]) v3=np.array([-1, 2, 5]) v4=np.array([1, 3, 8]) v5=np.array([7, -1, -4]) c=np.zeros(3) aug=np.c_[v1, v2, v3, v4, v5, c] print(aug) [[ 3 6 -1 1 7 0] [ 1 -2 2 3 -1 0] [ 2 -1 5 8 -4 0]] print(np.array(Matrix(aug).rref()[0], dtype=float).round(2)) [[ 1. 0. 0. 0.45 2.03 0. ] [ 0. 1. 0. 0.18 -0.12 0. ] [ 0. 0. 1. 1.45 -1.64 0. ]] 위 결과에 의하면 피벗열은 0, 1, 2열이므로 이 열에 대응되는 열벡터들은 기저벡터가 됩니다. 그러므로 식 1과 같이 나타낼 수 있는 선형 시스템들은 모두 선형 독립 관계가 성립합니다. \begin{align}&\text{system 1}:\; \begin{bmatrix}3&6&-1\\1&-2&2\\2&-1&5\end{bmatrix}\begin{bmatrix}x_1\\x_2\\x_3\end{bmatrix}=\begin{bmatrix}1\\3\\8\end{bmatrix}\\ ...