|
| SchurData () |
|
virtual | ~SchurData () |
|
virtual SmartPtr< SchurData > | MakeNewSchurDataCopy () const =0 |
|
virtual void | SetData_Flag (Index dim, const Index *flags, Number v=1.0)=0 |
| Set Data to one for given indices. More...
|
|
virtual void | SetData_Flag (Index dim, const Index *flags, const Number *values)=0 |
| Set Data to corresponing Number. More...
|
|
virtual Index | SetData_Index (Index dim, const Index *flags, Number v=1.0)=0 |
|
virtual void | SetData_List (const std::vector< Index > &list, Number v=1.0)=0 |
|
virtual void | AddData_List (std::vector< Index > cols, std::vector< Index > &delta_u_sort, Index &new_du_size, Index v)=0 |
|
virtual Index | GetNRowsAdded () const |
| Returns number of rows/columns in schur matrix. More...
|
|
virtual bool | Is_Initialized () const |
|
virtual void | GetRow (Index i, IteratesVector &v) const =0 |
| Returns the i-th column vector of the matrix. More...
|
|
virtual void | GetMultiplyingVectors (Index row, std::vector< Index > &indices, std::vector< Number > &factors) const =0 |
| Returns two vectors that are needed for matrix-vector multiplication of B and P. More...
|
|
virtual void | Multiply (const IteratesVector &v, Vector &u) const =0 |
| Computes B*v with B in R(mxn) More...
|
|
virtual void | TransMultiply (const Vector &u, IteratesVector &v) const =0 |
| Computes A*u with A in R(nxm), KKT in R(n,n) More...
|
|
virtual void | PrintImpl (const Journalist &jnlst, EJournalLevel level, EJournalCategory category, const std::string &name, Index indent, const std::string &prefix) const =0 |
|
void | Print (const Journalist &jnlst, EJournalLevel level, EJournalCategory category, const std::string &name, Index indent=0, const std::string &prefix="") const |
|
void | Print (SmartPtr< const Journalist > jnlst, EJournalLevel level, EJournalCategory category, const std::string &name, Index indent, const std::string &prefix) const |
|
| ReferencedObject () |
|
virtual | ~ReferencedObject () |
|
Index | ReferenceCount () const |
|
void | AddRef (const Referencer *referencer) const |
|
void | ReleaseRef (const Referencer *referencer) const |
|
This interface serves as a reference point for multiple classes that need to use SchurData (PCalculator, SchurDriver).
It declares as little as possible, so that SchurData implementations can be very special and fast.
I have not decided yet if there are certain ways I want to impose that SchurData can be set. I will figure this out as soon as I write the upstream classes that need to do that
Nomenclature in this program is based on Victor Zavalas thesis.
Definition at line 29 of file SensSchurData.hpp.
virtual void Ipopt::SchurData::GetMultiplyingVectors |
( |
Index |
row, |
|
|
std::vector< Index > & |
indices, |
|
|
std::vector< Number > & |
factors |
|
) |
| const |
|
pure virtual |
Returns two vectors that are needed for matrix-vector multiplication of B and P.
The index is the row, the first vector are the indices of non-zero components, in this row of B, the second vector gives the numbers in B(row,indices)/
Implemented in Ipopt::IndexSchurData.