# Installation instructions

$\Omega MaxEnt$ : analytic continuation of numerical Matsubara data.

1) To run $\Omega MaxEnt$, you need Python with the Matplotlib package. Make sure you have a recent version of GCC or Clang (LLVM) compiler and BLAS and LAPACK installed. You will need CMake for the installation and Git is also useful to download the code.

2) To download the source files, open a terminal and execute the command:

git clone https://github.com/dbergeron1/OmegaMaxEnt


or use the "Clone or download" button on the GitHub page and unzip the file.

3) Create a directory to compile the code and move to that directory with

mkdir OmegaMaxEnt/build && cd OmegaMaxEnt/build


4) Install the program with

 cmake ..
make
make install


5) Test the code with

cd ../test_example
OmegaMaxEnt


# Features added since the first version

• The real part of the retarded function is now also computed. Both real and imaginary parts are saved in file "real_frequency_Green_function.dat". The frequency grid for that function is uniform and can be controlled with parameter "output real frequency grid parameters", in section FREQUENCY GRID PARAMETERS of file "OmegaMaxEnt_input_params.dat".
• You can now also obtain the retarded function using a Padé approximant. See section 2.7 or the user guide for more details.
• The python scripts and data files used to produce the figures are now saved. You can thus display the figures at any time without executing the program again by executing those scripts only. See the last paragraph of section 2.9 of the user guide for more details.
• When parameter "use non uniform grid in main spectral range" is enabled, in section FREQUENCY GRID PARAMETERS of main input file "OmegaMaxEnt_input_params.dat", the program generates a non-uniform real frequency grid automatically for the main spectral region using parameter "real frequency step" as the smallest step, located around parameter "real frequency grid origin" (or 0 by default), and with a step that increases as the frequency moves away from the origin. In the previous version, this option was working only when the program detected a sharp peak at zero frequency. See section 2.5 of the user guide for more details.
• For data with unknown error, the program can perform a series of analytic continuation on the same data, to which noise with a constant relative standard deviation has been added. This is done using parameter "added noise relative error", which accepts a small row vector. This option makes the output more stable for this type of data and allows to estimate the actual error on the data. See section 2.3.3 of the user guide for more details.
• For real (even) bosonic frequency data, the spectrum definition has been changed from $\sigma(\omega)=-2Im[G(\omega)]/\omega$ to $\sigma(\omega)=-Im[G(\omega)]/\omega$. Thus, it now agrees with the definition of the optical conductivity.
• Whether you enable "use non uniform grid in main spectral range", or use "grid parameters" (with "use parameterized real frequency grid" set to "yes"), the smoothness of the non-uniform grid density can now be modified more freely using parameter RW_grid in file "OmegaMaxEnt_other_params.dat". See section points 1. and 3. in section 2.5 of the user guide for more details.
• Treatment of data with a frequency-independent part, e.g., a self-energy with a Hartree-Fock term. See section 2.2.5 of the user guide for more details.
• In section COMPUTATION OPTIONS of the main input file "OmegaMaxEnt_input_params.dat", the parameters "default model center", "default model half width" and "default model shape parameter" allow more freedom to customize the default model, without having to provide a user-defined default model. See section 2.6 of the user guide for more details.
• For imaginary time data with a known (non-constant) error or covariance, after the data and covariance have been Fourier transformed, the program saves the Matsubara frequency data and covariance matrices in arma_binary format in folder "Fourier_transformed_data". If you need to perform other analytic continuations on the same data, use the binary files containing the saved Fourier transformed data as input instead of the original files. The preprocessing will then be much faster. See section 2.2.3 of the user guide for more details.