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

[행렬] 토플리츠행렬

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

■ 개념

토플리츠 행렬(Toeplitz Matrix)은 왼쪽에서 오른쪽으로 내려가는 각 대각선의 원소들이 동일한 행렬이다. 

보통 시계열 분석을 할 때 시계열 데이터를 행렬 형태로 변환하기 위해 사용한다고 한다.

 

▼ 출처 (구글특허페이지)

토플리츠 행렬의 모습

 

■ 파이썬

 

함수를 정의했다.

인자로 두 개의 벡터를 받고 A벡터 사이즈가 반환 값의 행의 크기, B벡터 사이즈가 열의 크기다.

만약 행 번호가 열 번호보다 크거나 같다면 A리스트의 i-j번째 원소를 추가하고 아니라면 B리스트의 j-i번째 원소를 추가해준다.

 

 

위 벡터들을 넘긴다면 4행 6열의 토플리츠행렬이 반환될 것이다. 라이브러리에 추가 후 활용해봤다.

■ Scipy

넘파이에서는 토플리츠 행렬이 제공이 안되어있다.

그래서 scipy 라이브러리를 활용했다. 그 중에서 선형대수 함수를 포함한 scipy.linalg를 불러왔다.

 

위에서 직접 구현한 파이썬 함수와 동일한 결과값을 출력한다.

 

 

 

 

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

[행렬] 하우스홀더행렬  (0) 2023.05.29
[행렬] 이중대각행렬  (0) 2023.05.29
[행렬] 삼각행렬  (0) 2023.05.28
[행렬] 영 행렬  (0) 2023.05.07
[행렬] 단위 행렬  (0) 2023.05.07