sig
module Coeff : Scalar.S
type t
exception Dimension_error of string
val of_list_list : Coeff.t list list -> Matrix.S.t
val to_list_list : Matrix.S.t -> Coeff.t list list
val of_array_array : Coeff.t array array -> Matrix.S.t
val to_array_array : Matrix.S.t -> Coeff.t array array
val zeros : int -> int -> Matrix.S.t
val eye : int -> Matrix.S.t
val kron : int -> int -> int -> Matrix.S.t
val kron_sym : int -> int -> int -> Matrix.S.t
val block : Matrix.S.t array array -> Matrix.S.t
val lift_block : Matrix.S.t -> int -> int -> int -> int -> Matrix.S.t
val transpose : Matrix.S.t -> Matrix.S.t
val minus : Matrix.S.t -> Matrix.S.t
val mult_scalar : Coeff.t -> Matrix.S.t -> Matrix.S.t
val add : Matrix.S.t -> Matrix.S.t -> Matrix.S.t
val sub : Matrix.S.t -> Matrix.S.t -> Matrix.S.t
val mult : Matrix.S.t -> Matrix.S.t -> Matrix.S.t
val power : Matrix.S.t -> int -> Matrix.S.t
val nb_lines : Matrix.S.t -> int
val nb_cols : Matrix.S.t -> int
val is_symmetric : Matrix.S.t -> bool
val remove_0_row_cols : Matrix.S.t -> Matrix.S.t
val gauss_split : Matrix.S.t -> int * Matrix.S.t * Matrix.S.t
val ( ~: ) : Matrix.S.t -> Matrix.S.t
val ( ~- ) : Matrix.S.t -> Matrix.S.t
val ( *. ) : Coeff.t -> Matrix.S.t -> Matrix.S.t
val ( + ) : Matrix.S.t -> Matrix.S.t -> Matrix.S.t
val ( - ) : Matrix.S.t -> Matrix.S.t -> Matrix.S.t
val ( * ) : Matrix.S.t -> Matrix.S.t -> Matrix.S.t
val ( ** ) : Matrix.S.t -> int -> Matrix.S.t
val pp : Stdlib.Format.formatter -> Matrix.S.t -> unit
end