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, zero
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface dk.jonaslindstrom.ruffini.common.abstractions.AdditiveGroup
doubling, isZero, negate, scale, scale, subtract, sum
Methods inherited from interface dk.jonaslindstrom.ruffini.common.abstractions.CommutativeMonoid
add, add, add, zero
Methods inherited from interface dk.jonaslindstrom.ruffini.common.abstractions.EuclideanDomain
abs, divide, divideExact, divideExact, divides, mod, mod
Methods inherited from interface dk.jonaslindstrom.ruffini.common.abstractions.Monoid
identity, isIdentity, power
Methods 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:EuclideanDomain
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.- Specified by:
divide
in interfaceEuclideanDomain<E>
-
norm
Description copied from interface:EuclideanDomain
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)
.- Specified by:
norm
in interfaceEuclideanDomain<E>
-
toString
- Overrides:
toString
in classPolynomialRingOverRing<E>
-