Ipopt Documentation  
 
Loading...
Searching...
No Matches
IpZeroSymMatrix.hpp
Go to the documentation of this file.
1// Copyright (C) 2004, 2008 International Business Machines and others.
2// All Rights Reserved.
3// This code is published under the Eclipse Public License.
4//
5// Authors: Carl Laird, Andreas Waechter IBM 2004-08-13
6
7#ifndef __IPZEROSYMMATRIX_HPP__
8#define __IPZEROSYMMATRIX_HPP__
9
10#include "IpUtils.hpp"
11#include "IpSymMatrix.hpp"
12
13namespace Ipopt
14{
15
18{
19public:
22
24 const SymMatrixSpace* owner_space
25 );
26
30
31protected:
34 virtual void MultVectorImpl(
35 Number alpha,
36 const Vector& x,
37 Number beta,
38 Vector& y
39 ) const;
40
41 virtual void TransMultVectorImpl(
42 Number alpha,
43 const Vector& x,
44 Number beta,
45 Vector& y
46 ) const;
47
48 virtual void ComputeRowAMaxImpl(
49 Vector& /*rows_norms*/,
50 bool /*init*/
51 ) const
52 { }
53
54 virtual void ComputeColAMaxImpl(
55 Vector& /*cols_norms*/,
56 bool /*init*/
57 ) const
58 { }
59
60 virtual void PrintImpl(
61 const Journalist& jnlst,
62 EJournalLevel level,
63 EJournalCategory category,
64 const std::string& name,
65 Index indent,
66 const std::string& prefix
67 ) const;
69
70private:
80
82
85 const ZeroSymMatrix&
86 );
87
90 const ZeroSymMatrix&
91 );
93};
94
97{
98public:
101
103 Index dim
104 )
105 : SymMatrixSpace(dim)
106 { }
107
110 { }
111
112
113 virtual Matrix* MakeNew() const
114 {
115 return MakeNewZeroSymMatrix();
116 }
117
119 {
120 return MakeNewZeroSymMatrix();
121 }
122
125 {
126 return new ZeroSymMatrix(this);
127 }
128
129private:
139
141
144 const ZeroSymMatrixSpace&
145 );
146
149 const ZeroSymMatrixSpace&
150 );
152};
153
154} // namespace Ipopt
155#endif
Class responsible for all message output.
Matrix Base Class.
Definition IpMatrix.hpp:28
SymMatrixSpace base class, corresponding to the SymMatrix base class.
SymMatrixSpace(Index dim)
Constructor, given the dimension (identical to the number of rows and columns).
This is the base class for all derived symmetric matrix types.
SymMatrix(const SymMatrixSpace *owner_space)
Constructor, taking the owner_space.
Vector Base Class.
Definition IpVector.hpp:48
ZeroSymMatrixSpace(Index dim)
Constructor, given the number of row and columns.
ZeroSymMatrixSpace()
Default Constructor.
virtual Matrix * MakeNew() const
Pure virtual method for creating a new Matrix of the corresponding type.
ZeroSymMatrix * MakeNewZeroSymMatrix() const
Method for creating a new matrix of this specific type.
ZeroSymMatrixSpace(const ZeroSymMatrixSpace &)
Copy Constructor.
void operator=(const ZeroSymMatrixSpace &)
Default Assignment Operator.
virtual ~ZeroSymMatrixSpace()
Destructor.
virtual SymMatrix * MakeNewSymMatrix() const
Pure virtual method for creating a new matrix of this specific type.
Class for Symmetric Matrices with only zero entries.
virtual void PrintImpl(const Journalist &jnlst, EJournalLevel level, EJournalCategory category, const std::string &name, Index indent, const std::string &prefix) const
Print detailed information about the matrix.
virtual void TransMultVectorImpl(Number alpha, const Vector &x, Number beta, Vector &y) const
Implementation of TransMultVectorImpl, which calls MultVectorImpl.
ZeroSymMatrix()
Default Constructor.
ZeroSymMatrix(const ZeroSymMatrix &)
Copy Constructor.
~ZeroSymMatrix()
Destructor.
virtual void ComputeColAMaxImpl(Vector &, bool) const
Implementation of ComputeColAMaxImpl, which calls ComputeRowAMaxImpl.
void operator=(const ZeroSymMatrix &)
Default Assignment Operator.
ZeroSymMatrix(const SymMatrixSpace *owner_space)
Constructor, taking the corresponding matrix space.
virtual void ComputeRowAMaxImpl(Vector &, bool) const
Compute the max-norm of the rows in the matrix.
virtual void MultVectorImpl(Number alpha, const Vector &x, Number beta, Vector &y) const
Matrix-vector multiply.
#define IPOPTLIB_EXPORT
Definition config.h:94
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.
Definition IpTypes.hpp:20
EJournalCategory
Category Selection Enum.
EJournalLevel
Print Level Enum.
ipnumber Number
Type of all numbers.
Definition IpTypes.hpp:17