/** Test extension and contraction. */ public void testExtendContract() { // rational numbers BigRational cf = new BigRational(99); // System.out.println("cf = " + cf); // polynomials over rational numbers GenPolynomialRing<BigRational> pf = new GenPolynomialRing<BigRational>(cf, rl); // System.out.println("pf = " + pf); GenPolynomial<BigRational> a = pf.random(kl, ll, el, q); // System.out.println("a = " + a); int k = rl; GenPolynomialRing<BigRational> pfe = pf.extend(k); GenPolynomialRing<BigRational> pfec = pfe.contract(k); assertEquals("pf == pfec", pf, pfec); GenPolynomial<BigRational> ae = a.extend(pfe, 0, 0); Map<ExpVector, GenPolynomial<BigRational>> m = ae.contract(pfec); List<GenPolynomial<BigRational>> ml = new ArrayList<GenPolynomial<BigRational>>(m.values()); GenPolynomial<BigRational> aec = ml.get(0); assertEquals("a == aec", a, aec); // System.out.println("ae = " + ae); // System.out.println("aec = " + aec); }