sig
type spmat
val zeros : int -> int -> Sparse.spmat
val ones : int -> int -> Sparse.spmat
val eye : int -> Sparse.spmat
val binary : int -> int -> Sparse.spmat
val uniform : ?scale:float -> int -> int -> Sparse.spmat
val uniform_int : ?a:int -> ?b:int -> int -> int -> Sparse.spmat
val linspace : float -> float -> int -> Sparse.spmat
val shape : Sparse.spmat -> int * int
val row_num : Sparse.spmat -> int
val col_num : Sparse.spmat -> int
val row_num_nz : Sparse.spmat -> int
val col_num_nz : Sparse.spmat -> int
val numel : Sparse.spmat -> int
val nnz : Sparse.spmat -> int
val nnz_rows : Sparse.spmat -> int array
val nnz_cols : Sparse.spmat -> int array
val density : Sparse.spmat -> float
val get : Sparse.spmat -> int -> int -> float
val set : Sparse.spmat -> int -> int -> float -> unit
val reset : Sparse.spmat -> unit
val clone : Sparse.spmat -> Sparse.spmat
val transpose : Sparse.spmat -> Sparse.spmat
val diag : Sparse.spmat -> Sparse.spmat
val trace : Sparse.spmat -> float
val row : Sparse.spmat -> int -> Sparse.spmat
val col : Sparse.spmat -> int -> Sparse.spmat
val rows : Sparse.spmat -> int array -> Sparse.spmat
val cols : Sparse.spmat -> int array -> Sparse.spmat
val iteri : (int -> int -> float -> 'a) -> Sparse.spmat -> unit
val iter : (float -> 'a) -> Sparse.spmat -> unit
val mapi : (int -> int -> float -> float) -> Sparse.spmat -> Sparse.spmat
val map : (float -> float) -> Sparse.spmat -> Sparse.spmat
val fold : ('a -> float -> 'a) -> 'a -> Sparse.spmat -> 'a
val filteri :
(int -> int -> float -> bool) -> Sparse.spmat -> (int * int) array
val filter : (float -> bool) -> Sparse.spmat -> (int * int) array
val iteri_rows : (int -> Sparse.spmat -> unit) -> Sparse.spmat -> unit
val iter_rows : (Sparse.spmat -> unit) -> Sparse.spmat -> unit
val iteri_cols : (int -> Sparse.spmat -> unit) -> Sparse.spmat -> unit
val iter_cols : (Sparse.spmat -> unit) -> Sparse.spmat -> unit
val mapi_rows : (int -> Sparse.spmat -> 'a) -> Sparse.spmat -> 'a array
val map_rows : (Sparse.spmat -> 'a) -> Sparse.spmat -> 'a array
val mapi_cols : (int -> Sparse.spmat -> 'a) -> Sparse.spmat -> 'a array
val map_cols : (Sparse.spmat -> 'a) -> Sparse.spmat -> 'a array
val fold_rows : ('a -> Sparse.spmat -> 'a) -> 'a -> Sparse.spmat -> 'a
val fold_cols : ('a -> Sparse.spmat -> 'a) -> 'a -> Sparse.spmat -> 'a
val iteri_nz : (int -> int -> float -> 'a) -> Sparse.spmat -> unit
val iter_nz : (float -> 'a) -> Sparse.spmat -> unit
val mapi_nz :
(int -> int -> float -> float) -> Sparse.spmat -> Sparse.spmat
val map_nz : (float -> float) -> Sparse.spmat -> Sparse.spmat
val fold_nz : ('a -> float -> 'a) -> 'a -> Sparse.spmat -> 'a
val filteri_nz :
(int -> int -> float -> bool) -> Sparse.spmat -> (int * int) array
val filter_nz : (float -> bool) -> Sparse.spmat -> (int * int) array
val iteri_rows_nz : (int -> Sparse.spmat -> unit) -> Sparse.spmat -> unit
val iter_rows_nz : (Sparse.spmat -> unit) -> Sparse.spmat -> unit
val iteri_cols_nz : (int -> Sparse.spmat -> unit) -> Sparse.spmat -> unit
val iter_cols_nz : (Sparse.spmat -> unit) -> Sparse.spmat -> unit
val mapi_rows_nz : (int -> Sparse.spmat -> 'a) -> Sparse.spmat -> 'a array
val map_rows_nz : (Sparse.spmat -> 'a) -> Sparse.spmat -> 'a array
val mapi_cols_nz : (int -> Sparse.spmat -> 'a) -> Sparse.spmat -> 'a array
val map_cols_nz : (Sparse.spmat -> 'a) -> Sparse.spmat -> 'a array
val fold_rows_nz : ('a -> Sparse.spmat -> 'a) -> 'a -> Sparse.spmat -> 'a
val fold_cols_nz : ('a -> Sparse.spmat -> 'a) -> 'a -> Sparse.spmat -> 'a
val exists : (float -> bool) -> Sparse.spmat -> bool
val not_exists : (float -> bool) -> Sparse.spmat -> bool
val for_all : (float -> bool) -> Sparse.spmat -> bool
val exists_nz : (float -> bool) -> Sparse.spmat -> bool
val not_exists_nz : (float -> bool) -> Sparse.spmat -> bool
val for_all_nz : (float -> bool) -> Sparse.spmat -> bool
val mul_scalar : Sparse.spmat -> float -> Sparse.spmat
val div_scalar : Sparse.spmat -> float -> Sparse.spmat
val add : Sparse.spmat -> Sparse.spmat -> Sparse.spmat
val sub : Sparse.spmat -> Sparse.spmat -> Sparse.spmat
val mul : Sparse.spmat -> Sparse.spmat -> Sparse.spmat
val div : Sparse.spmat -> Sparse.spmat -> Sparse.spmat
val dot : Sparse.spmat -> Sparse.spmat -> Sparse.spmat
val abs : Sparse.spmat -> Sparse.spmat
val neg : Sparse.spmat -> Sparse.spmat
val sum : Sparse.spmat -> float
val average : Sparse.spmat -> float
val power : Sparse.spmat -> float -> Sparse.spmat
val is_zero : Sparse.spmat -> bool
val is_positive : Sparse.spmat -> bool
val is_negative : Sparse.spmat -> bool
val is_nonnegative : Sparse.spmat -> bool
val min : Sparse.spmat -> float
val max : Sparse.spmat -> float
val minmax : Sparse.spmat -> float * float
val sum_rows : Sparse.spmat -> Sparse.spmat
val sum_cols : Sparse.spmat -> Sparse.spmat
val average_rows : Sparse.spmat -> Sparse.spmat
val average_cols : Sparse.spmat -> Sparse.spmat
val is_equal : Sparse.spmat -> Sparse.spmat -> bool
val is_unequal : Sparse.spmat -> Sparse.spmat -> bool
val is_greater : Sparse.spmat -> Sparse.spmat -> bool
val is_smaller : Sparse.spmat -> Sparse.spmat -> bool
val equal_or_greater : Sparse.spmat -> Sparse.spmat -> bool
val equal_or_smaller : Sparse.spmat -> Sparse.spmat -> bool
val permutation_matrix : int -> Sparse.spmat
val draw_rows :
?replacement:bool -> Sparse.spmat -> int -> Sparse.spmat * int array
val draw_cols :
?replacement:bool -> Sparse.spmat -> int -> Sparse.spmat * int array
val shuffle_rows : Sparse.spmat -> Sparse.spmat
val shuffle_cols : Sparse.spmat -> Sparse.spmat
val shuffle : Sparse.spmat -> Sparse.spmat
val to_dense : Sparse.spmat -> Dense.dsmat
val of_dense : Dense.dsmat -> Sparse.spmat
val print : Sparse.spmat -> unit
val pp_spmat : Sparse.spmat -> unit
val save : Sparse.spmat -> string -> unit
val load : string -> Sparse.spmat
val ( +@ ) : Sparse.spmat -> Sparse.spmat -> Sparse.spmat
val ( -@ ) : Sparse.spmat -> Sparse.spmat -> Sparse.spmat
val ( *@ ) : Sparse.spmat -> Sparse.spmat -> Sparse.spmat
val ( /@ ) : Sparse.spmat -> Sparse.spmat -> Sparse.spmat
val ( $@ ) : Sparse.spmat -> Sparse.spmat -> Sparse.spmat
val ( **@ ) : Sparse.spmat -> float -> Sparse.spmat
val ( *$ ) : Sparse.spmat -> float -> Sparse.spmat
val ( /$ ) : Sparse.spmat -> float -> Sparse.spmat
val ( $* ) : float -> Sparse.spmat -> Sparse.spmat
val ( $/ ) : float -> Sparse.spmat -> Sparse.spmat
val ( =@ ) : Sparse.spmat -> Sparse.spmat -> bool
val ( >@ ) : Sparse.spmat -> Sparse.spmat -> bool
val ( <@ ) : Sparse.spmat -> Sparse.spmat -> bool
val ( <>@ ) : Sparse.spmat -> Sparse.spmat -> bool
val ( >=@ ) : Sparse.spmat -> Sparse.spmat -> bool
val ( <=@ ) : Sparse.spmat -> Sparse.spmat -> bool
end