----------^ ../sample/sample-algebraicfield01.rb require "residue-class-ring" require "polynomial" require "rational" Px = Polynomial(Rational, "x") x = Px.var F = ResidueClassRing(Px, x**2 + x + 1) x = F[x] p( (x + 1)**100 ) #=> -x - 1 p( (x-1)** 3 / (x**2 - 1) ) #=> -3x - 3 G = Polynomial(F, "y") y = G.var p( (x + y + 1)** 7 ) #=> y^7 + (7x + 7)y^6 + 8xy^5 + 4y^4 + (4x + 4)y^3 + 5xy^2 + 7y + x + 1 H = ResidueClassRing(G, y**5 + x*y + 1) y = H[y] p( 1/(x + y + 1)**7 ) #=> (1798/3x + 1825/9)y^4 + (-74x + 5176/9)y^3 + # (-6886/9x - 5917/9)y^2 + (1826/3x - 3101/9)y + 2146/9x + 4702/9 ----------$ ../sample/sample-algebraicfield01.rb