package owl

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

LAPACKE interface: high-level interface between Owl and LAPACKE

Please refer to the documentation of Intel Math Kernel Library on the LAPACKE Interface. The interface implemented here is compatible the those documented on their website. url: https://software.intel.com/en-us/mkl-developer-reference-c

module L = Owl_lapacke_generated
type ('a, 'b) t = ('a, 'b, Bigarray.c_layout) Bigarray.Array1.t
type ('a, 'b) mat = ('a, 'b, Bigarray.c_layout) Bigarray.Array2.t
type s_t = (float, Bigarray.float32_elt) t
type d_t = (float, Bigarray.float64_elt) t
type lapacke_layout =
  1. | RowMajor
  2. | ColMajor
val lapacke_layout : 'a. 'a Bigarray.layout -> int
type lapacke_transpose =
  1. | NoTrans
  2. | Trans
  3. | ConjTrans
val lapacke_transpose : lapacke_transpose -> char
type lapacke_uplo =
  1. | Upper
  2. | Lower
val lapacke_uplo : lapacke_uplo -> int
type lapacke_diag =
  1. | NonUnit
  2. | Unit
val lapacke_diag : lapacke_diag -> int
type lapacke_side =
  1. | Left
  2. | Right
val lapacke_side : lapacke_side -> int
val check_lapack_error : int -> unit
val _stride : 'a 'b 'c. ('a, 'b, 'c) Bigarray.Array2.t -> int
val gbtrf : 'a 'b. kl:int -> ku:int -> m:int -> ab:('a, 'b) mat -> ('a, 'b) mat * (int32, Bigarray.int32_elt) t
val gbtrs : 'a 'b. trans:lapacke_transpose -> kl:int -> ku:int -> n:int -> ab:('a, 'b) mat -> ipiv:(int32, Bigarray.int32_elt) t -> b:('a, 'b) mat -> unit
val gebal : 'a 'b. ?job:char -> a:('a, 'b) mat -> int * int * ('a, 'b) mat
val gebak : 'a 'b. job:char -> side:char -> ilo:int -> ihi:int -> scale:float Ctypes.ptr -> v:('a, 'b) mat -> unit
val gebrd : 'a 'b. a:('a, 'b) mat -> ('a, 'b) mat * ('a, 'b) mat * ('a, 'b) mat * ('a, 'b) mat * ('a, 'b) mat
val gelqf : 'a 'b. a:('a, 'b) mat -> ('a, 'b) mat * ('a, 'b) mat
val geqlf : 'a 'b. a:('a, 'b) mat -> ('a, 'b) mat * ('a, 'b) mat
val geqrf : 'a 'b. a:('a, 'b) mat -> ('a, 'b) mat * ('a, 'b) mat
val gerqf : 'a 'b. a:('a, 'b) mat -> ('a, 'b) mat * ('a, 'b) mat
val geqp3 : 'a 'b. ?jpvt:(int32, Bigarray.int32_elt) mat -> a:('a, 'b) mat -> ('a, 'b) mat * ('a, 'b) mat * (int32, Bigarray.int32_elt) mat
val geqrt : 'a 'b. nb:int -> a:('a, 'b) mat -> ('a, 'b) mat * ('a, 'b) mat
val geqrt3 : 'a 'b. a:('a, 'b) mat -> ('a, 'b) mat * ('a, 'b) mat
val getrf : 'a 'b. a:('a, 'b) mat -> ('a, 'b) mat * (int32, Bigarray.int32_elt) mat
val tzrzf : 'a 'b. a:('a, 'b) mat -> ('a, 'b) mat * ('a, 'b) mat
val ormrz : 'a. side:char -> trans:char -> a:(float, 'a) mat -> tau:(float, 'a) mat -> c:(float, 'a) mat -> (float, 'a) mat
val gels : 'a 'b. trans:char -> a:('a, 'b) mat -> b:('a, 'b) mat -> ('a, 'b) mat * ('a, 'b) mat * ('a, 'b) mat
val gesv : 'a 'b. a:('a, 'b) mat -> b:('a, 'b) mat -> ('a, 'b) mat * ('a, 'b) mat * (int32, Bigarray.int32_elt) mat
val getrs : 'a 'b. trans:char -> a:('a, 'b) mat -> ipiv:(int32, Bigarray.int32_elt) mat -> b:('a, 'b) mat -> ('a, 'b) mat
val getri : 'a 'b. a:('a, 'b) mat -> ipiv:(int32, Bigarray.int32_elt) mat -> ('a, 'b) mat
val gesvx : 'a 'b. fact:char -> trans:char -> a:('a, 'b) mat -> af:('a, 'b) mat -> ipiv:(int32, Bigarray.int32_elt) mat -> equed:char -> r:('a, 'b) mat -> c:('a, 'b) mat -> b:('a, 'b) mat -> ('a, 'b) mat * char * ('a, 'b) mat * ('a, 'b) mat * ('a, 'b) mat * 'a * ('a, 'b) mat * ('a, 'b) mat * 'a
val gelsd : 'a 'b. a:('a, 'b) mat -> b:('a, 'b) mat -> rcond:float -> ('a, 'b) mat * int
val gelsy : 'a 'b. a:('a, 'b) mat -> b:('a, 'b) mat -> rcond:float -> ('a, 'b) mat * int
val gglse : 'a 'b. a:('a, 'b) mat -> b:('a, 'b) mat -> c:('a, 'b) mat -> d:('a, 'b) mat -> ('a, 'b) mat * 'a
val geev : 'a 'b. jobvl:char -> jobvr:char -> a:('a, 'b) mat -> ('a, 'b) mat * ('a, 'b) mat * ('a, 'b) mat * ('a, 'b) mat
val gesdd : 'a 'b. ?jobz:char -> a:('a, 'b) mat -> ('a, 'b) mat * ('a, 'b) mat * ('a, 'b) mat
val gesvd : 'a 'b. ?jobu:char -> ?jobvt:char -> a:('a, 'b) mat -> ('a, 'b) mat * ('a, 'b) mat * ('a, 'b) mat
val ggsvd3 : 'a 'b. ?jobu:char -> ?jobv:char -> ?jobq:char -> a:('a, 'b) mat -> b:('a, 'b) mat -> ('a, 'b) mat * ('a, 'b) mat * ('a, 'b) mat * ('a, 'b) mat * ('a, 'b) mat * int * int * ('a, 'b) mat
val geevx : 'a 'b. balanc:char -> jobvl:char -> jobvr:char -> sense:char -> a:('a, 'b) mat -> ('a, 'b) mat * ('a, 'b) mat * ('a, 'b) mat * ('a, 'b) mat * ('a, 'b) mat * int * int * ('a, 'b) mat * float * ('a, 'b) mat * ('a, 'b) mat
val ggev : 'a 'b. jobvl:char -> jobvr:char -> a:('a, 'b) mat -> b:('a, 'b) mat -> ('a, 'b) mat * ('a, 'b) mat * ('a, 'b) mat * ('a, 'b) mat * ('a, 'b) mat
val gtsv : 'a 'b. dl:('a, 'b) mat -> d:('a, 'b) mat -> du:('a, 'b) mat -> b:('a, 'b) mat -> ('a, 'b) mat
val gttrf : 'a 'b. dl:('a, 'b) mat -> d:('a, 'b) mat -> du:('a, 'b) mat -> ('a, 'b) mat * ('a, 'b) mat * ('a, 'b) mat * ('a, 'b) mat * (int32, Bigarray.int32_elt) mat
val gttrs : 'a 'b. trans:char -> dl:('a, 'b) mat -> d:('a, 'b) mat -> du:('a, 'b) mat -> du2:('a, 'b) mat -> ipiv:(int32, Bigarray.int32_elt) mat -> b:('a, 'b) mat -> ('a, 'b) mat
val orglq : 'a. ?k:int -> a:(float, 'a) mat -> tau:(float, 'a) mat -> (float, 'a) mat
val unglq : 'a. ?k:int -> a:(Complex.t, 'a) mat -> tau:(Complex.t, 'a) mat -> (Complex.t, 'a) mat
val orgqr : 'a. ?k:int -> a:(float, 'a) mat -> tau:(float, 'a) mat -> (float, 'a) mat
val ungqr : 'a. ?k:int -> a:(Complex.t, 'a) mat -> tau:(Complex.t, 'a) mat -> (Complex.t, 'a) mat
val orgql : 'a. ?k:int -> a:(float, 'a) mat -> tau:(float, 'a) mat -> (float, 'a) mat
val orgrq : 'a. ?k:int -> a:(float, 'a) mat -> tau:(float, 'a) mat -> (float, 'a) mat
val ormlq : 'a. side:char -> trans:char -> a:(float, 'a) mat -> tau:(float, 'a) mat -> c:(float, 'a) mat -> (float, 'a) mat
val ormqr : 'a. side:char -> trans:char -> a:(float, 'a) mat -> tau:(float, 'a) mat -> c:(float, 'a) mat -> (float, 'a) mat
val ormql : 'a. side:char -> trans:char -> a:(float, 'a) mat -> tau:(float, 'a) mat -> c:(float, 'a) mat -> (float, 'a) mat
val ormrq : 'a. side:char -> trans:char -> a:(float, 'a) mat -> tau:(float, 'a) mat -> c:(float, 'a) mat -> (float, 'a) mat
val gemqrt : 'a 'b. side:char -> trans:char -> v:('a, 'b) mat -> t:('a, 'b) mat -> c:('a, 'b) mat -> ('a, 'b) mat
val posv : 'a 'b. uplo:char -> a:('a, 'b) mat -> b:('a, 'b) mat -> ('a, 'b) mat * ('a, 'b) mat
val potrf : 'a 'b. uplo:char -> a:('a, 'b) mat -> ('a, 'b) mat
val potri : 'a 'b. uplo:char -> a:('a, 'b) mat -> ('a, 'b) mat
val potrs : 'a 'b. uplo:char -> a:('a, 'b) mat -> b:('a, 'b) mat -> ('a, 'b) mat
val pstrf : 'a 'b. uplo:char -> a:('a, 'b) mat -> tol:'a -> ('a, 'b) mat * (int32, Bigarray.int32_elt) mat * int * int
val ptsv : 'a 'b. d:('a, 'b) mat -> e:('a, 'b) mat -> b:('a, 'b) mat -> ('a, 'b) mat
val pttrf : 'a 'b. d:('a, 'b) mat -> e:('a, 'b) mat -> ('a, 'b) mat * ('a, 'b) mat
val pttrs : 'a 'b. ?uplo:char -> d:('a, 'b) mat -> e:('a, 'b) mat -> b:('a, 'b) mat -> ('a, 'b) mat
val trtri : 'a 'b. uplo:char -> diag:char -> a:('a, 'b) mat -> ('a, 'b) mat
val trtrs : 'a 'b. uplo:char -> trans:char -> diag:char -> a:('a, 'b) mat -> b:('a, 'b) mat -> ('a, 'b) mat
val trcon : 'a 'b. norm:char -> uplo:char -> diag:char -> a:('a, 'b) mat -> float
val trevc : 'a 'b. side:char -> howmny:char -> select:(int32, Bigarray.int32_elt) mat -> t:('a, 'b) mat -> (int32, Bigarray.int32_elt) mat * ('a, 'b) mat * ('a, 'b) mat
val trrfs : 'a 'b. uplo:char -> trans:char -> diag:char -> a:('a, 'b) mat -> b:('a, 'b) mat -> x:('a, 'b) mat -> ('a, 'b) mat * ('a, 'b) mat
val stev : 'a. jobz:char -> d:(float, 'a) mat -> e:(float, 'a) mat -> (float, 'a) mat * (float, 'a) mat
val stebz : 'a. range:char -> order:char -> vl:float -> vu:float -> il:int -> iu:int -> abstol:float -> d:(float, 'a) mat -> e:(float, 'a) mat -> (float, 'a) mat * (int32, Bigarray.int32_elt) mat * (int32, Bigarray.int32_elt) mat
val stegr : 'a 'b. kind:('a, 'b) Bigarray.kind -> jobz:char -> range:char -> d:(float, 'b) mat -> e:(float, 'b) mat -> vl:float -> vu:float -> il:int -> iu:int -> ('a, 'b) mat * ('a, 'b) mat
val stein : 'a 'b. kind:('a, 'b) Bigarray.kind -> d:(float, 'b) mat -> e:(float, 'b) mat -> w:(float, 'b) mat -> iblock:(int32, Bigarray.int32_elt) mat -> isplit:(int32, Bigarray.int32_elt) mat -> ('a, 'b) mat * (int32, Bigarray.int32_elt) mat
val syconv : 'a 'b. uplo:char -> way:char -> a:('a, 'b) mat -> ipiv:(int32, Bigarray.int32_elt) mat -> ('a, 'b) mat
val sysv : 'a 'b. uplo:char -> a:('a, 'b) mat -> b:('a, 'b) mat -> ('a, 'b) mat * ('a, 'b) mat * (int32, Bigarray.int32_elt) mat
val sytrf : 'a 'b. uplo:char -> a:('a, 'b) mat -> ('a, 'b) mat * (int32, Bigarray.int32_elt) mat * int
val sytrf_rook : 'a 'b. uplo:char -> a:('a, 'b) mat -> ('a, 'b) mat * (int32, Bigarray.int32_elt) mat * int
val sytri : 'a 'b. uplo:char -> a:('a, 'b) mat -> ('a, 'b) mat
val sytrs : 'a 'b. uplo:char -> a:('a, 'b) mat -> ipiv:(int32, Bigarray.int32_elt) mat -> b:('a, 'b) mat -> ('a, 'b) mat
val hesv : 'a. uplo:char -> a:(Complex.t, 'a) mat -> b:(Complex.t, 'a) mat -> (Complex.t, 'a) mat * (Complex.t, 'a) mat * (int32, Bigarray.int32_elt) mat
val hetrf : 'a 'b. uplo:char -> a:('a, 'b) mat -> ('a, 'b) mat * (int32, Bigarray.int32_elt) mat * int
val hetrf_rook : 'a 'b. uplo:char -> a:('a, 'b) mat -> ('a, 'b) mat * (int32, Bigarray.int32_elt) mat * int
val hetri : 'a. uplo:char -> a:(Complex.t, 'a) mat -> ipiv:(int32, Bigarray.int32_elt) mat -> (Complex.t, 'a) mat
val hetrs : 'a. uplo:char -> a:(Complex.t, 'a) mat -> ipiv:(int32, Bigarray.int32_elt) mat -> b:(Complex.t, 'a) mat -> (Complex.t, 'a) mat
val syev : 'a. jobz:char -> uplo:char -> a:(float, 'a) mat -> (float, 'a) mat * (float, 'a) mat
val syevr : 'a. jobz:char -> range:char -> uplo:char -> a:(float, 'a) mat -> vl:float -> vu:float -> il:int -> iu:int -> abstol:float -> (float, 'a) mat * (float, 'a) mat
val sygvd : 'a. ityp:int -> jobz:char -> uplo:char -> a:(float, 'a) mat -> b:(float, 'a) mat -> (float, 'a) mat * (float, 'a) mat * (float, 'a) mat
val bdsqr : 'a 'b. uplo:char -> d:(float, 'b) mat -> e:(float, 'b) mat -> vt:('a, 'b) mat -> u:('a, 'b) mat -> c:('a, 'b) mat -> (float, 'b) mat * ('a, 'b) mat * ('a, 'b) mat * ('a, 'b) mat
val bdsdc : 'a. uplo:char -> compq:char -> d:(float, 'a) mat -> e:(float, 'a) mat -> (float, 'a) mat * (float, 'a) mat * (float, 'a) mat * (float, 'a) mat * (float, 'a) mat * (int32, Bigarray.int32_elt) mat
val gecon : 'a 'b. norm:char -> a:('a, 'b) mat -> anorm:float -> float
val gehrd : 'a 'b. ilo:int -> ihi:int -> a:('a, 'b) mat -> ('a, 'b) mat * ('a, 'b) mat
val orghr : 'a. ilo:int -> ihi:int -> a:(float, 'a) mat -> tau:(float, 'a) mat -> (float, 'a) mat
val unghr : 'a. ilo:int -> ihi:int -> a:(Complex.t, 'a) mat -> tau:(Complex.t, 'a) mat -> (Complex.t, 'a) mat
val gees : 'a 'b. jobvs:char -> a:('a, 'b) mat -> ('a, 'b) mat * ('a, 'b) mat * ('a, 'b) mat * ('a, 'b) mat
val gges : 'a 'b. jobvsl:char -> jobvsr:char -> a:('a, 'b) mat -> b:('a, 'b) mat -> ('a, 'b) mat * ('a, 'b) mat * ('a, 'b) mat * ('a, 'b) mat * ('a, 'b) mat * ('a, 'b) mat * ('a, 'b) mat
val trexc : 'a 'b. compq:char -> t:('a, 'b) mat -> q:('a, 'b) mat -> ifst:int -> ilst:int -> ('a, 'b) mat * ('a, 'b) mat
val trsen : 'a 'b. job:char -> compq:char -> select:(int32, Bigarray.int32_elt) mat -> t:('a, 'b) mat -> q:('a, 'b) mat -> ('a, 'b) mat * ('a, 'b) mat * ('a, 'b) mat * ('a, 'b) mat
val tgsen : 'a 'b. select:(int32, Bigarray.int32_elt) mat -> a:('a, 'b) mat -> b:('a, 'b) mat -> q:('a, 'b) mat -> z:('a, 'b) mat -> ('a, 'b) mat * ('a, 'b) mat * ('a, 'b) mat * ('a, 'b) mat * ('a, 'b) mat * ('a, 'b) mat * ('a, 'b) mat
val trsyl : 'a 'b. trana:char -> tranb:char -> isgn:int -> a:('a, 'b) mat -> b:('a, 'b) mat -> c:('a, 'b) mat -> ('a, 'b) mat * float