pyscf.pbc.adc package#

Submodules#

pyscf.pbc.adc.dfadc module#

pyscf.pbc.adc.dfadc.get_ovvv_df(myadc, Lov, Lvv, p, chnk_size)[source]#

Returns approximate ovvv integrals used in restricted implementation

pyscf.pbc.adc.dfadc.get_vvvv_df(myadc, vv1, vv2, p, chnk_size)[source]#

Returns approximate vvvv integrals used in restricted implementation

pyscf.pbc.adc.kadc_ao2mo module#

pyscf.pbc.adc.kadc_ao2mo.calculate_chunk_size(myadc)[source]#
pyscf.pbc.adc.kadc_ao2mo.transform_integrals_df(myadc)[source]#
pyscf.pbc.adc.kadc_ao2mo.transform_integrals_incore(myadc)[source]#
pyscf.pbc.adc.kadc_ao2mo.transform_integrals_outcore(myadc)[source]#

pyscf.pbc.adc.kadc_rhf module#

class pyscf.pbc.adc.kadc_rhf.RADC(mf, frozen=None, mo_coeff=None, mo_occ=None)[source]#

Bases: RADC

compute_amplitudes(eris)#
compute_amplitudes_energy(eris, verbose=None)#
compute_energy(t2, eris)#
density_fit(auxbasis=None, with_df=None)[source]#
ea_adc(nroots=1, guess=None, eris=None, kptlist=None)[source]#
get_chnk_size()#
get_nmo(per_kpoint=False)#

Number of orbitals for k-point calculations.

Number of orbitals for use in a calculation with k-points, taking into account frozen orbitals.

Note:

If per_kpoint is False, then the number of orbitals here is equal to max(nocc) + max(nvir), where each max is done over all k-points. Otherwise the number of orbitals is returned as a list of number of orbitals at each k-point.

Args:

mp (MP2): An instantiation of an SCF or post-Hartree-Fock object. per_kpoint (bool, optional): True returns the number of orbitals at each k-point.

For a description of False, see Note.

Returns:
nmo (int, list of int): Number of orbitals. For return type, see description of arg

per_kpoint.

get_nocc(per_kpoint=False)#

Number of occupied orbitals for k-point calculations.

Number of occupied orbitals for use in a calculation with k-points, taking into account frozen orbitals.

Args:

mp (MP2): An instantiation of an SCF or post-Hartree-Fock object. per_kpoint (bool, optional): True returns the number of occupied

orbitals at each k-point. False gives the max of this list.

Returns:
nocc (int, list of int): Number of occupied orbitals. For return type, see description of arg

per_kpoint.

ip_adc(nroots=1, guess=None, eris=None, kptlist=None)[source]#
kernel(nroots=1, guess=None, eris=None, kptlist=None)[source]#

Kernel function is the main driver of a method. Every method should define the kernel function as the entry of the calculation. Note the return value of kernel function is not strictly defined. It can be anything related to the method (such as the energy, the wave-function, the DFT mesh grids etc.).

kernel_gs()[source]#
property nkpts#
property nmo#
property nocc#
transform_integrals()#
pyscf.pbc.adc.kadc_rhf.kernel(adc, nroots=1, guess=None, eris=None, kptlist=None, verbose=None)[source]#

pyscf.pbc.adc.kadc_rhf_amplitudes module#

pyscf.pbc.adc.kadc_rhf_amplitudes.compute_amplitudes(myadc, eris)[source]#
pyscf.pbc.adc.kadc_rhf_amplitudes.compute_amplitudes_energy(myadc, eris, verbose=None)[source]#
pyscf.pbc.adc.kadc_rhf_amplitudes.compute_energy(myadc, t2, eris)[source]#
pyscf.pbc.adc.kadc_rhf_amplitudes.contract_ladder(myadc, t_amp, vvvv, ka, kb, kc)[source]#

pyscf.pbc.adc.kadc_rhf_ea module#

class pyscf.pbc.adc.kadc_rhf_ea.RADCEA(adc)[source]#

Bases: RADC

restricted ADC for EA energies and spectroscopic amplitudes

Attributes:
verboseint

Print level. Default value equals to Mole.verbose

max_memoryfloat or int

Allowed memory in MB. Default value equals to Mole.max_memory

incore_completebool

Avoid all I/O. Default is False.

methodstring

nth-order ADC method. Options are : ADC(2), ADC(2)-X, ADC(3). Default is ADC(2).

conv_tolfloat

Convergence threshold for Davidson iterations. Default is 1e-12.

max_cycleint

Number of Davidson iterations. Default is 50.

max_spaceint

Space size to hold trial vectors for Davidson iterative diagonalization. Default is 12.

Kwargs:
nrootsint

Number of roots (eigenvalues) requested. Default value is 1.

>>> myadc = adc.RADC(mf).run()
>>> myadcip = adc.RADC(myadc).run()

Saved results

e_eafloat or list of floats

EA energy (eigenvalue). For nroots = 1, it is a single float number. If nroots > 1, it is a list of floats for the lowest nroots eigenvalues.

v_eaarray

Eigenvectors for each EA transition.

p_eafloat

Spectroscopic amplitudes for each EA transition.

gen_matvec(kshift, imds=None, eris=None)[source]#
get_diag(kshift, M_ab=None, eris=None)#
get_imds(eris=None)#
get_init_guess(nroots=1, diag=None, ascending=True)[source]#
get_properties(kshift, U, nroots=1)#
get_trans_moments(kshift)#
kernel(nroots=1, guess=None, eris=None, kptlist=None, verbose=None)#

Kernel function is the main driver of a method. Every method should define the kernel function as the entry of the calculation. Note the return value of kernel function is not strictly defined. It can be anything related to the method (such as the energy, the wave-function, the DFT mesh grids etc.).

matvec(kshift, M_ab=None, eris=None)#
renormalize_eigenvectors(kshift, U, nroots=1)#
vector_size()#
pyscf.pbc.adc.kadc_rhf_ea.ea_contract_r_vvvv(adc, r2, vvvv, ka, kb, kc)[source]#
pyscf.pbc.adc.kadc_rhf_ea.get_diag(adc, kshift, M_ab=None, eris=None)[source]#
pyscf.pbc.adc.kadc_rhf_ea.get_imds(adc, eris=None)[source]#
pyscf.pbc.adc.kadc_rhf_ea.get_properties(adc, kshift, U, nroots=1)[source]#
pyscf.pbc.adc.kadc_rhf_ea.get_trans_moments(adc, kshift)[source]#
pyscf.pbc.adc.kadc_rhf_ea.get_trans_moments_orbital(adc, orb, kshift)[source]#
pyscf.pbc.adc.kadc_rhf_ea.matvec(adc, kshift, M_ab=None, eris=None)[source]#
pyscf.pbc.adc.kadc_rhf_ea.renormalize_eigenvectors(adc, kshift, U, nroots=1)[source]#
pyscf.pbc.adc.kadc_rhf_ea.vector_size(adc)[source]#

pyscf.pbc.adc.kadc_rhf_ip module#

class pyscf.pbc.adc.kadc_rhf_ip.RADCIP(adc)[source]#

Bases: RADC

restricted ADC for IP energies and spectroscopic amplitudes

Attributes:
verboseint

Print level. Default value equals to Mole.verbose

max_memoryfloat or int

Allowed memory in MB. Default value equals to Mole.max_memory

incore_completebool

Avoid all I/O. Default is False.

methodstring

nth-order ADC method. Options are : ADC(2), ADC(2)-X, ADC(3). Default is ADC(2).

conv_tolfloat

Convergence threshold for Davidson iterations. Default is 1e-12.

max_cycleint

Number of Davidson iterations. Default is 50.

max_spaceint

Space size to hold trial vectors for Davidson iterative diagonalization. Default is 12.

Kwargs:
nrootsint

Number of roots (eigenvalues) requested. Default value is 1.

>>> myadc = adc.RADC(mf).run()
>>> myadcip = adc.RADC(myadc).run()

Saved results

e_ipfloat or list of floats

IP energy (eigenvalue). For nroots = 1, it is a single float number. If nroots > 1, it is a list of floats for the lowest nroots eigenvalues.

v_iparray

Eigenvectors for each IP transition.

p_ipfloat

Spectroscopic amplitudes for each IP transition.

gen_matvec(kshift, imds=None, eris=None)[source]#
get_diag(kshift, M_ij=None, eris=None)#
get_imds(eris=None)#
get_init_guess(nroots=1, diag=None, ascending=True)[source]#
get_properties(kshift, U, nroots=1)#
get_trans_moments(kshift)#
kernel(nroots=1, guess=None, eris=None, kptlist=None, verbose=None)#

Kernel function is the main driver of a method. Every method should define the kernel function as the entry of the calculation. Note the return value of kernel function is not strictly defined. It can be anything related to the method (such as the energy, the wave-function, the DFT mesh grids etc.).

matvec(kshift, M_ij=None, eris=None)#
renormalize_eigenvectors(kshift, U, nroots=1)#
vector_size()#
pyscf.pbc.adc.kadc_rhf_ip.get_diag(adc, kshift, M_ij=None, eris=None)[source]#
pyscf.pbc.adc.kadc_rhf_ip.get_imds(adc, eris=None)[source]#
pyscf.pbc.adc.kadc_rhf_ip.get_properties(adc, kshift, U, nroots=1)[source]#
pyscf.pbc.adc.kadc_rhf_ip.get_trans_moments(adc, kshift)[source]#
pyscf.pbc.adc.kadc_rhf_ip.get_trans_moments_orbital(adc, orb, kshift)[source]#
pyscf.pbc.adc.kadc_rhf_ip.matvec(adc, kshift, M_ij=None, eris=None)[source]#
pyscf.pbc.adc.kadc_rhf_ip.renormalize_eigenvectors(adc, kshift, U, nroots=1)[source]#
pyscf.pbc.adc.kadc_rhf_ip.vector_size(adc)[source]#

Module contents#

pyscf.pbc.adc.KRADC(mf, frozen=None, mo_coeff=None, mo_occ=None)[source]#