Mathematics/Linear algebra

대각 행렬, 단위 행렬

jwjwvison 2022. 2. 21. 17:59

 대각 행렬(diagonal matrix)은 행렬의 주 대각 원소가 아닌 원소가 0인 정사각 행렬이다.

 대각 행렬의 역행렬은 아래와 같이 주 대각 원소의 역수를 구함으로써 간단히 구할 수 있다.

 

 대각 행령의 거듭 제곱은 다음과 같이 구할 수 있다.

 

 대각 행렬의 성질

 1. 어떤 행렬에 대각 행렬을 곱할 때, 대각 행렬을 오른쪽에 곱하는 경우 기존 행렬의 열 값이 대각 원소의 배수가 되며, 대각 행렬을 왼쪽에 곱하는 경우 기존 행렬의 행 값이 대각 원소의 배수가 된다.

import numpy as np

# 행렬의 대각 원소
A=np.array([[1,2,3],[4,5,6],[7,8,9]])
D=np.diag(A)  
print(D)  # [1 5 9]

# 대각 행렬 (대각 원소 기반)
print(np.diag(D)) 
'''
[[1 0 0]
 [0 5 0]
 [0 0 9]]
 '''

A=np.array([[1,2,3],[4,5,6],[7,8,9]])
D=np.diag([1,3,4])
print(A)
'''
[[1 2 3]
 [4 5 6]
 [7 8 9]]
'''
print(D)
'''
[[1 0 0]
 [0 3 0]
 [0 0 4]]

'''

 

단위 행렬(identity matrix)은 다음과 같이 대각 원소가 1이고 그 밖의 나머지 원소는 모두 0인 대각 행렬을 의미한다.

import numpy as np
I=np.identity(5)
print(I)
'''
[[1. 0. 0. 0. 0.]
 [0. 1. 0. 0. 0.]
 [0. 0. 1. 0. 0.]
 [0. 0. 0. 1. 0.]
 [0. 0. 0. 0. 1.]]
'''