module Complex: Extlib.ExtComplex.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
).
Author(s): Xavier Leroy (base module), Gabriel Scherer, David Teller
typet =
t
= {
|
re : |
|
im : |
re
is the real part and im
the
imaginary part.val zero : t
0
.val one : t
1
.val i : t
i
.val neg : t -> t
val conj : t -> t
x + i.y
, returns 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 + 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
x + i.y
, returns x^2 + y^2
.val norm : t -> float
x + i.y
, returns sqrt(x^2 + y^2)
.val arg : t -> float
-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
exp z
returns e
to the z
power.val log : t -> t
e
).val pow : t ->
t -> t
pow z1 z2
returns z1
to the z2
power.val operations : t Numeric.numeric
val inv : t -> t
inv x
returns the value of 1/x
val succ : t -> t
Complex.one
to this number.val pred : t -> t
Complex.one
from this number.val abs : t -> t
abs c
returns the module of this complex number,
i.e. abs c = Float.sqrt((re c) *. (re c) +. (im c) *. (im c) )
val modulo : t ->
t -> t
val pow : t ->
t -> t
val compare : t -> t -> int
val of_int : int -> t
val to_int : t -> int
val of_string : string -> t
val to_string : t -> string
val (+) : t ->
t -> t
val (-) : t ->
t -> t
val ( * ) : t ->
t -> t
val (/) : t ->
t -> t
val ( ** ) : t ->
t -> t
val (<>) : t -> t -> bool
val (>=) : t -> t -> bool
val (<=) : t -> t -> bool
val (>) : t -> t -> bool
val (<) : t -> t -> bool
val (=) : t -> t -> bool
val t_of_sexp : Sexplib.Sexp.t -> t
val sexp_of_t : t -> Sexplib.Sexp.t
val print : 'a Extlib.InnerIO.output -> t -> unit