sig   type dsmat   val empty : int -> int -> Dense.dsmat   val create : int -> int -> float -> Dense.dsmat   val zeros : int -> int -> Dense.dsmat   val ones : int -> int -> Dense.dsmat   val eye : int -> Dense.dsmat   val sequential : int -> int -> Dense.dsmat   val uniform_int : ?a:int -> ?b:int -> int -> int -> Dense.dsmat   val uniform : ?scale:float -> int -> int -> Dense.dsmat   val gaussian : ?sigma:float -> int -> int -> Dense.dsmat   val semidef : int -> Dense.dsmat   val vector : int -> Dense.dsmat   val vector_zeros : int -> Dense.dsmat   val vector_ones : int -> Dense.dsmat   val vector_uniform : int -> Dense.dsmat   val linspace : float -> float -> int -> Dense.dsmat   val meshgrid :     float ->     float -> float -> float -> int -> int -> Dense.dsmat * Dense.dsmat   val meshup : Dense.dsmat -> Dense.dsmat -> Dense.dsmat * Dense.dsmat   val shape : Dense.dsmat -> int * int   val row_num : Dense.dsmat -> int   val col_num : Dense.dsmat -> int   val numel : Dense.dsmat -> int   val same_shape : Dense.dsmat -> Dense.dsmat -> bool   val reshape : int -> int -> Dense.dsmat -> Dense.dsmat   val get : Dense.dsmat -> int -> int -> float   val set : Dense.dsmat -> int -> int -> float -> unit   val row : Dense.dsmat -> int -> Dense.dsmat   val col : Dense.dsmat -> int -> Dense.dsmat   val rows : Dense.dsmat -> int array -> Dense.dsmat   val cols : Dense.dsmat -> int array -> Dense.dsmat   val clone : Dense.dsmat -> Dense.dsmat   val copy_to : Dense.dsmat -> Dense.dsmat -> unit   val copy_row_to : Dense.dsmat -> Dense.dsmat -> int -> unit   val copy_col_to : Dense.dsmat -> Dense.dsmat -> int -> unit   val concat_vertical : Dense.dsmat -> Dense.dsmat -> Dense.dsmat   val concat_horizontal : Dense.dsmat -> Dense.dsmat -> Dense.dsmat   val transpose : Dense.dsmat -> Dense.dsmat   val diag : Dense.dsmat -> Dense.dsmat   val trace : Dense.dsmat -> float   val add_diag : Dense.dsmat -> float -> Dense.dsmat   val replace_row : Dense.dsmat -> Dense.dsmat -> int -> Dense.dsmat   val replace_col : Dense.dsmat -> Dense.dsmat -> int -> Dense.dsmat   val iteri : (int -> int -> float -> 'a) -> Dense.dsmat -> unit   val iter : (float -> 'a) -> Dense.dsmat -> unit   val mapi : (int -> int -> float -> float) -> Dense.dsmat -> Dense.dsmat   val map : (float -> float) -> Dense.dsmat -> Dense.dsmat   val fold : ('-> float -> 'a) -> '-> Dense.dsmat -> 'a   val filteri :     (int -> int -> float -> bool) -> Dense.dsmat -> (int * int) array   val filter : (float -> bool) -> Dense.dsmat -> (int * int) array   val iteri_rows : (int -> Dense.dsmat -> 'a) -> Dense.dsmat -> unit   val iter_rows : (Dense.dsmat -> 'a) -> Dense.dsmat -> unit   val iteri_cols : (int -> Dense.dsmat -> 'a) -> Dense.dsmat -> unit   val iter_cols : (Dense.dsmat -> 'a) -> Dense.dsmat -> unit   val filteri_rows : (int -> Dense.dsmat -> bool) -> Dense.dsmat -> int array   val filter_rows : (Dense.dsmat -> bool) -> Dense.dsmat -> int array   val filteri_cols : (int -> Dense.dsmat -> bool) -> Dense.dsmat -> int array   val filter_cols : (Dense.dsmat -> bool) -> Dense.dsmat -> int array   val fold_rows : ('-> Dense.dsmat -> 'a) -> '-> Dense.dsmat -> 'a   val fold_cols : ('-> Dense.dsmat -> 'a) -> '-> Dense.dsmat -> 'a   val mapi_rows : (int -> Dense.dsmat -> 'a) -> Dense.dsmat -> 'a array   val map_rows : (Dense.dsmat -> 'a) -> Dense.dsmat -> 'a array   val mapi_cols : (int -> Dense.dsmat -> 'a) -> Dense.dsmat -> 'a array   val map_cols : (Dense.dsmat -> 'a) -> Dense.dsmat -> 'a array   val mapi_by_row :     ?d:int ->     (int -> Dense.dsmat -> Dense.dsmat) -> Dense.dsmat -> Dense.dsmat   val map_by_row :     ?d:int -> (Dense.dsmat -> Dense.dsmat) -> Dense.dsmat -> Dense.dsmat   val mapi_by_col :     ?d:int ->     (int -> Dense.dsmat -> Dense.dsmat) -> Dense.dsmat -> Dense.dsmat   val map_by_col :     ?d:int -> (Dense.dsmat -> Dense.dsmat) -> Dense.dsmat -> Dense.dsmat   val mapi_at_row :     (int -> int -> float -> float) -> Dense.dsmat -> int -> Dense.dsmat   val map_at_row : (float -> float) -> Dense.dsmat -> int -> Dense.dsmat   val mapi_at_col :     (int -> int -> float -> float) -> Dense.dsmat -> int -> Dense.dsmat   val map_at_col : (float -> float) -> Dense.dsmat -> int -> Dense.dsmat   val exists : (float -> bool) -> Dense.dsmat -> bool   val not_exists : (float -> bool) -> Dense.dsmat -> bool   val for_all : (float -> bool) -> Dense.dsmat -> bool   val is_equal : Dense.dsmat -> Dense.dsmat -> bool   val is_unequal : Dense.dsmat -> Dense.dsmat -> bool   val is_greater : Dense.dsmat -> Dense.dsmat -> bool   val is_smaller : Dense.dsmat -> Dense.dsmat -> bool   val equal_or_greater : Dense.dsmat -> Dense.dsmat -> bool   val equal_or_smaller : Dense.dsmat -> Dense.dsmat -> bool   val add : Dense.dsmat -> Dense.dsmat -> Dense.dsmat   val sub : Dense.dsmat -> Dense.dsmat -> Dense.dsmat   val mul : Dense.dsmat -> Dense.dsmat -> Dense.dsmat   val div : Dense.dsmat -> Dense.dsmat -> Dense.dsmat   val dot : Dense.dsmat -> Dense.dsmat -> Dense.dsmat   val abs : Dense.dsmat -> Dense.dsmat   val neg : Dense.dsmat -> Dense.dsmat   val power : Dense.dsmat -> float -> Dense.dsmat   val add_scalar : Dense.dsmat -> float -> Dense.dsmat   val sub_scalar : Dense.dsmat -> float -> Dense.dsmat   val mul_scalar : Dense.dsmat -> float -> Dense.dsmat   val div_scalar : Dense.dsmat -> float -> Dense.dsmat   val sum : Dense.dsmat -> float   val average : Dense.dsmat -> float   val min : Dense.dsmat -> float * int * int   val max : Dense.dsmat -> float * int * int   val minmax : Dense.dsmat -> float * float * int * int * int * int   val is_zero : Dense.dsmat -> bool   val is_positive : Dense.dsmat -> bool   val is_negative : Dense.dsmat -> bool   val is_nonnegative : Dense.dsmat -> bool   val log : Dense.dsmat -> Dense.dsmat   val log10 : Dense.dsmat -> Dense.dsmat   val exp : Dense.dsmat -> Dense.dsmat   val sigmoid : Dense.dsmat -> Dense.dsmat   val sum_rows : Dense.dsmat -> Dense.dsmat   val sum_cols : Dense.dsmat -> Dense.dsmat   val average_rows : Dense.dsmat -> Dense.dsmat   val average_cols : Dense.dsmat -> Dense.dsmat   val min_rows : Dense.dsmat -> (float * int * int) array   val min_cols : Dense.dsmat -> (float * int * int) array   val max_rows : Dense.dsmat -> (float * int * int) array   val max_cols : Dense.dsmat -> (float * int * int) array   val draw_rows :     ?replacement:bool -> Dense.dsmat -> int -> Dense.dsmat * int array   val draw_cols :     ?replacement:bool -> Dense.dsmat -> int -> Dense.dsmat * int array   val shuffle_rows : Dense.dsmat -> Dense.dsmat   val shuffle_cols : Dense.dsmat -> Dense.dsmat   val shuffle : Dense.dsmat -> Dense.dsmat   val to_array : Dense.dsmat -> float array   val to_arrays : Dense.dsmat -> float array array   val of_array : float array -> int -> int -> Dense.dsmat   val of_arrays : float array array -> Dense.dsmat   val print : Dense.dsmat -> unit   val pp_dsmat : Dense.dsmat -> unit   val save : Dense.dsmat -> string -> unit   val load : string -> Dense.dsmat   val save_txt : Dense.dsmat -> string -> unit   val load_txt : string -> Dense.dsmat   val ( >> ) : Dense.dsmat -> Dense.dsmat -> unit   val ( << ) : Dense.dsmat -> Dense.dsmat -> unit   val ( @= ) : Dense.dsmat -> Dense.dsmat -> Dense.dsmat   val ( @|| ) : Dense.dsmat -> Dense.dsmat -> Dense.dsmat   val ( +@ ) : Dense.dsmat -> Dense.dsmat -> Dense.dsmat   val ( -@ ) : Dense.dsmat -> Dense.dsmat -> Dense.dsmat   val ( *@ ) : Dense.dsmat -> Dense.dsmat -> Dense.dsmat   val ( /@ ) : Dense.dsmat -> Dense.dsmat -> Dense.dsmat   val ( $@ ) : Dense.dsmat -> Dense.dsmat -> Dense.dsmat   val ( **@ ) : Dense.dsmat -> float -> Dense.dsmat   val ( +$ ) : Dense.dsmat -> float -> Dense.dsmat   val ( -$ ) : Dense.dsmat -> float -> Dense.dsmat   val ( *$ ) : Dense.dsmat -> float -> Dense.dsmat   val ( /$ ) : Dense.dsmat -> float -> Dense.dsmat   val ( $+ ) : float -> Dense.dsmat -> Dense.dsmat   val ( $- ) : float -> Dense.dsmat -> Dense.dsmat   val ( $* ) : float -> Dense.dsmat -> Dense.dsmat   val ( $/ ) : float -> Dense.dsmat -> Dense.dsmat   val ( =@ ) : Dense.dsmat -> Dense.dsmat -> bool   val ( >@ ) : Dense.dsmat -> Dense.dsmat -> bool   val ( <@ ) : Dense.dsmat -> Dense.dsmat -> bool   val ( <>@ ) : Dense.dsmat -> Dense.dsmat -> bool   val ( >=@ ) : Dense.dsmat -> Dense.dsmat -> bool   val ( <=@ ) : Dense.dsmat -> Dense.dsmat -> bool   val ( @@ ) : (float -> float) -> Dense.dsmat -> Dense.dsmat   val gsl_col : Dense.dsmat -> int -> Dense.dsmat end