7 #ifndef __ASSCHURDATA_HPP__
8 #define __ASSCHURDATA_HPP__
33 : initialized_(false),
65 const std::vector<Index>& list,
70 std::vector<Index> cols,
71 std::vector<Index>& delta_u_sort,
102 std::vector<Index>& indices,
103 std::vector<Number>& factors
122 const std::string& name,
124 const std::string& prefix
131 const std::string& name,
133 const std::string& prefix =
""
138 PrintImpl(jnlst, level, category, name, indent, prefix);
146 const std::string& name,
148 const std::string& prefix
151 if(
IsValid(jnlst) && jnlst->ProduceOutput(level, category) )
153 PrintImpl(*jnlst, level, category, name, indent, prefix);
#define SIPOPTLIB_EXPORT
Include file for the configuration of Ipopt.
Specialized CompoundVector class specifically for the algorithm iterates.
Class responsible for all message output.
virtual bool ProduceOutput(EJournalLevel level, EJournalCategory category) const
Method that returns true if there is a Journal that would write output for the given JournalLevel and...
Storing the reference count of all the smart pointers that currently reference it.
This interface serves as a reference point for multiple classes that need to use SchurData (PCalculat...
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.
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.
virtual Index GetNRowsAdded() const
Returns number of rows/columns in schur matrix.
void Print(SmartPtr< const Journalist > jnlst, EJournalLevel level, EJournalCategory category, const std::string &name, Index indent, const std::string &prefix) const
virtual void Set_NRows(Index nrows)
virtual void TransMultiply(const Vector &u, IteratesVector &v) const =0
Computes A*u with A in R(nxm), KKT in R(n,n)
bool initialized_
Makes sure that data is not set twice accidentially.
void Print(const Journalist &jnlst, EJournalLevel level, EJournalCategory category, const std::string &name, Index indent=0, const std::string &prefix="") const
virtual void GetRow(Index i, IteratesVector &v) const =0
Returns the i-th column vector of the matrix.
virtual void Set_Initialized()
Index nrows_
Number of columns/rows of corresponding Schur Matrix.
virtual void SetData_Flag(Index dim, const Index *flags, const Number *values)=0
Set Data to corresponing Number.
virtual bool Is_Initialized() const
virtual void Multiply(const IteratesVector &v, Vector &u) const =0
Computes B*v with B in R(mxn)
virtual void AddData_List(std::vector< Index > cols, std::vector< Index > &delta_u_sort, Index &new_du_size, Index v)=0
virtual void PrintImpl(const Journalist &jnlst, EJournalLevel level, EJournalCategory category, const std::string &name, Index indent, const std::string &prefix) const =0
virtual void SetData_List(const std::vector< Index > &list, Number v=1.0)=0
virtual Index SetData_Index(Index dim, const Index *flags, Number v=1.0)=0
Template class for Smart Pointers.
This file contains a base class for all exceptions and a set of macros to help with exceptions.
bool IsValid(const SmartPtr< U > &smart_ptr)
EJournalCategory
Category Selection Enum.
int Index
Type of all indices of vectors, matrices etc.
EJournalLevel
Print Level Enum.
double Number
Type of all numbers.