@@ -1088,14 +1088,21 @@ def nuclear_attraction_integral(self, notation="physicist", transform=None):
10881088 """
10891089 return self ._nuc (notation = notation , transform = transform )
10901090
1091- def overlap_shellloop (self ):
1091+ def overlap (self ):
10921092 r"""
1093- Compute overlap integral using C shell loop.
1093+ Compute the overlap integrals.
1094+
1095+ The overlap integral measures the degree to which two basis functions
1096+ :math:`\phi_i` and :math:`\phi_j` occupy the same region of space,
1097+ and is defined as:
1098+
1099+ .. math::
1100+ S_{ij} = \langle \phi_i | \phi_j \rangle
10941101
10951102 Returns
10961103 -------
10971104 out : np.ndarray(Nbasis, Nbasis, dtype=float)
1098- Integral array.
1105+ Overlap integral array.
10991106
11001107 """
11011108 out = np .zeros ((self .nbfn , self .nbfn ), dtype = c_double , order = 'F' )
@@ -1105,14 +1112,21 @@ def overlap_shellloop(self):
11051112 )
11061113 return out
11071114
1108- def kinetic_energy_shellloop (self ):
1115+ def kinetic_energy (self ):
11091116 r"""
1110- Compute kinetic energy integral using C shell loop.
1117+ Compute the kinetic energy integrals.
1118+
1119+ The kinetic energy integral represents the expectation value of the
1120+ kinetic energy operator between basis functions :math:`\phi_i` and
1121+ :math:`\phi_j`, and is defined as:
1122+
1123+ .. math::
1124+ T_{ij} = \langle \phi_i | -\frac{1}{2}\nabla^2 | \phi_j \rangle
11111125
11121126 Returns
11131127 -------
11141128 out : np.ndarray(Nbasis, Nbasis, dtype=float)
1115- Integral array.
1129+ Kinetic energy integral array.
11161130
11171131 """
11181132 out = np .zeros ((self .nbfn , self .nbfn ), dtype = c_double , order = 'F' )
@@ -1122,14 +1136,24 @@ def kinetic_energy_shellloop(self):
11221136 )
11231137 return out
11241138
1125- def nuclear_attraction_shellloop (self ):
1139+ def nuclear_attraction (self ):
11261140 r"""
1127- Compute nuclear attraction integral using C shell loop.
1141+ Compute the nuclear attraction integrals.
1142+
1143+ The nuclear attraction integral represents the electrostatic attraction
1144+ between electrons and nuclei. For each pair of basis functions
1145+ :math:`\phi_i` and :math:`\phi_j`, it is defined as:
1146+
1147+ .. math::
1148+ V_{ij} = \langle \phi_i | \sum_A \frac{Z_A}{|\mathbf{r} - \mathbf{R}_A|} | \phi_j \rangle
1149+
1150+ where :math:`Z_A` is the nuclear charge and :math:`\mathbf{R}_A` is
1151+ the position of atom :math:`A`.
11281152
11291153 Returns
11301154 -------
11311155 out : np.ndarray(Nbasis, Nbasis, dtype=float)
1132- Integral array.
1156+ Nuclear attraction integral array.
11331157
11341158 """
11351159 out = np .zeros ((self .nbfn , self .nbfn ), dtype = c_double , order = 'F' )
@@ -1139,31 +1163,53 @@ def nuclear_attraction_shellloop(self):
11391163 )
11401164 return out
11411165
1142- def momentum_shellloop (self ):
1166+ def momentum (self ):
11431167 r"""
1144- Compute momentum integral using C shell loop.
1168+ Compute the momentum integrals.
1169+
1170+ The momentum integral represents the expectation value of the momentum
1171+ operator between basis functions :math:`\phi_i` and :math:`\phi_j`,
1172+ and is defined as:
1173+
1174+ .. math::
1175+ p_{ij} = \langle \phi_i | -i\nabla | \phi_j \rangle
11451176
11461177 Returns
11471178 -------
11481179 out : np.ndarray(Nbasis, Nbasis, dtype=float)
1149- Integral array.
1180+ Momentum integral array.
1181+
1182+ Notes
1183+ -----
1184+ Returns the raw single-component output from ``int1e_ipovlp_sph``
1185+ without the :math:`-i` scaling factor. The full 3-component momentum
1186+ integral (x, y, z) with proper scaling is available via
1187+ ``momentum_integral()``.
11501188
11511189 """
1190+
11521191 out = np .zeros ((self .nbfn , self .nbfn ), dtype = c_double , order = 'F' )
11531192 libcint_bindings .momentum_integral_shellloop (
11541193 out , self .natm , self .atm , self .nbas ,
11551194 self .bas , self .env , self ._offs , self .nbfn
11561195 )
11571196 return out
11581197
1159- def rinv_shellloop (self ):
1198+ def rinv (self ):
11601199 r"""
1161- Compute 1/r integral using C shell loop.
1200+ Compute the :math:`1/\left|\mathbf{r} - \mathbf{R}_\text{inv}\right|` integrals.
1201+
1202+ The :math:`1/r` integral represents the electrostatic potential due to
1203+ a unit point charge at a given origin. For each pair of basis functions
1204+ :math:`\phi_i` and :math:`\phi_j`, it is defined as:
1205+
1206+ .. math::
1207+ V_{ij} = \langle \phi_i | \frac{1}{|\mathbf{r} - \mathbf{R}_\text{inv}|} | \phi_j \rangle
11621208
11631209 Returns
11641210 -------
11651211 out : np.ndarray(Nbasis, Nbasis, dtype=float)
1166- Integral array.
1212+ 1/r integral array.
11671213
11681214 """
11691215 out = np .zeros ((self .nbfn , self .nbfn ), dtype = c_double , order = 'F' )
@@ -1173,14 +1219,27 @@ def rinv_shellloop(self):
11731219 )
11741220 return out
11751221
1176- def dipole_shellloop (self ):
1222+ def dipole (self ):
11771223 r"""
1178- Compute dipole integral using C shell loop.
1224+ Compute the dipole moment integrals.
1225+
1226+ The dipole moment integral represents the expectation value of the
1227+ position operator between basis functions :math:`\phi_i` and
1228+ :math:`\phi_j`, and is defined as:
1229+
1230+ .. math::
1231+ \mu_{ij} = \langle \phi_i | \mathbf{r} | \phi_j \rangle
11791232
11801233 Returns
11811234 -------
11821235 out : np.ndarray(Nbasis, Nbasis, dtype=float)
1183- Integral array.
1236+ Dipole moment integral array.
1237+
1238+ Notes
1239+ -----
1240+ Returns the first component (x) of the dipole integral from
1241+ ``int1e_r_sph``. The full 3-component dipole integral is
1242+ available via ``moment_integral()``.
11841243
11851244 """
11861245 out = np .zeros ((self .nbfn , self .nbfn ), dtype = c_double , order = 'F' )
@@ -1190,14 +1249,27 @@ def dipole_shellloop(self):
11901249 )
11911250 return out
11921251
1193- def quadrupole_shellloop (self ):
1252+ def quadrupole (self ):
11941253 r"""
1195- Compute quadrupole integral using C shell loop.
1254+ Compute the quadrupole moment integrals.
1255+
1256+ The quadrupole moment integral represents the expectation value of the
1257+ second-order position operator between basis functions :math:`\phi_i`
1258+ and :math:`\phi_j`, and is defined as:
1259+
1260+ .. math::
1261+ Q_{ij} = \langle \phi_i | \mathbf{r}\mathbf{r} | \phi_j \rangle
11961262
11971263 Returns
11981264 -------
11991265 out : np.ndarray(Nbasis, Nbasis, dtype=float)
1200- Integral array.
1266+ Quadrupole moment integral array.
1267+
1268+ Notes
1269+ -----
1270+ Returns the first component of the quadrupole integral from
1271+ ``int1e_rr_sph``. The full 9-component quadrupole integral is
1272+ available via ``moment_integral()``.
12011273
12021274 """
12031275 out = np .zeros ((self .nbfn , self .nbfn ), dtype = c_double , order = 'F' )
@@ -1207,14 +1279,27 @@ def quadrupole_shellloop(self):
12071279 )
12081280 return out
12091281
1210- def octupole_shellloop (self ):
1282+ def octupole (self ):
12111283 r"""
1212- Compute octupole integral using C shell loop.
1284+ Compute the octupole moment integrals.
1285+
1286+ The octupole moment integral represents the expectation value of the
1287+ third-order position operator between basis functions :math:`\phi_i`
1288+ and :math:`\phi_j`, and is defined as:
1289+
1290+ .. math::
1291+ O_{ij} = \langle \phi_i | \mathbf{r}\mathbf{r}\mathbf{r} | \phi_j \rangle
12131292
12141293 Returns
12151294 -------
12161295 out : np.ndarray(Nbasis, Nbasis, dtype=float)
1217- Integral array.
1296+ Octupole moment integral array.
1297+
1298+ Notes
1299+ -----
1300+ Returns the first component of the octupole integral from
1301+ ``int1e_rrr_sph``. The full 27-component octupole integral is
1302+ available via ``moment_integral()``.
12181303
12191304 """
12201305 out = np .zeros ((self .nbfn , self .nbfn ), dtype = c_double , order = 'F' )
0 commit comments