【发布时间】:2015-06-01 00:03:57
【问题描述】:
我可以使用 SymPy 或其他软件来简化这样一个系列的总和吗?
我可以简化这些系列的总和{i}:
summation(i, (i, 1, n))
不知道如何处理带下标的系列{a_i}
a_1, a_2, a_3, a_4 = symbols("a_1 a_2 a_3 a_4")
说,我有一个方程式a_1 + a_2 + ... + a_100 - x = 0。答案将是:
x = a_1 + a_2 + ... + a_100。
它太长了。我想用其他一些符号i 和函数summation 来缩短它,比如x = summation(a_i, (i, 1, 100 ))。
代码Sum(Indexed("x", i), (i, 1, 4)).doit() 将得到结果x[1] + x[2] + x[3] + x[4]。但是,我想扭转这个过程。我想要代码somefunction(x[1]+x[2]+x[3]+x[4]) 得到结果Sum(Index("x", i), (i, 1, 4))。
【问题讨论】:
-
你的问题是检测你输入了一个系列,输出了封闭的形式表达式吗?我的数学术语可能不正确。但我认为在这种情况下,下面的答案并不能回答你的问题。
-
是的,我只是想让表达式更短。
-
docs.sympy.org/0.7.1/modules/simplify/simplify.html 答案可能在那里。我自己从来没有这样做过。
-
不清楚你在问什么。如果你展示你尝试过的东西,它可能有助于澄清问题。
-
可能重复:stackoverflow.com/questions/26402387/…。 (我认为你通过标记一堆其他语言来混淆这个问题,顺便说一句)