Difference between revisions of "Correlation Function Manager"

From Gw-qcd-wiki
Jump to: navigation, search
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
Name pending.
+
This page will contain some technical details about the correlation function manager.
 
 
Chris has set up a workflow for computing the finite volume spectrum of an n to m meson system(at least he thinks so).  The outline is as follows.
 
 
 
1.  Determine the basis of operators you want to include by looking at the non-interacting energy levels.  Note all of the operators that appear below the inelastic threshold, then pick at least the next 1 or as many as you wish(this is for use in the variational basis to remove excited state effects.
 
 
 
2.  Project the operators to the relevant finite volume symmetry group, $O_h$ for cubic and $D_{4h}$ for elongated boxes.
 
 
 
3.  Take the operators and compute all of the relevant wick contractions, ex. $\bar{u}u\bar{d}d \rightarrow u\bar{u}d\bar{d}$. 
 
 
 
4.  The wick contractions give a list of diagrams for each element of the correlation matrix that needs to be computed.
 
 
 
5.  Once all relevant diagrams are computed, combine them into correlators, apply the GEVP to the correlation matrix and fit the resultant spectrum to obtain the energy levels.
 
 
 
 
 
= Codes =
 
 
 
==Steps 1 & 2==
 
The operator selection and projection is done in a single notebook, OperatorConstruction.nb.  The notebook is set up to produce two
 
output files.  One is the input to a CPP code that manages the wick contractions and Diagrams, it is a list of Operators following
 
notation used in gwu-qcd papers.  Note that these operators are NOT projected to an irrep, rather these are the set of operators to
 
construct all possible projections to the $A_1^+$ irrep.  The other are the elements of the correlation matrix that need to be loaded
 
into mathematica once numerical values have been stored.  This file is saved in a mathematica format and has the operators correctly
 
projected.
 
 
 
==Steps 3 & 4==
 
The wick contractions and diagrams are handled by the ComputeCorrelationFunction repository(soon to be replaced by https://github.com/chrisculver/ModernComputeCorrelator).
 
The cpp code reads in the list of operators, then constructs a correlation matrix.  For each element of the correlation matrix it
 
 
 
1.  Checks that the wick contraction can be loaded.  If not, it produces a message saying which file was not found.  Eventually this will be replaced with
 
input to the wick contraction code.
 
 
 
2.  Checks that the numerical diagram file is found.  If not it produces CPU and GPU code to compute the diagrams as well as input to said codes.  These need to be compiled with an external set
 
of codes. 
 
 
 
3.  Checks that all diagrams are actually found in the file.  If not it produces the same output, but with only the relevant missing diagrams.  Currently this is broken due to common subexpression elimination.
 
 
 
4.  Outputs the correlation functions for each element for a single configuration.
 
 
 
 
 
==Step 5==
 
The GEVP and fitting is handled again by mathematica, usually in a notebook that is labelled by the ensemble and total momentum, in the relevant project folder.
 

Latest revision as of 17:04, 24 October 2019

This page will contain some technical details about the correlation function manager.