public final class Rings extends Object
Modifier and Type | Field and Description |
---|---|
static AlgebraicNumberField<UnivariatePolynomial<BigInteger>> |
GaussianIntegers
Ring of Gaussian integers (integer complex numbers).
|
static AlgebraicNumberField<UnivariatePolynomial<Rational<BigInteger>>> |
GaussianRationals
Field of Gaussian rationals (rational complex numbers).
|
static Rationals<BigInteger> |
Q
Field of rationals (Q)
|
static UnivariateRing<UnivariatePolynomial<Rational<BigInteger>>> |
UnivariateRingQ
Ring of univariate polynomials over rationals (Q[x])
|
static UnivariateRing<UnivariatePolynomial<BigInteger>> |
UnivariateRingZ
Ring of univariate polynomials over integers (Z[x])
|
static Integers |
Z
Ring of integers (Z)
|
Modifier and Type | Method and Description |
---|---|
static <Poly extends IUnivariatePolynomial<Poly>> |
AlgebraicNumberField(Poly minimalPoly)
Algebraic number field generated by the specified minimal polynomial
|
static <E> Rationals<E> |
Frac(Ring<E> ring)
Ring of rational functions over specified ring
|
static <E> AlgebraicNumberField<UnivariatePolynomial<E>> |
GaussianNumbers(Ring<E> ring)
Gaussian numbers for a given ring (that is ring adjoined with imaginary unit)
|
static FiniteField<UnivariatePolynomial<BigInteger>> |
GF(BigInteger prime,
int exponent)
Galois field with the cardinality
prime ^ exponent for arbitrary large prime |
static FiniteField<UnivariatePolynomialZp64> |
GF(long prime,
int exponent)
Galois field with the cardinality
prime ^ exponent (with prime < 2^63). |
static <Poly extends IUnivariatePolynomial<Poly>> |
GF(Poly irreducible)
Galois field with the specified minimal polynomial.
|
static <Term extends AMonomial<Term>,mPoly extends AMultivariatePolynomial<Term,mPoly>,sPoly extends IUnivariatePolynomial<sPoly>> |
MultipleFieldExtension(sPoly... minimalPolynomials)
Multiple field extension generated by given algebraic elements represented by their minimal polynomials (not
tested that they are irreducible)
|
static <E> MultivariateRing<MultivariatePolynomial<E>> |
MultivariateRing(int nVariables,
Ring<E> coefficientRing)
Ring of multivariate polynomials with specified number of variables over specified coefficient ring
|
static <E> MultivariateRing<MultivariatePolynomial<E>> |
MultivariateRing(int nVariables,
Ring<E> coefficientRing,
Comparator<DegreeVector> monomialOrder)
Ring of multivariate polynomials with specified number of variables over specified coefficient ring
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> |
MultivariateRing(Poly factory)
Ring of multivariate polynomials with specified factory
|
static MultivariateRing<MultivariatePolynomial<Rational<BigInteger>>> |
MultivariateRingQ(int nVariables)
Ring of multivariate polynomials over rationals (Q[x1, x2, ...])
|
static MultivariateRing<MultivariatePolynomial<BigInteger>> |
MultivariateRingZ(int nVariables)
Ring of multivariate polynomials over integers (Z[x1, x2, ...])
|
static MultivariateRing<MultivariatePolynomial<BigInteger>> |
MultivariateRingZp(int nVariables,
BigInteger modulus)
Ring of multivariate polynomials over Zp integers (Zp[x1, x2, ...]) with arbitrary large modulus
|
static MultivariateRing<MultivariatePolynomialZp64> |
MultivariateRingZp64(int nVariables,
IntegersZp64 modulus)
Ring of multivariate polynomials over Zp integers (Zp[x1, x2, ...])
|
static MultivariateRing<MultivariatePolynomialZp64> |
MultivariateRingZp64(int nVariables,
IntegersZp64 modulus,
Comparator<DegreeVector> monomialOrder)
Ring of multivariate polynomials over Zp integers (Zp[x1, x2, ...])
|
static MultivariateRing<MultivariatePolynomialZp64> |
MultivariateRingZp64(int nVariables,
long modulus)
Ring of multivariate polynomials over Zp machine integers (Zp[x1, x2, ...])
|
static MultivariateRing<MultivariatePolynomialZp64> |
MultivariateRingZp64(int nVariables,
long modulus,
Comparator<DegreeVector> monomialOrder)
Ring of multivariate polynomials over Zp integers (Zp[x1, x2, ...])
|
static <Poly extends IPolynomial<Poly>> |
PolynomialRing(Poly factory)
Generic factory for polynomial ring
|
static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> |
QuotientRing(MultivariateRing<Poly> baseRing,
Ideal<Term,Poly> ideal)
Quotient ring
baseRing/<ideal> |
static <uPoly extends IUnivariatePolynomial<uPoly>> |
SimpleFieldExtension(uPoly minimalPolynomial)
Returns a simple field extension generated by given minimal polynomial
|
static <Term extends AMonomial<Term>,mPoly extends AMultivariatePolynomial<Term,mPoly>,sPoly extends IUnivariatePolynomial<sPoly>> |
SplittingField(sPoly polynomial)
Splitting field of a given polynomial.
|
static <uPoly extends IUnivariatePolynomial<uPoly>> |
UnivariateQuotientRing(uPoly modulus)
Deprecated.
|
static <Poly extends IUnivariatePolynomial<Poly>> |
UnivariateRing(Poly factory)
Ring of univariate polynomials with specified factory
|
static <E> UnivariateRing<UnivariatePolynomial<E>> |
UnivariateRing(Ring<E> coefficientRing)
Ring of univariate polynomials over specified coefficient ring
|
static UnivariateRing<UnivariatePolynomial<BigInteger>> |
UnivariateRingZp(BigInteger modulus)
Ring of univariate polynomials over Zp integers (Zp[x]) with arbitrary large modulus
|
static UnivariateRing<UnivariatePolynomialZp64> |
UnivariateRingZp64(IntegersZp64 modulus)
Ring of univariate polynomials over Zp integers (Zp[x])
|
static UnivariateRing<UnivariatePolynomialZp64> |
UnivariateRingZp64(long modulus)
Ring of univariate polynomials over Zp integers (Zp[x])
|
static IntegersZp |
Zp(BigInteger modulus)
Ring of integers modulo
modulus (arbitrary large modulus) |
static IntegersZp |
Zp(long modulus)
Ring of integers modulo
modulus (arbitrary large modulus) |
static IntegersZp64 |
Zp64(long modulus)
Ring of integers modulo
modulus (with modulus < 2^63) |
public static final Integers Z
public static final Rationals<BigInteger> Q
public static AlgebraicNumberField<UnivariatePolynomial<Rational<BigInteger>>> GaussianRationals
public static AlgebraicNumberField<UnivariatePolynomial<BigInteger>> GaussianIntegers
public static final UnivariateRing<UnivariatePolynomial<BigInteger>> UnivariateRingZ
public static final UnivariateRing<UnivariatePolynomial<Rational<BigInteger>>> UnivariateRingQ
public static <E> Rationals<E> Frac(Ring<E> ring)
ring
- the ring that numerators and denominators belong topublic static IntegersZp64 Zp64(long modulus)
modulus
(with modulus < 2^63)modulus
- the moduluspublic static IntegersZp Zp(long modulus)
modulus
(arbitrary large modulus)modulus
- the modulus (arbitrary large)public static IntegersZp Zp(BigInteger modulus)
modulus
(arbitrary large modulus)modulus
- the modulus (arbitrary large)public static FiniteField<UnivariatePolynomialZp64> GF(long prime, int exponent)
prime ^ exponent
(with prime < 2^63).prime
- the integer prime modulusexponent
- the exponent (degree of modulo polynomial)public static FiniteField<UnivariatePolynomial<BigInteger>> GF(BigInteger prime, int exponent)
prime ^ exponent
for arbitrary large prime
prime
- the integer (arbitrary large) prime modulusexponent
- the exponent (degree of modulo polynomial)public static <Poly extends IUnivariatePolynomial<Poly>> FiniteField<Poly> GF(Poly irreducible)
irreducible
- irreducible univariate polynomialpublic static <Poly extends IUnivariatePolynomial<Poly>> AlgebraicNumberField<Poly> AlgebraicNumberField(Poly minimalPoly)
public static <E> AlgebraicNumberField<UnivariatePolynomial<E>> GaussianNumbers(Ring<E> ring)
@Deprecated public static <uPoly extends IUnivariatePolynomial<uPoly>> SimpleFieldExtension<uPoly> UnivariateQuotientRing(uPoly modulus)
GF(IUnivariatePolynomial)
or AlgebraicNumberField(IUnivariatePolynomial)
baseRing/<modulus>
public static <uPoly extends IUnivariatePolynomial<uPoly>> SimpleFieldExtension<uPoly> SimpleFieldExtension(uPoly minimalPolynomial)
public static <Term extends AMonomial<Term>,mPoly extends AMultivariatePolynomial<Term,mPoly>,sPoly extends IUnivariatePolynomial<sPoly>> MultipleFieldExtension<Term,mPoly,sPoly> MultipleFieldExtension(sPoly... minimalPolynomials)
public static <Term extends AMonomial<Term>,mPoly extends AMultivariatePolynomial<Term,mPoly>,sPoly extends IUnivariatePolynomial<sPoly>> MultipleFieldExtension<Term,mPoly,sPoly> SplittingField(sPoly polynomial)
public static <E> UnivariateRing<UnivariatePolynomial<E>> UnivariateRing(Ring<E> coefficientRing)
coefficientRing
- the coefficient ringpublic static <Poly extends IUnivariatePolynomial<Poly>> UnivariateRing<Poly> UnivariateRing(Poly factory)
factory
- factorypublic static UnivariateRing<UnivariatePolynomialZp64> UnivariateRingZp64(long modulus)
modulus
- the moduluspublic static UnivariateRing<UnivariatePolynomialZp64> UnivariateRingZp64(IntegersZp64 modulus)
modulus
- the moduluspublic static UnivariateRing<UnivariatePolynomial<BigInteger>> UnivariateRingZp(BigInteger modulus)
modulus
- the modulus (arbitrary large)public static <E> MultivariateRing<MultivariatePolynomial<E>> MultivariateRing(int nVariables, Ring<E> coefficientRing, Comparator<DegreeVector> monomialOrder)
nVariables
- the number of variablescoefficientRing
- the coefficient ringmonomialOrder
- the monomial orderpublic static <E> MultivariateRing<MultivariatePolynomial<E>> MultivariateRing(int nVariables, Ring<E> coefficientRing)
nVariables
- the number of variablescoefficientRing
- the coefficient ringpublic static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> MultivariateRing<Poly> MultivariateRing(Poly factory)
factory
- factorypublic static MultivariateRing<MultivariatePolynomial<BigInteger>> MultivariateRingZ(int nVariables)
nVariables
- the number of variablespublic static MultivariateRing<MultivariatePolynomial<Rational<BigInteger>>> MultivariateRingQ(int nVariables)
nVariables
- the number of variablespublic static MultivariateRing<MultivariatePolynomialZp64> MultivariateRingZp64(int nVariables, long modulus, Comparator<DegreeVector> monomialOrder)
nVariables
- the number of variablesmodulus
- the modulusmonomialOrder
- the monomial orderpublic static MultivariateRing<MultivariatePolynomialZp64> MultivariateRingZp64(int nVariables, long modulus)
nVariables
- the number of variablesmodulus
- the moduluspublic static MultivariateRing<MultivariatePolynomialZp64> MultivariateRingZp64(int nVariables, IntegersZp64 modulus, Comparator<DegreeVector> monomialOrder)
nVariables
- the number of variablesmodulus
- the modulusmonomialOrder
- monomial orderpublic static MultivariateRing<MultivariatePolynomialZp64> MultivariateRingZp64(int nVariables, IntegersZp64 modulus)
nVariables
- the number of variablesmodulus
- the moduluspublic static MultivariateRing<MultivariatePolynomial<BigInteger>> MultivariateRingZp(int nVariables, BigInteger modulus)
nVariables
- the number of variablesmodulus
- the modulus (arbitrary large)public static <Poly extends IPolynomial<Poly>> IPolynomialRing<Poly> PolynomialRing(Poly factory)
public static <Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> QuotientRing<Term,Poly> QuotientRing(MultivariateRing<Poly> baseRing, Ideal<Term,Poly> ideal)
baseRing/<ideal>
Copyright © 2018. All rights reserved.