Символическая функция в Sage

Я хочу определить символическую функцию

var('x')
f(x)=(x+1)%8

но я получаю следующую ошибку

TypeError: unable to convert x (=x) to an integer

Как я смогу это исправить?


person Juan    schedule 03.07.2013    source источник


Ответы (1)


У нас нет символического модуля в этом смысле. Верно,

sage: x%2
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
TypeError: unable to convert x (=x) to an integer

sage: mod(x+1,8) выдает аналогичную ошибку по тем же причинам.

Конечно, вы можете создать функцию Python.

sage: def f(x):
....:     return (x+1)%8
....: 
sage: f(55)
0
sage: f(56)
1
sage: f(57)
2

Если бы мы знали, что вы хотите сделать со своей функцией, мы могли бы найти обходной путь. Я предполагаю, что вы не хотите брать производную и вам нужны только целочисленные входные данные, поэтому неясно, будет ли уместна «символическая» версия.

person kcrisman    schedule 03.07.2013