본문 바로가기
개발 (AI)/선형대수

[행렬] 대각 행렬

by 진현개발일기 2023. 5. 7.

■ 개념

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

위 예시 이미지를 보면, 행 번호와 열 번호가 동일한, 주 대각 원소들은 0이 아닌 값이고 나머지가 0인 값들.

이같은 행렬을 대각 행렬이라고 한다. 보통 'D'라고 표시한다.

 

 

 

[대각 행렬의 역행렬]

대각 행렬의 역행렬은 D^-1로 표기한다. 0이 아닌 주 대각 원소들의 값들이 분모가되고 분자가 1이 되는 분수가된다.

 

[대각 행렬의 거듭제곱]

대각 행렬의 거듭 제곱은 위와 같이 원소에 거듭 제곱을 해주는 것이다.

 

[대각 행렬와 기준 행렬 간 행렬 곱]

 대각 행렬과 기준 행렬을 행렬 곱할때 대각 행렬의 위치(앞, 뒤)에 따라 계산 방법이 달라진다.

 

(1)  AD [대각 행렬이 뒷편에 위치] 일경우 대각행렬의 주 대각 원소들을 각 에 위치한 기준 행렬의 원소들을 곱해주면 된다. 예를 들어 D11은 A11, A21, A31.. 을 곱해주면 되는 것이고 D22는 A12, A22, A32...를 곱해주면 된다.

 

(2) DA [대각 행렬이 앞쪽에 위치] 일 경우 대각행렬의 주 대각 원소들은 각 에 위치한 기준 행렬의 원소들을 곱해주면 된다. 예를 들어 D11은 A11, A12, A13을 곱해주고 D22는 A21, A22, A23을 곱해주고 D33은 A31, A32, A33을 곱해준다.

 

(예시 문제 검증)

 

 

(일반화해서 정리해봤다)

 처음에는 이해가 안갈 수 있지만 공식을 바로 쓰지말고 행렬 곱을 직접 해보면서 원리를 이해하다보면 이해가 된다. 그 다음에 공식을 암기해도 괜찮을 것 같다. 필자는 이해가 안되는데 암기를 하는 것을 정말 싫어해서 시간이 걸리더라도 위와 같이 정리 및 이해를 하면서 외우게 되었다.

 

■ 파이썬

 

[대각 행렬 변환하기]

 

▼ 모듈화 해놓은 MatrixOperator 라이브러리에 함수를 추가했다.

 

 

 

[대각 행렬의 주 대각 원소 구하기]

대각 행렬의 주 대각 원소(Main Diagonal)을 반환해주는 함수 또한 추가했다.

 

 

[주 대각 원소로 대각 행렬로 변환하기]

 

[기존 행렬과 대각 행렬 간의 행렬 곱]

■ 넘파이

 

728x90

'개발 (AI) > 선형대수' 카테고리의 다른 글

[행렬] 영 행렬  (0) 2023.05.07
[행렬] 단위 행렬  (0) 2023.05.07
[행렬] 대칭 행렬  (0) 2023.05.06
[행렬] 전치행렬  (0) 2023.05.06
[행렬] 공부할 행렬 종류  (0) 2023.05.06