TryInverseSignature

Trait TryInverseSignature 

Source
pub trait TryInverseSignature: IdentitySignature + CompositionSignature {
    // Required method
    fn try_inverse(&self, a: &Self::Set) -> Option<Self::Set>;
}
Expand description

When the solution to compose(x, a) = compose(a, x) = e for x given a is unique whenever it exists.

Required Methods§

Source

fn try_inverse(&self, a: &Self::Set) -> Option<Self::Set>

Return x such that compose(x, a) = compose(a, x) = e or None if no such x exists.

Note, whenever try_inverse returns Some, try_left_inverse and try_right_inverse must also return the same value. Also, whenever try_left_inverse and try_right_inverse both return a value, it must be the same value an try_inverse must also return that same value.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl TryInverseSignature for C2CanonicalStructure

Source§

impl TryInverseSignature for algebraeon_groups::permutation::PermutationCanonicalStructure

Source§

impl<const N: usize> TryInverseSignature for algebraeon_groups::examples::symmetric::PermutationCanonicalStructure<N>