module Owl_lapacke: sig
.. end
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
c_t = (Complex.t, Bigarray.complex32_elt) t
type
z_t = (Complex.t, Bigarray.complex64_elt) t
type
lapacke_layout =
val lapacke_layout : 'a. 'a Bigarray.layout -> int
type
lapacke_transpose =
| |
NoTrans |
| |
Trans |
| |
ConjTrans |
val lapacke_transpose : lapacke_transpose -> char
type
lapacke_uplo =
val lapacke_uplo : lapacke_uplo -> int
type
lapacke_diag =
val lapacke_diag : lapacke_diag -> int
type
lapacke_side =
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 * (int32, Bigarray.int32_elt) mat *
('a, 'b) 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 orgqr : 'a.
?k:int ->
a:(float, 'a) mat ->
tau:(float, 'a) mat -> (float, '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 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.
uplo:char ->
a:(Complex.t, 'a) mat ->
(Complex.t, 'a) mat *
(int32, Bigarray.int32_elt) mat
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 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