Complex (3)
NAME
Complex - Complex numbers.Module
Module ComplexDocumentation
Module
Complex
:
sig end
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 and
im
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 neg
:
t -> t
Unary negation.
val conj
:
t -> t
Conjugate: given the complex
x + i.y
, returns
x - i.y
.
val add
:
t -> t -> t
Addition
val sub
:
t -> t -> t
Subtraction
val mul
:
t -> t -> t
Multiplication
val inv
:
t -> t
Multiplicative inverse (
1/z
).
val div
:
t -> t -> t
Division
val sqrt
:
t -> t
Square root. The result
x + i.y
is such that
x > 0
or
x = 0
and
y >= 0
.
This function has a discontinuity along the negative real axis.
val norm2
:
t -> float
Norm squared: given
x + i.y
, returns
x^2 + y^2
.
val norm
:
t -> float
Norm: given
x + i.y
, returns
sqrt(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
to
pi
. This function has a discontinuity along the
negative real axis.
val polar
:
float -> float -> t
polar norm arg
returns the complex having norm
norm
and argument
arg
.
val exp
:
t -> t
Exponentiation.
exp z
returns
e
to the
z
power.
val log
:
t -> t
Natural logarithm (in base
e
).
val pow
:
t -> t -> t
Power function.
pow z1 z2
returns
z1
to the
z2
power.