Class PolynomialRing<E>
java.lang.Object
org.episteme.core.mathematics.algebra.rings.PolynomialRing<E>
- All Implemented Interfaces:
AbelianGroup<PolynomialRing.Polynomial<E>>, AbelianMonoid<PolynomialRing.Polynomial<E>>, Group<PolynomialRing.Polynomial<E>>, Magma<PolynomialRing.Polynomial<E>>, Monoid<PolynomialRing.Polynomial<E>>, Ring<PolynomialRing.Polynomial<E>>, Semiring<PolynomialRing.Polynomial<E>>, Set<PolynomialRing.Polynomial<E>>
Represents a Polynomial Ring R[x] over a ring R.
Elements are polynomials with coefficients in R.
- Since:
- 1.0
- Author:
- Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classRepresents a polynomial P(x) = sum(a_i * x^i). -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionReturns the sum of two elements (additive notation).booleancontains(PolynomialRing.Polynomial<E> element) Tests whether this set contains the specified element.Returns a human-readable description of this set.inverse(PolynomialRing.Polynomial<E> element) Returns the inverse of the given element.booleanAbelian groups are always commutative by definition.booleanisEmpty()Returnstrueif this set contains no elements.booleanTests whether multiplication is commutative in this semiring.Returns the product of two elements.negate(PolynomialRing.Polynomial<E> element) Returns the additive inverse (negation) of an element.one()Returns the multiplicative identity (one element).operate(PolynomialRing.Polynomial<E> left, PolynomialRing.Polynomial<E> right) Performs the binary operation on two elements.zero()Returns the additive identity (zero element).Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface AbelianGroup
subtractMethods inherited from interface AbelianMonoid
identityMethods inherited from interface Monoid
isAssociative
-
Constructor Details
-
PolynomialRing
-
-
Method Details
-
getCoefficientRing
-
operate
public PolynomialRing.Polynomial<E> operate(PolynomialRing.Polynomial<E> left, PolynomialRing.Polynomial<E> right) Description copied from interface:MagmaPerforms the binary operation on two elements.This is the fundamental operation of a magma. The result must be an element of this magma (closure property).
Properties: None required (not necessarily associative or commutative)
-
add
public PolynomialRing.Polynomial<E> add(PolynomialRing.Polynomial<E> a, PolynomialRing.Polynomial<E> b) Description copied from interface:AbelianMonoidReturns the sum of two elements (additive notation).Delegates to
Magma.operate(Object, Object).- Specified by:
addin interfaceAbelianMonoid<E>- Parameters:
a- the first addendb- the second addend- Returns:
- a + b
-
zero
Description copied from interface:AbelianMonoidReturns the additive identity (zero element).Delegates to
AbelianMonoid.identity().- Specified by:
zeroin interfaceAbelianMonoid<E>- Returns:
- the zero element
-
negate
Description copied from interface:AbelianGroupReturns the additive inverse (negation) of an element.Satisfies: a + (-a) = (-a) + a = 0
- Specified by:
negatein interfaceAbelianGroup<E>- Parameters:
element- the element to negate- Returns:
- -element
- See Also:
-
inverse
Description copied from interface:GroupReturns the inverse of the given element.For element a, returns a⻹ such that: a ∗ a⻹ = a⻹ ∗ a = e (identity).
-
multiply
public PolynomialRing.Polynomial<E> multiply(PolynomialRing.Polynomial<E> a, PolynomialRing.Polynomial<E> b) Description copied from interface:SemiringReturns the product of two elements.Multiplication must be associative and distribute over addition.
-
one
-
isCommutative
public boolean isCommutative()Description copied from interface:AbelianGroupAbelian groups are always commutative by definition.- Specified by:
isCommutativein interfaceAbelianGroup<E>- Specified by:
isCommutativein interfaceAbelianMonoid<E>- Specified by:
isCommutativein interfaceGroup<E>- Specified by:
isCommutativein interfaceMagma<E>- Returns:
- always
true
-
isMultiplicationCommutative
public boolean isMultiplicationCommutative()Description copied from interface:SemiringTests whether multiplication is commutative in this semiring.- Specified by:
isMultiplicationCommutativein interfaceSemiring<E>- Returns:
trueif multiplication commutes
-
description
Description copied from interface:SetReturns a human-readable description of this set.Examples:
- "â„ (Real Numbers)"
- "ℤ/12ℤ (Integers modulo 12)"
- "{1, 2, 3, 4, 5}"
- Specified by:
descriptionin interfaceSet<E>- Returns:
- a description of this set
-
isEmpty
-
contains
Description copied from interface:SetTests whether this set contains the specified element.This is the fundamental operation of a set - membership testing.
-
create
-