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

Compact Triangular Matrix. TriangMat is typically result of some matrix calculations, so concrete end-type f64 is used for simplicity and accuracy. TriangMat with lower == false 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, as: n = ((((8 * s + 1) as f64).sqrt() - 1.) / 2.) as usize; where s = triangmat.len(). or, 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