#include <cstdlib>
#include "EST_TSimpleMatrix.h"
#include "EST_TSimpleVector.h"
#include "EST_Val.h"
#include "EST_Val_defs.h"
Go to the source code of this file.
Classes | |
class | EST_FMatrix |
class | EST_FVector |
A vector class for floating point numbers. EST_FVector x should be used instead of float *x wherever possible. More... | |
Functions | |
float | matrix_max (const EST_FMatrix &a) |
find largest element More... | |
float | vector_max (const EST_FVector &a) |
find largest element More... | |
int | square (const EST_FMatrix &a) |
int | inverse (const EST_FMatrix &a, EST_FMatrix &inv) |
inverse More... | |
int | inverse (const EST_FMatrix &a, EST_FMatrix &inv, int &singularity) |
int | pseudo_inverse (const EST_FMatrix &a, EST_FMatrix &inv) |
pseudo inverse (for non-square matrices) More... | |
int | pseudo_inverse (const EST_FMatrix &a, EST_FMatrix &inv, int &singularity) |
void | eye (EST_FMatrix &a, const ssize_t n) |
some useful matrix creators make an identity matrix of dimension n More... | |
void | eye (EST_FMatrix &a) |
make already square matrix into I without resizing More... | |
void | est_seed () |
the user should use est_seed to seed the random number generator More... | |
void | est_seed48 () |
void | make_random_vector (EST_FVector &M, const float scale) |
all elements are randomised More... | |
void | make_random_matrix (EST_FMatrix &M, const float scale) |
all elements are randomised More... | |
void | make_random_diagonal_matrix (EST_FMatrix &M, const float scale) |
used for variance More... | |
void | make_random_symmetric_matrix (EST_FMatrix &M, const float scale) |
used for covariance More... | |
void | make_poly_basis_function (EST_FMatrix &T, EST_FVector t) |
EST_FVector | add (const EST_FVector &a, const EST_FVector &b) |
elementwise add More... | |
EST_FVector | subtract (const EST_FVector &a, const EST_FVector &b) |
elementwise subtract More... | |
void | symmetrize (EST_FMatrix &a) |
enforce symmetry More... | |
void | stack_matrix (const EST_FMatrix &M, EST_FVector &v) |
stack columns on top of each other to make a vector More... | |
void | inplace_diagonalise (EST_FMatrix &a) |
inplace diagonalise More... | |
float | determinant (const EST_FMatrix &a) |
int | singular (EST_FMatrix &a) |
not implemented ?? More... | |
void | transpose (const EST_FMatrix &a, EST_FMatrix &b) |
exchange rows and columns More... | |
EST_FMatrix | triangulate (const EST_FMatrix &a) |
EST_FMatrix | diagonalise (const EST_FMatrix &a) |
extract leading diagonal as a matrix More... | |
EST_FVector | diagonal (const EST_FMatrix &a) |
extract leading diagonal as a vector More... | |
float | sum (const EST_FMatrix &a) |
sum of elements More... | |
void | multiply (const EST_FMatrix &a, const EST_FMatrix &b, EST_FMatrix &c) |
ssize_t | floor_matrix (EST_FMatrix &M, const float floor) |
EST_FMatrix | cov_prod (const EST_FVector &v1, const EST_FVector &v2) |
matrix product of two vectors (#rows = length of first vector, #cols = length of second vector) More... | |
EST_FMatrix | operator* (const EST_FMatrix &a, const EST_FMatrix &b) |
EST_FMatrix | operator- (const EST_FMatrix &a, const EST_FMatrix &b) |
EST_FMatrix | operator+ (const EST_FMatrix &a, const EST_FMatrix &b) |
EST_FVector | operator- (const EST_FVector &a, const EST_FVector &b) |
EST_FVector | operator+ (const EST_FVector &a, const EST_FVector &b) |
EST_FMatrix | sub (const EST_FMatrix &a, ssize_t row, ssize_t col) |
EST_FMatrix | fmatrix_abs (const EST_FMatrix &a) |
EST_FMatrix | row (const EST_FMatrix &a, ssize_t row) |
EST_FMatrix | column (const EST_FMatrix &a, ssize_t col) |
bool | polynomial_fit (EST_FVector &x, EST_FVector &y, EST_FVector &co_effs, int order) |
least squares fit More... | |
bool | polynomial_fit (EST_FVector &x, EST_FVector &y, EST_FVector &co_effs, EST_FVector &weights, int order) |
weighted least squares fit More... | |
float | polynomial_value (const EST_FVector &coeffs, const float x) |
float | operator* (const EST_FVector &v1, const EST_FVector &v2) |
vector dot product More... | |
float matrix_max | ( | const EST_FMatrix & | a | ) |
find largest element
Definition at line 129 of file vec_mat_aux.cc.
float vector_max | ( | const EST_FVector & | a | ) |
find largest element
int square | ( | const EST_FMatrix & | a | ) |
Definition at line 142 of file vec_mat_aux.cc.
int inverse | ( | const EST_FMatrix & | a, |
EST_FMatrix & | inv | ||
) |
inverse
Definition at line 298 of file vec_mat_aux.cc.
int inverse | ( | const EST_FMatrix & | a, |
EST_FMatrix & | inv, | ||
int & | singularity | ||
) |
Definition at line 304 of file vec_mat_aux.cc.
int pseudo_inverse | ( | const EST_FMatrix & | a, |
EST_FMatrix & | inv | ||
) |
pseudo inverse (for non-square matrices)
Definition at line 405 of file vec_mat_aux.cc.
int pseudo_inverse | ( | const EST_FMatrix & | a, |
EST_FMatrix & | inv, | ||
int & | singularity | ||
) |
Definition at line 411 of file vec_mat_aux.cc.
void eye | ( | EST_FMatrix & | a, |
const ssize_t | n | ||
) |
some useful matrix creators make an identity matrix of dimension n
Definition at line 473 of file vec_mat_aux.cc.
void eye | ( | EST_FMatrix & | a | ) |
make already square matrix into I without resizing
Definition at line 486 of file vec_mat_aux.cc.
void est_seed | ( | ) |
the user should use est_seed to seed the random number generator
Definition at line 705 of file vec_mat_aux.cc.
void est_seed48 | ( | ) |
void make_random_vector | ( | EST_FVector & | M, |
const float | scale | ||
) |
all elements are randomised
Definition at line 612 of file vec_mat_aux.cc.
void make_random_matrix | ( | EST_FMatrix & | M, |
const float | scale | ||
) |
all elements are randomised
Definition at line 599 of file vec_mat_aux.cc.
void make_random_diagonal_matrix | ( | EST_FMatrix & | M, |
const float | scale | ||
) |
used for variance
Definition at line 644 of file vec_mat_aux.cc.
void make_random_symmetric_matrix | ( | EST_FMatrix & | M, |
const float | scale | ||
) |
used for covariance
Definition at line 624 of file vec_mat_aux.cc.
void make_poly_basis_function | ( | EST_FMatrix & | T, |
EST_FVector | t | ||
) |
Definition at line 660 of file vec_mat_aux.cc.
EST_FVector add | ( | const EST_FVector & | a, |
const EST_FVector & | b | ||
) |
elementwise add
Definition at line 501 of file vec_mat_aux.cc.
EST_FVector subtract | ( | const EST_FVector & | a, |
const EST_FVector & | b | ||
) |
elementwise subtract
Definition at line 519 of file vec_mat_aux.cc.
void symmetrize | ( | EST_FMatrix & | a | ) |
enforce symmetry
Definition at line 564 of file vec_mat_aux.cc.
void stack_matrix | ( | const EST_FMatrix & | M, |
EST_FVector & | v | ||
) |
stack columns on top of each other to make a vector
Definition at line 588 of file vec_mat_aux.cc.
void inplace_diagonalise | ( | EST_FMatrix & | a | ) |
inplace diagonalise
Definition at line 176 of file vec_mat_aux.cc.
float determinant | ( | const EST_FMatrix & | a | ) |
Definition at line 436 of file vec_mat_aux.cc.
int singular | ( | EST_FMatrix & | a | ) |
not implemented ??
void transpose | ( | const EST_FMatrix & | a, |
EST_FMatrix & | b | ||
) |
exchange rows and columns
Definition at line 244 of file vec_mat_aux.cc.
EST_FMatrix triangulate | ( | const EST_FMatrix & | a | ) |
Definition at line 232 of file vec_mat_aux.cc.
EST_FMatrix diagonalise | ( | const EST_FMatrix & | a | ) |
extract leading diagonal as a matrix
Definition at line 158 of file vec_mat_aux.cc.
EST_FVector diagonal | ( | const EST_FMatrix & | a | ) |
extract leading diagonal as a vector
Definition at line 537 of file vec_mat_aux.cc.
float sum | ( | const EST_FMatrix & | a | ) |
sum of elements
Definition at line 147 of file vec_mat_aux.cc.
void multiply | ( | const EST_FMatrix & | a, |
const EST_FMatrix & | b, | ||
EST_FMatrix & | c | ||
) |
Definition at line 306 of file EST_FMatrix.cc.
ssize_t floor_matrix | ( | EST_FMatrix & | M, |
const float | floor | ||
) |
Definition at line 676 of file vec_mat_aux.cc.
EST_FMatrix cov_prod | ( | const EST_FVector & | v1, |
const EST_FVector & | v2 | ||
) |
matrix product of two vectors (#rows = length of first vector, #cols = length of second vector)
Definition at line 690 of file vec_mat_aux.cc.
EST_FMatrix operator* | ( | const EST_FMatrix & | a, |
const EST_FMatrix & | b | ||
) |
Definition at line 299 of file EST_FMatrix.cc.
EST_FMatrix operator- | ( | const EST_FMatrix & | a, |
const EST_FMatrix & | b | ||
) |
Definition at line 159 of file EST_FMatrix.cc.
EST_FMatrix operator+ | ( | const EST_FMatrix & | a, |
const EST_FMatrix & | b | ||
) |
Definition at line 137 of file EST_FMatrix.cc.
EST_FVector operator- | ( | const EST_FVector & | a, |
const EST_FVector & | b | ||
) |
Definition at line 249 of file EST_FMatrix.cc.
EST_FVector operator+ | ( | const EST_FVector & | a, |
const EST_FVector & | b | ||
) |
Definition at line 232 of file EST_FMatrix.cc.
EST_FMatrix sub | ( | const EST_FMatrix & | a, |
ssize_t | row, | ||
ssize_t | col | ||
) |
Definition at line 187 of file vec_mat_aux.cc.
EST_FMatrix fmatrix_abs | ( | const EST_FMatrix & | a | ) |
Definition at line 270 of file vec_mat_aux.cc.
EST_FMatrix row | ( | const EST_FMatrix & | a, |
ssize_t | row | ||
) |
Definition at line 210 of file vec_mat_aux.cc.
EST_FMatrix column | ( | const EST_FMatrix & | a, |
ssize_t | col | ||
) |
Definition at line 221 of file vec_mat_aux.cc.
bool polynomial_fit | ( | EST_FVector & | x, |
EST_FVector & | y, | ||
EST_FVector & | co_effs, | ||
int | order | ||
) |
least squares fit
Definition at line 49 of file vec_mat_aux.cc.
bool polynomial_fit | ( | EST_FVector & | x, |
EST_FVector & | y, | ||
EST_FVector & | co_effs, | ||
EST_FVector & | weights, | ||
int | order | ||
) |
weighted least squares fit
Definition at line 60 of file vec_mat_aux.cc.
float polynomial_value | ( | const EST_FVector & | coeffs, |
const float | x | ||
) |
Definition at line 554 of file vec_mat_aux.cc.
float operator* | ( | const EST_FVector & | v1, |
const EST_FVector & | v2 | ||
) |
vector dot product
Definition at line 823 of file EST_FMatrix.cc.