Module Import0.Complex
Complex numbers.
This module provides arithmetic operations on complex numbers. Complex numbers are represented by their real and imaginary parts (cartesian representation). Each part is represented by a double-precision floating-point number (type float
).
type t
=
{
re : float;
im : float;
}
The type of complex numbers.
re
is the real part andim
the imaginary part.
val zero : t
The complex number
0
.
val one : t
The complex number
1
.
val i : t
The complex number
i
.
val sqrt : t -> t
Square root. The result
x + i.y
is such thatx > 0
orx = 0
andy >= 0
. This function has a discontinuity along the negative real axis.
val norm2 : t -> float
Norm squared: given
x + i.y
, returnsx^2 + y^2
.
val norm : t -> float
Norm: given
x + i.y
, returnssqrt(x^2 + y^2)
.
val arg : t -> float
Argument. The argument of a complex number is the angle in the complex plane between the positive real axis and a line passing through zero and the number. This angle ranges from
-pi
topi
. This function has a discontinuity along the negative real axis.
val polar : float -> float -> t
polar norm arg
returns the complex having normnorm
and argumentarg
.