我正在尝试解决一个一致的线性系统,该系统具有(先验的)未知数n个方程和变量n(相同的数字,因此系统已知有一个独特的解决方案,我们只是不知道是什么n。)。
我用符号创建我的变量,用它们创建一个元组,但solve_linear_system似乎不能用它来工作(甚至在转换为列表之后)。 MWE:
from sympy import *
#The next line is just an example, I don't know size a priori
system=Matrix(((2,1,-1,-2),(2,2,0,-4),(1,1,-1,-1)))
n=3
dd=symbols('a0:%d'%n)
solve_linear_system(system, dd, rational=true )
最后一行返回一个空列表。但是,如果我手动创建单独的变量,它将返回解决方案。
我做错了什么?
答案 0 :(得分:3)
您需要使用*
运算符将元组dd
解压缩到solve_linear_system()
的参数列表中(就像用逗号分隔的手工键入时一样)。尝试用以下代码替换示例的最后一行:
solve_linear_system(system, *dd, rational=True )
应该可以正常工作。请注意,在您的MW示例中,未定义n
。