如何将虚拟变量(sympy.core.symbol.Dummy)转换为Sympy中的常规符号?
例如,假设我们想要在一个矩阵的核中找到满足某个方程f(x_1,x_2) = 0的所有向量(x_1,x_2)。
我会把它分成两个步骤。首先:
from sympy import Matrix
M = Matrix( [[1,0],
[0,0] ])
zeros = Matrix([[0],
[0]])
sol = M.gauss_jordan_solve(zeros)[0]
第二: solve f(sol) = 0。
但我不知道如何告诉Sympy将sol的条目视为符号。有什么想法吗?
发布于 2018-08-08 19:21:25
sol.free_symbols
返回sol
中所有符号的集合("free“是一个细节,在这种情况下无关紧要)。如果您想用您选择的其他符号替换它们,那么可以创建新的符号(需要多少)并使用subs
替换它们,如下所示。
from sympy import symbols
dummies = list(sol.free_symbols)
my_syms = symbols("x0:{}".format(len(dummies))) # Example: symbols("x0:3") creates x0, x1, x2
sol = sol.subs(dict(zip(dummies, my_syms)))
https://stackoverflow.com/questions/51754067
复制相似问题