问题标签 [sympy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - python中上升最快的阶乘(Pochhammer函数)
我需要计算大数的上升阶乘,到目前为止我发现的最好的是来自 sympy 包sympy package的上升阶乘函数,这非常好,但我仍然需要更快的东西。
我需要的是一个非常快速的版本:
编辑:给定一个上升阶乘,x(n) = x (x + 1)(x + 2)...(x + n-1),我想检索其扩展公式的给定乘数。
例如:
给定: x(6) = x(x + 1)(x + 2)(x + 3)(x + 5)(x + 6)
和扩展形式: x(6) = x**6 + 15*x**5 + 85*x**4 + 225*x**3 + 274*x**2 + 120*x
我想要一些如何获得这些乘数之一(在本例中为 1、15、85、225、274、120)
使用“my_rising_factorial()”效果很好......但真的很慢
python - 如何在python中使用sympy计算表达式
我需要在 python 中使用 sympy 计算下面的表达式吗?
在a=6
,,这种情况b=5
下c=2
如何在python中使用sympy计算表达式?请帮我。
python - 对非数字类型的符号操作
我对允许符号操作的 python 库感兴趣,其中符号和可以是任意类型的未知数。
这是我要编写的代码:
或者一些粗略的近似。它实际上甚至不需要那么聪明,我很高兴不得不调用很多额外的内省方法来获得类似上面的东西(例如,即使逻辑重言式没有直接简化)
我的第一直觉是看sympy,但似乎库强烈假设符号变量必须是数字;我想至少对序列和集合进行操作:
有没有办法让 sympy 理解非数字变量,或者另一个可以做类似事情的库?
jython - Does Sympy 0.7.1 work with Jython?
Does anybody now whether sympy 0.7.1 will work with Jython?
python - 用符号替换子表达式?
我有一个 3x3 矩阵,我计算它的逆矩阵。只有当某些子表达式被新符号替换时,逆才能写得清晰,因为它们出现多次。我可以让 sympy 努力找到这些子表达式并替换它们吗?我尝试了以下方法,但没有成功:
使用 sympy 0.6.7(如果需要,我可以升级)。
编辑:
我升级到 0.7.1-git(准确地说是cf9c01f8f9b4b749a7f59891f546646e4b38e580),然后运行(感谢@PreludeAndFugue 的建议):
获得
嗯,那为什么不把“-ν_xy - 2⋅ν_xz² + 1”换成m呢?
python - 将 Symbol 作为脚本的输入 [sympy]
1.我想在模块中定义一个交互的函数,也可以接受符号变量。
假设函数是
(来源:texify.com)
。
然后我希望它像
我想提示用户输入的原因是我正在考虑具有许多参数的函数。我也在考虑在诸如“f(x)+g(y)=h(z)”之类的方程中使用它,所以如果可以分配变量而不是固定变量,这将很有用。
2.这是我试过的,但没有用。肯德尔的回答解释了原因。
我首先做了一个模块。
两次.py:
然后我跑了
python - sympy - 无法使 nsolve 方法工作
我做了这段代码:
解释器给了我:“分配前引用的局部变量 x”
如果我尝试nsolve(f,x,(0,1))
它会给我:“在给定的容差范围内找不到根......”
(另外,我尝试过findroot(f,(0,1))
没有任何成功(我导入from mpmath import *
然后mp.dps = 30; mp.pretty = True
)。
python - Python-评估= False时表达式相等检查的Sympy问题
在我的项目中,我必须evaluate=false
在创建任何对象时Add
使用Mul
。在这种情况下,当我对这些对象应用相等检查时,我会遇到问题。问题在于参数的顺序。
请考虑以下示例:
结果是false
原样和原样。因此,当比较检查元组是否相等时,它返回. 有什么办法可以得到想要的结果吗?k2.args
(x,y,2)
k1.args
(x,2,y)
false
另外,如果我对元组进行一些操作(例如颠倒顺序然后检查),则在由不同对象形成的情况下(例如 when =k1
和= )它会失败k2
Mul
k1.args
2*x,y
k2.args
2*y,x
我不能在这里使用排序,因为在这种情况下Add([x+y,z],evaluate=False)
,Add([x+z,y],evaluate=False)
它将是两个不同的表达式。此外,如果我使用evalaute=True
, 在这种情况下Add([x+y],x])
将Add([2*x+y])
是相同的,这是我不想要的。
python - 在我的程序中使用“from __future__ import division”,但它没有加载到我的程序中
我在 Python 2 中编写了以下程序来为我的数学问题集进行牛顿法计算,虽然它工作得很好,但由于我不知道的原因,当我最初用%run -i NewtonsMethodMultivariate.py
. 我知道这一点,因为在我加载我的 Python 程序后,输入x**(3/4)
会给出“1”。手动导入新部门后,则x**(3/4)
仍x**(3/4)
如预期的那样。为什么是这样?
我会使用 Python 3 来避免这个问题,但我的 Linux 发行版只为 Python 2 提供 SymPy。感谢任何人都可以提供的帮助。
另外,如果有人想知道,我还没有为 nxn Jacobians 推广这个脚本,只需要在我的问题集中处理 2x2。此外,我正在切片 2x2 零矩阵而不是使用该命令(感谢 eryksun 更正了我的符号,它解决了 zeros 函数的问题。)zeros(2,1)
,因为安装在我的机器上的 SymPy 0.7.1 抱怨“zeros() 只采用一个参数”,尽管wiki另有建议。也许这个命令只适用于 git 版本。