26#ifndef __AUDACITY_MATRIX__
27#define __AUDACITY_MATRIX__
38 Vector(
unsigned len,
double *data=NULL);
39 Vector(
unsigned len,
float *data);
48 inline unsigned Len()
const {
return mN; }
61 Matrix(
unsigned rows,
unsigned cols,
double **data=NULL);
71 void SwapRows(
unsigned i,
unsigned j);
106 unsigned startRow,
unsigned numRows,
107 unsigned startCol,
unsigned numCols);
Matrix TransposeMatrix(const Matrix &M)
Matrix IdentityMatrix(unsigned N)
Vector VectorConcatenate(const Vector &left, const Vector &right)
Vector operator-(const Vector &left, const Vector &right)
Vector operator+(const Vector &left, const Vector &right)
bool InvertMatrix(const Matrix &input, Matrix &Minv)
Matrix MatrixConcatenateCols(const Matrix &left, const Matrix &right)
Vector operator*(const Vector &left, const Vector &right)
Vector VectorSubset(const Vector &other, unsigned start, unsigned len)
Matrix ScalarMultiply(const Matrix &left, const Matrix &right)
Matrix MatrixSubset(const Matrix &M, unsigned startRow, unsigned numRows, unsigned startCol, unsigned numCols)
Matrix MatrixMultiply(const Matrix &left, const Matrix &right)
Holds a matrix of doubles and supports arithmetic, subsetting, and matrix inversion....
Matrix(const Matrix ©From)
Matrix & operator=(const Matrix &other)
ArrayOf< Vector > mRowVec
void SwapRows(unsigned i, unsigned j)
Vector & operator[](unsigned i) const
void CopyFrom(const Matrix &other)
Vector & operator[](unsigned i)
Holds a matrix of doubles and supports arithmetic operations, including Vector-Matrix operations....
double operator[](unsigned i) const
void Reinit(unsigned len)
Vector & operator=(const Vector &other)
double & operator[](unsigned i)