High-level CBLAS API

This document is auto-generated for Owl’s APIs. #18 entries have been extracted.

Github: {Signature} {Implementation}

Type definition

type ('a, 'b) t = ('a, 'b, c_layout) Genarray.t

The default type is Bigarray’s Genarray.

type side = Owl_cblas_basic.cblas_side

Upper or lower triangular matrix.

type uplo = Owl_cblas_basic.cblas_uplo

Side type

Level-1 BLAS: vector-vector operations

Level-2 BLAS: matrix-vector operations

val gemv : ?trans:bool -> ?incx:int -> ?incy:int -> ?alpha:'a -> ?beta:'a -> a:('a, 'b) t -> x:('a, 'b) t -> y:('a, 'b) t -> unit

Computes a matrix-vector product using a general matrix

source code

val gbmv : ?trans:bool -> ?incx:int -> ?incy:int -> ?alpha:'a -> ?beta:'a -> kl:int -> ku:int -> a:('a, 'b) t -> x:('a, 'b) t -> y:('a, 'b) t -> unit

Computes a matrix-vector product using a general band matrix

source code

Level-3 BLAS: matrix-matrix operations

val gemm : ?transa:bool -> ?transb:bool -> ?alpha:'a -> ?beta:'a -> a:('a, 'b) t -> b:('a, 'b) t -> c:('a, 'b) t -> unit

Computes a matrix-matrix product with general matrices.

source code

val symm : ?side:side -> ?uplo:uplo -> ?alpha:'a -> ?beta:'a -> a:('a, 'b) t -> b:('a, 'b) t -> c:('a, 'b) t -> unit

Computes a matrix-matrix product where one input matrix is symmetric.

source code

val syrk : ?uplo:uplo -> ?trans:bool -> ?alpha:'a -> ?beta:'a -> a:('a, 'b) t -> c:('a, 'b) t -> unit

Performs a symmetric rank-k update.

source code

val syr2k : ?uplo:uplo -> ?trans:bool -> ?alpha:'a -> ?beta:'a -> a:('a, 'b) t -> b:('a, 'b) t -> c:('a, 'b) t -> unit

Performs a symmetric rank-2k update.

source code

val trmm : ?side:side -> ?uplo:uplo -> ?transa:bool -> ?diag:bool -> ?alpha:'a -> a:('a, 'b) t -> b:('a, 'b) t -> unit

Computes a matrix-matrix product where one input matrix is triangular.

source code

val trsm : ?side:side -> ?uplo:uplo -> ?transa:bool -> ?diag:bool -> ?alpha:'a -> a:('a, 'b) t -> b:('a, 'b) t -> unit

Solves a triangular matrix equation.

source code

val hemm : ?side:side -> ?uplo:uplo -> ?alpha:Complex.t -> ?beta:Complex.t -> a:(Complex.t, 'a) t -> b:(Complex.t, 'a) t -> c:(Complex.t, 'a) t -> unit

Computes a matrix-matrix product where one input matrix is Hermitian.

source code

val herk : ?uplo:uplo -> ?trans:bool -> ?alpha:float -> ?beta:float -> a:(Complex.t, 'a) t -> c:(Complex.t, 'a) t -> unit

Performs a Hermitian rank-k update.

source code

val her2k : ?uplo:uplo -> ?trans:bool -> ?alpha:Complex.t -> ?beta:float -> a:(Complex.t, 'a) t -> b:(Complex.t, 'a) t -> c:(Complex.t, 'a) t -> unit

Performs a Hermitian rank-2k update.

source code