pub trait MultivariatePolyRingStore: RingStorewhere
Self::Type: MultivariatePolyRing,{
Show 15 methods
// Provided methods
fn indeterminate_len(&self) -> usize { ... }
fn indeterminate(&self, i: usize) -> El<Self> { ... }
fn monomial(
&self,
m: &Monomial<<Self::Type as MultivariatePolyRing>::MonomialVector>,
) -> El<Self> { ... }
fn mul_monomial(
&self,
el: &mut El<Self>,
m: &Monomial<<Self::Type as MultivariatePolyRing>::MonomialVector>,
) { ... }
fn specialize(&self, f: &El<Self>, var: usize, val: &El<Self>) -> El<Self> { ... }
fn appearing_variables(&self, f: &El<Self>) -> BTreeMap<usize, u16> { ... }
fn coefficient_at<'a>(
&'a self,
f: &'a El<Self>,
m: &Monomial<<Self::Type as MultivariatePolyRing>::MonomialVector>,
) -> &'a El<<Self::Type as RingExtension>::BaseRing> { ... }
fn terms<'a>(
&'a self,
f: &'a El<Self>,
) -> <Self::Type as MultivariatePolyRing>::TermsIterator<'a> { ... }
fn evaluate<R, V, H>(&self, f: &El<Self>, values: V, hom: &H) -> R::Element
where R: ?Sized + RingBase,
H: Homomorphism<<<Self::Type as RingExtension>::BaseRing as RingStore>::Type, R>,
V: VectorView<R::Element> { ... }
fn into_lifted_hom<P, H>(
self,
from: P,
hom: H,
) -> CoefficientHom<P, Self, H>
where P: MultivariatePolyRingStore,
P::Type: MultivariatePolyRing,
H: Homomorphism<<<P::Type as RingExtension>::BaseRing as RingStore>::Type, <<Self::Type as RingExtension>::BaseRing as RingStore>::Type> { ... }
fn lifted_hom<'a, P, H>(
&'a self,
from: P,
hom: H,
) -> CoefficientHom<P, &'a Self, H>
where P: MultivariatePolyRingStore,
P::Type: MultivariatePolyRing,
H: Homomorphism<<<P::Type as RingExtension>::BaseRing as RingStore>::Type, <<Self::Type as RingExtension>::BaseRing as RingStore>::Type> { ... }
fn from_terms<I>(&self, iter: I) -> El<Self>
where I: Iterator<Item = (El<<Self::Type as RingExtension>::BaseRing>, Monomial<<Self::Type as MultivariatePolyRing>::MonomialVector>)> { ... }
fn lm<'a, O>(
&'a self,
f: &'a El<Self>,
order: O,
) -> Option<&'a Monomial<<Self::Type as MultivariatePolyRing>::MonomialVector>>
where O: MonomialOrder { ... }
fn lt<'a, O>(
&'a self,
f: &'a El<Self>,
order: O,
) -> Option<(&'a El<<Self::Type as RingExtension>::BaseRing>, &'a Monomial<<Self::Type as MultivariatePolyRing>::MonomialVector>)>
where O: MonomialOrder { ... }
fn clone_monomial(
&self,
m: &Monomial<<Self::Type as MultivariatePolyRing>::MonomialVector>,
) -> Monomial<<Self::Type as MultivariatePolyRing>::MonomialVector> { ... }
}Provided Methods§
sourcefn indeterminate_len(&self) -> usize
fn indeterminate_len(&self) -> usize
sourcefn indeterminate(&self, i: usize) -> El<Self>
fn indeterminate(&self, i: usize) -> El<Self>
sourcefn monomial(
&self,
m: &Monomial<<Self::Type as MultivariatePolyRing>::MonomialVector>,
) -> El<Self>
fn monomial( &self, m: &Monomial<<Self::Type as MultivariatePolyRing>::MonomialVector>, ) -> El<Self>
sourcefn mul_monomial(
&self,
el: &mut El<Self>,
m: &Monomial<<Self::Type as MultivariatePolyRing>::MonomialVector>,
)
fn mul_monomial( &self, el: &mut El<Self>, m: &Monomial<<Self::Type as MultivariatePolyRing>::MonomialVector>, )
fn coefficient_at<'a>( &'a self, f: &'a El<Self>, m: &Monomial<<Self::Type as MultivariatePolyRing>::MonomialVector>, ) -> &'a El<<Self::Type as RingExtension>::BaseRing>
fn terms<'a>( &'a self, f: &'a El<Self>, ) -> <Self::Type as MultivariatePolyRing>::TermsIterator<'a>
fn evaluate<R, V, H>(&self, f: &El<Self>, values: V, hom: &H) -> R::Elementwhere
R: ?Sized + RingBase,
H: Homomorphism<<<Self::Type as RingExtension>::BaseRing as RingStore>::Type, R>,
V: VectorView<R::Element>,
fn into_lifted_hom<P, H>(self, from: P, hom: H) -> CoefficientHom<P, Self, H>where
P: MultivariatePolyRingStore,
P::Type: MultivariatePolyRing,
H: Homomorphism<<<P::Type as RingExtension>::BaseRing as RingStore>::Type, <<Self::Type as RingExtension>::BaseRing as RingStore>::Type>,
fn lifted_hom<'a, P, H>(
&'a self,
from: P,
hom: H,
) -> CoefficientHom<P, &'a Self, H>where
P: MultivariatePolyRingStore,
P::Type: MultivariatePolyRing,
H: Homomorphism<<<P::Type as RingExtension>::BaseRing as RingStore>::Type, <<Self::Type as RingExtension>::BaseRing as RingStore>::Type>,
fn from_terms<I>(&self, iter: I) -> El<Self>where
I: Iterator<Item = (El<<Self::Type as RingExtension>::BaseRing>, Monomial<<Self::Type as MultivariatePolyRing>::MonomialVector>)>,
fn lm<'a, O>(
&'a self,
f: &'a El<Self>,
order: O,
) -> Option<&'a Monomial<<Self::Type as MultivariatePolyRing>::MonomialVector>>where
O: MonomialOrder,
fn lt<'a, O>(
&'a self,
f: &'a El<Self>,
order: O,
) -> Option<(&'a El<<Self::Type as RingExtension>::BaseRing>, &'a Monomial<<Self::Type as MultivariatePolyRing>::MonomialVector>)>where
O: MonomialOrder,
fn clone_monomial( &self, m: &Monomial<<Self::Type as MultivariatePolyRing>::MonomialVector>, ) -> Monomial<<Self::Type as MultivariatePolyRing>::MonomialVector>
Object Safety§
This trait is not object safe.