기본 콘텐츠로 건너뛰기

라벨이 피벗열인 게시물 표시

[matplotlib]quiver()함수

[Linear Algebra] 직교집합(Orthogonal Set)과 선형결합

직교집합(Orthogonal Set)과 선형결합 ℝ n 차원에서 식 1과 같이 내적이 0인 모든 벡터들의 집합 u 1 , u 2 , …, u p 를 직교집합(orthogonal set) 이라고 합니다( 직교벡터(Orthogonal vectors) 참조 ). $$u_i\cdot u_j=0,\quad i \ne j$$ (식 1) 예 1) 다음 벡터 집합이 직교 집합인지를 결정해봅니다. $$u_1=\begin{bmatrix}3\\1\\1\end{bmatrix}\quad u_2=\begin{bmatrix}-1\\2\\1\end{bmatrix} \quad u_3=\begin{bmatrix}-\frac{1}{2}\\-2\\\frac{7}{2}\end{bmatrix}$$ u1=np.array([3.,1.,1.]).reshape(3,1) u2=np.array([-1.,2.,1.]).reshape(3,1) u3=np.array([-1/2,-2,7/2]).reshape(3,1) u=[u1,u2, u3] for i, j in itertools.combinations([0,1,2], 2): print(np.dot(u[i].T,u[j])) [[0.]] [[0.]] [[0.]] 위 결과에 의하면 벡터들 간의 내적이 모두 0이므로 세 벡터들은 모두 직교 상태입니다. 그 결과는 세 벡터를 나타낸 그림 1에서 확인할 수 있습니다. 그림 1. 직교관계인 세개의 벡터. 위 벡터들로 이루어진 동차선형결합 성립여부를 결정합니다. U=np.hstack([u1,u2,u3]) c=np.zeros([3,1]) au=np.hstack([U,c]) Matrix(au).rref() (Matrix([ [1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0]]), (0, 1, 2)) 확대 행렬(au)의 rref는 모든 열이 피벗 열 임을 나타내며 이 시스템의 모든 변수는 선도변수(leading variable)입니다( 기약행 사다리꼴 ...

[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}\\ ...

[Linear Algebra] 열공간(Column Space)과 행공간(row space)

열공간(Column Space)과 행공간(row space) m×n 형태의 행렬 A의 기저(Basis) 벡터 들의 집합을 열공간(column space) 라고 하며 Col A 로 나타냅니다. 예 1) 다음 표준 행렬 A의 열공간을 계산해봅니다. $$\begin{bmatrix} -3&6&-1&1&-7\\1&-2&2&3&1\\2&-4&5&8&-4\end{bmatrix}\begin{bmatrix}x_1\\x_2\\x_3\\x_4\\x_5 \end{bmatrix}=\begin{bmatrix} 0\\0\\0\end{bmatrix}$$ 위 식을 일반 선형시스템으로 나타내면 식 1과 같습니다. \begin{align}3x_1 + 6x_2 - x_3 + x_4 - 7x_5&= 0\\ x_1 - 2x_2 + 2x_3 + 3x_4 + x_5& = 0\\ 2x_1 - 4x_2 + 5x_3 + 8x_4 - 4x_5& = 0\end{align} (식 1) A=np.array([[-3, 6, -1, 1, -7],[1,-2,2,3,-1],[2, -4, 5, 8, -4]]) c=np.zeros([3,1]) Matrix(np.hstack([A,c])).rref() (Matrix([ [1, -2.0, 0, -1.0, 3.0, 0], [0, 0, 1, 2.0, -2.0, 0], [0, 0, 0, 0, 0, 0]]), (0, 2)) 행렬 A의 기약행사다리꼴에서 0과 2열이 피봇열(pivot column) 입니다. 즉, 두 열벡터가 기저 벡터가 되며 이 기저 벡터들과 나머지 벡터들과의 선형 독립이 성립됩니다. 이 관계를 확인해 봅니다. 먼저 2열의 벡터와의 선형결합을 조사합니다. #기저벡터 A_b=A[:,[0, 2]] #Ab=A의 1열 A_bA1=np.hstack([A_b, A[:,1].reshape(-1,1)]) M...