Visualization
There are four different ways to visualize MaxEntResult
(or
MaxEntResultData
) objects. We assuming here that the
MaxEntResult
object is named res
. The corresponding
MaxEntResultData
object can be obtained with res.data
.
Jupyter Widget
If you perform you calculation directly in a Jupyter notebook, the most convenient way to analyze the data is our interactive Jupyter widget JupyterPlotMaxEnt:
from triqs_maxent.plot.jupyter_plot_maxent import JupyterPlotMaxEnt
JupyterPlotMaxEnt(res)
JupterPlotMaxEnt works also with res.data
.
MaxEntResultData GUI
For those who prefer to work in the shell, or for calculations on machines without web-browsers,
this package also offers an interface to graphically display MaxEntResultData
objects
contained in h5-files.
To this end, first save res
to a h5-file:
from h5 import *
with HDFArchive('maxent_result.h5','w') as ar:
ar['maxent_result'] = res.data
Then, run the shell command:
YOUR_TRIQS_PATH/bin/plot_maxent maxent_result.h5
plot_* methods
All attributes which are shown by the GUI and the Jupyter widget have plot methods implemented. These methods can be used individually, e.g.:
# G(tau) and back-transformed G_rec(tau) for alpha index 10
plt.figure()
res.plot_G_rec(alpha_index=10)
# log(chi2) vs log(alpha)
plt.figure()
res.plot_chi2()
# linefit
plt.figure()
res.analyzer_results['LineFitAnalyzer'].plot_linefit()
The complete set of plot methods is described in the reference guide for
MaxEntResultData
and AnalyzerResult
.
Plot data by hand
Of course, it is also possible to access the data and plot/visualize it by hand. Examples are:
# G(tau) and back-transformed G_rec(tau) for alpha index 10
plt.figure()
plt.plot(res.data_variable, res.G)
plt.plot(res.data_variable, res.G_rec[10])
# log(chi2) vs log(alpha)
plt.figure()
plt.loglog(res.alpha, res.chi2)