Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 41 additions & 0 deletions get_maxent_dat.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
#!/usr/bin/env python3

from argparse import ArgumentParser
import h5py
import numpy as np

def _get_arg_parser():
parser = ArgumentParser(
description='Get info for MaxEnt from HDF5 data file.',
)
parser.add_argument(
'--datafile', default="./data.h5",
help='Data file containing the bins.')
parser.add_argument(
'--obs_name', '-o', required=True,
help='Observable name. E.g. "Green_tau"')
return parser


if __name__ == '__main__':
parser = _get_arg_parser()
args = parser.parse_args()

with h5py.File(args.datafile, "r") as f:
dtau = f[args.obs_name].attrs['dtau']
channel = f[args.obs_name].attrs['Channel'].decode()
obs = f[args.obs_name + "/obser"]
N_orb = obs.shape[1]
N_tau = obs.shape[3]

orbital_coords = np.array([
f[args.obs_name + "/lattice"].attrs[f'Orbital{i+1}'] for i in range(N_orb)])

print(channel)

print(f'Channel={channel}, dtau={dtau}, N_tau={N_tau}')
print('Orbital coordinates:')
print(orbital_coords)

with open('maxent_aux', 'w', encoding='UTF-8') as f:
f.write(f'Channel={channel}, dtau={dtau}, N_tau={N_tau}\n')