375 return matrix * value;
Implementation of variable-size mathematical matrix with double precision elements.
double GetTrace() const
Get trace of this matrix.
bool Serialize(iser::IArchive &archive)
void GetTransposed(CVarMatrix &result) const
Get transposed matrix.
CVarMatrix()
Create empty matrix.
double GetFrobeniusNorm() const
bool operator!=(const CVarMatrix &matrix) const
void Clear()
Set all matrix cells to zero.
bool GetSolvedTriangle(const CVarMatrix &vector, CVarMatrix &result, double accuracy=I_BIG_EPSILON) const
Solving of linear system with triangle matrix.
void InitToIdentity(int size)
Create identity matrix.
double GetFrobeniusNorm2() const
double GetMaxElement() const
Get maximal element.
istd::TArray< double, 2 > BaseClass
bool operator==(const CVarMatrix &matrix) const
void GetColumnVector(int columnIndex, CVarVector &result)
Get single column as vector.
void GetSubstracted(const CVarMatrix &matrix, CVarMatrix &result) const
Get result of substraction of two matrices.
void GetAdded(const CVarMatrix &matrix, CVarMatrix &result) const
Get sum of two matrices.
CVarMatrix(const CVarVector &vector, bool isTransposed=false)
Create matrix from vector.
CVarMatrix GetTransposed() const
Get transposed matrix.
bool TransformR(int firstPartWidth)
Transform this matrix in place.
CVarMatrix(const CVarMatrix &matrix)
Copy constructor.
void Transpose()
Transpose matrix.
CVarMatrix operator+(const CVarMatrix &b) const
void GetMultiplied(const CVarMatrix &matrix, CVarMatrix &result) const
Get result of multiplication of two matrices.
CVarMatrix(istd::CIndex2d size)
Create matrix with specified size.
double GetElementAt(int x, int y) const
bool GetDecompositionQDQ(CVarMatrix &matrixQ, CVarVector &diagonalD, double tolerance=I_BIG_EPSILON, int maxIterations=100) const
Calculate decomposition in form of QDQ where Q is orthogonal matrix and D is diagonal one.
void GetScaled(double value, CVarMatrix &result) const
Get result of multiplication of this matrix with scalar value.
void GetNegated(CVarMatrix &result)
Get result matrix with negated all elements.
double & GetElementRef(int x, int y)
void GetRowVector(int rowIndex, CVarVector &result)
Get single row as vector.
CVarMatrix operator*(const CVarMatrix &b) const
bool GetSolvedLSP(const CVarMatrix &vector, CVarMatrix &result, double minHhNorm=I_BIG_EPSILON) const
Solve 'Least Square Problem'.
static void SolveRobustLSP(CVarMatrix matrixA, CVarMatrix &matrixY, CVarMatrix &matrixX, double minHhNorm=I_BIG_EPSILON)
Solve 'Least Square Problem' using robust algorithm.
double GetMinElement() const
bool GetTriangleDecomposed(CVarMatrix &result, CVarMatrix *matrix2Ptr=NULL, int maxColumns=-1, double minHhNorm=I_BIG_EPSILON) const
Transform matrix to upper triangle form using method of Householder reflexions.
Implementation of variable-size mathematical vector with double precision elements.
Represents an input/output persistence archive for object serialization.
Index implementation for addressing elements in 2D-space.
Multidimensional array with fixed number of dimensions.
static const double I_BIG_EPSILON
Package with mathematical functions and algebraical primitives.
CVarMatrix operator*(double value, const imath::CVarMatrix &matrix)
Contains general persistence mechanism with basic archives implementations.