gpt4 book ai didi

python - 符号计算中基本代数假设的双向识别

转载 作者:行者123 更新时间:2023-11-30 23:31:16 26 4
gpt4 key购买 nike

在一些符号计算框架(如 Sage)上,我定义了“a=b+c”,当查询“a”时,我得到了“b+c”,结果符合预期。但是当我查询“b”时,我得到的是“b”,而不是“a-c”和“b”在一起。遵循与 'k=m' 的定义相同的逻辑;我希望针对“m”的查询获得结果“k”和“m”。一个变量可以是其他变量的一部分,当我探测变量时,我希望它本身及其所有关联都在输出中列出。我试图解释的案例的事实上的术语是什么?至少应该有一种方法可以在不定义每个变量组合的情况下实现这一目标。

最佳答案

执行a = b不会起到告诉系统变量之间的某些逻辑关系的作用。它所做的只是将 Python 变量 a 分配给 b 的值。请参阅http://docs.sympy.org/latest/tutorial/gotchas.html#symbols (它在 Sage 中的工作方式也基本相同)。理解符号和编程语言变量之间的区别在这里至关重要。在 Python(Sage 和 SymPy 使用的)中,= 分配给编程语言变量。它没有数学意义。

要表示数学等式,您需要在 Sage 中使用 == 或在 SymPy 中使用 Eq()。如果您想获得用其他符号表示的符号,您应该使用 solve()。例如,在 SymPy 中。

>>> a, b, c, k, m = symbols('a b c k m')
>>> eq1 = Eq(a, b + c)
>>> eq2 = Eq(k, m)
>>> solve([eq1, eq2], b)
{b: a - c}
>>> solve([eq1, eq2], m)
{m: k}

关于python - 符号计算中基本代数假设的双向识别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20039200/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com