Module Gsl.Blas

type order =
| RowMajor
| ColMajor
type transpose =
| NoTrans
| Trans
| ConjTrans
type uplo =
| Upper
| Lower
type diag =
| NonUnit
| Unit
type side =
| Left
| Right

LEVEL 1

external dot : Vector.vector -> Vector.vector -> float = "ml_gsl_blas_ddot"
external nrm2 : Vector.vector -> float = "ml_gsl_blas_dnrm2"
external asum : Vector.vector -> float = "ml_gsl_blas_dasum"
external iamax : Vector.vector -> int = "ml_gsl_blas_idamax"
external swap : Vector.vector -> Vector.vector -> unit = "ml_gsl_blas_dswap"
external copy : Vector.vector -> Vector.vector -> unit = "ml_gsl_blas_dcopy"
external axpy : float -> Vector.vector -> Vector.vector -> unit = "ml_gsl_blas_daxpy"
external rot : Vector.vector -> Vector.vector -> float -> float -> unit = "ml_gsl_blas_drot"
external scal : float -> Vector.vector -> unit = "ml_gsl_blas_dscal"

LEVEL 2

external gemv : transpose -> alpha:float -> a:Matrix.matrix -> x:Vector.vector -> beta:float -> y:Vector.vector -> unit = "ml_gsl_blas_dgemv_bc" "ml_gsl_blas_dgemv"
external trmv : uplo -> transpose -> diag -> a:Matrix.matrix -> x:Vector.vector -> unit = "ml_gsl_blas_dtrmv"
external trsv : uplo -> transpose -> diag -> a:Matrix.matrix -> x:Vector.vector -> unit = "ml_gsl_blas_dtrsv"
external symv : uplo -> alpha:float -> a:Matrix.matrix -> x:Vector.vector -> beta:float -> y:Vector.vector -> unit = "ml_gsl_blas_dsymv_bc" "ml_gsl_blas_dsymv"
external dger : alpha:float -> x:Vector.vector -> y:Vector.vector -> a:Matrix.matrix -> unit = "ml_gsl_blas_dger"
external syr : uplo -> alpha:float -> x:Vector.vector -> a:Matrix.matrix -> unit = "ml_gsl_blas_dsyr"
external syr2 : uplo -> alpha:float -> x:Vector.vector -> y:Vector.vector -> a:Matrix.matrix -> unit = "ml_gsl_blas_dsyr2"

LEVEL 3

external gemm : ta:transpose -> tb:transpose -> alpha:float -> a:Matrix.matrix -> b:Matrix.matrix -> beta:float -> c:Matrix.matrix -> unit = "ml_gsl_blas_dgemm_bc" "ml_gsl_blas_dgemm"
external symm : side -> uplo -> alpha:float -> a:Matrix.matrix -> b:Matrix.matrix -> beta:float -> c:Matrix.matrix -> unit = "ml_gsl_blas_dsymm_bc" "ml_gsl_blas_dsymm"
external trmm : side -> uplo -> transpose -> diag -> alpha:float -> a:Matrix.matrix -> b:Matrix.matrix -> unit = "ml_gsl_blas_dtrmm_bc" "ml_gsl_blas_dtrmm"
external trsm : side -> uplo -> transpose -> diag -> alpha:float -> a:Matrix.matrix -> b:Matrix.matrix -> unit = "ml_gsl_blas_dtrsm_bc" "ml_gsl_blas_dtrsm"
external syrk : uplo -> transpose -> alpha:float -> a:Matrix.matrix -> beta:float -> c:Matrix.matrix -> unit = "ml_gsl_blas_dsyrk_bc" "ml_gsl_blas_dsyrk"
external syr2k : uplo -> transpose -> alpha:float -> a:Matrix.matrix -> b:Matrix.matrix -> beta:float -> c:Matrix.matrix -> unit = "ml_gsl_blas_dsyr2k_bc" "ml_gsl_blas_dsyr2k"

Single precision

module Single : sig ... end
module Complex : sig ... end

Complex single precision

module Complex_Single : sig ... end