선형대수학/implement_linearAlgebra

1.1.1 행렬 A 의 독립인 열과 랭크

명징직조지훈 2022. 12. 10. 16:17

2022.12.08 - [선형대수학] - 1.1.1 행렬 A의 독립인 열과 랭크

 

1.1.1 행렬 A의 독립인 열과 랭크

나아가 행렬 A의 기저 basis 를 찾을 수 있고, 행렬 A를 두 행렬의 곱셈 C * R 로 분해할 수 있으며, 선형대수학 제 1 정리를 증명할 수 있다. 그러면 행렬의 랭크와 부분공간의 차원을 더 잘 이해할

teach-meaning.tistory.com

일차독립의 개념 이해, 목표는 행렬 A 에서 행렬 C 를 바로 찾는 것, C 의 어떠한 열도 다른 열의 일차결합으로 표현되지 않아야 한다. 

부분공간의 기저는 일차독립인 벡터로 이뤄진다. 한 공간에 있는 모든 벡터는 기저 벡터의 일차결합으로 표현할 수 있다.

A = np.array(([1,3,8],[1,2,6],[0,1,2]))
A
>>>
array([[1, 3, 8],
       [1, 2, 6],
       [0, 1, 2]])
       
a1 = A[:,0]
a1
>>>
array([1, 1, 0])

a2 = A[:,1]
a2
>>>
array([3, 2, 1])

a1/a2
>>>
array([0.33333333, 0.5       , 0.        ])

2열이 1열에 실수를 곱한 것과 다르므로 C에 포함시킬 수 있다.

3열의 경우 1, 2 열의 일차 결합을 통해 표현할 수 있으므로 C 에 포함시키지 않는다.

x1 = sympy.Symbol('x1')
x2 = sympy.Symbol('x2')

x = np.array(([x1],[x2]))
x
>>>
array([[x1],
       [x2]], dtype=object)

A[:,:2].dot(x)
>>>
array([[x1 + 3*x2],
       [x1 + 2*x2],
       [x2]], dtype=object)
C = np.array(([1,3],[1,2],[0,1]))
C
>>>
array([[1, 3],
       [1, 2],
       [0, 1]])

r 은 A 의 랭크이자 C 의 랭크이다 

랭크는 일차독립인 열의 개수와 같다. 행렬의 랭크는 열공간의 차원이다.

R = np.array(([1,0,2],[0,1,2,]))
R
>>>
array([[1, 0, 2],
       [0, 1, 2]])
       
C.dot(R)
>>>
array([[1, 3, 8],
       [1, 2, 6],
       [0, 1, 2]])

행렬 C 는 행렬 R 에 의해 행렬 A 와 연결된다. A = CR 이다. 

C 의 열의 일차결합은 A 의 열을 생ㅅ어한다. A = CR 는 이 정보를 행렬 곱셈으로 저장한다. 

이 R 은 행렬 A 의 기약행 사다리꼴 = rref(A)

C = A 일 경우 R = I(단위 행렬) 이다.