logo

줄리아에서 일반적인 행렬의 전치 📂줄리아

줄리아에서 일반적인 행렬의 전치

코드

julia> X = rand(0:9, 3, 3)
3×3 Matrix{Int64}:
 9  4  5
 4  8  9
 8  7  4

julia> X'
3×3 adjoint(::Matrix{Int64}) with eltype Int64:
 9  4  8
 4  8  7
 5  9  4

줄리아에서 전치행렬transpose 혹은 adjoint 함수를 사용하여 구할 수 있고, 심지어는 ' 연산자를 통해 간단하게 구할 수도 있다.

julia> Y = rand('0':'9', 3, 3)
3×3 Matrix{Char}:
 '8'  '3'  '8'
 '4'  '0'  '8'
 '2'  '3'  '9'

julia> Y'
3×3 adjoint(::Matrix{Char}) with eltype Union{}:
ERROR: MethodError: no method matching adjoint(::Char)

그러나 행렬이 $\mathbb{R}^{m \times n}$ 혹은 $\mathbb{C}^{m \times n}$ 에 속하는 일반적인 행렬이 아니라 일반적인 이차원 배열, 즉 다른 자료형에 대한 행렬인 경우 위와 같이 행렬의 전치가 정의되지 않아 오류가 발생한다. 이때는 다음과 같이 permutedims 함수를 사용하여 전치를 구할 수 있다.

julia> permutedims(Y)
3×3 Matrix{Char}:
 '8'  '4'  '2'
 '3'  '0'  '3'
 '8'  '8'  '9'