Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
where 2^omega is a primitive root mod 2^N+1
; a = RAX
; b = RBX
; c = RCX
MUL RBX
DIV RCX
; в RDX у нас модуль (a * b) % c
# -*- coding: utf-8 -*-
import ginv
st = ginv.SystemType("Polynomial")
im = ginv.MonomInterface("Lex", st, ['x', 'y', 'z'])
eqs = [
'x^3 - y^2 + z - 1',
'y^3 - z^2 + x - 1',
'z^3 - x^2 + y - 1',
]
ic = ginv.CoeffInterface("GmpZ", st)
ip = ginv.PolyInterface("PolyList", st, im, ic)
iw = ginv.WrapInterface("CritPartially", ip)
id = ginv.DivisionInterface("Janet", iw)
basis = ginv.basisBuild("TQ", id, eqs)
for p in basis.iterGB():
print p
print " userTime = ", basis.userTime()
print " sysTime = ", basis.sysTime()
print " realTime = ", basis.realTime()
print "hilbertPolynomial = ", basis.hilbertPolynomial()
Сравнение алгоритмов вычисления чисел Фибоначчи