Skip to main content

AlgebraIdentity

Trait AlgebraIdentity 

Source
pub trait AlgebraIdentity<F: PrimeCharacteristicRing>: BasedVectorSpace<F> {
    // Required method
    fn algebra_id() -> Vec<u8> ⓘ;
}
Expand description

Compiler-independent identity of an algebra’s ordered coefficient basis over F.

Together with the coefficient field identity and dimension, these bytes must uniquely identify the defining relations and the ordered basis used by BasedVectorSpace. Different polynomials or basis orderings require different identifiers, even for isomorphic fields. Use an unambiguous, versioned encoding; Rust type names, memory layouts, and compiler-dependent encodings are forbidden. Changing this identity changes Fiat-Shamir transcripts.

Required Methods§

Source

fn algebra_id() -> Vec<u8> ⓘ

Return the stable, unambiguous identifier of the defining relations and basis.

Dyn Compatibility§

This trait is not dyn compatible.

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

Implementors§