Legend:
Library
Module
Module type
Parameter
Class
Class type
A linear algebra library with type-based static size checking for matrix operations. SLAP (Sized Linear Algebra Package) helps debug of your programs by detecting dimensional inconsistency, e.g., addition of two- and three- dimensional vectors, at compile time (instead of runtime) and at higher level (i.e., at a caller site rather than somewhere deep inside of a call stack). This library is a wrapper of LACAML, a binding of widely-used linear algebra libraries BLAS (Basic Linear Algebra Subprograms) and LAPACK (Linear Algebra PACKage) in FORTRAN. Many functions are compatible with the interface of LACAML. You can make use of SLAP by referring Slap.Common and the module corresponding to the precision and the number type you need:
open Slap.Common
open Slap.S (* 32-bit real BLAS and LAPACK functions *)
open Slap.D (* 64-bit real BLAS and LAPACK functions *)
open Slap.C (* 32-bit complex BLAS and LAPACK functions *)
open Slap.Z (* 64-bit complex BLAS and LAPACK functions *)
To use this library, the following documentation may be useful to you:
val failwithf : ('a, unit, string, unit ->'b)format4->'a
failwith + printf-style format
val invalid_argf : ('a, unit, string, unit ->'b)format4->'a
invalid_arg + printf-style format
exceptionInternal_errorof string * int
Internal_error (location, code) is thrown when a BLAS or LAPACK function returns unexpected error. location is the function name (containing its module name) and code is an error code returned by the function.