Ipopt
3.11.4
Main Page
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
src
LinAlg
IpZeroMatrix.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
// $Id: IpZeroMatrix.hpp 1861 2010-12-21 21:34:47Z andreasw $
6
//
7
// Authors: Carl Laird, Andreas Waechter IBM 2004-08-13
8
9
#ifndef __IPZEROMATRIX_HPP__
10
#define __IPZEROMATRIX_HPP__
11
12
#include "
IpUtils.hpp
"
13
#include "
IpMatrix.hpp
"
14
15
namespace
Ipopt
16
{
17
20
class
ZeroMatrix
:
public
Matrix
21
{
22
public
:
23
26
29
ZeroMatrix
(
const
MatrixSpace
* owner_space);
30
32
~ZeroMatrix
();
34
35
protected
:
38
virtual
void
MultVectorImpl
(
Number
alpha,
const
Vector
&
x
,
39
Number
beta,
Vector
& y)
const
;
40
41
virtual
void
TransMultVectorImpl
(
Number
alpha,
const
Vector
& x,
42
Number
beta,
Vector
& y)
const
;
43
44
virtual
void
ComputeRowAMaxImpl
(
Vector
& rows_norms,
bool
init)
const
45
{}
46
47
virtual
void
ComputeColAMaxImpl
(
Vector
& cols_norms,
bool
init)
const
48
{}
49
50
virtual
void
PrintImpl
(
const
Journalist
& jnlst,
51
EJournalLevel
level,
52
EJournalCategory
category,
53
const
std::string& name,
54
Index
indent,
55
const
std::string& prefix)
const
;
57
58
private
:
68
ZeroMatrix
();
69
71
ZeroMatrix
(
const
ZeroMatrix
&);
72
74
void
operator=
(
const
ZeroMatrix
&);
76
};
77
79
class
ZeroMatrixSpace
:
public
MatrixSpace
80
{
81
public
:
86
ZeroMatrixSpace
(
Index
nrows,
Index
ncols)
87
:
88
MatrixSpace
(nrows, ncols)
89
{}
90
92
virtual
~ZeroMatrixSpace
()
93
{}
95
98
virtual
Matrix
*
MakeNew
()
const
99
{
100
return
MakeNewZeroMatrix
();
101
}
102
104
ZeroMatrix
*
MakeNewZeroMatrix
()
const
105
{
106
return
new
ZeroMatrix
(
this
);
107
}
108
private
:
118
ZeroMatrixSpace
();
119
121
ZeroMatrixSpace
(
const
ZeroMatrixSpace
&);
122
124
void
operator=
(
const
ZeroMatrixSpace
&);
126
};
127
}
// namespace Ipopt
128
#endif
Generated on Mon Oct 21 2013 19:08:15 for Ipopt by
1.8.4