Skip to content

Commit

Permalink
update gcd bench
Browse files Browse the repository at this point in the history
  • Loading branch information
PoslavskySV committed Dec 3, 2017
1 parent fdaf72d commit aaa947a
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 13 deletions.
2 changes: 1 addition & 1 deletion rings.benchmarks/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@
<dependency>
<groupId>cc.redberry</groupId>
<artifactId>rings</artifactId>
<version>2.1</version>
<version>2.2</version>
</dependency>

<dependency>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,26 +18,24 @@
public class Rings_vs_Singular_vs_Mathematica_GCD2 {
public static void main(String[] args) throws Exception {

for (Ring<BigInteger> ring : new Ring[]{Rings.Z, Rings.Zp((1 << 19) - 1)}) {
for (Ring<BigInteger> ring : new Ring[]{Rings.Zp((1 << 19) - 1), Rings.Z}) {
System.out.println("Ring: " + ring);

for (int exp = 4; exp < 7; exp++) {
for (int exp = 7; exp < 8; exp++) {
System.out.println("\n\n\n\n");
System.out.println("<><><><><><><><><><><><><><><><><><><><><><><><><><><>");
System.out.println("exp: " + exp);

MultivariatePolynomial<BigInteger>
a = MultivariatePolynomial.parse("1 + 3*a + 5*b + 7*c + 9*d + 11*e + 13*f + 15*g", ring),
b = MultivariatePolynomial.parse("1 - 3*a + 5*b - 7*c + 9*d - 11*e + 13*f - 15*g", ring),
g = MultivariatePolynomial.parse("1 + 3*a - 5*b + 7*c - 9*d + 11*e - 13*f + 15*g", ring);
b = MultivariatePolynomial.parse("1 - 3*a - 5*b - 7*c + 9*d - 11*e - 13*f + 15*g", ring),
g = MultivariatePolynomial.parse("1 + 3*a + 5*b + 7*c + 9*d + 11*e + 13*f - 15*g", ring);

a = PolynomialMethods.polyPow(a, exp);
a.decrement();
b = PolynomialMethods.polyPow(b, exp);
g = PolynomialMethods.polyPow(g, exp);
g.increment();
a = PolynomialMethods.polyPow(a, exp).decrement();
b = PolynomialMethods.polyPow(b, exp).increment();
g = PolynomialMethods.polyPow(g, exp).add(ring.valueOf(3));

MultivariatePolynomial<BigInteger> ag = a.clone().multiply(g);
MultivariatePolynomial<BigInteger> ag = a.clone().multiply(g).increment();
MultivariatePolynomial<BigInteger> bg = b.clone().multiply(g);

// info(a, "a");
Expand All @@ -48,9 +46,10 @@ public static void main(String[] args) throws Exception {
// info(bg, "bg");

System.out.println("\n=================\n");
for (int i = 0; i < 5; ++i) {
for (int i = 0; i < 3; ++i) {
long start = System.nanoTime();
int size = MultivariateGCD.PolynomialGCD(ag, bg).size();
System.out.println(size);
long ringsTime = System.nanoTime() - start;

System.out.println("Rings: " + TimeUnits.nanosecondsToString(ringsTime));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -587,7 +587,7 @@ static <Poly extends IPolynomial<Poly>> void correctUnit(Poly poly, Poly[] facto
static <uPoly extends IUnivariatePolynomial<uPoly>>
UnivariatePolynomial<uPoly>[] bivariateLiftDense(
UnivariatePolynomial<uPoly> baseSeries, uPoly[] factors, int degreeBound) {
AllProductsCache<uPoly> uFactors = new AllProductsCache(factors);
AllProductsCache<uPoly> uFactors = new AllProductsCache<>(factors);
// univariate multifactor diophantine solver
UMultiDiophantineSolver<uPoly> uSolver = new UMultiDiophantineSolver<>(uFactors);

Expand Down

0 comments on commit aaa947a

Please sign in to comment.