sig
type elt = float
type mat = (float, Bigarray.float32_elt) Owl_dense_matrix_generic.t
type arr = (float, Bigarray.float32_elt) Owl_dense_ndarray_generic.t
val empty : int -> int -> mat
val create : int -> int -> elt -> mat
val init : int -> int -> (int -> elt) -> mat
val init_nd : int -> int -> (int -> int -> elt) -> mat
val zeros : int -> int -> mat
val ones : int -> int -> mat
val eye : int -> mat
val sequential : ?a:elt -> ?step:elt -> int -> int -> mat
val uniform_int : ?a:int -> ?b:int -> int -> int -> mat
val uniform : ?scale:float -> int -> int -> mat
val gaussian : ?sigma:float -> int -> int -> mat
val semidef : int -> mat
val bernoulli : ?p:float -> ?seed:int -> int -> int -> mat
val diagm : ?k:int -> mat -> mat
val triu : ?k:int -> mat -> mat
val tril : ?k:int -> mat -> mat
val symmetric : ?upper:bool -> mat -> mat
val bidiagonal : ?upper:bool -> mat -> mat -> mat
val toeplitz : ?c:mat -> mat -> mat
val hankel : ?r:mat -> mat -> mat
val hadamard : int -> mat
val vector : int -> mat
val vector_zeros : int -> mat
val vector_ones : int -> mat
val vector_uniform : int -> mat
val linspace : elt -> elt -> int -> mat
val logspace : ?base:float -> elt -> elt -> int -> mat
val meshgrid : elt -> elt -> elt -> elt -> int -> int -> mat * mat
val meshup : mat -> mat -> mat * mat
val shape : mat -> int * int
val row_num : mat -> int
val col_num : mat -> int
val numel : mat -> int
val nnz : mat -> int
val density : mat -> float
val size_in_bytes : mat -> int
val same_shape : mat -> mat -> bool
val get : mat -> int -> int -> elt
val set : mat -> int -> int -> elt -> unit
val row : mat -> int -> mat
val col : mat -> int -> mat
val rows : mat -> int array -> mat
val cols : mat -> int array -> mat
val resize : ?head:bool -> int -> int -> mat -> mat
val reshape : int -> int -> mat -> mat
val flatten : mat -> mat
val slice : int list list -> mat -> mat
val reverse : mat -> mat
val reset : mat -> unit
val fill : mat -> elt -> unit
val clone : mat -> mat
val copy_to : mat -> mat -> unit
val copy_row_to : mat -> mat -> int -> unit
val copy_col_to : mat -> mat -> int -> unit
val concat_vertical : mat -> mat -> mat
val concat_horizontal : mat -> mat -> mat
val concatenate : ?axis:int -> mat array -> mat
val transpose : mat -> mat
val diag : ?k:int -> mat -> mat
val replace_row : mat -> mat -> int -> mat
val replace_col : mat -> mat -> int -> mat
val swap_rows : mat -> int -> int -> unit
val swap_cols : mat -> int -> int -> unit
val tile : mat -> int array -> mat
val repeat : ?axis:int -> mat -> int -> mat
val pad : ?v:elt -> int list list -> mat -> mat
val dropout : ?rate:float -> ?seed:int -> mat -> mat
val iteri : (int -> int -> elt -> unit) -> mat -> unit
val iter : (elt -> unit) -> mat -> unit
val mapi : (int -> int -> elt -> elt) -> mat -> mat
val map : (elt -> elt) -> mat -> mat
val map2i : (int -> int -> elt -> elt -> elt) -> mat -> mat -> mat
val map2 : (elt -> elt -> elt) -> mat -> mat -> mat
val foldi : (int -> int -> 'a -> elt -> 'a) -> 'a -> mat -> 'a
val fold : ('a -> elt -> 'a) -> 'a -> mat -> 'a
val filteri : (int -> int -> elt -> bool) -> mat -> (int * int) array
val filter : (elt -> bool) -> mat -> (int * int) array
val iteri_rows : (int -> mat -> unit) -> mat -> unit
val iter_rows : (mat -> unit) -> mat -> unit
val iter2i_rows : (int -> mat -> mat -> unit) -> mat -> mat -> unit
val iter2_rows : (mat -> mat -> unit) -> mat -> mat -> unit
val iteri_cols : (int -> mat -> unit) -> mat -> unit
val iter_cols : (mat -> unit) -> mat -> unit
val filteri_rows : (int -> mat -> bool) -> mat -> int array
val filter_rows : (mat -> bool) -> mat -> int array
val filteri_cols : (int -> mat -> bool) -> mat -> int array
val filter_cols : (mat -> bool) -> mat -> int array
val fold_rows : ('a -> mat -> 'a) -> 'a -> mat -> 'a
val fold_cols : ('a -> mat -> 'a) -> 'a -> mat -> 'a
val mapi_rows : (int -> mat -> 'a) -> mat -> 'a array
val map_rows : (mat -> 'a) -> mat -> 'a array
val mapi_cols : (int -> mat -> 'a) -> mat -> 'a array
val map_cols : (mat -> 'a) -> mat -> 'a array
val mapi_by_row : int -> (int -> mat -> mat) -> mat -> mat
val map_by_row : int -> (mat -> mat) -> mat -> mat
val mapi_by_col : int -> (int -> mat -> mat) -> mat -> mat
val map_by_col : int -> (mat -> mat) -> mat -> mat
val mapi_at_row : (int -> int -> elt -> elt) -> mat -> int -> mat
val map_at_row : (elt -> elt) -> mat -> int -> mat
val mapi_at_col : (int -> int -> elt -> elt) -> mat -> int -> mat
val map_at_col : (elt -> elt) -> mat -> int -> mat
val exists : (elt -> bool) -> mat -> bool
val not_exists : (elt -> bool) -> mat -> bool
val for_all : (elt -> bool) -> mat -> bool
val is_zero : mat -> bool
val is_positive : mat -> bool
val is_negative : mat -> bool
val is_nonpositive : mat -> bool
val is_nonnegative : mat -> bool
val is_normal : mat -> bool
val not_nan : mat -> bool
val not_inf : mat -> bool
val equal : mat -> mat -> bool
val not_equal : mat -> mat -> bool
val greater : mat -> mat -> bool
val less : mat -> mat -> bool
val greater_equal : mat -> mat -> bool
val less_equal : mat -> mat -> bool
val elt_equal : mat -> mat -> mat
val elt_not_equal : mat -> mat -> mat
val elt_less : mat -> mat -> mat
val elt_greater : mat -> mat -> mat
val elt_less_equal : mat -> mat -> mat
val elt_greater_equal : mat -> mat -> mat
val equal_scalar : mat -> elt -> bool
val not_equal_scalar : mat -> elt -> bool
val less_scalar : mat -> elt -> bool
val greater_scalar : mat -> elt -> bool
val less_equal_scalar : mat -> elt -> bool
val greater_equal_scalar : mat -> elt -> bool
val elt_equal_scalar : mat -> elt -> mat
val elt_not_equal_scalar : mat -> elt -> mat
val elt_less_scalar : mat -> elt -> mat
val elt_greater_scalar : mat -> elt -> mat
val elt_less_equal_scalar : mat -> elt -> mat
val elt_greater_equal_scalar : mat -> elt -> mat
val approx_equal : ?eps:float -> mat -> mat -> bool
val approx_equal_scalar : ?eps:float -> mat -> elt -> bool
val approx_elt_equal : ?eps:float -> mat -> mat -> mat
val approx_elt_equal_scalar : ?eps:float -> mat -> elt -> mat
val draw_rows : ?replacement:bool -> mat -> int -> mat * int array
val draw_cols : ?replacement:bool -> mat -> int -> mat * int array
val draw_rows2 :
?replacement:bool -> mat -> mat -> int -> mat * mat * int array
val draw_cols2 :
?replacement:bool -> mat -> mat -> int -> mat * mat * int array
val shuffle_rows : mat -> mat
val shuffle_cols : mat -> mat
val shuffle : mat -> mat
val to_array : mat -> elt array
val of_array : elt array -> int -> int -> mat
val to_arrays : mat -> elt array array
val of_arrays : elt array array -> mat
val to_ndarray : mat -> arr
val of_ndarray : arr -> mat
val to_rows : mat -> mat array
val of_rows : mat array -> mat
val to_cols : mat -> mat array
val of_cols : mat array -> mat
val print : mat -> unit
val pp_dsmat : mat -> unit
val save : mat -> string -> unit
val load : string -> mat
val save_txt : mat -> string -> unit
val load_txt : string -> mat
val min : mat -> elt
val max : mat -> elt
val minmax : mat -> elt * elt
val min_i : mat -> elt * int * int
val max_i : mat -> elt * int * int
val minmax_i : mat -> (elt * int * int) * (elt * int * int)
val inv : mat -> mat
val trace : mat -> elt
val sum : mat -> elt
val prod : mat -> elt
val average : mat -> elt
val sum_rows : mat -> mat
val sum_cols : mat -> mat
val average_rows : mat -> mat
val average_cols : mat -> mat
val min_rows : mat -> (elt * int * int) array
val min_cols : mat -> (elt * int * int) array
val max_rows : mat -> (elt * int * int) array
val max_cols : mat -> (elt * int * int) array
val abs : mat -> mat
val abs2 : mat -> mat
val neg : mat -> mat
val reci : mat -> mat
val signum : mat -> mat
val sqr : mat -> mat
val sqrt : mat -> mat
val cbrt : mat -> mat
val exp : mat -> mat
val exp2 : mat -> mat
val exp10 : mat -> mat
val expm1 : mat -> mat
val log : mat -> mat
val log10 : mat -> mat
val log2 : mat -> mat
val log1p : mat -> mat
val sin : mat -> mat
val cos : mat -> mat
val tan : mat -> mat
val asin : mat -> mat
val acos : mat -> mat
val atan : mat -> mat
val sinh : mat -> mat
val cosh : mat -> mat
val tanh : mat -> mat
val asinh : mat -> mat
val acosh : mat -> mat
val atanh : mat -> mat
val floor : mat -> mat
val ceil : mat -> mat
val round : mat -> mat
val trunc : mat -> mat
val modf : mat -> mat * mat
val erf : mat -> mat
val erfc : mat -> mat
val logistic : mat -> mat
val relu : mat -> mat
val elu : ?alpha:elt -> mat -> mat
val leaky_relu : ?alpha:elt -> mat -> mat
val softplus : mat -> mat
val softsign : mat -> mat
val softmax : mat -> mat
val sigmoid : mat -> mat
val log_sum_exp : mat -> elt
val l1norm : mat -> elt
val l2norm : mat -> elt
val l2norm_sqr : mat -> elt
val max_pool :
?padding:Owl_dense_ndarray_generic.padding ->
mat -> int array -> int array -> mat
val avg_pool :
?padding:Owl_dense_ndarray_generic.padding ->
mat -> int array -> int array -> mat
val cumsum : ?axis:int -> mat -> mat
val cumprod : ?axis:int -> mat -> mat
val add : mat -> mat -> mat
val sub : mat -> mat -> mat
val mul : mat -> mat -> mat
val div : mat -> mat -> mat
val add_scalar : mat -> elt -> mat
val sub_scalar : mat -> elt -> mat
val mul_scalar : mat -> elt -> mat
val div_scalar : mat -> elt -> mat
val scalar_add : elt -> mat -> mat
val scalar_sub : elt -> mat -> mat
val scalar_mul : elt -> mat -> mat
val scalar_div : elt -> mat -> mat
val dot : mat -> mat -> mat
val add_diag : mat -> elt -> mat
val pow : mat -> mat -> mat
val scalar_pow : elt -> mat -> mat
val pow_scalar : mat -> elt -> mat
val atan2 : mat -> mat -> mat
val scalar_atan2 : elt -> mat -> mat
val atan2_scalar : mat -> elt -> mat
val hypot : mat -> mat -> mat
val min2 : mat -> mat -> mat
val max2 : mat -> mat -> mat
val fmod : mat -> mat -> mat
val fmod_scalar : mat -> elt -> mat
val scalar_fmod : elt -> mat -> mat
val ssqr : mat -> elt -> elt
val ssqr_diff : mat -> mat -> elt
val cross_entropy : mat -> mat -> elt
val clip_by_l2norm : elt -> mat -> mat
type ('a, 'b) op_t0 = ('a, 'b) Owl_dense_matrix_generic.t
val ( + ) :
('a, 'b) Owl_dense_matrix_generic.t ->
('a, 'b) Owl_dense_matrix_generic.t ->
('a, 'b) Owl_dense_matrix_generic.t
val ( - ) :
('a, 'b) Owl_dense_matrix_generic.t ->
('a, 'b) Owl_dense_matrix_generic.t ->
('a, 'b) Owl_dense_matrix_generic.t
val ( * ) :
('a, 'b) Owl_dense_matrix_generic.t ->
('a, 'b) Owl_dense_matrix_generic.t ->
('a, 'b) Owl_dense_matrix_generic.t
val ( / ) :
('a, 'b) Owl_dense_matrix_generic.t ->
('a, 'b) Owl_dense_matrix_generic.t ->
('a, 'b) Owl_dense_matrix_generic.t
val ( +$ ) :
('a, 'b) Owl_dense_matrix_generic.t ->
'a -> ('a, 'b) Owl_dense_matrix_generic.t
val ( -$ ) :
('a, 'b) Owl_dense_matrix_generic.t ->
'a -> ('a, 'b) Owl_dense_matrix_generic.t
val ( *$ ) :
('a, 'b) Owl_dense_matrix_generic.t ->
'a -> ('a, 'b) Owl_dense_matrix_generic.t
val ( /$ ) :
('a, 'b) Owl_dense_matrix_generic.t ->
'a -> ('a, 'b) Owl_dense_matrix_generic.t
val ( $+ ) :
'a ->
('a, 'b) Owl_dense_matrix_generic.t ->
('a, 'b) Owl_dense_matrix_generic.t
val ( $- ) :
'a ->
('a, 'b) Owl_dense_matrix_generic.t ->
('a, 'b) Owl_dense_matrix_generic.t
val ( $* ) :
'a ->
('a, 'b) Owl_dense_matrix_generic.t ->
('a, 'b) Owl_dense_matrix_generic.t
val ( $/ ) :
'a ->
('a, 'b) Owl_dense_matrix_generic.t ->
('a, 'b) Owl_dense_matrix_generic.t
val ( = ) :
('a, 'b) Owl_dense_matrix_generic.t ->
('a, 'b) Owl_dense_matrix_generic.t -> bool
val ( != ) :
('a, 'b) Owl_dense_matrix_generic.t ->
('a, 'b) Owl_dense_matrix_generic.t -> bool
val ( <> ) :
('a, 'b) Owl_dense_matrix_generic.t ->
('a, 'b) Owl_dense_matrix_generic.t -> bool
val ( > ) :
('a, 'b) Owl_dense_matrix_generic.t ->
('a, 'b) Owl_dense_matrix_generic.t -> bool
val ( < ) :
('a, 'b) Owl_dense_matrix_generic.t ->
('a, 'b) Owl_dense_matrix_generic.t -> bool
val ( >= ) :
('a, 'b) Owl_dense_matrix_generic.t ->
('a, 'b) Owl_dense_matrix_generic.t -> bool
val ( <= ) :
('a, 'b) Owl_dense_matrix_generic.t ->
('a, 'b) Owl_dense_matrix_generic.t -> bool
type ('a, 'b) op_t1 = ('a, 'b) Owl_dense_matrix_generic.t
val ( =$ ) : ('a, 'b) Owl_dense_matrix_generic.t -> 'a -> bool
val ( !=$ ) : ('a, 'b) Owl_dense_matrix_generic.t -> 'a -> bool
val ( <>$ ) : ('a, 'b) Owl_dense_matrix_generic.t -> 'a -> bool
val ( <$ ) : ('a, 'b) Owl_dense_matrix_generic.t -> 'a -> bool
val ( >$ ) : ('a, 'b) Owl_dense_matrix_generic.t -> 'a -> bool
val ( <=$ ) : ('a, 'b) Owl_dense_matrix_generic.t -> 'a -> bool
val ( >=$ ) : ('a, 'b) Owl_dense_matrix_generic.t -> 'a -> bool
val ( =. ) :
('a, 'b) Owl_dense_matrix_generic.t ->
('a, 'b) Owl_dense_matrix_generic.t ->
('a, 'b) Owl_dense_matrix_generic.t
val ( !=. ) :
('a, 'b) Owl_dense_matrix_generic.t ->
('a, 'b) Owl_dense_matrix_generic.t ->
('a, 'b) Owl_dense_matrix_generic.t
val ( <>. ) :
('a, 'b) Owl_dense_matrix_generic.t ->
('a, 'b) Owl_dense_matrix_generic.t ->
('a, 'b) Owl_dense_matrix_generic.t
val ( <. ) :
('a, 'b) Owl_dense_matrix_generic.t ->
('a, 'b) Owl_dense_matrix_generic.t ->
('a, 'b) Owl_dense_matrix_generic.t
val ( >. ) :
('a, 'b) Owl_dense_matrix_generic.t ->
('a, 'b) Owl_dense_matrix_generic.t ->
('a, 'b) Owl_dense_matrix_generic.t
val ( <=. ) :
('a, 'b) Owl_dense_matrix_generic.t ->
('a, 'b) Owl_dense_matrix_generic.t ->
('a, 'b) Owl_dense_matrix_generic.t
val ( >=. ) :
('a, 'b) Owl_dense_matrix_generic.t ->
('a, 'b) Owl_dense_matrix_generic.t ->
('a, 'b) Owl_dense_matrix_generic.t
val ( =.$ ) :
('a, 'b) Owl_dense_matrix_generic.t ->
'a -> ('a, 'b) Owl_dense_matrix_generic.t
val ( !=.$ ) :
('a, 'b) Owl_dense_matrix_generic.t ->
'a -> ('a, 'b) Owl_dense_matrix_generic.t
val ( <>.$ ) :
('a, 'b) Owl_dense_matrix_generic.t ->
'a -> ('a, 'b) Owl_dense_matrix_generic.t
val ( <.$ ) :
('a, 'b) Owl_dense_matrix_generic.t ->
'a -> ('a, 'b) Owl_dense_matrix_generic.t
val ( >.$ ) :
('a, 'b) Owl_dense_matrix_generic.t ->
'a -> ('a, 'b) Owl_dense_matrix_generic.t
val ( <=.$ ) :
('a, 'b) Owl_dense_matrix_generic.t ->
'a -> ('a, 'b) Owl_dense_matrix_generic.t
val ( >=.$ ) :
('a, 'b) Owl_dense_matrix_generic.t ->
'a -> ('a, 'b) Owl_dense_matrix_generic.t
val ( =~ ) :
?eps:float ->
('a, 'b) Owl_dense_matrix_generic.t ->
('a, 'b) Owl_dense_matrix_generic.t -> bool
val ( =~$ ) :
?eps:float -> ('a, 'b) Owl_dense_matrix_generic.t -> 'a -> bool
val ( =~. ) :
?eps:float ->
('a, 'b) Owl_dense_matrix_generic.t ->
('a, 'b) Owl_dense_matrix_generic.t ->
('a, 'b) Owl_dense_matrix_generic.t
val ( =~.$ ) :
?eps:float ->
('a, 'b) Owl_dense_matrix_generic.t ->
'a -> ('a, 'b) Owl_dense_matrix_generic.t
val ( % ) :
(float, 'a) Owl_dense_matrix_generic.t ->
(float, 'a) Owl_dense_matrix_generic.t ->
(float, 'a) Owl_dense_matrix_generic.t
val ( %$ ) :
(float, 'a) Owl_dense_matrix_generic.t ->
float -> (float, 'a) Owl_dense_matrix_generic.t
val ( ** ) :
(float, 'a) Owl_dense_matrix_generic.t ->
(float, 'a) Owl_dense_matrix_generic.t ->
(float, 'a) Owl_dense_matrix_generic.t
val ( $** ) :
float ->
(float, 'a) Owl_dense_matrix_generic.t ->
(float, 'a) Owl_dense_matrix_generic.t
val ( **$ ) :
(float, 'a) Owl_dense_matrix_generic.t ->
float -> (float, 'a) Owl_dense_matrix_generic.t
type ('a, 'b) op_t2 = ('a, 'b) Owl_dense_matrix_generic.t
val ( *@ ) :
('a, 'b) Owl_dense_matrix_generic.t ->
('a, 'b) Owl_dense_matrix_generic.t ->
('a, 'b) Owl_dense_matrix_generic.t
end