#include <SymMat.h>
Public Types | |
enum | { NRows = M, NCols = M, NPackedElements = (M*(M+1))/2, NActualElements = RS * NPackedElements, NActualScalars = CNT<E>::NActualScalars * NActualElements, RowSpacing = RS, ColSpacing = NActualElements, ImagOffset = NTraits<ENumber>::ImagOffset, RealStrideFactor = 1, ArgDepth, IsScalar = 0, IsNumber = 0, IsStdNumber = 0, IsPrecision = 0, SignInterpretation = CNT<E>::SignInterpretation } |
typedef SymMat< M, E, RS > | T |
typedef SymMat< M, ENeg, RS > | TNeg |
typedef SymMat< M, EWithoutNegator, RS > | TWithoutNegator |
typedef SymMat< M, EReal, RS *CNT< E >::RealStrideFactor > | TReal |
typedef SymMat< M, EImag, RS *CNT< E >::RealStrideFactor > | TImag |
typedef SymMat< M, EComplex, RS > | TComplex |
typedef T | THerm |
typedef SymMat< M, EHerm, RS > | TPosTrans |
typedef E | TElement |
typedef Vec< M, E, RS > | TDiag |
typedef Vec<(M *(M-1))/2, E, RS | TLower ) |
typedef Vec<(M *(M-1))/2, EHerm, RS | TUpper ) |
typedef Vec<(M *(M+1))/2, E, RS | TAsVec ) |
typedef Row< M, E, 1 > | TRow |
typedef Vec< M, E, 1 > | TCol |
typedef SymMat< M, EAbs, 1 > | TAbs |
typedef SymMat< M, EStandard, 1 > | TStandard |
typedef SymMat< M, EInvert, 1 > | TInvert |
typedef SymMat< M, ENormalize, 1 > | TNormalize |
typedef SymMat< M, ESqHermT, 1 > | TSqHermT |
typedef SymMat< M, ESqTHerm, 1 > | TSqTHerm |
typedef SymMat< M, E, 1 > | TPacked |
typedef EScalar | Scalar |
typedef ENumber | Number |
typedef EStdNumber | StdNumber |
typedef EPrecision | Precision |
typedef EScalarSq | ScalarSq |
Public Member Functions | |
int | size () const |
int | nrow () const |
int | ncol () const |
ScalarSq | scalarNormSqr () const |
TAbs | abs () const |
TStandard | standardize () const |
StdNumber | trace () const |
SymMat () | |
SymMat (const SymMat &src) | |
SymMat & | operator= (const SymMat &src) |
template<class EE, int CSS, int RSS> | |
SymMat (const Mat< M, M, EE, CSS, RSS > &m) | |
template<int RSS> | |
SymMat (const SymMat< M, E, RSS > &src) | |
template<int RSS> | |
SymMat (const SymMat< M, ENeg, RSS > &src) | |
template<class EE, int RSS> | |
SymMat (const SymMat< M, EE, RSS > &src) | |
SymMat (const E &e) | |
template<class EE> | |
SymMat (const EE *p) | |
template<class EE> | |
SymMat & | operator= (const EE *p) |
template<class EE, int RSS> | |
SymMat & | operator= (const SymMat< M, EE, RSS > &mm) |
template<class EE, int RSS> | |
SymMat & | operator+= (const SymMat< M, EE, RSS > &mm) |
template<class EE, int RSS> | |
SymMat & | operator+= (const SymMat< M, negator< EE >, RSS > &mm) |
template<class EE, int RSS> | |
SymMat & | operator-= (const SymMat< M, EE, RSS > &mm) |
template<class EE, int RSS> | |
SymMat & | operator-= (const SymMat< M, negator< EE >, RSS > &mm) |
template<class EE, int RSS> | |
SymMat & | operator*= (const SymMat< M, EE, RSS > &mm) |
template<class E2, int RS2> | |
Result< SymMat< M, E2, RS2 > >::Add | conformingAdd (const SymMat< M, E2, RS2 > &r) const |
template<class E2, int RS2> | |
Result< SymMat< M, E2, RS2 > >::Sub | conformingSubtract (const SymMat< M, E2, RS2 > &r) const |
const E & | operator() (int i, int j) const |
E & | operator() (int i, int j) |
ScalarSq | normSqr () const |
ScalarSq | norm () const |
TNormalize | normalize () const |
TInvert | invert () const |
const SymMat & | 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 () |
template<class EE> | |
SymMat< M, typename CNT< E > ::template Result< EE >::Mul > | scalarMultiply (const EE &e) const |
template<class EE> | |
SymMat< M, typename CNT< EE > ::template Result< E >::Mul > | scalarMultiplyFromLeft (const EE &e) const |
template<class EE> | |
SymMat< M, typename CNT< E > ::template Result< EE >::Dvd > | scalarDivide (const EE &e) const |
template<class EE> | |
SymMat< M, typename CNT< EE > ::template Result< E >::Dvd > | scalarDivideFromLeft (const EE &e) const |
template<class EE> | |
SymMat< M, typename CNT< E > ::template Result< EE >::Add > | scalarAdd (const EE &e) const |
template<class EE> | |
SymMat< M, typename CNT< E > ::template Result< EE >::Sub > | scalarSubtract (const EE &e) const |
template<class EE> | |
SymMat< M, typename CNT< EE > ::template Result< E >::Sub > | scalarSubtractFromLeft (const EE &e) const |
template<class EE> | |
SymMat & | operator= (const EE &e) |
template<class EE> | |
SymMat & | operator+= (const EE &e) |
template<class EE> | |
SymMat & | operator-= (const EE &e) |
template<class EE> | |
SymMat & | operator*= (const EE &e) |
template<class EE> | |
SymMat & | operator/= (const EE &e) |
template<class EE> | |
SymMat & | scalarEq (const EE &ee) |
template<class EE> | |
SymMat & | scalarPlusEq (const EE &ee) |
template<class EE> | |
SymMat & | scalarMinusEq (const EE &ee) |
template<class EE> | |
SymMat & | scalarMinusEqFromLeft (const EE &ee) |
template<class EE> | |
SymMat & | scalarTimesEq (const EE &ee) |
template<class EE> | |
SymMat & | scalarTimesEqFromLeft (const EE &ee) |
template<class EE> | |
SymMat & | scalarDivideEq (const EE &ee) |
template<class EE> | |
SymMat & | scalarDivideEqFromLeft (const EE &ee) |
void | setToNaN () |
const TDiag & | getDiag () const |
TDiag & | updDiag () |
const TDiag & | diag () const |
TDiag & | diag () |
const TLower & | getLower () const |
TLower & | updLower () |
const TUpper & | getUpper () const |
TUpper & | updUpper () |
const TAsVec & | getAsVec () const |
TAsVec & | updAsVec () |
const E & | getEltLower (int i, int j) const |
E & | updEltLower (int i, int j) |
const EHerm & | getEltUpper (int i, int j) const |
EHerm & | updEltUpper (int i, int j) |
TRow | sum () const |
Static Public Member Functions | |
static const SymMat & | getAs (const ELT *p) |
static SymMat & | updAs (ELT *p) |
static TPacked | getNaN () |
Friends | |
class | SymMat |
Classes | |
struct | EltResult |
struct | Result |
struct | Substitute |
typedef SymMat<M,EWithoutNegator,RS> TWithoutNegator |
typedef E TElement |
typedef SymMat<M,ENormalize,1> TNormalize |
typedef EScalar Scalar |
typedef ENumber Number |
typedef EStdNumber StdNumber |
typedef EPrecision Precision |
typedef EScalarSq ScalarSq |
anonymous enum |
SymMat | ( | ) | [inline] |
References SymMat::setToNaN().
References SymMat::getAsVec(), and SymMat::updAsVec().
References Mat::diag(), fkinkryx::i, m, Vec::real(), SymMat::updDiag(), and SymMat::updEltLower().
References SymMat::getAsVec(), and SymMat::updAsVec().
References SymMat::getAsVec(), and SymMat::updAsVec().
References SymMat::getAsVec(), and SymMat::updAsVec().
SymMat | ( | const E & | e | ) | [inline, explicit] |
References SymMat::updDiag(), and SymMat::updLower().
SymMat | ( | const EE * | p | ) | [inline, explicit] |
References fkinkryx::i, SymMat::updDiag(), and SymMat::updEltLower().
int size | ( | ) | const [inline] |
int nrow | ( | ) | const [inline] |
int ncol | ( | ) | const [inline] |
ScalarSq scalarNormSqr | ( | ) | const [inline] |
References SymMat::getDiag(), SymMat::getLower(), and Vec::scalarNormSqr().
Referenced by SymMat::norm(), and SymMat::normSqr().
TAbs abs | ( | ) | const [inline] |
TStandard standardize | ( | ) | const [inline] |
References SymMat::getAsVec().
StdNumber trace | ( | ) | const [inline] |
References SymMat::getDiag(), and Vec::sum().
References SymMat::getAsVec(), and SymMat::updAsVec().
SymMat& operator= | ( | const EE * | p | ) | [inline] |
References fkinkryx::i, SymMat::updDiag(), and SymMat::updEltLower().
References SymMat::getAsVec(), and SymMat::updAsVec().
References SymMat::getAsVec(), and SymMat::updAsVec().
References SymMat::updAsVec().
References SymMat::getAsVec(), and SymMat::updAsVec().
References SymMat::updAsVec().
const E& operator() | ( | int | i, | |
int | j | |||
) | const [inline] |
References SymMat::getDiag(), and SymMat::getEltLower().
E& operator() | ( | int | i, | |
int | j | |||
) | [inline] |
References SymMat::updDiag(), and SymMat::updEltLower().
ScalarSq normSqr | ( | ) | const [inline] |
References SymMat::scalarNormSqr().
ScalarSq norm | ( | ) | const [inline] |
TNormalize normalize | ( | ) | const [inline] |
TInvert invert | ( | ) | const [inline] |
const SymMat& operator+ | ( | ) | const [inline] |
const TNeg& operator- | ( | ) | const [inline] |
References SymMat::negate().
TNeg& operator- | ( | ) | [inline] |
References SymMat::updNegate().
const THerm& operator~ | ( | ) | const [inline] |
References SymMat::transpose().
THerm& operator~ | ( | ) | [inline] |
References SymMat::updTranspose().
const TNeg& negate | ( | ) | const [inline] |
Referenced by SymMat::operator-().
TNeg& updNegate | ( | ) | [inline] |
Referenced by SymMat::operator-().
const THerm& transpose | ( | ) | const [inline] |
Referenced by SymMat::operator~().
THerm& updTranspose | ( | ) | [inline] |
Referenced by SymMat::operator~().
const TPosTrans& positionalTranspose | ( | ) | const [inline] |
TPosTrans& updPositionalTranspose | ( | ) | [inline] |
const TReal& real | ( | ) | const [inline] |
TReal& real | ( | ) | [inline] |
const TImag& imag | ( | ) | const [inline] |
References SymMat::ImagOffset.
TImag& imag | ( | ) | [inline] |
References SymMat::ImagOffset.
const TWithoutNegator& castAwayNegatorIfAny | ( | ) | const [inline] |
Referenced by SymMat::normalize().
TWithoutNegator& updCastAwayNegatorIfAny | ( | ) | [inline] |
References SymMat::getAsVec(), and SymMat::updAsVec().
SymMat<M, typename CNT<EE>::template Result<E>::Mul> scalarMultiplyFromLeft | ( | const EE & | e | ) | const [inline] |
References SymMat::getAsVec(), and SymMat::updAsVec().
References SymMat::getAsVec(), and SymMat::updAsVec().
SymMat<M, typename CNT<EE>::template Result<E>::Dvd> scalarDivideFromLeft | ( | const EE & | e | ) | const [inline] |
References SymMat::getAsVec(), and SymMat::updAsVec().
References SymMat::updDiag().
References SymMat::diag().
SymMat<M, typename CNT<EE>::template Result<E>::Sub> scalarSubtractFromLeft | ( | const EE & | e | ) | const [inline] |
References SymMat::diag().
SymMat& operator= | ( | const EE & | e | ) | [inline] |
References SymMat::scalarEq().
SymMat& operator+= | ( | const EE & | e | ) | [inline] |
References SymMat::scalarPlusEq().
SymMat& operator-= | ( | const EE & | e | ) | [inline] |
References SymMat::scalarMinusEq().
SymMat& operator*= | ( | const EE & | e | ) | [inline] |
References SymMat::scalarTimesEq().
SymMat& operator/= | ( | const EE & | e | ) | [inline] |
References SymMat::scalarDivideEq().
SymMat& scalarEq | ( | const EE & | ee | ) | [inline] |
SymMat& scalarPlusEq | ( | const EE & | ee | ) | [inline] |
SymMat& scalarMinusEq | ( | const EE & | ee | ) | [inline] |
SymMat& scalarMinusEqFromLeft | ( | const EE & | ee | ) | [inline] |
References Vec::scalarMinusEqFromLeft(), SymMat::updDiag(), and SymMat::updLower().
SymMat& scalarTimesEq | ( | const EE & | ee | ) | [inline] |
SymMat& scalarTimesEqFromLeft | ( | const EE & | ee | ) | [inline] |
References SymMat::updAsVec().
SymMat& scalarDivideEq | ( | const EE & | ee | ) | [inline] |
SymMat& scalarDivideEqFromLeft | ( | const EE & | ee | ) | [inline] |
References SymMat::updAsVec().
void setToNaN | ( | ) | [inline] |
static const SymMat& getAs | ( | const ELT * | p | ) | [inline, static] |
static SymMat& updAs | ( | ELT * | p | ) | [inline, static] |
static TPacked getNaN | ( | ) | [inline, static] |
const TDiag& getDiag | ( | ) | const [inline] |
References Vec::getAs().
Referenced by SymMat::diag(), SimTK::max(), SimTK::min(), SymMat::operator()(), SymMat::scalarNormSqr(), SymMat::sum(), and SymMat::trace().
TDiag& updDiag | ( | ) | [inline] |
const TDiag& diag | ( | ) | const [inline] |
References SymMat::getDiag().
Referenced by SymMat::scalarSubtract(), and SymMat::scalarSubtractFromLeft().
TDiag& diag | ( | ) | [inline] |
References SymMat::updDiag().
const TLower& getLower | ( | ) | const [inline] |
Referenced by SymMat::getEltLower(), SymMat::getUpper(), and SymMat::scalarNormSqr().
TLower& updLower | ( | ) | [inline] |
Referenced by SymMat::scalarEq(), SymMat::scalarMinusEqFromLeft(), SymMat::SymMat(), SymMat::updEltLower(), and SymMat::updUpper().
const TUpper& getUpper | ( | ) | const [inline] |
TUpper& updUpper | ( | ) | [inline] |
const TAsVec& getAsVec | ( | ) | const [inline] |
Referenced by SymMat::abs(), SymMat::conformingAdd(), SymMat::conformingSubtract(), SymMat::normalize(), SymMat::operator+=(), SymMat::operator-=(), SymMat::operator=(), SimTK::operator==(), SymMat::scalarDivide(), SymMat::scalarDivideFromLeft(), SymMat::scalarMultiply(), SymMat::scalarMultiplyFromLeft(), SymMat::standardize(), and SymMat::SymMat().
TAsVec& updAsVec | ( | ) | [inline] |
Referenced by SymMat::normalize(), SymMat::operator+=(), SymMat::operator-=(), SymMat::operator=(), SymMat::scalarDivide(), SymMat::scalarDivideEq(), SymMat::scalarDivideEqFromLeft(), SymMat::scalarDivideFromLeft(), SymMat::scalarMultiply(), SymMat::scalarMultiplyFromLeft(), SymMat::scalarTimesEq(), SymMat::scalarTimesEqFromLeft(), SymMat::setToNaN(), and SymMat::SymMat().
const E& getEltLower | ( | int | i, | |
int | j | |||
) | const [inline] |
References SymMat::getLower().
Referenced by SimTK::max(), SimTK::min(), SymMat::operator()(), and SymMat::sum().
E& updEltLower | ( | int | i, | |
int | j | |||
) | [inline] |
References SymMat::updLower().
Referenced by SymMat::operator()(), SymMat::operator=(), and SymMat::SymMat().
const EHerm& getEltUpper | ( | int | i, | |
int | j | |||
) | const [inline] |
References SymMat::getUpper().
EHerm& updEltUpper | ( | int | i, | |
int | j | |||
) | [inline] |
References SymMat::updUpper().
TRow sum | ( | ) | const [inline] |
friend class SymMat [friend] |