#include <IpTripletHelper.hpp>
Public Member Functions | |
DECLARE_STD_EXCEPTION (UNKNOWN_MATRIX_TYPE) | |
DECLARE_STD_EXCEPTION (UNKNOWN_VECTOR_TYPE) | |
Static Public Member Functions | |
A set of recursive routines that help with the Triplet format. | |
static Index | GetNumberEntries (const Matrix &matrix) |
find the total number of triplet entries of a Matrix | |
static void | FillRowCol (Index n_entries, const Matrix &matrix, Index *iRow, Index *jCol, Index row_offset=0, Index col_offset=0) |
fill the irows, jcols structure for the triplet format from the matrix | |
static void | FillValues (Index n_entries, const Matrix &matrix, Number *values) |
fill the values for the triplet format from the matrix | |
static void | FillValuesFromVector (Index dim, const Vector &vector, Number *values) |
fill the values from the vector into a dense double* structure | |
static void | PutValuesInVector (Index dim, const double *values, Vector &vector) |
put the values from the double* back into the vector |
find the total number of triplet entries of a Matrix
References diag, IdentityMatrix::Dim(), SymMatrix::Dim(), Ipopt::GetRawPtr(), SymScaledMatrix::GetUnscaledMatrix(), ScaledMatrix::GetUnscaledMatrix(), Matrix::NCols(), SymTMatrix::Nonzeros(), GenTMatrix::Nonzeros(), SimTK::sum(), and THROW_EXCEPTION.
Referenced by GradientScaling::DetermineScalingParametersImpl(), TSymLinearSolver::MultiSolve(), and StdAugSystemSolver::MultiSolve().
void FillRowCol | ( | Index | n_entries, | |
const Matrix & | matrix, | |||
Index * | iRow, | |||
Index * | jCol, | |||
Index | row_offset = 0 , |
|||
Index | col_offset = 0 | |||
) | [static] |
fill the irows, jcols structure for the triplet format from the matrix
References DBG_ASSERT, diag, SimTK::sum(), and THROW_EXCEPTION.
Referenced by GradientScaling::DetermineScalingParametersImpl(), and StdAugSystemSolver::MultiSolve().
fill the values for the triplet format from the matrix
References DBG_ASSERT, diag, SimTK::sum(), and THROW_EXCEPTION.
Referenced by GradientScaling::DetermineScalingParametersImpl(), and StdAugSystemSolver::MultiSolve().
fill the values from the vector into a dense double* structure
References DBG_ASSERT, Vector::Dim(), CompoundVector::GetComp(), fkinkryx::i, Ipopt::IpBlasDcopy(), CompoundVector::NComps(), and THROW_EXCEPTION.
Referenced by TSymLinearSolver::MultiSolve().
put the values from the double* back into the vector
References DBG_ASSERT, Vector::Dim(), CompoundVector::GetCompNonConst(), fkinkryx::i, Ipopt::IpBlasDcopy(), CompoundVector::NComps(), and THROW_EXCEPTION.
Referenced by GradientScaling::DetermineScalingParametersImpl(), and TSymLinearSolver::MultiSolve().
DECLARE_STD_EXCEPTION | ( | UNKNOWN_MATRIX_TYPE | ) |
DECLARE_STD_EXCEPTION | ( | UNKNOWN_VECTOR_TYPE | ) |