Class PolynomialRing<E>
java.lang.Object
dk.jonaslindstrom.ruffini.polynomials.structures.PolynomialRingOverRing<E>
dk.jonaslindstrom.ruffini.polynomials.structures.PolynomialRing<E>
- All Implemented Interfaces:
AdditiveGroup<Polynomial<E>>,CommutativeMonoid<Polynomial<E>>,EuclideanDomain<Polynomial<E>>,Monoid<Polynomial<E>>,Ring<Polynomial<E>>,Semigroup<Polynomial<E>>,SemiRing<Polynomial<E>>,Set<Polynomial<E>>
- Direct Known Subclasses:
PolynomialRingKaratsuba
public class PolynomialRing<E>
extends PolynomialRingOverRing<E>
implements EuclideanDomain<Polynomial<E>>
This class implements the ring of polynomials K[x] over a field K.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionPair<Polynomial<E>,Polynomial<E>> divide(Polynomial<E> a, Polynomial<E> b) Returns a pair (q, r) such that a = qb + r and 0 ≤ f(r) < f(b) where f is the Euclidean function (seeEuclideanDomain.norm(E)for this domain.norm(Polynomial<E> a) The euclidean function is a multiplicative map that maps elements of the domain to the integers and is used in the division ofEuclideanDomain.divide(E, E).toString()Methods inherited from class dk.jonaslindstrom.ruffini.polynomials.structures.PolynomialRingOverRing
add, divisionWithRemainder, divisionWithRemainder, element, equals, getRing, identity, multiply, multiply, negate, toString, zeroMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface dk.jonaslindstrom.ruffini.common.abstractions.AdditiveGroup
doubling, isZero, negate, scale, scale, subtract, sumMethods inherited from interface dk.jonaslindstrom.ruffini.common.abstractions.CommutativeMonoid
add, add, add, zeroMethods inherited from interface dk.jonaslindstrom.ruffini.common.abstractions.EuclideanDomain
abs, divide, divideExact, divideExact, divides, mod, modMethods inherited from interface dk.jonaslindstrom.ruffini.common.abstractions.Monoid
identity, isIdentity, powerMethods inherited from interface dk.jonaslindstrom.ruffini.common.abstractions.Semigroup
multiply, multiply, multiply
-
Field Details
-
field
-
-
Constructor Details
-
PolynomialRing
-
-
Method Details
-
getBaseField
-
divide
Description copied from interface:EuclideanDomainReturns a pair (q, r) such that a = qb + r and 0 ≤ f(r) < f(b) where f is the Euclidean function (seeEuclideanDomain.norm(E)for this domain.- Specified by:
dividein interfaceEuclideanDomain<E>
-
norm
Description copied from interface:EuclideanDomainThe euclidean function is a multiplicative map that maps elements of the domain to the integers and is used in the division ofEuclideanDomain.divide(E, E).- Specified by:
normin interfaceEuclideanDomain<E>
-
toString
- Overrides:
toStringin classPolynomialRingOverRing<E>
-