sympy 数组包含数字时的 Lambdify 错误

计算科学 Python 符号计算
2021-12-12 23:46:22

这个例子是一个虚拟的例子,但它准确地描述了我的问题发生了什么。

由于一些 sympy 计算和操作,我得到了两个数组

array_1 = ([f_1(x,y)      0         f_3(x,y) ])
array_2 = ([g_1(x,y)   g_2(x,y)     g_3(x,y) ])

其中 f_n(x,y) 和 g_n(x,y) 是复函数。当我打印它们以查看它们是哪种生物时,它们都在表格上

Matrix([[#, #, #]])

正如同情矩阵所预期的那样。

此外,我使用 lambdify 来转换数组

lambda_array_1 = lambdify([x, y], array_1, 'numpy' )
lambda_array_2 = lambdify([x, y], array_2, 'numpy' )

然后我让

x = 1
y = 1
x_array = np.array([x], dtype = complex)
y_array = np.array([y], dtype = complex)

pythonarray_1 = lambda_array_1(x_array , y_array )
pythonarray_1 = np.reshape(pythonarray_1, 3) 

pythonarray_2 = lambda_array_2(x_array , y_array )
pythonarray_2 = np.reshape(pythonarray_2, 3)

当我然后打印我得到的两个pythonarrays

pythonarray_1 = array([array([# + #j]), array([# + #j]), array([# + #j])], dtype=object)

pythonarray_2 = array([# + #j, # + #j, # + #j ])

我需要表单上的数组,如 pythonarray_2 中的那样。

pythonarray_1有什么问题,我该如何修复它,为什么会发生?

0个回答
没有发现任何回复~