pub trait BasisSymmetryOrbitMetric<G, T>: Basiswhere
G: SymmetryGroupProperties,
Self: SymmetryTransformable,{
// 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§
Sourcefn basis_symmetry_orbit_metric(
&self,
group: &G,
symmetry_transformation_kind: &SymmetryTransformationKind,
metric: Option<&Array2<T>>,
metric_h: Option<&Array2<T>>,
) -> Result<Array3<T>, Error>
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".