HDK
|
#include <UT_SparseMatrix.h>
Public Attributes | |
UT_VectorT< T > & | result |
UT_VectorT< T > const UT_JobInfo &info | const |
This is a highly specialized varient of the SparseMatrix which does not let you change the number or position of cells It has, however, compiled fixed row offsets to make it fast to look up specific rows in the matrix.
Definition at line 391 of file UT_SparseMatrix.h.
UT_SparseMatrixRowT< T >::UT_SparseMatrixRowT | ( | ) |
UT_SparseMatrixRowT< T >::~UT_SparseMatrixRowT | ( | ) |
void UT_SparseMatrixRowT< T >::buildFrom | ( | UT_SparseMatrixT< T, false > & | m, |
bool | invertdiag = false , |
||
T | tol = 1e-5f |
||
) |
|
inline |
Definition at line 429 of file UT_SparseMatrix.h.
void UT_SparseMatrixRowT< T >::getDiagonalInv | ( | UT_VectorT< T > & | out | ) | const |
int64 UT_SparseMatrixRowT< T >::getMemoryUsage | ( | ) | const |
Return the amount of memory used by this array.
|
inline |
Definition at line 414 of file UT_SparseMatrix.h.
|
inline |
Definition at line 413 of file UT_SparseMatrix.h.
void UT_SparseMatrixRowT< T >::multVecAndDot | ( | const UT_VectorT< T > & | v, |
UT_VectorT< T > & | result, | ||
fpreal64 * | dotpq | ||
) | const |
|
inline |
Definition at line 420 of file UT_SparseMatrix.h.
float UT_SparseMatrixRowT< T >::solveConjugateGradient | ( | UT_VectorT< T > & | x, |
const UT_VectorT< T > & | b, | ||
const UT_SparseMatrixRowT< T > * | GT, | ||
T | tol2 = 1e-5 , |
||
int | max_iters = -1 , |
||
int * | iterout = NULL |
||
) | const |
Solves conjugate gradient using our specialized functions. These allow us to perform some normal and dot operations while the cache is still hot. This matrix is the matrix to solve. The provided GT matrix is the upper triangular result of cholesky factoriziation. Norm is hardcoded to 2. If the GT matrix is null, no preconditioner will be used.
int UT_SparseMatrixRowT< T >::solveLowerTriangularTransposeNegate | ( | UT_VectorT< T > & | x, |
const UT_VectorT< T > & | b, | ||
T | tol = 1e-5 |
||
) | const |
Given an upper triangular matrix, solves the lower triangular transposed of it and negates the result.
int UT_SparseMatrixRowT< T >::solveUpperTriangular | ( | UT_VectorT< T > & | x, |
const UT_VectorT< T > & | b, | ||
T | tol = 1e-5 |
||
) | const |
Assumes this is a lower triangular matrix. Solves the equation A x = b If the diagonal of A is zero within tolerance, the corresponding x coordinate is zero. Returned is the number of artifical zeros places into x. 0 means the solution encountered no singularities, 10 would mean 10 singularities.
UT_SparseMatrixRowT< T >::THREADED_METHOD2_CONST | ( | UT_SparseMatrixRowT< T > | , |
shouldMultiThread() | , | ||
multVec | , | ||
const UT_VectorT< T > & | , | ||
v | , | ||
UT_VectorT< T > & | , | ||
result | |||
) | const |
UT_VectorT<T> const UT_JobInfo& info UT_SparseMatrixRowT< T >::const |
Definition at line 439 of file UT_SparseMatrix.h.
UT_VectorT< T > & UT_SparseMatrixRowT< T >::result |
Definition at line 439 of file UT_SparseMatrix.h.