줄리아에서 복소수 사용하는 법

줄리아에서 복소수 사용하는 법

How to Use Complex Number in julia

개요

줄리아에서는 기본적으로 R처럼 복소수를 지원한다.

코드

허수 im

julia> z = 3 + 4im
3 + 4im

im은 순허수 $i = \sqrt{-1}$ 를 나타낸다. 우리가 상식적으로 사용하는 사칙연산은 모두 사용할 수 있다.

julia> typeof(z)
Complex{Int64}

julia> typeof(3.0 + 4.0im)
ComplexF64 (alias for Complex{Float64})

타입을 체크해보면 같은 복소수라도 어떤 복소수로 이루어져있는지가 다르다. 마치 추상대수에서 정수인 경우 $\mathbb{Z} [i]$, 혹은 실수인 경우 $\mathbb{R} [i]$ 로 구분하는 느낌과 비슷하다.

실수부, 허수부 real(), imag()

julia> real(z)
3

julia> imag(z)
4

켤레복소수, 모듈러스 conj(), abs()

julia> conj(z)
3 - 4im

julia> abs(z)
5.0

한편 여기서 모듈러스 abs()는 딱히 복소수에 대해 새로이 정의하지 않고 절대값 그대로 사용되었음에 주목하라. 줄리아는 다형성polymorphism을 가져서 이러한 설계가 네이티브하게 잘 되어있다.

일반 복소함수

julia> cos(z)
-27.034945603074224 - 3.851153334811777im

julia> log(z)
1.6094379124341003 + 0.9272952180016122im

당연하지만 절대값이 그러했듯 삼각함수로그 함수는 복소수 $\mathbb{C}$ 에서도 잘 정의되고, 줄리아에서도 별도의 조작 없이 바로 사용할 수 있다.

전체코드

z = 3 + 4im
real(z)
imag(z)
conj(z)
abs(z)
cos(z)
log(z)

환경

  • OS: Windows
  • julia: v1.7.0
댓글