sig
  type t = float array array
  val copy : Linear_algebra.Mat.t -> Linear_algebra.Mat.t
  val create0 : rows:int -> cols:int -> Linear_algebra.Mat.t
  val create_per_row :
    rows:int -> cols:int -> f:(int -> float) -> Linear_algebra.Mat.t
  val get_column : Linear_algebra.Mat.t -> int -> Linear_algebra.Vec.t
  val t_of_sexp : Sexplib.Sexp.t -> Linear_algebra.Mat.t
  val sexp_of_t : Linear_algebra.Mat.t -> Sexplib.Sexp.t
end