MPQC
3.0.0-alpha
scextrapmat.h
1
//
2
// scextrapmat.h
3
//
4
// Copyright (C) 1996 Limit Point Systems, Inc.
5
//
6
// Author: Curtis Janssen <cljanss@limitpt.com>
7
// Maintainer: LPS
8
//
9
// This file is part of the SC Toolkit.
10
//
11
// The SC Toolkit is free software; you can redistribute it and/or modify
12
// it under the terms of the GNU Library General Public License as published by
13
// the Free Software Foundation; either version 2, or (at your option)
14
// any later version.
15
//
16
// The SC Toolkit is distributed in the hope that it will be useful,
17
// but WITHOUT ANY WARRANTY; without even the implied warranty of
18
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
// GNU Library General Public License for more details.
20
//
21
// You should have received a copy of the GNU Library General Public License
22
// along with the SC Toolkit; see the file COPYING.LIB. If not, write to
23
// the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
24
//
25
// The U.S. Government is granted a limited license as per AL 91-7.
26
//
27
28
#ifndef _math_optimize_scextrapmat_h
29
#define _math_optimize_scextrapmat_h
30
31
#include <math/optimize/scextrap.h>
32
#include <math/scmat/matrix.h>
33
34
namespace
sc
{
35
36
class
SymmSCMatrixSCExtrapData
:
public
SCExtrapData
{
37
private
:
38
RefSymmSCMatrix
m;
39
public
:
40
SymmSCMatrixSCExtrapData
(
StateIn
&);
41
SymmSCMatrixSCExtrapData
(
const
RefSymmSCMatrix
&);
42
43
void
save_data_state
(
StateOut
&);
44
45
SCExtrapData
*
copy
();
46
void
zero
();
47
void
accumulate_scaled
(
double
,
const
Ref<SCExtrapData>
&);
48
};
49
50
class
SymmSCMatrix2SCExtrapData
:
public
SCExtrapData
{
51
private
:
52
RefSymmSCMatrix
m1;
53
RefSymmSCMatrix
m2;
54
public
:
55
SymmSCMatrix2SCExtrapData
(
StateIn
&);
56
SymmSCMatrix2SCExtrapData
(
const
RefSymmSCMatrix
&,
const
RefSymmSCMatrix
&);
57
58
void
save_data_state
(
StateOut
&);
59
60
SCExtrapData
*
copy
();
61
void
zero
();
62
void
accumulate_scaled
(
double
,
const
Ref<SCExtrapData>
&);
63
};
64
65
class
SymmSCMatrix4SCExtrapData
:
public
SCExtrapData
{
66
private
:
67
RefSymmSCMatrix
m1;
68
RefSymmSCMatrix
m2;
69
RefSymmSCMatrix
m3;
70
RefSymmSCMatrix
m4;
71
public
:
72
SymmSCMatrix4SCExtrapData
(
StateIn
&);
73
SymmSCMatrix4SCExtrapData
(
const
RefSymmSCMatrix
&,
const
RefSymmSCMatrix
&,
74
const
RefSymmSCMatrix
&,
const
RefSymmSCMatrix
&);
75
76
void
save_data_state
(
StateOut
&);
77
78
SCExtrapData
*
copy
();
79
void
zero
();
80
void
accumulate_scaled
(
double
,
const
Ref<SCExtrapData>
&);
81
};
82
83
class
SymmSCMatrixNSCExtrapData
:
public
SCExtrapData
{
84
private
:
85
int
n_;
86
RefSymmSCMatrix
*m;
87
public
:
88
SymmSCMatrixNSCExtrapData
(
StateIn
&);
89
SymmSCMatrixNSCExtrapData
(
int
n,
RefSymmSCMatrix
*);
90
91
void
save_data_state
(
StateOut
&);
92
93
SCExtrapData
*
copy
();
94
void
zero
();
95
void
accumulate_scaled
(
double
,
const
Ref<SCExtrapData>
&);
96
};
97
98
class
SymmSCMatrixSCExtrapError
:
public
SCExtrapError
{
99
private
:
100
RefSymmSCMatrix
m;
101
public
:
102
SymmSCMatrixSCExtrapError
(
StateIn
&);
103
SymmSCMatrixSCExtrapError
(
const
RefSymmSCMatrix
&);
104
105
void
save_data_state
(
StateOut
&);
106
107
double
error
();
108
double
scalar_product
(
const
Ref<SCExtrapError>
&);
109
};
110
111
}
112
113
#endif
114
115
// Local Variables:
116
// mode: c++
117
// c-file-style: "CLJ"
118
// End:
sc::RefSymmSCMatrix
The RefSymmSCMatrix class is a smart pointer to an SCSymmSCMatrix specialization.
Definition:
matrix.h:265
sc::SymmSCMatrix4SCExtrapData::copy
SCExtrapData * copy()
Return a copy of this.
sc::SymmSCMatrixSCExtrapData::save_data_state
void save_data_state(StateOut &)
Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR ...
sc::SymmSCMatrixNSCExtrapData::save_data_state
void save_data_state(StateOut &)
Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR ...
sc::Ref
A template class that maintains references counts.
Definition:
ref.h:361
sc::SymmSCMatrixSCExtrapError::error
double error()
Returns some measure of the total error.
sc::SymmSCMatrix2SCExtrapData::save_data_state
void save_data_state(StateOut &)
Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR ...
sc::SymmSCMatrix2SCExtrapData::zero
void zero()
Set this to zero.
sc::SymmSCMatrix2SCExtrapData::copy
SCExtrapData * copy()
Return a copy of this.
sc::SymmSCMatrixSCExtrapData::zero
void zero()
Set this to zero.
sc::SymmSCMatrix4SCExtrapData::accumulate_scaled
void accumulate_scaled(double, const Ref< SCExtrapData > &)
The passed SCExtrapData is accumulated into this after applying the scaling factor.
sc::StateIn
Definition:
statein.h:79
sc::SymmSCMatrixNSCExtrapData
Definition:
scextrapmat.h:83
sc::SymmSCMatrix4SCExtrapData::save_data_state
void save_data_state(StateOut &)
Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR ...
sc::SymmSCMatrix4SCExtrapData::zero
void zero()
Set this to zero.
sc::SCExtrapData
SCExtrapData hold the data to be extrapolated needed by SelfConsistentExtrapolation.
Definition:
scextrap.h:39
sc::SymmSCMatrixNSCExtrapData::copy
SCExtrapData * copy()
Return a copy of this.
sc::SymmSCMatrixSCExtrapData
Definition:
scextrapmat.h:36
sc::SymmSCMatrixSCExtrapError
Definition:
scextrapmat.h:98
sc::StateOut
Definition:
stateout.h:71
sc::SCExtrapError
SCExtrapError holds the error data needed by SelfConsistentExtrapolation.
Definition:
scextrap.h:61
sc::SymmSCMatrix2SCExtrapData
Definition:
scextrapmat.h:50
sc::SymmSCMatrix2SCExtrapData::accumulate_scaled
void accumulate_scaled(double, const Ref< SCExtrapData > &)
The passed SCExtrapData is accumulated into this after applying the scaling factor.
sc::SymmSCMatrix4SCExtrapData
Definition:
scextrapmat.h:65
sc::SymmSCMatrixSCExtrapData::copy
SCExtrapData * copy()
Return a copy of this.
sc::SymmSCMatrixSCExtrapError::save_data_state
void save_data_state(StateOut &)
Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR ...
sc::SymmSCMatrixNSCExtrapData::accumulate_scaled
void accumulate_scaled(double, const Ref< SCExtrapData > &)
The passed SCExtrapData is accumulated into this after applying the scaling factor.
sc::SymmSCMatrixSCExtrapError::scalar_product
double scalar_product(const Ref< SCExtrapError > &)
Performs a scalar product between this and the given SCExtrapError.
sc::SymmSCMatrixSCExtrapData::accumulate_scaled
void accumulate_scaled(double, const Ref< SCExtrapData > &)
The passed SCExtrapData is accumulated into this after applying the scaling factor.
sc
Contains all MPQC code up to version 3.
Definition:
mpqcin.h:14
sc::SymmSCMatrixNSCExtrapData::zero
void zero()
Set this to zero.
Generated at Sun Jan 26 2020 23:24:00 for
MPQC
3.0.0-alpha using the documentation package
Doxygen
1.8.16.