Repository navigation
Releases
Releases · pyscf/pyscf
PySCF v2.15.0 release
- Added
- Internally contracted CASPT2, including density fitting and IPEA shift (#3401)
- Analytic nuclear gradients for spin-restricted DF-CCSD and DF-CCSD(T), including auxiliary basis response (#3426)
- Analytic nuclear gradients for GHF with spin-free Hamiltonians and GKS with collinear XC functionals (#3420)
- TREXIO interface transferred from PySCF-forge to pyscf.tools (#3454)
- Secondary grids for SCF response functions, configurable through set_second_grids (#3439)
- ASE density of states interface (#3376)
- pob-DZVP-rev2 and pob-TZVP-rev2 all-electron solid-state basis sets (#3337)
- Support specifying the solvent name in PCM, ddCOSMO and ddPCM (#3416, #3541)
- Restricted open-shell MP2 (ROMP2), including density fitting (#3471)
- Particle-particle RPA (ppRPA) module transferred from PySCF-forge to PySCF core (#3478)
- Frozen natural orbitals for molecular and periodic post-HF calculations through the ADC module (#3462)
- Spin-orbit coupling with GTH pseudopotentials (#3436)
- COACH functional (#3475)
- Hirshfeld and CM5 atomic charges (#3534)
- Mayer bond orders and Wiberg bond indices (#3533)
- EOM-EE-CCSD singlet transition dipoles, oscillator strengths and excited-state analysis (#3480)
- Transition multipoles, oscillator strengths, natural transition orbitals and excited-state analysis for GHF/GKS TDDFT (#3490)
- Relaxed density matrices and dipole moments from CCSD and CCSD(T) gradient objects (#3477)
- Triplet A and B matrices in RHF/RKS get_ab (#3482)
- Quasi-RRHO entropy and enthalpy options, including a molecule-specific average moment of inertia (#3491, #3544)
- Composite B97-3c, r2SCAN-3c and wB97X-3c methods through the dft3c interface (#3403)
- Outlying charge correction for C-PCM and COSMO in COSMO-RS exports (#3421)
- Improvements
- Faster Gamma-point PBC RCCSD using the optimized real CCSD kernel (#3452)
- Improved efficiency of SA-CASSCF nuclear gradients, including density fitting (#3444)
- Use the optimized AFT algorithm when kpts_band is a subset of kpts (#3392)
- Updated pbc.tools.precompute_exx for exchange singularity corrections and band calculations (#3412)
- Updated SAP potentials from fractionally occupied exchange-only LDA calculations (#3367)
- Faster RCCSD(T) lambda and response-density intermediates using C kernels (#3470)
- Batched KMP2 kernel (#3498)
- Improved finite-difference Hessians, convergence checks and excited-state tracking (#3428)
- Pass Hessian logging settings to the CPHF solver (#3531)
- Report installed PySCF extension paths in system information (#3526)
- Removed obsolete nao and icmpspt installation extras (#3501)
- Fixes
- Missing orbital-rotation response terms in ROHF and KROHF second-order SCF solvers (#3448)
- State-specific CASCI/CASSCF MC-PDFT, including excited-state density matrices with DMRG solvers (#3440)
- KMP2 frozen-orbital masks now exclude orbitals marked with INVALID_ORBITAL_ENERGY (#3451)
- Recover the full Monkhorst-Pack mesh for meta-Lowdin population analysis in KRHF, KUHF and KGHF (#3450)
- Corrected Ba polarization shells in def2 and ma-def2 basis sets, missing Mn f shells and I f/g exponents in def2-QZVPD and def2-QZVPPD (#3382)
- UHF non-convergence messages report the actual number of completed cycles
- Unsupported DF-UCCSD analytic gradients now raise NotImplementedError instead of returning gradients inconsistent with the density-fitted energy (#3426)
- Premature Krylov termination in CPHF and UCPHF for near-dependent right-hand sides (#3334)
- Krylov projected systems with nonorthogonal trial vectors and per-right-hand-side fallback for difficult multi-root solves (#3549, #3384)
- Basis projection and MINAO initial guesses with nearly linearly dependent basis sets (#3333)
- X2C analytic gradients and Hessians with finite nucleus models (#3397)
- X2C diagonalization fallback for nearly linearly dependent basis sets (#3405)
- EOM-GCCSD star corrections for degenerate roots (#3404)
- Mixed-spin block of the UCCSD(T) response density (#3387)
- KRPA/KURPA occupation handling, exact exchange and momentum conservation for shifted k-point meshes (#3385, #3408)
- Use the solvent optical dielectric constant in non-equilibrium TDDFT (#3386)
- L-PDFT CI vectors with state-average mix solvers and gradient initialization (#3432, #3345)
- CASCI/CASSCF gradients when the reference calculation has not yet been run (#3394)
- Normalize the initial CIAH trial vector to prevent premature termination (#3406)
- KUHF occupations when there are no beta electrons (#3348)
- Nuclear energy evaluation with the PBC RSJK builder (#3388)
- Integer overflow in AFT orbital-pair counts (#3356)
- Shape handling for spinor four-center integrals (#3370)
- Stack overflow in relativistic direct J/K screening (#3369)
- Incorrect broadcasting in ft_ao and ft_aopair for a single reciprocal-space vector (#3340)
- POSCAR reader (#3364)
- Reduce Coov symmetry to C2v (#3422)
- Allow get_fock without arguments when dynamic level shifting is enabled (#3063)
- PYSCF_DISABLE_EVAL environment variable to disable eval-based behavior (#3363)
- Non-canonical MP2 singles c 8000 ontributions to energies and one-particle density matrices (#3471)
- CCSD(T) gradients now solve the (T) lambda equations when multipliers are not supplied (#3469)
- Consistent range separation of auxiliary-basis metrics in DF gradients and Hessians (#3435, #3446)
- Empty shell blocks in MP2, CCSD and multiconfigurational gradients with small memory limits (#3545)
- Saturated DFT grid-response derivatives and small denominators (#3525)
- Unsupported grid response in RKS/UKS Hessians now raises NotImplementedError (#3502)
- Symmetrize the Hessian before diagonalization in harmonic analysis (#3507)
- PCM intermediates now respect max_memory (#3509)
- Density and energy corrections in CASSCF with solvent (#3503)
- Selected CI with an empty spin channel; exposed as_SCIvector (#3481)
- SCF conversions with fractional occupations and closed-shell ROHF (#3474)
- GHF get_jk for molecular and periodic calculations (#3524)
- Unsupported smearing in second-order SCF and KROHF/KROKS now raises an error; corrected UHF LUMO reporting (#3526)
- Preserve the MINAO initial-guess electron count for ECP atoms (#3543)
- ECP sanity checks for non-symbol atom keys and ECP replication in periodic supercells (#3542)
- KMP2 orbital padding (#3527)
- FFTDF and AFTDF meshes after reset (#3473)
- UGWAC Fermi energy with smearing (#3551)
- MP2 auxiliary-basis selection for 6-311G** (#3539)
- Linear dependence in CABS projection (#3460)
- TREXIO AO integral ordering, ECP handling and imported basis normalization (#3463, #3467)
- Cube-file box vectors, odd-electron molecule reads and overlapping output columns for large structures (#3488, #3499, #3506)
- Molden spherical d/f function declarations (#3497)
- MC-PDFT energy logger formatting (#3492)
- Linear-algebra exception handling in DIIS (#3516)
- Sigma-state reflection symmetry in the Dooh/Coov cylindrical-symmetry FCI solver (#3519)
- Clear stale ECP, pseudopotential, atom, basis and symmetry data when rebuilding Mole/Cell (#3532)
- Fix AGF2 complex matrix-vector products (#3532)
- Molecular GW diagonal self-energies now evaluate each frequency separately (#3532)
- Unrestricted exact-GW static corrections apply to every orbital (#3532)
- Periodic GW linearized density matrices now include the missing G0 contribution. (#3532)
- Periodic DF Coulomb matrices retain imaginary contributions from complex non-Hermitian Gamma-point transition densities (#3532)
- Reusable ddPCM solver helper calls and experimental SMD gradient imports (#3532)
- Prevent out-of-bounds factorial-table reads in high-angular-momentum ECP derivatives (#3532)
- Periodic meta-GGA kinetic-energy density with negative occupations (#3532)
- API Updates
- Python 3.9 or newer is required (#3500)
- Updated libcint to 6.2.0 and LibXC to 7.1.2 (#3523, #3336)
- MP2 update_amps now takes (mp, t1, t2, eris) instead of (mp, t2, eris) and returns (t1, t2) (#3471)
- Non-canonical MP2 includes T1 singles by default (#3471)
- mp.MP2 with an ROHF reference now returns ROMP2 or DFROMP2 instead of UMP2 (#3471)
- Smearing SCF convergence uses the free-energy change and orbital gradient in the main SCF loop, instead of the total-energy change (#3410)
- Restored standard auxiliary-basis normalization for periodic range-separated density fitting (#3510)
- Density-matrix keyword for SCF response functions (#3415)
- Add NumInt.is_hybrid_xc and NumInt.is_nlc to replace the direct calls to functions in the libxc module (#3396)
PySCF v2.14.0 release
- Added
- Gamma-point G0W0 for GWAC
- Bethe-Salpeter equation (BSE) for molecular GW module. Support both spin-restricted and spin-unrestricted.
- KRPA/KURPA: new routine for spin-restricted/unrestricted k-point RPA
- PBC RPA for smeared systems
- RCCSDT(Q) correction implementation
- MC26 and COF26 on-top functionals
- normalize CF22D functional and enable its built-in D3 dispersion
- spin-orbit coupling (SOC) Hamiltonian for GCCSD
- Implement CABS Singles correction (#3265)
- symmetry breaking via homo-lumo-mixing (#3271)
- Nuclear Gradients of GTH PP for molecules
- qavg-vSZPs basis and ecp-q-vSZP
- Analytic gradients for CASCI with UHF/RKS/UKS orbitals
- self-consistent dipole corrections for slab/2D systems (#3260)
- Improvements
- Windows support: DLL wrapper, compatibility
- GW improvements, including
- Support complex orbitals in GCCSD
- gto/ecp: fix premature convergence in radial quadrature at large exponents (#3250)
- Refactoring high-order CC implementations
- KRPA and KURPA: improve the numerical stablity of ACFD EXX
- SCF logging and add HOMO-LUMO gap reporting (#3281)
- Make wb97x-d4 configurable. DFTD4 recommended variants can be enabled by the parameter dispersion.DFTD4_RECOMMENDATIONS.
- Molecular Pipek-Mezey localization code refactored.
- Pipek-Mezey Wannier functions for PBC k-point orbitals constructed using CIAH algorithm. Wannier interpolation for PBC k-point calculations.
- allow customizing functionals by param name.
- Fixes
- Load basis sets from the Basis Set Exchange (BSE) when elements are missing from local
.datfiles - init_guess_by_mod_huckel function can now be called without arguments
- fixed memory over allocation in PCM gradients (fixes #3246)
- Fixed KeyError for MM ECPs in project_to_atomic_orbitals (#3243)
- Molden parser now handles files without the
Symfield - pbc/df: chunk kpt-pairs in CCGDFBuilder.outcore_auxe2 to avoid OOM (#3257)
- Atomic approximation for GHF X2C
- meta-GGA second derivative ordering for custom XC
- bad atomic radii assigned to ghost atom, which causes a bad Becke partition and a negative BSSE (#3302)
- density fitting UKS hessian
- Load basis sets from the Basis Set Exchange (BSE) when elements are missing from local
PySCF v2.13.1 release
- Fixes
- Missing CP2K basis set data in wheel distributions
- Small-rotor error.
- Corrected SG1 grid radii handling for ghost atoms.
- Fixed ECP loading to correctly fall back to Basis Set Exchange when local data is unavailable.
PySCF v2.13.0 release
- Added
- ASE band structure interface
- SOC-ECP for PBC DFT methods
get_rho_with_derivatives()function- PCM ISWIG surface discretization method
grid_responsesupport for the Stratmann grid partition scheme- Cartesian basis support in the PCM solvent module
gw_acandugw_acmethods- meta-GGA support in multigrid methods (currently computed in a slower mode)
- SGX gradients
- Improvements
- Warnings for basis-element mismatch
- Updated GTH basis set and pseudopotential databases
- Enforced real orbitals for time-reversal symmetric KSCF
- Added sanity checks to prevent bugs in the Newton solver for PBC mean-field methods
- Updated ccECP from pseudopotentiallibrary.org
- Improved PBC 2c2e integral accuracy for better numerical stability in PBC-GDF methods
- SGX implementation for improved numerical accuracy and performance
- Canonical orthogonalization by default in the SCF eigenvalue solver
- Support specifying "autoaux" as a key for auxiliary basis set
- Fixes
- RSJK initialization
- Skipped printing of velocity and magnetic dipole moments when ECP is detected
mo_coeffreshape size in PBC SCF HF DF-JK- XYZ file parser
- A bug where PCM assigned incorrect radii to ECP atoms
- Inconsistent symmetry axis assignment for D₂h molecules (#2773)
- Load default cell and k-points in
KGHF.get_hcore - POSCAR parser bug
- Handle ghost atoms in the QM/MM interface
- Errors in AO values caused by an incorrect diffuseness estimator
- Edge case involving empty arrays in DF-JK construction for PBC DF
- Incorrect DF-MP2 energy when using
jkfitin HF andrifitin MP2 - Edge case for the
frozenattribute (frozen=0) - PBC nuclear gradients in
fft_jk.get_k_e1withexxdiv=ewald
- API Updates
- Set
multigrid2as the default multigrid integrator - Smearing functions are moved to a separate module
- Set default
auxbasis_responselevel to 2 (full response) in density-fitting Hessian methods - Dump
nelecasin mcscf chkfile - Allow to skip
.run()for intermediate instances in method chains - In method pipelines,
.run()of intermediate steps is now executed automatically - Linear dependency for orbital bases are removed by default in SCF
- Set
PySCF v2.12.1 release
- Fixes
- NumPy 2.4.0 compatibility issue caused by mixing of scalar and 1D array
- Improvements
- Optimization function for improved convergence and stability in smearing.
PySCF v2.12.0 release
- New Features
- Velocity gauge integrals and oscillator strengths for TDSCF using GTH basis sets
- High Performance CCSDT and CCSDTQ Implementation (T1-dressed formalism)
- GHF stability_slow
- Density fitting implementation for the NEVPT2
- Improved
- Adjust UHF and ROHF analyze() to be compatible with msym
- Evaluate pseudo potential nonlocal term gradient on real space, the same as corresponding Fock evaluation
- Improve GPU4PySCF interface
- In pseudopotential nonlocal term gradient, if large imaginary is found, print warning instead of raise error
- Improve PBC DFT instantiation
- support complex vector for fci.direct_spin1 solver
- Reduced memory usage for pbc RSGDF
- Configurable einsum backend, supporting pytblis, tlibs-einsum and tensordot
- Fixes
- KRHF gradients when exxdiv='ewald'
- segfault for qcint backend
- fix a bug in x2c, where imag part has been deprecated.
- New Features and Improvements in the Molecular ADC Module
- Expanded 1-RDM Functionality:
- Introduced 1-RDM calculation functions for CVS-IP-RADC, CVS-IP-UADC, EE-RADC, and EA-UADC methods.
- Enhanced reference 1-RDM calculation function in UADC.
- Updated 1-RDM functions in IP-UADC and EE-UADC to include contributions up to ADC(3).
- Expanded oscillator strengths Functionality:
- Enabled oscillator strengths calculation for EE-RADC.
- Introduced get_properties function for EE-RADC.
- Updated get_trans_moments function EE-UADC to include contributions from 3rd order singlet excited amplitudes
- Advanced Orbital Control:
- Implemented frozen orbital functionality across all ADC cases, offering greater computational efficiency and control.
- Improved Initial Guess Strategies for ADC:
- Added CIS initial guess options for EE-UADC and EE-RADC.
- Introduced user-defined initial guess capabilities for all ADC methods, providing increased flexibility.
- Enhanced Analysis and Output:
- Integrated
analyze_eigenvectorfunction into EE-UADC, EE-RADC, CVS-IP-RADC, and CVS-IP-UADC for detailed analysis. - Added
analyze_spec_factorfor EE-RADC. - Updated
analyzefunction for CVS-IP-RADC, CVS-IP-UADC, EE-RADC, and EA-UADC methods. - Improved logging in
kernelandkernel_gsfunctions (UADC and RADC) to report the number of frozen and active orbitals.
- Integrated
- Bug Fixes
- Resolved a bug in 1-RDM functions that occurred when
approx_trans_momentswas set toTrue. - Fixed merge conflicts.
- Resolved a bug in 1-RDM functions that occurred when
- General Improvements
- Replaced long floating-point numbers with fractional representations for improved precision and readability.
- Expanded 1-RDM Functionality:
PySCF v2.11.0 release
- Added
- MCPDFT, XMS-PDFT, CMS-PDFT, and L-PDFT
- Analytical Gradients for CASSCF-PDFT, SA-CASSCF-PDFT, CMS-PDFT, and L-PDFT
- Non-adiabatic coupling vector for CMS-PDFT
- QM/MM interface for PBC systems.
- Analytical nuclear gradients for DFT+U methods
- Gaussian charge models for MM particles in QM/MM interface
- MC25 functional parameters
- Stress tensor for semi-local functioanlsGGA,
- Fixed-Size APC active space selection
- Improved
- libxc interface for customizing functional parameters
- Support the 'default' key in the input for the mol.ecp and grids.atom_grid
- Print imaginary frequency as negative frequency in dump_normal_mode()
- RHF exchange performance by preserving MO information
- Improve performance of PM localization with Becke charges
- Molecular density fitting RMP2 and UMP2 support PBC gamma-point mf instance
- ASE interface to support lattice optimization and geometry optimization for PBC systems
- Fixes
- to_gpu interface for solvent modules
- The mismatch exx between k-point and super-cell calculations caused by the inconsistent treatment in get_coulG and super_cell functions
- cell.KRKS() instantiation for symmetry adapted k-points
- Return converged == False if extra cycle in SCF is not converged
- API changes
- move state_average_mix to CASBase
- Remove the misleading warning
exp_to_discard
PySCF v2.10.0 release
- Added
- Analytical hessian for vv10 functional
- vv10 response contributions in TDDFT
- vv10 functionals for GKS
- Spin-seperated 4-particle density matrix for FCI
- TDDFT with C-PCM/IEF-PCM solvents and the corresponding TDDFT analytic gradients
- DFT+U for molecules and a linear-response method for determining U
- Add multigrid_numint method to setup the multigrid algorithm in DFT instances.
- Frozen orbitals for TDDFT
- EE-ADC for spin-conserved electronic excitations
- Improved
- Checks and warnings for missing ECP input on heavy elements
- Auxiliary basis set assignment based on BSE database
- Support for user-defined basis set aliases
- Multigrid performance for non-orthogonal lattice
- Multigrid APIs now follow the NumInt module; multigrid is decoupled from the
FFTDF implementation, supporting mixing of GDF and multigrid - The treatment of dimension=0 under PBC; the PBC dimension=0 can be called
with FFTDF, AFTDF, GDF, Multigrid integrals now. - Breit and Gaunt integrals for non-hermitian density matrices, supporting the
TDDFT computation with Breit and Gaunt interactions. - Low-Memory and Efficient Implementation of RCCSD(T) lambda-equation and RDM Intermediates
- Fixes
- transform_xc for 6th order XC derivatives
- Subgroups of C2h
- EXX integral computation in RSH functionals for PBC DFT with AFTDF
- Application order of solvent models and density fitting
- Slow convergence in GHF SOSCF
- Bugs in the geomeTRIC interface: max iteration, convergence check, and non-standard element symbols
PySCF v2.9.0 release
- Added
- Analytical PCM Hessian
- Density fitting UCCSD
- A general driver for finite difference gradients and hessian
- Improved
- Assign default auxiliary basis for def2-mtzvp and def2-mtzvpp
- Better initial guess for smearing
- libxc interface for passing omega in composite functionals
- The tolerance in geometry when identifying point group symmetry
- Adjust PBC GDF eigenvalue decomposition accuracy
- Special treatment in PBC GDF for dimension=0 systems
- The density matrices computation performance of fci_dhf_slow
- Fixes
- Dimension bug in spinor X2C code
- C-PCM and SS(V)PE gradients
- Complex density matrices for DFHF
- Fixes COSMO-RS functionality
- DF auxiliary basis assignment for ghost atoms
- Lattice sum range issue for low-dimensional systems
- The precision when dumping molecular geometry in fromfile/fromstring function
- kpts_band in the rsdf method.
PySCF v2.8.0 release
- Added
- The ccpy extension (https://github.com/piecuch-group/ccpy) which enables various Coupled cluster methods
- COSMO-RS functionality
- DFMP2 and RPA for UHF reference
- Add functions to read and write Cell geometry, allowing Direct or Cartesian in VASP input
- Add def2-mtzvp and def2-mtzvpp basis sets for 3c methods
- libqcschema module to load qcschema json
- Improved
- Integral screening for Gaunt and Breit term
- Performance and multi-threading efficiency of DFMP2 and RPA, gaining 4x - 8x speedups
- Stability analysis for extended system, matching with molecular version
- Update to Libxc 7.0
- Adjust TDDFT amplitudes to follow the CIS convention
- Accelerate DFT density and XC potential, especially for MGGA.
- Automatically apply SCF initial guess from existing wavefunction.
- Improve the first order derivatives of density fitting J/K matrices for non-hermitian density matrices.
- Improve TDDFT diagonalization numerical stability.
- Remove redundant integral computation for SR-only (such as HSE) and LR-only (such as wb97) RSH functionals
- Fixes
- ASE interfaces regarding to the API changes in ASE v3.11.0
- Missing conj() for t2 amps in GCCSD and UCCSD routines
- UCCSD damping
- Fix biased implementation for the becke radi method.
- Fix DFT define_xc_ interface and examples.
- Fix SR-ERI integral screening estimator.
- Fix CCSD two-particle density matrix for complex orbitals.
- Take cell.rcut into account when generating becke grids for low-dimensional systems.