Package edu.jas.poly
Class RecSolvableWordPolynomial<C extends RingElem<C>>
- java.lang.Object
-
- edu.jas.poly.GenPolynomial<C>
-
- edu.jas.poly.GenSolvablePolynomial<GenWordPolynomial<C>>
-
- edu.jas.poly.RecSolvableWordPolynomial<C>
-
- Type Parameters:
C
- base coefficient type
- All Implemented Interfaces:
AbelianGroupElem<GenPolynomial<GenWordPolynomial<C>>>
,Element<GenPolynomial<GenWordPolynomial<C>>>
,MonoidElem<GenPolynomial<GenWordPolynomial<C>>>
,RingElem<GenPolynomial<GenWordPolynomial<C>>>
,java.io.Serializable
,java.lang.Comparable<GenPolynomial<GenWordPolynomial<C>>>
,java.lang.Iterable<Monomial<GenWordPolynomial<C>>>
public class RecSolvableWordPolynomial<C extends RingElem<C>> extends GenSolvablePolynomial<GenWordPolynomial<C>>
RecSolvableWordPolynomial generic recursive solvable polynomials implementing RingElem. n-variate ordered solvable polynomials over non-commutative word polynomial coefficients. Objects of this class are intended to be immutable. The implementation is based on TreeMap respectively SortedMap from exponents to coefficients by extension of GenPolynomial.- Author:
- Heinz Kredel
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description RecSolvableWordPolynomialRing<C>
ring
The factory for the recursive solvable polynomial ring.-
Fields inherited from class edu.jas.poly.GenPolynomial
blen, hash, val
-
-
Constructor Summary
Constructors Modifier Constructor Description RecSolvableWordPolynomial(RecSolvableWordPolynomialRing<C> r)
Constructor for zero RecSolvableWordPolynomial.RecSolvableWordPolynomial(RecSolvableWordPolynomialRing<C> r, ExpVector e)
Constructor for RecSolvableWordPolynomial.RecSolvableWordPolynomial(RecSolvableWordPolynomialRing<C> r, GenSolvablePolynomial<GenWordPolynomial<C>> S)
Constructor for RecSolvableWordPolynomial.RecSolvableWordPolynomial(RecSolvableWordPolynomialRing<C> r, GenWordPolynomial<C> c)
Constructor for RecSolvableWordPolynomial.RecSolvableWordPolynomial(RecSolvableWordPolynomialRing<C> r, GenWordPolynomial<C> c, ExpVector e)
Constructor for RecSolvableWordPolynomial.protected
RecSolvableWordPolynomial(RecSolvableWordPolynomialRing<C> r, java.util.SortedMap<ExpVector,GenWordPolynomial<C>> v)
Constructor for RecSolvableWordPolynomial.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description RecSolvableWordPolynomial<C>
copy()
Clone this RecSolvableWordPolynomial.boolean
equals(java.lang.Object B)
Comparison with any other object.RecSolvableWordPolynomialRing<C>
factory()
Get the corresponding element factory.int
hashCode()
Hash code for this polynomial.RecSolvableWordPolynomial<C>
multiply(ExpVector e)
RecSolvableWordPolynomial multiplication.RecSolvableWordPolynomial<C>
multiply(ExpVector e, ExpVector f)
RecSolvableWordPolynomial left and right multiplication.RecSolvableWordPolynomial<C>
multiply(GenWordPolynomial<C> b, ExpVector e)
RecSolvableWordPolynomial multiplication.RecSolvableWordPolynomial<C>
multiply(GenWordPolynomial<C> b, ExpVector e, GenWordPolynomial<C> c, ExpVector f)
RecSolvableWordPolynomial left and right multiplication.RecSolvableWordPolynomial<C>
multiply(GenWordPolynomial<C> b, GenWordPolynomial<C> c)
RecSolvableWordPolynomial left and right multiplication.RecSolvableWordPolynomial<C>
multiply(RecSolvableWordPolynomial<C> Bp)
RecSolvableWordPolynomial multiplication.RecSolvableWordPolynomial<C>
multiply(RecSolvableWordPolynomial<C> S, RecSolvableWordPolynomial<C> T)
RecSolvableWordPolynomial left and right multiplication.RecSolvableWordPolynomial<C>
multiply(java.util.Map.Entry<ExpVector,GenWordPolynomial<C>> m)
RecSolvableWordPolynomial multiplication.RecSolvableWordPolynomial<C>
multiplyLeft(ExpVector e)
RecSolvableWordPolynomial multiplication.RecSolvableWordPolynomial<C>
multiplyLeft(GenWordPolynomial<C> b)
RecSolvableWordPolynomial multiplication.RecSolvableWordPolynomial<C>
multiplyLeft(GenWordPolynomial<C> b, ExpVector e)
RecSolvableWordPolynomial multiplication.RecSolvableWordPolynomial<C>
multiplyLeft(java.util.Map.Entry<ExpVector,GenWordPolynomial<C>> m)
RecSolvableWordPolynomial multiplication.RecSolvableWordPolynomial<C>
recMultiply(GenWordPolynomial<C> b)
RecSolvableWordPolynomial multiplication.protected RecSolvableWordPolynomial<C>
shift(ExpVector f)
RecSolvableWordPolynomial multiplication.-
Methods inherited from class edu.jas.poly.GenSolvablePolynomial
divide, evalAsRightRecursivePolynomial, isRightRecursivePolynomial, leftMonic, monic, multiply, multiply, multiply, quotientRemainder, remainder, rightDivide, rightMonic, rightQuotientRemainder, rightRecursivePolynomial, rightRemainder, scaleSubtractMultiple, scaleSubtractMultiple, scaleSubtractMultiple, subtractMultiple, subtractMultiple
-
Methods inherited from class edu.jas.poly.GenPolynomial
abs, bitLength, coefficient, coefficientIterator, coeffPrimitivePart, compareTo, contract, contractCoeff, degree, degree, degreeMin, degreeVector, deHomogenize, deltaExpVectors, deltaExpVectors, divide, divide, doAddTo, doAddTo, doAddTo, doPutToMap, doPutToMap, doRemoveFromMap, egcd, exponentIterator, extend, extendLower, extendUnivariate, gcd, getMap, hegcd, homogenize, inflate, inverse, isConstant, isHomogeneous, isONE, isUnit, isWeightHomogeneous, isZERO, iterator, leadingBaseCoefficient, leadingExpVector, leadingFacetPolynomial, leadingMonomial, leadingWeightPolynomial, leftDivideCoeff, length, map, mapOnStream, mapOnStream, maxNorm, modInverse, monicRight, multiply, negate, negateAlt, numberOfVariables, quotientRemainder, reductum, remainder, reverse, rightDivideCoeff, rightGcd, scaleSubtractMultiple, scaleSubtractMultiple, scaleSubtractMultiple, signum, spliterator, squareNorm, subtract, subtract, subtract, subtract, subtractMultiple, subtractMultiple, sum, sum, sum, sum, sumNorm, toScript, toScriptFactory, toString, toString, totalDegree, trailingBaseCoefficient, trailingExpVector, weightDegree
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface edu.jas.structure.MonoidElem
leftDivide, leftRemainder, power, rightDivide, rightRemainder, twosidedDivide, twosidedRemainder
-
-
-
-
Field Detail
-
ring
public final RecSolvableWordPolynomialRing<C extends RingElem<C>> ring
The factory for the recursive solvable polynomial ring. Hides super.ring.
-
-
Constructor Detail
-
RecSolvableWordPolynomial
public RecSolvableWordPolynomial(RecSolvableWordPolynomialRing<C> r)
Constructor for zero RecSolvableWordPolynomial.- Parameters:
r
- solvable polynomial ring factory.
-
RecSolvableWordPolynomial
public RecSolvableWordPolynomial(RecSolvableWordPolynomialRing<C> r, ExpVector e)
Constructor for RecSolvableWordPolynomial.- Parameters:
r
- solvable polynomial ring factory.e
- exponent.
-
RecSolvableWordPolynomial
public RecSolvableWordPolynomial(RecSolvableWordPolynomialRing<C> r, GenWordPolynomial<C> c, ExpVector e)
Constructor for RecSolvableWordPolynomial.- Parameters:
r
- solvable polynomial ring factory.c
- coefficient polynomial.e
- exponent.
-
RecSolvableWordPolynomial
public RecSolvableWordPolynomial(RecSolvableWordPolynomialRing<C> r, GenWordPolynomial<C> c)
Constructor for RecSolvableWordPolynomial.- Parameters:
r
- solvable polynomial ring factory.c
- coefficient polynomial.
-
RecSolvableWordPolynomial
public RecSolvableWordPolynomial(RecSolvableWordPolynomialRing<C> r, GenSolvablePolynomial<GenWordPolynomial<C>> S)
Constructor for RecSolvableWordPolynomial.- Parameters:
r
- solvable polynomial ring factory.S
- solvable polynomial.
-
RecSolvableWordPolynomial
protected RecSolvableWordPolynomial(RecSolvableWordPolynomialRing<C> r, java.util.SortedMap<ExpVector,GenWordPolynomial<C>> v)
Constructor for RecSolvableWordPolynomial.- Parameters:
r
- solvable polynomial ring factory.v
- the SortedMap of some other (solvable) polynomial.
-
-
Method Detail
-
factory
public RecSolvableWordPolynomialRing<C> factory()
Get the corresponding element factory.- Specified by:
factory
in interfaceElement<C extends RingElem<C>>
- Overrides:
factory
in classGenSolvablePolynomial<GenWordPolynomial<C extends RingElem<C>>>
- Returns:
- factory for this Element.
- See Also:
Element.factory()
-
copy
public RecSolvableWordPolynomial<C> copy()
Clone this RecSolvableWordPolynomial.
-
equals
public boolean equals(java.lang.Object B)
Comparison with any other object.
-
hashCode
public int hashCode()
Hash code for this polynomial.
-
multiply
public RecSolvableWordPolynomial<C> multiply(RecSolvableWordPolynomial<C> Bp)
RecSolvableWordPolynomial multiplication.- Parameters:
Bp
- RecSolvableWordPolynomial.- Returns:
- this*Bp, where * denotes solvable multiplication.
-
multiply
public RecSolvableWordPolynomial<C> multiply(RecSolvableWordPolynomial<C> S, RecSolvableWordPolynomial<C> T)
RecSolvableWordPolynomial left and right multiplication. Product with two polynomials.- Parameters:
S
- RecSolvableWordPolynomial.T
- RecSolvableWordPolynomial.- Returns:
- S*this*T.
-
recMultiply
public RecSolvableWordPolynomial<C> recMultiply(GenWordPolynomial<C> b)
RecSolvableWordPolynomial multiplication. Product with coefficient ring element.- Parameters:
b
- coefficient polynomial.- Returns:
- this*b, where * is coefficient multiplication.
-
multiply
public RecSolvableWordPolynomial<C> multiply(GenWordPolynomial<C> b, GenWordPolynomial<C> c)
RecSolvableWordPolynomial left and right multiplication. Product with coefficient ring element.- Overrides:
multiply
in classGenSolvablePolynomial<GenWordPolynomial<C extends RingElem<C>>>
- Parameters:
b
- coefficient polynomial.c
- coefficient polynomial.- Returns:
- b*this*c, where * is coefficient multiplication.
-
multiply
public RecSolvableWordPolynomial<C> multiply(ExpVector e)
RecSolvableWordPolynomial multiplication. Product with exponent vector.- Overrides:
multiply
in classGenSolvablePolynomial<GenWordPolynomial<C extends RingElem<C>>>
- Parameters:
e
- exponent.- Returns:
- this * xe, where * denotes solvable multiplication.
-
multiply
public RecSolvableWordPolynomial<C> multiply(ExpVector e, ExpVector f)
RecSolvableWordPolynomial left and right multiplication. Product with exponent vector.- Overrides:
multiply
in classGenSolvablePolynomial<GenWordPolynomial<C extends RingElem<C>>>
- Parameters:
e
- exponent.f
- exponent.- Returns:
- xe * this * xf, where * denotes solvable multiplication.
-
multiply
public RecSolvableWordPolynomial<C> multiply(GenWordPolynomial<C> b, ExpVector e)
RecSolvableWordPolynomial multiplication. Product with ring element and exponent vector.- Overrides:
multiply
in classGenSolvablePolynomial<GenWordPolynomial<C extends RingElem<C>>>
- Parameters:
b
- coefficient polynomial.e
- exponent.- Returns:
- this * b xe, where * denotes solvable multiplication.
-
multiply
public RecSolvableWordPolynomial<C> multiply(GenWordPolynomial<C> b, ExpVector e, GenWordPolynomial<C> c, ExpVector f)
RecSolvableWordPolynomial left and right multiplication. Product with ring element and exponent vector.- Overrides:
multiply
in classGenSolvablePolynomial<GenWordPolynomial<C extends RingElem<C>>>
- Parameters:
b
- coefficient polynomial.e
- exponent.c
- coefficient polynomial.f
- exponent.- Returns:
- b xe * this * c xf, where * denotes solvable multiplication.
-
multiplyLeft
public RecSolvableWordPolynomial<C> multiplyLeft(GenWordPolynomial<C> b, ExpVector e)
RecSolvableWordPolynomial multiplication. Left product with ring element and exponent vector.- Overrides:
multiplyLeft
in classGenSolvablePolynomial<GenWordPolynomial<C extends RingElem<C>>>
- Parameters:
b
- coefficient polynomial.e
- exponent.- Returns:
- b xe * this, where * denotes solvable multiplication.
-
multiplyLeft
public RecSolvableWordPolynomial<C> multiplyLeft(ExpVector e)
RecSolvableWordPolynomial multiplication. Left product with exponent vector.- Overrides:
multiplyLeft
in classGenSolvablePolynomial<GenWordPolynomial<C extends RingElem<C>>>
- Parameters:
e
- exponent.- Returns:
- xe * this, where * denotes solvable multiplication.
-
multiplyLeft
public RecSolvableWordPolynomial<C> multiplyLeft(GenWordPolynomial<C> b)
RecSolvableWordPolynomial multiplication. Left product with coefficient ring element.- Overrides:
multiplyLeft
in classGenSolvablePolynomial<GenWordPolynomial<C extends RingElem<C>>>
- Parameters:
b
- coefficient polynomial.- Returns:
- b*this, where * is coefficient multiplication.
-
multiplyLeft
public RecSolvableWordPolynomial<C> multiplyLeft(java.util.Map.Entry<ExpVector,GenWordPolynomial<C>> m)
RecSolvableWordPolynomial multiplication. Left product with 'monomial'.- Overrides:
multiplyLeft
in classGenSolvablePolynomial<GenWordPolynomial<C extends RingElem<C>>>
- Parameters:
m
- 'monomial'.- Returns:
- m * this, where * denotes solvable multiplication.
-
multiply
public RecSolvableWordPolynomial<C> multiply(java.util.Map.Entry<ExpVector,GenWordPolynomial<C>> m)
RecSolvableWordPolynomial multiplication. Product with 'monomial'.- Overrides:
multiply
in classGenSolvablePolynomial<GenWordPolynomial<C extends RingElem<C>>>
- Parameters:
m
- 'monomial'.- Returns:
- this * m, where * denotes solvable multiplication.
-
shift
protected RecSolvableWordPolynomial<C> shift(ExpVector f)
RecSolvableWordPolynomial multiplication. Commutative product with exponent vector.- Parameters:
f
- exponent vector.- Returns:
- B*f, where * is commutative multiplication.
-
-