Wavefunction

class psi4.core.Wavefunction

Bases: pybind11_builtins.pybind11_object

docstring

Methods Summary

Ca(self)

Returns the Alpha Orbitals.

Ca_subset(self, arg0, arg1)

Returns the requested Alpha orbital subset.

Cb(self)

Returns the Beta Orbitals.

Cb_subset(self, arg0, arg1)

Returns the requested Beta orbital subset.

Da(self)

Returns the Alpha Density Matrix.

Da_subset(self, arg0)

Returns the requested Alpha Density subset.

Db(self)

Returns the Beta Density Matrix.

Db_subset(self, arg0)

Returns the requested Beta Density subset.

Fa(self)

Returns the Alpha Fock Matrix.

Fa_subset(self, arg0)

Returns the Alpha Fock Matrix in the requested basis (AO,SO).

Fb(self)

Returns the Beta Fock Matrix.

Fb_subset(self, arg0)

Returns the Beta Fock Matrix in the requested basis (AO,SO).

H(self)

Returns the 'Core' Matrix (Potential + Kinetic) Integrals.

PCM_enabled(self)

Whether running a PCM calculation

S(self)

Returns the One-electron Overlap Matrix.

X()

alpha_orbital_space(self, id, basis, subset)

Creates OrbitalSpace with information about the requested alpha orbital space.

aotoso(self)

Returns the Atomic Orbital to Symmetry Orbital transformer.

array_variable(self, arg0)

Returns copy of the requested (case-insensitive) Matrix QC variable.

array_variables(self)

Returns the dictionary of all Matrix QC variables.

arrays()

Deprecated since version 1.4.

atomic_point_charges(self)

Returns the set atomic point charges.

basis_projection(self, arg0, arg1, arg2, arg3)

Projects a orbital matrix from one basis to another.

basisset(self)

Returns the current orbital basis.

beta_orbital_space(self, arg0, arg1, arg2)

docstring

build(mol[, basis, quiet])

c1_deep_copy(self, basis)

Returns a new wavefunction with internal data converted to \(C_1\) symmetry, using pre-c1-constructed basis

compute_energy(self)

Computes the energy of the Wavefunction.

compute_gradient(self)

Computes the gradient of the Wavefunction

compute_hessian(self)

Computes the Hessian of the Wavefunction.

deep_copy(self, arg0)

Deep copies the internal data.

del_array_variable(self, arg0)

Removes the requested (case-insensitive) Matrix QC variable.

del_potential_variable(self, arg0)

Removes the requested (case-insensitive) ExternalPotential QC variable.

del_scalar_variable(self, arg0)

Removes the requested (case-insensitive) double QC variable.

del_variable(key)

Removes scalar or array QCVariable key from cls if present.

density_fitted(self)

Returns whether this wavefunction was obtained using density fitting or not.

doccpi(self)

Returns the number of doubly occupied orbitals per irrep.

efzc(self)

Returns the frozen-core energy

energy(self)

Returns the Wavefunction's energy.

epsilon_a(self)

Returns the Alpha Eigenvalues.

epsilon_a_subset(self, basis, subset)

Returns the requested Alpha orbital energies subset.

epsilon_b(self)

Returns the Beta Eigenvalues.

epsilon_b_subset(self, basis, subset)

Returns the requested Beta orbital energies subset.

esp_at_nuclei(self)

returns electrostatic potentials at nuclei

external_pot(self)

Gets the requested external potential.

force_doccpi(self, arg0)

Specialized expert use only.

force_soccpi(self, arg0)

Specialized expert use only.

frequencies()

from_file(wfn_data)

Build Wavefunction from data.

frzcpi(self)

Returns the number of frozen core orbitals per irrep.

frzvpi(self)

Returns the number of frozen virtual orbitals per irrep.

get_array(key)

Deprecated since version 1.4.

get_basisset(self, arg0)

Returns the requested auxiliary basis.

get_density(self, arg0)

Experimental!

get_dipole_field_strength(self)

Returns a vector of length 3, containing the x, y, and z dipole field strengths.

get_print(self)

Get the print level of the Wavefunction.

get_scratch_filename(filenumber)

Given a wavefunction and a scratch file number, canonicalizes the name so that files can be consistently written and read

get_variable(key)

Deprecated since version 1.4.

gradient(self)

Returns the Wavefunction's gradient.

has_array_variable(self, arg0)

Is the Matrix QC variable (case-insensitive) set?

has_potential_variable(self, arg0)

Is the ExternalPotential QC variable (case-insensitive) set? (This function is provisional and might be removed in the future.)

has_scalar_variable(self, arg0)

Is the double QC variable (case-insensitive) set?

has_variable(key)

Whether scalar or array QCVariable key has been set on self psi4.core.Wavefunction.

hessian(self)

Returns the Wavefunction's Hessian.

lagrangian(self)

Returns the Lagrangian Matrix.

legacy_frequencies()

Deprecated since version 1.4.

mintshelper(self)

Returns the current MintsHelper object.

mo_extents(self)

returns the wavefunction's electronic orbital extents.

module(self)

Name of the last/highest level of theory module (internal or external) touching the wavefunction.

molecule(self)

Returns the Wavefunction's molecule.

nalpha(self)

Number of Alpha electrons.

nalphapi(self)

Returns the number of alpha orbitals per irrep.

name(self)

The level of theory this wavefunction corresponds to.

nbeta(self)

Number of Beta electrons.

nbetapi(self)

Returns the number of beta orbitals per irrep.

nfrzc(self)

Number of frozen core electrons.

nirrep(self)

Number of irreps in the system.

nmo(self)

Number of molecule orbitals.

nmopi(self)

Returns the number of molecular orbitals per irrep.

no_occupations(self)

returns the natural orbital occupations on the wavefunction.

nso(self)

Number of symmetry orbitals.

nsopi(self)

Returns the number of symmetry orbitals per irrep.

options(self)

Returns the Wavefunction's options object

potential_variable(self, key)

Returns copy of the requested (case-insensitive) ExternalPotential QC variable key.

potential_variables(self)

Returns the dictionary of all ExternalPotential QC variables.

reference_wavefunction(self)

Returns the reference wavefunction.

same_a_b_dens(self)

Returns true if the alpha and beta densities are the same.

same_a_b_orbs(self)

Returns true if the alpha and beta orbitals are the same.

scalar_variable(self, arg0)

Returns the requested (case-insensitive) double QC variable.

scalar_variables(self)

Returns the dictionary of all double QC variables.

set_array(key, val)

Deprecated since version 1.4.

set_array_variable(self, arg0, arg1)

Sets the requested (case-insensitive) Matrix QC variable.

set_basisset(self, arg0, arg1)

Sets the requested auxiliary basis.

set_energy(self, arg0)

Sets the Wavefunction's energy.

set_external_potential(self, arg0)

Sets the requested external potential.

set_frequencies(val)

Deprecated since version 1.4.

set_gradient(self, arg0)

Sets the Wavefunction's gradient.

set_hessian(self, arg0)

Sets the Wavefunction's Hessian.

set_lagrangian(self, arg0)

Sets the orbital Lagrangian matrix.

set_legacy_frequencies(self, arg0)

Sets the frequencies of the Hessian.

set_module(self, module)

Sets name of the last/highest level of theory module (internal or external) touching the wavefunction.

set_name(self, arg0)

Sets the level of theory this wavefunction corresponds to.

set_potential_variable(self, arg0, arg1)

Sets the requested (case-insensitive) ExternalPotential QC variable.

set_print(self, arg0)

Sets the print level of the Wavefunction.

set_reference_wavefunction(self, arg0)

docstring

set_scalar_variable(self, arg0, arg1)

Sets the requested (case-insensitive) double QC variable.

set_variable(key, val)

Sets scalar or array QCVariable key to val on cls.

shallow_copy(self, arg0)

Copies the pointers to the internal data.

sobasisset(self)

Returns the symmetry orbitals basis.

soccpi(self)

Returns the number of singly occupied orbitals per irrep.

to_file([filename])

Converts a Wavefunction object to a base class

variable(key)

Return copy of scalar or array QCVariable key from self psi4.core.Wavefunction.

variables([include_deprecated_keys])

Return all scalar or array QCVariables from cls.

write_molden([filename, do_virtual, use_natural])

Function to write wavefunction information in wfn to filename in molden format.

write_nbo(name)

Methods Documentation

Ca(self: psi4.core.Wavefunction) psi4.core.Matrix

Returns the Alpha Orbitals.

Ca_subset(self: psi4.core.Wavefunction, arg0: str, arg1: str) psi4.core.Matrix

Returns the requested Alpha orbital subset.

Parameters
  • basis (str) – {‘SO’, AO’} Should the subset be of symmetry orbitals or atomic orbitals?

  • subset (str) – {‘ALL’, ‘ACTIVE’, ‘FROZEN’, ‘OCC’, ‘VIR’, ‘FROZEN_OCC’, ‘ACTIVE_OCC’, ‘ACTIVE_VIR’, ‘FROZEN_VIR’} Which subspace of orbitals should be returned?

Returns

A Pitzer-ordered matrix of the orbitals, (# basis functions, # orbitals in the subset). Pitzer-ordering is with respect to c1 symmetry if basis is AO.

Return type

Matrix

Cb(self: psi4.core.Wavefunction) psi4.core.Matrix

Returns the Beta Orbitals.

Cb_subset(self: psi4.core.Wavefunction, arg0: str, arg1: str) psi4.core.Matrix

Returns the requested Beta orbital subset.

Parameters
  • basis (str) – {‘SO’, ‘AO’} Should the subset be of symmetry orbitals or atomic orbitals?

  • subset (str) – {‘ALL’, ‘ACTIVE’, ‘FROZEN’, ‘OCC’, ‘VIR’, ‘FROZEN_OCC’, ‘ACTIVE_OCC’, ‘ACTIVE_VIR’, ‘FROZEN_VIR’} Which subspace of orbitals should be returned?

Returns

A Pitzer-ordered matrix of the orbitals, (# basis functions, # orbitals in the subset). Pitzer-ordering is with respect to c1 symmetry if basis is AO.

Return type

Matrix

Da(self: psi4.core.Wavefunction) psi4.core.Matrix

Returns the Alpha Density Matrix.

Da_subset(self: psi4.core.Wavefunction, arg0: str) psi4.core.Matrix

Returns the requested Alpha Density subset.

Db(self: psi4.core.Wavefunction) psi4.core.Matrix

Returns the Beta Density Matrix.

Db_subset(self: psi4.core.Wavefunction, arg0: str) psi4.core.Matrix

Returns the requested Beta Density subset.

Fa(self: psi4.core.Wavefunction) psi4.core.Matrix

Returns the Alpha Fock Matrix.

Fa_subset(self: psi4.core.Wavefunction, arg0: str) psi4.core.Matrix

Returns the Alpha Fock Matrix in the requested basis (AO,SO).

Fb(self: psi4.core.Wavefunction) psi4.core.Matrix

Returns the Beta Fock Matrix.

Fb_subset(self: psi4.core.Wavefunction, arg0: str) psi4.core.Matrix

Returns the Beta Fock Matrix in the requested basis (AO,SO).

H(self: psi4.core.Wavefunction) psi4.core.Matrix

Returns the ‘Core’ Matrix (Potential + Kinetic) Integrals.

PCM_enabled(self: psi4.core.Wavefunction) bool

Whether running a PCM calculation

S(self: psi4.core.Wavefunction) psi4.core.Matrix

Returns the One-electron Overlap Matrix.

X()
alpha_orbital_space(self: psi4.core.Wavefunction, id: str, basis: str, subset: str) psi4.core.OrbitalSpace

Creates OrbitalSpace with information about the requested alpha orbital space.

Parameters
  • id – Unique name for the orbital space.

  • basis – {‘SO’, ‘AO’} Should the subspace be of symmetry orbitals or atomic orbitals?

  • subset – {ALL, ACTIVE, FROZEN, OCC, VIR, FROZEN_OCC, ACTIVE_OCC, ACTIVE_VIR, FROZEN_VIR} Which subspace of orbitals should be returned?

Returns

Information on subset alpha orbitals.

Return type

OrbitalSpace

aotoso(self: psi4.core.Wavefunction) psi4.core.Matrix

Returns the Atomic Orbital to Symmetry Orbital transformer.

array_variable(self: psi4.core.Wavefunction, arg0: str) psi4.core.Matrix

Returns copy of the requested (case-insensitive) Matrix QC variable.

array_variables(self: psi4.core.Wavefunction) Dict[str, psi4.core.Matrix]

Returns the dictionary of all Matrix QC variables.

arrays()

Deprecated since version 1.4: Use psi4.core.Wavefunction.variables() instead.

atomic_point_charges(self: psi4.core.Wavefunction) psi4.core.Vector

Returns the set atomic point charges.

basis_projection(self: psi4.core.Wavefunction, arg0: psi4.core.Matrix, arg1: psi4.core.Dimension, arg2: psi4.core.BasisSet, arg3: psi4.core.BasisSet) psi4.core.Matrix

Projects a orbital matrix from one basis to another.

basisset(self: psi4.core.Wavefunction) psi4.core.BasisSet

Returns the current orbital basis.

beta_orbital_space(self: psi4.core.Wavefunction, arg0: str, arg1: str, arg2: str) psi4.core.OrbitalSpace

docstring

static build(mol, basis=None, *, quiet=False)
Parameters

quiet (bool) –

c1_deep_copy(self: psi4.core.Wavefunction, basis: psi4.core.BasisSet) psi4.core.Wavefunction

Returns a new wavefunction with internal data converted to \(C_1\) symmetry, using pre-c1-constructed basis

compute_energy(self: psi4.core.Wavefunction) float

Computes the energy of the Wavefunction.

compute_gradient(self: psi4.core.Wavefunction) psi4.core.Matrix

Computes the gradient of the Wavefunction

compute_hessian(self: psi4.core.Wavefunction) psi4.core.Matrix

Computes the Hessian of the Wavefunction.

deep_copy(self: psi4.core.Wavefunction, arg0: psi4.core.Wavefunction) None

Deep copies the internal data.

del_array_variable(self: psi4.core.Wavefunction, arg0: str) int

Removes the requested (case-insensitive) Matrix QC variable.

del_potential_variable(self: psi4.core.Wavefunction, arg0: str) int

Removes the requested (case-insensitive) ExternalPotential QC variable. (This function is provisional and might be removed in the future.)

del_scalar_variable(self: psi4.core.Wavefunction, arg0: str) int

Removes the requested (case-insensitive) double QC variable.

del_variable(key)

Removes scalar or array QCVariable key from cls if present.

Return type

None

Parameters
density_fitted(self: psi4.core.Wavefunction) bool

Returns whether this wavefunction was obtained using density fitting or not.

doccpi(self: psi4.core.Wavefunction) psi4.core.Dimension

Returns the number of doubly occupied orbitals per irrep.

efzc(self: psi4.core.Wavefunction) float

Returns the frozen-core energy

energy(self: psi4.core.Wavefunction) float

Returns the Wavefunction’s energy.

epsilon_a(self: psi4.core.Wavefunction) psi4.core.Vector

Returns the Alpha Eigenvalues.

epsilon_a_subset(self: psi4.core.Wavefunction, basis: str, subset: str) psi4.core.Vector

Returns the requested Alpha orbital energies subset.

Parameters
  • basis – {‘AO’, ‘SO’, ‘MO’} MO or SO select for Pitzer-ordering the return vector in the full computational point group symmetry. AO selects for Pitzer-ordering the return vector without point group symmetry.

  • subset – {‘ALL’, ‘ACTIVE’, ‘FROZEN’, ‘OCC’, ‘VIR’, ‘FROZEN_OCC’, ‘ACTIVE_OCC’, ‘ACTIVE_VIR’, ‘FROZEN_VIR’} Which subspace of orbital energies should be returned?

Returns

A Pitzer-ordered vector of the orbitals.

Return type

Vector

epsilon_b(self: psi4.core.Wavefunction) psi4.core.Vector

Returns the Beta Eigenvalues.

epsilon_b_subset(self: psi4.core.Wavefunction, basis: str, subset: str) psi4.core.Vector

Returns the requested Beta orbital energies subset.

Parameters
  • basis – {‘AO’, ‘SO’, ‘MO’} MO or SO select for Pitzer-ordering the return vector in the full computational point group symmetry. AO selects for Pitzer-ordering the return vector without point group symmetry.

  • subset – {‘ALL’, ‘ACTIVE’, ‘FROZEN’, ‘OCC’, ‘VIR’, ‘FROZEN_OCC’, ‘ACTIVE_OCC’, ‘ACTIVE_VIR’, ‘FROZEN_VIR’} Which subspace of orbital energies should be returned?

Returns

A Pitzer-ordered vector of the orbitals.

Return type

Vector

esp_at_nuclei(self: psi4.core.Wavefunction) psi4.core.Vector

returns electrostatic potentials at nuclei

external_pot(self: psi4.core.Wavefunction) psi4.core.ExternalPotential

Gets the requested external potential.

force_doccpi(self: psi4.core.Wavefunction, arg0: psi4.core.Dimension) None

Specialized expert use only. Sets the number of doubly occupied oribtals per irrep. Note that this results in inconsistent Wavefunction objects for SCF, so caution is advised.

force_soccpi(self: psi4.core.Wavefunction, arg0: psi4.core.Dimension) None

Specialized expert use only. Sets the number of singly occupied oribtals per irrep. Note that this results in inconsistent Wavefunction objects for SCF, so caution is advised.

frequencies()
static from_file(wfn_data)

Build Wavefunction from data.

Parameters

wfn_data (Union[str, Dict, Path]) – If a dict, use data directly. Otherwise, path-like passed to numpy.load() to read from disk.

Returns

A deserialized Wavefunction object

Return type

Wavefunction

frzcpi(self: psi4.core.Wavefunction) psi4.core.Dimension

Returns the number of frozen core orbitals per irrep.

frzvpi(self: psi4.core.Wavefunction) psi4.core.Dimension

Returns the number of frozen virtual orbitals per irrep.

get_array(key)

Deprecated since version 1.4: Use psi4.core.Wavefunction.variable() instead.

get_basisset(self: psi4.core.Wavefunction, arg0: str) psi4.core.BasisSet

Returns the requested auxiliary basis.

get_density(self: psi4.core.Wavefunction, arg0: str) psi4.core.Matrix

Experimental!

get_dipole_field_strength(self: psi4.core.Wavefunction) List[float[3]]

Returns a vector of length 3, containing the x, y, and z dipole field strengths.

get_print(self: psi4.core.Wavefunction) int

Get the print level of the Wavefunction.

get_scratch_filename(filenumber)

Given a wavefunction and a scratch file number, canonicalizes the name so that files can be consistently written and read

get_variable(key)

Deprecated since version 1.4: Use psi4.core.Wavefunction.variable() instead.

gradient(self: psi4.core.Wavefunction) psi4.core.Matrix

Returns the Wavefunction’s gradient.

has_array_variable(self: psi4.core.Wavefunction, arg0: str) bool

Is the Matrix QC variable (case-insensitive) set?

has_potential_variable(self: psi4.core.Wavefunction, arg0: str) bool

Is the ExternalPotential QC variable (case-insensitive) set? (This function is provisional and might be removed in the future.)

has_scalar_variable(self: psi4.core.Wavefunction, arg0: str) bool

Is the double QC variable (case-insensitive) set?

has_variable(key)

Whether scalar or array QCVariable key has been set on self psi4.core.Wavefunction.

Return type

bool

Parameters
hessian(self: psi4.core.Wavefunction) psi4.core.Matrix

Returns the Wavefunction’s Hessian.

lagrangian(self: psi4.core.Wavefunction) psi4.core.Matrix

Returns the Lagrangian Matrix.

legacy_frequencies()

Deprecated since version 1.4.

mintshelper(self: psi4.core.Wavefunction) psi4.core.MintsHelper

Returns the current MintsHelper object.

mo_extents(self: psi4.core.Wavefunction) List[psi4.core.Vector]

returns the wavefunction’s electronic orbital extents.

module(self: psi4.core.Wavefunction) str

Name of the last/highest level of theory module (internal or external) touching the wavefunction.

molecule(self: psi4.core.Wavefunction) psi4.core.Molecule

Returns the Wavefunction’s molecule.

nalpha(self: psi4.core.Wavefunction) int

Number of Alpha electrons.

nalphapi(self: psi4.core.Wavefunction) psi4.core.Dimension

Returns the number of alpha orbitals per irrep.

name(self: psi4.core.Wavefunction) str

The level of theory this wavefunction corresponds to.

nbeta(self: psi4.core.Wavefunction) int

Number of Beta electrons.

nbetapi(self: psi4.core.Wavefunction) psi4.core.Dimension

Returns the number of beta orbitals per irrep.

nfrzc(self: psi4.core.Wavefunction) int

Number of frozen core electrons.

nirrep(self: psi4.core.Wavefunction) int

Number of irreps in the system.

nmo(self: psi4.core.Wavefunction) int

Number of molecule orbitals.

nmopi(self: psi4.core.Wavefunction) psi4.core.Dimension

Returns the number of molecular orbitals per irrep.

no_occupations(self: psi4.core.Wavefunction) List[List[Tuple[float, int, int]]]

returns the natural orbital occupations on the wavefunction.

nso(self: psi4.core.Wavefunction) int

Number of symmetry orbitals.

nsopi(self: psi4.core.Wavefunction) psi4.core.Dimension

Returns the number of symmetry orbitals per irrep.

options(self: psi4.core.Wavefunction) psi::Options

Returns the Wavefunction’s options object

potential_variable(self: psi4.core.Wavefunction, key: str) psi4.core.ExternalPotential

Returns copy of the requested (case-insensitive) ExternalPotential QC variable key. (This function is provisional and might be removed in the future.)

potential_variables(self: psi4.core.Wavefunction) Dict[str, psi4.core.ExternalPotential]

Returns the dictionary of all ExternalPotential QC variables. (This function is provisional and might be removed in the future.)

reference_wavefunction(self: psi4.core.Wavefunction) psi4.core.Wavefunction

Returns the reference wavefunction.

same_a_b_dens(self: psi4.core.Wavefunction) bool

Returns true if the alpha and beta densities are the same.

same_a_b_orbs(self: psi4.core.Wavefunction) bool

Returns true if the alpha and beta orbitals are the same.

scalar_variable(self: psi4.core.Wavefunction, arg0: str) float

Returns the requested (case-insensitive) double QC variable.

scalar_variables(self: psi4.core.Wavefunction) Dict[str, float]

Returns the dictionary of all double QC variables.

set_array(key, val)

Deprecated since version 1.4: Use psi4.core.Wavefunction.set_variable() instead.

set_array_variable(self: psi4.core.Wavefunction, arg0: str, arg1: psi4.core.Matrix) None

Sets the requested (case-insensitive) Matrix QC variable. Syncs with Wavefunction.gradient_ or hessian_ if CURRENT GRADIENT or HESSIAN.

set_basisset(self: psi4.core.Wavefunction, arg0: str, arg1: psi4.core.BasisSet) None

Sets the requested auxiliary basis.

set_energy(self: psi4.core.Wavefunction, arg0: float) None

Sets the Wavefunction’s energy. Syncs with Wavefunction’s QC variable CURRENT ENERGY.

set_external_potential(self: psi4.core.Wavefunction, arg0: psi4.core.ExternalPotential) None

Sets the requested external potential.

set_frequencies(val)

Deprecated since version 1.4.

set_gradient(self: psi4.core.Wavefunction, arg0: psi4.core.Matrix) None

Sets the Wavefunction’s gradient. Syncs with Wavefunction’s QC variable CURRENT GRADIENT.

set_hessian(self: psi4.core.Wavefunction, arg0: psi4.core.Matrix) None

Sets the Wavefunction’s Hessian. Syncs with Wavefunction’s QC variable CURRENT HESSIAN.

set_lagrangian(self: psi4.core.Wavefunction, arg0: psi4.core.Matrix) None

Sets the orbital Lagrangian matrix.

set_legacy_frequencies(self: psi4.core.Wavefunction, arg0: psi4.core.Vector) None

Sets the frequencies of the Hessian.

set_module(self: psi4.core.Wavefunction, module: str) None

Sets name of the last/highest level of theory module (internal or external) touching the wavefunction.

set_name(self: psi4.core.Wavefunction, arg0: str) None

Sets the level of theory this wavefunction corresponds to.

set_potential_variable(self: psi4.core.Wavefunction, arg0: str, arg1: psi4.core.ExternalPotential) None

Sets the requested (case-insensitive) ExternalPotential QC variable. (This function is provisional and might be removed in the future.)

set_print(self: psi4.core.Wavefunction, arg0: int) None

Sets the print level of the Wavefunction.

set_reference_wavefunction(self: psi4.core.Wavefunction, arg0: psi4.core.Wavefunction) None

docstring

set_scalar_variable(self: psi4.core.Wavefunction, arg0: str, arg1: float) None

Sets the requested (case-insensitive) double QC variable. Syncs with Wavefunction.energy_ if CURRENT ENERGY.

set_variable(key, val)

Sets scalar or array QCVariable key to val on cls.

Return type

None

Parameters
shallow_copy(self: psi4.core.Wavefunction, arg0: psi4.core.Wavefunction) None

Copies the pointers to the internal data.

sobasisset(self: psi4.core.Wavefunction) psi4.core.SOBasisSet

Returns the symmetry orbitals basis.

soccpi(self: psi4.core.Wavefunction) psi4.core.Dimension

Returns the number of singly occupied orbitals per irrep.

to_file(filename=None)

Converts a Wavefunction object to a base class

Parameters
  • wfn (Wavefunction) – A Wavefunction or inherited class

  • filename (Optional[str]) – An optional filename to write the data to

Returns

A dictionary and NumPy representation of the Wavefunction.

Return type

dict

variable(key)

Return copy of scalar or array QCVariable key from self psi4.core.Wavefunction.

Returns

Scalar variables are returned as floats. Array variables not naturally 2D (like multipoles) are returned as numpy.ndarray of natural dimensionality. Other array variables are returned as Matrix and may have an extra dimension with symmetry information.

Return type

float or numpy.ndarray or Matrix

Parameters

Example

>>> g, wfn = psi4.gradient("hf/cc-pvdz", return_wfn=True)
>>> wfn.variable("CURRENT ENERGY")
-100.00985995185668
>>> wfn.variable("CURRENT DIPOLE")
array([ 0.        ,  0.        , -0.83217802])
>>> wfn.variable("CURRENT GRADIENT")
<psi4.core.Matrix object at 0x12d884fc0>
>>> wfn.variable("CURRENT GRADIENT").np
array([[ 6.16297582e-33,  6.16297582e-33, -9.41037138e-02],
       [-6.16297582e-33, -6.16297582e-33,  9.41037138e-02]])
variables(include_deprecated_keys=False)

Return all scalar or array QCVariables from cls.

Return type

Dict[str, Union[float, Matrix, ndarray]]

Parameters

include_deprecated_keys (bool) –

write_molden(filename=None, do_virtual=None, use_natural=False)

Function to write wavefunction information in wfn to filename in molden format. Will write natural orbitals from density (MO basis) if supplied. Warning! Most post-SCF Wavefunctions do not build the density as this is often much more costly than the energy. In addition, the Wavefunction density attributes (Da and Db) return the SO density and must be transformed to the MO basis to use with this function.

New in version 0.5: wfn parameter passed explicitly

Returns

None

Parameters
  • filename (string) – destination file name for MOLDEN file (optional)

  • do_virtual (bool) – do write all the MOs to the MOLDEN file (true) or discard the unoccupied MOs, not valid for NO’s (false) (optional)

  • use_natural (bool) – write natural orbitals determined from density on wavefunction

Examples

  1. Molden file with the Kohn-Sham orbitals of a DFT calculation.

    >>> E, wfn = energy('b3lyp', return_wfn=True)
    >>> wfn.molden('mycalc.molden')
    
  2. Molden file with the natural orbitals of a CCSD computation. For correlated methods, an energy call will not compute the density. “properties” or “gradient” must be called.

    >>> E, wfn = properties('ccsd', return_wfn=True)
    >>> wfn.molden('ccsd_no.molden', use_natural=True)
    
  3. To supply a custom density matrix, manually set the Da and Db of the wavefunction. This is used, for example, to write natural orbitals coming from a root computed by a CIWavefunction computation, e.g., detci, fci, casscf.` The first two arguments of get_opdm can be set to n, n where n => 0 selects the root to write out, provided these roots were computed, see NUM_ROOTS. The third argument controls the spin ("A", "B" or "SUM") and the final boolean option determines whether inactive orbitals are included.

    >>> E, wfn = energy('detci', return_wfn=True)
    >>> wfn.Da() = wfn.get_opdm(0, 0, "A", True)
    >>> wfn.Db() = wfn.get_opdm(0, 0, "B", True)
    >>> molden(wfn, 'no_root1.molden', use_natural=True)
    
write_nbo(name)