SAGE — ошибка «NoneType» в допустимом синтаксисе Sage

Я пытаюсь написать программу для вычисления точки генератора эллиптической кривой в шалфее.

Функция для этого:

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. Может кто-нибудь пролить некоторый свет на это?


person user2059300    schedule 01.05.2015    source источник
comment
Я думаю, чтобы помочь вам, нам понадобится немного больше информации о вашей платформе, какой именно двоичный файл вы загрузили, и, конечно, самое главное, на какой эллиптической кривой вы это попробовали.   -  person kcrisman    schedule 01.05.2015
comment
Спасибо, я обновил вопрос   -  person user2059300    schedule 01.05.2015
comment
В Sage 6.7.beta2 я получаю (68 : 65 : 1), а в 6.6 я получаю (54 : 53 : 1) (это на Mac 10.7). Возможно, это не особенно детерминировано ... во всяком случае, ваша ошибка, похоже, подразумевает, что на вашей кривой вообще нет точек. Что делает E.gens()? (Я предполагаю, что это даст пустой список или None.)   -  person kcrisman    schedule 01.05.2015
comment
(Опять же, ваша платформа и то, какой двоичный файл (для какой платформы) вы загрузили, будут очень полезны.)   -  person kcrisman    schedule 01.05.2015
comment
Я получаю (18 : 63 : 1) в Sage 6.6 на Gentoo. Как вы устанавливали sage? Использовали ли вы менеджер пакетов вашего дистрибутива или предварительно собранный архив с сайта sagemath? Если это первое, как предполагает путь к файлу из трассировки, не могли бы вы попробовать последнее?   -  person MvG    schedule 02.05.2015
comment
Из документации E.gens(): «Алгоритм использует случайные точки на кривой, и, следовательно, генераторы, вероятно, будут отличаться от одного прогона к другому; но они кэшируются, поэтому будут стабильными при любом запуске Sage». Можете ли вы воспроизвести проблему, или это может быть только для некоторых случайных выборов?   -  person MvG    schedule 02.05.2015


Ответы (1)


Я сделал новую установку Arch Linux, и это решило проблему. Я предполагаю, что это, вероятно, как-то связано с моей конфигурацией python2/3.

person user2059300    schedule 05.05.2015