Gg.M
Implemented by all (square) matrix types.
val el : int -> int -> t -> float
el i j a
is the element a
ij
.
Raises Invalid_argument
if i
or j
is not in [0;
dim
[.
col j a
is the j
th column of a
.
Raises Invalid_argument
if j
is not in [0;
dim
[.
mul a b
is the matrix multiplication a * b
.
val trace : t -> float
trace a
is the matrix trace trace(a)
.
val det : t -> float
det a
is the determinant |a|
.
inv a
is the inverse matrix a
-1.
mapi f a
is like map
but the element indices are also given.
val fold : ('a -> float -> 'a) -> 'a -> t -> 'a
fold f acc a
is f (
...(f (f acc a
00) a
10)
...)
.
val foldi : ('a -> int -> int -> float -> 'a) -> 'a -> t -> 'a
foldi f acc a
is f (
...(f (f acc 0 0 a
00) 1 0 a
10)
...)
.
val iter : (float -> unit) -> t -> unit
iter f a
is f a
00; f a
10;
...
val iteri : (int -> int -> float -> unit) -> t -> unit
iteri f a
is f 0 0 a
00; f 1 0 a
10;
...
val for_all : (float -> bool) -> t -> bool
for_all p a
is p a
00 && p a
10 &&
...
val exists : (float -> bool) -> t -> bool
exists p a
is p a
00 || p a
10 ||
...
equal_f eq a b
tests a
and b
like equal
but uses eq
to test floating point values.
compare a b
is Stdlib.compare a b
. That is lexicographic comparison in column-major order.
compare_f cmp a b
compares a
and b
like compare
but uses cmp
to compare floating point values.
val pp : Stdlib.Format.formatter -> t -> unit
pp ppf a
prints a textual representation of a
on ppf
.