MPQC
3.0.0-alpha
tensorextrap.h
1
//
2
// tensorextrap.h --- interface to SCExtrapData and SCExtrapError
3
//
4
// Copyright (C) 2009 Toru Shiozaki
5
//
6
// Author: Toru Shiozaki <shiozaki.toru@gmail.com>
7
// Maintainer: TS
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 _chemistry_qc_ccr12_tensorextrap_h
29
#define _chemistry_qc_ccr12_tensorextrap_h
30
31
#include <math/optimize/scextrap.h>
32
#include <chemistry/qc/ccr12/tensor.h>
33
34
namespace
sc
{
35
36
class
TensorExtrapData
:
public
SCExtrapData
{
37
private
:
38
Ref<Tensor>
m;
39
public
:
40
TensorExtrapData
(
StateIn
&);
41
TensorExtrapData
(
const
Ref<Tensor>
&);
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
51
class
TensorExtrapError
:
public
SCExtrapError
{
52
private
:
53
Ref<Tensor>
m;
54
public
:
55
TensorExtrapError
(
StateIn
&);
56
TensorExtrapError
(
const
Ref<Tensor>
&);
57
58
void
save_data_state
(
StateOut
&);
59
60
double
error
();
61
double
scalar_product
(
const
Ref<SCExtrapError>
&);
62
63
};
64
65
}
66
#endif
67
sc::TensorExtrapData::zero
void zero()
Set this to zero.
sc::Ref
A template class that maintains references counts.
Definition:
ref.h:361
sc::TensorExtrapError
Definition:
tensorextrap.h:51
sc::StateIn
Definition:
statein.h:79
sc::TensorExtrapData::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::SCExtrapData
SCExtrapData hold the data to be extrapolated needed by SelfConsistentExtrapolation.
Definition:
scextrap.h:39
sc::TensorExtrapData::accumulate_scaled
void accumulate_scaled(double, const Ref< SCExtrapData > &)
The passed SCExtrapData is accumulated into this after applying the scaling factor.
sc::StateOut
Definition:
stateout.h:71
sc::SCExtrapError
SCExtrapError holds the error data needed by SelfConsistentExtrapolation.
Definition:
scextrap.h:61
sc::TensorExtrapData::copy
SCExtrapData * copy()
Return a copy of this.
sc::TensorExtrapError::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::TensorExtrapData
Definition:
tensorextrap.h:36
sc::TensorExtrapError::scalar_product
double scalar_product(const Ref< SCExtrapError > &)
Performs a scalar product between this and the given SCExtrapError.
sc
Contains all MPQC code up to version 3.
Definition:
mpqcin.h:14
sc::TensorExtrapError::error
double error()
Returns some measure of the total error.
Generated at Sun Jan 26 2020 23:23:57 for
MPQC
3.0.0-alpha using the documentation package
Doxygen
1.8.16.