Skip to content

ee_adc_merge - #38

Merged
sokolov-group merged 349 commits into
masterfrom
ee_adc_merge
Jul 11, 2025
Merged

sokolov-group merged 349 commits into
masterfrom
ee_adc_merge

Conversation

@TerryStahl

Copy link
Copy Markdown
Collaborator

The ee_adc_merge branch contains the EE-ADC code for both unrestricted, restricted-open-shell, and restricted calculations. The unrestricted, restricted-open-shell, and restricted EE-ADC codes are implemented up to third-order in perturbation theory for energy calculations. Also, the unrestricted and restricted-open-shell EE-ADC codes contain codes to calculate the spin-squared expectation value up to -X and oscillator strengths up to third order in perturbation theory.

ssh2 and others added 30 commits August 31, 2022 17:20
Addressing flake and test errors in the ADC code
Update fork's master from pyscf/master
Updating master from the base fork
Update sokolov-group fork
…ing non-abelian symmetry (pyscf#1477)

* ENH: Add interface to libmsym (https://github.com/mcodev31/libmsym)

* ENH: Add option to clean non-symmetric orbital parts in symm.symmetrize_space

* ENH: Add extrasym option to forbid certain orbital rotations in mcscf

* Write irrep ID if irrep name is not available

* ENH: Use axes and origin found by pyscf to generate SALCs with libmsym

* Add doc strings to the libmsym interface and verify it is not used with mol.cart

* Improvements to symm.addons.symmetrize_space

* Create find_symmetric_mo function out of existing code

* Add Lowdin orthogonalization steps into symm.addons.symmetrize_space

* Add function that can symmetrize orbitals with respect to multidimensional irreps

* Get rid of extra dicts in the multidimensional symmetrization function

* Make orbital irrep_id by libmsym interface reductable to the highest Abelian subgroup

* Fix tests, skip symmetrization analysis if there are no orbitals
* Implement another variant of the Hückel guess based on the updated GWH rule from doi:10.1021/ja00480a005
* fix bug in symm cas methods

* Fix flake8 W293
…1845)

* Fix the edge case CAS(2,2) for Selected CI (issue pyscf#1808)

* Fix test
* Bug fix for RSDF due to Mole basis sorting

* Bug fix for pbc df Jbuild for hermi == 0

* improve TDSCF init guess degeneracy handle

* complete pbc tdscf

* b3lyp -> b3lyp5

* adjust values due to v2.3

* add examples; add finalize

* remove non-gamma point exception

* fix flake8 error

* remove numer instable tests (higher roots)

* update tests

* fix wrong num of states

* bug fix in response

* keep minimal changes for pbc _response

* better handle of exxdiv, including vcut

* add NotImplementedError for rsjk + non-zero kshift

* fix shifted kpt for TDRKS/UKS

* fix flake8 error

* revert CasidaTDDFT

* fix flake error

---------

Co-authored-by: hongzhouye <>
* add NVT BOMD and example

* overload functions

* remove default NVT

* remove NVTBerendson

* update init

* update example

* add NVTBerendson unit test

* corrected Temperature()

* corrected temperature

* added temp rmsf check

* added temperature test

* removed pandas dependency

* added temperature test linear mol

* corrected flake8 errors
sokolov-group and others added 26 commits August 8, 2024 11:56
…scillators but this was not a problem for analyzing spec factors
@sokolov-group
sokolov-group merged commit 94ebb41 into master Jul 11, 2025
chenningyuan pushed a commit that referenced this pull request Aug 13, 2025
* Merging EE-ADC code (#38)

* Running autoflake to clean up flake errors

* Trying agressive autoflake

* Addressing flake errors in uadc_ip_cvs.py

* Fixing comparisons with boolean

* Addressing long line flake errors

* Flake is clean

* Fixing issues in periodic tests

* Renaming tests to skip

* Fixed API for the DF integrals

* Updates master from base fork

* Interface to libmsym (https://github.com/mcodev31/libmsym) for handeling non-abelian symmetry (pyscf#1477)

* ENH: Add interface to libmsym (https://github.com/mcodev31/libmsym)

* ENH: Add option to clean non-symmetric orbital parts in symm.symmetrize_space

* ENH: Add extrasym option to forbid certain orbital rotations in mcscf

* Write irrep ID if irrep name is not available

* ENH: Use axes and origin found by pyscf to generate SALCs with libmsym

* Add doc strings to the libmsym interface and verify it is not used with mol.cart

* Improvements to symm.addons.symmetrize_space

* Create find_symmetric_mo function out of existing code

* Add Lowdin orthogonalization steps into symm.addons.symmetrize_space

* Add function that can symmetrize orbitals with respect to multidimensional irreps

* Get rid of extra dicts in the multidimensional symmetrization function

* Make orbital irrep_id by libmsym interface reductable to the highest Abelian subgroup

* Fix tests, skip symmetrization analysis if there are no orbitals

* fix bad indentations (E111 pycodestyle warning)

* some pep8 fixes as suggested by pycodestyle (pyscf#1834)

* fix some typos (found using codespell) (pyscf#1828)

* some fixes for rst syntax in the doc (pyscf#1829)

* Recognize also numpy integer types in the density functional wrapper

* Implement another variant of the Hückel guess  (pyscf#1784)

* Implement another variant of the Hückel guess based on the updated GWH rule from doi:10.1021/ja00480a005

* Fix bug in symm cas methods (pyscf#1817)

* fix bug in symm cas methods

* Fix flake8 W293

* fixing a few more typos in gto/ and lo/

* Fix the edge case CAS(2,2) for Selected CI (issue pyscf#1808) (pyscf#1845)

* Fix the edge case CAS(2,2) for Selected CI (issue pyscf#1808)

* Fix test

* [Ready for review] Complete implementation of pbc/tdscf (pyscf#1793)

* Bug fix for RSDF due to Mole basis sorting

* Bug fix for pbc df Jbuild for hermi == 0

* improve TDSCF init guess degeneracy handle

* complete pbc tdscf

* b3lyp -> b3lyp5

* adjust values due to v2.3

* add examples; add finalize

* remove non-gamma point exception

* fix flake8 error

* remove numer instable tests (higher roots)

* update tests

* fix wrong num of states

* bug fix in response

* keep minimal changes for pbc _response

* better handle of exxdiv, including vcut

* add NotImplementedError for rsjk + non-zero kshift

* fix shifted kpt for TDRKS/UKS

* fix flake8 error

* revert CasidaTDDFT

* fix flake error

---------

Co-authored-by: hongzhouye <>

* added NVT BOMD and example (pyscf#1818)

* add NVT BOMD and example

* overload functions

* remove default NVT

* remove NVTBerendson

* update init

* update example

* add NVTBerendson unit test

* corrected Temperature()

* corrected temperature

* added temp rmsf check

* added temperature test

* removed pandas dependency

* added temperature test linear mol

* corrected flake8 errors

* Fix lz_adaptation example; needs to run in D2h symmetry to work

* new collection of typos everywhere

* Optimize grad_nuc

* Newton casscf hcc (issue pyscf#701) (pyscf#1869)

* Hessian_CC in newton_casscf (issue pyscf#731)

Hessian-vector product should have zero overlap w/ keyframe CI
vector at all times. Remove factors of 2 which spoiled this.

* update newton_casscf unit tests

---------

Co-authored-by: Matthew R Hermes <[email protected]>

* fix other rst issues

* Support Gaussian charge model for int1e_grids

* GHF with fractional occupancy (pyscf#1826)

* Fix bug in GHF with fractional occupancy

* Remove unused code in X2C

* Fix setup.py

* Implement fcidump.from_mcscf

* add pycodestyle to linter workflow

* trying to fix the flake8 linter

* get rid of TAB characters, and activate check for W191

* fix and activate pycodestyle W293

* Fixes pyscf#1846

* Optimize JK builder for short-range ERIs (pyscf#1882)

* Optimize get_jk for SR integrals; Update fill_ints_sr for cint 6.0

* Add tests

* Fix _vhf.direct_mapdm

* Refactor VHFOpt, to manage the memory of CVHFOpt in Python

* Updates for lint

* Libxc or XCFun should be cited for density functional calculations

* Support using DF-CCSD and frozen for FNO-CCSD (pyscf#1893)

* Bug fix for RSDF due to Mole basis sorting

* Bug fix for pbc df Jbuild for hermi == 0

* support frozen

* fix test name

---------

Co-authored-by: hongzhouye <>

* Assume 46 and 78 core configurations to be f-in-valence

* fix but do not activate W391 (pyscf#1885)

* Improve wheel (pyscf#1900)

* Improve setup.py; fix issue pyscf#973 pyscf#934

* Adjust CI test pipeline and pypi wheel build pipeline

* Adjust CI pipeline for python 3.12

* Fix CI job on MacOS

* Remove pytest-timer from python3.12 CI tests

* Pytest-cov uses a large amount of memory in CI jobs

* Fix ci.yml

* Remove deprecated pkg_resources library (for Python 3.12)

* Fix syntax error

* Disable pyberny version check

* New features and code refactoring (pyscf#1859)

* Add numint2c for pbc.dft; Update pbc-gks tests; Refactor pbc scf and dft methods

* Fix inheritance problems in k-DFT ksymm methods

* Add vv10 for pbc dft

* Fix kgks

* Improve k-dft initialization

* Update pbc-dft nlc tests

* Add undo method for dynamically generated classes

* Update the treatment of _keys

* Refactor smearing

* Refactor mcscf

* new GTO base class and conversion between mole and cell

* Refactor basis parser; merge gto.mole basis parser and pbcgto.cell basis parser

* Fix inconsistency between _bas and _basis (related to issue pyscf#1770)

* update __getattr__

* Remove unnecessary Mixins

* Update class structures of localization modules

* Add the shallow copy method in the base class StreamObject

* Remove copy statements in mcscf modules

* Fix basis parser and other tests

* Update mcscf addons and fci addons

* Update tests

* Make Mole and Cell picklable

* Adjust CI test pipelines and other updates

* Fix code merging conflicts

* Update rsdf _keys

* Restore r_numint tests

* Fix pp_int for Mole object

* Update tests

* Fix TDDFT initial guess (pyscf#1897)

* Remove trunc_workspace

* Fix initial guess for tdscf methods; Update tdscf tests

* Restore tests

* Update tests

* Fix tests, restore tests

* no need to inherit from object

* add pcm solvent models (pyscf#1884)

* added solvent models

* add example for RHF

* cleanup variables

* support casci casscf and ccsd

* uncomment unittests

* change example name

* update reset

* for flake8

* fixed a bug in soscf/newton_ah.py

* updated for recent master changes

* remove whitespace

* remove whitespace

* use yield from (ruff UP028)

* Release 2.4 (pyscf#1904)

* Release 2.4

* Fix macos pypi wheel

* Allow to turn off AO symmetry for PBC KS calculations (pyscf#1905)

* allow turning off AO symmetry for PBC DFT

* add test

* modernize super() (ruff UP008)

* Fix CASCI grad (pyscf#1914)

* casci grad crash for small max_memory. Fix pyscf#1909

* Fix tests

* Fix chunking dimension for pol_embed in  _compute_multipole_potential_integrals

* Lattice-sum cutoff (pyscf#1923)

* basis rcut bug for non-orthogonal cell. Fix pyscf#1911

* Slightly adjust estimate_rcut to improve PBC integral accuracy

* Fix adc tests

* fix get_bands with k-point symmetry

* added selected CI example for molecules

* apply "ruff --fix check --select=C40 pyscf"

* fix cc example 20

* Update Mole.loads method for backward compatibility

* Fix rsdf due to the basis sorting in 923d84c (issue 1942)

* Fix decontract_basis function when basis are missed on certain atoms. (Fix pyscf#1711) (pyscf#1943)

* Fix decontract_basis when basis are missed on certain atoms. (Fix pyscf#1711)

* 4th, and 5th order XC derivatives (pyscf#1930)

* Update conda build

* Arbitrary order to transform_xc; patch xcfun up to 5th order

* Update libxc itrf

* Configure max_deriv_order; arbitrary order for ud2ts and ts2ud

* Add 4th order XC deriv in CI job

* To gpu (pyscf#1901)

* Add to_gpu

* Remove multi-inheritances of pbc mean-field class

* Remove GKS.to_gpu

* Undefined variables

* Update to_gpu

* Add istype function to handle both the mol-SCF and gamma-point-SCF objects

* Update mf type check code in all post HF functions

* Improve the undo_soscf method in which unnecessary df objects are remvoed

* Fix tests

* Update tdscf initialization

* typo

* Missing remove_soscf in khf

* add 'max_cycle' to hessianbase

* Fix PBC DFT Becke grid rounding error (pyscf#1960)

* Explicit file encoding for cuda mixed environment due to issue NVIDIA/cuda-python#29

* Swith off sparsity algorithm for small system (issue pyscf#1956)

* native support dispersion correction (pyscf#1916)

* added solvent models

* add example for RHF

* cleanup variables

* support casci casscf and ccsd

* uncomment unittests

* change example name

* update reset

* for flake8

* fixed a bug in soscf/newton_ah.py

* updated for recent master changes

* remove whitespace

* remove whitespace

* native support dispersion correction

* fixed a bug in pcm

* Update hf.py

* move dispersion to addons

* remove disp in RKS

* call get_dispersion in kernels

* added unit test for d4

* fixed dispersion correction in testing h2o

* updated ci

* skip unittest if dftd3 or dftd4 is missing

* Fci str2addr (pyscf#1971)

* Update cistring module for issue pyscf#1886

* Slightly optimize the fci contraction performance

* fix a bug in KUGWAC that doesn't generate proper GDF when using LDA/GGA functionals

* Update periodic GW init and add example (pyscf#1967)

* Update periodic GW init and add example

* Update 22-k_points_gw.py

* Removing mf.to_rhf() and mf.to_uhf()

The `to_rhf()` seems to raise the same DF error as in the unrestricted case, so I've removed it. But with/without `to_uhf()` I still get the same DF error.

* Fix a bug in ci string function

* fix typo

* Bug fix in interactive solver for non-canonical UMP2 (pyscf#1991)

* Bug fix in interactive solver for non-canonical UMP2

* Fixed the test_ump2.py

---------

Co-authored-by: hung.pham <[email protected]>

* Bug fix for Pipek Mezey + Stability check using Jacobi sweep (pyscf#1990)

* PM loss/grad/hess for any exponent; add test

* add jacobi stability check for PM

* bug fix for boy pbc

* Add heading

---------

Co-authored-by: hongzhouye <>

* skip mol in to_gpu

* Fix basis order issue in molden.load (issue pyscf#1961)

* Update Mole and Cell for the hasattr error in to_gpu and to_cpu methods

* Fix post-hf Gradients with cartesian GTOs (issue pyscf#1985)

* Handle xcfun patch failure in cmake

* Fix the shape bug in make_eris_incore in gccsd.py

As described in issues pyscf#2002

* Enable numpy array of get_k_kpts in df_jk.py

Dear all,

I found that if the user gives a set of mo_occ or mo_coeff (in numpy array form) to the kmf with GDF, the current will raise an error. 
It assume the mo_coeff, mo_occ is list of tuple.

* fix indentation

* fix a typo (missing .ndim)

* Include publication year and DOI in ECP computation references

* Update cmake patch command (issue pyscf#1998)

* Warning messages, and other improvements (pyscf#2009)

* Warning messages for MGGA in Hessian calculations

* Cache dynamically generated class

* Update the HDF5 tempfile handler

* Ensure shape of lattice vectors (issue pyscf#1932)

* feat(gto.basis): improve final, generic error message for basis not found

* add nr_nlc_vxc to NumInt

* Chkfile initial guess problem in ROHF and ROKS (issue pyscf#1986) (pyscf#2010)

* Fix chkfile initial guess problem for ROHF and ROKS (issue pyscf#1986)

* Use UHF natural orbital for RHF chkfile initial guess

* Enable some xc_deriv tests

* Enable xcfun compilation

* Print b3lyp warning when needed (issue pyscf#2029) (pyscf#2040)

* Hide b3lyp warning (issue pyscf#2029)

* Backward compatibility for xcfun

* typo

* Optimize the memory usage of GDF builder (pyscf#2047)

* Control the memory footprint for rsdf_builder and rsjk_builder (issue pyscf#2017)

* Adjust omega value in rsdf and rsjk

* Improve cistring.addr2str for large address (issue pyscf#1886)

* Handle magmom in Mole serialization (pyscf#2049)

* magmom serialization problem (issue pyscf#2026)

* Handle mesh

* Add tests for cell.dumps

* Fix the class of supercell scf object for the k2gamma conversion (pyscf#2030) (pyscf#2041)

* Fix the class of supercell scf object for the k2gamma conversion (pyscf#2030)

* typo

* Update k2gamma tests

* Refactor: error checks in C code and updates for GPU4PySCF library (pyscf#2048)

* Update to c99 standard; update dependency to libcint-6.1.1

* Update SCF functions for corresponding code in GPU4PySCF

* Add checks for malloc

* Update 02-ghf example according to issue pyscf#1970

* Update libcint/qcint version

* Remove the implicit dependency to mpi4py in __init__.py (issue pyscf#1888) (pyscf#2059)

* Remove the implicit dependency to mpi4py in __init__.py (issue pyscf#1888)

* import error

* Import error in momgfccsd tests

* Fix df-grad for UHF when symmetry is enabled (issue pyscf#2054)

* Check cylindrical symmetry of the orbitals for FCI solver (issue pyscf#2022)

* Fix bug for init_guess=atom (issue pyscf#2056)
Fix dft get_veff tests

* Improve magmom initialization (issue pyscf#2055)

* DIIS with damping (pyscf#2053)

* update simple damping and add DIIS damping

* update get_fock in solvent and dynamic level shift

---------

Co-authored-by: hongzhouye <>

* Add level shift to CPHF solver

* fix cp2k basis parse (issue pyscf#2043) (pyscf#2045)

* fix issue pyscf#2043

* add test for parse_cp2k

* allow symbol choosing for GTH PP parser

* SA-CASSCF Nonadiabatic Coupling Vectors (pyscf#2046)

* add nacs stuff but need to rebuild

* fix io warning test

* add sacasscf nac files from mrh

* update and add nac_method

* fix for flake8

* add example file

* update to assert len and uniqueness of states

* udpate

* udpate

* udpate

* fix assert statements and handling of state[0]==state[1]

* Backward compatibility issue in fci.cistring

* Release 2.5

* fix magmom check in mol.copy()

If magmom is an np.ndarray,
`if mol.magmom` will raise error.
Need to explicitly use `is not None`

* Move LebedevGrid C code to Python code; fix issue pyscf#2073 (pyscf#2076)

* Move LebedevGrid C code to Python code; fix issue pyscf#2073

* Restore CxLebedevGrid.c and fix bug

* lint error

* Add an API to dump system info

* multigrid DFT version 2 (pyscf#2078)

* Fix smearing with predefined chemical potential (pyscf#2098)

* added hubbard model with UHF example, fixed chemical potential bug in addons.py

* fix pbc smearing

* add test for smearing with mu0

---------

Co-authored-by: fishjojo <[email protected]>

* Add tests for ndarray_pointer_2d function (pyscf#2101)

* Add tests for ndarray_pointer_2d function

* Fix ndarray_pointer_2d

* Fix transform_ci for more than 64 orbitals (pyscf#2095)

* Fix transform_ci for more than 64 orbitals

* Separate occ_masks into a function

* fix binomial function in fci_string

* Fix xcfun high-order derivatives

* More type checks in fci solver (pyscf#2122)

* float type checks

* Update mcscf docstring (issue pyscf#2119)

* Fix failed tests

* Improve to_gpu (pyscf#2124)

* Update to_gpu

* Improve to_ks/to_hf

* Update to_gpu for df, solvent, qmm, and other methods

* Fix fci initialization

* Improve memory usage for RPA (pyscf#2115)

* improve memory usage for RPA with outcore ao2mo; fix small bug

* raise something when loading libpbc.get_Gv

* fix flake8 issue

* fix flake8 issue

* used DF-RHF as EXX, changed ref values

* unrestricted case

* unrestricted case

* Restore pyscf/pbc/gto/cell.py

* DFT wrapper supporting conventional DFT methods (pyscf#2084)

* added solvent models

* add example for RHF

* cleanup variables

* support casci casscf and ccsd

* uncomment unittests

* change example name

* update reset

* for flake8

* fixed a bug in soscf/newton_ah.py

* updated for recent master changes

* remove whitespace

* remove whitespace

* native support dispersion correction

* fixed a bug in pcm

* Update hf.py

* move dispersion to addons

* remove disp in RKS

* call get_dispersion in kernels

* added unit test for d4

* fixed dispersion correction in testing h2o

* updated ci

* skip unittest if dftd3 or dftd4 is missing

* new high level dft wrapper

* clean up & move dispersion to energy_tot

* remove disp from dft _keys

* fixed import dftd3_xc_map

* fixed typo

* added a wrapper for is_nlc

* replaced more ni.libxc.is_nlc with ni.is_nlc

* added wb97x-d3 as a special case

* added disp_3body

* removesuffix -> replace

* address qiming's comments

* add dft_parser && change back to libxc.is_nlc

* fixed unit test

* disable wb97x-d3, wb97x-d

* skip dftd3 for py3.12 & skip wb97x-d3

* Update dft_parser; Add tests for dft_parser

* Add warning messages

* Update test_h2o.py

---------

Co-authored-by: Qiming Sun <[email protected]>

* fix dipole moment in sfx2c1e

* debug and simplify to_gpu (pyscf#2149)

* support and simplify to_gpu

* remove comments

* flake8

* bug fix for RCCSD(T) with complex orbitals (pyscf#2141)

* bug fix for vooo order

* fix flake8

---------

Co-authored-by: hongzhouye <>

* Fix if mf.istype('UHF') for to_uhf() conversion

* Solve conflicts between @Property and __getattr__

* move static configurations from setup.py to pyproject.toml (pyscf#2144)

* move testing options to pytest.ini

* move static configurations from setup.py to pyproject.toml

* Update CI release jobs

---------

Co-authored-by: Qiming Sun <[email protected]>

* fix pbc df with KPoints input

* Fix pip builder

* reset enuc in _build_supcell_ (pyscf#2164)

* reset enuc in _build_supcell_

* add test for enuc reset

---------

Co-authored-by: hongzhouye <>

* Bug fix for single k-point JK-build in PBC DF (pyscf#2165)

* bug fix for j-build in get_jk

* bug fix for k-build in get_jk

---------

Co-authored-by: hongzhouye <>

* add missing init file

* DFTD3 & DFTD4 builder (pyscf#2161)

* local build dftd3/dftd4

* flake8

* fixed issues apis

* add compilation tool for mac

* fixed bugs in unittest

* fixed an issue in unit test

* add fortran compiler

* fortran compiler

* Move dftd3 and dftd4 builder to a separated repo (pyscf-dispersion)

* enable dftd3 & dftd4 for python3.12

* Adjust tests

---------

Co-authored-by: Qiming Sun <[email protected]>

* Kpoint dft to_hf error (fix issue pyscf#2157)

* ancient GCC compatibility

* fix

* fix: infinite recursion atom_hf call when ECP with super-heavy atoms (>Cm) (pyscf#2183)

* bugfix: resolve recursive initial guess when atomic charge > 96 (> Cm) and ecp activated

* Adjust AGF2 tests

---------

Co-authored-by: Qiming Sun <[email protected]>

* fix x_id in parse_token

* fixing unit test for dftd3 and dftd4

* Run CASCI and CASSCF without symmetry if symmetry is C1 (pyscf#2195)

* Run CASCI and CASSCF without symmetry if symmetry is C1

* groupname, not symmetry!

* move auxbasis_response out of __init__ (pyscf#2192)

* move auxbasis_response out of __init__

* relax unit test in test_c_agf2

* import hessian

* Update __init__.py

* improve the consistency in DF modules (pyscf#2204)

* improve the consistency

* added comment to _pinv

* tight conv_tol_cpscf by default

* set linear dependence threshold to 1e-9

* remove comments

* update unit tests

* SMD model and PCM Hessian (pyscf#2173)

* local build dftd3/dftd4

* flake8

* fixed issues apis

* add compilation tool for mac

* fixed bugs in unittest

* fixed an issue in unit test

* add fortran compiler

* fortran compiler

* Move dftd3 and dftd4 builder to a separated repo (pyscf-dispersion)

* enable dftd3 & dftd4 for python3.12

* Adjust tests

* add PCM and SMD, gradient and Hessian

* added __init__ files

* debug for ci

* flake8

* add more unit tests && refactor code

* Fix if mf.istype('UHF') for to_uhf() conversion

* Solve conflicts between @Property and __getattr__

* move static configurations from setup.py to pyproject.toml (pyscf#2144)

* move testing options to pytest.ini

* move static configurations from setup.py to pyproject.toml

* Update CI release jobs

---------

Co-authored-by: Qiming Sun <[email protected]>

* fix pbc df with KPoints input

* Fix pip builder

* reset enuc in _build_supcell_ (pyscf#2164)

* reset enuc in _build_supcell_

* add test for enuc reset

---------

Co-authored-by: hongzhouye <>

* Bug fix for single k-point JK-build in PBC DF (pyscf#2165)

* bug fix for j-build in get_jk

* bug fix for k-build in get_jk

---------

Co-authored-by: hongzhouye <>

* add missing init file

* Kpoint dft to_hf error (fix issue pyscf#2157)

* ancient GCC compatibility

* fix

* local build dftd3/dftd4

* rebase

* fixed bugs in unittest

* add fortran compiler

* rebase

* delete dftd3 and dftd4 files

* legacy SMD

* fortran compiler for mac

* gcc

* which gcc

* found fortran compiler

* fortran compiler

* reinstall gcc

* update unit test for pcm

* relax unit test in agf2

* resolved some comments

* add statement for smd source code

* refactor smd

* fixed bugs

* bugfix

* Skip compiling SMD by default

* Add fortran compiler in Macos build;
Fix conda build.

* empty line at EOF

* Fix SMD configuration in linux wheel

* add an example for SMD

* SkipTest -> skipTest

* excited states for PCM

* revert the changes in dispersion

* EOF

* added warnings in solvent modules when finite difference is used

---------

Co-authored-by: Qiming Sun <[email protected]>
Co-authored-by: Michal Krompiec <[email protected]>
Co-authored-by: chillenb <[email protected]>
Co-authored-by: fishjojo <[email protected]>
Co-authored-by: Hong-Zhou Ye <[email protected]>
Co-authored-by: Maximilian Scheurer <[email protected]>
Co-authored-by: Matthew Hennefarth <[email protected]>

* Density fitting performance optimization (re issue pyscf#1915) (pyscf#2205)

* use trsm in df.incore

* use np.matmul in df/df_jk.py

* faster df.outcore with trsm

* avoid numpy mem copy with h5py read_direct

* clarify chained matmuls

* use lib.dot to avoid syrk, df/outcore.py swap buffers

* Restore functionality for CDFT example (pyscf#2210)

* Restore functionality for CDFT example

I'm sure this example worked when it was authored, but that is no longer the case. This patch restores functionality.

* replace deprecated xrange with range

* add V step size to verbose output

It is one of the convergence criteria and should be shown

* add commentable option to verify consistency of example

* make post and pre diis implementations of the inner loop consistent

* add arg that pyscf expects

On my machine this wasn't needed but on others it was

* Move comments to docstring

* factor out cdft inner loop

* remove unused things

* correct errors in the documentation

* improve DFT APIs (pyscf#2187)

* support nlc = False && enhance dispersion correction

* Add DFT d3 examples

* reorg xc, nlc, and disp

* flake8

* Update dispersion error messages and examples

* updated example for dftd3

* Fix dispersion funciton names

* Fix dft sanity check

* Fix super() in KohnSham.check_sanity()

* Fix dftd3 test

* Conservative import

* print info in dispersion corrections

* change apis

* bugfix

* remove print

* bugfix

* added do_nlc check

* clarify do_nlc

* raise conflict between mf.xc and mf.nlc

* Cleanup disp logics and update disp examples

* Update dft_parser module

* Fix undefined-variable errors

* Fix dispersion parser

* Update example

---------

Co-authored-by: Qiming Sun <[email protected]>

* reomve some traces of unicode (py2) and some unused imports

* Update install dependencies

* Fix an import issue for X2C_KS (issue pyscf#2223)

* The spin_samples attribute for DKS

* Fix frozen for FNO (pyscf#2217)

* fix frozen for FNO

* fix FNO-UCC

* fix flake8

---------

Co-authored-by: hongzhouye <>

* DF dataset naming issue for rsh xc (fix pyscf#2236) (pyscf#2240)

* df dataset naming issue for rsh xc (fix pyscf#2236)

* fix tests

* Release 2.6

* bugfix in dispersion hessian (pyscf#2242)

* bugfix in dispersion hessian

* fixed bug in dispersion hessian

* added more unit test for dispersion

* unit test

* allow passing in options when creating HDF5 files (pyscf#2218)

* allow passing in options when creating HDF5 files

* Undo typo in ao2mo/outcore

* fix typo in h5filewrite_options example

* change default basis linear dependence threshold (pyscf#2228)

* change default basis linear dependence threshold

* sync setting in outcore.py

* unit test & linear dependence threshold

* linter

* 1e-12 -> 1e-14 for linear dependence

* lindep = 1e-13

* relax unit test

* Update test_df.py

* Update incore.py

* Update test_linalg_helper.py

* Update linalg_helper.py

---------

Co-authored-by: Qiming Sun <[email protected]>

* Abandon ROHF gradients and ROHF hessian (pyscf#2259)

* Add ruff check (pyscf#2262)

* Updates for numpy 2.0 release; Add ruff check; Cleanup tests

* Degeneracy issue in KGKS tests

* Adjust tests

* Fix a knumint bug when handling mcol and ncol

* Update ruff config

* Update doc strings (pyscf#2264)

* Update doc of eval_gto function

* Update geomopt examples (fix pyscf#2233) and atom_coords examples

* Improve pypi build pipeline (pyscf#2265)

* Adjust build order in release pipeline

* Update aarch64 build

* Handle dynamically registered post-HF attributes

* Patch release 2.6.1

* use all conda-forge compilers

* Updates due to NumPy 2.0 API changes (pyscf#2274)

* Updates due to NumPy 2.0 API changes

* Fix __array_wrap__

* Fix a bug caused by an inplace operation in linalg_helper._qr

* Fix inplace operation bug in pbc.cc.kintermediates_uhf

* Retore a few np.array(copy=True) statement

* Patch release 2.6.2

* Fix wheel build for setuptools 70 (pyscf#2278)

* Fix platform issue in bdist_wheel

* In case fail to import bdist_wheel

* Remove the ase module bulk from pyscf_ase (fix pyscf#2271) (pyscf#2279)

* Remove the ase module bulk from pyscf_ase (fix pyscf#2271)

* Fix get_ab of tddft for RSH functional (Fix pyscf#2261)

* Missing symbols

* Add tests

* typo

* Fix integer overflow for large ano basis (pyscf#2282)

* Fix integer overflow for large ano basis (fix pyscf#2201)

* More int type issues

* Fix Hessian atmlst and example (pyscf#2293)

* add atmlst to examples; fix examples/hessian/01-scf_hessian.py

* fix atmlst for hessian

* fix lint issue

* fix scipy.sparse.linalg.cg issue

* fix scipy.sparse.linalg.cg issue

* fix scipy.sparse.linalg.cg issue

* fix scipy.sparse.linalg.cg issue

* allow modifying tol and nroots in stability (pyscf#2299)

* allow modifying tol and nroots

* add example for tight tol

* pass kwargs to mf.stability

* fix typo

* Fix bugs in complex-valued contractions for direct_nosym (fix pyscf#2302)

* Handle api changes in scipy-1.14

* typo

* Fix initial guess dimension problems when solving multiple roots (fix issue pyscf#2292)

* Fix import dependency issue in SCF.do_disp()

* Fix a dimension bug in direct_spin1_cyl_sym. Update example for issue pyscf#2291

* compare version as int, not str (pyscf#2309)

* fixing a few typos

* another little wave of typos

* Fix addons.smearing RHF electron number (pyscf#2290)

* typos and typos

* a few more typos fixed

* Fix to kscf for dft (pyscf#2336)

* fix bug in convert_to_kscf

* fix bug in convert_to_kscf

* fix kuhf case in convert_to_kscf

* Fix MP2 FNO bug when pct_occ=1 (pyscf#2337)

* Update mp2.py

* Update ump2.py

* Superposition of Atomic Potentials (SAP) initial guess implementation for HF-SCF calculations (pyscf#2301)

* Added VSAP initial guess implementation for Hartree-Fock SCF
calculations (described by S. Lehtola here:
https://doi.org/10.1021/acs.jctc.8b01089)
Modified fakemol_for_charges to be usable for SAP 3C2E integrals.
Supplied sap_grasp coefficients computed by S. Lehtola.

* Added 'large' and 'small' sap coefficient functionality

* Fixed some bugs in recognition of DFT and HF objects and their SAP
guesses. Made other cleanups and fixes proposed by S. Lehtola.

* Changed logger.error to logger.warn

* Renamed HF SAP guess functions from 'vsap' to 'sap' to avoid confusion
with DFT counterparts using a different method with same name.

* Fixed a bug I had created by accident.
Created new fakemol_for_cgtf_charge function to be used in forming SAP guess
and to avoid breaking other functionality which use the
fakemol_for_charges function.

* Removed redundant attribute check

* vsap -> sap

* charge sumcheck tolerance set to 1e-6

* Apply suggestions from code review

Co-authored-by: Susi Lehtola <[email protected]>

* Changed sap initial guess to accept basis set in internal format
(python dict) or as a string (will look for basis file locally and
from basis set exhcange if bse api is installed)

* Added SAP guess to restricted open-shell Hartree-Fock (ROHF)

* Added SAP guess to non-relativistic generalized Hartree-Fock (GHF)

* Tidy up SAP function in GHF, make sap_grasp_large to default SAP basis

* Add example for SAP inital guess.

* Added SAP guess to Dirac-Hartree-Fock (DHF)

* small cleanups

* SAP now accepts internally formatted python dictionary as basis. SCF object has new attribute sap_basis

* Apply suggestions from code review

Co-authored-by: Susi Lehtola <[email protected]>

* Clarified example using explicit dictionary format basis for SAP

* Apply suggestions from code review

Co-authored-by: Susi Lehtola <[email protected]>

* Comment for vsap added back

* Fixed  issue

* Fixed style issues

* Fix style issue with extraneous 'f' prefix

* fix ROHF SAP guess call tree, add SAP unittest for rhf and rohf

* Fixed accidental incorrect test

* Add SAP guess to UHF

* Add SAP unittest for uhf

* Add SAP unittest for GHF

* Add SAP unittest for DHF

* flake8 warning

---------

Co-authored-by: Susi Lehtola <[email protected]>
Co-authored-by: Qiming Sun <[email protected]>

* Use weakref for automatic deletion of tmpfiles (to fix pyscf#2318) (pyscf#2320)

* Use weakref for automatic deletion of tmpfiles

* github actions tests check number of leftover temporary files

* temporary file check pytest exit status

* Avoid h5f.flush() on closed file

---------

Co-authored-by: Qiming Sun <[email protected]>

* Updates to the EA/IP-ADC code

* Inteface changes

* Changes interface to the 1-RDM functions in IP/EA-RADC

* Fixed accidental copy

* Fixed accidental copy

* Fixed Contractions radc_ip.py

* Moves make_ref_rdm1 to the appropriate location

* IP tests 1RDM Ref and Exc. Up to ADC(3)

* Fixed bugs that were breaking EA tests

* Clean up

* Changes to the UADC class

* EA Tests Completed from SO code. Slight cleanup for IP tests

* Reference 1RDM tests N2 EA + IP up to ADC(3)

* N2 1RDM EA up to ADC(3) tests

* Completed RADC(3)  1RDM N2 IP tests

* Example file added for 1RDM dipole moment examples with various methods

* Small changes to comments in 1RDM test file

* Final Comment Change 1RDM examples

* Formatting changes and fixing approx_trans_moments option

* ROHF code cleanup

* Fixes a test for IP-ADC

* UADC class clean-up

* IP/EA classes clean-up

* Add singles correlation energy

* More class clean-up, added dipole moment integrals

* Author list update

* Addresses lint errors

* Addressing flake issues

* Few more flake issues addressed

* Adding the EE-ADC code from the old branch

* Fixing osc strengths calculation

* Testing oscillator strengths

* Oscillator strengths do not match the old implementation. Investigating...

* fixed osc problem, TY_xx.append(TY_x) not ordering things right for oscillators but this was not a problem for analyzing spec factors

* Changes in the UADC spin contamination interface

* fixed rohf bugg added ooov and vvvo density matrices and variants

* working on density efficient matrices

* added efficent density matrices

* deleted some lines

* added the radc_ee file that is most up to data

* DF low mem bug fixed

* made some updates, need to work on flake

* radc_ee.py passes flake8, working on uadc_ee.py file

* uadc_ee.py file passed flake

* Renames spin contamination functions

* files pass flake test

* Proper handling of compute_properties attribute in RADC

* Cleaning up imports

* Makes sure that CVS-UADC tests pass

* Updates to RADC tests and UADC default convergence thresholds

* updated convg thresholds

* Example updates and some other interface changes

* One more interface change for the RADC code

---------

Co-authored-by: Alexander Sokolov <[email protected]>
Co-authored-by: Alexander Sokolov <[email protected]>
Co-authored-by: sokolov-group <[email protected]>
Co-authored-by: Nikolay A. Bogdanov <[email protected]>
Co-authored-by: Frédéric Chapoton <[email protected]>
Co-authored-by: Susi Lehtola <[email protected]>
Co-authored-by: Junjie, Yang <[email protected]>
Co-authored-by: Qiming Sun <[email protected]>
Co-authored-by: Hongzhou Ye <[email protected]>
Co-authored-by: Aniruddha Seal <[email protected]>
Co-authored-by: Matthew R Hermes <[email protected]>
Co-authored-by: Matthew R Hermes <[email protected]>
Co-authored-by: Nikolay Bogdanov <[email protected]>
Co-authored-by: Max Nusspickel <[email protected]>
Co-authored-by: Xiaojie Wu <[email protected]>
Co-authored-by: Xing Zhang <[email protected]>
Co-authored-by: peter-reinholdt <[email protected]>
Co-authored-by: fishjojo <[email protected]>
Co-authored-by: Chong Sun <[email protected]>
Co-authored-by: Verena Neufeld <[email protected]>
Co-authored-by: Jiachen Li <[email protected]>
Co-authored-by: Timothy Berkelbach <[email protected]>
Co-authored-by: liwt31 <[email protected]>
Co-authored-by: Hung Pham <[email protected]>
Co-authored-by: hung.pham <[email protected]>
Co-authored-by: Zhihao Cui <[email protected]>
Co-authored-by: Felipe S. S. Schneider <[email protected]>
Co-authored-by: hongzhouye <unknown>
Co-authored-by: matthew-hennefarth <[email protected]>
Co-authored-by: Victor Yu <[email protected]>
Co-authored-by: Xubo Wang <[email protected]>
Co-authored-by: xubwa <[email protected]>
Co-authored-by: Michal Krompiec <[email protected]>
Co-authored-by: chillenb <[email protected]>
Co-authored-by: Maximilian Scheurer <[email protected]>
Co-authored-by: Zhenyu Zhu ajz34 <[email protected]>
Co-authored-by: jeanwsr <[email protected]>
Co-authored-by: scohenjanes5 <[email protected]>
Co-authored-by: Joonatan Huhtasalo <[email protected]>
Co-authored-by: Susi Lehtola <[email protected]>
Co-authored-by: serna.40 <[email protected]>
Co-authored-by: Terrence Stahl <[email protected]>

* Adding full out-of-core integral support for EE-RADC. Fixed a bug in EE-UADC out-of-core. Better handling of ladder contractions for the in-core code, some code cleanup. (#40)

* Code clean up, bug fixes, improved output formatting, new tests and examples (#41)

* Adding full out-of-core integral support for EE-RADC. Fixed a bug in EE-UADC out-of-core. Better handling of ladder contractions for the in-core code, some code cleanup.

* added uadc_ee open shell test, need to include spin square in test

* added radc_ee test, need to think about adding a spin square get flag

* all test file pass flake8

* Code cleanup, renaming tests to have consistent file names

* More test file renaming, updates doc strings

* Code clean up in EE-UADC

* added spin square values for open shell systems ee calculations

* A bit more cleaning in EE-UADC

* Looser test thesholds for spin square

* Remove redundant 1-RDM code from EE-ADC S^2 expectation value

* Making sure that the code works for approx_trans_moments=True. Improved output formatting

* New example for EE-ADC S^2

* Linting...

* Fixed subtle bug in approx_trans_moments for EE-UADC. Added tests to check for that.

* Small changes in tests

* Extra line removed

* Merge problem fix

---------

Co-authored-by: Alexander Sokolov <[email protected]>
Co-authored-by: Terrence Stahl <[email protected]>

---------

Co-authored-by: stahl225 <[email protected]>
Co-authored-by: Alexander Sokolov <[email protected]>
Co-authored-by: Nikolay A. Bogdanov <[email protected]>
Co-authored-by: Frédéric Chapoton <[email protected]>
Co-authored-by: Susi Lehtola <[email protected]>
Co-authored-by: Junjie, Yang <[email protected]>
Co-authored-by: Qiming Sun <[email protected]>
Co-authored-by: Hongzhou Ye <[email protected]>
Co-authored-by: Aniruddha Seal <[email protected]>
Co-authored-by: Matthew R Hermes <[email protected]>
Co-authored-by: Matthew R Hermes <[email protected]>
Co-authored-by: Nikolay Bogdanov <[email protected]>
Co-authored-by: Max Nusspickel <[email protected]>
Co-authored-by: Xiaojie Wu <[email protected]>
Co-authored-by: Xing Zhang <[email protected]>
Co-authored-by: peter-reinholdt <[email protected]>
Co-authored-by: fishjojo <[email protected]>
Co-authored-by: Chong Sun <[email protected]>
Co-authored-by: Verena Neufeld <[email protected]>
Co-authored-by: Jiachen Li <[email protected]>
Co-authored-by: Timothy Berkelbach <[email protected]>
Co-authored-by: liwt31 <[email protected]>
Co-authored-by: Hung Pham <[email protected]>
Co-authored-by: hung.pham <[email protected]>
Co-authored-by: Zhihao Cui <[email protected]>
Co-authored-by: Felipe S. S. Schneider <[email protected]>
Co-authored-by: matthew-hennefarth <[email protected]>
Co-authored-by: Victor Yu <[email protected]>
Co-authored-by: Xubo Wang <[email protected]>
Co-authored-by: xubwa <[email protected]>
Co-authored-by: Michal Krompiec <[email protected]>
Co-authored-by: chillenb <[email protected]>
Co-authored-by: Maximilian Scheurer <[email protected]>
Co-authored-by: Zhenyu Zhu ajz34 <[email protected]>
Co-authored-by: jeanwsr <[email protected]>
Co-authored-by: scohenjanes5 <[email protected]>
Co-authored-by: Joonatan Huhtasalo <[email protected]>
Co-authored-by: Susi Lehtola <[email protected]>
Co-authored-by: serna.40 <[email protected]>
Co-authored-by: Terrence Stahl <[email protected]>
chenningyuan pushed a commit that referenced this pull request Sep 22, 2026
* Running autoflake to clean up flake errors

* Trying agressive autoflake

* Addressing flake errors in uadc_ip_cvs.py

* Fixing comparisons with boolean

* Addressing long line flake errors

* Flake is clean

* Fixing issues in periodic tests

* Renaming tests to skip

* Fixed API for the DF integrals

* Updates master from base fork

* Interface to libmsym (https://github.com/mcodev31/libmsym) for handeling non-abelian symmetry (pyscf#1477)

* ENH: Add interface to libmsym (https://github.com/mcodev31/libmsym)

* ENH: Add option to clean non-symmetric orbital parts in symm.symmetrize_space

* ENH: Add extrasym option to forbid certain orbital rotations in mcscf

* Write irrep ID if irrep name is not available

* ENH: Use axes and origin found by pyscf to generate SALCs with libmsym

* Add doc strings to the libmsym interface and verify it is not used with mol.cart

* Improvements to symm.addons.symmetrize_space

* Create find_symmetric_mo function out of existing code

* Add Lowdin orthogonalization steps into symm.addons.symmetrize_space

* Add function that can symmetrize orbitals with respect to multidimensional irreps

* Get rid of extra dicts in the multidimensional symmetrization function

* Make orbital irrep_id by libmsym interface reductable to the highest Abelian subgroup

* Fix tests, skip symmetrization analysis if there are no orbitals

* fix bad indentations (E111 pycodestyle warning)

* some pep8 fixes as suggested by pycodestyle (pyscf#1834)

* fix some typos (found using codespell) (pyscf#1828)

* some fixes for rst syntax in the doc (pyscf#1829)

* Recognize also numpy integer types in the density functional wrapper

* Implement another variant of the Hückel guess  (pyscf#1784)

* Implement another variant of the Hückel guess based on the updated GWH rule from doi:10.1021/ja00480a005

* Fix bug in symm cas methods (pyscf#1817)

* fix bug in symm cas methods

* Fix flake8 W293

* fixing a few more typos in gto/ and lo/

* Fix the edge case CAS(2,2) for Selected CI (issue pyscf#1808) (pyscf#1845)

* Fix the edge case CAS(2,2) for Selected CI (issue pyscf#1808)

* Fix test

* [Ready for review] Complete implementation of pbc/tdscf (pyscf#1793)

* Bug fix for RSDF due to Mole basis sorting

* Bug fix for pbc df Jbuild for hermi == 0

* improve TDSCF init guess degeneracy handle

* complete pbc tdscf

* b3lyp -> b3lyp5

* adjust values due to v2.3

* add examples; add finalize

* remove non-gamma point exception

* fix flake8 error

* remove numer instable tests (higher roots)

* update tests

* fix wrong num of states

* bug fix in response

* keep minimal changes for pbc _response

* better handle of exxdiv, including vcut

* add NotImplementedError for rsjk + non-zero kshift

* fix shifted kpt for TDRKS/UKS

* fix flake8 error

* revert CasidaTDDFT

* fix flake error

---------

Co-authored-by: hongzhouye <>

* added NVT BOMD and example (pyscf#1818)

* add NVT BOMD and example

* overload functions

* remove default NVT

* remove NVTBerendson

* update init

* update example

* add NVTBerendson unit test

* corrected Temperature()

* corrected temperature

* added temp rmsf check

* added temperature test

* removed pandas dependency

* added temperature test linear mol

* corrected flake8 errors

* Fix lz_adaptation example; needs to run in D2h symmetry to work

* new collection of typos everywhere

* Optimize grad_nuc

* Newton casscf hcc (issue pyscf#701) (pyscf#1869)

* Hessian_CC in newton_casscf (issue pyscf#731)

Hessian-vector product should have zero overlap w/ keyframe CI
vector at all times. Remove factors of 2 which spoiled this.

* update newton_casscf unit tests

---------

Co-authored-by: Matthew R Hermes <[email protected]>

* fix other rst issues

* Support Gaussian charge model for int1e_grids

* GHF with fractional occupancy (pyscf#1826)

* Fix bug in GHF with fractional occupancy

* Remove unused code in X2C

* Fix setup.py

* Implement fcidump.from_mcscf

* add pycodestyle to linter workflow

* trying to fix the flake8 linter

* get rid of TAB characters, and activate check for W191

* fix and activate pycodestyle W293

* Fixes pyscf#1846

* Optimize JK builder for short-range ERIs (pyscf#1882)

* Optimize get_jk for SR integrals; Update fill_ints_sr for cint 6.0

* Add tests

* Fix _vhf.direct_mapdm

* Refactor VHFOpt, to manage the memory of CVHFOpt in Python

* Updates for lint

* Libxc or XCFun should be cited for density functional calculations

* Support using DF-CCSD and frozen for FNO-CCSD (pyscf#1893)

* Bug fix for RSDF due to Mole basis sorting

* Bug fix for pbc df Jbuild for hermi == 0

* support frozen

* fix test name

---------

Co-authored-by: hongzhouye <>

* Assume 46 and 78 core configurations to be f-in-valence

* fix but do not activate W391 (pyscf#1885)

* Improve wheel (pyscf#1900)

* Improve setup.py; fix issue pyscf#973 pyscf#934

* Adjust CI test pipeline and pypi wheel build pipeline

* Adjust CI pipeline for python 3.12

* Fix CI job on MacOS

* Remove pytest-timer from python3.12 CI tests

* Pytest-cov uses a large amount of memory in CI jobs

* Fix ci.yml

* Remove deprecated pkg_resources library (for Python 3.12)

* Fix syntax error

* Disable pyberny version check

* New features and code refactoring (pyscf#1859)

* Add numint2c for pbc.dft; Update pbc-gks tests; Refactor pbc scf and dft methods

* Fix inheritance problems in k-DFT ksymm methods

* Add vv10 for pbc dft

* Fix kgks

* Improve k-dft initialization

* Update pbc-dft nlc tests

* Add undo method for dynamically generated classes

* Update the treatment of _keys

* Refactor smearing

* Refactor mcscf

* new GTO base class and conversion between mole and cell

* Refactor basis parser; merge gto.mole basis parser and pbcgto.cell basis parser

* Fix inconsistency between _bas and _basis (related to issue pyscf#1770)

* update __getattr__

* Remove unnecessary Mixins

* Update class structures of localization modules

* Add the shallow copy method in the base class StreamObject

* Remove copy statements in mcscf modules

* Fix basis parser and other tests

* Update mcscf addons and fci addons

* Update tests

* Make Mole and Cell picklable

* Adjust CI test pipelines and other updates

* Fix code merging conflicts

* Update rsdf _keys

* Restore r_numint tests

* Fix pp_int for Mole object

* Update tests

* Fix TDDFT initial guess (pyscf#1897)

* Remove trunc_workspace

* Fix initial guess for tdscf methods; Update tdscf tests

* Restore tests

* Update tests

* Fix tests, restore tests

* no need to inherit from object

* add pcm solvent models (pyscf#1884)

* added solvent models

* add example for RHF

* cleanup variables

* support casci casscf and ccsd

* uncomment unittests

* change example name

* update reset

* for flake8

* fixed a bug in soscf/newton_ah.py

* updated for recent master changes

* remove whitespace

* remove whitespace

* use yield from (ruff UP028)

* Release 2.4 (pyscf#1904)

* Release 2.4

* Fix macos pypi wheel

* Allow to turn off AO symmetry for PBC KS calculations (pyscf#1905)

* allow turning off AO symmetry for PBC DFT

* add test

* modernize super() (ruff UP008)

* Fix CASCI grad (pyscf#1914)

* casci grad crash for small max_memory. Fix pyscf#1909

* Fix tests

* Fix chunking dimension for pol_embed in  _compute_multipole_potential_integrals

* Lattice-sum cutoff (pyscf#1923)

* basis rcut bug for non-orthogonal cell. Fix pyscf#1911

* Slightly adjust estimate_rcut to improve PBC integral accuracy

* Fix adc tests

* fix get_bands with k-point symmetry

* added selected CI example for molecules

* apply "ruff --fix check --select=C40 pyscf"

* fix cc example 20

* Update Mole.loads method for backward compatibility

* Fix rsdf due to the basis sorting in 923d84c (issue 1942)

* Fix decontract_basis function when basis are missed on certain atoms. (Fix pyscf#1711) (pyscf#1943)

* Fix decontract_basis when basis are missed on certain atoms. (Fix pyscf#1711)

* 4th, and 5th order XC derivatives (pyscf#1930)

* Update conda build

* Arbitrary order to transform_xc; patch xcfun up to 5th order

* Update libxc itrf

* Configure max_deriv_order; arbitrary order for ud2ts and ts2ud

* Add 4th order XC deriv in CI job

* To gpu (pyscf#1901)

* Add to_gpu

* Remove multi-inheritances of pbc mean-field class

* Remove GKS.to_gpu

* Undefined variables

* Update to_gpu

* Add istype function to handle both the mol-SCF and gamma-point-SCF objects

* Update mf type check code in all post HF functions

* Improve the undo_soscf method in which unnecessary df objects are remvoed

* Fix tests

* Update tdscf initialization

* typo

* Missing remove_soscf in khf

* add 'max_cycle' to hessianbase

* Fix PBC DFT Becke grid rounding error (pyscf#1960)

* Explicit file encoding for cuda mixed environment due to issue NVIDIA/cuda-python#29

* Swith off sparsity algorithm for small system (issue pyscf#1956)

* native support dispersion correction (pyscf#1916)

* added solvent models

* add example for RHF

* cleanup variables

* support casci casscf and ccsd

* uncomment unittests

* change example name

* update reset

* for flake8

* fixed a bug in soscf/newton_ah.py

* updated for recent master changes

* remove whitespace

* remove whitespace

* native support dispersion correction

* fixed a bug in pcm

* Update hf.py

* move dispersion to addons

* remove disp in RKS

* call get_dispersion in kernels

* added unit test for d4

* fixed dispersion correction in testing h2o

* updated ci

* skip unittest if dftd3 or dftd4 is missing

* Fci str2addr (pyscf#1971)

* Update cistring module for issue pyscf#1886

* Slightly optimize the fci contraction performance

* fix a bug in KUGWAC that doesn't generate proper GDF when using LDA/GGA functionals

* Update periodic GW init and add example (pyscf#1967)

* Update periodic GW init and add example

* Update 22-k_points_gw.py

* Removing mf.to_rhf() and mf.to_uhf()

The `to_rhf()` seems to raise the same DF error as in the unrestricted case, so I've removed it. But with/without `to_uhf()` I still get the same DF error.

* Fix a bug in ci string function

* fix typo

* Bug fix in interactive solver for non-canonical UMP2 (pyscf#1991)

* Bug fix in interactive solver for non-canonical UMP2

* Fixed the test_ump2.py

---------

Co-authored-by: hung.pham <[email protected]>

* Bug fix for Pipek Mezey + Stability check using Jacobi sweep (pyscf#1990)

* PM loss/grad/hess for any exponent; add test

* add jacobi stability check for PM

* bug fix for boy pbc

* Add heading

---------

Co-authored-by: hongzhouye <>

* skip mol in to_gpu

* Fix basis order issue in molden.load (issue pyscf#1961)

* Update Mole and Cell for the hasattr error in to_gpu and to_cpu methods

* Fix post-hf Gradients with cartesian GTOs (issue pyscf#1985)

* Handle xcfun patch failure in cmake

* Fix the shape bug in make_eris_incore in gccsd.py

As described in issues pyscf#2002

* Enable numpy array of get_k_kpts in df_jk.py

Dear all,

I found that if the user gives a set of mo_occ or mo_coeff (in numpy array form) to the kmf with GDF, the current will raise an error.
It assume the mo_coeff, mo_occ is list of tuple.

* fix indentation

* fix a typo (missing .ndim)

* Include publication year and DOI in ECP computation references

* Update cmake patch command (issue pyscf#1998)

* Warning messages, and other improvements (pyscf#2009)

* Warning messages for MGGA in Hessian calculations

* Cache dynamically generated class

* Update the HDF5 tempfile handler

* Ensure shape of lattice vectors (issue pyscf#1932)

* feat(gto.basis): improve final, generic error message for basis not found

* add nr_nlc_vxc to NumInt

* Chkfile initial guess problem in ROHF and ROKS (issue pyscf#1986) (pyscf#2010)

* Fix chkfile initial guess problem for ROHF and ROKS (issue pyscf#1986)

* Use UHF natural orbital for RHF chkfile initial guess

* Enable some xc_deriv tests

* Enable xcfun compilation

* Print b3lyp warning when needed (issue pyscf#2029) (pyscf#2040)

* Hide b3lyp warning (issue pyscf#2029)

* Backward compatibility for xcfun

* typo

* Optimize the memory usage of GDF builder (pyscf#2047)

* Control the memory footprint for rsdf_builder and rsjk_builder (issue pyscf#2017)

* Adjust omega value in rsdf and rsjk

* Improve cistring.addr2str for large address (issue pyscf#1886)

* Handle magmom in Mole serialization (pyscf#2049)

* magmom serialization problem (issue pyscf#2026)

* Handle mesh

* Add tests for cell.dumps

* Fix the class of supercell scf object for the k2gamma conversion (pyscf#2030) (pyscf#2041)

* Fix the class of supercell scf object for the k2gamma conversion (pyscf#2030)

* typo

* Update k2gamma tests

* Refactor: error checks in C code and updates for GPU4PySCF library (pyscf#2048)

* Update to c99 standard; update dependency to libcint-6.1.1

* Update SCF functions for corresponding code in GPU4PySCF

* Add checks for malloc

* Update 02-ghf example according to issue pyscf#1970

* Update libcint/qcint version

* Remove the implicit dependency to mpi4py in __init__.py (issue pyscf#1888) (pyscf#2059)

* Remove the implicit dependency to mpi4py in __init__.py (issue pyscf#1888)

* import error

* Import error in momgfccsd tests

* Fix df-grad for UHF when symmetry is enabled (issue pyscf#2054)

* Check cylindrical symmetry of the orbitals for FCI solver (issue pyscf#2022)

* Fix bug for init_guess=atom (issue pyscf#2056)
Fix dft get_veff tests

* Improve magmom initialization (issue pyscf#2055)

* DIIS with damping (pyscf#2053)

* update simple damping and add DIIS damping

* update get_fock in solvent and dynamic level shift

---------

Co-authored-by: hongzhouye <>

* Add level shift to CPHF solver

* fix cp2k basis parse (issue pyscf#2043) (pyscf#2045)

* fix issue pyscf#2043

* add test for parse_cp2k

* allow symbol choosing for GTH PP parser

* SA-CASSCF Nonadiabatic Coupling Vectors (pyscf#2046)

* add nacs stuff but need to rebuild

* fix io warning test

* add sacasscf nac files from mrh

* update and add nac_method

* fix for flake8

* add example file

* update to assert len and uniqueness of states

* udpate

* udpate

* udpate

* fix assert statements and handling of state[0]==state[1]

* Backward compatibility issue in fci.cistring

* Release 2.5

* fix magmom check in mol.copy()

If magmom is an np.ndarray,
`if mol.magmom` will raise error.
Need to explicitly use `is not None`

* Move LebedevGrid C code to Python code; fix issue pyscf#2073 (pyscf#2076)

* Move LebedevGrid C code to Python code; fix issue pyscf#2073

* Restore CxLebedevGrid.c and fix bug

* lint error

* Add an API to dump system info

* multigrid DFT version 2 (pyscf#2078)

* Fix smearing with predefined chemical potential (pyscf#2098)

* added hubbard model with UHF example, fixed chemical potential bug in addons.py

* fix pbc smearing

* add test for smearing with mu0

---------

Co-authored-by: fishjojo <[email protected]>

* Add tests for ndarray_pointer_2d function (pyscf#2101)

* Add tests for ndarray_pointer_2d function

* Fix ndarray_pointer_2d

* Fix transform_ci for more than 64 orbitals (pyscf#2095)

* Fix transform_ci for more than 64 orbitals

* Separate occ_masks into a function

* fix binomial function in fci_string

* Fix xcfun high-order derivatives

* More type checks in fci solver (pyscf#2122)

* float type checks

* Update mcscf docstring (issue pyscf#2119)

* Fix failed tests

* Improve to_gpu (pyscf#2124)

* Update to_gpu

* Improve to_ks/to_hf

* Update to_gpu for df, solvent, qmm, and other methods

* Fix fci initialization

* Improve memory usage for RPA (pyscf#2115)

* improve memory usage for RPA with outcore ao2mo; fix small bug

* raise something when loading libpbc.get_Gv

* fix flake8 issue

* fix flake8 issue

* used DF-RHF as EXX, changed ref values

* unrestricted case

* unrestricted case

* Restore pyscf/pbc/gto/cell.py

* DFT wrapper supporting conventional DFT methods (pyscf#2084)

* added solvent models

* add example for RHF

* cleanup variables

* support casci casscf and ccsd

* uncomment unittests

* change example name

* update reset

* for flake8

* fixed a bug in soscf/newton_ah.py

* updated for recent master changes

* remove whitespace

* remove whitespace

* native support dispersion correction

* fixed a bug in pcm

* Update hf.py

* move dispersion to addons

* remove disp in RKS

* call get_dispersion in kernels

* added unit test for d4

* fixed dispersion correction in testing h2o

* updated ci

* skip unittest if dftd3 or dftd4 is missing

* new high level dft wrapper

* clean up & move dispersion to energy_tot

* remove disp from dft _keys

* fixed import dftd3_xc_map

* fixed typo

* added a wrapper for is_nlc

* replaced more ni.libxc.is_nlc with ni.is_nlc

* added wb97x-d3 as a special case

* added disp_3body

* removesuffix -> replace

* address qiming's comments

* add dft_parser && change back to libxc.is_nlc

* fixed unit test

* disable wb97x-d3, wb97x-d

* skip dftd3 for py3.12 & skip wb97x-d3

* Update dft_parser; Add tests for dft_parser

* Add warning messages

* Update test_h2o.py

---------

Co-authored-by: Qiming Sun <[email protected]>

* fix dipole moment in sfx2c1e

* debug and simplify to_gpu (pyscf#2149)

* support and simplify to_gpu

* remove comments

* flake8

* bug fix for RCCSD(T) with complex orbitals (pyscf#2141)

* bug fix for vooo order

* fix flake8

---------

Co-authored-by: hongzhouye <>

* Fix if mf.istype('UHF') for to_uhf() conversion

* Solve conflicts between @Property and __getattr__

* move static configurations from setup.py to pyproject.toml (pyscf#2144)

* move testing options to pytest.ini

* move static configurations from setup.py to pyproject.toml

* Update CI release jobs

---------

Co-authored-by: Qiming Sun <[email protected]>

* fix pbc df with KPoints input

* Fix pip builder

* reset enuc in _build_supcell_ (pyscf#2164)

* reset enuc in _build_supcell_

* add test for enuc reset

---------

Co-authored-by: hongzhouye <>

* Bug fix for single k-point JK-build in PBC DF (pyscf#2165)

* bug fix for j-build in get_jk

* bug fix for k-build in get_jk

---------

Co-authored-by: hongzhouye <>

* add missing init file

* DFTD3 & DFTD4 builder (pyscf#2161)

* local build dftd3/dftd4

* flake8

* fixed issues apis

* add compilation tool for mac

* fixed bugs in unittest

* fixed an issue in unit test

* add fortran compiler

* fortran compiler

* Move dftd3 and dftd4 builder to a separated repo (pyscf-dispersion)

* enable dftd3 & dftd4 for python3.12

* Adjust tests

---------

Co-authored-by: Qiming Sun <[email protected]>

* Kpoint dft to_hf error (fix issue pyscf#2157)

* ancient GCC compatibility

* fix

* fix: infinite recursion atom_hf call when ECP with super-heavy atoms (>Cm) (pyscf#2183)

* bugfix: resolve recursive initial guess when atomic charge > 96 (> Cm) and ecp activated

* Adjust AGF2 tests

---------

Co-authored-by: Qiming Sun <[email protected]>

* fix x_id in parse_token

* fixing unit test for dftd3 and dftd4

* Run CASCI and CASSCF without symmetry if symmetry is C1 (pyscf#2195)

* Run CASCI and CASSCF without symmetry if symmetry is C1

* groupname, not symmetry!

* move auxbasis_response out of __init__ (pyscf#2192)

* move auxbasis_response out of __init__

* relax unit test in test_c_agf2

* import hessian

* Update __init__.py

* improve the consistency in DF modules (pyscf#2204)

* improve the consistency

* added comment to _pinv

* tight conv_tol_cpscf by default

* set linear dependence threshold to 1e-9

* remove comments

* update unit tests

* SMD model and PCM Hessian (pyscf#2173)

* local build dftd3/dftd4

* flake8

* fixed issues apis

* add compilation tool for mac

* fixed bugs in unittest

* fixed an issue in unit test

* add fortran compiler

* fortran compiler

* Move dftd3 and dftd4 builder to a separated repo (pyscf-dispersion)

* enable dftd3 & dftd4 for python3.12

* Adjust tests

* add PCM and SMD, gradient and Hessian

* added __init__ files

* debug for ci

* flake8

* add more unit tests && refactor code

* Fix if mf.istype('UHF') for to_uhf() conversion

* Solve conflicts between @Property and __getattr__

* move static configurations from setup.py to pyproject.toml (pyscf#2144)

* move testing options to pytest.ini

* move static configurations from setup.py to pyproject.toml

* Update CI release jobs

---------

Co-authored-by: Qiming Sun <[email protected]>

* fix pbc df with KPoints input

* Fix pip builder

* reset enuc in _build_supcell_ (pyscf#2164)

* reset enuc in _build_supcell_

* add test for enuc reset

---------

Co-authored-by: hongzhouye <>

* Bug fix for single k-point JK-build in PBC DF (pyscf#2165)

* bug fix for j-build in get_jk

* bug fix for k-build in get_jk

---------

Co-authored-by: hongzhouye <>

* add missing init file

* Kpoint dft to_hf error (fix issue pyscf#2157)

* ancient GCC compatibility

* fix

* local build dftd3/dftd4

* rebase

* fixed bugs in unittest

* add fortran compiler

* rebase

* delete dftd3 and dftd4 files

* legacy SMD

* fortran compiler for mac

* gcc

* which gcc

* found fortran compiler

* fortran compiler

* reinstall gcc

* update unit test for pcm

* relax unit test in agf2

* resolved some comments

* add statement for smd source code

* refactor smd

* fixed bugs

* bugfix

* Skip compiling SMD by default

* Add fortran compiler in Macos build;
Fix conda build.

* empty line at EOF

* Fix SMD configuration in linux wheel

* add an example for SMD

* SkipTest -> skipTest

* excited states for PCM

* revert the changes in dispersion

* EOF

* added warnings in solvent modules when finite difference is used

---------

Co-authored-by: Qiming Sun <[email protected]>
Co-authored-by: Michal Krompiec <[email protected]>
Co-authored-by: chillenb <[email protected]>
Co-authored-by: fishjojo <[email protected]>
Co-authored-by: Hong-Zhou Ye <[email protected]>
Co-authored-by: Maximilian Scheurer <[email protected]>
Co-authored-by: Matthew Hennefarth <[email protected]>

* Density fitting performance optimization (re issue pyscf#1915) (pyscf#2205)

* use trsm in df.incore

* use np.matmul in df/df_jk.py

* faster df.outcore with trsm

* avoid numpy mem copy with h5py read_direct

* clarify chained matmuls

* use lib.dot to avoid syrk, df/outcore.py swap buffers

* Restore functionality for CDFT example (pyscf#2210)

* Restore functionality for CDFT example

I'm sure this example worked when it was authored, but that is no longer the case. This patch restores functionality.

* replace deprecated xrange with range

* add V step size to verbose output

It is one of the convergence criteria and should be shown

* add commentable option to verify consistency of example

* make post and pre diis implementations of the inner loop consistent

* add arg that pyscf expects

On my machine this wasn't needed but on others it was

* Move comments to docstring

* factor out cdft inner loop

* remove unused things

* correct errors in the documentation

* improve DFT APIs (pyscf#2187)

* support nlc = False && enhance dispersion correction

* Add DFT d3 examples

* reorg xc, nlc, and disp

* flake8

* Update dispersion error messages and examples

* updated example for dftd3

* Fix dispersion funciton names

* Fix dft sanity check

* Fix super() in KohnSham.check_sanity()

* Fix dftd3 test

* Conservative import

* print info in dispersion corrections

* change apis

* bugfix

* remove print

* bugfix

* added do_nlc check

* clarify do_nlc

* raise conflict between mf.xc and mf.nlc

* Cleanup disp logics and update disp examples

* Update dft_parser module

* Fix undefined-variable errors

* Fix dispersion parser

* Update example

---------

Co-authored-by: Qiming Sun <[email protected]>

* reomve some traces of unicode (py2) and some unused imports

* Update install dependencies

* Fix an import issue for X2C_KS (issue pyscf#2223)

* The spin_samples attribute for DKS

* Fix frozen for FNO (pyscf#2217)

* fix frozen for FNO

* fix FNO-UCC

* fix flake8

---------

Co-authored-by: hongzhouye <>

* DF dataset naming issue for rsh xc (fix pyscf#2236) (pyscf#2240)

* df dataset naming issue for rsh xc (fix pyscf#2236)

* fix tests

* Release 2.6

* bugfix in dispersion hessian (pyscf#2242)

* bugfix in dispersion hessian

* fixed bug in dispersion hessian

* added more unit test for dispersion

* unit test

* allow passing in options when creating HDF5 files (pyscf#2218)

* allow passing in options when creating HDF5 files

* Undo typo in ao2mo/outcore

* fix typo in h5filewrite_options example

* change default basis linear dependence threshold (pyscf#2228)

* change default basis linear dependence threshold

* sync setting in outcore.py

* unit test & linear dependence threshold

* linter

* 1e-12 -> 1e-14 for linear dependence

* lindep = 1e-13

* relax unit test

* Update test_df.py

* Update incore.py

* Update test_linalg_helper.py

* Update linalg_helper.py

---------

Co-authored-by: Qiming Sun <[email protected]>

* Abandon ROHF gradients and ROHF hessian (pyscf#2259)

* Add ruff check (pyscf#2262)

* Updates for numpy 2.0 release; Add ruff check; Cleanup tests

* Degeneracy issue in KGKS tests

* Adjust tests

* Fix a knumint bug when handling mcol and ncol

* Update ruff config

* Update doc strings (pyscf#2264)

* Update doc of eval_gto function

* Update geomopt examples (fix pyscf#2233) and atom_coords examples

* Improve pypi build pipeline (pyscf#2265)

* Adjust build order in release pipeline

* Update aarch64 build

* Handle dynamically registered post-HF attributes

* Patch release 2.6.1

* use all conda-forge compilers

* Updates due to NumPy 2.0 API changes (pyscf#2274)

* Updates due to NumPy 2.0 API changes

* Fix __array_wrap__

* Fix a bug caused by an inplace operation in linalg_helper._qr

* Fix inplace operation bug in pbc.cc.kintermediates_uhf

* Retore a few np.array(copy=True) statement

* Patch release 2.6.2

* Fix wheel build for setuptools 70 (pyscf#2278)

* Fix platform issue in bdist_wheel

* In case fail to import bdist_wheel

* Remove the ase module bulk from pyscf_ase (fix pyscf#2271) (pyscf#2279)

* Remove the ase module bulk from pyscf_ase (fix pyscf#2271)

* Fix get_ab of tddft for RSH functional (Fix pyscf#2261)

* Missing symbols

* Add tests

* typo

* Fix integer overflow for large ano basis (pyscf#2282)

* Fix integer overflow for large ano basis (fix pyscf#2201)

* More int type issues

* Fix Hessian atmlst and example (pyscf#2293)

* add atmlst to examples; fix examples/hessian/01-scf_hessian.py

* fix atmlst for hessian

* fix lint issue

* fix scipy.sparse.linalg.cg issue

* fix scipy.sparse.linalg.cg issue

* fix scipy.sparse.linalg.cg issue

* fix scipy.sparse.linalg.cg issue

* allow modifying tol and nroots in stability (pyscf#2299)

* allow modifying tol and nroots

* add example for tight tol

* pass kwargs to mf.stability

* fix typo

* Fix bugs in complex-valued contractions for direct_nosym (fix pyscf#2302)

* Handle api changes in scipy-1.14

* typo

* Fix initial guess dimension problems when solving multiple roots (fix issue pyscf#2292)

* Fix import dependency issue in SCF.do_disp()

* Fix a dimension bug in direct_spin1_cyl_sym. Update example for issue pyscf#2291

* compare version as int, not str (pyscf#2309)

* fixing a few typos

* another little wave of typos

* Fix addons.smearing RHF electron number (pyscf#2290)

* typos and typos

* a few more typos fixed

* Fix to kscf for dft (pyscf#2336)

* fix bug in convert_to_kscf

* fix bug in convert_to_kscf

* fix kuhf case in convert_to_kscf

* Fix MP2 FNO bug when pct_occ=1 (pyscf#2337)

* Update mp2.py

* Update ump2.py

* Superposition of Atomic Potentials (SAP) initial guess implementation for HF-SCF calculations (pyscf#2301)

* Added VSAP initial guess implementation for Hartree-Fock SCF
calculations (described by S. Lehtola here:
https://doi.org/10.1021/acs.jctc.8b01089)
Modified fakemol_for_charges to be usable for SAP 3C2E integrals.
Supplied sap_grasp coefficients computed by S. Lehtola.

* Added 'large' and 'small' sap coefficient functionality

* Fixed some bugs in recognition of DFT and HF objects and their SAP
guesses. Made other cleanups and fixes proposed by S. Lehtola.

* Changed logger.error to logger.warn

* Renamed HF SAP guess functions from 'vsap' to 'sap' to avoid confusion
with DFT counterparts using a different method with same name.

* Fixed a bug I had created by accident.
Created new fakemol_for_cgtf_charge function to be used in forming SAP guess
and to avoid breaking other functionality which use the
fakemol_for_charges function.

* Removed redundant attribute check

* vsap -> sap

* charge sumcheck tolerance set to 1e-6

* Apply suggestions from code review

Co-authored-by: Susi Lehtola <[email protected]>

* Changed sap initial guess to accept basis set in internal format
(python dict) or as a string (will look for basis file locally and
from basis set exhcange if bse api is installed)

* Added SAP guess to restricted open-shell Hartree-Fock (ROHF)

* Added SAP guess to non-relativistic generalized Hartree-Fock (GHF)

* Tidy up SAP function in GHF, make sap_grasp_large to default SAP basis

* Add example for SAP inital guess.

* Added SAP guess to Dirac-Hartree-Fock (DHF)

* small cleanups

* SAP now accepts internally formatted python dictionary as basis. SCF object has new attribute sap_basis

* Apply suggestions from code review

Co-authored-by: Susi Lehtola <[email protected]>

* Clarified example using explicit dictionary format basis for SAP

* Apply suggestions from code review

Co-authored-by: Susi Lehtola <[email protected]>

* Comment for vsap added back

* Fixed  issue

* Fixed style issues

* Fix style issue with extraneous 'f' prefix

* fix ROHF SAP guess call tree, add SAP unittest for rhf and rohf

* Fixed accidental incorrect test

* Add SAP guess to UHF

* Add SAP unittest for uhf

* Add SAP unittest for GHF

* Add SAP unittest for DHF

* flake8 warning

---------

Co-authored-by: Susi Lehtola <[email protected]>
Co-authored-by: Qiming Sun <[email protected]>

* Use weakref for automatic deletion of tmpfiles (to fix pyscf#2318) (pyscf#2320)

* Use weakref for automatic deletion of tmpfiles

* github actions tests check number of leftover temporary files

* temporary file check pytest exit status

* Avoid h5f.flush() on closed file

---------

Co-authored-by: Qiming Sun <[email protected]>

* Updates to the EA/IP-ADC code

* Inteface changes

* Changes interface to the 1-RDM functions in IP/EA-RADC

* Fixed accidental copy

* Fixed accidental copy

* Fixed Contractions radc_ip.py

* Moves make_ref_rdm1 to the appropriate location

* IP tests 1RDM Ref and Exc. Up to ADC(3)

* Fixed bugs that were breaking EA tests

* Clean up

* Changes to the UADC class

* EA Tests Completed from SO code. Slight cleanup for IP tests

* Reference 1RDM tests N2 EA + IP up to ADC(3)

* N2 1RDM EA up to ADC(3) tests

* Completed RADC(3)  1RDM N2 IP tests

* Example file added for 1RDM dipole moment examples with various methods

* Small changes to comments in 1RDM test file

* Final Comment Change 1RDM examples

* Formatting changes and fixing approx_trans_moments option

* ROHF code cleanup

* Fixes a test for IP-ADC

* UADC class clean-up

* IP/EA classes clean-up

* Add singles correlation energy

* More class clean-up, added dipole moment integrals

* Author list update

* Addresses lint errors

* Addressing flake issues

* Few more flake issues addressed

* Adding the EE-ADC code from the old branch

* Fixing osc strengths calculation

* Testing oscillator strengths

* Oscillator strengths do not match the old implementation. Investigating...

* fixed osc problem, TY_xx.append(TY_x) not ordering things right for oscillators but this was not a problem for analyzing spec factors

* Changes in the UADC spin contamination interface

* fixed rohf bugg added ooov and vvvo density matrices and variants

* working on density efficient matrices

* added efficent density matrices

* deleted some lines

* added the radc_ee file that is most up to data

* DF low mem bug fixed

* made some updates, need to work on flake

* radc_ee.py passes flake8, working on uadc_ee.py file

* uadc_ee.py file passed flake

* Renames spin contamination functions

* files pass flake test

* Proper handling of compute_properties attribute in RADC

* Cleaning up imports

* Makes sure that CVS-UADC tests pass

* Updates to RADC tests and UADC default convergence thresholds

* updated convg thresholds

* Example updates and some other interface changes

* One more interface change for the RADC code

---------

Co-authored-by: Alexander Sokolov <[email protected]>
Co-authored-by: Alexander Sokolov <[email protected]>
Co-authored-by: sokolov-group <[email protected]>
Co-authored-by: Nikolay A. Bogdanov <[email protected]>
Co-authored-by: Frédéric Chapoton <[email protected]>
Co-authored-by: Susi Lehtola <[email protected]>
Co-authored-by: Junjie, Yang <[email protected]>
Co-authored-by: Qiming Sun <[email protected]>
Co-authored-by: Hongzhou Ye <[email protected]>
Co-authored-by: Aniruddha Seal <[email protected]>
Co-authored-by: Matthew R Hermes <[email protected]>
Co-authored-by: Matthew R Hermes <[email protected]>
Co-authored-by: Nikolay Bogdanov <[email protected]>
Co-authored-by: Max Nusspickel <[email protected]>
Co-authored-by: Xiaojie Wu <[email protected]>
Co-authored-by: Xing Zhang <[email protected]>
Co-authored-by: peter-reinholdt <[email protected]>
Co-authored-by: fishjojo <[email protected]>
Co-authored-by: Chong Sun <[email protected]>
Co-authored-by: Verena Neufeld <[email protected]>
Co-authored-by: Jiachen Li <[email protected]>
Co-authored-by: Timothy Berkelbach <[email protected]>
Co-authored-by: liwt31 <[email protected]>
Co-authored-by: Hung Pham <[email protected]>
Co-authored-by: hung.pham <[email protected]>
Co-authored-by: Zhihao Cui <[email protected]>
Co-authored-by: Felipe S. S. Schneider <[email protected]>
Co-authored-by: hongzhouye <unknown>
Co-authored-by: matthew-hennefarth <[email protected]>
Co-authored-by: Victor Yu <[email protected]>
Co-authored-by: Xubo Wang <[email protected]>
Co-authored-by: xubwa <[email protected]>
Co-authored-by: Michal Krompiec <[email protected]>
Co-authored-by: chillenb <[email protected]>
Co-authored-by: Maximilian Scheurer <[email protected]>
Co-authored-by: Zhenyu Zhu ajz34 <[email protected]>
Co-authored-by: jeanwsr <[email protected]>
Co-authored-by: scohenjanes5 <[email protected]>
Co-authored-by: Joonatan Huhtasalo <[email protected]>
Co-authored-by: Susi Lehtola <[email protected]>
Co-authored-by: serna.40 <[email protected]>
Co-authored-by: Terrence Stahl <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.