polyInterface, poly='0') |
polyInterface
:
poly
: Класс Poly имеет следующие методы:
) |
) |
Аналогично degree класса Monom
) |
) |
) |
) |
) |
) |
) |
var, deg=1) |
coeff) |
Коэффициенты полинома и coeff должны иметь одинаковый интерфейс.
monom) |
Мономы полинома и monom должны иметь одинаковый интерфейс.
par, deg=1) |
poly) |
Лидирующий моном poly.должен делит лидирующий моном полинома. Полиномы должны иметь одинаковый интерфейс.
poly) |
Полиномы должны иметь одинаковый интерфейс.
Класс Poly может быть аргументом следующих функций:
ply) |
Аналогично работает команда Python print
poly1, poly2) |
1
если poly1 > poly2
,
0
если poly1 == poly2
,
-1
если poly1 < poly2
.
В сравнении участвуют лидирующие мономы полиномов. Полиномы должны иметь одинаковый интерфейс.
<, >, <=, >=, ==, != ( |
poly1, poly2) |
Полином может быть использован в логических выражениях. Нулевой полином дает в логических выражениях False, а остальные True
+, /, * ( |
poly1, poly2) |
Полиномы должны иметь одинаковый интерфейс.
+=, /=, *= ( |
poly1, poly2) |
Полиномы должны иметь одинаковый интерфейс.
poly) |
[] ( |
poly, i) |
Полином представляет собой итератор языка Python:
import ginv st = ginv.SystemType("Polynomial") im = ginv.MonomInterface("Lex", st, ['x', 'y', 'z']) ic = ginv.CoeffInterface("GmpZ", st) ip = ginv.PolyInterface("PolyList", st, im, ic) poly1 = ginv.Poly(ip, "(y^3 - x)^3") print poly1 poly2 = ginv.Poly(ip, "(y^3 - x)^2 + (x^3 - y)^2") print poly2 poly1 *= poly2 for (m, c) in poly1: print (m, c),
(-1)*x^3 + 3*x^2*y^3 + (-3)*x*y^6 + y^9 x^6 + (-2)*x^3*y + x^2 + (-2)*x*y^3 + y^6 + y^2 (x^9, -1) (x^8*y^3, 3) (x^7*y^6, -3) (x^6*y^9, 1) (x^6*y, 2) (x^5*y^4, -6) (x^5, -1) (x^4*y^7, 6) (x^4*y^3, 5) (x^3*y^10, -2) (x^3*y^6, -10) (x^3*y^2, -1) (x^2*y^9, 10) (x^2*y^5, 3) (x*y^12, -5) (x*y^8, -3) (y^15, 1) (y^11, 1)