vayesta.core.types.wf

Submodules

vayesta.core.types.wf.ccsd

vayesta.core.types.wf.ccsd.CCSD_WaveFunction(mo, t1, t2, **kwargs)[source]
class vayesta.core.types.wf.ccsd.RCCSD_WaveFunction(mo, t1, t2, l1=None, l2=None, projector=None)[source]

Bases: WaveFunction

make_rdm1(t_as_lambda=False, with_mf=True, ao_basis=False)[source]
make_rdm2(t_as_lambda=False, with_dm1=True, ao_basis=False, approx_cumulant=True)[source]
make_rdm2_non_cumulant(t_as_lambda=False, ao_basis=False)[source]
multiply(factor)[source]
project(projector, inplace=False)[source]
pack(dtype=<class 'float'>)[source]

Pack into a single array of data type dtype.

Useful for communication via MPI.

classmethod unpack(packed)[source]

Unpack from a single array of data type dtype.

Useful for communication via MPI.

restore(projector=None, inplace=False, sym=True)[source]
copy()[source]
as_unrestricted()[source]
as_mp2()[source]
as_cisd(c0=1.0)[source]

In intermediate normalization.

as_ccsd()[source]
as_fci()[source]
rotate(t, inplace=False)[source]

Rotate wavefunction representation to another basis. Only rotations which don’t mix occupied and virtual orbitals are supported. Assumes rotated orbitals have same occupancy ordering as originals.

rotate_ov(to, tv, inplace=False)[source]

Rotate wavefunction representation to another basis. Only rotations which don’t mix occupied and virtual orbitals are supported.

Parameters:
  • to (new occupied orbital coefficients in terms of current ones.) –

  • tv (new virtual orbital coefficients in terms of current ones.) –

  • inplace (Whether to transform in-place or return a new object.) –

static from_pyscf(obj, **kwargs)
property nelec
property nocc
property nocca
property noccb
property norb
property norba
property norbb
property nvir
property nvira
property nvirb
class vayesta.core.types.wf.ccsd.UCCSD_WaveFunction(mo, t1, t2, l1=None, l2=None, projector=None)[source]

Bases: RCCSD_WaveFunction

property t1a
property t1b
property t2aa
property t2ab
property t2ba
property t2bb
property l1a
property l1b
property l2aa
property l2ab
property l2ba
property l2bb
make_rdm2_non_cumulant(t_as_lambda=False, ao_basis=False)[source]
project(projector, inplace=False)[source]
restore(projector=None, inplace=False, sym=True)[source]
as_mp2()[source]
as_cisd(c0=1.0)[source]

In intermediate normalization.

as_fci()[source]
multiply(factor)[source]
rotate(t, inplace=False)[source]

Rotate wavefunction representation to another basis. Only rotations which don’t mix occupied and virtual orbitals are supported. Assumes rotated orbitals have same occupancy ordering as originals.

rotate_ov(to, tv, inplace=False)[source]

Rotate wavefunction representation to another basis. Only rotations which don’t mix occupied and virtual orbitals are supported.

Parameters:
  • to (new occupied orbital coefficients in terms of current ones.) –

  • tv (new virtual orbital coefficients in terms of current ones.) –

  • inplace (Whether to transform in-place or return a new object.) –

pack(dtype=<class 'float'>)[source]

Pack into a single array of data type dtype. Useful for communication via MPI.

classmethod unpack(packed)[source]

Unpack from a single array of data type dtype. Useful for communication via MPI.

as_ccsd()
as_unrestricted()
copy()
static from_pyscf(obj, **kwargs)
make_rdm1(t_as_lambda=False, with_mf=True, ao_basis=False)
make_rdm2(t_as_lambda=False, with_dm1=True, ao_basis=False, approx_cumulant=True)
property nelec
property nocc
property nocca
property noccb
property norb
property norba
property norbb
property nvir
property nvira
property nvirb

vayesta.core.types.wf.ccsdtq

vayesta.core.types.wf.ccsdtq.CCSDTQ_WaveFunction(mo, *args, **kwargs)[source]
class vayesta.core.types.wf.ccsdtq.RCCSDTQ_WaveFunction(mo, t1, t2, t3, t4)[source]

Bases: WaveFunction

as_ccsdtq()[source]
as_ccsd()[source]
as_cisd(c0=1.0)[source]
static from_pyscf(obj, **kwargs)
make_rdm1(*args, **kwargs)
make_rdm2(*args, **kwargs)
property nelec
property nocc
property nocca
property noccb
property norb
property norba
property norbb
property nvir
property nvira
property nvirb
rotate(*args, **kwargs)
rotate_ov(*args, **kwargs)
class vayesta.core.types.wf.ccsdtq.UCCSDTQ_WaveFunction(mo, t1, t2, t3, t4)[source]

Bases: RCCSDTQ_WaveFunction

as_ccsd()
as_ccsdtq()
as_cisd(c0=1.0)
static from_pyscf(obj, **kwargs)
make_rdm1(*args, **kwargs)
make_rdm2(*args, **kwargs)
property nelec
property nocc
property nocca
property noccb
property norb
property norba
property norbb
property nvir
property nvira
property nvirb
rotate(*args, **kwargs)
rotate_ov(*args, **kwargs)

vayesta.core.types.wf.cisd

vayesta.core.types.wf.cisd.CISD_WaveFunction(mo, c0, c1, c2, **kwargs)[source]
class vayesta.core.types.wf.cisd.RCISD_WaveFunction(mo, c0, c1, c2, projector=None)[source]

Bases: WaveFunction

project(projector, inplace=False)[source]
restore(projector=None, inplace=False, sym=True)[source]
copy()[source]
as_mp2()[source]
as_cisd(c0=None)[source]
as_ccsd()[source]
get_cisdvec()[source]
as_fci()[source]
static from_pyscf(obj, **kwargs)
make_rdm1(*args, **kwargs)
make_rdm2(*args, **kwargs)
property nelec
property nocc
property nocca
property noccb
property norb
property norba
property norbb
property nvir
property nvira
property nvirb
rotate(*args, **kwargs)
rotate_ov(*args, **kwargs)
class vayesta.core.types.wf.cisd.UCISD_WaveFunction(mo, c0, c1, c2, projector=None)[source]

Bases: RCISD_WaveFunction

property c1a
property c1b
property c2aa
property c2ab
property c2ba
property c2bb
project(projector, inplace=False)[source]
restore(projector=None, inplace=False, sym=True)[source]
as_mp2()[source]
as_cisd(c0=None)[source]
as_ccsd()[source]
get_cisdvec()[source]
as_fci()[source]
copy()
static from_pyscf(obj, **kwargs)
make_rdm1(*args, **kwargs)
make_rdm2(*args, **kwargs)
property nelec
property nocc
property nocca
property noccb
property norb
property norba
property norbb
property nvir
property nvira
property nvirb
rotate(*args, **kwargs)
rotate_ov(*args, **kwargs)

vayesta.core.types.wf.cisdtq

vayesta.core.types.wf.cisdtq.CISDTQ_WaveFunction(mo, *args, **kwargs)[source]
class vayesta.core.types.wf.cisdtq.RCISDTQ_WaveFunction(mo, c0, c1, c2, c3, c4)[source]

Bases: WaveFunction

as_ccsdtq()[source]
static from_pyscf(obj, **kwargs)
make_rdm1(*args, **kwargs)
make_rdm2(*args, **kwargs)
property nelec
property nocc
property nocca
property noccb
property norb
property norba
property norbb
property nvir
property nvira
property nvirb
rotate(*args, **kwargs)
rotate_ov(*args, **kwargs)
class vayesta.core.types.wf.cisdtq.UCISDTQ_WaveFunction(mo, c0, c1, c2, c3, c4)[source]

Bases: WaveFunction

as_ccsdtq()[source]
static from_pyscf(obj, **kwargs)
make_rdm1(*args, **kwargs)
make_rdm2(*args, **kwargs)
property nelec
property nocc
property nocca
property noccb
property norb
property norba
property norbb
property nvir
property nvira
property nvirb
rotate(*args, **kwargs)
rotate_ov(*args, **kwargs)

vayesta.core.types.wf.fci

vayesta.core.types.wf.fci.FCI_WaveFunction(mo, ci, **kwargs)[source]
class vayesta.core.types.wf.fci.RFCI_WaveFunction(mo, ci, projector=None)[source]

Bases: WaveFunction

property nfci
make_rdm1(ao_basis=False, with_mf=True)[source]
make_rdm2(ao_basis=False, with_dm1=True, approx_cumulant=True)[source]
project(projector, inplace=False)[source]

Apply one-body projector to the FCI wavefunction using pyscf. This is assumed to indicate a one-body

project_occ(projector, inplace=False)[source]

Apply projector onto the occupied indices of all CI coefficient tensors. Note that projector is nocc x nocc.

Action of occupied projector can be written as P^{x}_{occ} = P_{ij}^{x}

restore(projector=None, inplace=False)[source]
property c0
copy()[source]
as_unrestricted()[source]
as_mp2()[source]
as_cisd(c0=None)[source]
as_cisdtq(c0=None)[source]
as_ccsd()[source]
as_ccsdtq()[source]
as_fci()[source]
static from_pyscf(obj, **kwargs)
property nelec
property nocc
property nocca
property noccb
property norb
property norba
property norbb
property nvir
property nvira
property nvirb
rotate(*args, **kwargs)
rotate_ov(*args, **kwargs)
class vayesta.core.types.wf.fci.UFCI_WaveFunction(mo, ci, projector=None)[source]

Bases: RFCI_WaveFunction

make_rdm1(ao_basis=False, with_mf=True)[source]
make_rdm2(ao_basis=False, with_dm1=True, approx_cumulant=True)[source]
project_occ(projector, inplace=False)[source]

Apply projector onto the occupied indices of all CI coefficient tensors. Note that projector is nocc x nocc.

Action of occupied projector can be written as P^{x}_{occ} = P_{ij}^{x}

as_cisd(c0=None)[source]
as_cisdtq(c0=None)[source]
as_ccsd()
as_ccsdtq()
as_fci()
as_mp2()
as_unrestricted()
property c0
copy()
static from_pyscf(obj, **kwargs)
property nelec
property nfci
property nocc
property nocca
property noccb
property norb
property norba
property norbb
property nvir
property nvira
property nvirb
project(projector, inplace=False)

Apply one-body projector to the FCI wavefunction using pyscf. This is assumed to indicate a one-body

restore(projector=None, inplace=False)
rotate(*args, **kwargs)
rotate_ov(*args, **kwargs)
class vayesta.core.types.wf.fci.UFCI_WaveFunction_w_dummy(mo, ci, dummy_orbs, projector=None)[source]

Bases: UFCI_WaveFunction

Class to allow use of dummy orbitals to balance alpha and beta spin channels. This is done by introducing a dummy SpinOrbitals object during calculation of properties in orbital basis, then removal of dummy indices from these quantities. We currently choose to only introduce virtual orbitals.

TODO check all quantities removed are negligible.

property ndummy
property dummy_mo
make_rdm1(ao_basis=False, *args, **kwargs)[source]
make_rdm2(ao_basis=False, *args, **kwargs)[source]
as_cisd(*args, **kwargs)[source]
as_cisdtq(*args, **kwargs)[source]
as_ccsd()
as_ccsdtq()
as_fci()
as_mp2()
as_unrestricted()
property c0
copy()
static from_pyscf(obj, **kwargs)
property nelec
property nfci
property nocc
property nocca
property noccb
property norb
property norba
property norbb
property nvir
property nvira
property nvirb
project(projector, inplace=False)

Apply one-body projector to the FCI wavefunction using pyscf. This is assumed to indicate a one-body

project_occ(projector, inplace=False)

Apply projector onto the occupied indices of all CI coefficient tensors. Note that projector is nocc x nocc.

Action of occupied projector can be written as P^{x}_{occ} = P_{ij}^{x}

restore(projector=None, inplace=False)
rotate(*args, **kwargs)
rotate_ov(*args, **kwargs)

vayesta.core.types.wf.hf

vayesta.core.types.wf.hf.HF_WaveFunction(mo)[source]
class vayesta.core.types.wf.hf.RHF_WaveFunction(mo, projector=None)[source]

Bases: WaveFunction

make_rdm1(mo_coeff=None, mo_occ=None, ao_basis=True)[source]
make_rdm2(mo_coeff=None, mo_occ=None, ao_basis=True)[source]
as_restricted()[source]
as_unrestricted()[source]
static from_pyscf(obj, **kwargs)
property nelec
property nocc
property nocca
property noccb
property norb
property norba
property norbb
property nvir
property nvira
property nvirb
rotate(*args, **kwargs)
rotate_ov(*args, **kwargs)
class vayesta.core.types.wf.hf.UHF_WaveFunction(mo, projector=None)[source]

Bases: RHF_WaveFunction

make_rdm1(mo_coeff=None, mo_occ=None, ao_basis=True)[source]
make_rdm2(mo_coeff=None, mo_occ=None, ao_basis=True)[source]
as_restricted()[source]
as_unrestricted()[source]
static from_pyscf(obj, **kwargs)
property nelec
property nocc
property nocca
property noccb
property norb
property norba
property norbb
property nvir
property nvira
property nvirb
rotate(*args, **kwargs)
rotate_ov(*args, **kwargs)

vayesta.core.types.wf.mp2

vayesta.core.types.wf.mp2.MP2_WaveFunction(mo, t2, **kwargs)[source]
class vayesta.core.types.wf.mp2.RMP2_WaveFunction(mo, t2, projector=None)[source]

Bases: WaveFunction

make_rdm1(with_mf=True, ao_basis=False)[source]
make_rdm2(with_dm1=True, ao_basis=False, approx_cumulant=True)[source]
as_restricted()[source]
as_unrestricted()[source]
multiply(factor)[source]
project(projector, inplace=False)[source]
restore(projector=None, inplace=False, sym=True)[source]
as_mp2()[source]
as_cisd(c0=1.0)[source]
as_ccsd()[source]
as_fci()[source]
copy()[source]
pack(dtype=<class 'float'>)[source]

Pack into a single array of data type dtype.

Useful for communication via MPI.

classmethod unpack(packed)[source]

Unpack from a single array of data type dtype.

Useful for communication via MPI.

static from_pyscf(obj, **kwargs)
property nelec
property nocc
property nocca
property noccb
property norb
property norba
property norbb
property nvir
property nvira
property nvirb
rotate(*args, **kwargs)
rotate_ov(*args, **kwargs)
class vayesta.core.types.wf.mp2.UMP2_WaveFunction(mo, t2, projector=None)[source]

Bases: RMP2_WaveFunction

property t2aa
property t2ab
property t2ba
property t2bb
make_rdm1(*args, **kwargs)[source]
make_rdm2(*args, **kwargs)[source]
project(projector, inplace=False)[source]
restore(projector=None, inplace=False, sym=True)[source]
as_mp2()[source]
as_cisd(c0=1.0)[source]
as_ccsd()[source]
as_fci()[source]
multiply(factor)[source]
as_restricted()
as_unrestricted()
copy()
static from_pyscf(obj, **kwargs)
property nelec
property nocc
property nocca
property noccb
property norb
property norba
property norbb
property nvir
property nvira
property nvirb
pack(dtype=<class 'float'>)

Pack into a single array of data type dtype.

Useful for communication via MPI.

rotate(*args, **kwargs)
rotate_ov(*args, **kwargs)
classmethod unpack(packed)

Unpack from a single array of data type dtype.

Useful for communication via MPI.

vayesta.core.types.wf.project

Utility functions for projection of wave functions.

vayesta.core.types.wf.project.project_c1(c1, p)[source]
vayesta.core.types.wf.project.project_c2(c2, p)[source]
vayesta.core.types.wf.project.project_uc1(c1, p)[source]
vayesta.core.types.wf.project.project_uc2(c2, p)[source]
vayesta.core.types.wf.project.symmetrize_c2(c2, inplace=True)[source]
vayesta.core.types.wf.project.symmetrize_uc2(c2, inplace=True)[source]
vayesta.core.types.wf.project.transform_c1(c1, to, tv)[source]
vayesta.core.types.wf.project.transform_c2(c2, to, tv, to2=None, tv2=None)[source]
vayesta.core.types.wf.project.transform_uc1(c1, to, tv)[source]
vayesta.core.types.wf.project.transform_uc2(c2, to, tv)[source]

vayesta.core.types.wf.rdm

vayesta.core.types.wf.rdm.RDM_WaveFunction(mo, dm1, dm2, **kwargs)[source]
class vayesta.core.types.wf.rdm.RRDM_WaveFunction(mo, dm1, dm2, projector=None)[source]

Bases: WaveFunction

Dummy wavefunction type that stores the 1- and 2-RDMs. Allows interoperability with user-defined callback solvers which can only return the 1- and 2-RDMs.

make_rdm1(ao_basis=False, with_mf=True)[source]
make_rdm2(ao_basis=False, with_dm1=True, approx_cumulant=True)[source]
make_rdm2_non_cumulant(ao_basis=False)[source]
copy()[source]
project(projector, inplace)[source]
pack(dtype=<class 'float'>)[source]

Pack into a single array of data type dtype.

Useful for communication via MPI.

classmethod unpack(packed)[source]

Unpack from a single array of data type dtype.

Useful for communication via MPI.

restore()[source]
as_unrestricted()[source]
static from_pyscf(obj, **kwargs)
property nelec
property nocc
property nocca
property noccb
property norb
property norba
property norbb
property nvir
property nvira
property nvirb
rotate(*args, **kwargs)
rotate_ov(*args, **kwargs)
class vayesta.core.types.wf.rdm.URDM_WaveFunction(mo, dm1, dm2, projector=None)[source]

Bases: RRDM_WaveFunction

as_unrestricted()
copy()
static from_pyscf(obj, **kwargs)
make_rdm1(ao_basis=False, with_mf=True)
make_rdm2(ao_basis=False, with_dm1=True, approx_cumulant=True)
make_rdm2_non_cumulant(ao_basis=False)
property nelec
property nocc
property nocca
property noccb
property norb
property norba
property norbb
property nvir
property nvira
property nvirb
pack(dtype=<class 'float'>)

Pack into a single array of data type dtype.

Useful for communication via MPI.

project(projector, inplace)
restore()
rotate(*args, **kwargs)
rotate_ov(*args, **kwargs)
classmethod unpack(packed)

Unpack from a single array of data type dtype.

Useful for communication via MPI.

vayesta.core.types.wf.t_to_c

These expressions were obtained from https://doi.org/10.1063/1.4996044 for GHF, and then spin integrated to RHF and UHF expressions.

vayesta.core.types.wf.t_to_c.t1_uhf(c1)[source]
vayesta.core.types.wf.t_to_c.t1_rhf(c1)[source]
vayesta.core.types.wf.t_to_c.t2_uhf(t1, c2)[source]
vayesta.core.types.wf.t_to_c.t2_rhf(t1, c2)[source]
vayesta.core.types.wf.t_to_c.t3_uhf(t1, t2, c3)[source]
vayesta.core.types.wf.t_to_c.t3_rhf(t1, t2, c3)[source]
vayesta.core.types.wf.t_to_c.t4_uhf(t1, t2, t3, c4)[source]
vayesta.core.types.wf.t_to_c.t4_rhf(t1, t2, t3, c4)[source]

vayesta.core.types.wf.wf

class vayesta.core.types.wf.wf.WaveFunction(mo, projector=None)[source]

Bases: object

property norb
property nocc
property nvir
property norba
property norbb
property nocca
property noccb
property nvira
property nvirb
property nelec
make_rdm1(*args, **kwargs)[source]
make_rdm2(*args, **kwargs)[source]
rotate_ov(*args, **kwargs)[source]
rotate(*args, **kwargs)[source]
static from_pyscf(obj, **kwargs)[source]

Module contents

Package for wave function objects.

TODO: spin-off projections (delegation, inheritance?)

class vayesta.core.types.wf.WaveFunction(mo, projector=None)[source]

Bases: object

property norb
property nocc
property nvir
property norba
property norbb
property nocca
property noccb
property nvira
property nvirb
property nelec
make_rdm1(*args, **kwargs)[source]
make_rdm2(*args, **kwargs)[source]
rotate_ov(*args, **kwargs)[source]
rotate(*args, **kwargs)[source]
static from_pyscf(obj, **kwargs)[source]
vayesta.core.types.wf.HF_WaveFunction(mo)[source]
class vayesta.core.types.wf.RHF_WaveFunction(mo, projector=None)[source]

Bases: WaveFunction

make_rdm1(mo_coeff=None, mo_occ=None, ao_basis=True)[source]
make_rdm2(mo_coeff=None, mo_occ=None, ao_basis=True)[source]
as_restricted()[source]
as_unrestricted()[source]
static from_pyscf(obj, **kwargs)
property nelec
property nocc
property nocca
property noccb
property norb
property norba
property norbb
property nvir
property nvira
property nvirb
rotate(*args, **kwargs)
rotate_ov(*args, **kwargs)
class vayesta.core.types.wf.UHF_WaveFunction(mo, projector=None)[source]

Bases: RHF_WaveFunction

make_rdm1(mo_coeff=None, mo_occ=None, ao_basis=True)[source]
make_rdm2(mo_coeff=None, mo_occ=None, ao_basis=True)[source]
as_restricted()[source]
as_unrestricted()[source]
static from_pyscf(obj, **kwargs)
property nelec
property nocc
property nocca
property noccb
property norb
property norba
property norbb
property nvir
property nvira
property nvirb
rotate(*args, **kwargs)
rotate_ov(*args, **kwargs)
vayesta.core.types.wf.MP2_WaveFunction(mo, t2, **kwargs)[source]
class vayesta.core.types.wf.RMP2_WaveFunction(mo, t2, projector=None)[source]

Bases: WaveFunction

make_rdm1(with_mf=True, ao_basis=False)[source]
make_rdm2(with_dm1=True, ao_basis=False, approx_cumulant=True)[source]
as_restricted()[source]
as_unrestricted()[source]
multiply(factor)[source]
project(projector, inplace=False)[source]
restore(projector=None, inplace=False, sym=True)[source]
as_mp2()[source]
as_cisd(c0=1.0)[source]
as_ccsd()[source]
as_fci()[source]
copy()[source]
pack(dtype=<class 'float'>)[source]

Pack into a single array of data type dtype.

Useful for communication via MPI.

classmethod unpack(packed)[source]

Unpack from a single array of data type dtype.

Useful for communication via MPI.

static from_pyscf(obj, **kwargs)
property nelec
property nocc
property nocca
property noccb
property norb
property norba
property norbb
property nvir
property nvira
property nvirb
rotate(*args, **kwargs)
rotate_ov(*args, **kwargs)
class vayesta.core.types.wf.UMP2_WaveFunction(mo, t2, projector=None)[source]

Bases: RMP2_WaveFunction

property t2aa
property t2ab
property t2ba
property t2bb
make_rdm1(*args, **kwargs)[source]
make_rdm2(*args, **kwargs)[source]
project(projector, inplace=False)[source]
restore(projector=None, inplace=False, sym=True)[source]
as_mp2()[source]
as_cisd(c0=1.0)[source]
as_ccsd()[source]
as_fci()[source]
multiply(factor)[source]
as_restricted()
as_unrestricted()
copy()
static from_pyscf(obj, **kwargs)
property nelec
property nocc
property nocca
property noccb
property norb
property norba
property norbb
property nvir
property nvira
property nvirb
pack(dtype=<class 'float'>)

Pack into a single array of data type dtype.

Useful for communication via MPI.

rotate(*args, **kwargs)
rotate_ov(*args, **kwargs)
classmethod unpack(packed)

Unpack from a single array of data type dtype.

Useful for communication via MPI.

vayesta.core.types.wf.CISD_WaveFunction(mo, c0, c1, c2, **kwargs)[source]
class vayesta.core.types.wf.RCISD_WaveFunction(mo, c0, c1, c2, projector=None)[source]

Bases: WaveFunction

project(projector, inplace=False)[source]
restore(projector=None, inplace=False, sym=True)[source]
copy()[source]
as_mp2()[source]
as_cisd(c0=None)[source]
as_ccsd()[source]
get_cisdvec()[source]
as_fci()[source]
static from_pyscf(obj, **kwargs)
make_rdm1(*args, **kwargs)
make_rdm2(*args, **kwargs)
property nelec
property nocc
property nocca
property noccb
property norb
property norba
property norbb
property nvir
property nvira
property nvirb
rotate(*args, **kwargs)
rotate_ov(*args, **kwargs)
class vayesta.core.types.wf.UCISD_WaveFunction(mo, c0, c1, c2, projector=None)[source]

Bases: RCISD_WaveFunction

property c1a
property c1b
property c2aa
property c2ab
property c2ba
property c2bb
project(projector, inplace=False)[source]
restore(projector=None, inplace=False, sym=True)[source]
as_mp2()[source]
as_cisd(c0=None)[source]
as_ccsd()[source]
get_cisdvec()[source]
as_fci()[source]
copy()
static from_pyscf(obj, **kwargs)
make_rdm1(*args, **kwargs)
make_rdm2(*args, **kwargs)
property nelec
property nocc
property nocca
property noccb
property norb
property norba
property norbb
property nvir
property nvira
property nvirb
rotate(*args, **kwargs)
rotate_ov(*args, **kwargs)
vayesta.core.types.wf.CCSD_WaveFunction(mo, t1, t2, **kwargs)[source]
class vayesta.core.types.wf.RCCSD_WaveFunction(mo, t1, t2, l1=None, l2=None, projector=None)[source]

Bases: WaveFunction

make_rdm1(t_as_lambda=False, with_mf=True, ao_basis=False)[source]
make_rdm2(t_as_lambda=False, with_dm1=True, ao_basis=False, approx_cumulant=True)[source]
make_rdm2_non_cumulant(t_as_lambda=False, ao_basis=False)[source]
multiply(factor)[source]
project(projector, inplace=False)[source]
pack(dtype=<class 'float'>)[source]

Pack into a single array of data type dtype.

Useful for communication via MPI.

classmethod unpack(packed)[source]

Unpack from a single array of data type dtype.

Useful for communication via MPI.

restore(projector=None, inplace=False, sym=True)[source]
copy()[source]
as_unrestricted()[source]
as_mp2()[source]
as_cisd(c0=1.0)[source]

In intermediate normalization.

as_ccsd()[source]
as_fci()[source]
rotate(t, inplace=False)[source]

Rotate wavefunction representation to another basis. Only rotations which don’t mix occupied and virtual orbitals are supported. Assumes rotated orbitals have same occupancy ordering as originals.

rotate_ov(to, tv, inplace=False)[source]

Rotate wavefunction representation to another basis. Only rotations which don’t mix occupied and virtual orbitals are supported.

Parameters:
  • to (new occupied orbital coefficients in terms of current ones.) –

  • tv (new virtual orbital coefficients in terms of current ones.) –

  • inplace (Whether to transform in-place or return a new object.) –

static from_pyscf(obj, **kwargs)
property nelec
property nocc
property nocca
property noccb
property norb
property norba
property norbb
property nvir
property nvira
property nvirb
class vayesta.core.types.wf.UCCSD_WaveFunction(mo, t1, t2, l1=None, l2=None, projector=None)[source]

Bases: RCCSD_WaveFunction

property t1a
property t1b
property t2aa
property t2ab
property t2ba
property t2bb
property l1a
property l1b
property l2aa
property l2ab
property l2ba
property l2bb
make_rdm2_non_cumulant(t_as_lambda=False, ao_basis=False)[source]
project(projector, inplace=False)[source]
restore(projector=None, inplace=False, sym=True)[source]
as_mp2()[source]
as_cisd(c0=1.0)[source]

In intermediate normalization.

as_fci()[source]
multiply(factor)[source]
rotate(t, inplace=False)[source]

Rotate wavefunction representation to another basis. Only rotations which don’t mix occupied and virtual orbitals are supported. Assumes rotated orbitals have same occupancy ordering as originals.

rotate_ov(to, tv, inplace=False)[source]

Rotate wavefunction representation to another basis. Only rotations which don’t mix occupied and virtual orbitals are supported.

Parameters:
  • to (new occupied orbital coefficients in terms of current ones.) –

  • tv (new virtual orbital coefficients in terms of current ones.) –

  • inplace (Whether to transform in-place or return a new object.) –

pack(dtype=<class 'float'>)[source]

Pack into a single array of data type dtype. Useful for communication via MPI.

classmethod unpack(packed)[source]

Unpack from a single array of data type dtype. Useful for communication via MPI.

as_ccsd()
as_unrestricted()
copy()
static from_pyscf(obj, **kwargs)
make_rdm1(t_as_lambda=False, with_mf=True, ao_basis=False)
make_rdm2(t_as_lambda=False, with_dm1=True, ao_basis=False, approx_cumulant=True)
property nelec
property nocc
property nocca
property noccb
property norb
property norba
property norbb
property nvir
property nvira
property nvirb
vayesta.core.types.wf.FCI_WaveFunction(mo, ci, **kwargs)[source]
class vayesta.core.types.wf.RFCI_WaveFunction(mo, ci, projector=None)[source]

Bases: WaveFunction

property nfci
make_rdm1(ao_basis=False, with_mf=True)[source]
make_rdm2(ao_basis=False, with_dm1=True, approx_cumulant=True)[source]
project(projector, inplace=False)[source]

Apply one-body projector to the FCI wavefunction using pyscf. This is assumed to indicate a one-body

project_occ(projector, inplace=False)[source]

Apply projector onto the occupied indices of all CI coefficient tensors. Note that projector is nocc x nocc.

Action of occupied projector can be written as P^{x}_{occ} = P_{ij}^{x}

restore(projector=None, inplace=False)[source]
property c0
copy()[source]
as_unrestricted()[source]
as_mp2()[source]
as_cisd(c0=None)[source]
as_cisdtq(c0=None)[source]
as_ccsd()[source]
as_ccsdtq()[source]
as_fci()[source]
static from_pyscf(obj, **kwargs)
property nelec
property nocc
property nocca
property noccb
property norb
property norba
property norbb
property nvir
property nvira
property nvirb
rotate(*args, **kwargs)
rotate_ov(*args, **kwargs)
class vayesta.core.types.wf.UFCI_WaveFunction(mo, ci, projector=None)[source]

Bases: RFCI_WaveFunction

make_rdm1(ao_basis=False, with_mf=True)[source]
make_rdm2(ao_basis=False, with_dm1=True, approx_cumulant=True)[source]
project_occ(projector, inplace=False)[source]

Apply projector onto the occupied indices of all CI coefficient tensors. Note that projector is nocc x nocc.

Action of occupied projector can be written as P^{x}_{occ} = P_{ij}^{x}

as_cisd(c0=None)[source]
as_cisdtq(c0=None)[source]
as_ccsd()
as_ccsdtq()
as_fci()
as_mp2()
as_unrestricted()
property c0
copy()
static from_pyscf(obj, **kwargs)
property nelec
property nfci
property nocc
property nocca
property noccb
property norb
property norba
property norbb
property nvir
property nvira
property nvirb
project(projector, inplace=False)

Apply one-body projector to the FCI wavefunction using pyscf. This is assumed to indicate a one-body

restore(projector=None, inplace=False)
rotate(*args, **kwargs)
rotate_ov(*args, **kwargs)
vayesta.core.types.wf.CISDTQ_WaveFunction(mo, *args, **kwargs)[source]
class vayesta.core.types.wf.RCISDTQ_WaveFunction(mo, c0, c1, c2, c3, c4)[source]

Bases: WaveFunction

as_ccsdtq()[source]
static from_pyscf(obj, **kwargs)
make_rdm1(*args, **kwargs)
make_rdm2(*args, **kwargs)
property nelec
property nocc
property nocca
property noccb
property norb
property norba
property norbb
property nvir
property nvira
property nvirb
rotate(*args, **kwargs)
rotate_ov(*args, **kwargs)
class vayesta.core.types.wf.UCISDTQ_WaveFunction(mo, c0, c1, c2, c3, c4)[source]

Bases: WaveFunction

as_ccsdtq()[source]
static from_pyscf(obj, **kwargs)
make_rdm1(*args, **kwargs)
make_rdm2(*args, **kwargs)
property nelec
property nocc
property nocca
property noccb
property norb
property norba
property norbb
property nvir
property nvira
property nvirb
rotate(*args, **kwargs)
rotate_ov(*args, **kwargs)
vayesta.core.types.wf.CCSDTQ_WaveFunction(mo, *args, **kwargs)[source]
class vayesta.core.types.wf.RCCSDTQ_WaveFunction(mo, t1, t2, t3, t4)[source]

Bases: WaveFunction

as_ccsdtq()[source]
as_ccsd()[source]
as_cisd(c0=1.0)[source]
static from_pyscf(obj, **kwargs)
make_rdm1(*args, **kwargs)
make_rdm2(*args, **kwargs)
property nelec
property nocc
property nocca
property noccb
property norb
property norba
property norbb
property nvir
property nvira
property nvirb
rotate(*args, **kwargs)
rotate_ov(*args, **kwargs)
class vayesta.core.types.wf.UCCSDTQ_WaveFunction(mo, t1, t2, t3, t4)[source]

Bases: RCCSDTQ_WaveFunction

as_ccsd()
as_ccsdtq()
as_cisd(c0=1.0)
static from_pyscf(obj, **kwargs)
make_rdm1(*args, **kwargs)
make_rdm2(*args, **kwargs)
property nelec
property nocc
property nocca
property noccb
property norb
property norba
property norbb
property nvir
property nvira
property nvirb
rotate(*args, **kwargs)
rotate_ov(*args, **kwargs)
vayesta.core.types.wf.RDM_WaveFunction(mo, dm1, dm2, **kwargs)[source]
class vayesta.core.types.wf.RRDM_WaveFunction(mo, dm1, dm2, projector=None)[source]

Bases: WaveFunction

Dummy wavefunction type that stores the 1- and 2-RDMs. Allows interoperability with user-defined callback solvers which can only return the 1- and 2-RDMs.

make_rdm1(ao_basis=False, with_mf=True)[source]
make_rdm2(ao_basis=False, with_dm1=True, approx_cumulant=True)[source]
make_rdm2_non_cumulant(ao_basis=False)[source]
copy()[source]
project(projector, inplace)[source]
pack(dtype=<class 'float'>)[source]

Pack into a single array of data type dtype.

Useful for communication via MPI.

classmethod unpack(packed)[source]

Unpack from a single array of data type dtype.

Useful for communication via MPI.

restore()[source]
as_unrestricted()[source]
static from_pyscf(obj, **kwargs)
property nelec
property nocc
property nocca
property noccb
property norb
property norba
property norbb
property nvir
property nvira
property nvirb
rotate(*args, **kwargs)
rotate_ov(*args, **kwargs)
class vayesta.core.types.wf.URDM_WaveFunction(mo, dm1, dm2, projector=None)[source]

Bases: RRDM_WaveFunction

as_unrestricted()
copy()
static from_pyscf(obj, **kwargs)
make_rdm1(ao_basis=False, with_mf=True)
make_rdm2(ao_basis=False, with_dm1=True, approx_cumulant=True)
make_rdm2_non_cumulant(ao_basis=False)
property nelec
property nocc
property nocca
property noccb
property norb
property norba
property norbb
property nvir
property nvira
property nvirb
pack(dtype=<class 'float'>)

Pack into a single array of data type dtype.

Useful for communication via MPI.

project(projector, inplace)
restore()
rotate(*args, **kwargs)
rotate_ov(*args, **kwargs)
classmethod unpack(packed)

Unpack from a single array of data type dtype.

Useful for communication via MPI.