Module type Owl_types.MatrixSig

type mat
type elt = float
val create : int ‑> int ‑> elt ‑> mat
val empty : int ‑> int ‑> mat
val zeros : int ‑> int ‑> mat
val ones : int ‑> int ‑> mat
val uniform : ?⁠scale:elt ‑> int ‑> int ‑> mat
val gaussian : ?⁠sigma:elt ‑> int ‑> int ‑> mat
val bernoulli : ?⁠p:float ‑> ?⁠seed:int ‑> int ‑> int ‑> mat
val shape : mat ‑> int * int
val row_num : mat ‑> int
val col_num : mat ‑> int
val numel : mat ‑> int
val get : mat ‑> int ‑> int ‑> elt
val set : mat ‑> int ‑> int ‑> elt ‑> unit
val get_slice : index list ‑> mat ‑> mat
val set_slice : index list ‑> mat ‑> mat ‑> unit
val row : mat ‑> int ‑> mat
val rows : mat ‑> int array ‑> mat
val clone : mat ‑> mat
val reset : mat ‑> unit
val reshape : mat ‑> int array ‑> mat
val tile : mat ‑> int array ‑> mat
val repeat : ?⁠axis:int ‑> mat ‑> int ‑> mat
val concatenate : ?⁠axis:int ‑> mat array ‑> mat
val split : ?⁠axis:int ‑> int array ‑> mat ‑> mat array
val copy_row_to : mat ‑> mat ‑> int ‑> unit
val copy_col_to : mat ‑> mat ‑> int ‑> unit
val iteri : (int ‑> int ‑> elt ‑> unit) ‑> mat ‑> unit
val mapi : (int ‑> int ‑> elt ‑> elt) ‑> mat ‑> mat
val iteri_rows : (int ‑> mat ‑> unit) ‑> mat ‑> unit
val iter2_rows : (mat ‑> mat ‑> unit) ‑> mat ‑> mat ‑> unit
val draw_rows : ?⁠replacement:bool ‑> mat ‑> int ‑> mat * int array
val draw_rows2 : ?⁠replacement:bool ‑> mat ‑> mat ‑> int ‑> mat * mat * int array
val of_arrays : elt array array ‑> mat
val of_rows : mat array ‑> mat
val print : ?⁠max_row:int ‑> ?⁠max_col:int ‑> ?⁠header:bool ‑> ?⁠fmt:(elt ‑> string) ‑> mat ‑> unit
val max : mat ‑> elt
val abs : mat ‑> mat
val neg : mat ‑> mat
val floor : mat ‑> mat
val ceil : mat ‑> mat
val round : mat ‑> mat
val sqr : mat ‑> mat
val sqrt : mat ‑> mat
val log : mat ‑> mat
val log2 : mat ‑> mat
val log10 : mat ‑> mat
val exp : mat ‑> mat
val sin : mat ‑> mat
val cos : mat ‑> mat
val tan : mat ‑> mat
val sinh : mat ‑> mat
val cosh : mat ‑> mat
val tanh : mat ‑> mat
val asin : mat ‑> mat
val acos : mat ‑> mat
val atan : mat ‑> mat
val asinh : mat ‑> mat
val acosh : mat ‑> mat
val atanh : mat ‑> mat
val inv : mat ‑> mat
val trace : mat ‑> elt
val sum : mat ‑> elt
val sum_ : ?⁠axis:int ‑> mat ‑> mat
val sum_rows : mat ‑> mat
val signum : mat ‑> mat
val transpose : mat ‑> mat
val l1norm : mat ‑> elt
val l2norm : mat ‑> elt
val l2norm_sqr : mat ‑> elt
val sigmoid : mat ‑> mat
val relu : mat ‑> mat
val clip_by_l2norm : elt ‑> mat ‑> 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 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 elt_greater_equal_scalar : mat ‑> elt ‑> mat