Edinburgh Speech Tools  2.1-release
EST_FMatrix.h File Reference
#include <cstdlib>
#include "EST_TSimpleMatrix.h"
#include "EST_TSimpleVector.h"
#include "EST_Val.h"
#include "EST_Val_defs.h"
Include dependency graph for EST_FMatrix.h:
This graph shows which files directly or indirectly include this file:

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...
 

Function Documentation

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.