정방 행렬 (Square matrix)과 트레이스(Trace)
내용
정방 행렬 (Square matrix)
식 1의 행렬 A와 같이 열과 행의 갯수가 동일한 행렬을 정방 행렬이라 하고 이 정방 행렬의 전치 행렬($A^T$)은 식 1과 같이 주 대각(main diagonal)외 요소들의 대칭적 교환으로 이루어집니다.
$$A=\begin{bmatrix}{\color{red}a_{11}} & a_{12} & a_{13}\\ a_{21} & {\color{red}a_{22}} & a_{23}\\a_{31} & a_{32} & {\color{red}a_{33}}\end{bmatrix}\;\Rightarrow\; A^T= \begin{bmatrix}{\color{red}a_{11}} & a_{21} & a_{31}\\ a_{12} & {\color{red}a_{22}} & a_{32}\\a_{13} & a_{23} & {\color{red}a_{33}}\end{bmatrix}$$ | (식 1) |
위 식의 붉은 색이 주 대각 요소들입니다.
A=np.array([[1,2,3],[4,5,6],[7,8,9]]) print(A)
[[1 2 3] [4 5 6] [7 8 9]]
print(A.T)
[[1 4 7] [2 5 8] [3 6 9]]
트레이스(Trace)
정방 행렬에서 대각 요소들의 합을 그 행렬의 트레이스라고 하며 tr(A)라고 나타냅니다(식 2).
$$A=\begin{bmatrix}{\color{red}a_{11}} & a_{12} & a_{13}\\ a_{21} & {\color{red}a_{22}} & a_{23}\\a_{31} & a_{32} & {\color{red}a_{33}}\end{bmatrix}\;\Rightarrow\; \text{tr(A)}= a_{11}+a_{22}+a_{33}$$ | (식 2) |
np.trace(A) 함수를 사용하여 계산합니다.
np.random.seed(1) A=np.random.randint(1,10, (3,3)) print(A)
[[6 9 6] [1 1 2] [8 7 3]]
np.trace(A)
10
tr=0 for i in range(A.shape[0]): tr += A[i,i] tr
10
댓글
댓글 쓰기