Class GenExteriorPolynomialRing<C extends RingElem<C>>
java.lang.Object
edu.jas.poly.GenExteriorPolynomialRing<C>
- Type Parameters:
C- coefficient type
- All Implemented Interfaces:
AbelianGroupFactory<GenExteriorPolynomial<C>>, ElemFactory<GenExteriorPolynomial<C>>, MonoidFactory<GenExteriorPolynomial<C>>, RingFactory<GenExteriorPolynomial<C>>, Serializable
public final class GenExteriorPolynomialRing<C extends RingElem<C>>
extends Object
implements RingFactory<GenExteriorPolynomial<C>>
GenExteriorPolynomialRing generic antisymmetric polynomial factory
implementing RingFactory; Factory for antisymmetric polynomials (in fact
vectors) over C. Objects of this class are intended to be immutable. Only the
coefficients are modeled with generic types, the "exponents" are fixed to
IndexList. C can also be a non integral domain, e.g. a ModInteger, i.e. it
may contain zero divisors, since multiply() does check for zero coefficients
and index lists.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) final booleanFlag to enable if preemptive interrupt is checked.final RingFactory<C> The factory for the coefficients.private intIndicator if this ring is a field.final IndexFactoryThe factory for the IndexList.private static final org.apache.logging.log4j.LoggerLog4j logger object.final GenExteriorPolynomial<C> The constant polynomial 1 for this ring.(package private) static final RandomA default random sequence generator.final IndexListThe constant empty index lists exponent for this ring.final GenExteriorPolynomial<C> The constant polynomial 0 for this ring. -
Constructor Summary
ConstructorsConstructorDescriptionThe constructor creates a polynomial factory object.The constructor creates a polynomial factory object.The constructor creates a polynomial factory object with the default term order.GenExteriorPolynomialRing(RingFactory<C> cf, String s) The constructor creates a polynomial factory object.GenExteriorPolynomialRing(RingFactory<C> cf, String[] s) The constructor creates a polynomial factory object. -
Method Summary
Modifier and TypeMethodDescriptionCharacteristic of this ring.copy()Copy this factory.Copy polynomial c.Determinant form exterior polynomial / matrix.booleanComparison with any other object.fromInteger(long a) Get a (constant) GenExteriorPolynomial from a long value.Get a (constant) GenExteriorPolynomial from a BigInteger value.fromMatrix(GenMatrix<C> A) Get a list of GenExteriorPolynomials from a GenMatrix.Get a GenExteriorPolynomial from a univariate GenPolynomial.fromVector(GenVector<C> a) Get a GenExteriorPolynomial from a GenVector.Get a list of all generating elements.Get the generating elements excluding the generators for the coefficient ring.getIMAX()Get a GenExteriorPolynomial maximal index list element.getONE()Get the one element.Get the one element from the coefficients.getZERO()Get the zero element.Get the zero element from the coefficients.inthashCode()Hash code for this polynomial ring.booleanQuery if this ring is associative.booleanQuery if this ring is commutative.booleanisField()Query if this ring is a field.booleanisFinite()Is this structure finite or infinite.Parse a polynomial with the use of GenPolynomialTokenizer.Parse a polynomial with the use of GenExteriorPolynomialTokenizer.random(int n) Random polynomial.random(int k, int l, int d) Generate a random polynomial.Generate a random polynomial.Random polynomial.randomForm(int kl, int l, int k) Generate a random k-form polynomial.randomForm(int kl, int l, int k, Random rnd) Generate a random k-form polynomial.resultant(GenPolynomial<C> A, GenPolynomial<C> B) Resultant of two commutative polynaomials.toScript()Get a scripting compatible string representation.toString()Get the String representation.univariate(int i) Generate univariate polynomial in a given variable.Generate list of univariate polynomials in all variables.Get a (constant) GenExteriorPolynomial element from a coefficient value.Get a GenExteriorPolynomial from a coefficient and an ExpVector.Get a GenExteriorPolynomial from a coefficient and a IndexList.Get a GenExteriorPolynomial from an ExpVector.Get a GenExteriorPolynomial from a GenExteriorPolynomial with conformant index lists.valueOf(GenPolynomial<C> a) Get a GenExteriorPolynomial from a multivariate GenPolynomial, terms with exponents > 1 are set to zero.Get a GenExteriorPolynomial element from a index list.valueOf(List<GenPolynomial<C>> A) Get a list of GenExteriorPolynomials from a list of GenPolynomials.Methods inherited from interface ElemFactory
valueOf
-
Field Details
-
coFac
The factory for the coefficients. -
ixfac
The factory for the IndexList. -
ZERO
The constant polynomial 0 for this ring. -
ONE
The constant polynomial 1 for this ring. -
wone
The constant empty index lists exponent for this ring. -
random
A default random sequence generator. -
isField
private int isFieldIndicator if this ring is a field. -
logger
private static final org.apache.logging.log4j.Logger loggerLog4j logger object. -
checkPreempt
final boolean checkPreemptFlag to enable if preemptive interrupt is checked.
-
-
Constructor Details
-
GenExteriorPolynomialRing
The constructor creates a polynomial factory object with the default term order.- Parameters:
cf- factory for coefficients of type C.wf- factory for index list.
-
GenExteriorPolynomialRing
The constructor creates a polynomial factory object.- Parameters:
cf- factory for coefficients of type C.s- array of variable names.
-
GenExteriorPolynomialRing
The constructor creates a polynomial factory object.- Parameters:
cf- factory for coefficients of type C.s- string of single letter variable names.
-
GenExteriorPolynomialRing
The constructor creates a polynomial factory object.- Parameters:
cf- factory for coefficients of type C.o- other polynomial ring.
-
GenExteriorPolynomialRing
The constructor creates a polynomial factory object.- Parameters:
fac- polynomial ring.
-
-
Method Details
-
copy
-
toString
-
toScript
-
equals
-
hashCode
-
getZEROCoefficient
-
getONECoefficient
-
getZERO
Get the zero element.- Specified by:
getZEROin interfaceAbelianGroupFactory<C extends RingElem<C>>- Returns:
- 0 as GenExteriorPolynomial
.
-
getONE
Get the one element.- Specified by:
getONEin interfaceMonoidFactory<C extends RingElem<C>>- Returns:
- 1 as GenExteriorPolynomial
.
-
isCommutative
public boolean isCommutative()Query if this ring is commutative.- Specified by:
isCommutativein interfaceMonoidFactory<C extends RingElem<C>>- Returns:
- true if this ring is commutative, else false.
-
isAssociative
public boolean isAssociative()Query if this ring is associative.- Specified by:
isAssociativein interfaceMonoidFactory<C extends RingElem<C>>- Returns:
- true if this ring is associative, else false.
-
isFinite
public boolean isFinite()Is this structure finite or infinite.- Specified by:
isFinitein interfaceElemFactory<C extends RingElem<C>>- Returns:
- true if this structure is finite, else false.
- See Also:
-
isField
public boolean isField()Query if this ring is a field.- Specified by:
isFieldin interfaceRingFactory<C extends RingElem<C>>- Returns:
- false.
-
characteristic
Characteristic of this ring.- Specified by:
characteristicin interfaceRingFactory<C extends RingElem<C>>- Returns:
- characteristic of this ring.
-
valueOf
Get a (constant) GenExteriorPolynomial element from a coefficient value.- Parameters:
a- coefficient.- Returns:
- a constant GenExteriorPolynomial.
-
valueOf
Get a GenExteriorPolynomial element from a index list.- Parameters:
e- index list.- Returns:
- a GenExteriorPolynomial.
-
valueOf
Get a GenExteriorPolynomial from an ExpVector.- Parameters:
e- exponent vector.- Returns:
- a GenExteriorPolynomial, if exponents are > 1 return ZERO.
-
valueOf
Get a GenExteriorPolynomial from a coefficient and a IndexList.- Parameters:
a- coefficient.e- word.- Returns:
- a GenExteriorPolynomial.
-
valueOf
Get a GenExteriorPolynomial from a coefficient and an ExpVector.- Parameters:
a- coefficient.e- exponent vector.- Returns:
- a GenExteriorPolynomial, if exponents are > 1 return ZERO.
-
valueOf
Get a GenExteriorPolynomial from a multivariate GenPolynomial, terms with exponents > 1 are set to zero.- Parameters:
a- multivariate GenPolynomial.- Returns:
- multivariate a GenExteriorPolynomial.
-
valueOf
Get a GenExteriorPolynomial from a GenExteriorPolynomial with conformant index lists.- Parameters:
a- GenExteriorPolynomial.- Returns:
- a GenExteriorPolynomial with conformant index lists.
-
valueOf
Get a list of GenExteriorPolynomials from a list of GenPolynomials.- Parameters:
A- GenPolynomial list.- Returns:
- a GenExteriorPolynomial list.
-
getIMAX
Get a GenExteriorPolynomial maximal index list element.- Returns:
- a GenExteriorPolynomial with maximal index list.
-
fromInteger
Get a (constant) GenExteriorPolynomial from a long value.- Specified by:
fromIntegerin interfaceElemFactory<C extends RingElem<C>>- Parameters:
a- long.- Returns:
- a GenExteriorPolynomial.
-
fromInteger
Get a (constant) GenExteriorPolynomial from a BigInteger value.- Specified by:
fromIntegerin interfaceElemFactory<C extends RingElem<C>>- Parameters:
a- BigInteger.- Returns:
- a GenExteriorPolynomial<C>.
-
fromVector
Get a GenExteriorPolynomial from a GenVector.- Parameters:
a- GenVector.- Returns:
- a GenExteriorPolynomial.
-
fromMatrix
Get a list of GenExteriorPolynomials from a GenMatrix.- Parameters:
A- GenMatrix- Returns:
- a list of GenExteriorPolynomials.
-
determinant
Determinant form exterior polynomial / matrix.- Parameters:
A- list of GenExteriorPolynomials- Returns:
- determinant of 'matrix' A.
-
fromPolynomial
Get a GenExteriorPolynomial from a univariate GenPolynomial. Different exponents are converted to different indexes.- Parameters:
a- univariate GenPolynomial.- Returns:
- a multivariate GenExteriorPolynomial.
-
resultant
Resultant of two commutative polynaomials.- Parameters:
A- GenPolynomialB- GenPolynomial- Returns:
- res(A,B).
-
random
Random polynomial. Generates a random polynomial.- Specified by:
randomin interfaceElemFactory<C extends RingElem<C>>- Parameters:
n- number of terms.- Returns:
- a random polynomial.
-
random
Random polynomial. Generates a random polynomial with k = 5, l = n, d = 3.- Specified by:
randomin interfaceElemFactory<C extends RingElem<C>>- Parameters:
n- number of terms.rnd- is a source for random bits.- Returns:
- a random polynomial.
-
random
Generate a random polynomial.- Parameters:
k- bitsize of random coefficients.l- number of terms.d- maximal length of a random word.- Returns:
- a random polynomial.
-
random
Generate a random polynomial.- Parameters:
k- bitsize of random coefficients.l- number of terms.d- maximal length of a random word.rnd- is a source for random bits.- Returns:
- a random polynomial.
-
randomForm
Generate a random k-form polynomial.- Parameters:
kl- bitsize of random coefficients.l- number of terms.k- length of any random word.- Returns:
- a random k-form polynomial.
-
randomForm
Generate a random k-form polynomial.- Parameters:
kl- bitsize of random coefficients.l- number of terms.k- length of any random word.rnd- is a source for random bits.- Returns:
- a random k-form polynomial.
-
copy
Copy polynomial c.- Specified by:
copyin interfaceElemFactory<C extends RingElem<C>>- Parameters:
c- polynomial to copy.- Returns:
- a copy of c.
-
parse
Parse a polynomial with the use of GenExteriorPolynomialTokenizer.- Specified by:
parsein interfaceElemFactory<C extends RingElem<C>>- Parameters:
s- String.- Returns:
- GenExteriorPolynomial from s.
-
parse
Parse a polynomial with the use of GenPolynomialTokenizer.- Specified by:
parsein interfaceElemFactory<C extends RingElem<C>>- Parameters:
r- Reader.- Returns:
- next GenExteriorPolynomial from r.
-
univariate
Generate univariate polynomial in a given variable.- Parameters:
i- the index of the variable.- Returns:
- X_i as univariate polynomial.
-
univariateList
Generate list of univariate polynomials in all variables.- Returns:
- List(X_1,...,X_n) a list of univariate polynomials.
-
getGenerators
Get the generating elements excluding the generators for the coefficient ring.- Returns:
- a list of generating elements for this ring.
-
generators
Get a list of all generating elements.- Specified by:
generatorsin interfaceElemFactory<C extends RingElem<C>>- Returns:
- list of generators for the algebraic structure.
- See Also:
-