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

[행렬] 대칭 행렬

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

■ 개념

 대칭 행렬 (symmetric matrix)은 기존 행렬과 전치 행렬이 동일정사각 행렬이다.

 

(예, 수식)

 

[대칭 행렬의 성질]

종류 설명 및 검증
대칭 행렬 두 개의 덧셈과 뺄셈 
=
대칭행렬
(A+B, A-B)
대칭 행렬 간의 덧셈과 뺄셈은 대칭 행렬을 도출한다.

대칭 행렬 간 행렬 곱 
!=
대칭행렬
(AB, BA)
대칭 행렬간의 행렬 곱은 무조건 대칭 행렬을 도출하지는 않는다.

대칭 행렬의 거듭 제곱
=
대칭행렬
(A^n)
대칭 행렬의 거듭 제곱은 대칭 행렬을 도출한다.

기존 행렬과 전치행렬의 행렬 곱
=
대칭행렬
(A t * A,  A * A t)
기존 행렬과 본인의 전치행렬 간의 행렬 곱은 대칭 행렬을 도출한다.
 ★ 선형대수를 공부하다보면 이 형태를 많이 보게 된다고한다.

 

■ 파이썬

이전에 모듈화했던 MatrixOperator로 계산했다.

 

[대칭 행렬의 전치행렬]

대칭 행렬 A를 만들고 이를 전치행렬로 변환했다. 대칭 행렬의 전치 행렬은 대칭행렬이 나와야한다. 이를 확인해봤는데 
A == At 는 True가 나온 것을 확인할 수 있다.

[대칭 행렬의 거듭제곱]

위 도출된 결과를 보기 쉽게 표시했다.  대칭행렬의 거듭제곱은, 기준행렬과 전치행렬이 동일한, 대칭행렬이 나온다는 것을 확인할 수 있다.

[기존 행렬과 전치 행렬의 곱]

위에서 대칭 행렬이 아닌 기존 행렬과 그 행렬의 전치 행렬 간의 행렬 곱은 대칭 행렬이 나온다고 했었다.

검증해보기로했다.

A * At

 

At * A

 

■ 넘파이

 

[대칭 행렬의 전치행렬]

 

넘파이 라이브러리를 활용해 대칭 행렬의 전치 행렬은 동일한 값이 나온다는 것을 확인할 수 있다.

[대칭 행렬의 거듭제곱]

 

[기존 행렬과 전치 행렬의 곱]

 

대칭 행렬이 아닌 A와 그의 전치행렬 At를 행렬 곱 한다면 대칭 행렬이 나오는 것을 넘파이를 활용한 행렬 곱에서도

확인할 수 있었다.

인자 순서를 바꿔도 동일하게 대칭 행렬을 도출하는 것을 확인할 수 있다.