123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117# 1 "src/owl/linalg/owl_linalg_intf.ml"(*
* OWL - OCaml Scientific and Engineering Computing
* Copyright (c) 2016-2020 Liang Wang <liang.wang@cl.cam.ac.uk>
*)moduletypeCommon=sigincludeOwl_base_linalg_intf.Common(* NOTE: functions below have not been implemented in Base Linalg *)(** {5 Basic functions} *)valpinv:?tol:float->mat->matvalrank:?tol:float->mat->intvalnorm:?p:float->mat->floatvalvecnorm:?p:float->mat->floatvalcond:?p:float->mat->floatvalrcond:mat->floatvalis_posdef:mat->bool(** {5 Factorisation} *)vallu:mat->mat*mat*int32_matvalsvdvals:mat->matvalgsvd:mat->mat->mat*mat*mat*mat*mat*matvalgsvdvals:mat->mat->matvalschur:mat->mat*mat*complex_matvalschur_tz:mat->mat*matvalordschur:select:int32_mat->mat->mat->mat*mat*complex_matvalqz:mat->mat->mat*mat*mat*mat*complex_matvalordqz:select:int32_mat->mat->mat->mat->mat->mat*mat*mat*mat*complex_matvalqzvals:mat->mat->complex_matvalhess:mat->mat*mat(** {5 Eigenvalues & eigenvectors} *)valeig:?permute:bool->?scale:bool->mat->complex_mat*complex_matvaleigvals:?permute:bool->?scale:bool->mat->complex_mat(** {5 Linear system of equations} *)valnull:mat->matvaltriangular_solve:upper:bool->?trans:bool->mat->mat->matvallinreg:mat->mat->elt*elt(** {5 Low-level factorisation functions} *)vallufact:mat->mat*int32_matvalqrfact:?pivot:bool->mat->mat*mat*int32_matvalbkfact:?upper:bool->?symmetric:bool->?rook:bool->mat->mat*int32_mat(** {5 Matrix functions} *)valmpow:mat->float->matvalexpm:mat->mat[@@warning"-32"]valexpm:mat->matvalsinm:mat->matvalcosm:mat->matvaltanm:mat->matvalsincosm:mat->mat*matvalsinhm:mat->matvalcoshm:mat->matvaltanhm:mat->matvalsinhcoshm:mat->mat*mat(** {5 Helper functions} *)valselect_ev:[`LHP|`RHP|`UDI|`UDO]->mat->int32_matvalpeakflops:?n:int->unit->floatendmoduletypeReal=sigincludeOwl_base_linalg_intf.Real(* NOTE: functions below have not been implemented in Base Linalg *)valdare:mat->mat->mat->mat->matend