8得票1回答
使用SymPy将符号表达式转换为Python函数

我有一个相当大的符号函数,在循环中针对参数的不同值进行评估。在每次迭代中,找到函数的表达式后,会导出偏导数。类似这样: from sympy import diff, symbols,exp def lagrange_eqs(a): x,y,z= symbols('x y z') ...

10得票2回答
在sympy中隔离多元多项式的一个系数的最佳方法

我有一个多元多项式(在一般情况下有许多变量),其系数列出了我需要读取的一些数据,但似乎sympy没有好的方法可以实现这一点。 collect 函数似乎是正确的想法,但当您使用它处理多个变量时,它实际上不会给您单独的单项式,而是给出依赖于您列出变量的顺序的奇怪单项式组合。 有人知道如何解决这...

15得票5回答
简化表达式的运算次数

假设我进行的计算只涉及加法和乘法:(a+b)*(c+d) 这可以用许多其他方法来完成,例如:a*(c+d) + b*(c+d) a*c + a*d + b*c + b*d 对于三个示例所需的加法和乘法操作次数分别为(2,1)(3,2)(3,4)。显然,如果目标是减少总操作次数,则第一个示例更优...

13得票5回答
SymPy中的非连续替换

我想使用[SymPy][1]在同一时间替换表达式中的多个项。我尝试了使用字典作为参数的[subs函数][2],但发现它是按顺序进行替换的。 In : a.subs({a:b, b:c}) Out: c 问题在于第一次替换的结果可以被第二次替换所替代,但这不是我想要的(对我的目的来说)。有...

11得票2回答
SymPy:从对角矩阵创建一个numpy函数,该函数需要一个numpy数组作为输入。

在我找到的一个例子这里基础上,我正在尝试从使用sumpy.diag创建的对角矩阵中创建一个函数。myM = Matrix([ [x1, 4, 4], [4, x2, 4], [4, 4, x3]]) 例如,这是使用此例程创建的:import sympy as sp import numpy...

31得票3回答
有没有类似SymPy的Haskell库?

我需要操作像1 + sqrt(3)这样的表达式,并进行基本算术运算,如加法、减法和除法。我希望结果以某种规范形式呈现,以便可以将其用作映射中的键。将 1 + sqrt(3) 转换为 float 不可行,因为会出现舍入问题。 我在 Python 中使用了 SymPy 完成了这个任务。Haske...

8得票1回答
Content MathML和OpenMath用于模型交换的比较

在我的研究小组里,我们有不同的人员使用不同符号工具进行代数建模,例如Matlab中的符号工具箱和Python中的Sympy。然后将这些模型通常导出为C代码,并将其复制粘贴并适应到我们自己的基于符号C ++的工具中以进行进一步的符号操作。 在寻找替代这种难以维护的方法时,我发现了两种看起来更或...

7得票2回答
计算36x36矩阵的Jordan形式时出现了错误的解释

我一直在尝试计算一个由仅有三个不同的元素1、1/2和0组成的36x36矩阵的Jordan标准形。该矩阵是一个概率转移矩阵,因此,根据这些条目,该矩阵显然是稀疏的。 我遇到的问题是:每当我尝试计算时,我的计算机似乎会崩溃。 [V, J] = jordan(A), 或者 [V, J] =...

23得票4回答
Julia中的符号数学?

我使用Mathematica进行符号数学计算。现在我打算转向其他语言。Matlab(我用来进行标准计算)包括此功能,但我正在考虑使用Julia,因为它似乎是未来趋势。但是,似乎没有可用的符号工具(官方文档中没有提到)。显然唯一可用的软件包(SymPy)在官方网站上显示“测试失败”(http:/...

11得票2回答
在Matlab中构建分段符号函数

我正在尝试在Matlab中生成分段符号函数。之所以要使用符号函数是因为我想在之后能够对函数进行积分/求导并/或者插入实际值。我有以下函数:x^3/6 -> 0 < x <= 1 (1/6)*(-3*x^3+12*x^2-12x+4) -> 1 < ...