Python 创建符号变量矩阵的标准方法是什么?
我试图找到最好的或者标准的方法来创建一个矩阵(或者,如果你想发疯的话,甚至是张量,尽管我不需要) 我将描述我想到的唯一方法。我找到了方法Python 创建符号变量矩阵的标准方法是什么?,python,matrix,sympy,Python,Matrix,Sympy,我试图找到最好的或者标准的方法来创建一个矩阵(或者,如果你想发疯的话,甚至是张量,尽管我不需要) 我将描述我想到的唯一方法。我找到了方法symarray(): 这两种方法中有哪一种是标准方法?人们通常使用sympy变量创建矩阵的最佳方法是什么?第一种方法是numpy对象,第二种方法是sympy对象。 当你做(矩阵-)乘法时,差别会很明显 初试 sympy.pprint(A*A) 这将生成每个元素均为平方的3x4矩阵(元素相乘) 然后试试看 sympy.pprint(B*B) 这是行不通的,因
symarray
():
这两种方法中有哪一种是标准方法?人们通常使用sympy变量创建矩阵的最佳方法是什么?第一种方法是
numpy
对象,第二种方法是sympy
对象。
当你做(矩阵-)乘法时,差别会很明显
初试
sympy.pprint(A*A)
这将生成每个元素均为平方的3x4矩阵(元素相乘)
然后试试看
sympy.pprint(B*B)
这是行不通的,因为矩阵乘法需要有足够的维数。因此,尝试将B
设置为4x4矩阵,您将得到一个结果(矩阵乘法)
所以使用哪一个取决于您的用例。如果你想做真正的符号数学,那么我建议你坚持第二种方法,尽可能地保持一切的一致性。如果您更喜欢numbercrunching(“numpy的典型用例”),可能会使用一些符号进行增强,那么使用第一种方法
编辑
看看(最近的)我认为创建矩阵的最简单的方法是
C = sympy.MatrixSymbol('C', 4,4)
sympy.pprint(C)
sympy.pprint(C.as_explicit())
type(C)
您会注意到,简单的打印
或sympy.pprint
不会输出矩阵的所有元素,而只输出矩阵符号。您还将注意到,此方法不依赖于numpy
包
sympy.pprint(B*B)
C = sympy.MatrixSymbol('C', 4,4)
sympy.pprint(C)
sympy.pprint(C.as_explicit())
type(C)