CS is total spacing between columns in memory (default M) RS is total spacing between rows in memory (default 1). More...
#include <Mat.h>
Classes | |
struct | EltResult |
struct | Result |
struct | SubMat |
struct | Substitute |
Public Types | |
enum | { NRows = M, NCols = N, MinDim = N < M ? N : M, MaxDim = N > M ? N : M, RowSpacing = RS, ColSpacing = CS, NPackedElements = M * N, NActualElements = (N-1)*CS + (M-1)*RS + 1, NActualScalars = CNT<E>::NActualScalars * NActualElements, ImagOffset = NTraits<ENumber>::ImagOffset, RealStrideFactor = 1, ArgDepth, IsScalar = 0, IsULessScalar = 0, IsNumber = 0, IsStdNumber = 0, IsPrecision = 0, SignInterpretation = CNT<E>::SignInterpretation } |
typedef Mat< M, N, E, CS, RS > | T |
typedef Mat< M, N, ENeg, CS, RS > | TNeg |
typedef Mat< M, N, EWithoutNegator, CS, RS > | TWithoutNegator |
typedef Mat< M, N, EReal, CS *CNT< E >::RealStrideFactor, RS *CNT< E >::RealStrideFactor > | TReal |
typedef Mat< M, N, EImag, CS *CNT< E >::RealStrideFactor, RS *CNT< E >::RealStrideFactor > | TImag |
typedef Mat< M, N, EComplex, CS, RS > | TComplex |
typedef Mat< N, M, EHerm, RS, CS > | THerm |
typedef Mat< N, M, E, RS, CS > | TPosTrans |
typedef E | TElement |
typedef Row< N, E, CS > | TRow |
typedef Vec< M, E, RS > | TCol |
typedef Vec< MinDim, E, RS+CS > | TDiag |
typedef Mat< M, N, ESqrt, M, 1 > | TSqrt |
typedef Mat< M, N, EAbs, M, 1 > | TAbs |
typedef Mat< M, N, EStandard, M, 1 > | TStandard |
typedef Mat< N, M, EInvert, N, 1 > | TInvert |
typedef Mat< M, N, ENormalize, M, 1 > | TNormalize |
typedef SymMat< N, ESqHermT > | TSqHermT |
typedef SymMat< M, ESqTHerm > | TSqTHerm |
typedef Mat< M, N, E, M, 1 > | TPacked |
typedef Mat< M-1, N, E, M, 1 > | TDropRow |
typedef Mat< M, N-1, E, M, 1 > | TDropCol |
typedef Mat< M-1, N-1, E, M, 1 > | TDropRowCol |
typedef Mat< M+1, N, E, M, 1 > | TAppendRow |
typedef Mat< M, N+1, E, M, 1 > | TAppendCol |
typedef Mat< M+1, N+1, E, M, 1 > | TAppendRowCol |
typedef EScalar | Scalar |
typedef EULessScalar | ULessScalar |
typedef ENumber | Number |
typedef EStdNumber | StdNumber |
typedef EPrecision | Precision |
typedef EScalarNormSq | ScalarNormSq |
typedef THerm | TransposeType |
Public Member Functions | |
int | size () const |
int | nrow () const |
int | ncol () const |
ScalarNormSq | scalarNormSqr () const |
TSqrt | sqrt () const |
TAbs | abs () const |
TStandard | standardize () const |
Mat () | |
Mat (const Mat &src) | |
Mat & | operator= (const Mat &src) |
Mat (const SymMat< M, ELT > &src) | |
template<int CSS, int RSS> | |
Mat (const Mat< M, N, E, CSS, RSS > &src) | |
template<int CSS, int RSS> | |
Mat (const Mat< M, N, ENeg, CSS, RSS > &src) | |
template<class EE , int CSS, int RSS> | |
Mat (const Mat< M, N, EE, CSS, RSS > &mm) | |
Mat (const E &e) | |
Mat (const E &e0, const E &e1) | |
Mat (const E &e0, const E &e1, const E &e2) | |
Mat (const E &e0, const E &e1, const E &e2, const E &e3) | |
Mat (const E &e0, const E &e1, const E &e2, const E &e3, const E &e4) | |
Mat (const E &e0, const E &e1, const E &e2, const E &e3, const E &e4, const E &e5) | |
Mat (const E &e0, const E &e1, const E &e2, const E &e3, const E &e4, const E &e5, const E &e6) | |
Mat (const E &e0, const E &e1, const E &e2, const E &e3, const E &e4, const E &e5, const E &e6, const E &e7) | |
Mat (const E &e0, const E &e1, const E &e2, const E &e3, const E &e4, const E &e5, const E &e6, const E &e7, const E &e8) | |
Mat (const E &e0, const E &e1, const E &e2, const E &e3, const E &e4, const E &e5, const E &e6, const E &e7, const E &e8, const E &e9) | |
Mat (const E &e0, const E &e1, const E &e2, const E &e3, const E &e4, const E &e5, const E &e6, const E &e7, const E &e8, const E &e9, const E &e10) | |
Mat (const E &e0, const E &e1, const E &e2, const E &e3, const E &e4, const E &e5, const E &e6, const E &e7, const E &e8, const E &e9, const E &e10, const E &e11) | |
Mat (const E &e0, const E &e1, const E &e2, const E &e3, const E &e4, const E &e5, const E &e6, const E &e7, const E &e8, const E &e9, const E &e10, const E &e11, const E &e12) | |
Mat (const E &e0, const E &e1, const E &e2, const E &e3, const E &e4, const E &e5, const E &e6, const E &e7, const E &e8, const E &e9, const E &e10, const E &e11, const E &e12, const E &e13) | |
Mat (const E &e0, const E &e1, const E &e2, const E &e3, const E &e4, const E &e5, const E &e6, const E &e7, const E &e8, const E &e9, const E &e10, const E &e11, const E &e12, const E &e13, const E &e14) | |
Mat (const E &e0, const E &e1, const E &e2, const E &e3, const E &e4, const E &e5, const E &e6, const E &e7, const E &e8, const E &e9, const E &e10, const E &e11, const E &e12, const E &e13, const E &e14, const E &e15) | |
Mat (const TRow &r0) | |
Mat (const TRow &r0, const TRow &r1) | |
Mat (const TRow &r0, const TRow &r1, const TRow &r2) | |
Mat (const TRow &r0, const TRow &r1, const TRow &r2, const TRow &r3) | |
Mat (const TRow &r0, const TRow &r1, const TRow &r2, const TRow &r3, const TRow &r4) | |
Mat (const TRow &r0, const TRow &r1, const TRow &r2, const TRow &r3, const TRow &r4, const TRow &r5) | |
template<class EE , int SS> | |
Mat (const Row< N, EE, SS > &r0) | |
template<class EE , int SS> | |
Mat (const Row< N, EE, SS > &r0, const Row< N, EE, SS > &r1) | |
template<class EE , int SS> | |
Mat (const Row< N, EE, SS > &r0, const Row< N, EE, SS > &r1, const Row< N, EE, SS > &r2) | |
template<class EE , int SS> | |
Mat (const Row< N, EE, SS > &r0, const Row< N, EE, SS > &r1, const Row< N, EE, SS > &r2, const Row< N, EE, SS > &r3) | |
template<class EE , int SS> | |
Mat (const Row< N, EE, SS > &r0, const Row< N, EE, SS > &r1, const Row< N, EE, SS > &r2, const Row< N, EE, SS > &r3, const Row< N, EE, SS > &r4) | |
template<class EE , int SS> | |
Mat (const Row< N, EE, SS > &r0, const Row< N, EE, SS > &r1, const Row< N, EE, SS > &r2, const Row< N, EE, SS > &r3, const Row< N, EE, SS > &r4, const Row< N, EE, SS > &r5) | |
Mat (const TCol &r0) | |
Mat (const TCol &r0, const TCol &r1) | |
Mat (const TCol &r0, const TCol &r1, const TCol &r2) | |
Mat (const TCol &r0, const TCol &r1, const TCol &r2, const TCol &r3) | |
Mat (const TCol &r0, const TCol &r1, const TCol &r2, const TCol &r3, const TCol &r4) | |
Mat (const TCol &r0, const TCol &r1, const TCol &r2, const TCol &r3, const TCol &r4, const TCol &r5) | |
template<class EE , int SS> | |
Mat (const Vec< M, EE, SS > &r0) | |
template<class EE , int SS> | |
Mat (const Vec< M, EE, SS > &r0, const Vec< M, EE, SS > &r1) | |
template<class EE , int SS> | |
Mat (const Vec< M, EE, SS > &r0, const Vec< M, EE, SS > &r1, const Vec< M, EE, SS > &r2) | |
template<class EE , int SS> | |
Mat (const Vec< M, EE, SS > &r0, const Vec< M, EE, SS > &r1, const Vec< M, EE, SS > &r2, const Vec< M, EE, SS > &r3) | |
template<class EE , int SS> | |
Mat (const Vec< M, EE, SS > &r0, const Vec< M, EE, SS > &r1, const Vec< M, EE, SS > &r2, const Vec< M, EE, SS > &r3, const Vec< M, EE, SS > &r4) | |
template<class EE , int SS> | |
Mat (const Vec< M, EE, SS > &r0, const Vec< M, EE, SS > &r1, const Vec< M, EE, SS > &r2, const Vec< M, EE, SS > &r3, const Vec< M, EE, SS > &r4, const Vec< M, EE, SS > &r5) | |
template<class EE > | |
Mat (const EE *p) | |
template<class EE , int CSS, int RSS> | |
Mat & | operator= (const Mat< M, N, EE, CSS, RSS > &mm) |
template<class EE > | |
Mat & | operator= (const EE *p) |
template<class EE , int CSS, int RSS> | |
Mat & | operator+= (const Mat< M, N, EE, CSS, RSS > &mm) |
template<class EE , int CSS, int RSS> | |
Mat & | operator+= (const Mat< M, N, negator< EE >, CSS, RSS > &mm) |
template<class EE , int CSS, int RSS> | |
Mat & | operator-= (const Mat< M, N, EE, CSS, RSS > &mm) |
template<class EE , int CSS, int RSS> | |
Mat & | operator-= (const Mat< M, N, negator< EE >, CSS, RSS > &mm) |
template<class EE , int CSS, int RSS> | |
Mat & | operator*= (const Mat< N, N, EE, CSS, RSS > &mm) |
template<class E2 , int CS2, int RS2> | |
Result< Mat< M, N, E2, CS2, RS2 > >::Add | conformingAdd (const Mat< M, N, E2, CS2, RS2 > &r) const |
template<class E2 , int CS2, int RS2> | |
Result< Mat< M, N, E2, CS2, RS2 > >::Sub | conformingSubtract (const Mat< M, N, E2, CS2, RS2 > &r) const |
template<class E2 , int CS2, int RS2> | |
Mat< M, N, E2, CS2, RS2 > ::template Result< Mat >::Sub | conformingSubtractFromLeft (const Mat< M, N, E2, CS2, RS2 > &l) const |
template<class E2 , int RS2> | |
Result< SymMat< M, E2, RS2 > >::Add | conformingAdd (const SymMat< M, E2, RS2 > &sy) const |
template<class E2 , int RS2> | |
Result< SymMat< M, E2, RS2 > >::Sub | conformingSubtract (const SymMat< M, E2, RS2 > &sy) const |
template<class E2 , int RS2> | |
SymMat< M, E2, RS2 >::template Result< Mat >::Sub | conformingSubtractFromLeft (const SymMat< M, E2, RS2 > &sy) const |
template<int N2, class E2 , int CS2, int RS2> | |
Result< Mat< N, N2, E2, CS2, RS2 > >::Mul | conformingMultiply (const Mat< N, N2, E2, CS2, RS2 > &m) const |
template<int M2, class E2 , int CS2, int RS2> | |
Mat< M2, M, E2, CS2, RS2 > ::template Result< Mat >::Mul | conformingMultiplyFromLeft (const Mat< M2, M, E2, CS2, RS2 > &m) const |
template<int M2, class E2 , int CS2, int RS2> | |
Result< Mat< M2, N, E2, CS2, RS2 > >::Dvd | conformingDivide (const Mat< M2, N, E2, CS2, RS2 > &m) const |
template<int M2, class E2 , int CS2, int RS2> | |
Mat< M2, N, E2, CS2, RS2 > ::template Result< Mat >::Dvd | conformingDivideFromLeft (const Mat< M2, N, E2, CS2, RS2 > &m) const |
const TRow & | operator[] (int i) const |
TRow & | operator[] (int i) |
const TCol & | operator() (int j) const |
TCol & | operator() (int j) |
const E & | operator() (int i, int j) const |
E & | operator() (int i, int j) |
ScalarNormSq | normSqr () const |
CNT< ScalarNormSq >::TSqrt | norm () const |
TNormalize | normalize () const |
TInvert | invert () const |
const Mat & | operator+ () const |
const TNeg & | operator- () const |
TNeg & | operator- () |
const THerm & | operator~ () const |
THerm & | operator~ () |
const TNeg & | negate () const |
TNeg & | updNegate () |
const THerm & | transpose () const |
THerm & | updTranspose () |
const TPosTrans & | positionalTranspose () const |
TPosTrans & | updPositionalTranspose () |
const TReal & | real () const |
TReal & | real () |
const TImag & | imag () const |
TImag & | imag () |
const TWithoutNegator & | castAwayNegatorIfAny () const |
TWithoutNegator & | updCastAwayNegatorIfAny () |
const TRow & | row (int i) const |
TRow & | row (int i) |
const TCol & | col (int j) const |
TCol & | col (int j) |
const TDiag & | diag () const |
TDiag & | diag () |
EStandard | trace () const |
template<class EE > | |
Mat< M, N, typename CNT< E > ::template Result< EE >::Mul > | scalarMultiply (const EE &e) const |
template<class EE > | |
Mat< M, N, typename CNT< EE > ::template Result< E >::Mul > | scalarMultiplyFromLeft (const EE &e) const |
template<class EE > | |
Mat< M, N, typename CNT< E > ::template Result< EE >::Dvd > | scalarDivide (const EE &e) const |
template<class EE > | |
Mat< M, N, typename CNT< EE > ::template Result< E >::Dvd > | scalarDivideFromLeft (const EE &e) const |
template<class EE > | |
Mat< M, N, typename CNT< E > ::template Result< EE >::Add > | scalarAdd (const EE &e) const |
template<class EE > | |
Mat< M, N, typename CNT< E > ::template Result< EE >::Sub > | scalarSubtract (const EE &e) const |
template<class EE > | |
Mat< M, N, typename CNT< EE > ::template Result< E >::Sub > | scalarSubtractFromLeft (const EE &e) const |
template<class EE > | |
Mat & | operator= (const EE &e) |
template<class EE > | |
Mat & | operator+= (const EE &e) |
template<class EE > | |
Mat & | operator-= (const EE &e) |
template<class EE > | |
Mat & | operator*= (const EE &e) |
template<class EE > | |
Mat & | operator/= (const EE &e) |
template<class EE > | |
Mat & | scalarEq (const EE &ee) |
template<class EE > | |
Mat & | scalarPlusEq (const EE &ee) |
template<class EE > | |
Mat & | scalarMinusEq (const EE &ee) |
template<class EE > | |
Mat & | scalarMinusEqFromLeft (const EE &ee) |
template<class EE > | |
Mat & | scalarTimesEq (const EE &ee) |
template<class EE > | |
Mat & | scalarTimesEqFromLeft (const EE &ee) |
template<class EE > | |
Mat & | scalarDivideEq (const EE &ee) |
template<class EE > | |
Mat & | scalarDivideEqFromLeft (const EE &ee) |
void | setToNaN () |
template<int MM, int NN> | |
const SubMat< MM, NN >::Type & | getSubMat (int i, int j) const |
template<int MM, int NN> | |
SubMat< MM, NN >::Type & | updSubMat (int i, int j) |
TDropRow | dropRow (int i) const |
Return a matrix one row smaller than this one by dropping row i. | |
TDropCol | dropCol (int j) const |
Return a matrix one column smaller than this one by dropping column j. | |
TDropRowCol | dropRowCol (int i, int j) const |
Return a matrix one row and one column smaller than this one by dropping row i and column j. | |
template<class EE , int SS> | |
TAppendRow | appendRow (const Row< N, EE, SS > &row) const |
Return a matrix one row larger than this one by adding a row to the end. | |
template<class EE , int SS> | |
TAppendCol | appendCol (const Vec< M, EE, SS > &col) const |
Return a matrix one column larger than this one by adding a column to the end. | |
template<class ER , int SR, class EC , int SC> | |
TAppendRowCol | appendRowCol (const Row< N+1, ER, SR > &row, const Vec< M+1, EC, SC > &col) const |
Return a matrix one row and one column larger than this one by adding a row to the bottom and a column to the right. | |
template<class EE , int SS> | |
TAppendRow | insertRow (int i, const Row< N, EE, SS > &row) const |
Return a matrix one row larger than this one by inserting a row before* row i. | |
template<class EE , int SS> | |
TAppendCol | insertCol (int j, const Vec< M, EE, SS > &col) const |
Return a matrix one column larger than this one by inserting a column before* column j. | |
template<class ER , int SR, class EC , int SC> | |
TAppendRowCol | insertRowCol (int i, int j, const Row< N+1, ER, SR > &row, const Vec< M+1, EC, SC > &col) const |
Return a matrix one row and one column larger than this one by inserting a row *before* row i and a column *before* column j. | |
TRow | sum () const |
Static Public Member Functions | |
static const Mat & | getAs (const ELT *p) |
static Mat & | updAs (ELT *p) |
static Mat< M, N, ELT, M, 1 > | getNaN () |
CS is total spacing between columns in memory (default M) RS is total spacing between rows in memory (default 1).
typedef ENumber Number |
typedef EPrecision Precision |
typedef EScalar Scalar |
typedef EScalarNormSq ScalarNormSq |
typedef EStdNumber StdNumber |
typedef Mat<M,N+1,E,M,1> TAppendCol |
typedef Mat<M+1,N,E,M,1> TAppendRow |
typedef Mat<M+1,N+1,E,M,1> TAppendRowCol |
typedef Mat<M-1,N-1,E,M,1> TDropRowCol |
typedef E TElement |
typedef Mat<M,N,ENormalize,M,1> TNormalize |
typedef THerm TransposeType |
typedef Mat<M,N,EWithoutNegator,CS,RS> TWithoutNegator |
typedef EULessScalar ULessScalar |
anonymous enum |
Mat | ( | ) | [inline] |
Mat | ( | const E & | e | ) | [inline, explicit] |
Mat | ( | const E & | e0, | |
const E & | e1 | |||
) | [inline] |
Mat | ( | const E & | e0, | |
const E & | e1, | |||
const E & | e2 | |||
) | [inline] |
Mat | ( | const E & | e0, | |
const E & | e1, | |||
const E & | e2, | |||
const E & | e3 | |||
) | [inline] |
Mat | ( | const E & | e0, | |
const E & | e1, | |||
const E & | e2, | |||
const E & | e3, | |||
const E & | e4 | |||
) | [inline] |
Mat | ( | const E & | e0, | |
const E & | e1, | |||
const E & | e2, | |||
const E & | e3, | |||
const E & | e4, | |||
const E & | e5 | |||
) | [inline] |
Mat | ( | const E & | e0, | |
const E & | e1, | |||
const E & | e2, | |||
const E & | e3, | |||
const E & | e4, | |||
const E & | e5, | |||
const E & | e6 | |||
) | [inline] |
Mat | ( | const E & | e0, | |
const E & | e1, | |||
const E & | e2, | |||
const E & | e3, | |||
const E & | e4, | |||
const E & | e5, | |||
const E & | e6, | |||
const E & | e7 | |||
) | [inline] |
Mat | ( | const E & | e0, | |
const E & | e1, | |||
const E & | e2, | |||
const E & | e3, | |||
const E & | e4, | |||
const E & | e5, | |||
const E & | e6, | |||
const E & | e7, | |||
const E & | e8 | |||
) | [inline] |
Mat | ( | const E & | e0, | |
const E & | e1, | |||
const E & | e2, | |||
const E & | e3, | |||
const E & | e4, | |||
const E & | e5, | |||
const E & | e6, | |||
const E & | e7, | |||
const E & | e8, | |||
const E & | e9 | |||
) | [inline] |
Mat | ( | const E & | e0, | |
const E & | e1, | |||
const E & | e2, | |||
const E & | e3, | |||
const E & | e4, | |||
const E & | e5, | |||
const E & | e6, | |||
const E & | e7, | |||
const E & | e8, | |||
const E & | e9, | |||
const E & | e10 | |||
) | [inline] |
Mat | ( | const E & | e0, | |
const E & | e1, | |||
const E & | e2, | |||
const E & | e3, | |||
const E & | e4, | |||
const E & | e5, | |||
const E & | e6, | |||
const E & | e7, | |||
const E & | e8, | |||
const E & | e9, | |||
const E & | e10, | |||
const E & | e11 | |||
) | [inline] |
Mat | ( | const E & | e0, | |
const E & | e1, | |||
const E & | e2, | |||
const E & | e3, | |||
const E & | e4, | |||
const E & | e5, | |||
const E & | e6, | |||
const E & | e7, | |||
const E & | e8, | |||
const E & | e9, | |||
const E & | e10, | |||
const E & | e11, | |||
const E & | e12 | |||
) | [inline] |
Mat | ( | const E & | e0, | |
const E & | e1, | |||
const E & | e2, | |||
const E & | e3, | |||
const E & | e4, | |||
const E & | e5, | |||
const E & | e6, | |||
const E & | e7, | |||
const E & | e8, | |||
const E & | e9, | |||
const E & | e10, | |||
const E & | e11, | |||
const E & | e12, | |||
const E & | e13 | |||
) | [inline] |
Mat | ( | const E & | e0, | |
const E & | e1, | |||
const E & | e2, | |||
const E & | e3, | |||
const E & | e4, | |||
const E & | e5, | |||
const E & | e6, | |||
const E & | e7, | |||
const E & | e8, | |||
const E & | e9, | |||
const E & | e10, | |||
const E & | e11, | |||
const E & | e12, | |||
const E & | e13, | |||
const E & | e14 | |||
) | [inline] |
Mat | ( | const E & | e0, | |
const E & | e1, | |||
const E & | e2, | |||
const E & | e3, | |||
const E & | e4, | |||
const E & | e5, | |||
const E & | e6, | |||
const E & | e7, | |||
const E & | e8, | |||
const E & | e9, | |||
const E & | e10, | |||
const E & | e11, | |||
const E & | e12, | |||
const E & | e13, | |||
const E & | e14, | |||
const E & | e15 | |||
) | [inline] |
Mat | ( | const TRow & | r0, | |
const TRow & | r1, | |||
const TRow & | r2, | |||
const TRow & | r3, | |||
const TRow & | r4 | |||
) | [inline] |
Mat | ( | const TRow & | r0, | |
const TRow & | r1, | |||
const TRow & | r2, | |||
const TRow & | r3, | |||
const TRow & | r4, | |||
const TRow & | r5 | |||
) | [inline] |
Mat | ( | const Row< N, EE, SS > & | r0, | |
const Row< N, EE, SS > & | r1, | |||
const Row< N, EE, SS > & | r2 | |||
) | [inline] |
Mat | ( | const Row< N, EE, SS > & | r0, | |
const Row< N, EE, SS > & | r1, | |||
const Row< N, EE, SS > & | r2, | |||
const Row< N, EE, SS > & | r3 | |||
) | [inline] |
Mat | ( | const Row< N, EE, SS > & | r0, | |
const Row< N, EE, SS > & | r1, | |||
const Row< N, EE, SS > & | r2, | |||
const Row< N, EE, SS > & | r3, | |||
const Row< N, EE, SS > & | r4 | |||
) | [inline] |
Mat | ( | const Row< N, EE, SS > & | r0, | |
const Row< N, EE, SS > & | r1, | |||
const Row< N, EE, SS > & | r2, | |||
const Row< N, EE, SS > & | r3, | |||
const Row< N, EE, SS > & | r4, | |||
const Row< N, EE, SS > & | r5 | |||
) | [inline] |
Mat | ( | const TCol & | r0, | |
const TCol & | r1, | |||
const TCol & | r2, | |||
const TCol & | r3, | |||
const TCol & | r4 | |||
) | [inline] |
Mat | ( | const TCol & | r0, | |
const TCol & | r1, | |||
const TCol & | r2, | |||
const TCol & | r3, | |||
const TCol & | r4, | |||
const TCol & | r5 | |||
) | [inline] |
Mat | ( | const Vec< M, EE, SS > & | r0, | |
const Vec< M, EE, SS > & | r1, | |||
const Vec< M, EE, SS > & | r2 | |||
) | [inline] |
Mat | ( | const Vec< M, EE, SS > & | r0, | |
const Vec< M, EE, SS > & | r1, | |||
const Vec< M, EE, SS > & | r2, | |||
const Vec< M, EE, SS > & | r3 | |||
) | [inline] |
Mat | ( | const Vec< M, EE, SS > & | r0, | |
const Vec< M, EE, SS > & | r1, | |||
const Vec< M, EE, SS > & | r2, | |||
const Vec< M, EE, SS > & | r3, | |||
const Vec< M, EE, SS > & | r4 | |||
) | [inline] |
Mat | ( | const Vec< M, EE, SS > & | r0, | |
const Vec< M, EE, SS > & | r1, | |||
const Vec< M, EE, SS > & | r2, | |||
const Vec< M, EE, SS > & | r3, | |||
const Vec< M, EE, SS > & | r4, | |||
const Vec< M, EE, SS > & | r5 | |||
) | [inline] |
Mat | ( | const EE * | p | ) | [inline, explicit] |
TAbs abs | ( | ) | const [inline] |
Referenced by SimTK::abs(), and Mat< 3, 3 >::abs().
TAppendCol appendCol | ( | const Vec< M, EE, SS > & | col | ) | const [inline] |
Return a matrix one column larger than this one by adding a column to the end.
The result is packed but has same element type as this one. Works for any assignment compatible column.
Referenced by Mat< 3, 3 >::insertCol().
TAppendRow appendRow | ( | const Row< N, EE, SS > & | row | ) | const [inline] |
Return a matrix one row larger than this one by adding a row to the end.
The result is packed but has same element type as this one. Works for any assignment compatible row.
Referenced by Mat< 3, 3 >::insertRow().
TAppendRowCol appendRowCol | ( | const Row< N+1, ER, SR > & | row, | |
const Vec< M+1, EC, SC > & | col | |||
) | const [inline] |
Return a matrix one row and one column larger than this one by adding a row to the bottom and a column to the right.
The final element of the row is ignored; that value is taken from the final element of the column instead. The result is packed but has same element type as this one. Works for any assignment compatible row and column.
const TWithoutNegator& castAwayNegatorIfAny | ( | ) | const [inline] |
Referenced by Mat< 3, 3 >::normalize().
TCol& col | ( | int | j | ) | [inline] |
const TCol& col | ( | int | j | ) | const [inline] |
Reimplemented in Rotation, and InverseRotation.
Referenced by Mat< 3, 3 >::operator()(), SimTK::sort(), and Mat< 3, 3 >::sum().
Result<Mat<M,N,E2,CS2,RS2> >::Add conformingAdd | ( | const Mat< M, N, E2, CS2, RS2 > & | r | ) | const [inline] |
Result<Mat<M2,N,E2,CS2,RS2> >::Dvd conformingDivide | ( | const Mat< M2, N, E2, CS2, RS2 > & | m | ) | const [inline] |
Mat<M2,N,E2,CS2,RS2>::template Result<Mat>::Dvd conformingDivideFromLeft | ( | const Mat< M2, N, E2, CS2, RS2 > & | m | ) | const [inline] |
Mat<M2,M,E2,CS2,RS2>::template Result<Mat>::Mul conformingMultiplyFromLeft | ( | const Mat< M2, M, E2, CS2, RS2 > & | m | ) | const [inline] |
Result<SymMat<M,E2,RS2> >::Sub conformingSubtract | ( | const SymMat< M, E2, RS2 > & | sy | ) | const [inline] |
Result<Mat<M,N,E2,CS2,RS2> >::Sub conformingSubtract | ( | const Mat< M, N, E2, CS2, RS2 > & | r | ) | const [inline] |
Referenced by Mat< 3, 3 >::conformingSubtractFromLeft().
SymMat<M,E2,RS2>::template Result<Mat>::Sub conformingSubtractFromLeft | ( | const SymMat< M, E2, RS2 > & | sy | ) | const [inline] |
Mat<M,N,E2,CS2,RS2>::template Result<Mat>::Sub conformingSubtractFromLeft | ( | const Mat< M, N, E2, CS2, RS2 > & | l | ) | const [inline] |
TDiag& diag | ( | ) | [inline] |
const TDiag& diag | ( | ) | const [inline] |
Referenced by Inertia::getMoments(), Inertia::Inertia(), Mat< 3, 3 >::Mat(), Mat< 3, 3 >::scalarAdd(), Mat< 3, 3 >::scalarEq(), Mat< 3, 3 >::scalarMinusEq(), Mat< 3, 3 >::scalarMinusEqFromLeft(), Mat< 3, 3 >::scalarPlusEq(), Mat< 3, 3 >::scalarSubtract(), Mat< 3, 3 >::scalarSubtractFromLeft(), Inertia::setInertia(), SymMat< M, ELT, RS >::SymMat(), and Mat< 3, 3 >::trace().
TDropCol dropCol | ( | int | j | ) | const [inline] |
Return a matrix one column smaller than this one by dropping column j.
The result is packed but has same element type as this one.
TDropRow dropRow | ( | int | i | ) | const [inline] |
Return a matrix one row smaller than this one by dropping row i.
The result is packed but has same element type as this one.
TDropRowCol dropRowCol | ( | int | i, | |
int | j | |||
) | const [inline] |
Return a matrix one row and one column smaller than this one by dropping row i and column j.
The result is packed but has same element type as this one.
static const Mat& getAs | ( | const ELT * | p | ) | [inline, static] |
Referenced by Transform::asMat34(), and Mat< 3, 3 >::getSubMat().
static Mat<M,N,ELT,M,1> getNaN | ( | ) | [inline, static] |
const SubMat<MM,NN>::Type& getSubMat | ( | int | i, | |
int | j | |||
) | const [inline] |
Referenced by MassProperties::toMat66().
TImag& imag | ( | ) | [inline] |
const TImag& imag | ( | ) | const [inline] |
TAppendCol insertCol | ( | int | j, | |
const Vec< M, EE, SS > & | col | |||
) | const [inline] |
Return a matrix one column larger than this one by inserting a column before* column j.
The result is packed but has same element type as this one. Works for any assignment compatible column. The index can be one greater than normally allowed in which case the column is appended.
TAppendRow insertRow | ( | int | i, | |
const Row< N, EE, SS > & | row | |||
) | const [inline] |
Return a matrix one row larger than this one by inserting a row before* row i.
The result is packed but has same element type as this one. Works for any assignment compatible row. The index can be one greater than normally allowed in which case the row is appended.
TAppendRowCol insertRowCol | ( | int | i, | |
int | j, | |||
const Row< N+1, ER, SR > & | row, | |||
const Vec< M+1, EC, SC > & | col | |||
) | const [inline] |
Return a matrix one row and one column larger than this one by inserting a row *before* row i and a column *before* column j.
The intersecting element of the row is ignored; that element is taken from the column. The result is packed but has same element type as this one. Works for any assignment compatible row and column. The indices can be one greater than normally allowed in which case the row or column is appended.
Reimplemented in Rotation, and InverseRotation.
References SimTK::inverse().
Referenced by Mat< 3, 3 >::conformingDivide().
int ncol | ( | ) | const [inline] |
const TNeg& negate | ( | ) | const [inline] |
Referenced by Mat< 3, 3 >::operator-().
CNT<ScalarNormSq>::TSqrt norm | ( | ) | const [inline] |
Referenced by Mat< 3, 3 >::normalize().
TNormalize normalize | ( | ) | const [inline] |
Referenced by Mat< 3, 3 >::normalize().
ScalarNormSq normSqr | ( | ) | const [inline] |
int nrow | ( | ) | const [inline] |
E& operator() | ( | int | i, | |
int | j | |||
) | [inline] |
const E& operator() | ( | int | i, | |
int | j | |||
) | const [inline] |
TCol& operator() | ( | int | j | ) | [inline] |
const TCol& operator() | ( | int | j | ) | const [inline] |
Reimplemented in Rotation, and InverseRotation.
Mat& operator*= | ( | const EE & | e | ) | [inline] |
const Mat& operator+ | ( | ) | const [inline] |
Mat& operator+= | ( | const EE & | e | ) | [inline] |
TNeg& operator- | ( | ) | [inline] |
const TNeg& operator- | ( | ) | const [inline] |
Mat& operator-= | ( | const EE & | e | ) | [inline] |
Mat& operator/= | ( | const EE & | e | ) | [inline] |
Mat& operator= | ( | const EE & | e | ) | [inline] |
Mat& operator= | ( | const EE * | p | ) | [inline] |
Referenced by InverseRotation::operator=().
TRow& operator[] | ( | int | i | ) | [inline] |
const TRow& operator[] | ( | int | i | ) | const [inline] |
Reimplemented in Rotation, and InverseRotation.
THerm& operator~ | ( | ) | [inline] |
Reimplemented in Rotation, and InverseRotation.
const THerm& operator~ | ( | ) | const [inline] |
Reimplemented in Rotation, and InverseRotation.
const TPosTrans& positionalTranspose | ( | ) | const [inline] |
TReal& real | ( | ) | [inline] |
const TReal& real | ( | ) | const [inline] |
TRow& row | ( | int | i | ) | [inline] |
const TRow& row | ( | int | i | ) | const [inline] |
Reimplemented in Rotation, and InverseRotation.
Referenced by Mat< 3, 3 >::operator[]().
Referenced by Mat< 3, 3 >::scalarDivide().
Mat& scalarDivideEq | ( | const EE & | ee | ) | [inline] |
Referenced by Mat< 3, 3 >::operator/=(), and Mat< 3, 3 >::scalarDivideEq().
Mat& scalarDivideEqFromLeft | ( | const EE & | ee | ) | [inline] |
Referenced by Mat< 3, 3 >::scalarDivideEqFromLeft().
Mat<M,N, typename CNT<EE>::template Result<E>::Dvd> scalarDivideFromLeft | ( | const EE & | e | ) | const [inline] |
Referenced by Mat< 3, 3 >::scalarDivideFromLeft().
Mat& scalarEq | ( | const EE & | ee | ) | [inline] |
Referenced by Mat< 3, 3 >::operator=(), and Mat< 3, 3 >::scalarEq().
Mat& scalarMinusEq | ( | const EE & | ee | ) | [inline] |
Referenced by Mat< 3, 3 >::operator-=().
Mat& scalarMinusEqFromLeft | ( | const EE & | ee | ) | [inline] |
Referenced by Mat< 3, 3 >::scalarMultiply().
Mat<M,N, typename CNT<EE>::template Result<E>::Mul> scalarMultiplyFromLeft | ( | const EE & | e | ) | const [inline] |
Referenced by Mat< 3, 3 >::scalarMultiplyFromLeft().
ScalarNormSq scalarNormSqr | ( | ) | const [inline] |
Referenced by Mat< 3, 3 >::norm(), and Mat< 3, 3 >::normSqr().
Mat& scalarPlusEq | ( | const EE & | ee | ) | [inline] |
Referenced by Mat< 3, 3 >::operator+=().
Mat<M,N, typename CNT<EE>::template Result<E>::Sub> scalarSubtractFromLeft | ( | const EE & | e | ) | const [inline] |
Mat& scalarTimesEq | ( | const EE & | ee | ) | [inline] |
Referenced by Mat< 3, 3 >::operator*=(), Mat< 3, 3 >::scalarMinusEqFromLeft(), and Mat< 3, 3 >::scalarTimesEq().
Mat& scalarTimesEqFromLeft | ( | const EE & | ee | ) | [inline] |
Referenced by Mat< 3, 3 >::scalarTimesEqFromLeft().
void setToNaN | ( | ) | [inline] |
Referenced by Mat< 3, 3 >::getNaN(), Mat< 3, 3 >::Mat(), and Mat< 3, 3 >::setToNaN().
int size | ( | ) | const [inline] |
TSqrt sqrt | ( | ) | const [inline] |
Referenced by Mat< 3, 3 >::norm(), and Mat< 3, 3 >::sqrt().
TStandard standardize | ( | ) | const [inline] |
Referenced by Mat< 3, 3 >::standardize().
TRow sum | ( | ) | const [inline] |
Referenced by Mat< 3, 3 >::scalarNormSqr(), and SimTK::sum().
EStandard trace | ( | ) | const [inline] |
const THerm& transpose | ( | ) | const [inline] |
Reimplemented in Rotation, and InverseRotation.
Referenced by Mat< 3, 3 >::operator~().
static Mat& updAs | ( | ELT * | p | ) | [inline, static] |
Referenced by Mat< 3, 3 >::updSubMat().
TWithoutNegator& updCastAwayNegatorIfAny | ( | ) | [inline] |
TNeg& updNegate | ( | ) | [inline] |
Referenced by Mat< 3, 3 >::operator-().
TPosTrans& updPositionalTranspose | ( | ) | [inline] |
SubMat<MM,NN>::Type& updSubMat | ( | int | i, | |
int | j | |||
) | [inline] |
THerm& updTranspose | ( | ) | [inline] |
Reimplemented in Rotation, and InverseRotation.
Referenced by Mat< 3, 3 >::operator~().