问题标签 [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 - 使用 PySide 渲染乳胶 / mathml
我有一个小程序,它使用 SymPy 的“漂亮打印”工具即时呈现键入的方程。这工作正常,但看起来不是很专业。由于 SymPy 将产生乳胶或 mml,我想知道这些是否可以使用 PySide 小部件以图形方式呈现?我显然需要更改'QTextBrowser()',但我不确定。我知道诺基亚提供了 QtMmlWidget,但我不确定 PySide 是否可以使用它。
非常感谢和最良好的祝愿。
python - 从 sympy / svgmath 生成 SVG 时出错
我正在尝试使用 sympy 和 svgmath 将代数渲染为 SVG。我在根目录中有文件'svgmath.xml'。不幸的是,我得到:'ImportError:没有名为 libxml2 的模块'。我不确定解决这个问题的最佳方法。我将不胜感激任何帮助/建议。我的代码是:
堆栈跟踪现在是:
我修改后的代码:
这无法生成有效的 SVG 文件并给出:
python - 在 python 中显示 sympy 渲染的 svg 的问题
我有以下程序,它使用 sympy 和 svgmath 来呈现用户的代数表达式。它几乎可以工作,但有几个问题:
- 直到程序退出,svg 才真正产生,因此显然无法显示。
- 有没有办法提高性能(不是每次都查找'svgmath.xml'等)?
- 是否需要生成实际的 svg 文件?svgmath 可以直接将输出传递给 QSvgWidget 吗?
非常感谢和最良好的祝愿。
python - 参数比例与数学表达式
检查数学表达式中的参数增加是增加还是减少整个表达式的最佳方法是什么(在 Python 中,最好是 SymPy)?
假设:所有参数都是正数(即 > 0)。
示例A*B/(A+C)
:A
应与表达式成正比,C
应与表达式成反比。
一个明显的解决方案是将 1 分配给所有参数,将 1 和 100 分别分配给 C 并 apply eval()
,但这非常粗糙并且可能会产生错误(例如,(A-B)/C
最好的情况是给出错误而不是错误结果)。
python - 在 Python 中测试数学表达式的等价性
我在 Python 中有两个字符串,
和
它们都是无序集(A,C)和无序集(B)的等价函数。m 和 s 表示可以在同一单元之间交换但不能与另一个单元交换的单元。
到目前为止,我正在对 A、B 和 C 进行排列,并使用 eval 和 SymPy 的 == 运算符对其进行测试。这有多个缺点:
- 对于更复杂的表达式,我必须生成大量排列(在我的情况下为 8 个嵌套 for 循环)
- 我需要将 A、B、C 定义为符号,当我不知道我将拥有哪些参数时,这不是最佳选择(因此我必须生成所有这些参数 -> 效率极低并弄乱了我的变量命名空间)
有没有一种pythonian方法来测试这种等价性?它应该可以使用任意表达式。
python - SymPy 自动处理表达式
我一直在使用 SymPy 将表达式转换为乳胶(然后由 Matplotlib 渲染)。例如
问题是它会自动处理表达式,所以 2*x + 3*x 自动变成 5*x 等等;这不是我想要的(不要问!)。
python - 如何在平面上绘制 2 个变量
假设我有一个等式:
如何使用 sympy、matplotplib 或其他 python 解决方案查看圆圈?
我知道我可以
但后来我得到z = x**2 + y**2 - 4
了一个 3D 图形,而不是平面交叉点。我知道可能需要求解方程。
python - Matplotlib 轮廓不工作
我正在尝试绘制蝙蝠侠方程。sympy 或 matplotlib 中的解决方案会很棒(因为我使用的是 Windows,所以 Sage 并不酷)。问题是,如果我注释掉某些部分,图形的一部分会出现,但所有F *=
部分都会出现,我得到一个空白图。
这里发生了什么?如果图表对于一个被乘数为零,那么无论我在其中放入哪些其他被乘数,它都应该是零。
蝙蝠侠方程的来源:http ://www.reddit.com/r/pics/comments/j2qjc/do_you_like_batman_do_you_like_math_my_math/
python - 在 SymPy 中自动填充矩阵元素
有没有办法按照以下规则在 SymPy 中隐式定义符号矩阵的元素,例如:符号后跟矩阵中的子索引(或数字对)
例如,我想定义一个名为 的 3 x 2 矩阵M
,我希望 SymPy 自动创建它并将其填充为:
如果无法隐式执行此操作,那么显式执行此操作(例如循环)的最简单方法是什么?
python - 在 SymPy 中选择不同的表达式分解
假设我有如下表达式:
可以将其分解为:
或作为
或作为
在其他可能性中。
对于其他表达式,可能性的数量可能会大得多。
我的问题是,SymPy 是否有任何实用程序允许用户选择显示哪些?在表达式中分解/分组术语时,有没有办法指定要使用的公因子?
编辑:正如@user772649 在下面指出的,我可以使用collect
它。但是,collect
似乎根据数学表达式的初始分解给出不同的输出,例如:
印刷:
等式eq1
和eq2
在数学上是等价的,但是collect
为它们中的每一个输出不同的因式分解,尽管对collect
命令的调用对于两者来说是相同的。这使我想到以下两个问题:
- 有没有办法在调用之前“扩展”表达式
collect
? - 有没有一种方法可以“收集”(分解一个表达式)以一种对初始分解不变的方式,而不必先扩展表达式?