[−][src]Struct abstalg::Polynomials
The ring of polynomials over a base ring or field where each element is represented as a vector whose last element, the leading coefficient (if any) must be non-zero. This means that the empty vector is the zero element, and every polynomial has a unique representation.
Implementations
impl<R: UnitaryRing> Polynomials<R>
[src]
pub fn new(base: R) -> Self
[src]
Creates a new ring of polynomials over the given ring. The ring cannot be trivial, that is one must be different from zero.
pub fn base(&self) -> &R
[src]
Returns the base ring from which this ring was created.
pub fn degree(&self, elem: &Vec<R::Elem>) -> Option<usize>
[src]
Returns the degree of the given polynomial. The zero polynomial has no degree.
pub fn leading_coef(&self, elem: &Vec<R::Elem>) -> Option<R::Elem>
[src]
Returns the leading coefficient of the given polynomial. The zero polynomial has no leading coefficient.
Trait Implementations
impl<R> Domain for Polynomials<R> where
R: UnitaryRing,
[src]
R: UnitaryRing,
type Elem = Vec<R::Elem>
The type of the elements of this domain.
fn contains(&self, elem: &Self::Elem) -> bool
[src]
impl<F> EuclideanDomain for Polynomials<F> where
F: Field,
[src]
F: Field,
fn quo_rem(
&self,
elem1: &Self::Elem,
elem2: &Self::Elem
) -> (Self::Elem, Self::Elem)
[src]
&self,
elem1: &Self::Elem,
elem2: &Self::Elem
) -> (Self::Elem, Self::Elem)
fn associate_repr(&self, elem: &Self::Elem) -> (Self::Elem, Self::Elem)
[src]
fn quo(&self, elem1: &Self::Elem, elem2: &Self::Elem) -> Self::Elem
[src]
fn rem(&self, elem1: &Self::Elem, elem2: &Self::Elem) -> Self::Elem
[src]
fn is_multiple_of(&self, elem1: &Self::Elem, elem2: &Self::Elem) -> bool
[src]
fn is_reduced(&self, elem1: &Self::Elem, elem2: &Self::Elem) -> bool
[src]
fn are_associates(&self, elem1: &Self::Elem, elem2: &Self::Elem) -> bool
[src]
fn is_unit(&self, elem: &Self::Elem) -> bool
[src]
fn gcd(&self, elem1: &Self::Elem, elem2: &Self::Elem) -> Self::Elem
[src]
fn lcm(&self, elem1: &Self::Elem, elem2: &Self::Elem) -> Self::Elem
[src]
fn extended_gcd(
&self,
elem1: &Self::Elem,
elem2: &Self::Elem
) -> (Self::Elem, Self::Elem, Self::Elem)
[src]
&self,
elem1: &Self::Elem,
elem2: &Self::Elem
) -> (Self::Elem, Self::Elem, Self::Elem)
fn are_relative_primes(&self, elem1: &Self::Elem, elem2: &Self::Elem) -> bool
[src]
impl<R> IntegralDomain for Polynomials<R> where
R: IntegralDomain,
[src]
R: IntegralDomain,
impl<R> UnitaryRing for Polynomials<R> where
R: UnitaryRing,
[src]
R: UnitaryRing,
fn zero(&self) -> Self::Elem
[src]
fn is_zero(&self, elem: &Self::Elem) -> bool
[src]
fn neg(&self, elem: &Self::Elem) -> Self::Elem
[src]
fn add(&self, elem1: &Self::Elem, elem2: &Self::Elem) -> Self::Elem
[src]
fn one(&self) -> Self::Elem
[src]
fn is_one(&self, elem: &Self::Elem) -> bool
[src]
fn mul(&self, elem1: &Self::Elem, elem2: &Self::Elem) -> Self::Elem
[src]
fn sub(&self, elem1: &Self::Elem, elem2: &Self::Elem) -> Self::Elem
[src]
Auto Trait Implementations
impl<R> RefUnwindSafe for Polynomials<R> where
R: RefUnwindSafe,
R: RefUnwindSafe,
impl<R> Send for Polynomials<R> where
R: Send,
R: Send,
impl<R> Sync for Polynomials<R> where
R: Sync,
R: Sync,
impl<R> Unpin for Polynomials<R> where
R: Unpin,
R: Unpin,
impl<R> UnwindSafe for Polynomials<R> where
R: UnwindSafe,
R: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,