首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在Sympy中将虚拟符号转换为符号

在Sympy中将虚拟符号转换为符号
EN

Stack Overflow用户
提问于 2018-08-08 19:13:06
回答 1查看 299关注 0票数 0

如何将虚拟变量(sympy.core.symbol.Dummy)转换为Sympy中的常规符号?

例如,假设我们想要在一个矩阵的核中找到满足某个方程f(x_1,x_2) = 0的所有向量(x_1,x_2)。

我会把它分成两个步骤。首先:

代码语言:javascript
运行
AI代码解释
复制
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的条目视为符号。有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-08 19:21:25

sol.free_symbols返回sol中所有符号的集合("free“是一个细节,在这种情况下无关紧要)。如果您想用您选择的其他符号替换它们,那么可以创建新的符号(需要多少)并使用subs替换它们,如下所示。

代码语言:javascript
运行
AI代码解释
复制
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)))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51754067

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档