## Uses of Classcc.redberry.rings.IntegersZp64

• ### Uses of IntegersZp64 in cc.redberry.rings

Methods in cc.redberry.rings that return IntegersZp64
Modifier and Type Method Description
`IntegersZp64` IntegersZp.`asMachineRing()`
`IntegersZp64` IntegersZp.`asZp64()`
Returns machine integer ring or null if modulus is larger than `long`
`IntegersZp64` IntegersZp64.`perfectPowerBaseDomain()`
Returns ring for `perfectPowerBase()` or `this` if modulus is not a perfect power
`static IntegersZp64` Rings.`Zp64​(long modulus)`
Ring of integers modulo `modulus` (with modulus < 2^63)
Methods in cc.redberry.rings with parameters of type IntegersZp64
Modifier and Type Method Description
`static MultivariateRing<MultivariatePolynomialZp64>` Rings.```MultivariateRingZp64​(int nVariables, IntegersZp64 modulus)```
Ring of multivariate polynomials over Zp integers (Zp[x1, x2, ...])
`static MultivariateRing<MultivariatePolynomialZp64>` Rings.```MultivariateRingZp64​(int nVariables, IntegersZp64 modulus, Comparator<DegreeVector> monomialOrder)```
Ring of multivariate polynomials over Zp integers (Zp[x1, x2, ...])
`static UnivariateRing<UnivariatePolynomialZp64>` Rings.`UnivariateRingZp64​(IntegersZp64 modulus)`
Ring of univariate polynomials over Zp integers (Zp[x])
• ### Uses of IntegersZp64 in cc.redberry.rings.linear

Methods in cc.redberry.rings.linear with parameters of type IntegersZp64
Modifier and Type Method Description
`static void` LinearSolver.```reducedRowEchelonForm​(IntegersZp64 ring, long[][] lhs, long[] rhs)```
Gives the reduced row echelon form of the linear system `lhs.x = rhs` from a given row echelon form.
`static int` LinearSolver.```rowEchelonForm​(IntegersZp64 ring, long[][] matrix)```
Gives the row echelon form of the matrix
`static int` LinearSolver.```rowEchelonForm​(IntegersZp64 ring, long[][] matrix, boolean reduce)```
Gives the row echelon form of the matrix
`static int` LinearSolver.```rowEchelonForm​(IntegersZp64 ring, long[][] lhs, long[] rhs)```
Gives the row echelon form of the linear system `lhs.x = rhs` (rhs may be null).
`static int` LinearSolver.```rowEchelonForm​(IntegersZp64 ring, long[][] lhs, long[] rhs, boolean reduce, boolean breakOnUnderDetermined)```
Gives the row echelon form of the linear system `lhs.x = rhs` (rhs may be null).
`static long[]` LinearSolver.```solve​(IntegersZp64 ring, long[][] lhs, long[] rhs)```
Solves linear system `lhs.x = rhs` and reduces the lhs to row echelon form.
`static LinearSolver.SystemInfo` LinearSolver.```solve​(IntegersZp64 ring, long[][] lhs, long[] rhs, long[] result)```
Solves linear system `lhs.x = rhs` and reduces the lhs to row echelon form.
`static LinearSolver.SystemInfo` LinearSolver.```solve​(IntegersZp64 ring, long[][] lhs, long[] rhs, long[] result, boolean solveIfUnderDetermined)```
Solves linear system `lhs.x = rhs` and reduces the lhs to row echelon form.
`static LinearSolver.SystemInfo` LinearSolver.```solve​(IntegersZp64 ring, ArrayList<long[]> lhs, gnu.trove.list.array.TLongArrayList rhs, long[] result)```
Solves linear system `lhs.x = rhs` and stores the result in `result` (which should be of the enough length).
`static long[]` LinearSolver.```solveVandermonde​(IntegersZp64 ring, long[] row, long[] rhs)```
Solves Vandermonde linear system (that is with i-th equation of the form ```row[i]^0 * x0 + row[i]^1 * x1 + ... row[i]^N * xN = rhs[i] ```).
`static LinearSolver.SystemInfo` LinearSolver.```solveVandermonde​(IntegersZp64 ring, long[] row, long[] rhs, long[] result)```
Solves Vandermonde linear system (that is with i-th equation of the form ```row[i]^0 * x0 + row[i]^1 * x1 + ... row[i]^N * xN = rhs[i] ```) and stores the result in `result` (which should be of the enough length).
`static long[]` LinearSolver.```solveVandermondeT​(IntegersZp64 ring, long[] row, long[] rhs)```
Solves transposed Vandermonde linear system (that is with i-th equation of the form ```row[0]^i * x0 + row[1]^i * x1 + ... row[N]^i * xN = rhs[i] ```).
`static LinearSolver.SystemInfo` LinearSolver.```solveVandermondeT​(IntegersZp64 ring, long[] row, long[] rhs, long[] result)```
Solves transposed Vandermonde linear system (that is with i-th equation of the form ```row[0]^i * x0 + row[1]^i * x1 + ... row[N]^i * xN = rhs[i] ```) and stores the result in `result` (which should be of the enough length).
• ### Uses of IntegersZp64 in cc.redberry.rings.poly.multivar

Fields in cc.redberry.rings.poly.multivar declared as IntegersZp64
Modifier and Type Field Description
`IntegersZp64` IMonomialAlgebra.MonomialAlgebraZp64.`ring`
`IntegersZp64` MultivariatePolynomialZp64.lPrecomputedPowers.`ring`
`IntegersZp64` MultivariatePolynomialZp64.`ring`
The ring.
Methods in cc.redberry.rings.poly.multivar with parameters of type IntegersZp64
Modifier and Type Method Description
`static MultivariatePolynomialZp64` MultivariatePolynomial.```asOverZp64​(MultivariatePolynomial<BigInteger> poly, IntegersZp64 ring)```
Converts multivariate polynomial over BigIntegers to multivariate polynomial over machine modular integers
`static MultivariatePolynomialZp64` MultivariatePolynomialZp64.```create​(int nVariables, IntegersZp64 ring, Comparator<DegreeVector> ordering, MonomialSet<MonomialZp64> terms)```
Creates multivariate polynomial from a set of monomials
`static MultivariatePolynomialZp64` MultivariatePolynomialZp64.```create​(int nVariables, IntegersZp64 ring, Comparator<DegreeVector> ordering, MonomialZp64... terms)```
Creates multivariate polynomial from a list of monomial terms
`static MultivariatePolynomialZp64` MultivariatePolynomialZp64.```create​(int nVariables, IntegersZp64 ring, Comparator<DegreeVector> ordering, Iterable<MonomialZp64> terms)```
Creates multivariate polynomial from a list of monomial terms
`MultivariatePolynomialZp64` MultivariatePolynomial.```mapCoefficients​(IntegersZp64 newDomain, ToLongFunction<E> mapper)```
Maps coefficients of this using specified mapping function
`MultivariatePolynomialZp64` MultivariatePolynomialZp64.```mapTerms​(IntegersZp64 newRing, Function<MonomialZp64,​MonomialZp64> mapper)```
Maps terms of this using specified mapping function
`static MultivariatePolynomialZp64.lPrecomputedPowersHolder` MultivariatePolynomialZp64.```mkPrecomputedPowers​(int nVariables, IntegersZp64 ring, int[] variables, long[] values)```
`static MultivariatePolynomialZp64` MultivariatePolynomialZp64.```one​(int nVariables, IntegersZp64 ring, Comparator<DegreeVector> ordering)```
Creates unit polynomial.
`static MultivariatePolynomialZp64` MultivariatePolynomialZp64.```parse​(String string, IntegersZp64 ring)```
Deprecated.
use #parse(string, ring, ordering, variables)
`static MultivariatePolynomialZp64` MultivariatePolynomialZp64.```parse​(String string, IntegersZp64 ring, String... variables)```
Parse multivariate polynomial from string.
`static MultivariatePolynomialZp64` MultivariatePolynomialZp64.```parse​(String string, IntegersZp64 ring, Comparator<DegreeVector> ordering)```
Deprecated.
use #parse(string, ring, ordering, variables)
`static MultivariatePolynomialZp64` MultivariatePolynomialZp64.```parse​(String string, IntegersZp64 ring, Comparator<DegreeVector> ordering, String... variables)```
Parse multivariate polynomial from string.
`static MultivariatePolynomialZp64` RandomMultivariatePolynomials.```randomPolynomial​(int nVars, int degree, int size, IntegersZp64 ring, Comparator<DegreeVector> ordering, org.apache.commons.math3.random.RandomGenerator rnd)```
Generates random Zp[X] polynomial over machine integers
`static MultivariatePolynomialZp64` RandomMultivariatePolynomials.```randomPolynomial​(int nVars, int degree, int size, IntegersZp64 ring, org.apache.commons.math3.random.RandomGenerator rnd)```
Generates random Zp[X] polynomial over machine integers
`static MultivariatePolynomialZp64` RandomMultivariatePolynomials.```randomSharpPolynomial​(int nVars, int degree, int size, IntegersZp64 ring, Comparator<DegreeVector> ordering, org.apache.commons.math3.random.RandomGenerator rnd)```
Generates random Zp[X] polynomial over machine integers
`MultivariatePolynomialZp64` MultivariatePolynomialZp64.`setRing​(IntegersZp64 newDomain)`
Switches to another ring specified by `newDomain`
`MultivariatePolynomialZp64` MultivariatePolynomialZp64.`setRingUnsafe​(IntegersZp64 newDomain)`
internal API
`static MultivariatePolynomialZp64` MultivariatePolynomialZp64.```zero​(int nVariables, IntegersZp64 ring, Comparator<DegreeVector> ordering)```
Creates zero polynomial.
Constructors in cc.redberry.rings.poly.multivar with parameters of type IntegersZp64
Constructor Description
```lPrecomputedPowers​(int cacheSize, long value, IntegersZp64 ring)```
```lPrecomputedPowers​(long value, IntegersZp64 ring)```
```lPrecomputedPowersHolder​(IntegersZp64 ring, MultivariatePolynomialZp64.lPrecomputedPowers[] powers)```
`MonomialAlgebraZp64​(IntegersZp64 ring)`
• ### Uses of IntegersZp64 in cc.redberry.rings.poly.univar

Fields in cc.redberry.rings.poly.univar declared as IntegersZp64
Modifier and Type Field Description
`IntegersZp64` UnivariatePolynomialZp64.`ring`
The coefficient ring
Methods in cc.redberry.rings.poly.univar with parameters of type IntegersZp64
Modifier and Type Method Description
`static UnivariatePolynomialZp64` UnivariatePolynomial.```asOverZp64​(UnivariatePolynomial<BigInteger> poly, IntegersZp64 ring)```
Converts Zp[x] poly over BigIntegers to machine-sized polynomial in Zp
`static UnivariatePolynomialZp64` UnivariatePolynomial.```asOverZp64Q​(UnivariatePolynomial<Rational<BigInteger>> poly, IntegersZp64 ring)```
Converts Zp[x] poly over rationals to machine-sized polynomial in Zp
`static UnivariatePolynomialZp64` UnivariatePolynomialZp64.```constant​(IntegersZp64 ring, long value)```
Creates constant polynomial with specified value
`static UnivariatePolynomialZp64` UnivariatePolynomialZp64.```create​(IntegersZp64 ring, long[] data)```
Creates poly with specified coefficients represented as signed integers reducing them modulo `modulus`
`static UnivariatePolynomialZp64` UnivariatePolynomialZp64.```createUnsafe​(IntegersZp64 ring, long[] data)```
data is not reduced modulo modulus
`static UnivariatePolynomialZp64` UnivariateInterpolation.```interpolateNewton​(IntegersZp64 ring, long[] points, long[] values)```
Constructs an interpolating polynomial which values at `points[i]` are exactly `values[i]`.
`UnivariatePolynomialZp64` UnivariatePolynomial.```mapCoefficients​(IntegersZp64 ring, ToLongFunction<E> mapper)```
Applies transformation function to this and returns the result.
`UnivariatePolynomialZp64` UnivariatePolynomialZ64.`modulus​(IntegersZp64 ring)`
Reduces (copied) polynomial modulo `modulus` and returns the result.
`UnivariatePolynomialZp64` UnivariatePolynomialZ64.```modulus​(IntegersZp64 ring, boolean copy)```
Reduces this polynomial modulo `modulus` and returns the result.
`static UnivariatePolynomialZp64` UnivariatePolynomialZp64.`one​(IntegersZp64 ring)`
Creates unit polynomial
`static UnivariatePolynomialZp64` UnivariatePolynomialZp64.```parse​(String string, IntegersZp64 modulus)```
`static UnivariatePolynomialZp64` UnivariatePolynomialZp64.```parse​(String string, IntegersZp64 modulus, String variable)```
Parse string into polynomial
`UnivariatePolynomialZp64` UnivariatePolynomialZp64.`setModulus​(IntegersZp64 newDomain)`
Creates new Zp[x] polynomial by coping the coefficients of this and reducing them modulo new modulus.
`UnivariatePolynomialZp64` UnivariatePolynomialZp64.`setModulusUnsafe​(IntegersZp64 newModulus)`
does not copy the data and does not reduce the data with new modulus
`static UnivariatePolynomialZp64` UnivariatePolynomialZp64.`zero​(IntegersZp64 ring)`
Creates zero polynomial
Constructors in cc.redberry.rings.poly.univar with parameters of type IntegersZp64
Constructor Description
`InterpolationZp64​(IntegersZp64 ring)`
Start new interpolation with `interpolation[point] = value`