Metadata-Version: 2.1
Name: ebcc
Version: 1.4.5
Summary: Coupled cluster calculations on electron-boson systems
Keywords: quantum,chemistry,electronic,structure,coupled,cluster,electron,boson,ccsd
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Science/Research
Classifier: Intended Audience :: Developers
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Software Development
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: POSIX :: Linux
Requires-Python: >=3.7
Description-Content-Type: text/markdown
Requires-Dist: numpy >=1.19.0
Requires-Dist: scipy <=1.10.0
Requires-Dist: pyscf >=2.0.0
Requires-Dist: h5py >=3.0.0
Provides-Extra: dev
Requires-Dist: black >=22.6.0 ; extra == 'dev'
Requires-Dist: isort >=5.10.1 ; extra == 'dev'
Requires-Dist: flake8 >=3.8.4 ; extra == 'dev'
Requires-Dist: flake8-pyproject >=1.2.3 ; extra == 'dev'
Requires-Dist: flake8-bugbear >=23.0.0 ; extra == 'dev'
Requires-Dist: flake8-docstrings >=1.6.0 ; extra == 'dev'
Requires-Dist: coverage[toml] >=5.5.0 ; extra == 'dev'
Requires-Dist: pytest >=6.2.4 ; extra == 'dev'
Requires-Dist: pytest-cov >=4.0.0 ; extra == 'dev'

# ebcc: Coupled cluster calculations on electron-boson systems

The `ebcc` package implements various coupled cluster (CC) models for both purely electronic and coupled electron-boson models, with a focus on generality and model extensibility.

### Installation

From source:

```bash
git clone https://github.com/BoothGroup/ebcc
pip install .
```

### Usage

The implemented models are built upon the mean-field objects of [`pyscf`](https://github.com/pyscf/pyscf):

```python
from pyscf import gto, scf
from ebcc import EBCC
mol = gto.M(atom="H 0 0 0; H 0 0 1", basis="cc-pvdz")
mf = scf.RHF(mol)
mf.kernel()
ccsd = EBCC(mf)
ccsd.kernel()
```

### Code generation

The models implemented are generated algorithmically from expressions over second quantized operators. Expressions are generated using [`qwick`](https://github.com/obackhouse/qwick) and [`pdaggerq`](https://github.com/edeprince3/pdaggerq) with optimisation of common subexpressions and contraction order achieved using [`drudge`](https://github.com/tschijnmo/drudge) and [`gristmill`](https://github.com/tschijnmo/gristmill).
User-inputted models should operate seamlessly with the solvers by adding files under `ebcc/codegen`, so long as they satisfy the interface.
