package owl

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module Owl_cblas_basicSource

CBLAS interface: high-level interface beween Owl and level-1, level-2, level-3 BLAS functions.

Please refer to: Intel Math Kernel Library in the CBLAS interface url: https://software.intel.com/en-us/mkl-developer-reference-c

Type definition
Sourcetype ('a, 'b) t = ('a, 'b, Bigarray.c_layout) Bigarray.Array1.t

The default type is Bigarray's ``Array1.t``.

Sourcetype cblas_layout =
  1. | CblasRowMajor
  2. | CblasColMajor
    (*

    Layout type, Row-major or Column-major.

    *)
Sourcetype cblas_transpose =
  1. | CblasNoTrans
  2. | CblasTrans
  3. | CblasConjTrans
    (*

    Transpose type, no transpose, transpose, or conjugate transpose.

    *)
Sourcetype cblas_uplo =
  1. | CblasUpper
  2. | CblasLower
    (*

    Upper or lower triangular matrix.

    *)
Sourcetype cblas_diag =
  1. | CblasNonUnit
  2. | CblasUnit
    (*

    Diag type, unit triangular.

    *)
Sourcetype cblas_side =
  1. | CblasLeft
  2. | CblasRight
    (*

    Side type

    *)
Level-1 BLAS: vector-vector operations
Sourceval rotg : float -> float -> float * float * float * float

Computes the parameters for a Givens rotation.

Sourceval rotmg : ('a, 'b) Bigarray.kind -> float -> float -> float -> float -> float * float * float * ('a, 'b) t

Computes the parameters for a modified Givens rotation.

Sourceval rot : int -> ('a, 'b) t -> int -> ('a, 'b) t -> int -> float -> float -> unit

Performs rotation of points in the plane.

Sourceval rotm : int -> ('a, 'b) t -> int -> ('a, 'b) t -> int -> ('a, 'b) t -> unit

Performs modified Givens rotation of points in the plane

Sourceval swap : int -> ('a, 'b) t -> int -> ('a, 'b) t -> int -> unit

Swaps a vector with another vector.

Sourceval scal : int -> 'a -> ('a, 'b) t -> int -> unit

Computes the product of a vector and a scalar.

Sourceval cszd_scal : int -> float -> (Complex.t, 'a) t -> int -> unit

Computes the product of a complex vector and a float number.

Sourceval copy : int -> ('a, 'b) t -> int -> ('a, 'b) t -> int -> unit

Copies vector to another vector.

Sourceval axpy : int -> 'a -> ('a, 'b) t -> int -> ('a, 'b) t -> int -> unit

Computes a vector-scalar product and adds the result to a vector.

Sourceval dot : ?conj:bool -> int -> ('a, 'b) t -> int -> ('a, 'b) t -> int -> 'a

Computes a vector-vector dot product. conj is for complex numbers, true indicates conjugated, false indicates unconjugated.

Sourceval sdsdot : int -> float -> (float, Bigarray.float32_elt) t -> int -> (float, Bigarray.float32_elt) t -> int -> float

Computes a vector-vector dot product extended precision accumulation.

Sourceval dsdot : int -> (float, Bigarray.float32_elt) t -> int -> (float, Bigarray.float32_elt) t -> int -> float

Computes a vector-vector dot product extended precision accumulation.

Sourceval nrm2 : int -> ('a, 'b) t -> int -> float

Computes the Euclidean norm of a vector.

Sourceval asum : int -> ('a, 'b) t -> int -> float

Computes the sum of magnitudes of the vector elements.

Sourceval amax : int -> ('a, 'b) t -> int -> int

Finds the index of the element with maximum absolute value.

Level-2 BLAS: matrix-vector operations
Sourceval gemv : cblas_layout -> cblas_transpose -> int -> int -> 'a -> ('a, 'b) t -> int -> ('a, 'b) t -> int -> 'a -> ('a, 'b) t -> int -> unit

Computes a matrix-vector product using a general matrix

Sourceval gbmv : cblas_layout -> cblas_transpose -> int -> int -> int -> int -> 'a -> ('a, 'b) t -> int -> ('a, 'b) t -> int -> 'a -> ('a, 'b) t -> int -> unit

Computes a matrix-vector product using a general band matrix

Sourceval trmv : cblas_layout -> cblas_uplo -> cblas_transpose -> cblas_diag -> int -> ('a, 'b) t -> int -> ('a, 'b) t -> int -> unit

Computes a matrix-vector product using a triangular matrix.

Sourceval tbmv : cblas_layout -> cblas_uplo -> cblas_transpose -> cblas_diag -> int -> int -> ('a, 'b) t -> int -> ('a, 'b) t -> int -> unit

Computes a matrix-vector product using a triangular band matrix.

Sourceval tpmv : cblas_layout -> cblas_uplo -> cblas_transpose -> cblas_diag -> int -> ('a, 'b) t -> ('a, 'b) t -> int -> unit

Computes a matrix-vector product using a triangular packed matrix.

Sourceval trsv : cblas_layout -> cblas_uplo -> cblas_transpose -> cblas_diag -> int -> ('a, 'b) t -> int -> ('a, 'b) t -> int -> unit

Solves a system of linear equations whose coefficients are in a triangular matrix.

Sourceval tbsv : cblas_layout -> cblas_uplo -> cblas_transpose -> cblas_diag -> int -> int -> ('a, 'b) t -> int -> ('a, 'b) t -> int -> unit

Solves a system of linear equations whose coefficients are in a triangular band matrix.

Sourceval tpsv : cblas_layout -> cblas_uplo -> cblas_transpose -> cblas_diag -> int -> ('a, 'b) t -> ('a, 'b) t -> int -> unit

Solves a system of linear equations whose coefficients are in a triangular packed matrix.

Sourceval symv : cblas_layout -> cblas_uplo -> int -> float -> (float, 'a) t -> int -> (float, 'a) t -> int -> float -> (float, 'a) t -> int -> unit

Computes a matrix-vector product for a symmetric matrix.

Sourceval sbmv : cblas_layout -> cblas_uplo -> int -> int -> float -> (float, 'a) t -> int -> (float, 'a) t -> int -> float -> (float, 'a) t -> int -> unit

Computes a matrix-vector product using a symmetric band matrix.

Sourceval spmv : cblas_layout -> cblas_uplo -> int -> int -> float -> (float, 'a) t -> (float, 'a) t -> int -> float -> (float, 'a) t -> int -> unit

Computes a matrix-vector product using a symmetric packed matrix.

Sourceval ger : ?conj:bool -> cblas_layout -> int -> int -> 'a -> ('a, 'b) t -> int -> ('a, 'b) t -> int -> ('a, 'b) t -> int -> unit

Performs a rank-1 update of a general matrix. conj is for complex numbers, true indicates conjugated, false indicates unconjugated.

Sourceval syr : cblas_layout -> cblas_uplo -> int -> float -> (float, 'a) t -> int -> (float, 'a) t -> int -> unit

Performs a rank-1 update of a symmetric matrix.

Sourceval spr : cblas_layout -> cblas_uplo -> int -> float -> (float, 'a) t -> int -> (float, 'a) t -> unit

Performs a rank-1 update of a symmetric packed matrix.

Sourceval syr2 : cblas_layout -> cblas_uplo -> int -> float -> (float, 'a) t -> int -> (float, 'a) t -> int -> (float, 'a) t -> int -> unit

Performs a rank-2 update of symmetric matrix.

Sourceval spr2 : cblas_layout -> cblas_uplo -> int -> float -> (float, 'a) t -> int -> (float, 'a) t -> int -> (float, 'a) t -> unit

Performs a rank-2 update of a symmetric packed matrix.

Sourceval hemv : cblas_layout -> cblas_uplo -> int -> Complex.t -> (Complex.t, 'a) t -> int -> (Complex.t, 'a) t -> int -> Complex.t -> (Complex.t, 'a) t -> int -> unit

Computes a matrix-vector product using a Hermitian matrix.

Sourceval hbmv : cblas_layout -> cblas_uplo -> int -> int -> Complex.t -> (Complex.t, 'a) t -> int -> (Complex.t, 'a) t -> int -> Complex.t -> (Complex.t, 'a) t -> int -> unit

Computes a matrix-vector product using a Hermitian band matrix.

Sourceval hpmv : cblas_layout -> cblas_uplo -> int -> Complex.t -> (Complex.t, 'a) t -> (Complex.t, 'a) t -> int -> Complex.t -> (Complex.t, 'a) t -> int -> unit

Computes a matrix-vector product using a Hermitian packed matrix.

Sourceval her : cblas_layout -> cblas_uplo -> int -> float -> (Complex.t, 'a) t -> int -> (Complex.t, 'a) t -> int -> unit

Performs a rank-1 update of a Hermitian matrix.

Sourceval hpr : cblas_layout -> cblas_uplo -> int -> float -> (Complex.t, 'a) t -> int -> (Complex.t, 'a) t -> unit

Performs a rank-1 update of a Hermitian packed matrix.

Sourceval her2 : cblas_layout -> cblas_uplo -> int -> Complex.t -> (Complex.t, 'a) t -> int -> (Complex.t, 'a) t -> int -> (Complex.t, 'a) t -> int -> unit

Performs a rank-2 update of a Hermitian matrix.

Sourceval hpr2 : cblas_layout -> cblas_uplo -> int -> Complex.t -> (Complex.t, 'a) t -> int -> (Complex.t, 'a) t -> int -> (Complex.t, 'a) t -> unit

Performs a rank-2 update of a Hermitian packed matrix.

Level-3 BLAS: matrix-matrix operations
Sourceval gemm : cblas_layout -> cblas_transpose -> cblas_transpose -> int -> int -> int -> 'a -> ('a, 'b) t -> int -> ('a, 'b) t -> int -> 'a -> ('a, 'b) t -> int -> unit

Computes a matrix-matrix product with general matrices.

Sourceval symm : cblas_layout -> cblas_side -> cblas_uplo -> int -> int -> 'a -> ('a, 'b) t -> int -> ('a, 'b) t -> int -> 'a -> ('a, 'b) t -> int -> unit

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

Sourceval syrk : cblas_layout -> cblas_uplo -> cblas_transpose -> int -> int -> 'a -> ('a, 'b) t -> int -> 'a -> ('a, 'b) t -> int -> unit

Performs a symmetric rank-k update.

Sourceval syr2k : cblas_layout -> cblas_uplo -> cblas_transpose -> int -> int -> 'a -> ('a, 'b) t -> int -> ('a, 'b) t -> int -> 'a -> ('a, 'b) t -> int -> unit

Performs a symmetric rank-2k update.

Sourceval trmm : cblas_layout -> cblas_side -> cblas_uplo -> cblas_transpose -> cblas_diag -> int -> int -> 'a -> ('a, 'b) t -> int -> ('a, 'b) t -> int -> unit

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

Sourceval trsm : cblas_layout -> cblas_side -> cblas_uplo -> cblas_transpose -> cblas_diag -> int -> int -> 'a -> ('a, 'b) t -> int -> ('a, 'b) t -> int -> unit

Solves a triangular matrix equation.

Sourceval hemm : cblas_layout -> cblas_side -> cblas_uplo -> int -> int -> Complex.t -> (Complex.t, 'a) t -> int -> (Complex.t, 'a) t -> int -> Complex.t -> (Complex.t, 'a) t -> int -> unit

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

Sourceval herk : cblas_layout -> cblas_uplo -> cblas_transpose -> int -> int -> float -> (Complex.t, 'a) t -> int -> float -> (Complex.t, 'a) t -> int -> unit

Performs a Hermitian rank-k update.

Sourceval her2k : cblas_layout -> cblas_uplo -> cblas_transpose -> int -> int -> Complex.t -> (Complex.t, 'a) t -> int -> (Complex.t, 'a) t -> int -> float -> (Complex.t, 'a) t -> int -> unit

Performs a Hermitian rank-2k update.

OCaml

Innovation. Community. Security.