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