termfactory
About
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.
Install
pip install termfactory
Usage
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)
Examples
Every execution produces three primary files:
filename.(py/tex)default_logging_file.txttruncs.json
Generating LaTeX
full CC
RHS
python3 driver.py -t 1 1 1 1
Default filename: ground_state_full_cc_symmetric_equations.tex
LHS
python3 driver.py -t 1 1 1 1 -lhs
Default filename: ground_state_full_cc_special_LHS_terms.tex
HZ ansatz
RHS
python3 driver.py -t 1 1 1 1
Default filename: ground_state_z_t_symmetric_equations.tex
LHS
python3 driver.py -t 1 1 1 1 -lhs
Default filename: ground_state_z_t_special_LHS_terms.tex
e^T HZ
RHS
python3 driver.py -t 1 1 1 1 1
Default filename: ground_state_eT_z_t_symmetric_equations.tex
LHS
python3 driver.py -t 1 1 1 1 1 -lhs
Default filename: ground_state_eT_z_t_special_LHS_terms.tex
Generating Python code
full CC
RHS
python3 driver.py -t 1 1 1 1 -c
Default filename: ground_state_full_cc_equations.py
LHS
python3 driver.py -t 1 1 1 1 1 -c -lhs
Default filename: ground_state_full_cc_special_LHS_equations.py
HZ ansatz
There is no code generator implemented for the HZ ansatz
e^T HZ
RHS
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
LHS
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
Metadata
Release files for termfactory 1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| termfactory-1.0.tar.gz | 3.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| termfactory-1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 6.1 kB
Release files / termfactory-1.0.tar.gz
| Download URL | termfactory-1.0.tar.gz |
|---|---|
| Size | 3.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
36d2195374932690037c9eb26f580455d1effd35195906389f29a55d4c14d55d
|
|
BLAKE2b-256 checksum How to use checksums |
ebc28e2d9cfc445b5966a73323eabd8cf924361f0ee615b303f4bc6e794efcd5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.9.13
|
Release files / termfactory-1.0-py3-none-any.whl
| Download URL | termfactory-1.0-py3-none-any.whl |
|---|---|
| Size | 2.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a6d98703d38f550f9c9f49583aab63a0e9514e5dc56bf07018f6e5738a3e10af
|
|
BLAKE2b-256 checksum How to use checksums |
7b88d111b9ce1fbfd5f95064926a3c211fc18132c1cd1cc33344b8c08cb9b783
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.9.13
|