SymPy - 矩阵
-
简述
在数学中,矩阵是数字、符号或表达式的二维数组。矩阵操作理论涉及对矩阵对象执行算术运算,但须遵守某些规则。线性变换是矩阵的重要应用之一。许多科学领域,特别是与物理相关的领域,都使用矩阵相关的应用程序。SymPy 包具有处理矩阵处理的矩阵模块。它包括 Matrix 类,其对象表示一个矩阵。Note: If you want to execute all the snippets in this chapter individually, you need to import the matrix module as shown below −Example在 python shell 中执行上述命令时,将生成以下输出 -[1 2 3 2 3 1]矩阵是从适当大小的列表对象创建的。您还可以通过将列表项分布在指定的行数和列数中来获得矩阵。在 python shell 中执行上述命令时,将生成以下输出 -[10 40 30 2 6 9]矩阵是一个可变对象。矩阵模块还提供了 ImmutableMatrix 类来获取不可变矩阵。 -
基本操作
这shapeMatrix 对象的属性返回其大小。上述代码的输出如下 -(2,3)row() 和 col() 方法分别返回指定数量的行或列。上述代码的输出如下 -[10 40 30]上述代码的输出如下 -[40 6]使用 Python 的切片运算符来获取属于行或列的一个或多个项目。Matrix 类具有 row_del() 和 col_del() 方法,可从给定矩阵中删除指定的行/列 -在 python shell 中执行上述命令时,将生成以下输出 -您可以使用以下命令将样式应用于输出 -执行上述代码片段后,您将获得以下输出 -[10 30 2 9]执行上述代码片段后,您将获得以下输出 -[2 9]同样,row_insert() 和 col_insert() 方法在指定的行或列索引处添加行或列执行上述代码片段后,您将获得以下输出 -[10 40 30 2 9]执行上述代码片段后,您将获得以下输出 -[10 40 30 6 9] -
算术运算
通常的运算符 +、- 和 * 被定义用于执行加法、减法和乘法。执行上述代码片段后,您将获得以下输出 -[5 7 9 9 7 5]执行上述代码片段后,您将获得以下输出 -[- 3 -3 -3 -3 -3 -3]矩阵乘法仅在以下情况下可行 - 第一个矩阵的列数必须等于第二个矩阵的行数。- 结果将具有与第一个矩阵相同的行数,以及与第二个矩阵相同的列数。上述代码的输出如下 -[31 29 29 31]执行代码后获得以下输出 -[1 3 2 2 3 1]要计算矩阵的行列式,请使用 det() 方法。行列式是一个标量值,可以从方阵的元素中计算得出。0上述代码的输出如下 -[10 20 30 5 8 12 9 6 15]上述代码的输出如下 --120 -
矩阵构造函数
SymPy 提供了许多特殊类型的矩阵类。例如,单位矩阵、全零和一矩阵等。这些类分别命名为眼睛、零和一。单位矩阵是一个方阵,对角线上的元素设置为 1,其余元素为 0。ExampleOutput上述代码的输出如下 -[1 0 0 0 1 0 0 0 1]在 diag 矩阵中,对角线上的元素根据提供的参数进行初始化。上述代码的输出如下 -[1 0 0 0 2 0 0 0 3]zeros 矩阵中的所有元素都初始化为 0。上述代码的输出如下 -[0 0 0 0 0 0]同样,ones 是所有元素都设置为 1 的矩阵。上述代码的输出如下 -[1 1 1 1 1 1]