我正在用python实现一个数据处理流。我试图尽可能多地使用符号计算(sympy
和numpy
),以获得与代码一致的清晰文档。因此,当我试图得到点积并将其用于实矩阵时(通过lambdify
),我得到了其他一些东西:
import numpy as np
from sympy import *
init_printing()
A = Matrix([[1, 2], [1, 100]])
B = Matrix([[3, 4], [10, 1000]])
AA = MatrixSymbol('A',2,2)
BB = MatrixSymbol('B',2,2)
mulab = lambdify([AA,BB],AA*BB)
print(mulab(A,B))
print(A*B)
给予
[7, 1010, 406, 100020]
Matrix([[23, 2004], [1003, 100004]])
Link to the live version of code
有人遇到过类似的问题吗?有解决办法吗?你知道吗
先谢谢你。你知道吗
lambdify
创建一个应该在NumPy数组上使用的函数。如果将SymPy对象传递给此函数,则结果行为未定义。如果要在SymPy表达式上计算SymPy表达式,只需使用SymPy表达式,使用subs
替换表达式。你知道吗如果您有NumPy数组,则此时您要使用lambdify:
相关问题 更多 >
编程相关推荐