pub struct PolyGCDLocallyIntermediateReductionMap<'ring, 'data, 'local, R>where
R: 'ring + ?Sized + PolyGCDLocallyDomain,
'ring: 'data,{ /* private fields */ }unstable-enable only.Expand description
The map R/m^r -> R/m^e, where r > e and m is a maximal ideal factor of the
ideal I, as specified by PolyGCDLocallyDomain.
§Availability
This API is marked as unstable and is only available when the unstable-enable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.
Implementations§
Source§impl<'ring, 'data, 'local, R> PolyGCDLocallyIntermediateReductionMap<'ring, 'data, 'local, R>where
R: 'ring + ?Sized + PolyGCDLocallyDomain,
'ring: 'data,
impl<'ring, 'data, 'local, R> PolyGCDLocallyIntermediateReductionMap<'ring, 'data, 'local, R>where
R: 'ring + ?Sized + PolyGCDLocallyDomain,
'ring: 'data,
Sourcepub fn new(
ring: &'data R,
ideal: &'data R::SuitableIdeal<'ring>,
from: &'local R::LocalRing<'ring>,
from_e: usize,
to: &'local R::LocalRing<'ring>,
to_e: usize,
max_ideal_idx: usize,
) -> Self
pub fn new( ring: &'data R, ideal: &'data R::SuitableIdeal<'ring>, from: &'local R::LocalRing<'ring>, from_e: usize, to: &'local R::LocalRing<'ring>, to_e: usize, max_ideal_idx: usize, ) -> Self
§Availability
This API is marked as unstable and is only available when the unstable-enable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.
Sourcepub fn parent_ring<'a>(&'a self) -> RingRef<'a, R>
pub fn parent_ring<'a>(&'a self) -> RingRef<'a, R>
§Availability
This API is marked as unstable and is only available when the unstable-enable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.
Sourcepub fn from_e(&self) -> usize
pub fn from_e(&self) -> usize
§Availability
This API is marked as unstable and is only available when the unstable-enable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.
Sourcepub fn to_e(&self) -> usize
pub fn to_e(&self) -> usize
§Availability
This API is marked as unstable and is only available when the unstable-enable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.
Sourcepub fn ideal<'a>(&'a self) -> &'a R::SuitableIdeal<'ring>
pub fn ideal<'a>(&'a self) -> &'a R::SuitableIdeal<'ring>
§Availability
This API is marked as unstable and is only available when the unstable-enable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.
Sourcepub fn max_ideal_idx(&self) -> usize
pub fn max_ideal_idx(&self) -> usize
§Availability
This API is marked as unstable and is only available when the unstable-enable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.
Trait Implementations§
Source§impl<'ring, 'data, 'local, R> Homomorphism<<R as PolyGCDLocallyDomain>::LocalRingBase<'ring>, <R as PolyGCDLocallyDomain>::LocalRingBase<'ring>> for PolyGCDLocallyIntermediateReductionMap<'ring, 'data, 'local, R>where
R: 'ring + ?Sized + PolyGCDLocallyDomain,
'ring: 'data,
impl<'ring, 'data, 'local, R> Homomorphism<<R as PolyGCDLocallyDomain>::LocalRingBase<'ring>, <R as PolyGCDLocallyDomain>::LocalRingBase<'ring>> for PolyGCDLocallyIntermediateReductionMap<'ring, 'data, 'local, R>where
R: 'ring + ?Sized + PolyGCDLocallyDomain,
'ring: 'data,
Source§type CodomainStore = &'local <R as PolyGCDLocallyDomain>::LocalRing<'ring>
type CodomainStore = &'local <R as PolyGCDLocallyDomain>::LocalRing<'ring>
RingStore used by this object to store the codomain ring.Source§type DomainStore = &'local <R as PolyGCDLocallyDomain>::LocalRing<'ring>
type DomainStore = &'local <R as PolyGCDLocallyDomain>::LocalRing<'ring>
RingStore used by this object to store the domain ring.Source§fn codomain<'b>(&'b self) -> &'b Self::CodomainStore
fn codomain<'b>(&'b self) -> &'b Self::CodomainStore
Source§fn domain<'b>(&'b self) -> &'b Self::DomainStore
fn domain<'b>(&'b self) -> &'b Self::DomainStore
Source§fn map(
&self,
x: <R::LocalRingBase<'ring> as RingBase>::Element,
) -> <R::LocalRingBase<'ring> as RingBase>::Element
fn map( &self, x: <R::LocalRingBase<'ring> as RingBase>::Element, ) -> <R::LocalRingBase<'ring> as RingBase>::Element
Source§fn map_ref(&self, x: &Domain::Element) -> Codomain::Element
fn map_ref(&self, x: &Domain::Element) -> Codomain::Element
Source§fn mul_assign_map(&self, lhs: &mut Codomain::Element, rhs: Domain::Element)
fn mul_assign_map(&self, lhs: &mut Codomain::Element, rhs: Domain::Element)
Source§fn mul_assign_ref_map(&self, lhs: &mut Codomain::Element, rhs: &Domain::Element)
fn mul_assign_ref_map(&self, lhs: &mut Codomain::Element, rhs: &Domain::Element)
Source§fn mul_map(
&self,
lhs: Codomain::Element,
rhs: Domain::Element,
) -> Codomain::Element
fn mul_map( &self, lhs: Codomain::Element, rhs: Domain::Element, ) -> Codomain::Element
Source§fn fma_map(
&self,
lhs: &Codomain::Element,
rhs: &Domain::Element,
summand: Codomain::Element,
) -> Codomain::Element
fn fma_map( &self, lhs: &Codomain::Element, rhs: &Domain::Element, summand: Codomain::Element, ) -> Codomain::Element
lhs * rhs + summand, where rhs is mapped
into the ring via this homomorphism. Read moreSource§fn mul_ref_fst_map(
&self,
lhs: &Codomain::Element,
rhs: Domain::Element,
) -> Codomain::Element
fn mul_ref_fst_map( &self, lhs: &Codomain::Element, rhs: Domain::Element, ) -> Codomain::Element
Source§fn mul_ref_snd_map(
&self,
lhs: Codomain::Element,
rhs: &Domain::Element,
) -> Codomain::Element
fn mul_ref_snd_map( &self, lhs: Codomain::Element, rhs: &Domain::Element, ) -> Codomain::Element
Source§fn mul_ref_map(
&self,
lhs: &Codomain::Element,
rhs: &Domain::Element,
) -> Codomain::Element
fn mul_ref_map( &self, lhs: &Codomain::Element, rhs: &Domain::Element, ) -> Codomain::Element
Source§fn compose<F, PrevDomain: ?Sized + RingBase>(
self,
prev: F,
) -> ComposedHom<PrevDomain, Domain, Codomain, F, Self>where
Self: Sized,
F: Homomorphism<PrevDomain, Domain>,
fn compose<F, PrevDomain: ?Sized + RingBase>(
self,
prev: F,
) -> ComposedHom<PrevDomain, Domain, Codomain, F, Self>where
Self: Sized,
F: Homomorphism<PrevDomain, Domain>,
x -> self.map(prev.map(x)).Source§fn mul_assign_ref_map_through_hom<First: ?Sized + RingBase, H: Homomorphism<First, Domain>>(
&self,
lhs: &mut Codomain::Element,
rhs: &First::Element,
hom: H,
)
fn mul_assign_ref_map_through_hom<First: ?Sized + RingBase, H: Homomorphism<First, Domain>>( &self, lhs: &mut Codomain::Element, rhs: &First::Element, hom: H, )
Source§fn mul_assign_map_through_hom<First: ?Sized + RingBase, H: Homomorphism<First, Domain>>(
&self,
lhs: &mut Codomain::Element,
rhs: First::Element,
hom: H,
)
fn mul_assign_map_through_hom<First: ?Sized + RingBase, H: Homomorphism<First, Domain>>( &self, lhs: &mut Codomain::Element, rhs: First::Element, hom: H, )
Auto Trait Implementations§
impl<'ring, 'data, 'local, R> Freeze for PolyGCDLocallyIntermediateReductionMap<'ring, 'data, 'local, R>where
R: ?Sized,
impl<'ring, 'data, 'local, R> RefUnwindSafe for PolyGCDLocallyIntermediateReductionMap<'ring, 'data, 'local, R>where
<R as PolyGCDLocallyDomain>::SuitableIdeal<'ring>: RefUnwindSafe,
R: RefUnwindSafe + ?Sized,
<R as PolyGCDLocallyDomain>::LocalRing<'ring>: RefUnwindSafe,
impl<'ring, 'data, 'local, R> Send for PolyGCDLocallyIntermediateReductionMap<'ring, 'data, 'local, R>where
<R as PolyGCDLocallyDomain>::SuitableIdeal<'ring>: Sync,
R: Sync + ?Sized,
<R as PolyGCDLocallyDomain>::LocalRing<'ring>: Sync,
impl<'ring, 'data, 'local, R> Sync for PolyGCDLocallyIntermediateReductionMap<'ring, 'data, 'local, R>where
<R as PolyGCDLocallyDomain>::SuitableIdeal<'ring>: Sync,
R: Sync + ?Sized,
<R as PolyGCDLocallyDomain>::LocalRing<'ring>: Sync,
impl<'ring, 'data, 'local, R> Unpin for PolyGCDLocallyIntermediateReductionMap<'ring, 'data, 'local, R>where
R: ?Sized,
impl<'ring, 'data, 'local, R> UnsafeUnpin for PolyGCDLocallyIntermediateReductionMap<'ring, 'data, 'local, R>where
R: ?Sized,
impl<'ring, 'data, 'local, R> UnwindSafe for PolyGCDLocallyIntermediateReductionMap<'ring, 'data, 'local, R>where
<R as PolyGCDLocallyDomain>::SuitableIdeal<'ring>: RefUnwindSafe,
R: RefUnwindSafe + ?Sized,
<R as PolyGCDLocallyDomain>::LocalRing<'ring>: RefUnwindSafe,
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> 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