pub trait SpinUnitaryTransformable: Clone {
    // Required method
    fn transform_spin_mut(
        &mut self,
        dmat: &Array2<Complex<f64>>,
    ) -> Result<&mut Self, TransformationError>;

    // Provided method
    fn transform_spin(
        &self,
        dmat: &Array2<Complex<f64>>,
    ) -> Result<Self, TransformationError> { ... }
}
Expand description

Trait for spin unitary transformations. A spin unitary transformation has no spatial effects.

Required Methods§

source

fn transform_spin_mut( &mut self, dmat: &Array2<Complex<f64>>, ) -> Result<&mut Self, TransformationError>

Performs a spin transformation in-place.

§Arguments
  • dmat - The two-dimensional representation matrix of the transformation in the basis of the $\{ \alpha, \beta \}$ spinors (i.e. decreasing $m$ order).

Provided Methods§

source

fn transform_spin( &self, dmat: &Array2<Complex<f64>>, ) -> Result<Self, TransformationError>

Performs a spin transformation and returns the transformed result.

§Arguments
  • dmat - The two-dimensional representation matrix of the transformation in the basis of the $\{ \alpha, \beta \}$ spinors (i.e. decreasing $m$ order).
§Returns

The transformed result.

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<'a> SpinUnitaryTransformable for SlaterDeterminant<'a, f64>

source§

impl<'a> SpinUnitaryTransformable for MolecularOrbital<'a, f64>

source§

impl<'a, T> SpinUnitaryTransformable for Density<'a, T>
where T: ComplexFloat + Lapack,

source§

impl<'a, T> SpinUnitaryTransformable for SlaterDeterminant<'a, Complex<T>>
where T: Clone, Complex<T>: ComplexFloat<Real = T> + LinalgScalar + ScalarOperand + Lapack + Mul<Complex<T>, Output = Complex<T>> + Mul<Complex<f64>, Output = Complex<T>>,

source§

impl<'a, T> SpinUnitaryTransformable for MolecularOrbital<'a, Complex<T>>
where T: Clone, Complex<T>: ComplexFloat<Real = T> + LinalgScalar + ScalarOperand + Lapack + Mul<Complex<T>, Output = Complex<T>> + Mul<Complex<f64>, Output = Complex<T>>,

source§

impl<'a, T> SpinUnitaryTransformable for VibrationalCoordinate<'a, T>
where T: ComplexFloat + Lapack,

source§

impl<T> SpinUnitaryTransformable for AxialVector3<T>
where T: ComplexFloat + Lapack,

source§

impl<T, F> SpinUnitaryTransformable for RealSpaceFunction<T, F>
where T: ComplexFloat + Lapack, F: Clone + Fn(&Point3<f64>) -> T,