MeanFi
What is MeanFi?
MeanFi is a Python package that performs self-consistent Hartree-Fock calculations on tight-binding models.
It aims to find the groundstate of a Hamiltonian with density-density interactions
$$ \hat{H} = \hat{H_0} + \hat{V} = \sum_{ij} h_{ij} c^\dagger_{i} c_{j} + \frac{1}{2} \sum_{ij} v_{ij} \hat{n}_i \hat{n}_j, $$
and computes the mean-field correction $\hat{V}_{\text{MF}}$ which approximates the interaction term:
$$ \hat{V} \approx \hat{V}{\text{MF}} = \sum{ij} \tilde{v}{ij} c^\dagger{i} c_{j}. $$
For more details, refer to the theory overview and algorithm description.
How to use MeanFi?
The calculation of a mean-field Hamiltonian is a simple 3-step process:
-
Define
To specify the interacting problem, use a
Modelobject which collects:- Non-interacting Hamiltonian as a tight-binding dictionary.
- Interaction Hamiltonian as a tight-binding dictionary.
- Particle filling number in the unit cell.
-
Guess
Construct a starting guess for the mean-field correction.
-
Solve
Solve for the mean-field correction using the
solverfunction and add it to the non-interacting part to obtain the total mean-field Hamiltonian.
import meanfi
#Define
h_0 = {(0,) : onsite, (1,) : hopping, (-1,) : hopping.T.conj()}
h_int = {(0,) : onsite_interaction}
model = meanfi.Model(h_0, h_int, filling=2)
#Guess
guess = meanfi.guess_tb(guess_hopping_keys, ndof)
#Solve
mf_correction = meanfi.solver(model, guess)
h_mf = meanfi.add_tb(h_0, mf_correction)
For more details and examples on how to use the package, we refer to the tutorials.
Why MeanFi?
Here is why you should use MeanFi:
-
Simple
The workflow is straightforward. Interface with
Kwantallows easy creation of complicated tight-binding systems and interactions. -
Extensible
MeanFi's code is structured to be easy to understand, modify and extend. -
Optimized numerical workflow
Introduces minimal overhead to the calculation of the mean-field Hamiltonian.
What MeanFi doesn't do (yet)
Here are some features that are not yet implemented but are planned for future releases:
- Superconductive order parameters. Mean-field Hamiltonians do not include pairing terms.
- General interactions. We allow only density-density interactions (e.g. Coulomb) which can be described by a second-order tensor.
- Temperature effects. Density matrix calculations are done at zero temperature.
Installation
pip install meanfi
Citing MeanFi
If you have used MeanFi for work that has led to a scientific publication, please cite us as:
@misc{meanfi,
author = {Vilkelis, Kostas and Zijderveld, R. Johanna and Akhmerov, Anton R. and Manesco, Antonio L.R.},
doi = {10.5281/zenodo.11149850},
month = {5},
title = {MeanFi},
year = {2024}
}
Metadata
Release files for meanfi 1.0.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 | Provenance | Actions |
|---|---|---|---|---|
| meanfi-1.0.0.tar.gz | 178.1 kB | Without provenance | Details for meanfi-1.0.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| meanfi-1.0.0-py3-none-any.whl | Python 3 | none | any | Details for meanfi-1.0.0-py3-none-any.whl |
Total release size: 199.0 kB
Release files / meanfi-1.0.0.tar.gz
| Download URL | meanfi-1.0.0.tar.gz |
|---|---|
| Size | 178.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b0d9459f218bc502b33017a642059babb3541b59243bf09afd282050f773ee64
|
|
BLAKE2b-256 checksum How to use checksums |
c4276b641f19d6580c5956f56b6b100527314bc74278a9c0c0abef73133ee2d8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
python-httpx/0.27.0
|
Release files / meanfi-1.0.0-py3-none-any.whl
| Download URL | meanfi-1.0.0-py3-none-any.whl |
|---|---|
| Size | 20.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
45f7e87709588fbf7d0ee469bd072fabdb210bf0c0515a8209bc36abd75fcc95
|
|
BLAKE2b-256 checksum How to use checksums |
7b6205da787de9017c297a18470a366beec47e7a99c4b6e073a0993dc6b64e41
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
python-httpx/0.27.0
|
Security for meanfi 1.0.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.