줄리아에서 일반적인 행렬의 전치
코드
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'

저희들의 저서 「줄리아 프로그래밍」이 2024 세종도서 학술부문에 선정되었습니다!

