Main Page
Namespaces
Classes
Files
File List
File Members
build
buildd
coinor-ipopt-3.10.2
Ipopt
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 Fri Jun 29 2012 06:35:13 by
1.8.1.1