package owl

  1. Overview
  2. Docs
OCaml Scientific and Engineering Computing

Install

Dune Dependency

Authors

Maintainers

Sources

owl-1.0.1.tbz
sha256=72ca9f6edd302fdfa16c7559cedac7ac2c885466a367e17ea1ea8807b2dd13ef
sha512=72a60fb5b0ee4eea6cd8012aab9a492a32483feb218c1b6b4b913e0af985fba288113164e5af1129c0b5fffdb49d7b9aded6647238626b6561dc7125fdeb4eb5

doc/owl/Owl_linalg_s/index.html

Module Owl_linalg_s

type elt = float
type complex_mat = Owl_dense_matrix_c.mat
include Owl_linalg_intf.Common with type elt := elt and type mat := mat and type complex_mat := complex_mat and type int32_mat := int32_mat
include Owl_base_linalg_intf.Common with type elt := elt with type mat := mat with type complex_mat := complex_mat with type int32_mat := int32_mat
Basic functions
val inv : mat -> mat
val det : mat -> elt
val logdet : mat -> elt
val is_triu : mat -> bool
val is_tril : mat -> bool
val is_symmetric : mat -> bool
val is_diag : mat -> bool
Factorisation
val svd : ?thin:bool -> mat -> mat * mat * mat
val chol : ?upper:bool -> mat -> mat
val qr : ?thin:bool -> ?pivot:bool -> mat -> mat * mat * int32_mat
val lq : ?thin:bool -> mat -> mat * mat
Linear system of equations
val linsolve : ?trans:bool -> ?typ:[ `n | `u | `l ] -> mat -> mat -> mat
val sylvester : mat -> mat -> mat -> mat
val lyapunov : mat -> mat -> mat
val discrete_lyapunov : ?solver:[ `default | `direct | `bilinear ] -> mat -> mat -> mat
Basic functions
val pinv : ?tol:float -> mat -> mat
val rank : ?tol:float -> mat -> int
val norm : ?p:float -> mat -> float
val vecnorm : ?p:float -> mat -> float
val cond : ?p:float -> mat -> float
val rcond : mat -> float
val is_posdef : mat -> bool
Factorisation
val lu : mat -> mat * mat * int32_mat
val svdvals : mat -> mat
val gsvd : mat -> mat -> mat * mat * mat * mat * mat * mat
val gsvdvals : mat -> mat -> mat
val schur : mat -> mat * mat * complex_mat
val schur_tz : mat -> mat * mat
val ordschur : select:int32_mat -> mat -> mat -> mat * mat * complex_mat
val qz : mat -> mat -> mat * mat * mat * mat * complex_mat
val ordqz : select:int32_mat -> mat -> mat -> mat -> mat -> mat * mat * mat * mat * complex_mat
val qzvals : mat -> mat -> complex_mat
val hess : mat -> mat * mat
Eigenvalues & eigenvectors
val eig : ?permute:bool -> ?scale:bool -> mat -> complex_mat * complex_mat
val eigvals : ?permute:bool -> ?scale:bool -> mat -> complex_mat
Linear system of equations
val null : mat -> mat
val triangular_solve : upper:bool -> ?trans:bool -> mat -> mat -> mat
val linreg : mat -> mat -> elt * elt
Low-level factorisation functions
val lufact : mat -> mat * int32_mat
val qrfact : ?pivot:bool -> mat -> mat * mat * int32_mat
val bkfact : ?upper:bool -> ?symmetric:bool -> ?rook:bool -> mat -> mat * int32_mat
Matrix functions
val mpow : mat -> float -> mat
val expm : mat -> mat
val sinm : mat -> mat
val cosm : mat -> mat
val tanm : mat -> mat
val sincosm : mat -> mat * mat
val sinhm : mat -> mat
val coshm : mat -> mat
val tanhm : mat -> mat
val sinhcoshm : mat -> mat * mat
Helper functions
val select_ev : [ `LHP | `RHP | `UDI | `UDO ] -> mat -> int32_mat
val peakflops : ?n:int -> unit -> float
include Owl_linalg_intf.Real with type mat := mat and type elt := elt
include Owl_base_linalg_intf.Real with type mat := mat with type elt := elt
val care : ?diag_r:bool -> mat -> mat -> mat -> mat -> mat
val dare : ?diag_r:bool -> mat -> mat -> mat -> mat -> mat
OCaml

Innovation. Community. Security.