Module `Owl_cblas`

Type definition
`type ('a, 'b) t = ('a, 'b, Stdlib.Bigarray.c_layout) Stdlib.Bigarray.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-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

```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

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.

```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.

```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.

```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.

```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.

```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.

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

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

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

Performs a Hermitian rank-k update.

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

Performs a Hermitian rank-2k update.