module Complex: Owl_dense_complex
type
mat = Gsl.Matrix_complex.matrix
type
elt = Complex.t
Create dense matrices
val empty : int -> int -> mat
val create : int -> int -> elt -> mat
val zeros : int -> int -> mat
val ones : int -> int -> mat
val eye : int -> mat
val sequential : 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
Dense vectors and meshgrids
val vector : int -> mat
val vector_zeros : int -> mat
val vector_ones : int -> mat
val vector_uniform : int -> mat
Obtain the basic properties of a matrix
val shape : mat -> int * int
val row_num : mat -> int
val col_num : mat -> int
val numel : mat -> int
val same_shape : mat -> mat -> bool
val reshape : int -> int -> mat -> mat
Manipulate a matrix
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 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 transpose : mat -> mat
val diag : mat -> mat
val trace : mat -> elt
val add_diag : mat -> elt -> mat
val replace_row : mat ->
mat -> int -> mat
val replace_col : mat ->
mat -> int -> mat
val swap_rows : mat -> int -> int -> mat
val swap_cols : mat -> int -> int -> mat
Iterate elements, columns, and rows.
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 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 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 : ?d:int ->
(int -> mat -> mat) ->
mat -> mat
val map_by_row : ?d:int ->
(mat -> mat) ->
mat -> mat
val mapi_by_col : ?d:int ->
(int -> mat -> mat) ->
mat -> mat
val map_by_col : ?d: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
Examine the elements in a matrix
val exists : (elt -> bool) -> mat -> bool
val not_exists : (elt -> bool) -> mat -> bool
val for_all : (elt -> bool) -> mat -> bool
Compare two matrices
val is_equal : mat -> mat -> bool
val is_unequal : mat -> mat -> bool
val is_greater : mat -> mat -> bool
val is_smaller : mat -> mat -> bool
val equal_or_greater : mat -> mat -> bool
val equal_or_smaller : mat -> mat -> bool
Basic mathematical operations of matrices
val add : mat -> mat -> mat
val sub : mat -> mat -> mat
val mul : mat -> mat -> mat
val div : mat -> mat -> mat
val dot : mat -> mat -> mat
val abs : mat -> mat
val abs2 : mat -> mat
val neg : mat -> mat
val power : mat -> elt -> 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 sum : 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 is_zero : mat -> bool
val is_positive : mat -> bool
val is_negative : mat -> bool
val is_nonnegative : mat -> bool
val log : mat -> mat
val log10 : mat -> mat
val exp : mat -> mat
val sin : mat -> mat
val cos : mat -> mat
Randomisation functions
val draw_rows : ?replacement:bool ->
mat -> int -> mat * int array
val draw_cols : ?replacement:bool ->
mat -> int -> mat * int array
val shuffle_rows : mat -> mat
val shuffle_cols : mat -> mat
val shuffle : mat -> mat
val to_array : mat -> elt array
val to_arrays : mat -> elt array array
val of_array : elt array -> int -> int -> mat
val of_arrays : elt array array -> mat
val save : mat -> string -> unit
val load : string -> mat
val print : mat -> unit
val pp_dsmat : mat -> unit
val re : mat -> Owl_dense_real.mat
re x
returns the real parts of all the elements in x
as a separate matrix.
val im : mat -> Owl_dense_real.mat
re x
returns the complex parts of all the elements in x
as a separate matrix.
Shorhand infix operators
val (+@) : mat -> mat -> mat
Shorthand for add x y
, i.e., x +@ y
val (-@) : mat -> mat -> mat
Shorthand for sub x y
, i.e., x -@ y
val ( *@ ) : mat -> mat -> mat
Shorthand for mul x y
, i.e., x *@ y
val (/@) : mat -> mat -> mat
Shorthand for div x y
, i.e., x /@ y
val ($@) : mat -> mat -> mat
Shorthand for dot x y
, i.e., x $@ y
val ( **@ ) : mat -> elt -> mat
Shorthand for power x a
, i.e., x **@ a
val (+$) : mat -> elt -> mat
Shorthand for add_scalar x a
, i.e., x +$ a
val (-$) : mat -> elt -> mat
Shorthand for sub_scalar x a
, i.e., x -$ a
val ( *$ ) : mat -> elt -> mat
Shorthand for mul_scalar x a
, i.e., x *$ a
val (/$) : mat -> elt -> mat
Shorthand for div_scalar x a
, i.e., x /$ a
val ($+) : elt -> mat -> mat
Shorthand for add_scalar x a
, i.e., a $+ x
val ($-) : elt -> mat -> mat
Shorthand for sub_scalar x a
, i.e., a -$ x
val ( $* ) : elt -> mat -> mat
Shorthand for mul_scalar x a
, i.e., x $* a
val ($/) : elt -> mat -> mat
Shorthand for div_scalar x a
, i.e., x $/ a
val (=@) : mat -> mat -> bool
Shorthand for is_equal x y
, i.e., x =@ y
val (>@) : mat -> mat -> bool
Shorthand for is_greater x y
, i.e., x >@ y
val (<@) : mat -> mat -> bool
Shorthand for is_smaller x y
, i.e., x <@ y
val (<>@) : mat -> mat -> bool
Shorthand for is_unequal x y
, i.e., x <>@ y
val (>=@) : mat -> mat -> bool
Shorthand for equal_or_greater x y
, i.e., x >=@ y
val (<=@) : mat -> mat -> bool
Shorthand for equal_or_smaller x y
, i.e., x <=@ y
val (@@) : (elt -> elt) ->
mat -> mat
Shorthand for map f x
, i.e., f @@ x