sig
  type t
  val make : int -> int -> float -> Sundials_Matrix.Dense.t
  val create : int -> int -> Sundials_Matrix.Dense.t
  val size : Sundials_Matrix.Dense.t -> int * int
  val pp : Stdlib.Format.formatter -> Sundials_Matrix.Dense.t -> unit
  val ppi :
    ?start:string ->
    ?stop:string ->
    ?sep:string ->
    ?indent:int ->
    ?itemsep:string ->
    ?item:(Stdlib.Format.formatter -> int -> int -> float -> unit) ->
    unit -> Stdlib.Format.formatter -> Sundials_Matrix.Dense.t -> unit
  val get : Sundials_Matrix.Dense.t -> int -> int -> float
  val set : Sundials_Matrix.Dense.t -> int -> int -> float -> unit
  val update :
    Sundials_Matrix.Dense.t -> int -> int -> (float -> float) -> unit
  val unwrap : Sundials_Matrix.Dense.t -> Sundials.RealArray2.data
  val ops :
    (Sundials_Matrix.Dense.t, Nvector_serial.data) Sundials_Matrix.matrix_ops
  val scale_add :
    float -> Sundials_Matrix.Dense.t -> Sundials_Matrix.Dense.t -> unit
  val scale_addi : float -> Sundials_Matrix.Dense.t -> unit
  val matvec :
    Sundials_Matrix.Dense.t ->
    Sundials.RealArray.t -> Sundials.RealArray.t -> unit
  val set_to_zero : Sundials_Matrix.Dense.t -> unit
  val blit :
    src:Sundials_Matrix.Dense.t -> dst:Sundials_Matrix.Dense.t -> unit
  val space : Sundials_Matrix.Dense.t -> int * int
  val invalidate : Sundials_Matrix.Dense.t -> unit
end