CHROMA
lib
actions
ferm
invert
minvsumr.h
Go to the documentation of this file.
1
// -*- C++ -*-
2
/*! \file
3
* \brief Conjugate-Gradient algorithm for a generic Linear Operator
4
*/
5
6
#ifndef __minvsumr__
7
#define __minvsumr__
8
9
#include "
linearop.h
"
10
11
namespace
Chroma
{
12
13
14
// Solve a shifted unitary system
15
//
16
// A x = b
17
//
18
// Where X is of the form: A = zeta I + rho U
19
//
20
// rho > 0 and zeta are complex, and U is unitary
21
//
22
// We solve with the method described in:
23
//
24
// "A Fast Minimal Residual Algorithm for Shifted Unitary Matrices"
25
// by Carl F. Jagels, and Lothar Reichel
26
// Numerical Linear Algebra with Applications, Vol 1(6), 555-570(1994)
27
//
28
// This paper is referenced by and applied to the Overlap Dirac Operator
29
// by G. Arnold, N. Cundy, J. van den Eshof, A Frommer, S. Krieg, T. Lippert,
30
// K. Schaefer "Numerical Methods for the QCD Overlap Operator: II.
31
// Optimal Krylov Subspace Methods" -- hep-lat/0311025
32
// which is where the name SUMR was coined.
33
//
34
template
<
typename
T>
35
void
MInvSUMR
(
const
LinearOperator<T>&
U
,
36
const
T
&
b
,
37
multi1d<T>&
x
,
38
const
multi1d<Complex>& zeta,
39
const
multi1d<Real>& rho,
40
const
multi1d<Real>&
epsilon
,
41
int
MaxSUMR,
42
int
&
n_count
);
43
44
}
// end namespace Chroma
45
46
47
#endif
linearop.h
Linear Operators.
x
int x
Definition:
meslate.cc:34
Chroma::ExternalFieldEnv::epsilon
int epsilon(int i, int j, int k)
Definition:
extfield_aggregate_w.cc:23
Chroma
Asqtad Staggered-Dirac operator.
Definition:
klein_gord.cc:10
Chroma::MInvSUMR
void MInvSUMR(const LinearOperator< LatticeFermion > &U, const LatticeFermion &b, multi1d< LatticeFermion > &x, const multi1d< Complex > &zeta, const multi1d< Real > &rho, const multi1d< Real > &epsilon, int MaxSUMR, int &n_count)
Definition:
minvsumr.cc:359
Chroma::n_count
int n_count
Definition:
invbicg.cc:78
Chroma::b
Complex b
Definition:
invbicg.cc:96
U
multi1d< LatticeColorMatrix > U
Definition:
t_aniso_gaugeact.cc:11
T
LatticeFermion T
Definition:
t_clover.cc:11
Generated by
1.9.1