Complex(3) OCaml library Complex(3)

# [NAME](#NAME)

Complex - Complex numbers.

# [Module](#Module)

Module Complex

# [Documentation](#Documentation)

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 -&gt; t**

Unary negation.

*val conj* : **t -&gt; t**

Conjugate: given the complex **x + i.y** , returns **x - i.y** .

*val add* : **t -&gt; t -&gt; t**

Addition

*val sub* : **t -&gt; t -&gt; t**

Subtraction

*val mul* : **t -&gt; t -&gt; t**

Multiplication

*val inv* : **t -&gt; t**

Multiplicative inverse ( **1/z** ).

*val div* : **t -&gt; t -&gt; t**

Division

*val sqrt* : **t -&gt; t**

Square root. The result **x + i.y** is such that **x &gt; 0** or **x = 0** and **y &gt;= 0** . This function has a discontinuity along the negative real axis.

*val norm2* : **t -&gt; float**

Norm squared: given **x + i.y** , returns **x^2 + y^2** .

*val norm* : **t -&gt; float**

Norm: given **x + i.y** , returns **sqrt(x^2 + y^2)** .

*val arg* : **t -&gt; 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 -&gt; float -&gt; t**

**polar norm arg** returns the complex having norm **norm** and argument **arg** .

*val exp* : **t -&gt; t**

Exponentiation. **exp z** returns **e** to the **z** power.

*val log* : **t -&gt; t**

Natural logarithm (in base **e** ).

*val pow* : **t -&gt; t -&gt; t**

Power function. **pow z1 z2** returns **z1** to the **z2** power.

2026-10-23 OCamldoc

---

Document: Complex(3o) from ocaml 5.5.2-r0 (Chainguard OS)
Source: https://github.com/ocaml/ocaml
