#include <vector>
#include <math.h>
#include "doubleEq.h"
#include <iostream>
#include "MatrixOps.h"
Functions | |
void | matPrint (Matrix *A) |
void | vecPrint (Vector *v) |
Matrix * | matMatMul (Matrix *A, Matrix *B) |
void | matMatMul (Matrix *A, Matrix *B, unsigned int resIndex) |
void | triMatMul (Matrix *A, Matrix *B) |
void | matPermMul (Matrix *A, vector< unsigned int > *swaps) |
Matrix * | matMatAdd (const Matrix *A, const Matrix *B, double alpha, double beta) |
void | matMatAdd (Matrix *A, Matrix *B, double alpha, double beta, unsigned int resIndex) |
Matrix * | matEyeAdd (const Matrix *A, double k) |
void | matEyeAdd (Matrix *A, double k, unsigned int dummy) |
Matrix * | matScalShift (const Matrix *A, double mul, double add) |
void | matScalShift (Matrix *A, double mul, double add, unsigned int dummy) |
Vector * | vecMatMul (const Vector *v, Matrix *A) |
Vector * | vecScalShift (const Vector *v, double scal, double shift) |
void | vecScalShift (Vector *v, double scal, double shift, unsigned int dummy) |
Vector * | matVecMul (Matrix *A, Vector *v) |
Vector * | vecVecScalAdd (const Vector *v1, const Vector *v2, double alpha, double beta) |
void | vecVecScalAdd (Vector *v1, Vector *v2, double alpha, double beta, unsigned int dummy) |
double | matTrace (Matrix *A) |
double | matColNorm (Matrix *A) |
Matrix * | matTrans (Matrix *A) |
double | doPartialPivot (Matrix *A, unsigned int row, unsigned int col, vector< unsigned int > *swaps) |
void | matInv (Matrix *A, vector< unsigned int > *swaps, Matrix *invA) |
Matrix * | matAlloc (unsigned int n) |
Vector * | vecAlloc (unsigned int n) |
double doPartialPivot | ( | Matrix * | A, | |
unsigned int | row, | |||
unsigned int | col, | |||
vector< unsigned int > * | swaps | |||
) |
Matrix* matAlloc | ( | unsigned int | n | ) |
Referenced by MarkovSolverBase::init(), matEyeAdd(), matInv(), matMatAdd(), matMatMul(), matScalShift(), and matTrans().
double matColNorm | ( | Matrix * | A | ) |
Referenced by MarkovSolver::computeMatrixExponential().
void matEyeAdd | ( | Matrix * | A, | |
double | k, | |||
unsigned int | dummy | |||
) |
References matAlloc().
Referenced by MarkovSolver::computeMatrixExponential().
References doPartialPivot(), doubleEq(), EPSILON, matAlloc(), matPermMul(), and triMatMul().
References matAlloc().
Referenced by MarkovSolver::computeMatrixExponential(), and matMatMul().
void matPrint | ( | Matrix * | A | ) |
void matScalShift | ( | Matrix * | A, | |
double | mul, | |||
double | add, | |||
unsigned int | dummy | |||
) |
References matAlloc().
Referenced by MarkovSolver::computeMatrixExponential().
double matTrace | ( | Matrix * | A | ) |
Referenced by MarkovSolver::computeMatrixExponential().
Vector* vecAlloc | ( | unsigned int | n | ) |
Referenced by matVecMul(), vecMatMul(), vecScalShift(), and vecVecScalAdd().
References vecAlloc().
Referenced by MarkovSolverBase::bilinearInterpolate(), and MarkovSolverBase::linearInterpolate().
void vecPrint | ( | Vector * | v | ) |
void vecScalShift | ( | Vector * | v, | |
double | scal, | |||
double | shift, | |||
unsigned int | dummy | |||
) |
References vecAlloc().
Referenced by MarkovSolverBase::bilinearInterpolate(), and MarkovSolverBase::linearInterpolate().