Note that the dev_eTHZ_opteinsum
branch is the current working version. If you run into any issues just reach out to me at [email protected].
A python package for generating LaTeX and python code for evaluating residual terms.
The package is used to generate the einsum
equations for the vecc package (link tbd).
At the moment the package provides three primary ansatz:
- full CC
(H, CC, P)
- HZ ansatz
(H, CC, S, P)
- e^T HZ
(H, CC, T, eT, P)
Both LaTeX and python code can be generated. Ground state equations are available for all three ansatz. There are no excited state equations available for HZ ansatz.
pip install termfactory
driver.py is the main argparse interface py driver.py -h
usage: driver.py [-h] [-l /path/filename.txt] [-s] [-t T [T ...]] [-a ANSATZ] [-es EXCITED_STATE] [-rf REMOVE_F_TERMS] [-c] [-lhs] [-p PATH]
Code/Latex Generator
optional arguments:
-h, --help show this help message and exit
-l /path/filename.txt, --log_path /path/filename.txt
path to log file (default: default_logging_file.txt)
-s, --stdlog provide if you want the log to be piped to stdout (default: False)
-t T [T ...] Provided Truncations, example: -t 2 2 2 2 (default: None)
-a ANSATZ, --ansatz ANSATZ
Specify Ansatz (default: None)
-es EXCITED_STATE, --excited_state EXCITED_STATE
Only ground state? (default: True)
-rf REMOVE_F_TERMS, --remove_f_terms REMOVE_F_TERMS
Choose to remove f terms (default: False)
-c, --code Generate LaTeX by default; `-c` generates code instead. (default: False)
-lhs Generate LaTeX by default; `-c` generates code instead. (default: False)
-p PATH, --path PATH filename of load/save file (default: None)
Every execution produces three primary files:
filename.(py/tex)
default_logging_file.txt
truncs.json
python3 driver.py -t 1 1 1 1
Default filename: ground_state_full_cc_symmetric_equations.tex
python3 driver.py -t 1 1 1 1 -lhs
Default filename: ground_state_full_cc_special_LHS_terms.tex
python3 driver.py -t 1 1 1 1
Default filename: ground_state_z_t_symmetric_equations.tex
python3 driver.py -t 1 1 1 1 -lhs
Default filename: ground_state_z_t_special_LHS_terms.tex
python3 driver.py -t 1 1 1 1 1
Default filename: ground_state_eT_z_t_symmetric_equations.tex
python3 driver.py -t 1 1 1 1 1 -lhs
Default filename: ground_state_eT_z_t_special_LHS_terms.tex
python3 driver.py -t 1 1 1 1 -c
Default filename: ground_state_full_cc_equations.py
python3 driver.py -t 1 1 1 1 1 -c -lhs
Default filename: ground_state_full_cc_special_LHS_equations.py
There is no code generator implemented for the HZ ansatz
python3 driver.py -t 1 1 1 1 1 -c
Default filename: eT_zhz_eqs_RHS_H(1)_P(1)_T(1)_exp(1)_Z(1).py
python3 driver.py -t 1 1 1 1 1 -c -lhs
Default filename: eT_zhz_eqs_LHS_H(1)_P(1)_T(1)_exp(1)_Z(1).py