Skip to main content

SpatialUnitaryTransformable

Trait SpatialUnitaryTransformable 

Source
pub trait SpatialUnitaryTransformable: Clone {
    // Required method
    fn transform_spatial_mut(
        &mut self,
        rmat: &Array2<f64>,
        perm: Option<&Permutation<usize>>,
    ) -> Result<&mut Self, TransformationError>;

    // Provided method
    fn transform_spatial(
        &self,
        rmat: &Array2<f64>,
        perm: Option<&Permutation<usize>>,
    ) -> Result<Self, TransformationError> { ... }
}
Expand description

Trait for spatial unitary transformation. A spatial unitary transformation also permutes off-origin sites.

Required Methods§

Source

fn transform_spatial_mut( &mut self, rmat: &Array2<f64>, perm: Option<&Permutation<usize>>, ) -> Result<&mut Self, TransformationError>

Performs a spatial transformation in-place.

§Arguments
  • rmat - The three-dimensional representation matrix of the transformation in the basis of coordinate functions $(y, z, x)$.
  • perm - An optional permutation describing how any off-origin sites are permuted amongst each other under the transformation.

Provided Methods§

Source

fn transform_spatial( &self, rmat: &Array2<f64>, perm: Option<&Permutation<usize>>, ) -> Result<Self, TransformationError>

Performs a spatial transformation and returns the transformed result.

§Arguments
  • rmat - The three-dimensional representation matrix of the transformation in the basis of coordinate functions $(y, z, x)$.
§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> SpatialUnitaryTransformable for MultiDeterminant<'a, T, B, SC>

Source§

impl<'a, T, B, SC> SpatialUnitaryTransformable for MultiDeterminants<'a, T, B, SC>

Source§

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

Source§

impl<'a, T> SpatialUnitaryTransformable for Density<'a, T>
where T: ComplexFloat + LinalgScalar + ScalarOperand + Copy + Lapack, f64: Into<T>,

Source§

impl<'a, T> SpatialUnitaryTransformable for MolecularOrbital<'a, T, SpinConstraint>
where T: ComplexFloat + LinalgScalar + ScalarOperand + Copy + Lapack, f64: Into<T>,

Source§

impl<'a, T> SpatialUnitaryTransformable for MolecularOrbital<'a, T, SpinOrbitCoupled>
where T: ComplexFloat + LinalgScalar + ScalarOperand + Copy + Lapack, f64: Into<T>,

Source§

impl<'a, T> SpatialUnitaryTransformable for SlaterDeterminant<'a, T, SpinConstraint>
where T: ComplexFloat + LinalgScalar + ScalarOperand + Copy + Lapack, f64: Into<T>,

Source§

impl<'a, T> SpatialUnitaryTransformable for SlaterDeterminant<'a, T, SpinOrbitCoupled>
where T: ComplexFloat + Lapack,

Source§

impl<'a, T> SpatialUnitaryTransformable for VibrationalCoordinate<'a, T>
where T: ComplexFloat + LinalgScalar + ScalarOperand + Copy + Lapack, f64: Into<T>,

Source§

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

Source§

impl<I> SpatialUnitaryTransformable for EagerBasis<I>

Source§

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

Source§

impl<T> SpatialUnitaryTransformable for AxialVector3<T>
where T: ComplexFloat + LinalgScalar + ScalarOperand + Copy + Lapack, f64: Into<T>,