Module Owl_dense_matrix_d
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 -> boolval same_data : 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_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 : mat -> int array -> 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 -> ?append:bool -> 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 create_ : out:mat -> elt -> unitval bernoulli_ : ?p:float -> out:mat -> unitval zeros_ : out:mat -> unitval ones_ : out:mat -> unitval one_hot_ : out:mat -> int -> mat -> unitval copy_ : out:mat -> mat -> unitval reshape_ : out:mat -> mat -> unitval transpose_ : out:mat -> ?axis:int array -> mat -> unitval sum_ : out:mat -> axis:int -> mat -> unitval min_ : out:mat -> axis:int -> mat -> unitval max_ : out:mat -> axis:int -> mat -> unitval add_scalar_ : ?out:mat -> mat -> elt -> unitval sub_scalar_ : ?out:mat -> mat -> elt -> unitval mul_scalar_ : ?out:mat -> mat -> elt -> unitval div_scalar_ : ?out:mat -> mat -> elt -> unitval pow_scalar_ : ?out:mat -> mat -> elt -> unitval atan2_scalar_ : ?out:mat -> mat -> elt -> unitval fmod_scalar_ : ?out:mat -> mat -> elt -> unitval scalar_add_ : ?out:mat -> elt -> mat -> unitval scalar_sub_ : ?out:mat -> elt -> mat -> unitval scalar_mul_ : ?out:mat -> elt -> mat -> unitval scalar_div_ : ?out:mat -> elt -> mat -> unitval scalar_pow_ : ?out:mat -> elt -> mat -> unitval scalar_atan2_ : ?out:mat -> elt -> mat -> unitval scalar_fmod_ : ?out:mat -> elt -> mat -> unitval dot_ :
?transa:bool ->
?transb:bool ->
?alpha:elt ->
?beta:elt ->
c:mat ->
mat ->
mat ->
unitval conj_ : ?out:mat -> mat -> unitval abs_ : ?out:mat -> mat -> unitval neg_ : ?out:mat -> mat -> unitval reci_ : ?out:mat -> mat -> unitval signum_ : ?out:mat -> mat -> unitval sqr_ : ?out:mat -> mat -> unitval sqrt_ : ?out:mat -> mat -> unitval cbrt_ : ?out:mat -> mat -> unitval exp_ : ?out:mat -> mat -> unitval exp2_ : ?out:mat -> mat -> unitval exp10_ : ?out:mat -> mat -> unitval expm1_ : ?out:mat -> mat -> unitval log_ : ?out:mat -> mat -> unitval log2_ : ?out:mat -> mat -> unitval log10_ : ?out:mat -> mat -> unitval log1p_ : ?out:mat -> mat -> unitval sin_ : ?out:mat -> mat -> unitval cos_ : ?out:mat -> mat -> unitval tan_ : ?out:mat -> mat -> unitval asin_ : ?out:mat -> mat -> unitval acos_ : ?out:mat -> mat -> unitval atan_ : ?out:mat -> mat -> unitval sinh_ : ?out:mat -> mat -> unitval cosh_ : ?out:mat -> mat -> unitval tanh_ : ?out:mat -> mat -> unitval asinh_ : ?out:mat -> mat -> unitval acosh_ : ?out:mat -> mat -> unitval atanh_ : ?out:mat -> mat -> unitval floor_ : ?out:mat -> mat -> unitval ceil_ : ?out:mat -> mat -> unitval round_ : ?out:mat -> mat -> unitval trunc_ : ?out:mat -> mat -> unitval fix_ : ?out:mat -> mat -> unitval erf_ : ?out:mat -> mat -> unitval erfc_ : ?out:mat -> mat -> unitval relu_ : ?out:mat -> mat -> unitval softplus_ : ?out:mat -> mat -> unitval softsign_ : ?out:mat -> mat -> unitval sigmoid_ : ?out:mat -> mat -> unitval softmax_ : ?out:mat -> ?axis:int -> mat -> unitval cumsum_ : ?out:mat -> ?axis:int -> mat -> unitval cumprod_ : ?out:mat -> ?axis:int -> mat -> unitval cummin_ : ?out:mat -> ?axis:int -> mat -> unitval cummax_ : ?out:mat -> ?axis:int -> mat -> unitval dropout_ : ?out:mat -> ?rate:float -> mat -> unitval elt_equal_ : ?out:mat -> mat -> mat -> unitval elt_not_equal_ : ?out:mat -> mat -> mat -> unitval elt_less_ : ?out:mat -> mat -> mat -> unitval elt_greater_ : ?out:mat -> mat -> mat -> unitval elt_less_equal_ : ?out:mat -> mat -> mat -> unitval elt_greater_equal_ : ?out:mat -> mat -> mat -> unitval elt_equal_scalar_ : ?out:mat -> mat -> elt -> unitval elt_not_equal_scalar_ : ?out:mat -> mat -> elt -> unitval elt_less_scalar_ : ?out:mat -> mat -> elt -> unitval elt_greater_scalar_ : ?out:mat -> mat -> elt -> unitval elt_less_equal_scalar_ : ?out:mat -> mat -> elt -> unitval elt_greater_equal_scalar_ : ?out:mat -> mat -> elt -> unit