qlat.contract_hvp — Conserved-Point HVP Contraction (Single Time Slice)¶
Source: qlat/qlat/contract_hvp.py
Note: Update this document when updating the source file.
Outline¶
contract_chvp3_field(prop1, prop2, tslice)— contract two propagators on one time slice.
Overview¶
This module provides a single high-level wrapper around the C++ routine
contract_chvp3_sfield. It computes the conserved-point hadronic vacuum
polarization (HVP) correlator between two propagators on a specified
lattice time slice and returns the result as a LatData object.
The @timer decorator records wall-clock time for profiling.
API Reference¶
contract_chvp3_field(prop1, prop2, tslice)¶
Compute the conserved-point HVP on time slice tslice.
Parameter |
Type |
Description |
|---|---|---|
|
|
First propagator (selected or dense). |
|
|
Second propagator (selected or dense). |
|
|
Lattice time slice index. |
Returns: LatData — the HVP correlator data for the given time slice.
Decorated with: @timer
Examples¶
import qlat as q
from qlat.contract_hvp import contract_chvp3_field
q.begin_with_mpi([1, 1, 1, 4])
# Set up geometry and field selection
total_site = q.Coordinate([4, 4, 4, 8])
geo = q.Geometry(total_site)
rs = q.RngState("seed")
fsel = q.FieldSelection()
fsel.set_rand(geo.total_site, 4, rs.split("fsel"))
# Create two SelProp objects on the same FieldSelection
prop1 = q.SelProp(fsel)
prop1.set_rand(rs.split("prop1"), 1.0, 0.0)
prop2 = q.SelProp(fsel)
prop2.set_rand(rs.split("prop2"), 1.0, 0.0)
ld = contract_chvp3_field(prop1, prop2, tslice=3)
print(ld)
q.end_with_mpi()