Skip to main content

Λ³-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:

  1. Use high exact exchange
   mf = dft.RKS(mol)
   mf.xc = 'HF*0.5 + PBE*0.5'  # 50% exact exchange
  1. Consider range-separated hybrids
   mf.xc = 'camb3lyp'
  1. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyscf_vorticity-0.1.0.tar.gz (8.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyscf_vorticity-0.1.0-py3-none-any.whl (9.4 kB view details)

Uploaded Python 3

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

Hashes for pyscf_vorticity-0.1.0.tar.gz
Algorithm Hash digest
SHA256 d346b0c4379a142516d823bada481a7f7a745f20c42b7d7b7181c8160792b2a2
MD5 a3932b18939ac0d0976e53decfa75101
BLAKE2b-256 10979f44606c8eda892e72e57e94610fe840c68cf649a8094800ae399b7648cb

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyscf_vorticity-0.1.0.tar.gz:

Publisher: publish.yml on miosync-masa/pyscf-vorticity

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyscf_vorticity-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for pyscf_vorticity-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1a73271062096fafce6144f9fad9e8cd0777a2cbf37fc20309c6f95db67015d4
MD5 7e057fa904ff6025bc8243e329b7c411
BLAKE2b-256 8b5ec3f5d963fad544192a5eaeaf665feccc5c0658cbbe6ca1871bb01480659b

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page