pub struct PresentedModulePower<R: Ring> { /* private fields */ }Expand description
A canonical symmetric or exterior power presentation of a presented module.
This value owns a checked cokernel presentation, not quotient-element
normal forms. Exact arithmetic in super::ExteriorElement is therefore
admitted for based free modules only; presented-module power maps descend
through explicit commuting-square certificates without claiming equality
or normal forms for quotient elements.
Implementations§
Source§impl<R: Ring> PresentedModulePower<R>
impl<R: Ring> PresentedModulePower<R>
Sourcepub fn new(
source: PresentedModule<R>,
kind: ModulePowerKind,
degree: usize,
) -> Result<Self, ModulePowerError>
pub fn new( source: PresentedModule<R>, kind: ModulePowerKind, degree: usize, ) -> Result<Self, ModulePowerError>
Construct the standard quotient presentation of a module power.
Sourcepub fn source(&self) -> &PresentedModule<R>
pub fn source(&self) -> &PresentedModule<R>
Source presented module.
Sourcepub const fn kind(&self) -> ModulePowerKind
pub const fn kind(&self) -> ModulePowerKind
Symmetric or exterior construction.
Sourcepub fn module(&self) -> &PresentedModule<R>
pub fn module(&self) -> &PresentedModule<R>
Resulting finitely presented module.
Sourcepub fn verify(&self) -> Result<(), ModulePowerError>
pub fn verify(&self) -> Result<(), ModulePowerError>
Recompute the complete induced presentation.
Sourcepub fn to_json(&self) -> Result<String, NoetherError>
pub fn to_json(&self) -> Result<String, NoetherError>
Serialize the complete induced presentation.
Sourcepub fn from_json(value: &str) -> Result<Self, NoetherError>
pub fn from_json(value: &str) -> Result<Self, NoetherError>
Deserialize and independently revalidate the induced presentation.
Trait Implementations§
Source§impl<R: Clone + Ring> Clone for PresentedModulePower<R>
impl<R: Clone + Ring> Clone for PresentedModulePower<R>
Source§fn clone(&self) -> PresentedModulePower<R>
fn clone(&self) -> PresentedModulePower<R>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<R: Ring> Debug for PresentedModulePower<R>
impl<R: Ring> Debug for PresentedModulePower<R>
Source§impl<'de, R> Deserialize<'de> for PresentedModulePower<R>
impl<'de, R> Deserialize<'de> for PresentedModulePower<R>
Source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl<R: Ring> Display for PresentedModulePower<R>
impl<R: Ring> Display for PresentedModulePower<R>
Source§impl<R: Ring> SemanticType for PresentedModulePower<R>
impl<R: Ring> SemanticType for PresentedModulePower<R>
Source§const TYPE_ID: &'static str = "noether/homalg/PresentedModulePower@1"
const TYPE_ID: &'static str = "noether/homalg/PresentedModulePower@1"
Versioned, language-neutral semantic identity.
Source§fn canonical_bytes(&self) -> Result<Vec<u8>, NoetherError>
fn canonical_bytes(&self) -> Result<Vec<u8>, NoetherError>
Serialize without backend- or language-specific identity.
Source§fn describe() -> &'static TypeDescription
fn describe() -> &'static TypeDescription
Return static discovery metadata for the type.
Source§impl<R> Serialize for PresentedModulePower<R>
impl<R> Serialize for PresentedModulePower<R>
impl<R: Eq + Ring> Eq for PresentedModulePower<R>
impl<R: Ring> StructuralPartialEq for PresentedModulePower<R>
Auto Trait Implementations§
impl<R> Freeze for PresentedModulePower<R>
impl<R> RefUnwindSafe for PresentedModulePower<R>
impl<R> Send for PresentedModulePower<R>
impl<R> Sync for PresentedModulePower<R>
impl<R> Unpin for PresentedModulePower<R>
impl<R> UnwindSafe for PresentedModulePower<R>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more