CHROMA
Main Page
Modules
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
_
a
b
c
d
e
f
g
i
k
l
m
n
o
p
q
r
s
t
u
z
Typedefs
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
u
v
w
Enumerations
c
e
f
g
h
m
o
p
q
r
s
t
v
w
Enumerator
a
b
c
d
e
f
g
h
i
k
m
n
o
p
q
r
s
t
u
w
z
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
:
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
u
v
w
Enumerations
Enumerator
e
h
i
k
r
s
t
v
Related Functions
:
a
g
h
i
l
o
p
r
s
t
u
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
k
l
m
o
p
q
r
s
t
u
v
w
z
Variables
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
e
l
m
p
q
s
t
u
Enumerations
Enumerator
c
e
f
g
h
l
n
o
s
t
w
Macros
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
y
z
lib
meas
glue
mesq.cc
Go to the documentation of this file.
1
2
#error "NOT FULLY CONVERTED"
3
4
/* Return the value of the trivial geometric definition of */
5
/* the topological Charge */
6
7
/* Only for U(1) in 2 dim (Nc=1,Nd=2)*/
8
9
/* u -- gauge field (Read) */
10
/* q -- topological charge (Write) */
11
12
include
(types.mh)
13
14
SUBROUTINE(MesQ,
u
,
q
)
15
16
multi1d<LatticeColorMatrix>
u
(
Nd
);
17
Double
q
;
18
{
19
include
(COMMON_DECLARATIONS)
20
21
LatticeColorMatrix tmp_0;
22
LatticeColorMatrix
tmp_1
;
23
LatticeComplex
wplaq_tmp
;
24
LatticeReal
tmp_r
;
25
LatticeReal
tmp_x
;
26
LatticeReal
tmp_y
;
27
LatticeReal
phi
;
28
29
Double
tmp
;
30
Double
tmp2
;
31
Double
tmp3
;
32
33
int
cb
;
34
int
mu
;
35
int
nu
;
36
37
START_CODE
();
38
39
40
phi
= 0;
41
42
if
(
Nd
!= 2 )
43
QDP_error_exit
(
"only support 2 dimensions"
);
44
45
if
( Nc != 1 )
46
QDP_error_exit
(
"only support for U[1]);
47
48
mu=0;
49
nu=1;
50
51
for(cb=0; cb < 2; ++cb)
52
{
53
/* tmp_0 = u(x+mu,nu)*u_dag(x+nu,mu) */
54
tmp_0 = shift(u[nu][1-cb], cb, FORWARD, mu) * shift(adj[u[mu][1-cb]], cb, FORWARD, nu);
55
56
/* tmp_1 = tmp_0*u_dag(x,nu)=u(x+mu,nu)*u_dag(x+nu,mu)*u_dag(x,nu) */
57
tmp_1 = tmp_0 * adj(u[nu][cb]);
58
59
/* wplaq_tmp = tr(u(x,mu)*tmp_1=u(x,mu)*u(x+mu,nu)*u_dag(x+nu,mu)*u_dag(x,nu)) */
60
wplaq_tmp = trace(u[mu][cb] * tmp_1);
61
62
tmp_x = real(wplaq_tmp);
63
tmp_y = imag(wplaq_tmp);
64
tmp_r = atan2(tmp_y, tmp_x);
65
phi += tmp_r;
66
}
67
68
tmp = -sum(phi);
69
70
71
tmp2 = 8*atan(1);
72
q = tmp / tmp2;
73
74
END_CODE();
75
}
Nd
Nd
Definition:
meslate.cc:74
START_CODE
START_CODE()
cb
int cb
Definition:
mesq.cc:33
q
Double q
Definition:
mesq.cc:17
tmp_x
LatticeReal tmp_x
Definition:
mesq.cc:25
mu
int mu
Definition:
mesq.cc:34
nu
int nu
Definition:
mesq.cc:35
wplaq_tmp
LatticeComplex wplaq_tmp
Definition:
mesq.cc:23
tmp2
Double tmp2
Definition:
mesq.cc:30
tmp_r
LatticeReal tmp_r
Definition:
mesq.cc:24
tmp_y
LatticeReal tmp_y
Definition:
mesq.cc:26
tmp3
Double tmp3
Definition:
mesq.cc:31
phi
LatticeReal phi
Definition:
mesq.cc:27
include
include(types.mh) multi1d< LatticeColorMatrix > u(Nd)
tmp
Double tmp
Definition:
mesq.cc:29
tmp_1
LatticeColorMatrix tmp_1
Definition:
mesq.cc:18
Chroma::QDP_error_exit
QDP_error_exit("too many BiCG iterations", n_count, rsd_sq, cp, c, re_rvr, im_rvr, re_a, im_a, re_b, im_b)
Chroma::u
static multi1d< LatticeColorMatrix > u
Definition:
syssolver_linop_qop_mg_w.cc:39
testing::internal::Double
FloatingPoint< double > Double
Definition:
gtest.h:7351
Generated by
1.9.1