📜  Python中的Pymatrix模块

📅  最后修改于: 2022-05-13 01:54:54.624000             🧑  作者: Mango

Python中的Pymatrix模块

Pymatrix 是一个轻量级的矩阵库,支持基本的线性代数运算。矩阵中的元素应该是数字类型以支持基本的代数运算——int、float、rational、complex。

实例化矩阵

  1. 使用矩阵构造函数
    可以使用 pymatrix 库中 Matrix 类的构造函数来初始化矩阵。
  1. 例子:
Python3
import pymatrix
 
 
m = pymatrix.Matrix(2, 3, fill = '2')
print(m)


Python3
import pymatrix
 
 
list = [[1, 2, 3], [6, 4, 7], [3, 9, 1]]
m = pymatrix.Matrix.from_list(list)
print(m)


Python3
import pymatrix
 
 
string = '''1 2 3
       6 4 7
       3 9 1'''
 
m = pymatrix.Matrix.from_string(string)
print(m)


Python3
# Python program for Matrix methods
from pymatrix import Matrix
 
 
# identity matrix of size 2
identity_matrix = Matrix.identity(2)
print('\nIdentity matrix :')
print(identity_matrix)
 
m = Matrix.from_list([[1,2,1],[2,1,1],[1,1,1]])
 
print('\nIs a square matrix :')
print(m.is_square())
 
print('\nIs an invertible matrix :')
print(m.is_invertible())
 
print('\nInverse :')
print(m.inv())
 
print('\nDeterminant :')
print(m.det())
 
print('\nRank :')
print(m.rank())
 
print('\nTranspose :')
print(m.trans())
 
print('\nAdjoint :')
print(m.adjoint())


  1. 输出:
2 2 2
2 2 2
  1. 使用列表列表
    我们可以使用 from_list() 方法将列表列表转换为矩阵,其中每个列表都被视为一行。例子-

Python3

import pymatrix
 
 
list = [[1, 2, 3], [6, 4, 7], [3, 9, 1]]
m = pymatrix.Matrix.from_list(list)
print(m)
  1. 输出:
1 2 3
6 4 7
3 9 1
  1. 使用字符串
    我们可以使用 from_string() 方法将字符串转换为矩阵对象。该字符串用三引号括起来,每一行都被视为一行。例子

Python3

import pymatrix
 
 
string = '''1 2 3
       6 4 7
       3 9 1'''
 
m = pymatrix.Matrix.from_string(string)
print(m)
  1. 输出:
1 2 3
6 4 7
3 9 1

矩阵方法

以下是 pymatrix 库中提供的一些方法:

  • identity( n ) -创建给定大小的单位矩阵。这将返回一个 Matrix 类的对象。
  • is_square() -检查给定矩阵是否为方阵。这将返回一个布尔值。
  • is_invertible() -检查给定矩阵是否可逆。这将返回一个布尔值。
  • inv() –如果存在则返回逆矩阵,否则引发 MatrixError 异常。
  • det() –如果是方阵则返回行列式矩阵,否则引发 MatrixError('non-square matrix does not have determinant') 异常。
  • rank() –返回矩阵的秩,秩为整数类型。
  • trans() –返回矩阵的转置。
  • adjoint() –返回伴随矩阵。

例子:

Python3

# Python program for Matrix methods
from pymatrix import Matrix
 
 
# identity matrix of size 2
identity_matrix = Matrix.identity(2)
print('\nIdentity matrix :')
print(identity_matrix)
 
m = Matrix.from_list([[1,2,1],[2,1,1],[1,1,1]])
 
print('\nIs a square matrix :')
print(m.is_square())
 
print('\nIs an invertible matrix :')
print(m.is_invertible())
 
print('\nInverse :')
print(m.inv())
 
print('\nDeterminant :')
print(m.det())
 
print('\nRank :')
print(m.rank())
 
print('\nTranspose :')
print(m.trans())
 
print('\nAdjoint :')
print(m.adjoint())

输出:

Identity matrix :
1 0
0 1

Is a square matrix :
True

Is an invertible matrix :
True

Inverse :
 0.0  1.0 -1.0
 1.0  0.0 -1.0
-1.0 -1.0  3.0

Determinant :
-1.0

Rank :
3

Transpose :
1 2 1
2 1 1
1 1 1

Adjoint :
 0.0 -1.0  1.0
-1.0  0.0  1.0
 1.0  1.0 -3.0