파이썬 numpy 패키지를 이용해 주어진 행렬의 랭크(rank)를 구하는 코드를 작성합니다.
참고자료: 링크
다음의 3x3 행렬 를 정의하는 numpy 코드를 작성하시오.
import numpy as np
# 행렬 코딩
## TODO
A = np.array([[1, 2, 1], [1, 2, 3], [2, 3, -1]])
print(A)
print(np.shape(A))
앞서 정의한 행렬 의 랭크(rank)를 계산하는 numpy 코드를 작성하시오.
# 랭크 계산
## TODO
rank_A = np.linalg.matrix_rank(A)
print("rank(A): ", rank_A)
다음의 3x3 행렬 를 정의하는 numpy 코드를 작성하시오.
# 행렬 코딩
## TODO
B = np.array([[1, 2, 1], [1, 2, 3], [2, 4, 4]])
print(B)
print(np.shape(B))
앞서 정의한 행렬 의 랭크(rank)를 계산하는 numpy 코드를 작성하시오.
# 랭크 계산
## TODO
rank_B = np.linalg.matrix_rank(B)
print("rank(B): ", rank_B)
거의 유사한 행렬 와 가 서로 다른 랭크가 나오는 것을 확인하였다. 특히, 행렬 는 랭크가 3보다 적은 수로 나온다.
행렬 의 랭크가 3이 나오지 않는 그 이유를 설명하시오.