7#ifndef __ASINDEXSCHURDATA_HPP__
8#define __ASINDEXSCHURDATA_HPP__
25 const std::vector<Index> idx,
26 const std::vector<Index> val
54 const std::vector<Index>& list,
65 std::vector<Index>& indices,
66 std::vector<Number>& factors
83 const std::string& name,
85 const std::string& prefix
103 std::vector<Index>& delta_u_sort,
108 std::vector<Index> cols,
109 std::vector<Index>& delta_u_sort,
const std::vector< Index > * GetColIndices() const
virtual ~IndexSchurData()
virtual void SetData_Flag(Index dim, const Index *flags, const Number *values)
Set Data to corresponing Number.
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.
Index * GetVectorLengths(const IteratesVector &v) const
returns a vector that holds the accumulated length of each vector component
virtual void PrintImpl(const Journalist &jnlst, EJournalLevel level, EJournalCategory category, const std::string &name, Index indent, const std::string &prefix) 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)
Set Data to one for given indices.
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_
virtual void GetRow(Index i, IteratesVector &v) const
Returns the i-th column vector of the matrix.
std::vector< Index > val_
virtual SmartPtr< SchurData > MakeNewSchurDataCopy() const
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)
This function is for adding data to a SchurData object.
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.
This interface serves as a reference point for multiple classes that need to use SchurData (PCalculat...
Template class for Smart Pointers.
This file contains a base class for all exceptions and a set of macros to help with exceptions.
ipindex Index
Type of all indices of vectors, matrices etc.
EJournalCategory
Category Selection Enum.
EJournalLevel
Print Level Enum.
ipnumber Number
Type of all numbers.