sig
  type ('a, 'b) t = ('a, 'b, Bigarray.c_layout) Bigarray.Array1.t
  type s_t = (float, Bigarray.float32_elt) Owl_cblas.t
  type d_t = (float, Bigarray.float64_elt) Owl_cblas.t
  type c_t = (Complex.t, Bigarray.complex32_elt) Owl_cblas.t
  type z_t = (Complex.t, Bigarray.complex64_elt) Owl_cblas.t
  type cblas_layout = CblasRowMajor | CblasColMajor
  type cblas_transpose = CblasNoTrans | CblasTrans | CblasConjTrans
  type cblas_uplo = CblasUpper | CblasLower
  type cblas_diag = CblasNonUnit | CblasUnit
  type cblas_side = CblasLeft | CblasRight
  val srotg : float -> float -> float * float * float * float
  val drotg : float -> float -> float * float * float * float
  val srotmg :
    float -> float -> float -> float -> float * float * float * Owl_cblas.s_t
  val drotmg :
    float -> float -> float -> float -> float * float * float * Owl_cblas.d_t
  val srot :
    int ->
    Owl_cblas.s_t -> int -> Owl_cblas.s_t -> int -> float -> float -> unit
  val drot :
    int ->
    Owl_cblas.d_t -> int -> Owl_cblas.d_t -> int -> float -> float -> unit
  val srotm :
    int ->
    Owl_cblas.s_t -> int -> Owl_cblas.s_t -> int -> Owl_cblas.s_t -> unit
  val drotm :
    int ->
    Owl_cblas.d_t -> int -> Owl_cblas.d_t -> int -> Owl_cblas.d_t -> unit
  val sswap : int -> Owl_cblas.s_t -> int -> Owl_cblas.s_t -> int -> unit
  val dswap : int -> Owl_cblas.d_t -> int -> Owl_cblas.d_t -> int -> unit
  val cswap : int -> Owl_cblas.c_t -> int -> Owl_cblas.c_t -> int -> unit
  val zswap : int -> Owl_cblas.z_t -> int -> Owl_cblas.z_t -> int -> unit
  val sscal : int -> float -> Owl_cblas.s_t -> int -> unit
  val dscal : int -> float -> Owl_cblas.d_t -> int -> unit
  val cscal : int -> Complex.t -> Owl_cblas.c_t -> int -> unit
  val zscal : int -> Complex.t -> Owl_cblas.z_t -> int -> unit
  val csscal : int -> float -> Owl_cblas.c_t -> int -> unit
  val zdscal : int -> float -> Owl_cblas.z_t -> int -> unit
  val scopy : int -> Owl_cblas.s_t -> int -> Owl_cblas.s_t -> int -> unit
  val dcopy : int -> Owl_cblas.d_t -> int -> Owl_cblas.d_t -> int -> unit
  val ccopy : int -> Owl_cblas.c_t -> int -> Owl_cblas.c_t -> int -> unit
  val zcopy : int -> Owl_cblas.z_t -> int -> Owl_cblas.z_t -> int -> unit
  val saxpy :
    int -> float -> Owl_cblas.s_t -> int -> Owl_cblas.s_t -> int -> unit
  val daxpy :
    int -> float -> Owl_cblas.d_t -> int -> Owl_cblas.d_t -> int -> unit
  val caxpy :
    int -> Complex.t -> Owl_cblas.c_t -> int -> Owl_cblas.c_t -> int -> unit
  val zaxpy :
    int -> Complex.t -> Owl_cblas.z_t -> int -> Owl_cblas.z_t -> int -> unit
  val sdot : int -> Owl_cblas.s_t -> int -> Owl_cblas.s_t -> int -> float
  val ddot : int -> Owl_cblas.d_t -> int -> Owl_cblas.d_t -> int -> float
  val cdotu :
    int -> Owl_cblas.c_t -> int -> Owl_cblas.c_t -> int -> Complex.t
  val zdotu :
    int -> Owl_cblas.z_t -> int -> Owl_cblas.z_t -> int -> Complex.t
  val cdotc :
    int -> Owl_cblas.c_t -> int -> Owl_cblas.c_t -> int -> Complex.t
  val zdotc :
    int -> Owl_cblas.z_t -> int -> Owl_cblas.z_t -> int -> Complex.t
  val sdsdot :
    int -> float -> Owl_cblas.s_t -> int -> Owl_cblas.s_t -> int -> float
  val dsdot : int -> Owl_cblas.s_t -> int -> Owl_cblas.s_t -> int -> float
  val snrm2 : int -> Owl_cblas.s_t -> int -> float
  val dnrm2 : int -> Owl_cblas.d_t -> int -> float
  val scnrm2 : int -> Owl_cblas.c_t -> int -> float
  val dznrm2 : int -> Owl_cblas.z_t -> int -> float
  val sasum : int -> Owl_cblas.s_t -> int -> float
  val dasum : int -> Owl_cblas.d_t -> int -> float
  val scasum : int -> Owl_cblas.c_t -> int -> float
  val dzasum : int -> Owl_cblas.z_t -> int -> float
  val isamax : int -> Owl_cblas.s_t -> int -> int
  val idamax : int -> Owl_cblas.d_t -> int -> int
  val icamax : int -> Owl_cblas.c_t -> int -> int
  val izamax : int -> Owl_cblas.z_t -> int -> int
  val sgemv :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_transpose ->
    int ->
    int ->
    float ->
    Owl_cblas.s_t ->
    int -> Owl_cblas.s_t -> int -> float -> Owl_cblas.s_t -> int -> unit
  val dgemv :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_transpose ->
    int ->
    int ->
    float ->
    Owl_cblas.d_t ->
    int -> Owl_cblas.d_t -> int -> float -> Owl_cblas.d_t -> int -> unit
  val cgemv :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_transpose ->
    int ->
    int ->
    Complex.t ->
    Owl_cblas.c_t ->
    int -> Owl_cblas.c_t -> int -> Complex.t -> Owl_cblas.c_t -> int -> unit
  val zgemv :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_transpose ->
    int ->
    int ->
    Complex.t ->
    Owl_cblas.z_t ->
    int -> Owl_cblas.z_t -> int -> Complex.t -> Owl_cblas.z_t -> int -> unit
  val sgbmv :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_transpose ->
    int ->
    int ->
    int ->
    int ->
    float ->
    Owl_cblas.s_t ->
    int -> Owl_cblas.s_t -> int -> float -> Owl_cblas.s_t -> int -> unit
  val dgbmv :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_transpose ->
    int ->
    int ->
    int ->
    int ->
    float ->
    Owl_cblas.d_t ->
    int -> Owl_cblas.d_t -> int -> float -> Owl_cblas.d_t -> int -> unit
  val cgbmv :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_transpose ->
    int ->
    int ->
    int ->
    int ->
    Complex.t ->
    Owl_cblas.c_t ->
    int -> Owl_cblas.c_t -> int -> Complex.t -> Owl_cblas.c_t -> int -> unit
  val zgbmv :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_transpose ->
    int ->
    int ->
    int ->
    int ->
    Complex.t ->
    Owl_cblas.z_t ->
    int -> Owl_cblas.z_t -> int -> Complex.t -> Owl_cblas.z_t -> int -> unit
  val strmv :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_uplo ->
    Owl_cblas.cblas_transpose ->
    Owl_cblas.cblas_diag ->
    int -> Owl_cblas.s_t -> int -> Owl_cblas.s_t -> int -> unit
  val dtrmv :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_uplo ->
    Owl_cblas.cblas_transpose ->
    Owl_cblas.cblas_diag ->
    int -> Owl_cblas.d_t -> int -> Owl_cblas.d_t -> int -> unit
  val ctrmv :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_uplo ->
    Owl_cblas.cblas_transpose ->
    Owl_cblas.cblas_diag ->
    int -> Owl_cblas.c_t -> int -> Owl_cblas.c_t -> int -> unit
  val ztrmv :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_uplo ->
    Owl_cblas.cblas_transpose ->
    Owl_cblas.cblas_diag ->
    int -> Owl_cblas.z_t -> int -> Owl_cblas.z_t -> int -> unit
  val stbmv :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_uplo ->
    Owl_cblas.cblas_transpose ->
    Owl_cblas.cblas_diag ->
    int -> int -> Owl_cblas.s_t -> int -> Owl_cblas.s_t -> int -> unit
  val dtbmv :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_uplo ->
    Owl_cblas.cblas_transpose ->
    Owl_cblas.cblas_diag ->
    int -> int -> Owl_cblas.d_t -> int -> Owl_cblas.d_t -> int -> unit
  val ctbmv :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_uplo ->
    Owl_cblas.cblas_transpose ->
    Owl_cblas.cblas_diag ->
    int -> int -> Owl_cblas.c_t -> int -> Owl_cblas.c_t -> int -> unit
  val ztbmv :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_uplo ->
    Owl_cblas.cblas_transpose ->
    Owl_cblas.cblas_diag ->
    int -> int -> Owl_cblas.z_t -> int -> Owl_cblas.z_t -> int -> unit
  val stpmv :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_uplo ->
    Owl_cblas.cblas_transpose ->
    Owl_cblas.cblas_diag ->
    int -> Owl_cblas.s_t -> Owl_cblas.s_t -> int -> unit
  val dtpmv :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_uplo ->
    Owl_cblas.cblas_transpose ->
    Owl_cblas.cblas_diag ->
    int -> Owl_cblas.d_t -> Owl_cblas.d_t -> int -> unit
  val ctpmv :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_uplo ->
    Owl_cblas.cblas_transpose ->
    Owl_cblas.cblas_diag ->
    int -> Owl_cblas.c_t -> Owl_cblas.c_t -> int -> unit
  val ztpmv :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_uplo ->
    Owl_cblas.cblas_transpose ->
    Owl_cblas.cblas_diag ->
    int -> Owl_cblas.z_t -> Owl_cblas.z_t -> int -> unit
  val strsv :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_uplo ->
    Owl_cblas.cblas_transpose ->
    Owl_cblas.cblas_diag ->
    int -> Owl_cblas.s_t -> int -> Owl_cblas.s_t -> int -> unit
  val dtrsv :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_uplo ->
    Owl_cblas.cblas_transpose ->
    Owl_cblas.cblas_diag ->
    int -> Owl_cblas.d_t -> int -> Owl_cblas.d_t -> int -> unit
  val ctrsv :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_uplo ->
    Owl_cblas.cblas_transpose ->
    Owl_cblas.cblas_diag ->
    int -> Owl_cblas.c_t -> int -> Owl_cblas.c_t -> int -> unit
  val ztrsv :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_uplo ->
    Owl_cblas.cblas_transpose ->
    Owl_cblas.cblas_diag ->
    int -> Owl_cblas.z_t -> int -> Owl_cblas.z_t -> int -> unit
  val stbsv :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_uplo ->
    Owl_cblas.cblas_transpose ->
    Owl_cblas.cblas_diag ->
    int -> int -> Owl_cblas.s_t -> int -> Owl_cblas.s_t -> int -> unit
  val dtbsv :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_uplo ->
    Owl_cblas.cblas_transpose ->
    Owl_cblas.cblas_diag ->
    int -> int -> Owl_cblas.d_t -> int -> Owl_cblas.d_t -> int -> unit
  val ctbsv :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_uplo ->
    Owl_cblas.cblas_transpose ->
    Owl_cblas.cblas_diag ->
    int -> int -> Owl_cblas.c_t -> int -> Owl_cblas.c_t -> int -> unit
  val ztbsv :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_uplo ->
    Owl_cblas.cblas_transpose ->
    Owl_cblas.cblas_diag ->
    int -> int -> Owl_cblas.z_t -> int -> Owl_cblas.z_t -> int -> unit
  val stpsv :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_uplo ->
    Owl_cblas.cblas_transpose ->
    Owl_cblas.cblas_diag ->
    int -> Owl_cblas.s_t -> Owl_cblas.s_t -> int -> unit
  val dtpsv :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_uplo ->
    Owl_cblas.cblas_transpose ->
    Owl_cblas.cblas_diag ->
    int -> Owl_cblas.d_t -> Owl_cblas.d_t -> int -> unit
  val ctpsv :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_uplo ->
    Owl_cblas.cblas_transpose ->
    Owl_cblas.cblas_diag ->
    int -> Owl_cblas.c_t -> Owl_cblas.c_t -> int -> unit
  val ztpsv :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_uplo ->
    Owl_cblas.cblas_transpose ->
    Owl_cblas.cblas_diag ->
    int -> Owl_cblas.z_t -> Owl_cblas.z_t -> int -> unit
  val ssymv :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_uplo ->
    int ->
    float ->
    Owl_cblas.s_t ->
    int -> Owl_cblas.s_t -> int -> float -> Owl_cblas.s_t -> int -> unit
  val dsymv :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_uplo ->
    int ->
    float ->
    Owl_cblas.d_t ->
    int -> Owl_cblas.d_t -> int -> float -> Owl_cblas.d_t -> int -> unit
  val ssbmv :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_uplo ->
    int ->
    int ->
    float ->
    Owl_cblas.s_t ->
    int -> Owl_cblas.s_t -> int -> float -> Owl_cblas.s_t -> int -> unit
  val dsbmv :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_uplo ->
    int ->
    int ->
    float ->
    Owl_cblas.d_t ->
    int -> Owl_cblas.d_t -> int -> float -> Owl_cblas.d_t -> int -> unit
  val sspmv :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_uplo ->
    int ->
    int ->
    float ->
    Owl_cblas.s_t ->
    Owl_cblas.s_t -> int -> float -> Owl_cblas.s_t -> int -> unit
  val dspmv :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_uplo ->
    int ->
    int ->
    float ->
    Owl_cblas.d_t ->
    Owl_cblas.d_t -> int -> float -> Owl_cblas.d_t -> int -> unit
  val sger :
    Owl_cblas.cblas_layout ->
    int ->
    int ->
    float ->
    Owl_cblas.s_t ->
    int -> Owl_cblas.s_t -> int -> Owl_cblas.s_t -> int -> unit
  val dger :
    Owl_cblas.cblas_layout ->
    int ->
    int ->
    float ->
    Owl_cblas.d_t ->
    int -> Owl_cblas.d_t -> int -> Owl_cblas.d_t -> int -> unit
  val ssyr :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_uplo ->
    int -> float -> Owl_cblas.s_t -> int -> Owl_cblas.s_t -> int -> unit
  val dsyr :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_uplo ->
    int -> float -> Owl_cblas.d_t -> int -> Owl_cblas.d_t -> int -> unit
  val sspr :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_uplo ->
    int -> float -> Owl_cblas.s_t -> int -> Owl_cblas.s_t -> unit
  val dspr :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_uplo ->
    int -> float -> Owl_cblas.d_t -> int -> Owl_cblas.d_t -> unit
  val ssyr2 :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_uplo ->
    int ->
    float ->
    Owl_cblas.s_t ->
    int -> Owl_cblas.s_t -> int -> Owl_cblas.s_t -> int -> unit
  val dsyr2 :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_uplo ->
    int ->
    float ->
    Owl_cblas.d_t ->
    int -> Owl_cblas.d_t -> int -> Owl_cblas.d_t -> int -> unit
  val sspr2 :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_uplo ->
    int ->
    float ->
    Owl_cblas.s_t -> int -> Owl_cblas.s_t -> int -> Owl_cblas.s_t -> unit
  val dspr2 :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_uplo ->
    int ->
    float ->
    Owl_cblas.d_t -> int -> Owl_cblas.d_t -> int -> Owl_cblas.d_t -> unit
  val chemv :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_uplo ->
    int ->
    Complex.t ->
    Owl_cblas.c_t ->
    int -> Owl_cblas.c_t -> int -> Complex.t -> Owl_cblas.c_t -> int -> unit
  val zhemv :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_uplo ->
    int ->
    Complex.t ->
    Owl_cblas.z_t ->
    int -> Owl_cblas.z_t -> int -> Complex.t -> Owl_cblas.z_t -> int -> unit
  val chbmv :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_uplo ->
    int ->
    int ->
    Complex.t ->
    Owl_cblas.c_t ->
    int -> Owl_cblas.c_t -> int -> Complex.t -> Owl_cblas.c_t -> int -> unit
  val zhbmv :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_uplo ->
    int ->
    int ->
    Complex.t ->
    Owl_cblas.z_t ->
    int -> Owl_cblas.z_t -> int -> Complex.t -> Owl_cblas.z_t -> int -> unit
  val chpmv :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_uplo ->
    int ->
    Complex.t ->
    Owl_cblas.c_t ->
    Owl_cblas.c_t -> int -> Complex.t -> Owl_cblas.c_t -> int -> unit
  val zhpmv :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_uplo ->
    int ->
    Complex.t ->
    Owl_cblas.z_t ->
    Owl_cblas.z_t -> int -> Complex.t -> Owl_cblas.z_t -> int -> unit
  val cgeru :
    Owl_cblas.cblas_layout ->
    int ->
    int ->
    Complex.t ->
    Owl_cblas.c_t ->
    int -> Owl_cblas.c_t -> int -> Owl_cblas.c_t -> int -> unit
  val zgeru :
    Owl_cblas.cblas_layout ->
    int ->
    int ->
    Complex.t ->
    Owl_cblas.z_t ->
    int -> Owl_cblas.z_t -> int -> Owl_cblas.z_t -> int -> unit
  val cgerc :
    Owl_cblas.cblas_layout ->
    int ->
    int ->
    Complex.t ->
    Owl_cblas.c_t ->
    int -> Owl_cblas.c_t -> int -> Owl_cblas.c_t -> int -> unit
  val zgerc :
    Owl_cblas.cblas_layout ->
    int ->
    int ->
    Complex.t ->
    Owl_cblas.z_t ->
    int -> Owl_cblas.z_t -> int -> Owl_cblas.z_t -> int -> unit
  val cher :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_uplo ->
    int -> float -> Owl_cblas.c_t -> int -> Owl_cblas.c_t -> int -> unit
  val zher :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_uplo ->
    int -> float -> Owl_cblas.z_t -> int -> Owl_cblas.z_t -> int -> unit
  val chpr :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_uplo ->
    int -> float -> Owl_cblas.c_t -> int -> Owl_cblas.c_t -> unit
  val zhpr :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_uplo ->
    int -> float -> Owl_cblas.z_t -> int -> Owl_cblas.z_t -> unit
  val cher2 :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_uplo ->
    int ->
    Complex.t ->
    Owl_cblas.c_t ->
    int -> Owl_cblas.c_t -> int -> Owl_cblas.c_t -> int -> unit
  val zher2 :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_uplo ->
    int ->
    Complex.t ->
    Owl_cblas.z_t ->
    int -> Owl_cblas.z_t -> int -> Owl_cblas.z_t -> int -> unit
  val chpr2 :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_uplo ->
    int ->
    Complex.t ->
    Owl_cblas.c_t -> int -> Owl_cblas.c_t -> int -> Owl_cblas.c_t -> unit
  val zhpr2 :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_uplo ->
    int ->
    Complex.t ->
    Owl_cblas.z_t -> int -> Owl_cblas.z_t -> int -> Owl_cblas.z_t -> unit
  val sgemm :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_transpose ->
    Owl_cblas.cblas_transpose ->
    int ->
    int ->
    int ->
    float ->
    Owl_cblas.s_t ->
    int -> Owl_cblas.s_t -> int -> float -> Owl_cblas.s_t -> int -> unit
  val dgemm :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_transpose ->
    Owl_cblas.cblas_transpose ->
    int ->
    int ->
    int ->
    float ->
    Owl_cblas.d_t ->
    int -> Owl_cblas.d_t -> int -> float -> Owl_cblas.d_t -> int -> unit
  val cgemm :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_transpose ->
    Owl_cblas.cblas_transpose ->
    int ->
    int ->
    int ->
    Complex.t ->
    Owl_cblas.c_t ->
    int -> Owl_cblas.c_t -> int -> Complex.t -> Owl_cblas.c_t -> int -> unit
  val zgemm :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_transpose ->
    Owl_cblas.cblas_transpose ->
    int ->
    int ->
    int ->
    Complex.t ->
    Owl_cblas.z_t ->
    int -> Owl_cblas.z_t -> int -> Complex.t -> Owl_cblas.z_t -> int -> unit
  val ssymm :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_side ->
    Owl_cblas.cblas_uplo ->
    int ->
    int ->
    float ->
    Owl_cblas.s_t ->
    int -> Owl_cblas.s_t -> int -> float -> Owl_cblas.s_t -> int -> unit
  val dsymm :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_side ->
    Owl_cblas.cblas_uplo ->
    int ->
    int ->
    float ->
    Owl_cblas.d_t ->
    int -> Owl_cblas.d_t -> int -> float -> Owl_cblas.d_t -> int -> unit
  val csymm :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_side ->
    Owl_cblas.cblas_uplo ->
    int ->
    int ->
    Complex.t ->
    Owl_cblas.c_t ->
    int -> Owl_cblas.c_t -> int -> Complex.t -> Owl_cblas.c_t -> int -> unit
  val zsymm :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_side ->
    Owl_cblas.cblas_uplo ->
    int ->
    int ->
    Complex.t ->
    Owl_cblas.z_t ->
    int -> Owl_cblas.z_t -> int -> Complex.t -> Owl_cblas.z_t -> int -> unit
  val ssyrk :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_uplo ->
    Owl_cblas.cblas_transpose ->
    int ->
    int ->
    float -> Owl_cblas.s_t -> int -> float -> Owl_cblas.s_t -> int -> unit
  val dsyrk :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_uplo ->
    Owl_cblas.cblas_transpose ->
    int ->
    int ->
    float -> Owl_cblas.d_t -> int -> float -> Owl_cblas.d_t -> int -> unit
  val csyrk :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_uplo ->
    Owl_cblas.cblas_transpose ->
    int ->
    int ->
    Complex.t ->
    Owl_cblas.c_t -> int -> Complex.t -> Owl_cblas.c_t -> int -> unit
  val zsyrk :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_uplo ->
    Owl_cblas.cblas_transpose ->
    int ->
    int ->
    Complex.t ->
    Owl_cblas.z_t -> int -> Complex.t -> Owl_cblas.z_t -> int -> unit
  val ssyr2k :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_uplo ->
    Owl_cblas.cblas_transpose ->
    int ->
    int ->
    float ->
    Owl_cblas.s_t ->
    int -> Owl_cblas.s_t -> int -> float -> Owl_cblas.s_t -> int -> unit
  val dsyr2k :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_uplo ->
    Owl_cblas.cblas_transpose ->
    int ->
    int ->
    float ->
    Owl_cblas.d_t ->
    int -> Owl_cblas.d_t -> int -> float -> Owl_cblas.d_t -> int -> unit
  val csyr2k :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_uplo ->
    Owl_cblas.cblas_transpose ->
    int ->
    int ->
    Complex.t ->
    Owl_cblas.c_t ->
    int -> Owl_cblas.c_t -> int -> Complex.t -> Owl_cblas.c_t -> int -> unit
  val zsyr2k :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_uplo ->
    Owl_cblas.cblas_transpose ->
    int ->
    int ->
    Complex.t ->
    Owl_cblas.z_t ->
    int -> Owl_cblas.z_t -> int -> Complex.t -> Owl_cblas.z_t -> int -> unit
  val strmm :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_side ->
    Owl_cblas.cblas_uplo ->
    Owl_cblas.cblas_transpose ->
    Owl_cblas.cblas_diag ->
    int ->
    int -> float -> Owl_cblas.s_t -> int -> Owl_cblas.s_t -> int -> unit
  val dtrmm :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_side ->
    Owl_cblas.cblas_uplo ->
    Owl_cblas.cblas_transpose ->
    Owl_cblas.cblas_diag ->
    int ->
    int -> float -> Owl_cblas.d_t -> int -> Owl_cblas.d_t -> int -> unit
  val ctrmm :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_side ->
    Owl_cblas.cblas_uplo ->
    Owl_cblas.cblas_transpose ->
    Owl_cblas.cblas_diag ->
    int ->
    int -> Complex.t -> Owl_cblas.c_t -> int -> Owl_cblas.c_t -> int -> unit
  val ztrmm :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_side ->
    Owl_cblas.cblas_uplo ->
    Owl_cblas.cblas_transpose ->
    Owl_cblas.cblas_diag ->
    int ->
    int -> Complex.t -> Owl_cblas.z_t -> int -> Owl_cblas.z_t -> int -> unit
  val strsm :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_side ->
    Owl_cblas.cblas_uplo ->
    Owl_cblas.cblas_transpose ->
    Owl_cblas.cblas_diag ->
    int ->
    int -> float -> Owl_cblas.s_t -> int -> Owl_cblas.s_t -> int -> unit
  val dtrsm :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_side ->
    Owl_cblas.cblas_uplo ->
    Owl_cblas.cblas_transpose ->
    Owl_cblas.cblas_diag ->
    int ->
    int -> float -> Owl_cblas.d_t -> int -> Owl_cblas.d_t -> int -> unit
  val ctrsm :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_side ->
    Owl_cblas.cblas_uplo ->
    Owl_cblas.cblas_transpose ->
    Owl_cblas.cblas_diag ->
    int ->
    int -> Complex.t -> Owl_cblas.c_t -> int -> Owl_cblas.c_t -> int -> unit
  val ztrsm :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_side ->
    Owl_cblas.cblas_uplo ->
    Owl_cblas.cblas_transpose ->
    Owl_cblas.cblas_diag ->
    int ->
    int -> Complex.t -> Owl_cblas.z_t -> int -> Owl_cblas.z_t -> int -> unit
  val chemm :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_side ->
    Owl_cblas.cblas_uplo ->
    int ->
    int ->
    Complex.t ->
    Owl_cblas.c_t ->
    int -> Owl_cblas.c_t -> int -> Complex.t -> Owl_cblas.c_t -> int -> unit
  val zhemm :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_side ->
    Owl_cblas.cblas_uplo ->
    int ->
    int ->
    Complex.t ->
    Owl_cblas.z_t ->
    int -> Owl_cblas.z_t -> int -> Complex.t -> Owl_cblas.z_t -> int -> unit
  val cherk :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_uplo ->
    Owl_cblas.cblas_transpose ->
    int ->
    int ->
    float -> Owl_cblas.c_t -> int -> float -> Owl_cblas.c_t -> int -> unit
  val zherk :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_uplo ->
    Owl_cblas.cblas_transpose ->
    int ->
    int ->
    float -> Owl_cblas.z_t -> int -> float -> Owl_cblas.z_t -> int -> unit
  val cher2k :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_uplo ->
    Owl_cblas.cblas_transpose ->
    int ->
    int ->
    Complex.t ->
    Owl_cblas.c_t ->
    int -> Owl_cblas.c_t -> int -> float -> Owl_cblas.c_t -> int -> unit
  val zher2k :
    Owl_cblas.cblas_layout ->
    Owl_cblas.cblas_uplo ->
    Owl_cblas.cblas_transpose ->
    int ->
    int ->
    Complex.t ->
    Owl_cblas.z_t ->
    int -> Owl_cblas.z_t -> int -> float -> Owl_cblas.z_t -> int -> unit
end