Polynomial <-> MPolynomial の相互変換ユーティリティーです。
Polynomial.convert_to(ring)
MPolynomial である ring に変換します。
Polynomial#value_on(ring)
MPolynomial である ring における値を返します。
例:
require "m-polynomial" require "polynomial" require "polynomial-converter" P = Polynomial(Integer, "x", "y", "z") x, y, z = P.vars f = x**2 + y**2 + z**2 - x*y - y*z - z*x MP = P.convert_to(MPolynomial) p f = f.value_on(MP) #=> z^2 - zy - zx + y^2 - yx + x^2 x, y, z = MP.vars p f == x**2 + y**2 + z**2 - x*y - y*z - z*x #=> true
MPolynomial.convert_to(ring)
Polynomial である ring に変換します。
MPolynomial#value_on(ring)
Polynomial である ring における値を返します。
例:
require "m-polynomial" require "polynomial" require "polynomial-converter" MP = MPolynomial(Integer, "x", "y", "z") x, y, z = MP.vars f = x**2 + y**2 + z**2 - x*y - y*z - z*x P = MP.convert_to(Polynomial) p f = f.value_on(P) #=> x^2 + (-y - z)x + y^2 - zy + z^2 x, y, z = P.vars p f == x**2 + y**2 + z**2 - x*y - y*z - z*x #=> ture