Λ³-DFT: Vorticity-based exchange-correlation analysis
Project description
pyscf-vorticity
Geometric correlation analysis for quantum chemistry
What it does
Computes an effective correlation dimension γ from first-principles two-particle reduced density matrices, helping you select the optimal DFT functional for your system.
Quick Start
from pyscf import gto, scf, fci
from pyscf_vorticity import compute_vorticity
# Your molecule
mol = gto.M(atom='...', basis='cc-pvdz')
mf = scf.RHF(mol).run()
cisolver = fci.FCI(mf)
E_fci, fcivec = cisolver.kernel()
# Compute vorticity
rdm2 = cisolver.make_rdm12(fcivec, mol.nao, nelec)[1]
V, k = compute_vorticity(rdm2, mol.nao)
alpha = abs(E_fci - mf.e_tot) / V
# → Use γ to guide functional selection
HOW TO: Choosing Your Functional
The following table provides practical guidelines based on physical interpretation of γ. These are recommendations, not absolute rules.
| Your γ | Optimal a | Recommended Functional |
|---|---|---|
| γ ≈ 0 | a ≈ 1.0 | HF or high exact exchange hybrid |
| γ ≈ 1 | a ≈ 0.5 | M06-2X, BH&HLYP |
| γ ≈ 2 | a ≈ 0.33 | PBE0, B3LYP |
| γ ≈ 3-4 | a ≈ 0.25 | B3LYP |
| γ > 5 | a < 0.15 | TPSSh, pure GGA |
Guideline formula: a ≈ 1 / (1 + γ)
WHY: The Physics Behind It
The Problem
Standard DFT functionals contain empirical "magic numbers" - like B3LYP's 20% exact exchange - that work on average but fail systematically for:
- Strong correlation (Mott insulators, transition metals)
- Static correlation (bond breaking, diradicals)
- Weak correlation (metals)
The Root Cause
Most functionals implicitly assume a fixed correlation structure.
Reality: correlation strength varies across systems.
The Solution
The exchange-correlation energy scales with a vorticity measure V, allowing extraction of the correlation exponent γ through system-size dependence.
γ characterizes how correlated your system is:
| γ value | Correlation type | Electron behavior |
|---|---|---|
| γ → 0 | Strong (Mott) | Localized, atomic-like |
| γ ≈ 1 | Intermediate | Partially localized |
| γ ≈ 2 | Moderate | Molecular bonding |
| γ > 3 | Weak (metallic) | Fully delocalized |
HOW TO: Strong Correlation Systems
When γ → 0, standard DFT typically fails.
What to do:
- Use high exact exchange
mf = dft.RKS(mol)
mf.xc = 'HF*0.5 + PBE*0.5' # 50% exact exchange
- Consider range-separated hybrids
mf.xc = 'camb3lyp'
- Or go beyond DFT (CASSCF, DMFT, CC)
WHY this works:
Strong correlation (γ → 0) indicates localized electrons. Localized electrons require exact exchange to avoid self-interaction error. GGA/LDA assume delocalized electrons → systematic failure.
HOW TO: Weak Correlation (Metals)
When γ > 3:
mf.xc = 'PBE' # Pure GGA
mf.xc = 'TPSS' # Meta-GGA
WHY:
Delocalized electrons screen effectively. Exact exchange over-localizes → wrong band structure.
Validated Examples
H₂ Dissociation
R = 0.74Å: α = 0.062 (equilibrium)
R = 1.50Å: α = 0.039 (minimum)
R = 5.00Å: α = 0.097 (dissociated)
U-shaped α(R) captures weak → strong correlation transition.
Atoms
He (2e): α = 0.090
Be (4e): α = 0.003
Ne (10e): α = 0.004
The 30× drop from 2e to 4+e systems ("α-cliff") reflects the emergence of many-body correlation structure.
Installation
pip install git+https://github.com/miosync-masa/pyscf-vorticity.git
GPU acceleration (recommended):
pip install jax jaxlib
Citation
@article{iizumi2025geometric,
title={Geometric Origin of Exchange-Correlation in Density Functional Theory},
author={Iizumi, Masamichi},
journal={arXiv preprint},
year={2025}
}
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pyscf_vorticity-0.1.0.tar.gz.
File metadata
- Download URL: pyscf_vorticity-0.1.0.tar.gz
- Upload date:
- Size: 8.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d346b0c4379a142516d823bada481a7f7a745f20c42b7d7b7181c8160792b2a2
|
|
| MD5 |
a3932b18939ac0d0976e53decfa75101
|
|
| BLAKE2b-256 |
10979f44606c8eda892e72e57e94610fe840c68cf649a8094800ae399b7648cb
|
Provenance
The following attestation bundles were made for pyscf_vorticity-0.1.0.tar.gz:
Publisher:
publish.yml on miosync-masa/pyscf-vorticity
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pyscf_vorticity-0.1.0.tar.gz -
Subject digest:
d346b0c4379a142516d823bada481a7f7a745f20c42b7d7b7181c8160792b2a2 - Sigstore transparency entry: 780740322
- Sigstore integration time:
-
Permalink:
miosync-masa/pyscf-vorticity@9cb2cc962b5a11cda3c7572e39b1d1e9359ee56b -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/miosync-masa
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@9cb2cc962b5a11cda3c7572e39b1d1e9359ee56b -
Trigger Event:
release
-
Statement type:
File details
Details for the file pyscf_vorticity-0.1.0-py3-none-any.whl.
File metadata
- Download URL: pyscf_vorticity-0.1.0-py3-none-any.whl
- Upload date:
- Size: 9.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1a73271062096fafce6144f9fad9e8cd0777a2cbf37fc20309c6f95db67015d4
|
|
| MD5 |
7e057fa904ff6025bc8243e329b7c411
|
|
| BLAKE2b-256 |
8b5ec3f5d963fad544192a5eaeaf665feccc5c0658cbbe6ca1871bb01480659b
|
Provenance
The following attestation bundles were made for pyscf_vorticity-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on miosync-masa/pyscf-vorticity
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pyscf_vorticity-0.1.0-py3-none-any.whl -
Subject digest:
1a73271062096fafce6144f9fad9e8cd0777a2cbf37fc20309c6f95db67015d4 - Sigstore transparency entry: 780740324
- Sigstore integration time:
-
Permalink:
miosync-masa/pyscf-vorticity@9cb2cc962b5a11cda3c7572e39b1d1e9359ee56b -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/miosync-masa
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@9cb2cc962b5a11cda3c7572e39b1d1e9359ee56b -
Trigger Event:
release
-
Statement type: