module Complex:複素数sig
..end
このモジュールでは複素数の算術演算を提供します。
複素数は実部と虚部により表されます(デカルト表現)。
各部は倍精度浮動小数点数(float
型)で表されます。
type
t = {
|
re : |
|
im : |
re
が実部で im
が虚部です。val zero : t
0
。val one : t
1
。val i : t
i
。val neg : t -> t
val conj : t -> t
x + i.y
を与えると x - i.y
を返します。val add : t -> t -> t
val sub : t -> t -> t
val mul : t -> t -> t
val inv : t -> t
1/z
)。val div : t -> t -> t
val sqrt : t -> t
x > 0
か、 x = 0
かつ y >= 0
なる x + i.y
です。
この関数は実軸の負の部分において不連続性があります。val norm2 : t -> float
x + i.y
を与えると x^2 + y^2
になります。val norm : t -> float
x + i.y
を与えると sqrt(x^2 + y^2)
が返ります。val arg : t -> float
-pi
から pi
になります。
この関数は実軸の負の部分において不連続性があります。val polar : float -> float -> t
polar norm arg
はノルムが norm
で偏角が arg
の複素数を返します。val exp : t -> t
exp z
は e
の z
乗を返します。val log : t -> t
e
)。val pow : t -> t -> t
pow z1 z2
は z1
の z2
乗を返します。