기본 콘텐츠로 건너뛰기

라벨이 linearAlgebra인 게시물 표시

[matplotlib]quiver()함수

Affin combination과 linear combination

기하학적으로 두 점들이 이루는 집합 S에서 이 점들을 통과하는 선이 그 집합내에 존재한다면 그 집합은  affin입니다. 이것은 S의 두 점에 대한 모든 affin combination은  S를 포함합니다. 정리하면 집합 S의 점들에 대한 모든 affin combination이 S 내에 존재한다면 그 집합은 Affine 입니다. S=aff S → S는 affine 간단히 말하면 어떤 집합 S는 선형결합이 존재하고 그 집합의 원소들 사이의 Affine combination에서도 선형결합이 성립해야 한다는 것입니다. 이것은  linear combination이 성립한다면 Affine combination이 이루어지는 것을 의미 합니다. 선형관계성을 알아보기 위해 동차시스템(homogeneous system) 을 먼저 정의합니다. 어떤 시스템을 동차시스템으로 만드는 것은 다음과 같습니다. Ax = b → Ax-b=0 이 변화를 행렬 형태로 나타내보면 다음과 같습니다.  $A=\left[\begin{matrix}a_{11}&a_{12}\\a_{21}&a_{22}\end{matrix}\right], x=\left[\begin{matrix}x_{1}\\x_{2}\end{matrix}\right], b=\left[\begin{matrix}b_{1}\\b_{2}\end{matrix}\right] $ $\left[\begin{matrix}a_{11}&a_{12}\\a_{21}&a_{22}\end{matrix}\right]\left[\begin{matrix}x_{1}\\x_{2}\end{matrix}\right]=\left[\begin{matrix}b_{1}\\b_{2}\end{matrix}\right] \\ \rightarrow \left[\begin{matrix}a_{11}&a_{12}\\a_{21}&a_{22}\end{matrix}\right]\left[\begin{matri...

affin combination이란

f(x) =f($x_1, x_2, \cdots. x_n$) 위 함수에서 $x_1, x_2, \cdots. x_n$은 함수 f의 인수들 입니다. 이 함수는 $R^n \rightarrow R^n$의 영역에서 이루어 집니다. 즉, n 차원의 실수 집합에서  n 차원의 실수 집합에 대응하는 함수를 나타내는 것입니다. 예를 들어 4차원 실수 집합을 1차원으로 대응시키는 함수는 다음과 같이 나타냅니다. $R^4 \rightarrow R$ f(x) = $x_1+x_2-x_4^2$ 위 함수는 각 항의 계수 벡터와 변수를 원소로 하는 벡터로 나타낼 수 있습니다. $a= \left[\begin{array}{r}1\\1\\0\\-1 \end{array}\right], \quad x=\left[\begin{array}{r}x_1\\x_2\\x_3\\x_4\end{array}\right]$ $f(x)= a^T x=\left[\begin{matrix}1&1&0&-1 \end{matrix}\right] \left[\begin{matrix}x_1\\x_2\\x_3\\x_4\end{matrix}\right]$ 위 형태는 벡터와 행렬 곱에서 앞 벡터의 열의 수와 뒤 벡터의 행의 수가 일치하여야 계산 될 수 있기 때문에 열벡터인 경우 앞 벡터는 전치시켜야 합니다. 위의 표현은 다음의 경우에서도 성립됩니다. $f(\alpha x+\beta y)=a^T(\alpha x+\beta y)=\alpha  a^T x+ \beta a ^Ty=\alpha f(x)+ \beta f(y)$ $\alpha, \beta$: scalar 위 함수는 벡터들의 선형결합 입니다. Affin 결합은 이러한 선형결합의 특별한 형태입니다. 즉, 다음과 같습니다. $c_1v_1+ c_2v_2 + \cdots +c_nv_n$ 위와 같은 선형결합에서 모든 계수의 합이 1인 경우를 $c_1+c_2+\cdots+c_n=1$을 Affin combination 이라고 합니다. ...

가역행렬에 대한 정의

가역행렬의 정의 n × n 차원의 정방행렬 A가 가역행렬(invertible matrix)일 경우 다음은 모두 동치입니다. 1. A의 행렬식은 0이 아닙니다. (det A ≠ 0) numpy.linalg.det() 함수에 의해 계산됩니다. import numpy as np import numpy.linalg as la import sympy as sp A=np.array([[2,3],[6, 8]]); A array([[2, 3], [6, 8]]) round(la.det(A), 4) -2.0 2. 역행렬이 존재합니다. numpy.linalg.inv() 함수에 의해 계산됩니다. Ainv=la.inv(A); Ainv array([[-4. , 1.5], [ 3. , -1. ]]) np.dot(A, Ainv) array([[1., 0.], [0., 1.]]) 3. 가역행렬 A의 전치행렬 A T 역시 가역행렬입니다. 이 두행렬의 행렬식은 같습니다. det(A) = det(A T ) AT=A.T; AT array([[2, 6], [3, 8]]) la.inv(AT) array([[-4. , 3. ], [ 1.5, -1. ]]) round(la.det(AT), 4)==round(la.det(A), 4) True round(la.det(AT), 4) -2.0 4. 행렬방정식 Ax=c에 대해 유일한 해를 가집니다. 식의 해를 계산하기 위해 numpy.linalg.solve() 함수를 적용합니다. 식의 c즉 상수항이 다음 코드의 const라면 A가 가역행렬이므로 변수 x의 해를 계산할 수 있습니다. const=np.array([2,1]).reshape(2,1);const array([[2], [1]]) sol=la.solve(A, c...

고유값과 고유벡터, eigendecomposition

$n \times n$정방행렬 A에 대해 다음의 방정식이 만족되는 경우를 생각할 수 있습니다.  $A \cdot v = \lambda \cdot v$ (1) v : $n \times 1$인 벡터 $\lambda$ : 스칼라 위 방정식의 어떤 해(solution)인 $\lambda$를 고유값(eigenvalue)라고 하며 특성값(characteristic value)이라고도 합니다. 이 고유값에 해당하는 벡터 v를 고유벡터(eigenvector)라고 합니다. 위 방정식은 다음과 같이 나타낼 수 있지요. $A \cdot v - \lambda \cdot v=0$ (2) $A \cdot v - \lambda \cdot I \cdot v=0$ (3) $(A - \lambda \cdot I )\cdot v=0$ (4) v가 0이 아닌 벡터라면 위 식에서 다음이 만족되어야만 합니다. $|A-\lambda \cdot I|=0$ (5) 이 식을 A의 특성방정식(character equation)이라고 하며 n개의 근을 가지는 n차 다항식이 됩니다. 이 근들은 A의 고유값이 됩니다. 다음의 2x2의 행렬을 예로 고유값과 고유벡터를 계산해 봅니다. a=np.matrix('0,1;-2, -3') a Out[128]: matrix([[ 0,  1],         [-2, -3]]) 위 행렬의 특성 방정식은 다음과 같습니다. $|A- \lambda \cdot I|= \left | \left [\begin{array}{rr} 0&1\\-2&-3 \end{array}\right] -\left[\begin{array}{rr}\lambda & 0 \\ 0 & \lambda \end{array} \right] \right |=0$ 위 식은 다음과 같이 정리 할 수 있습니다. $\left | \left[\begin{array}{rr} -\lambda &1 \\ -2 ...