Expand description
Statistics, Linear Algebra, Information Measures, Cholesky Matrix Decomposition, Mahalanobis Distance, Multidimensional Data Analysis, Machine Learning and more …
Modules
Custom error RError
Vector algebra mutating an f64 vector
Basic statistics on a single generic vector
Associated functions implemented for struct TriangMat
Vector algebra on two generic vectors
Stats and vector algebra on one or two u8 vectors
Multidimensional operations on sets of vectors
Multidimensional operations on sets of vectors, with additional inputs
Structs
Holds measures of central tendency and spread.
Usually some kind of mean and its associated standard deviation, or median and its MAD
Median, quartiles, mad (median of absolute diffs)
struct for minimum value, its index, maximum value, its index
Own struct for Vec - can be used for convenience
Compact Triangular Matrix.
TriangMat is typically result of some matrix calculations,
so concrete end-type f64 is used for simplicity and accuracy.
TriangMat with
.trans == true
is a transposed upper triangular matrix.
.symmetric == true
represents, without duplications, a symmetric matrix.
The size of the implied square array, nxn, is not explicitly stored.
It is obtained by solving the quadratic equation:
((((8 * s + 1) as f64).sqrt() - 1.) / 2.) as usize;
where s = triangmat.len()
.
Converting the other way: s = (n+1)*n/2;
Constants
When interpolated, makes following foreground rendering bold blue
When interpolated, makes following foreground rendering bold cyan
When interpolated, makes following foreground rendering bold green
When interpolated, makes following foreground rendering bold magenta
When interpolated, makes following foreground rendering bold red
Returns the terminal rendering to default
When interpolated, makes following foreground rendering bold yellow
Traits
Finding 1D medians, quartiles, and MAD (median of absolute differences)
Mutable operations on one generic slice.
A few of the essential
Vecg
methods are reimplemented here
to mutate self
. This is for efficiency and convenience.
For example, in vector iterative methods.Trait to serialize slices of generic items
&[T]
(vectors)
and slices of Vecs of generic items &[Vec<T>]
(matrices).
All are converted into printable strings and optionally coloured.
Also, methods to serialize and render the resulting string
in bold ANSI terminal colours.Statistical measures of a single variable (one generic vector of data) and
vector algebra applicable to a single (generic) vector.
Thus these methods take no arguments.
Methods applicable to a slice of vectors of generic end type.
Operations on a whole set of multidimensional vectors.
Methods applicable to slice of vectors of generic end type, plus one other argument
of a similar kind
Vector Algebra on two vectors (represented here as generic slices).
Also included are scalar operations on the
self
vector.Methods specialised to and more efficient, for
&[u8]
Functions
Data of end type
i64
has to be explicitly converted to f64
(as f64
does not work).
This is to raise awareness that in this conversion, some precision may be lost.
This function lossily clone-converts a slice &[i64]
to Vec<f64>
. Sum of natural numbers 1..n.
Also the size of an upper or lower triangle
of a square array (including the diagonal)
to exclude the diagonal, use
sumn(n-1)
Generates full nxn unit (identity) matrix
Type Definitions
Shorthand type for returned errors with message payload