Ipopt 3.12.10

- Main Page
- Classes
- Files

- File List
- File Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
SensIndexSchurData.hpp
Go to the documentation of this file.
1 // Copyright 2009, 2011 Hans Pirnay
2 // All Rights Reserved.
3 // This code is published under the Eclipse Public License.
4 //
5 // Date : 2009-05-08
6
7 #ifndef __ASINDEXSCHURDATA_HPP__
8 #define __ASINDEXSCHURDATA_HPP__
9
10 #include "SensSchurData.hpp"
11
12 namespace Ipopt
13 {
14
15 class IndexSchurData : public SchurData
16 {
20 public:
21
22 IndexSchurData();
23
24 IndexSchurData(const std::vector<Index> idx, const std::vector<Index> val);
25
26 virtual ~IndexSchurData();
27
28 virtual SmartPtr<SchurData> MakeNewSchurDataCopy() const;
29
30 virtual Index GetNRowsAdded() const;
31
32 virtual void SetData_Flag(Index dim, const Index* flags, Number v=1.0);
33
34 virtual void SetData_Flag(Index dim, const Index* flags, const Number* values);
35
36 virtual Index SetData_Index(Index dim, const Index* index, Number v=1.0);
37
38 virtual void SetData_List(const std::vector<Index>& list, Number v=1.0);
39
40 virtual void GetRow(Index i, IteratesVector& v) const;
41
42 virtual void GetMultiplyingVectors(Index i, std::vector<Index>& indices, std::vector<Number>& factors) const;
43
44 virtual void Multiply(const IteratesVector& v, Vector& u) const;
45
46 virtual void TransMultiply(const Vector& u, IteratesVector& v) const;
47
48 virtual void PrintImpl(const Journalist& jnlst,
49 EJournalLevel level,
50 EJournalCategory category,
51 const std::string& name,
52 Index indent,
53 const std::string& prefix) const;
54
64 void AddData_Flag(Index dim, Index* flags, std::vector<Index>& delta_u_sort, Index v);
65
66 void AddData_List(std::vector<Index> cols, std::vector<Index>& delta_u_sort, Index& new_du_size, Index v);
67
68 const std::vector<Index>* GetColIndices() const;
69
70 private:
71
75 Index* GetVectorLengths(const IteratesVector& v) const;
76
77 std::vector<Index> idx_;
78 std::vector<Index> val_;
79 };
80
81 }
82
83 #endif
Ipopt::IteratesVector
Specialized CompoundVector class specifically for the algorithm iterates.
Definition: IpIteratesVector.hpp:27
SensSchurData.hpp
Ipopt::IndexSchurData::AddData_List
void AddData_List(std::vector< Index > cols, std::vector< Index > &delta_u_sort, Index &new_du_size, Index v)
Ipopt::Number
double Number
Type of all numbers.
Definition: IpTypes.hpp:17
Ipopt::Vector
Vector Base Class.
Definition: IpVector.hpp:47
Ipopt::IndexSchurData::~IndexSchurData
virtual ~IndexSchurData()
Ipopt::IndexSchurData::MakeNewSchurDataCopy
virtual SmartPtr< SchurData > MakeNewSchurDataCopy() const
Ipopt::EJournalLevel
EJournalLevel
Print Level Enum.
Definition: IpJournalist.hpp:51
val
char char * val
Definition: IpStdCInterface.h:189
Ipopt::SmartPtr
Template class for Smart Pointers.
Definition: IpSmartPtr.hpp:172
Ipopt::IndexSchurData::GetVectorLengths
Index * GetVectorLengths(const IteratesVector &v) const
returns a vector that holds the accumulated length of each vector component: v_len[0] = v...
Ipopt::IndexSchurData::SetData_Flag
virtual void SetData_Flag(Index dim, const Index *flags, Number v=1.0)
Functions to set the Schurdata.
Ipopt::IndexSchurData
Definition: SensIndexSchurData.hpp:15
Ipopt::IndexSchurData::TransMultiply
virtual void TransMultiply(const Vector &u, IteratesVector &v) const
Computes A*u with A in R(nxm), KKT in R(n,n)
Ipopt::Index
int Index
Type of all indices of vectors, matrices etc.
Definition: IpTypes.hpp:19
Ipopt::IndexSchurData::PrintImpl
virtual void PrintImpl(const Journalist &jnlst, EJournalLevel level, EJournalCategory category, const std::string &name, Index indent, const std::string &prefix) const
Ipopt::IndexSchurData::SetData_List
virtual void SetData_List(const std::vector< Index > &list, Number v=1.0)
Ipopt::IndexSchurData::idx_
std::vector< Index > idx_
Definition: SensIndexSchurData.hpp:77
Ipopt::IndexSchurData::GetColIndices
const std::vector< Index > * GetColIndices() const
Ipopt::IndexSchurData::Multiply
virtual void Multiply(const IteratesVector &v, Vector &u) const
Computes B*v with B in R(mxn)
Ipopt::Journalist
Class responsible for all message output.
Definition: IpJournalist.hpp:134
Ipopt::IndexSchurData::GetRow
virtual void GetRow(Index i, IteratesVector &v) const
Returns the i-th column vector of the matrix.
Ipopt::IndexSchurData::val_
std::vector< Index > val_
Definition: SensIndexSchurData.hpp:78
Ipopt::IndexSchurData::AddData_Flag
void AddData_Flag(Index dim, Index *flags, std::vector< Index > &delta_u_sort, Index v)
Functions specific to IndexSchurData.
Ipopt::SchurData
Definition: SensSchurData.hpp:18
Ipopt::EJournalCategory
EJournalCategory
Category Selection Enum.
Definition: IpJournalist.hpp:70
Ipopt::IndexSchurData::SetData_Index
virtual Index SetData_Index(Index dim, const Index *index, Number v=1.0)
Ipopt::IndexSchurData::GetMultiplyingVectors
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.
Ipopt::IndexSchurData::IndexSchurData
IndexSchurData()
This class is the implementation aimed at applications where only SchurData matrices with entries 1 o...
Ipopt::IndexSchurData::GetNRowsAdded
virtual Index GetNRowsAdded() const
Returns number of rows/columns in schur matrix.