Mathematics/Linear algebra

삼각 행렬, 토플리츠 행렬, 이중 대각 행렬, 하우스홀더 행렬

jwjwvison 2022. 2. 21. 19:24

 상 삼각 행렬(upper triangular maxtrix)은 주 대각 원소 아래쪽에 있는 모든 원소가 0인 정사각 행렬을 의미한다.

 하 삼각 행렬은 오른쪽 그림과 같다.

 

 - 삼각 행렬의 성질

 

 1. 삼각 행렬 간 덧셈, 뺄셈, 행렬 곱의 결과는 삼각 행렬이다.

 

 2. 상 삼각 행렬의 전치 행렬은 하 삼각 행렬이며, 하 삼각 행렬의 전치 행렬은 상 삼각 행렬이다.

 

 3. 삼각 행렬의 역행렬 또한 삼각 행렬의 형태를 띤다.

 

import numpy as np

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

Au=np.triu(A)
print(Au)
'''
[[1 2 3]
 [0 5 6]
 [0 0 9]]
'''

 

 토플리츠 행렬(Toeplitz matrix)은 다음과 같은 행렬을 의미한다.

 토플리츠 행렬은 시계열 분석을 할 때 자주 사용된다.

 

 이중 대각 행렬(bidiagonal matrix)은 대각 원소뿐만 아니라 대각 원소의 바로 위쪽 혹은 아래쪽 원소가 0이 아닌 행렬이다.

import numpy as np

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

print(np.diag(diag_ele))
'''
[[1 0 0 0]
 [0 3 0 0]
 [0 0 7 0]
 [0 0 0 3]]
'''

u_diag_ele=np.diag(A,k=1)
print(u_diag_ele)  # [2 4 9],  k=1 -> 대각 원소 1칸 위에 있는 원소를 추출한다는 뜻

print(np.diag(u_diag_ele,k=1))
'''
[[0 2 0 0]
 [0 0 4 0]
 [0 0 0 9]
 [0 0 0 0]]
'''

u_diag=np.diag(diag_ele) + np.diag(u_diag_ele,k=1)
print(u_diag)
'''
[[1 2 0 0]
 [0 3 4 0]
 [0 0 7 9]
 [0 0 0 3]]
'''

 

 하우스홀더 행렬(householder matrix)은 어떤 행렬을 다른 형태로 변환할 때 사용하는 행렬중 하나이다. 하우스 홀더 행렬은 정사각 행렬이며 모든 열이 정규 직교한다는 특징이 있다.

H가 하우스홀더 행렬이다

import numpy as np

v=np.array([1,0,2,3]) # v는 행벡터

n=len(v)
print(n)

# outer 함수를 이용해 벡터 v와 자기 자신의 외적 행렬을 구한다 (V)(Vt)
outer_mat=np.outer(v,v)
print(outer_mat)
'''
[[1 0 2 3]
 [0 0 0 0]
 [2 0 4 6]
 [3 0 6 9]]
'''

inner_val=np.inner(v,v)
print(inner_val)  #14

I=np.identity(n)

H=I-(2/inner_val) * outer_mat
print(H)
'''
[[ 0.85714286  0.         -0.28571429 -0.42857143]
 [ 0.          1.          0.          0.        ]
 [-0.28571429  0.          0.42857143 -0.85714286]
 [-0.42857143  0.         -0.85714286 -0.28571429]]
'''

'Mathematics > Linear algebra' 카테고리의 다른 글

가우스 소거법, 동차 선형 시스템  (0) 2022.02.22
기본 행 연산, 가우스 조르단 소거법  (0) 2022.02.21
대각 행렬, 단위 행렬  (0) 2022.02.21
전치 행렬, 대칭 행렬  (0) 2022.02.21
행렬의 대각합  (0) 2022.02.21