2015-10-20 2 views

ответ

3

Правильно, у вас должно быть впрыск имя переменной при использовании полиномиальных колец. В этом документе вы указываете указывает, что

sage: R.<t> = PolynomialRing(QQ) 

делает это сделать. Или, вы можете сделать

sage: R=QQ['t'] 
sage: R.inject_variables() 
Defining t 
sage: t+1 
t + 1 

Вы хотели знать, как сделать это без печати имя:

sage: R.inject_variables(verbose=False) 

Удачи!

+0

Спасибо так много. Мне нужны мои полиномы внутри функции. Как я могу предохранить мудреца от печати «Определение t»? Журнал становится довольно беспорядочным, когда вызываются многие функции. –

+0

Ну, тогда обозначение углового кронштейна позволяет избежать этого ... но обновить ответ. – kcrisman

0

В дополнение ответ на @kcrisman, другой способ пойти:

sage: R = PolynomialRing(QQ, 't') 
sage: t = R.gen() 

t Тогда работает как ожидалось:

sage: (t+1) * (t+2) 
t^2 + 3*t + 2 

Обратите внимание, что синтаксис Sage R.<t> = ... будет работать в .sage файле но не в файле .py, в то время как вышеупомянутое работает также в файле .py.

В .py файл, который вы бы сначала импортировать PolynomialRing следующим образом:

from sage.rings.polynomial.polynomial_ring_constructor import PolynomialRing 

Чтобы выяснить, что импортируют вам нужно, вы можете сделать

sage: import_statements(PolynomialRing) 
from sage.rings.polynomial.polynomial_ring_constructor import PolynomialRing 
Смежные вопросы