Go to the documentation of this file. 1 #ifndef SimTK_SIMMATRIX_MATRIX_HELPER_H_
2 #define SimTK_SIMMATRIX_MATRIX_HELPER_H_
175 int n,
const int* indices);
177 int n,
const int* indices);
231 bool isClear()
const;
238 const S* getElt(
int i,
int j)
const;
239 S* updElt(
int i,
int j);
242 const S* getElt(
int i)
const;
248 void getAnyElt(
int i,
int j, S* value)
const;
251 void getAnyElt(
int i, S* value)
const;
255 void sum(S* eltp)
const;
256 void colSum(
int j, S* eltp)
const;
257 void rowSum(
int i, S* eltp)
const;
266 void fillWith(
const S* eltp);
271 void copyInByRowsFromCpp(
const S* elts);
276 void fillWithScalar(
const StdNumber&);
280 void scaleBy(
const StdNumber&);
285 void invertInPlace();
287 void dump(
const char* msg=0)
const;
296 ptrdiff_t nelt()
const;
307 void resize(
int m,
int n);
313 void resizeKeep(
int m,
int n);
324 bool hasContiguousData()
const;
325 ptrdiff_t getContiguousDataLength()
const;
326 const S* getContiguousData()
const;
327 S* updContiguousData();
329 void replaceContiguousData(S* newData, ptrdiff_t length,
bool takeOwnership);
330 void replaceContiguousData(
const S* newData, ptrdiff_t length);
331 void swapOwnedContiguousData(S* newData, ptrdiff_t length, S*& oldData);
339 void deleteRepIfOwner();
356 template <
class SA,
class SB>
357 void matmul(
const StdNumber& beta,
366 #endif // SimTK_SIMMATRIX_MATRIX_HELPER_H_
A MatrixCharacter is a set containing a value for each of the matrix characteristics except element t...
Definition: MatrixCharacteristics.h:597
K::Number Number
Definition: CompositeNumericalTypes.h:162
void setRep(MatrixHelperRep< S > *hrep)
Definition: MatrixHelper.h:335
Here we define class MatrixHelper, the scalar-type templatized helper class for the more general,...
Definition: MatrixHelper.h:79
ELEM sum(const VectorBase< ELEM > &v)
Definition: VectorMath.h:147
This is a System that represents the dynamics of a particle moving along a smooth surface.
Definition: Assembler.h:37
~MatrixHelper()
Definition: MatrixHelper.h:92
Definition: MatrixHelper.h:95
Definition: MatrixHelper.h:97
K::Precision Precision
Definition: CompositeNumericalTypes.h:164
#define SimTK_SimTKCOMMON_EXPORT
Definition: SimTKcommon/include/SimTKcommon/internal/common.h:224
Definition: MatrixHelper.h:98
MatrixHelperRep< S > & updRep()
Definition: MatrixHelper.h:334
K::StdNumber StdNumber
Definition: CompositeNumericalTypes.h:163
CNT< S >::Number Number
Definition: MatrixHelper.h:84
CNT< S >::StdNumber StdNumber
Definition: MatrixHelper.h:85
Specialized information about Composite Numerical Types which allows us to define appropriate templat...
Definition: CompositeNumericalTypes.h:136
const MatrixHelperRep< S > & getRep() const
Definition: MatrixHelper.h:333
MatrixHelper(const MatrixCommitment &mc, MatrixHelper &h, const Array_< int > &indices)
Definition: MatrixHelper.h:183
K::THerm THerm
Definition: CompositeNumericalTypes.h:144
size_type size() const
Return the current number of elements stored in this array.
Definition: Array.h:2075
CNT< S >::Precision Precision
Definition: MatrixHelper.h:86
Definition: MatrixHelper.h:96
A MatrixCommitment provides a set of acceptable matrix characteristics.
Definition: MatrixCharacteristics.h:832
MatrixHelperRep< S > * stealRep()
Definition: MatrixHelper.h:336
MatrixHelper(const MatrixCommitment &mc, const MatrixHelper &h, const Array_< int > &indices)
Definition: MatrixHelper.h:180
Definition: MatrixHelper.h:48
const T * cbegin() const
Return a const pointer to the first element of this array if any, otherwise cend(),...
Definition: Array.h:2212
K::TNeg TNeg
Definition: CompositeNumericalTypes.h:139