Skip to main content

BasisSymmetryOrbitMetric

Trait BasisSymmetryOrbitMetric 

Source
pub trait BasisSymmetryOrbitMetric<G, T>: Basis{
    // Required method
    fn basis_symmetry_orbit_metric(
        &self,
        group: &G,
        symmetry_transformation_kind: &SymmetryTransformationKind,
        metric: Option<&Array2<T>>,
        metric_h: Option<&Array2<T>>,
    ) -> Result<Array3<T>, Error>;
}
Expand description

Trait specifying the symmetry-orbit metric for bases of Slater determinants.

For a group $\mathcal{G}$, this metric is defined as

\braket{\hat{g} \mathbf{w} | \mathbf{x}}

where $g \in \mathcal{G}$, and $\mathbf{w}$ and $\mathbf{x}$ are members of the basis.

Required Methods§

Source

fn basis_symmetry_orbit_metric( &self, group: &G, symmetry_transformation_kind: &SymmetryTransformationKind, metric: Option<&Array2<T>>, metric_h: Option<&Array2<T>>, ) -> Result<Array3<T>, Error>

Computes the basis symmetry-orbit metric for this basis.

For a group $\mathcal{G}$, this metric is defined as

\braket{\hat{g} \mathbf{w} | \mathbf{x}}

where $g \in \mathcal{G}$, and $\mathbf{w}$ and $\mathbf{x}$ are members of the basis.

§Arguments
  • group - The group $\mathcal{G}$.
  • symmetry_transformation_kind - Enum specifying how the elements of $\mathcal{G}$ act on the elements of the basis.
  • metric - The atomic-orbital overlap matrix with respect to the conventional sesquilinear inner product.
  • metric_h - The atomic-orbital overlap matrix with respect to the bilinear inner product.
§Returns

The basis symmetry-orbit metric as a rank-3 array indexed by $g$, $\mathbf{w}$, and $\mathbf{x}$.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl<'a, G, T, SC> BasisSymmetryOrbitMetric<G, T> for FCIBasis<'a, T, SC>

Source§

impl<'g, G, I, T> BasisSymmetryOrbitMetric<G, T> for OrbitBasis<'g, G, I>

Source§

impl<G, I, T> BasisSymmetryOrbitMetric<G, T> for EagerBasis<I>