/** Test weight homogeneous. */ public void testWeightHomogeneous() { // rational numbers BigRational rf = new BigRational(); // System.out.println("rf = " + rf); // weight term order long[] weight = new long[] {2, 3, 4, 5}; TermOrder to = TermOrderByName.weightOrder(weight); // System.out.println("to = " + to); // polynomials over rational numbers GenPolynomialRing<BigRational> pf = new GenPolynomialRing<BigRational>(rf, 4, to); // System.out.println("pf = " + pf.toScript()); // test 1 GenPolynomial<BigRational> p = pf.getONE(); // System.out.println("p = " + p); assertTrue("1 is weight homogeneous " + p, p.isWeightHomogeneous()); // test 0 p = pf.getZERO(); // System.out.println("p = " + p); assertTrue("0 is weight homogeneous " + p, p.isWeightHomogeneous()); // test random p = pf.random(kl, 3 * ll, el, q); // System.out.println("p = " + p); assertFalse("rnd is weight homogeneous " + p, p.isWeightHomogeneous()); GenPolynomial<BigRational> pl = p.leadingWeightPolynomial(); // System.out.println("pl = " + pl); assertTrue("lw(rnd) is weight homogeneous " + pl, pl.isWeightHomogeneous()); GenPolynomial<BigRational> r = pf.random(kl, 3 * ll, el, q); // System.out.println("r = " + r); assertFalse("rnd is weight homogeneous " + r, r.isWeightHomogeneous()); GenPolynomial<BigRational> rl = r.leadingWeightPolynomial(); // System.out.println("rl = " + rl); assertTrue("lw(rnd) is weight homogeneous " + rl, rl.isWeightHomogeneous()); GenPolynomial<BigRational> t = pl.multiply(rl); // System.out.println("t = " + t); assertTrue("lw(rnd)*lw(rnd) is weight homogeneous " + t, t.isWeightHomogeneous()); }