forte2.state.mo_space#

Module Contents#

class forte2.state.mo_space.MOSpace#

A class to store the partitioning of the molecular orbital space.

Parameters:
nmoint

The total number of molecular orbitals.

active_orbitalslist[int] | list[list[int]]

A list of integers or a list of lists of integers storing the orbital indices of the GASes. If a single list of integers is provided, it is treated as the CAS (a single GAS).

core_orbitalslist[int], optional, default=[]

A list of integers storing the core orbital indices.

frozen_core_orbitalslist[int], optional, default=[]

A list of integers storing the frozen core orbital indices.

frozen_virtual_orbitalslist[int], optional, default=[]

A list of integers storing the frozen virtual orbital indices.

Attributes:
ngasint

The number of GASes (General Active Spaces) defined by the active_spaces.

nfrozen_core, ncore, nactv, nvirt, nfrozen_virtualint

The number of frozen core, core, active, virtual, and frozen virtual orbitals.

*_indiceslist[int]

Flattened lists of all orbital indices in the respective spaces.

orig_to_contignp.ndarray

An array that maps original orbital indices to contiguous indices. C_orig[:, orig_to_contig] gives the MOs that are organized as [frozen_core, core, gas1, gas2, …, virt, frozen_virtual].

contig_to_orignp.ndarray

An array that maps contiguous indices back to original orbital indices. C_contig[:, contig_to_orig] gives the original MOs.

frozen_core, core, actv, virt, frozen_virt, uoccslice

Slices for the different spaces in the contiguous space. actv returns the slice for the entire active space, including all GASes.

gaslist[slice]

A list of slices for each GAS in the contiguous space.

corrslice

Slice giving the correlated space, i.e., all orbitals that are not frozen.

core_corr, actv_corr, virt_corr: slice

Slices for the spaces relative to the correlated space.

gas_corrlist[slice]

A list of slices for each GAS in the correlated space.

nmo: int#
active_orbitals: list[int] | list[list[int]] = []#
core_orbitals: list[int] = []#
frozen_core_orbitals: list[int] = []#
frozen_virtual_orbitals: list[int] = []#
update_frozen_orbitals(frozen_core_orbitals: int | list[int] = None, frozen_virtual_orbitals: int | list[int] = None)#

Return a new MOSpace object with a new set of frozen core and virtual orbitals. These have to be a subset of the current core/virtual and frozen core/virtual orbitals.

Parameters:
frozen_core_orbitalsint | list[int]

A list of integers indicating the new frozen core orbital indices. If an integer is provided, the lowest frozen_core_orbitals orbitals will be frozen.

frozen_virtual_orbitalsint | list[int]

A list of integers indicating the new frozen virtual orbital indices. If an integer is provided, the highest frozen_virtual_orbitals orbitals will be frozen.

to_spinorbital_basis()#
class forte2.state.mo_space.EmbeddingMOSpace#

Simplified attribute list as this is only used for semicanonicalization.

nmo: int#
frozen_core_orbitals: list[int]#
B_core_orbitals: list[int]#
A_core_orbitals: list[int]#
active_orbitals: list[int]#
A_virtual_orbitals: list[int]#
B_virtual_orbitals: list[int]#
frozen_virtual_orbitals: list[int]#