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)