pub struct PresentedModulePowerHomomorphism<R: CommutativeRing> { /* private fields */ }Expand description
A checked map induced on symmetric or exterior powers of presented modules.
The relation lift is constructed as the tensor product of the original
relation lift with the preceding power of the generator lift. The returned
PresentedModuleHomomorphism rechecks the resulting commuting square, so
the map is admitted only when it provably descends to both cokernels.
Implementations§
Source§impl<R: CommutativeRing> PresentedModulePowerHomomorphism<R>
impl<R: CommutativeRing> PresentedModulePowerHomomorphism<R>
Sourcepub fn new(
source_map: PresentedModuleHomomorphism<R>,
kind: ModulePowerKind,
degree: usize,
) -> Result<Self, ModulePowerError>
pub fn new( source_map: PresentedModuleHomomorphism<R>, kind: ModulePowerKind, degree: usize, ) -> Result<Self, ModulePowerError>
Construct and verify the induced map between retained power presentations.
Sourcepub fn source_map(&self) -> &PresentedModuleHomomorphism<R>
pub fn source_map(&self) -> &PresentedModuleHomomorphism<R>
Original checked map of presented modules.
Sourcepub const fn kind(&self) -> ModulePowerKind
pub const fn kind(&self) -> ModulePowerKind
Symmetric or exterior construction.
Sourcepub fn source_power(&self) -> &PresentedModulePower<R>
pub fn source_power(&self) -> &PresentedModulePower<R>
Canonical power presentation of the source.
Sourcepub fn target_power(&self) -> &PresentedModulePower<R>
pub fn target_power(&self) -> &PresentedModulePower<R>
Canonical power presentation of the target.
Sourcepub fn induced(&self) -> &PresentedModuleHomomorphism<R>
pub fn induced(&self) -> &PresentedModuleHomomorphism<R>
Checked induced map between the two power presentations.
Sourcepub fn compose(&self, inner: &Self) -> Result<Self, ModulePowerError>
pub fn compose(&self, inner: &Self) -> Result<Self, ModulePowerError>
Compose two checked presented power maps of the same kind and degree.
Sourcepub fn verify(&self) -> Result<(), ModulePowerError>
pub fn verify(&self) -> Result<(), ModulePowerError>
Replay the construction and recheck the retained relation square.
Sourcepub fn to_json(&self) -> Result<String, NoetherError>
pub fn to_json(&self) -> Result<String, NoetherError>
Serialize the retained presentations and commuting-square evidence.
Sourcepub fn from_json(value: &str) -> Result<Self, NoetherError>
pub fn from_json(value: &str) -> Result<Self, NoetherError>
Deserialize and replay the complete presented power map.
Trait Implementations§
Source§impl<R: Clone + CommutativeRing> Clone for PresentedModulePowerHomomorphism<R>
impl<R: Clone + CommutativeRing> Clone for PresentedModulePowerHomomorphism<R>
Source§fn clone(&self) -> PresentedModulePowerHomomorphism<R>
fn clone(&self) -> PresentedModulePowerHomomorphism<R>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<R: CommutativeRing> Debug for PresentedModulePowerHomomorphism<R>
impl<R: CommutativeRing> Debug for PresentedModulePowerHomomorphism<R>
Source§impl<'de, R> Deserialize<'de> for PresentedModulePowerHomomorphism<R>
impl<'de, R> Deserialize<'de> for PresentedModulePowerHomomorphism<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>,
Source§impl<R: CommutativeRing> Display for PresentedModulePowerHomomorphism<R>
impl<R: CommutativeRing> Display for PresentedModulePowerHomomorphism<R>
Source§impl<R: PartialEq + CommutativeRing> PartialEq for PresentedModulePowerHomomorphism<R>
impl<R: PartialEq + CommutativeRing> PartialEq for PresentedModulePowerHomomorphism<R>
Source§fn eq(&self, other: &PresentedModulePowerHomomorphism<R>) -> bool
fn eq(&self, other: &PresentedModulePowerHomomorphism<R>) -> bool
self and other values to be equal, and is used by ==.Source§impl<R: CommutativeRing> SemanticType for PresentedModulePowerHomomorphism<R>
impl<R: CommutativeRing> SemanticType for PresentedModulePowerHomomorphism<R>
Source§const TYPE_ID: &'static str = "noether/homalg/PresentedModulePowerHomomorphism@1"
const TYPE_ID: &'static str = "noether/homalg/PresentedModulePowerHomomorphism@1"
Source§fn canonical_bytes(&self) -> Result<Vec<u8>, NoetherError>
fn canonical_bytes(&self) -> Result<Vec<u8>, NoetherError>
Source§fn describe() -> &'static TypeDescription
fn describe() -> &'static TypeDescription
Source§impl<R> Serialize for PresentedModulePowerHomomorphism<R>
impl<R> Serialize for PresentedModulePowerHomomorphism<R>
impl<R: Eq + CommutativeRing> Eq for PresentedModulePowerHomomorphism<R>
impl<R: CommutativeRing> StructuralPartialEq for PresentedModulePowerHomomorphism<R>
Auto Trait Implementations§
impl<R> Freeze for PresentedModulePowerHomomorphism<R>
impl<R> RefUnwindSafe for PresentedModulePowerHomomorphism<R>
impl<R> Send for PresentedModulePowerHomomorphism<R>
impl<R> Sync for PresentedModulePowerHomomorphism<R>
impl<R> Unpin for PresentedModulePowerHomomorphism<R>
impl<R> UnwindSafe for PresentedModulePowerHomomorphism<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
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>
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>
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