(git:691081d)
Loading...
Searching...
No Matches
topology_curvature Module Reference

Gauge-covariant C1/C2 plaquette kernels, independent of the state representation. More...

Functions/Subroutines

subroutine, public polar_link (overlap, link, minimum, status, tolerance)
 Polar-unitarize a physical link, retaining its minimum singular value.
subroutine, public link_plaquette (u_mu, u_nu_at_mu, u_mu_at_nu, u_nu, p)
 Oriented plaquette U_mu(x) U_nu(x+mu) U_mu(x+nu)^dagger U_nu(x)^dagger.
subroutine, public curvature_density (plaquettes, ndim, phase_limit, value, maximum, status)
 Local contribution to C1 or C2. Report unrounded values and reject unresolved phases.

Detailed Description

Gauge-covariant C1/C2 plaquette kernels, independent of the state representation.

Note
C2 is the second Chern character pairing, not generally the second Chern class.

Function/Subroutine Documentation

◆ polar_link()

subroutine, public topology_curvature::polar_link ( complex(kind=dp), dimension(:, :), intent(in) overlap,
complex(kind=dp), dimension(:, :), intent(out) link,
real(kind=dp), intent(out) minimum,
integer, intent(out) status,
real(kind=dp), intent(in) tolerance )

Polar-unitarize a physical link, retaining its minimum singular value.

Parameters
overlapRaw selected-state overlap matrix
linkUnitary polar factor
minimumSmallest singular value of the raw overlap
statusZero on success; nonzero for an invalid or singular link
toleranceMinimum allowed singular value

Definition at line 31 of file topology_curvature.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ link_plaquette()

subroutine, public topology_curvature::link_plaquette ( complex(kind=dp), dimension(:, :), intent(in) u_mu,
complex(kind=dp), dimension(:, :), intent(in) u_nu_at_mu,
complex(kind=dp), dimension(:, :), intent(in) u_mu_at_nu,
complex(kind=dp), dimension(:, :), intent(in) u_nu,
complex(kind=dp), dimension(:, :), intent(out) p )

Oriented plaquette U_mu(x) U_nu(x+mu) U_mu(x+nu)^dagger U_nu(x)^dagger.

Parameters
u_muLink in direction mu based at x
u_nu_at_muLink in direction nu based at x+mu
u_mu_at_nuLink in direction mu based at x+nu
u_nuLink in direction nu based at x
pOriented unitary plaquette based at x

Definition at line 55 of file topology_curvature.F.

Here is the caller graph for this function:

◆ curvature_density()

subroutine, public topology_curvature::curvature_density ( complex(kind=dp), dimension(:, :, :), intent(in) plaquettes,
integer, intent(in) ndim,
real(kind=dp), intent(in) phase_limit,
real(kind=dp), intent(out) value,
real(kind=dp), intent(out) maximum,
integer, intent(out) status )

Local contribution to C1 or C2. Report unrounded values and reject unresolved phases.

Parameters
plaquettesOrder 12 for C1; 12,13,14,23,24,34 for C2; all based at the same vertex
ndimParameter dimension, 2 or 4
phase_limitMaximum allowed principal plaquette phase, strictly between zero and pi
valueUnrounded local contribution
maximumMaximum absolute plaquette phase
statusZero on success, negative invalid/unresolved input, positive LAPACK failure

Definition at line 72 of file topology_curvature.F.

Here is the caller graph for this function: