module Owl_sparse_complex:sig
..end
The implementation provides both triplet and compressed row storage (CRS)
format. Note that only triplet format allows adding and updating elements.
Most operations are the same to Sparse.Real module, therefore please refer to
the documentation of Sparse.Real module.
type
spmat
typeelt =
Complex.t
val zeros : int -> int -> spmat
val ones : int -> int -> spmat
val eye : int -> spmat
val binary : int -> int -> spmat
val uniform : ?scale:float -> int -> int -> spmat
val uniform_int : ?a:int -> ?b:int -> int -> int -> spmat
val shape : spmat -> int * int
val row_num : spmat -> int
val col_num : spmat -> int
val row_num_nz : spmat -> int
val col_num_nz : spmat -> int
val numel : spmat -> int
val nnz : spmat -> int
val nnz_rows : spmat -> int array
val nnz_cols : spmat -> int array
val density : spmat -> float
val set : spmat -> int -> int -> elt -> unit
val get : spmat -> int -> int -> elt
val reset : spmat -> unit
val clone : spmat -> spmat
val diag : spmat -> spmat
val trace : spmat -> elt
val row : spmat -> int -> spmat
val col : spmat -> int -> spmat
val rows : spmat -> int array -> spmat
val cols : spmat -> int array -> spmat
val iteri : (int -> int -> elt -> unit) ->
spmat -> unit
val iter : (elt -> unit) -> spmat -> unit
val mapi : (int -> int -> elt -> elt) ->
spmat -> spmat
val map : (elt -> elt) ->
spmat -> spmat
val fold : ('a -> elt -> 'a) -> 'a -> spmat -> 'a
val filteri : (int -> int -> elt -> bool) ->
spmat -> (int * int) array
val filter : (elt -> bool) ->
spmat -> (int * int) array
val iteri_rows : (int -> spmat -> unit) -> spmat -> unit
val iter_rows : (spmat -> unit) -> spmat -> unit
val iteri_cols : (int -> spmat -> unit) -> spmat -> unit
val iter_cols : (spmat -> unit) -> spmat -> unit
val mapi_rows : (int -> spmat -> 'a) ->
spmat -> 'a array
val map_rows : (spmat -> 'a) -> spmat -> 'a array
val mapi_cols : (int -> spmat -> 'a) ->
spmat -> 'a array
val map_cols : (spmat -> 'a) -> spmat -> 'a array
val fold_rows : ('a -> spmat -> 'a) ->
'a -> spmat -> 'a
val fold_cols : ('a -> spmat -> 'a) ->
'a -> spmat -> 'a
val iteri_nz : (int -> int -> elt -> unit) ->
spmat -> unit
val iter_nz : (elt -> unit) -> spmat -> unit
val mapi_nz : (int -> int -> elt -> elt) ->
spmat -> spmat
val map_nz : (elt -> elt) ->
spmat -> spmat
val fold_nz : ('a -> elt -> 'a) -> 'a -> spmat -> 'a
val filteri_nz : (int -> int -> elt -> bool) ->
spmat -> (int * int) array
val filter_nz : (elt -> bool) ->
spmat -> (int * int) array
val iteri_rows_nz : (int -> spmat -> unit) -> spmat -> unit
val iter_rows_nz : (spmat -> unit) -> spmat -> unit
val iteri_cols_nz : (int -> spmat -> unit) -> spmat -> unit
val iter_cols_nz : (spmat -> unit) -> spmat -> unit
val mapi_rows_nz : (int -> spmat -> 'a) ->
spmat -> 'a array
val map_rows_nz : (spmat -> 'a) -> spmat -> 'a array
val mapi_cols_nz : (int -> spmat -> 'a) ->
spmat -> 'a array
val map_cols_nz : (spmat -> 'a) -> spmat -> 'a array
val fold_rows_nz : ('a -> spmat -> 'a) ->
'a -> spmat -> 'a
val fold_cols_nz : ('a -> spmat -> 'a) ->
'a -> spmat -> 'a
val exists : (elt -> bool) -> spmat -> bool
val not_exists : (elt -> bool) -> spmat -> bool
val for_all : (elt -> bool) -> spmat -> bool
val exists_nz : (elt -> bool) -> spmat -> bool
val not_exists_nz : (elt -> bool) -> spmat -> bool
val for_all_nz : (elt -> bool) -> spmat -> bool
val mul_scalar : spmat ->
elt -> spmat
val div_scalar : spmat ->
elt -> spmat
val add : spmat ->
spmat -> spmat
val sub : spmat ->
spmat -> spmat
val mul : spmat ->
spmat -> spmat
val div : spmat ->
spmat -> spmat
val dot : spmat ->
spmat -> spmat
val abs : spmat -> spmat
val neg : spmat -> spmat
val sum : spmat -> elt
val average : spmat -> elt
val power : spmat ->
elt -> spmat
val is_zero : spmat -> bool
val is_positive : spmat -> bool
val is_negative : spmat -> bool
val is_nonnegative : spmat -> bool
val min : spmat -> elt
val max : spmat -> elt
val minmax : spmat -> elt * elt
val sum_rows : spmat -> spmat
val sum_cols : spmat -> spmat
val average_rows : spmat -> spmat
val average_cols : spmat -> spmat
val is_equal : spmat -> spmat -> bool
val is_unequal : spmat -> spmat -> bool
val is_greater : spmat -> spmat -> bool
val is_smaller : spmat -> spmat -> bool
val equal_or_greater : spmat -> spmat -> bool
val equal_or_smaller : spmat -> spmat -> bool
val permutation_matrix : int -> spmat
val draw_rows : ?replacement:bool ->
spmat -> int -> spmat * int array
val draw_cols : ?replacement:bool ->
spmat -> int -> spmat * int array
val shuffle_rows : spmat -> spmat
val shuffle_cols : spmat -> spmat
val shuffle : spmat -> spmat
val to_dense : spmat -> Owl_dense_complex.mat
val of_dense : Owl_dense_complex.mat -> spmat
val print : spmat -> unit
val pp_spmat : spmat -> unit
val save : spmat -> string -> unit
val load : string -> spmat
val (+@) : spmat ->
spmat -> spmat
add x y
, i.e., x +@ y
val (-@) : spmat ->
spmat -> spmat
sub x y
, i.e., x -@ y
val ( *@ ) : spmat ->
spmat -> spmat
mul x y
, i.e., x *@ y
val (/@) : spmat ->
spmat -> spmat
div x y
, i.e., x /@ y
val ($@) : spmat ->
spmat -> spmat
dot x y
, i.e., x $@ y
val ( **@ ) : spmat ->
elt -> spmat
power x a
, i.e., x **@ a
val ( *$ ) : spmat ->
elt -> spmat
mul_scalar x a
, i.e., x *$ a
val (/$) : spmat ->
elt -> spmat
div_scalar x a
, i.e., x /$ a
val ( $* ) : elt ->
spmat -> spmat
mul_scalar x a
, i.e., x $* a
val ($/) : elt ->
spmat -> spmat
div_scalar x a
, i.e., x $/ a
val (=@) : spmat -> spmat -> bool
is_equal x y
, i.e., x =@ y
val (>@) : spmat -> spmat -> bool
is_greater x y
, i.e., x >@ y
val (<@) : spmat -> spmat -> bool
is_smaller x y
, i.e., x <@ y
val (<>@) : spmat -> spmat -> bool
is_unequal x y
, i.e., x <>@ y
val (>=@) : spmat -> spmat -> bool
equal_or_greater x y
, i.e., x >=@ y
val (<=@) : spmat -> spmat -> bool
equal_or_smaller x y
, i.e., x <=@ y
val (@@) : (elt -> elt) ->
spmat -> spmat
map f x
, i.e., f @@ xval _triplet2crs : spmat -> unit