implement_subspace(2)
행렬 B 에서 m = 2, n = 3 이다. 따라서 행렬 B 의 기본 부분공간은 R^3, R^2 의 부분공간이다. A = np.array(([1,2],[3,6])) A >>> array([[1, 2], [3, 6]]) B = np.array(([1,-2,-2],[3,-6,-6])) B >>> array([[ 1, -2, -2], [ 3, -6, -6]]) 2 * 2 행렬 A 와 행렬 B 를 비교하면 두 가지 부분공간은 바뀌지 않는다. 행렬 B 의 열공간은 R^2 의 부분공간이며 행렬 A 의 열공간과 기저 벡터가 같다. 그러나 행렬 B 의 열 개수는 n = 3 이고, 3 차원 공간 R^3 의 부분이다. 여전히 행공간에는 단 하나의 v 만 있다. 행렬 B 의 두 행은 같은 방향이므로 랭크는 r = 1 이다...
implement_subspace
m*n 행렬 A 에서 4개의 부분 공간, 즉 2개의 R^m 부분공간과 2 개의 R^n 부분공간이 어떻게 유도되는가 랭크가 1인 행렬 uv^T 의 예시 A = np.array(([1,2],[3,6])) A >>> array([[1, 2], [3, 6]]) m = 2, n = 2 이다. R^2 의 부분공간을 생각해본다. C_A = A[:,0] C_A >>> array([1, 3]) 열공간 C(A) 는 u = [1],[3] 을 지나는 직선이다. 행렬 A 의 2열 [2],[6] 은 이 직선 위에 있다. C_A_T = A.T[:,0] C_A_T >>> array([1, 2]) 행공간 C(A^T) 는 v = [1],[2] 를 지나는 직선이다. c_a = np.linspace(-2,2,200) c_a_result =..
4.5 대칭 행렬
2022.12.15 - [미분방정식] - 4.5 대칭 행렬과 직교 행렬 4.5 대칭 행렬과 직교 행렬 m*n 행렬 A 에서 시작, A 의 행들이 A^T 의 열들이 되는 것을 A의 전치라고 한다. m*n 행렬은 주대각성분을 중심으로 뒤집힌다. 그러면 A^T 는 n*m 행렬이다. 곱 AB, AB 의 전치는 (AB)^T = B^T A^T 이다. 역행 teach-meaning.tistory.com A = np.array(([1,2,6],[0,0,5])) A >>> array([[1, 2, 6], [0, 0, 5]]) AT = A.T AT >>> array([[1, 0], [2, 0], [6, 5]]) B = np.array(([1,2],[3,4],[5,6])) B >>> array([[1, 2], [3, 4],..
가우스 - 조던 소거법으로 계산한 A^-1
2022.12.15 - [미분방정식] - 4.4 역행렬 4.4 역행렬 A 가 정사각행렬일 때, A^-1 과 A 를 곱하면 I 가 되는 동일한 크기의 역행렬 inverse matrix A^-1 을 살펴보자. 이 곱은 항등 행렬이 되며, 따라서 모든 벡터의 변화를 무효가 되게 한다. 따라서 A^-1Av = v teach-meaning.tistory.com Av = b 의 방정식을 풀기 위해 v = A^-1 b 로 풀 수 있다. 하지만 A^-1 을 계산하고 이를 b 에 곱하는 것은 비효율적이다. 가우스-조던 소거법을 사용하면 v 를 바로 계산할 수 있다. A = np.array(([2,-1,0],[-1,2,-1],[0,-1,2])) A >>> array([[ 2, -1, 0], [-1, 2, -1], [ 0,..