Module Stdlib.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 and im the imaginary part.
val zero : tlet zero: t;The complex number 0.
val one : tlet one: t;The complex number 1.
val i : tlet i: t;The complex number i.
val neg : t -> tlet neg: t => t;Unary negation.
val conj : t -> tlet conj: t => t;Conjugate: given the complex x + i.y, returns x - i.y.
val add : t -> t -> tlet add: t => t => t;Addition
val sub : t -> t -> tlet sub: t => t => t;Subtraction
val mul : t -> t -> tlet mul: t => t => t;Multiplication
val inv : t -> tlet inv: t => t;Multiplicative inverse (1/z).
val div : t -> t -> tlet div: t => t => t;Division
val sqrt : t -> tlet 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 -> floatlet norm2: t => float;Norm squared: given x + i.y, returns x^2 + y^2.
val norm : t -> floatlet norm: t => float;Norm: given x + i.y, returns sqrt(x^2 + y^2).
val arg : t -> floatlet 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 -> tlet polar: float => float => t;polar norm arg returns the complex having norm norm and argument arg.
val exp : t -> tlet exp: t => t;Exponentiation. exp z returns e to the z power.
val log : t -> tlet log: t => t;Natural logarithm (in base e).
val pow : t -> t -> tlet pow: t => t => t;Power function. pow z1 z2 returns z1 to the z2 power.