Module Lacaml.Common

Types and functions common to all precision dependent sub-modules.

type trans2 = [
| `N
| `T
]

Transpose parameter (normal or transposed)

type side = [
| `L
| `R
]

Side parameter (left or right)

type diag = [
| `U
| `N
]

Diagonal parameter (unit or non-unit)

type norm2 = [
| `O
| `I
]

Type of 1-norm (`O) and infinity norm (`I)

type norm4 = [
| norm2
| `M
| `F
]

Type of 1-norm (`O), infinity norm (`I) and the Frobenius norm (`F). `M is the maximum of the absolute values (not a true matrix norm).

type svd_job = [
| `A
| `S
| `O
| `N
]

SVD computation flags

type schur_vectors = [
| `No_Schur_vectors
| `Compute_Schur_vectors
]

GEES job option

type eigen_value_sort = [
| `No_sort
| `Select_left_plane
| `Select_right_plane
| `Select_interior_disk
| `Select_exterior_disk
| `Select_custom of Stdlib.Complex.t -> bool
]

GEES eigenvalue sort option

exception InternalError of string

InternalError msg gets raised when BLAS or LAPACK exhibit undefined behaviour.

type int_vec = (int, Bigarray.int_elt, Bigarray.fortran_layout) Bigarray.Array1.t

Type of OCaml integer vectors.

val create_int_vec : int -> int_vec
type int32_vec = (int32, Bigarray.int32_elt, Bigarray.fortran_layout) Bigarray.Array1.t

Type of 32bit Fortran integer vectors.

val create_int32_vec : int -> int32_vec
val mat_from_vec : ('a'b'c) Bigarray.Array1.t -> ('a'b'c) Bigarray.Array2.t

mat_from_vec a converts the vector a into a matrix with Array1.dim a rows and 1 column. The data is shared between the two matrices.

module Types : sig ... end