Class RecSolvableWordPolynomial<C extends RingElem<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>>>, Serializable, Comparable<GenPolynomial<GenWordPolynomial<C>>>, 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.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final booleanprivate static final org.apache.logging.log4j.Loggerfinal RecSolvableWordPolynomialRing<C> The factory for the recursive solvable polynomial ring.Fields inherited from class GenPolynomial
blen, hash, val -
Constructor Summary
ConstructorsModifierConstructorDescriptionConstructor for zero RecSolvableWordPolynomial.Constructor for RecSolvableWordPolynomial.RecSolvableWordPolynomial(RecSolvableWordPolynomialRing<C> r, GenSolvablePolynomial<GenWordPolynomial<C>> S) Constructor for RecSolvableWordPolynomial.Constructor for RecSolvableWordPolynomial.Constructor for RecSolvableWordPolynomial.protectedRecSolvableWordPolynomial(RecSolvableWordPolynomialRing<C> r, SortedMap<ExpVector, GenWordPolynomial<C>> v) Constructor for RecSolvableWordPolynomial. -
Method Summary
Modifier and TypeMethodDescriptioncopy()Clone this RecSolvableWordPolynomial.booleanComparison with any other object.factory()Get the corresponding element factory.inthashCode()Hash code for this polynomial.RecSolvableWordPolynomial multiplication.RecSolvableWordPolynomial left and right multiplication.multiply(GenWordPolynomial<C> b, ExpVector e) RecSolvableWordPolynomial multiplication.multiply(GenWordPolynomial<C> b, ExpVector e, GenWordPolynomial<C> c, ExpVector f) RecSolvableWordPolynomial left and right multiplication.multiply(GenWordPolynomial<C> b, GenWordPolynomial<C> c) RecSolvableWordPolynomial left and right multiplication.RecSolvableWordPolynomial multiplication.RecSolvableWordPolynomial left and right multiplication.RecSolvableWordPolynomial multiplication.RecSolvableWordPolynomial multiplication.RecSolvableWordPolynomial multiplication.multiplyLeft(GenWordPolynomial<C> b, ExpVector e) RecSolvableWordPolynomial multiplication.RecSolvableWordPolynomial multiplication.RecSolvableWordPolynomial multiplication.protected RecSolvableWordPolynomial<C> RecSolvableWordPolynomial multiplication.Methods inherited from class GenSolvablePolynomial
divide, evalAsRightRecursivePolynomial, isRightRecursivePolynomial, leftMonic, monic, multiply, multiply, multiply, quotientRemainder, remainder, rightDivide, rightMonic, rightQuotientRemainder, rightRecursivePolynomial, rightRemainder, scaleSubtractMultiple, scaleSubtractMultiple, scaleSubtractMultiple, subtractMultiple, subtractMultipleMethods inherited from class 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, mapWrong, 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, weightDegreeMethods inherited from interface MonoidElem
leftDivide, leftRemainder, power, rightDivide, rightRemainder, twosidedDivide, twosidedRemainder
-
Field Details
-
ring
The factory for the recursive solvable polynomial ring. Hides super.ring. -
logger
private static final org.apache.logging.log4j.Logger logger -
debug
private static final boolean debug
-
-
Constructor Details
-
RecSolvableWordPolynomial
Constructor for zero RecSolvableWordPolynomial.- Parameters:
r- solvable polynomial ring factory.
-
RecSolvableWordPolynomial
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
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, SortedMap<ExpVector, GenWordPolynomial<C>> v) Constructor for RecSolvableWordPolynomial.- Parameters:
r- solvable polynomial ring factory.v- the SortedMap of some other (solvable) polynomial.
-
-
Method Details
-
factory
Get the corresponding element factory. -
copy
Clone this RecSolvableWordPolynomial. -
equals
-
hashCode
-
multiply
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
RecSolvableWordPolynomial multiplication. Product with coefficient ring element.- Parameters:
b- coefficient polynomial.- Returns:
- this*b, where * is coefficient multiplication.
-
multiply
RecSolvableWordPolynomial left and right multiplication. Product with coefficient ring element.- Overrides:
multiplyin classGenSolvablePolynomial<GenWordPolynomial<C extends RingElem<C>>>- Parameters:
b- coefficient polynomial.c- coefficient polynomial.- Returns:
- b*this*c, where * is coefficient multiplication.
-
multiply
RecSolvableWordPolynomial multiplication. Product with exponent vector.- Overrides:
multiplyin classGenSolvablePolynomial<GenWordPolynomial<C extends RingElem<C>>>- Parameters:
e- exponent.- Returns:
- this * xe, where * denotes solvable multiplication.
-
multiply
RecSolvableWordPolynomial left and right multiplication. Product with exponent vector.- Overrides:
multiplyin classGenSolvablePolynomial<GenWordPolynomial<C extends RingElem<C>>>- Parameters:
e- exponent.f- exponent.- Returns:
- xe * this * xf, where * denotes solvable multiplication.
-
multiply
RecSolvableWordPolynomial multiplication. Product with ring element and exponent vector.- Overrides:
multiplyin 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:
multiplyin 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
RecSolvableWordPolynomial multiplication. Left product with ring element and exponent vector.- Overrides:
multiplyLeftin classGenSolvablePolynomial<GenWordPolynomial<C extends RingElem<C>>>- Parameters:
b- coefficient polynomial.e- exponent.- Returns:
- b xe * this, where * denotes solvable multiplication.
-
multiplyLeft
RecSolvableWordPolynomial multiplication. Left product with exponent vector.- Overrides:
multiplyLeftin classGenSolvablePolynomial<GenWordPolynomial<C extends RingElem<C>>>- Parameters:
e- exponent.- Returns:
- xe * this, where * denotes solvable multiplication.
-
multiplyLeft
RecSolvableWordPolynomial multiplication. Left product with coefficient ring element.- Overrides:
multiplyLeftin classGenSolvablePolynomial<GenWordPolynomial<C extends RingElem<C>>>- Parameters:
b- coefficient polynomial.- Returns:
- b*this, where * is coefficient multiplication.
-
multiplyLeft
RecSolvableWordPolynomial multiplication. Left product with 'monomial'.- Overrides:
multiplyLeftin classGenSolvablePolynomial<GenWordPolynomial<C extends RingElem<C>>>- Parameters:
m- 'monomial'.- Returns:
- m * this, where * denotes solvable multiplication.
-
multiply
RecSolvableWordPolynomial multiplication. Product with 'monomial'.- Overrides:
multiplyin classGenSolvablePolynomial<GenWordPolynomial<C extends RingElem<C>>>- Parameters:
m- 'monomial'.- Returns:
- this * m, where * denotes solvable multiplication.
-
shift
RecSolvableWordPolynomial multiplication. Commutative product with exponent vector.- Parameters:
f- exponent vector.- Returns:
- B*f, where * is commutative multiplication.
-