sig
  val hilbert : int -> Lacaml.S.mat
  val hankel : int -> Lacaml.S.mat
  val pascal : int -> Lacaml.S.mat
  val rosser : unit -> Lacaml.S.mat
  val toeplitz : Lacaml.S.vec -> Lacaml.S.mat
  val vandermonde : Lacaml.S.vec -> Lacaml.S.mat
  val wilkinson : int -> Lacaml.S.mat
  val random :
    ?rnd_state:Random.State.t ->
    ?from:float -> ?range:float -> int -> int -> Lacaml.S.mat
  val create : int -> int -> Lacaml.S.mat
  val make : int -> int -> Lacaml.S.num_type -> Lacaml.S.mat
  val make0 : int -> int -> Lacaml.S.mat
  val of_array : Lacaml.S.num_type array array -> Lacaml.S.mat
  val to_array : Lacaml.S.mat -> Lacaml.S.num_type array array
  val of_col_vecs : Lacaml.S.vec array -> Lacaml.S.mat
  val to_col_vecs : Lacaml.S.mat -> Lacaml.S.vec array
  val as_vec : Lacaml.S.mat -> Lacaml.S.vec
  val init_rows :
    int -> int -> (int -> int -> Lacaml.S.num_type) -> Lacaml.S.mat
  val init_cols :
    int -> int -> (int -> int -> Lacaml.S.num_type) -> Lacaml.S.mat
  val create_mvec : int -> Lacaml.S.mat
  val make_mvec : int -> Lacaml.S.num_type -> Lacaml.S.mat
  val mvec_of_array : Lacaml.S.num_type array -> Lacaml.S.mat
  val mvec_to_array : Lacaml.S.mat -> Lacaml.S.num_type array
  val from_col_vec : Lacaml.S.vec -> Lacaml.S.mat
  val from_row_vec : Lacaml.S.vec -> Lacaml.S.mat
  val empty : Lacaml.S.mat
  val identity : int -> Lacaml.S.mat
  val of_diag : Lacaml.S.vec -> Lacaml.S.mat
  val dim1 : Lacaml.S.mat -> int
  val dim2 : Lacaml.S.mat -> int
  val col : Lacaml.S.mat -> int -> Lacaml.S.vec
  val copy_row : ?vec:Lacaml.S.vec -> Lacaml.S.mat -> int -> Lacaml.S.vec
  val transpose_copy :
    ?m:int ->
    ?n:int ->
    ?ar:int ->
    ?ac:int -> Lacaml.S.mat -> ?br:int -> ?bc:int -> Lacaml.S.mat -> unit
  val transpose :
    ?m:int -> ?n:int -> ?ar:int -> ?ac:int -> Lacaml.S.mat -> Lacaml.S.mat
  val detri :
    ?up:bool -> ?n:int -> ?ar:int -> ?ac:int -> Lacaml.S.mat -> unit
  val packed :
    ?up:bool -> ?n:int -> ?ar:int -> ?ac:int -> Lacaml.S.mat -> Lacaml.S.vec
  val unpacked : ?up:bool -> ?n:int -> Lacaml.S.vec -> Lacaml.S.mat
  val add_const :
    Lacaml.S.num_type ->
    ?m:int ->
    ?n:int ->
    ?br:int ->
    ?bc:int ->
    ?b:Lacaml.S.mat -> ?ar:int -> ?ac:int -> Lacaml.S.mat -> Lacaml.S.mat
  val sum :
    ?m:int ->
    ?n:int -> ?ar:int -> ?ac:int -> Lacaml.S.mat -> Lacaml.S.num_type
  val fill :
    ?m:int ->
    ?n:int -> ?ar:int -> ?ac:int -> Lacaml.S.mat -> Lacaml.S.num_type -> unit
  val copy_diag : Lacaml.S.mat -> Lacaml.S.vec
  val trace : Lacaml.S.mat -> Lacaml.S.num_type
  val scal :
    ?m:int ->
    ?n:int -> Lacaml.S.num_type -> ?ar:int -> ?ac:int -> Lacaml.S.mat -> unit
  val scal_cols :
    ?m:int ->
    ?n:int ->
    ?ar:int -> ?ac:int -> Lacaml.S.mat -> ?ofs:int -> Lacaml.S.vec -> unit
  val scal_rows :
    ?m:int ->
    ?n:int ->
    ?ofs:int -> Lacaml.S.vec -> ?ar:int -> ?ac:int -> Lacaml.S.mat -> unit
  val axpy :
    ?m:int ->
    ?n:int ->
    ?alpha:Lacaml.S.num_type ->
    ?xr:int ->
    ?xc:int -> x:Lacaml.S.mat -> ?yr:int -> ?yc:int -> Lacaml.S.mat -> unit
  val gemm_diag :
    ?n:int ->
    ?k:int ->
    ?beta:Lacaml.S.num_type ->
    ?ofsy:int ->
    ?y:Lacaml.S.vec ->
    ?transa:Lacaml.S.trans3 ->
    ?alpha:Lacaml.S.num_type ->
    ?ar:int ->
    ?ac:int ->
    Lacaml.S.mat ->
    ?transb:Lacaml.S.trans3 ->
    ?br:int -> ?bc:int -> Lacaml.S.mat -> Lacaml.S.vec
  val syrk_diag :
    ?n:int ->
    ?k:int ->
    ?beta:Lacaml.S.num_type ->
    ?ofsy:int ->
    ?y:Lacaml.S.vec ->
    ?trans:Lacaml.Common.trans2 ->
    ?alpha:Lacaml.S.num_type ->
    ?ar:int -> ?ac:int -> Lacaml.S.mat -> Lacaml.S.vec
  val gemm_trace :
    ?n:int ->
    ?k:int ->
    ?transa:Lacaml.S.trans3 ->
    ?ar:int ->
    ?ac:int ->
    Lacaml.S.mat ->
    ?transb:Lacaml.S.trans3 ->
    ?br:int -> ?bc:int -> Lacaml.S.mat -> Lacaml.S.num_type
  val syrk_trace :
    ?n:int ->
    ?k:int -> ?ar:int -> ?ac:int -> Lacaml.S.mat -> Lacaml.S.num_type
  val symm2_trace :
    ?n:int ->
    ?upa:bool ->
    ?ar:int ->
    ?ac:int ->
    Lacaml.S.mat ->
    ?upb:bool -> ?br:int -> ?bc:int -> Lacaml.S.mat -> Lacaml.S.num_type
  val map :
    (Lacaml.S.num_type -> Lacaml.S.num_type) ->
    ?m:int ->
    ?n:int ->
    ?br:int ->
    ?bc:int ->
    ?b:Lacaml.S.mat -> ?ar:int -> ?ac:int -> Lacaml.S.mat -> Lacaml.S.mat
  val fold_cols :
    ('-> Lacaml.S.vec -> 'a) ->
    ?n:int -> ?ac:int -> '-> Lacaml.S.mat -> 'a
end