7 #ifndef __ASINDEXSCHURDATA_HPP__
8 #define __ASINDEXSCHURDATA_HPP__
51 const std::string& name,
53 const std::string& prefix)
const;
virtual ~IndexSchurData()
virtual void SetData_Flag(Index dim, const Index *flags, const Number *values)
Set Data to corresponing Number.
virtual SmartPtr< SchurData > MakeNewSchurDataCopy() const
virtual void GetMultiplyingVectors(Index i, std::vector< Index > &indices, std::vector< Number > &factors) const
Returns two vectors that are needed for matrix-vector multiplication of B and P.
virtual void PrintImpl(const Journalist &jnlst, EJournalLevel level, EJournalCategory category, const std::string &name, Index indent, const std::string &prefix) const
const std::vector< Index > * GetColIndices() const
IndexSchurData()
This class is the implementation aimed at applications where only SchurData matrices with entries 1 o...
void AddData_List(std::vector< Index > cols, std::vector< Index > &delta_u_sort, Index &new_du_size, Index v)
virtual Index SetData_Index(Index dim, const Index *index, Number v=1.0)
virtual void SetData_Flag(Index dim, const Index *flags, Number v=1.0)
Functions to set the Schurdata.
virtual void TransMultiply(const Vector &u, IteratesVector &v) const
Computes A*u with A in R(nxm), KKT in R(n,n)
virtual Index GetNRowsAdded() const
Returns number of rows/columns in schur matrix.
std::vector< Index > idx_
Index * GetVectorLengths(const IteratesVector &v) const
returns a vector that holds the accumulated length of each vector component: v_len[0] = v....
virtual void GetRow(Index i, IteratesVector &v) const
Returns the i-th column vector of the matrix.
std::vector< Index > val_
virtual void Multiply(const IteratesVector &v, Vector &u) const
Computes B*v with B in R(mxn)
void AddData_Flag(Index dim, Index *flags, std::vector< Index > &delta_u_sort, Index v)
Functions specific to IndexSchurData.
virtual void SetData_List(const std::vector< Index > &list, Number v=1.0)
IndexSchurData(const std::vector< Index > idx, const std::vector< Index > val)
Specialized CompoundVector class specifically for the algorithm iterates.
Class responsible for all message output.
Template class for Smart Pointers.
EJournalCategory
Category Selection Enum.
int Index
Type of all indices of vectors, matrices etc.
EJournalLevel
Print Level Enum.
double Number
Type of all numbers.