Skip to main content

SpinUnitaryTransformable

Trait SpinUnitaryTransformable 

Source
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.

Dyn Compatibility§

This trait is not dyn compatible.

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

Implementors§

Source§

impl<'a, T, B, SC> SpinUnitaryTransformable for MultiDeterminant<'a, T, B, SC>
where T: ComplexFloat + Lapack, SC: StructureConstraint + Hash + Eq + Clone + Display, B: Basis<Item = SlaterDeterminant<'a, T, SC>> + SpinUnitaryTransformable + Clone,

Source§

impl<'a, T, B, SC> SpinUnitaryTransformable for MultiDeterminants<'a, T, B, SC>
where T: ComplexFloat + Lapack, SC: StructureConstraint + Hash + Eq + Clone + Display, B: Basis<Item = SlaterDeterminant<'a, T, SC>> + SpinUnitaryTransformable + Clone,

Source§

impl<'a, T, SC> SpinUnitaryTransformable for FCIBasis<'a, T, SC>

Source§

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

Source§

impl<'a, T> SpinUnitaryTransformable for MolecularOrbital<'a, Complex<T>, SpinConstraint>
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, T, SpinOrbitCoupled>
where T: ComplexFloat + LinalgScalar + ScalarOperand + Copy + Lapack, f64: Into<T>,

Source§

impl<'a, T> SpinUnitaryTransformable for SlaterDeterminant<'a, Complex<T>, SpinConstraint>
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 SlaterDeterminant<'a, T, SpinOrbitCoupled>
where T: ComplexFloat + Lapack,

Source§

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

Source§

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

Source§

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

Source§

impl<'g, G, I> SpinUnitaryTransformable for OrbitBasis<'g, G, I>

Source§

impl<I> SpinUnitaryTransformable for EagerBasis<I>

Source§

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

Source§

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