Module Owl_dense_matrix_s
Create dense matrices
val empty : int -> int -> matval create : int -> int -> elt -> matval init : int -> int -> (int -> elt) -> matval init_2d : int -> int -> (int -> int -> elt) -> matval zeros : int -> int -> matval ones : int -> int -> matval sequential : ?a:elt -> ?step:elt -> int -> int -> matval gaussian : ?mu:elt -> ?sigma:elt -> int -> int -> matval bernoulli : ?p:float -> int -> int -> matval diagm : ?k:int -> mat -> matval triu : ?k:int -> mat -> matval tril : ?k:int -> mat -> matval symmetric : ?upper:bool -> mat -> matval bidiagonal : ?upper:bool -> mat -> mat -> matval hadamard : int -> matDense row vectors and meshgrids
val vector_zeros : int -> matval vector_ones : int -> matval logspace : ?base:float -> elt -> elt -> int -> matObtain the basic properties of a matrix
val shape : mat -> int * intval density : mat -> floatval size_in_bytes : mat -> intval same_shape : mat -> mat -> boolManipulate a matrix
val get : mat -> int -> int -> eltval set : mat -> int -> int -> elt -> unitval get_index : mat -> int array array -> elt arrayval set_index : mat -> int array array -> elt array -> unitval get_slice : int list list -> mat -> matval set_slice : int list list -> mat -> mat -> unitval rows : mat -> int array -> matval cols : mat -> int array -> matval resize : ?head:bool -> mat -> int array -> matval reshape : mat -> int array -> matval flip : ?axis:int -> mat -> matval rotate : mat -> int -> matval copy_to : mat -> mat -> unitval copy_row_to : mat -> mat -> int -> unitval copy_col_to : mat -> mat -> int -> unitval concat_vh : mat array array -> matval concatenate : ?axis:int -> mat array -> matval split : ?axis:int -> int array -> mat -> mat arrayval split_vh : (int * int) array array -> mat -> mat array arrayval diag : ?k:int -> mat -> matval swap_rows : mat -> int -> int -> unitval swap_cols : mat -> int -> int -> unitval tile : mat -> int array -> matval repeat : ?axis:int -> mat -> int -> matval pad : ?v:elt -> int list list -> mat -> matval dropout : ?rate:float -> mat -> matval top : mat -> int -> int array arrayval bottom : mat -> int -> int array arrayIterate elements, columns, and rows.
val iteri : (int -> elt -> unit) -> mat -> unitval iter : (elt -> unit) -> mat -> unitval filteri : (int -> elt -> bool) -> mat -> int arrayval filter : (elt -> bool) -> mat -> int arrayval iteri_2d : (int -> int -> elt -> unit) -> mat -> unitval scani_2d : ?axis:int -> (int -> int -> elt -> elt -> elt) -> mat -> matval filteri_2d : (int -> int -> elt -> bool) -> mat -> (int * int) arrayval iter2i_2d : (int -> int -> elt -> elt -> unit) -> mat -> mat -> unitval iter2i : (int -> elt -> elt -> unit) -> mat -> mat -> unitval iteri_rows : (int -> mat -> unit) -> mat -> unitval iter_rows : (mat -> unit) -> mat -> unitval iter2i_rows : (int -> mat -> mat -> unit) -> mat -> mat -> unitval iteri_cols : (int -> mat -> unit) -> mat -> unitval iter_cols : (mat -> unit) -> mat -> unitval filteri_rows : (int -> mat -> bool) -> mat -> int arrayval filter_rows : (mat -> bool) -> mat -> int arrayval filteri_cols : (int -> mat -> bool) -> mat -> int arrayval filter_cols : (mat -> bool) -> mat -> int arrayval fold_rows : ('a -> mat -> 'a) -> 'a -> mat -> 'aval fold_cols : ('a -> mat -> 'a) -> 'a -> mat -> 'aval mapi_rows : (int -> mat -> 'a) -> mat -> 'a arrayval map_rows : (mat -> 'a) -> mat -> 'a arrayval mapi_cols : (int -> mat -> 'a) -> mat -> 'a arrayval map_cols : (mat -> 'a) -> mat -> 'a arrayExamin elements and compare two matrices
val exists : (elt -> bool) -> mat -> boolval not_exists : (elt -> bool) -> mat -> boolval for_all : (elt -> bool) -> mat -> boolval is_zero : mat -> boolval is_positive : mat -> boolval is_negative : mat -> boolval is_nonpositive : mat -> boolval is_nonnegative : mat -> boolval is_normal : mat -> boolval not_nan : mat -> boolval not_inf : mat -> boolval equal : mat -> mat -> boolval not_equal : mat -> mat -> boolval greater : mat -> mat -> boolval greater_equal : mat -> mat -> boolval less_equal : mat -> mat -> boolval equal_scalar : mat -> elt -> boolval not_equal_scalar : mat -> elt -> boolval less_scalar : mat -> elt -> boolval greater_scalar : mat -> elt -> boolval less_equal_scalar : mat -> elt -> boolval greater_equal_scalar : mat -> elt -> boolval elt_less_equal_scalar : mat -> elt -> matval elt_greater_equal_scalar : mat -> elt -> matval approx_equal : ?eps:float -> mat -> mat -> boolval approx_equal_scalar : ?eps:float -> mat -> elt -> boolval approx_elt_equal : ?eps:float -> mat -> mat -> matval approx_elt_equal_scalar : ?eps:float -> mat -> elt -> matRandomisation functions
val draw_rows : ?replacement:bool -> mat -> int -> mat * int arrayval draw_cols : ?replacement:bool -> mat -> int -> mat * int arrayval draw_rows2 :
?replacement:bool ->
mat ->
mat ->
int ->
mat * mat * int arrayval draw_cols2 :
?replacement:bool ->
mat ->
mat ->
int ->
mat * mat * int arrayval to_array : mat -> elt arrayval of_array : elt array -> int -> int -> matval to_arrays : mat -> elt array arrayval of_arrays : elt array array -> matval to_rows : mat -> mat arrayval of_rows : mat array -> matval to_cols : mat -> mat arrayval of_cols : mat array -> matval print :
?max_row:int ->
?max_col:int ->
?header:bool ->
?fmt:(elt -> string) ->
mat ->
unitval save : mat -> string -> unitval save_txt : ?sep:string -> mat -> string -> unitval load_txt : ?sep:string -> string -> matUnary mathematical operations
val min : ?axis:int -> mat -> matval max : ?axis:int -> mat -> matval min_i : mat -> elt * int arrayval max_i : mat -> elt * int arrayval minmax_i : mat -> (elt * int array) * (elt * int array)val sum : ?axis:int -> mat -> matval prod : ?axis:int -> mat -> matval mean : ?axis:int -> mat -> matval min_rows : mat -> (elt * int * int) arrayval min_cols : mat -> (elt * int * int) arrayval max_rows : mat -> (elt * int * int) arrayval max_cols : mat -> (elt * int * int) arrayval softmax : ?axis:int -> mat -> matval l1norm : ?axis:int -> mat -> matval l2norm : ?axis:int -> mat -> matval l2norm_sqr : ?axis:int -> mat -> matval vecnorm : ?axis:int -> ?p:float -> mat -> matval vecnorm' : ?p:float -> mat -> eltval cumsum : ?axis:int -> mat -> matval cumprod : ?axis:int -> mat -> matval cummin : ?axis:int -> mat -> matval cummax : ?axis:int -> mat -> matval diff : ?axis:int -> ?n:int -> mat -> matval var : ?axis:int -> mat -> matval std : ?axis:int -> mat -> matBinary mathematical operations
Fucntions of in-place modification
val atan2_ : mat -> mat -> unitval hypot_ : mat -> mat -> unitval fmod_ : mat -> mat -> unitval min2_ : mat -> mat -> unitval max2_ : mat -> mat -> unitval add_scalar_ : mat -> elt -> unitval sub_scalar_ : mat -> elt -> unitval mul_scalar_ : mat -> elt -> unitval div_scalar_ : mat -> elt -> unitval pow_scalar_ : mat -> elt -> unitval atan2_scalar_ : mat -> elt -> unitval fmod_scalar_ : mat -> elt -> unitval scalar_add_ : elt -> mat -> unitval scalar_sub_ : elt -> mat -> unitval scalar_mul_ : elt -> mat -> unitval scalar_div_ : elt -> mat -> unitval scalar_pow_ : elt -> mat -> unitval scalar_atan2_ : elt -> mat -> unitval scalar_fmod_ : elt -> mat -> unitval signum_ : mat -> unitval softplus_ : mat -> unitval softsign_ : mat -> unitval sigmoid_ : mat -> unitval softmax_ : ?axis:int -> mat -> unitval cumsum_ : ?axis:int -> mat -> unitval cumprod_ : ?axis:int -> mat -> unitval cummin_ : ?axis:int -> mat -> unitval cummax_ : ?axis:int -> mat -> unitval dropout_ : ?rate:float -> mat -> unitval elt_equal_ : mat -> mat -> unitval elt_not_equal_ : mat -> mat -> unitval elt_less_ : mat -> mat -> unitval elt_greater_ : mat -> mat -> unitval elt_less_equal_ : mat -> mat -> unitval elt_greater_equal_ : mat -> mat -> unitval elt_equal_scalar_ : mat -> elt -> unitval elt_not_equal_scalar_ : mat -> elt -> unitval elt_less_scalar_ : mat -> elt -> unitval elt_greater_scalar_ : mat -> elt -> unitval elt_less_equal_scalar_ : mat -> elt -> unitval elt_greater_equal_scalar_ : mat -> elt -> unit