Skip to content

Commit

Permalink
added compare corr matrix which should give a difference between all
Browse files Browse the repository at this point in the history
data points of two correlator matricies
  • Loading branch information
f4hy committed Sep 5, 2013
1 parent 0c75956 commit 5d653e3
Showing 1 changed file with 60 additions and 0 deletions.
60 changes: 60 additions & 0 deletions compare_cormatrix.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
#!/usr/bin/env python
import numpy as np
import logging
import argparse
import plot_files
import pandas as pd
import re

pair = re.compile(r'\(([^,\)]+),([^,\)]+)\)')


def parse_pair(s):
if s:
return complex(*map(float, pair.match(s).groups()))
else:
return ""


def read_file(filename):
txt = plot_files.lines_without_comments(filename)
df = pd.read_csv(txt, delimiter=' ', names=["time", "correlator", "error"],
converters={1: parse_pair, 2: parse_pair}, skipinitialspace=True, index_col=0)
return df


def compared_cormatrix(corwild, reconwild, ops):
chi_sqr = 0.0
for col, src in enumerate(ops):
for row, snk in enumerate(ops):
logging.debug("Reading snk:{}, src:{}".format(snk, src))
raw_c = read_file(corwild.format(snk, src))
raw_rc = read_file(reconwild.format(snk, src))
diff = raw_c.correlator-raw_rc.correlator
mag = np.absolute(diff)
sqr = np.square(mag)
summed = np.sum(sqr)
chi_sqr += summed
logging.info("chi_sqr is {}".format(chi_sqr))


if __name__ == "__main__":

parser = argparse.ArgumentParser(description="Compute the Zfactors from the correlator and diagonalized coeffs")
parser.add_argument("-ic", "--inputcorrelatorformat", type=str, required=True,
help="Correlator wild card to read from")
parser.add_argument("-ir", "--inputreconstructed", type=str, required=True,
help="Reconstructed correlator wild card to read from")
parser.add_argument("-ops", "--operators", type=str, nargs="+", required=True,
help="operator strings, order matters!")
parser.add_argument("-v", "--verbose", action="store_true",
help="increase output verbosity")

args = parser.parse_args()
if args.verbose:
logging.basicConfig(format='%(levelname)s: %(message)s', level=logging.DEBUG)
logging.debug("Verbose debuging mode activated")
else:
logging.basicConfig(format='%(levelname)s: %(message)s', level=logging.INFO)

compared_cormatrix(args.inputcorrelatorformat, args.inputreconstructed, args.operators)

0 comments on commit 5d653e3

Please sign in to comment.