4.1 전치 행렬

전치 행렬(transposed matrix)은 기존 행렬의 행과 열을 바꾼 행렬이다. 달리 말하면 기존의 행 번호가 열 번호가 되고, 열 번호가 행 번호가 된다.

이를 수식으로는 다음처럼 표기한다.

$$ u_{ij} \rightarrow u_{ji} $$

예를들면, 3행 2열 크기인 행렬 $U$의 전치행렬은 2행 3열이 된다. 행렬 $U$의 전치행렬은 $U^\tau$로 표기한다.

파이썬 실습

A = [[1, 5], [3, 4], [6, 1]] #전치 행렬이 될 행렬

def transpose(A):
    n = len(A)
    p = len(A[0])

    At = [] #전치 행렬
    for i in range(0, p):
        row = []
        for j in range(0, n):
            val = A[j][i]
            row.append(val)
        At.append(row)

    return At

print(transpose(A))

image.png

전치행렬을 만드는 로직을 한번에 생각을 못했다.. 알고리즘 사고가 아예 막혀버린듯. 보강해야 한다.

넘파이

import numpy as np

A = np.array([[1, 5], [3, 4], [6, 1]])
At = np.transpose(A)

print(At)

image.png

4.2 대칭행렬

대칭행렬(symmetirc matrix)는 기존 행렬과 전치행렬이 동일한 행렬을 의미한다. 이를 위해선 정사각 행렬이어야 한다. 즉,

$$ A = A^\tau $$