sig
type t = Lacaml__Z.mat
val random :
?rnd_state:Stdlib.Random.State.t ->
?re_from:float ->
?re_range:float ->
?im_from:float -> ?im_range:float -> int -> int -> Lacaml__Z.mat
type unop =
?m:int ->
?n:int ->
?br:int ->
?bc:int ->
?b:Lacaml__Z.mat ->
?ar:int -> ?ac:int -> Lacaml__Z.mat -> Lacaml__Z.mat
type binop =
?m:int ->
?n:int ->
?cr:int ->
?cc:int ->
?c:Lacaml__Z.mat ->
?ar:int ->
?ac:int ->
Lacaml__Z.mat -> ?br:int -> ?bc:int -> Lacaml__Z.mat -> Lacaml__Z.mat
val create : int -> int -> Lacaml__Z.mat
val make : int -> int -> Stdlib.Complex.t -> Lacaml__Z.mat
val make0 : int -> int -> Lacaml__Z.mat
val of_array : Stdlib.Complex.t array array -> Lacaml__Z.mat
val to_array : Lacaml__Z.mat -> Stdlib.Complex.t array array
val of_list : Stdlib.Complex.t list list -> Lacaml__Z.mat
val to_list : Lacaml__Z.mat -> Stdlib.Complex.t list list
val of_col_vecs : Lacaml__Z.vec array -> Lacaml__Z.mat
val to_col_vecs : Lacaml__Z.mat -> Lacaml__Z.vec array
val of_col_vecs_list : Lacaml__Z.vec list -> Lacaml__Z.mat
val to_col_vecs_list : Lacaml__Z.mat -> Lacaml__Z.vec list
val as_vec : Lacaml__Z.mat -> Lacaml__Z.vec
val init_rows :
int -> int -> (int -> int -> Stdlib.Complex.t) -> Lacaml__Z.mat
val init_cols :
int -> int -> (int -> int -> Stdlib.Complex.t) -> Lacaml__Z.mat
val create_mvec : int -> Lacaml__Z.mat
val make_mvec : int -> Stdlib.Complex.t -> Lacaml__Z.mat
val mvec_of_array : Stdlib.Complex.t array -> Lacaml__Z.mat
val mvec_to_array : Lacaml__Z.mat -> Stdlib.Complex.t array
val from_col_vec : Lacaml__Z.vec -> Lacaml__Z.mat
val from_row_vec : Lacaml__Z.vec -> Lacaml__Z.mat
val empty : Lacaml__Z.mat
val identity : int -> Lacaml__Z.mat
val of_diag :
?n:int ->
?br:int ->
?bc:int ->
?b:Lacaml__Z.mat ->
?ofsx:int -> ?incx:int -> Lacaml__Z.vec -> Lacaml__Z.mat
val dim1 : Lacaml__Z.mat -> int
val dim2 : Lacaml__Z.mat -> int
val has_zero_dim : Lacaml__Z.mat -> bool
val col : Lacaml__Z.mat -> int -> Lacaml__Z.vec
val copy_row : ?vec:Lacaml__Z.vec -> Lacaml__Z.mat -> int -> Lacaml__Z.vec
val swap :
?uplo:[ `L | `U ] ->
?m:int ->
?n:int ->
?ar:int ->
?ac:int -> Lacaml__Z.mat -> ?br:int -> ?bc:int -> Lacaml__Z.mat -> unit
val transpose_copy : Lacaml__Z.Mat.unop
val detri :
?up:bool -> ?n:int -> ?ar:int -> ?ac:int -> Lacaml__Z.mat -> unit
val packed :
?up:bool ->
?n:int -> ?ar:int -> ?ac:int -> Lacaml__Z.mat -> Lacaml__Z.vec
val unpacked : ?up:bool -> ?n:int -> Lacaml__Z.vec -> Lacaml__Z.mat
val fill :
?m:int ->
?n:int -> ?ar:int -> ?ac:int -> Lacaml__Z.mat -> Stdlib.Complex.t -> unit
val sum :
?m:int ->
?n:int -> ?ar:int -> ?ac:int -> Lacaml__Z.mat -> Stdlib.Complex.t
val add_const : Stdlib.Complex.t -> Lacaml__Z.Mat.unop
val neg : Lacaml__Z.Mat.unop
val reci : Lacaml__Z.Mat.unop
val copy_diag :
?n:int ->
?ofsy:int ->
?incy:int ->
?y:Lacaml__Z.vec -> ?ar:int -> ?ac:int -> Lacaml__Z.mat -> Lacaml__Z.vec
val trace : Lacaml__Z.mat -> Stdlib.Complex.t
val scal :
?m:int ->
?n:int -> Stdlib.Complex.t -> ?ar:int -> ?ac:int -> Lacaml__Z.mat -> unit
val scal_cols :
?m:int ->
?n:int ->
?ar:int -> ?ac:int -> Lacaml__Z.mat -> ?ofs:int -> Lacaml__Z.vec -> unit
val scal_rows :
?m:int ->
?n:int ->
?ofs:int -> Lacaml__Z.vec -> ?ar:int -> ?ac:int -> Lacaml__Z.mat -> unit
val syrk_trace :
?n:int ->
?k:int -> ?ar:int -> ?ac:int -> Lacaml__Z.mat -> Stdlib.Complex.t
val syrk_diag :
?n:int ->
?k:int ->
?beta:Stdlib.Complex.t ->
?ofsy:int ->
?y:Lacaml__Z.vec ->
?trans:Lacaml__common.trans2 ->
?alpha:Stdlib.Complex.t ->
?ar:int -> ?ac:int -> Lacaml__Z.mat -> Lacaml__Z.vec
val add : Lacaml__Z.Mat.binop
val sub : Lacaml__Z.Mat.binop
val mul : Lacaml__Z.Mat.binop
val div : Lacaml__Z.Mat.binop
val axpy :
?alpha:Stdlib.Complex.t ->
?m:int ->
?n:int ->
?xr:int ->
?xc:int -> Lacaml__Z.mat -> ?yr:int -> ?yc:int -> Lacaml__Z.mat -> unit
val gemm_diag :
?n:int ->
?k:int ->
?beta:Stdlib.Complex.t ->
?ofsy:int ->
?y:Lacaml__Z.vec ->
?transa:Lacaml__Z.trans3 ->
?alpha:Stdlib.Complex.t ->
?ar:int ->
?ac:int ->
Lacaml__Z.mat ->
?transb:Lacaml__Z.trans3 ->
?br:int -> ?bc:int -> Lacaml__Z.mat -> Lacaml__Z.vec
val gemm_trace :
?n:int ->
?k:int ->
?transa:Lacaml__Z.trans3 ->
?ar:int ->
?ac:int ->
Lacaml__Z.mat ->
?transb:Lacaml__Z.trans3 ->
?br:int -> ?bc:int -> Lacaml__Z.mat -> Stdlib.Complex.t
val symm2_trace :
?n:int ->
?upa:bool ->
?ar:int ->
?ac:int ->
Lacaml__Z.mat ->
?upb:bool -> ?br:int -> ?bc:int -> Lacaml__Z.mat -> Stdlib.Complex.t
val ssqr_diff :
?m:int ->
?n:int ->
?ar:int ->
?ac:int ->
Lacaml__Z.mat -> ?br:int -> ?bc:int -> Lacaml__Z.mat -> Stdlib.Complex.t
val map :
(Stdlib.Complex.t -> Stdlib.Complex.t) ->
?m:int ->
?n:int ->
?br:int ->
?bc:int ->
?b:Lacaml__Z.mat -> ?ar:int -> ?ac:int -> Lacaml__Z.mat -> Lacaml__Z.mat
val fold_cols :
('a -> Lacaml__Z.vec -> 'a) ->
?n:int -> ?ac:int -> 'a -> Lacaml__Z.mat -> 'a
end