ジュリアで複素数を使用する方法
概要
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()
は、特に複素数に対して新たに定義されたわけではなく、絶対値そのものとして使われている点に注意。Juliaは多態性を持っているので、このような設計が自然にうまく行われている。
一般複素関数
julia> cos(z)
-27.034945603074224 - 3.851153334811777im
julia> log(z)
1.6094379124341003 + 0.9272952180016122im
当然だが、絶対値と同様に、三角関数や対数関数も複素数 $\mathbb{C}$ でうまく定義されており、Juliaで特別な操作なしに直接使用できる。
全コード
z = 3 + 4im
real(z)
imag(z)
conj(z)
abs(z)
cos(z)
log(z)
環境
- OS: Windows
- julia: v1.7.0