Complex - Complex numbers.
Module Complex
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.