#########################################################
# #
# This is test script for 'm-polynomial-factor-zp.rb' #
# #
#########################################################
require "rubyunit"
require "algebra/m-polynomial-factor-zp.rb"
require "algebra/m-polynomial-factor"
include Algebra
Z7 = ResidueClassRing(Integer, 7)
P = MPolynomial(Z7)
x, y, z, t = P.vars("xyzt")
FS = [
[x, y, z],
[z, z],
[x+y+z, x**2+y**2+z**2-x*y-y*z-z*x],
[x - y*z + z, x + y - z**2 + 2],
[x + y, x + z**2 + 1, x**2 + y*z + 1],
[x + y + 1, x + y + 1, x] ,
[x + y + 1, x + y + 1, x + 1],
[x + z + 1, x + y, x + y**2 + z + 2],
[x + z + 1, x + y, x + y**2 + z],
[x + z + 1, x + y, x + y, x + y**2 + z + 2],
[x + y, y + z, z + x],
[x + y, y + z, z + x, z + x, z + x],
[x * y + 1, x * z + 1],
[t + x, t + y, t + z],
]
#PF = PolynomialFactorization::Factors
PF = Algebra::Factors
class TestMPolynomialFactorZp < Runit
def test_factorize
puts
FS.each do |fs|
f = PF.seki(fs)
print "Factorize: #{f}\n"
a = f.factorize_modp
print " -> #{a}\n"
assert_equal(PF[*fs], a)
end
end
end
Tests(TestMPolynomialFactorZp)
syntax highlighted by Code2HTML, v. 0.9.1