/** Test constructor and toString. */ public void testConstruction() { BigRational cfac = new BigRational(1); GenVectorModul<BigRational> mfac = new GenVectorModul<BigRational>(cfac, ll); assertTrue("#columns = " + ll, mfac.cols == ll); assertTrue("cfac == coFac ", cfac == mfac.coFac); GenVector<BigRational> a; a = mfac.getZERO(); // System.out.println("a = " + a); assertTrue("isZERO( a )", a.isZERO()); GenVector<BigRational> b = new GenVector<BigRational>(mfac); // System.out.println("b = " + b); assertTrue("isZERO( b )", b.isZERO()); assertTrue("a == b ", a.equals(b)); GenVector<BigRational> c = b.clone(); // System.out.println("c = " + c); assertTrue("isZERO( c )", c.isZERO()); assertTrue("a == c ", a.equals(c)); GenVector<BigRational> d = mfac.copy(b); // System.out.println("d = " + d); assertTrue("isZERO( d )", d.isZERO()); assertTrue("a == d ", a.equals(d)); }
/** Test addition. */ public void testAddition() { BigRational cfac = new BigRational(1); GenVectorModul<BigRational> mfac = new GenVectorModul<BigRational>(cfac, ll); GenVector<BigRational> a, b, c, d, e; a = mfac.random(kl, q); b = mfac.random(kl, q); // System.out.println("a = " + a); // System.out.println("b = " + b); c = a.sum(b); d = c.subtract(b); // System.out.println("c = " + c); // System.out.println("d = " + d); assertEquals("a+b-b = a", a, d); c = a.sum(b); d = c.sum(b.negate()); // System.out.println("c = " + c); // System.out.println("d = " + d); assertEquals("a+b+(-b) = a", a, d); c = a.sum(b); d = b.sum(a); // System.out.println("c = " + c); // System.out.println("d = " + d); assertEquals("a+b = b+a", c, d); c = mfac.random(kl, q); d = a.sum(b).sum(c); e = a.sum(b.sum(c)); // System.out.println("d = " + d); // System.out.println("e = " + e); assertEquals("a+(b+c) = (a+b)+c", d, e); }
/** Test random vector. */ public void testRandom() { BigRational cfac = new BigRational(1); GenVectorModul<BigRational> mfac = new GenVectorModul<BigRational>(cfac, ll); GenVector<BigRational> a; for (int i = 0; i < 7; i++) { a = mfac.random(kl, q); // System.out.println("a = " + a); if (a.isZERO()) { continue; } assertTrue(" not isZERO( a" + i + " )", !a.isZERO()); } }
/** Test scalar multiplication. */ public void testMultiplication() { BigRational cfac = new BigRational(1); GenVectorModul<BigRational> mfac = new GenVectorModul<BigRational>(cfac, ll); BigRational r, s, t; GenVector<BigRational> a, b, c, d, e; r = cfac.random(kl); // System.out.println("r = " + r); s = r.inverse(); // System.out.println("s = " + s); a = mfac.random(kl, q); // System.out.println("a = " + a); c = a.scalarMultiply(r); d = c.scalarMultiply(s); // System.out.println("c = " + c); // System.out.println("d = " + d); assertEquals("a*b*(1/b) = a", a, d); b = mfac.random(kl, q); // System.out.println("b = " + b); t = cfac.getONE(); // System.out.println("t = " + t); c = a.linearCombination(b, t); d = b.linearCombination(a, t); // System.out.println("c = " + c); // System.out.println("d = " + d); assertEquals("a+1*b = b+1*a", c, d); c = a.linearCombination(b, t); d = a.sum(b); // System.out.println("c = " + c); // System.out.println("d = " + d); assertEquals("a+1*b = b+1*a", c, d); s = t.negate(); // System.out.println("s = " + s); c = a.linearCombination(b, t); d = c.linearCombination(b, s); // System.out.println("c = " + c); // System.out.println("d = " + d); assertEquals("a+1*b+(-1)*b = a", a, d); c = a.linearCombination(t, b, t); d = c.linearCombination(t, b, s); // System.out.println("c = " + c); // System.out.println("d = " + d); assertEquals("a*1+b*1+b*(-1) = a", a, d); t = cfac.getZERO(); // System.out.println("t = " + t); c = a.linearCombination(b, t); // System.out.println("c = " + c); assertEquals("a+0*b = a", a, c); d = a.linearCombination(t, b, t); // System.out.println("d = " + d); assertEquals("0*a+0*b = 0", mfac.getZERO(), d); r = a.scalarProduct(b); s = b.scalarProduct(a); // System.out.println("r = " + r); // System.out.println("s = " + s); assertEquals("a.b = b.a", r, s); }