Я пытаюсь написать программу для вычисления точки генератора эллиптической кривой в шалфее.
Функция для этого:
E.gen(0)
Где E — некоторая эллиптическая кривая.
Если я сделаю это в онлайн-версии Sage, все будет работать без проблем:
sage: E = EllipticCurve(GF(73),[6,0])
sage: E.gen(0)
(18 : 10 : 1)
Однако, если я попробую это локально:
sage: E = EllipticCurve(GF(73),[6,0])
sage: E.gen(0)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-3-cfa3068996f9> in <module>()
----> 1 E.gen(Integer(0))
/usr/lib/python2.7/site-packages/sage/schemes/elliptic_curves/ell_generic.pyc in gen(self, i)
1309 NotImplementedError: not implemented.
1310 """
-> 1311 return self.gens()[i]
1312
1313 def rst_transform(self, r, s, t):
TypeError: 'NoneType' object has no attribute '__getitem__'
Я использую Sage версии 6.6, и вся документация, которую я видел до сих пор, говорит, что это должно работать, и работает в онлайн-версии Sage. Может кто-нибудь пролить некоторый свет на это?
(68 : 65 : 1)
, а в 6.6 я получаю(54 : 53 : 1)
(это на Mac 10.7). Возможно, это не особенно детерминировано ... во всяком случае, ваша ошибка, похоже, подразумевает, что на вашей кривой вообще нет точек. Что делаетE.gens()
? (Я предполагаю, что это даст пустой список илиNone
.) - person kcrisman   schedule 01.05.2015(18 : 63 : 1)
в Sage 6.6 на Gentoo. Как вы устанавливали sage? Использовали ли вы менеджер пакетов вашего дистрибутива или предварительно собранный архив с сайта sagemath? Если это первое, как предполагает путь к файлу из трассировки, не могли бы вы попробовать последнее? - person MvG   schedule 02.05.2015E.gens()
: «Алгоритм использует случайные точки на кривой, и, следовательно, генераторы, вероятно, будут отличаться от одного прогона к другому; но они кэшируются, поэтому будут стабильными при любом запуске Sage». Можете ли вы воспроизвести проблему, или это может быть только для некоторых случайных выборов? - person MvG   schedule 02.05.2015