pyscf 2.12.0__py3-none-macosx_11_0_arm64.whl → 2.12.1__py3-none-macosx_11_0_arm64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
pyscf/__init__.py CHANGED
@@ -35,7 +35,7 @@ to try out the package::
35
35
 
36
36
  '''
37
37
 
38
- __version__ = '2.12.0'
38
+ __version__ = '2.12.1'
39
39
 
40
40
  import os
41
41
  import sys
pyscf/lib/libagf2.dylib CHANGED
Binary file
pyscf/lib/libao2mo.dylib CHANGED
Binary file
pyscf/lib/libcc.dylib CHANGED
Binary file
pyscf/lib/libccsdt.dylib CHANGED
Binary file
pyscf/lib/libcgto.dylib CHANGED
Binary file
pyscf/lib/libcvhf.dylib CHANGED
Binary file
pyscf/lib/libdft.dylib CHANGED
Binary file
pyscf/lib/libfci.dylib CHANGED
Binary file
pyscf/lib/libmcscf.dylib CHANGED
Binary file
pyscf/lib/libmp.dylib CHANGED
Binary file
Binary file
pyscf/lib/libpbc.dylib CHANGED
Binary file
pyscf/lib/libpdft.dylib CHANGED
Binary file
pyscf/lib/libri.dylib CHANGED
Binary file
Binary file
Binary file
pyscf/scf/addons.py CHANGED
@@ -81,36 +81,36 @@ def _gaussian_smearing_occ(mu, mo_energy, sigma):
81
81
  return 0.5 * scipy.special.erfc((mo_energy - mu) / sigma)
82
82
 
83
83
  def _smearing_optimize(f_occ, mo_es, nocc, sigma):
84
- def nelec_cost_fn(m):
84
+ def rootfn(m):
85
85
  mo_occ = f_occ(m, mo_es, sigma)
86
- return (mo_occ.sum() - nocc)**2
86
+ return mo_occ.sum() - nocc
87
87
 
88
- mu0 = _init_guess_mu(f_occ, mo_es, nocc, sigma)
89
- res = scipy.optimize.minimize(
90
- nelec_cost_fn, mu0, method='Powell',
91
- options={'xtol': 1e-5, 'ftol': 1e-5, 'maxiter': 10000})
92
- mu = res.x
93
- mo_occs = f_occ(mu, mo_es, sigma)
94
- return mu, mo_occs
88
+ # it's okay to set small xtol according to the docs.
89
+ mu = scipy.optimize.bisect(rootfn, mo_es.min()-10., mo_es.max()+10.,
90
+ xtol=1e-16, maxiter=10000)
95
91
 
96
- def _init_guess_mu(f_occ, mo_es, nocc, sigma, box=[-1.,1.], step=1e-3):
97
- ''' Generate an initial guess for `mu` by manually minimizing the nocc error on a grid
98
- around `fermi`. The grid is constructed as:
92
+ cur_err = abs(rootfn(mu))
99
93
 
100
- mus = fermi + numpy.arange(*box, step) / 27.211399
94
+ # Check if we can further improve mu by moving it up/down
95
+ # by the minimum machine-representable amount.
96
+ # In many cases with Fermi-type smearing and sigma~1e-6,
97
+ # the minimum possible error is still >1e-11 because the
98
+ # smearing function is just so sharp. Because xtol is set to 1e-16 above,
99
+ # this should not take too many iterations.
101
100
 
102
- By default, `box = [-1, 1]` and `step = 1e-3`, which corresponds to searching
103
- within a +/-1 eV window around `fermi` with a resolution of 1 meV (resulting
104
- in 2000 grid points).
101
+ iters, maxiter = 0, 1000
105
102
 
106
- Return:
107
- mu0 : float
108
- Best initial guess within the searching window
109
- '''
110
- fermi = _get_fermi(mo_es, nocc)
111
- mus = fermi + numpy.arange(*box, step)/27.211399
112
- noccs = numpy.asarray([f_occ(m, mo_es, sigma).sum() for m in mus])
113
- return mus[abs(noccs-nocc).argmin()]
103
+ while abs(rootfn(numpy.nextafter(mu, numpy.inf))) < cur_err and iters < maxiter:
104
+ mu = numpy.nextafter(mu, numpy.inf)
105
+ cur_err = abs(rootfn(mu))
106
+ iters += 1
107
+
108
+ while abs(rootfn(numpy.nextafter(mu, -numpy.inf))) < cur_err and iters < maxiter:
109
+ mu = numpy.nextafter(mu, -numpy.inf)
110
+ cur_err = abs(rootfn(mu))
111
+ iters += 1
112
+
113
+ return mu, f_occ(mu, mo_es, sigma)
114
114
 
115
115
  def _get_fermi(mo_energy, nocc):
116
116
  mo_e_sorted = numpy.sort(mo_energy)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyscf
3
- Version: 2.12.0
3
+ Version: 2.12.1
4
4
  Summary: PySCF: Python-based Simulations of Chemistry Framework
5
5
  Author-email: Qiming Sun <osirpt.sun@gmail.com>
6
6
  Maintainer-email: Qiming Sun <osirpt.sun@gmail.com>
@@ -79,9 +79,9 @@ Python-based Simulations of Chemistry Framework
79
79
  [![Build Status](https://github.com/pyscf/pyscf/workflows/CI/badge.svg)](https://github.com/pyscf/pyscf/actions?query=workflow%3ACI)
80
80
  [![codecov](https://codecov.io/gh/pyscf/pyscf/branch/master/graph/badge.svg)](https://codecov.io/gh/pyscf/pyscf)
81
81
 
82
- 2026-01-20
82
+ 2026-01-27
83
83
 
84
- * [Stable release 2.12.0](https://github.com/pyscf/pyscf/releases/tag/v2.12.0)
84
+ * [Stable release 2.12.1](https://github.com/pyscf/pyscf/releases/tag/v2.12.1)
85
85
  * [Changelog](../master/CHANGELOG)
86
86
  * [Documentation](http://www.pyscf.org)
87
87
  * [Installation](#installation)
@@ -1,6 +1,12 @@
1
+ pyscf-2.12.1.dist-info/RECORD,,
2
+ pyscf-2.12.1.dist-info/WHEEL,sha256=Aj5q7hwGRaTccFw1FM2OjjCcEiZ18zO7B2BT-yysjlA,133
3
+ pyscf-2.12.1.dist-info/top_level.txt,sha256=-PTes7ZVYfXPi-AIPAMR9vCJdPaFCLjwxfdldz9UUpA,6
4
+ pyscf-2.12.1.dist-info/METADATA,sha256=8U7Bnoi7LDX5sYs3jFPqxiT5pXxSNmUtjIg4uiG5G6M,6408
5
+ pyscf-2.12.1.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
6
+ pyscf-2.12.1.dist-info/licenses/NOTICE,sha256=8rPQTMgmjpFhzOPXwaqqzo4u2qHWNjU0WKBp6QI6OZM,3756
1
7
  pyscf/__all__.py,sha256=bUkyxl5GEz6ukXa91bt0koJFZInosdn55NiWARMH0jE,799
2
8
  pyscf/post_scf.py,sha256=ez-nFEwDtzoHs5nUyWZYwdX5ja_XT62v0OIp8kIAgvs,256
3
- pyscf/__init__.py,sha256=ou83pJ_btCszauh7j55btXsbx34G_sQgG8HuUDaaAuU,4626
9
+ pyscf/__init__.py,sha256=cgQ55Inx5W5x2GFzAUdvkpoCGgGmzIRMNfAJMo4EeRM,4626
4
10
  pyscf/__config__.py,sha256=igt3YJeoIcVgrxEWwxzZZQ2R61GvuP-4dwLcxY31pUU,1011
5
11
  pyscf/grad/roks.py,sha256=KkvOrLgFSE_j_2TJIJ62RNBP7Eygqx1iH-OoepZVnfs,1311
6
12
  pyscf/grad/cisd.py,sha256=Kix8Ej8MZ9rYLlhW7YFR6AHzLKEwUq3_-BdBjZHoVto,7441
@@ -492,7 +498,7 @@ pyscf/scf/uhf.py,sha256=f8bcPDBiwNJd7kT6C4wu_TV5_PtcwTBgkcURJYib3p0,44792
492
498
  pyscf/scf/cphf.py,sha256=4546Bvwz4jMHqFWNJBC8ETfgjvnCfUi0zpX9IKIqY-M,4900
493
499
  pyscf/scf/uhf_symm.py,sha256=C7i4fnZEUu2uiXdhYphuA_8lYF7hDFgqxprKL82HV8g,23390
494
500
  pyscf/scf/atom_hf.py,sha256=-L1VTBXCVt4yx_Mv9HuFczvOXfBntfPQ8E1cBM-CwxM,7413
495
- pyscf/scf/addons.py,sha256=YR6TcfEoxy-_W9HjywDPmFNpSWK0JbH5j1_AFiz6OUw,50371
501
+ pyscf/scf/addons.py,sha256=p1QCz4j-lXuDBNz-m6XGb37trsVVpcSP8Qg9neuy86I,50311
496
502
  pyscf/scf/jk.py,sha256=VFG3AHCsgT2bmyvbVqE7nuJsBcdMC66PcsOm_kBPCJg,11428
497
503
  pyscf/scf/ghf.py,sha256=uopbIdCYWqMr60TzbFDJJCoDeJE8-6mfPQNIKMV6gzw,21240
498
504
  pyscf/scf/__init__.py,sha256=KGG4wB6RDuhnN6rexAHVaBAQWQ9JMz9gsAW3tNOld48,7130
@@ -815,35 +821,35 @@ pyscf/eph/__init__.py,sha256=cYboAGnjoz6wauSpNQ5v6ywNWXpXx3vNw3PSYQ1yMaA,878
815
821
  pyscf/eph/uks.py,sha256=1SuWHGS3cAcFkG_9XdxGkzrSa54_jqv596MlVGF7kyg,10620
816
822
  pyscf/eph/eph_fd.py,sha256=2S7VgSx4-AqgJzOHgeB8A6EA6pdKc7qdd6aTdEE3KNw,5890
817
823
  pyscf/eph/rks.py,sha256=ozdLwe8GSRCH9W0j7NLYvLhcmAw4NrYZQx-eQNaYM0Q,7978
818
- pyscf/lib/libcvhf.dylib,sha256=I6zJZOg6whnXNlTLZ7Sb2NZV0ioVRlSWw2K07IisRXM,336720
819
- pyscf/lib/libxcfun_itrf.dylib,sha256=uimFJa93m1MwPXq5yRzcfitsY9XR7gyKuG9p7bpNaFc,69200
824
+ pyscf/lib/libcvhf.dylib,sha256=3tUAcL79u1CqFexWE3Ah9K0XT3Wcmz5T14VPhkyKBkk,336720
825
+ pyscf/lib/libxcfun_itrf.dylib,sha256=lFix65PcPXgqT3-z48Pe8mBlgYXFXYe_iAME2gLXIgE,69200
820
826
  pyscf/lib/misc.py,sha256=qbT9VtahscJjOguh4fESbh9AU8u7d0aBY6wgSML6HbQ,53566
821
827
  pyscf/lib/linalg_helper.py,sha256=nc1dRYLDaVgY4F-nIhfHdk-H1Uke0prLe2TScl7hMOA,58547
822
828
  pyscf/lib/CMakeLists.txt,sha256=LfyUhrq3j3Fen4yryFeDYyiZwTucq7vAxQz-gSr9fd4,11459
823
- pyscf/lib/libxc_itrf.dylib,sha256=t6nIs0FK-kwDlQTYyEbXdlZMhSVrecJEH77PjLtWlUw,71664
824
- pyscf/lib/libmp.dylib,sha256=MVB14RAdVrCjXT_t8LYRFrNbwOt2xztrRi6fR5l4elw,69168
829
+ pyscf/lib/libxc_itrf.dylib,sha256=dtgTYB0_Zc8YxpAUu2cHgkjCEE802fICQ8DeeGG8o6g,71664
830
+ pyscf/lib/libmp.dylib,sha256=Qp9iXlBUZjoGL8GDhvZRAxyGDgk0Lfjbe7vH9m0MxUg,69168
825
831
  pyscf/lib/config.h,sha256=cbTt6HBOvaM2j5-2f85CnNE1jwlqqOgperzEJtpXGhg,146
826
- pyscf/lib/libcgto.dylib,sha256=cMemvjoRKdw_Gb6iyInAZwVEyzK6MuYyJxlbaKmAc64,726032
832
+ pyscf/lib/libcgto.dylib,sha256=rO6roT68RsSRGiPA0D9285nej7hnqfvG1VGxjqhAsZQ,726032
827
833
  pyscf/lib/scipy_helper.py,sha256=cRyvdUUIAt9usEBcj9KJ_we_8kkQRv9tnvEL4XNoSrg,3631
828
- pyscf/lib/libpbc.dylib,sha256=OwhnUSO5v9T3uF2SPXzda-PyQ37SSb78yHMNao_3g2c,280720
829
- pyscf/lib/libccsdt.dylib,sha256=eC2Xms8FWevSV4oK2rkmwLSvBc2o02qouDZr7i0jpPs,103184
830
- pyscf/lib/libfci.dylib,sha256=d_aFz7F-zxOn85nqyiKgcbxmK2mBa4NKNgBWKFe3bho,129072
834
+ pyscf/lib/libpbc.dylib,sha256=bMN3rfnUTNlxo-wTOycewnkw5MC2WrWAk5hKbPucWB4,280720
835
+ pyscf/lib/libccsdt.dylib,sha256=zqIESfv7NnZI2XMuOVjH9azueXJwtqBm2NA-RuhCvxA,103184
836
+ pyscf/lib/libfci.dylib,sha256=1MBKq290rVMrrxVaB7kqxCs4q_fHOZBvMbj0SqYDB4g,129072
831
837
  pyscf/lib/config.h.in,sha256=joKl4DWZJLDb4uMQfxXRkPTHkIcEKV0ykr7gMbVa-8c,162
832
838
  pyscf/lib/__init__.py,sha256=2eHmp4G3u_YRBo0K83nhYLtJ74XQfOGyzsmZPW8jrH4,1155
833
- pyscf/lib/libpdft.dylib,sha256=5agRP40fJseciKnAhnxaSf3uNNuPSSiEH1r_2Lc4HYU,68864
839
+ pyscf/lib/libpdft.dylib,sha256=27hrQviRytXQ1sqxFs2EMK0G5UeiAdkjXoz4MVmQd9A,68864
834
840
  pyscf/lib/logger.py,sha256=eIVh8macvR-C6pBSzvMxCdjJijtZcmMV0paG014Vki0,6344
835
- pyscf/lib/libao2mo.dylib,sha256=Me7ayXKQZPpmyY6k4A9S4gp3Ca2EcauL1V5MNtGZ7qs,130656
841
+ pyscf/lib/libao2mo.dylib,sha256=moSmgb4iH4G4bP8RsMMDz8qqdaqdZWVA_BhzsILapb8,130656
836
842
  pyscf/lib/numpy_helper.py,sha256=vfp51Z6Bl8YG0Qc0PZozi53KUn0YK6CBfrVdxK1lqwI,56493
837
843
  pyscf/lib/parameters.py,sha256=tAD3iHrQSzHN70CZSdxpAVrSWjz8-5wFhKIp1j2ihEA,2815
838
- pyscf/lib/libnp_helper.dylib,sha256=rGAWQS0md6IzqJbbbDIo5nyKxku0v8z_IaUIp951XRU,76176
844
+ pyscf/lib/libnp_helper.dylib,sha256=l9oDR6HzNaVcxO191QI4SE2aSBZtQR1AHEGQJDFIVek,76176
839
845
  pyscf/lib/exceptions.py,sha256=psEkNItfFTPXr8X34Uz3W8dsuV3XFS-w4LDosKBBqAY,912
840
- pyscf/lib/libagf2.dylib,sha256=5M8LyaNnot9gYSA8PjmPars9moNy-1Cesgig3Pk-08A,86832
841
- pyscf/lib/libcc.dylib,sha256=DvomZHUpMztDb5pvkYHNNhcKJNESAOK0rif5r8oKXWA,123936
846
+ pyscf/lib/libagf2.dylib,sha256=Hg4xv_aGKdQJ7Bf8vKmnovp6P2RMoDkJT4SMdzYdPkQ,86832
847
+ pyscf/lib/libcc.dylib,sha256=57-eisQGT_Q_EISh515JF3sKJlB4S1FQ6iZ__IvclNM,123936
842
848
  pyscf/lib/chkfile.py,sha256=2EABBndixphnSB5PbXfvRyceaA_9ZUi8SvC_g2H_QUQ,5820
843
- pyscf/lib/libmcscf.dylib,sha256=ZDWRO7RAh-NCGY-UGYzEixDnWDaaGp0wKt06QO5rwL4,69344
844
- pyscf/lib/libri.dylib,sha256=EeGkviOz-q6PaTfNYqdzyvT71Otl3y3-2mKeB_caHlg,69408
849
+ pyscf/lib/libmcscf.dylib,sha256=BQSBlWegLvixXvFoTsY0jmaUyfw9Sh56G2dr0i7AAHo,69344
850
+ pyscf/lib/libri.dylib,sha256=DACzay_aveQH03wfxAtxuEsZiPuqKh2kxwmJRFBLoUo,69408
845
851
  pyscf/lib/diis.py,sha256=BfPJMhJcklO57W3ETr6v6RjbabxSqQB5OAkcuAjspGQ,12075
846
- pyscf/lib/libdft.dylib,sha256=fat92Ruo4s1jE71zyvoezIyMsBBzDUba0yPNGlGKuhc,369776
852
+ pyscf/lib/libdft.dylib,sha256=0nVxmPiXyYr30epE82Wh2jkmfpgfGVR2UIh9OSd7Ktw,369776
847
853
  pyscf/lib/solvent/CMakeLists.txt,sha256=G8Q03G5nLGVBrrn_iiD9y1vRWNLOab0ef7Y45-EZvt4,1446
848
854
  pyscf/lib/dft/grid_basis.c,sha256=4NHL3zf0mAUujvla5SGCrcswTrUEI6XtBtXwxfKMBuQ,10744
849
855
  pyscf/lib/dft/libxc_itrf.c,sha256=N4LvCgQlFB-5d9Ip94oOlKJYvL2WOjrqt6YjEwJMPu8,44905
@@ -1136,9 +1142,3 @@ pyscf/data/gyro.py,sha256=DJV0qbszDvIa1RYb-erO_0kGZ1oEbcJY-Im5NmkezJU,788
1136
1142
  pyscf/mrpt/nevpt2.py,sha256=6zpzFdPi5XVLwJFKOVCWnJFU5ERdGcmtS2TXy2l6F7Q,44235
1137
1143
  pyscf/mrpt/__init__.py,sha256=bsZmTyKM-2eTPS_sOjZRRVhiWGIVazSRs_wt1ztyFlk,802
1138
1144
  pyscf/mrpt/dfnevpt2.py,sha256=EIoM5Y-NZfNiT7IzbzxhfXPRkUvtu6IeQSv12oHFGf0,8602
1139
- pyscf-2.12.0.dist-info/RECORD,,
1140
- pyscf-2.12.0.dist-info/WHEEL,sha256=_9VINZs9x2yMAsuz2FJ37bWFgiiVUKgWQiL0CJh4ruA,132
1141
- pyscf-2.12.0.dist-info/top_level.txt,sha256=-PTes7ZVYfXPi-AIPAMR9vCJdPaFCLjwxfdldz9UUpA,6
1142
- pyscf-2.12.0.dist-info/METADATA,sha256=i0I0V33Ni_obZEB_UPMpkoWyAOhdGFOL2_efqLaDyu0,6408
1143
- pyscf-2.12.0.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
1144
- pyscf-2.12.0.dist-info/licenses/NOTICE,sha256=8rPQTMgmjpFhzOPXwaqqzo4u2qHWNjU0WKBp6QI6OZM,3756
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.9.0)
2
+ Generator: setuptools (80.10.2)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-macosx_11_0_arm64
5
5
  Generator: delocate 0.13.0