Back to Eqiora docs Skip to main content

OrientedLinearOperator

Trait OrientedLinearOperator 

pub trait OrientedLinearOperator: LinearOperator {
    // Required methods
    fn supports_orientation(
        &self,
        orientation: LinearOperatorOrientation,
    ) -> bool;
    fn apply_oriented(
        &self,
        orientation: LinearOperatorOrientation,
        input: &[Self::Scalar],
        output: &mut [Self::Scalar],
    ) -> Result<(), Diagnostic>;
}
Description

Explicit availability and action of normal, transpose and conjugate transpose. A conjugate transpose uses the Euclidean pairing; no metric adjoint is implied.

Required Methods§

fn supports_orientation(&self, orientation: LinearOperatorOrientation) -> bool

Whether this exact action is available before numerical work begins.

fn apply_oriented( &self, orientation: LinearOperatorOrientation, input: &[Self::Scalar], output: &mut [Self::Scalar], ) -> Result<(), Diagnostic>

Apply the requested mathematical orientation.

§Errors

Rejects unavailable orientations, incompatible buffers and nonfinite arithmetic.

Implementors§