以变量为指数的多项式
Polynomials with variables as exponent
我正在使用
R=QQ['x'];
将 x
声明为变量,以便我可以使用 x
中的多项式进行计算。我需要的是另一个变量,例如 t
,来表示一个也可以用作指数的整数。例如,我想考虑多项式 (t+1)x^t。这在 SageMath 中有可能吗?
编辑: 我想稍微解释一下我寻找这样一个功能的原因。我在几个变量中有几个非常复杂的有理函数,希望 SageMath 帮助我证明它们是相同的。它们以不同的方式写下来,如果你用笔和纸来写,你将需要几个小时,而且犯错误的几率会很大。实际上它不仅是几个有理函数,而且是无穷多个。但是在系数中使用变量,你可以只用一个有理函数覆盖无限多个。一个简单的例子是多项式 1+x+x^2+...+x^t。对于每个非负整数,您都会得到一个不同的多项式。但是您可以将 (x^(t+1)-1)/(x-1) 写成有理函数。将 t
作为一个变量,你只用一个有理函数就涵盖了无限多的情况。
有没有办法在 SageMath 中做这些事情?
要将多项式 x^t 创建为多项式环的元素,Sage 需要知道整数 t 等于什么。如果引入未定次数的多项式,大多数 Sage 多项式方法对它们不起作用:无法使用 coefficients()
获取系数列表,或找到因子,或两个多项式的 GCD 等.
但是,您可以像处理任何其他符号表达式一样处理和简化多项式和有理函数。例如:
x,t,k = var('x,t,k')
sum(x^k, k, 1, t)
returns(x^(t + 1) - x)/(x - 1)
。
相关文章是Symbolic Computation and Symbolic Expressions.
我正在使用
R=QQ['x'];
将 x
声明为变量,以便我可以使用 x
中的多项式进行计算。我需要的是另一个变量,例如 t
,来表示一个也可以用作指数的整数。例如,我想考虑多项式 (t+1)x^t。这在 SageMath 中有可能吗?
编辑: 我想稍微解释一下我寻找这样一个功能的原因。我在几个变量中有几个非常复杂的有理函数,希望 SageMath 帮助我证明它们是相同的。它们以不同的方式写下来,如果你用笔和纸来写,你将需要几个小时,而且犯错误的几率会很大。实际上它不仅是几个有理函数,而且是无穷多个。但是在系数中使用变量,你可以只用一个有理函数覆盖无限多个。一个简单的例子是多项式 1+x+x^2+...+x^t。对于每个非负整数,您都会得到一个不同的多项式。但是您可以将 (x^(t+1)-1)/(x-1) 写成有理函数。将 t
作为一个变量,你只用一个有理函数就涵盖了无限多的情况。
有没有办法在 SageMath 中做这些事情?
要将多项式 x^t 创建为多项式环的元素,Sage 需要知道整数 t 等于什么。如果引入未定次数的多项式,大多数 Sage 多项式方法对它们不起作用:无法使用 coefficients()
获取系数列表,或找到因子,或两个多项式的 GCD 等.
但是,您可以像处理任何其他符号表达式一样处理和简化多项式和有理函数。例如:
x,t,k = var('x,t,k')
sum(x^k, k, 1, t)
returns(x^(t + 1) - x)/(x - 1)
。
相关文章是Symbolic Computation and Symbolic Expressions.