numpy 矩阵运算
时间: 2024-12-28 22:20:51 浏览: 4
### 如何使用 NumPy 进行矩阵运算
#### 导入库
为了能够利用 NumPy 的强大功能来进行矩阵运算,首先需要导入该库。这可以通过简单的 `import` 语句来完成[^1]。
```python
import numpy as np
```
#### 创建矩阵
一旦成功导入了 NumPy 库之后,就可以着手创建所需的矩阵对象。这里展示了两种常见的创建方式——一种是从列表转换而来;另一种则是直接调用 NumPy 函数生成特定模式的数据集[^2]。
##### 使用数组构建矩阵
可以将 Python 列表传递给 `np.array()` 来快速构造一个二维数组表示的矩阵:
```python
matrix_a = np.array([[1, 2], [3, 4]])
print(matrix_a)
```
##### 调用专用函数生成特殊类型的矩阵
除了手动输入外,还可以借助于一些预定义的方法来自动生成具有固定结构特征的矩阵,比如单位阵(identity matrix),全零/一填充的方阵等:
```python
eye_matrix = np.eye(3) # 单位阵 (3x3)
zero_matrix = np.zeros((2, 2)) # 零矩阵 (2x2)
ones_matrix = np.ones((2, 3)) # 全部元素均为1的矩形矩阵 (2x3)
print("Eye Matrix:\n", eye_matrix)
print("\nZero Matrix:\n", zero_matrix)
print("\nOnes Matrix:\n", ones_matrix)
```
#### 基本算术操作
有了上述准备好的矩阵后,便可以直接对其进行加减乘除四则混合计算以及其他更复杂的变换处理。下面列举了几种典型的操作案例及其对应的实现代码片段。
##### 加法与减法
两个相同尺寸大小的矩阵之间支持逐元素除法以及相加求和:
```python
add_result = matrix_a + eye_matrix[:2,:2]
sub_result = matrix_a - eye_matrix[:2,:2]
print("Addition Result:\n", add_result)
print("\nSubtraction Result:\n", sub_result)
```
##### 点积(内积)
对于任意形状匹配的一对或多维张量而言,可通过 `.dot()` 方法或者 @ 符号来执行标准意义上的点乘累积求和过程:
```python
product_result = matrix_a.dot(np.transpose(matrix_a))
alt_product_result = matrix_a @ np.linalg.inv(matrix_a)
print("Dot Product Result:\n", product_result)
print("\nAlternative Dot Product with Inverse:\n", alt_product_result)
```
#### 高级特性
除此之外,在实际编程过程中还经常需要用到诸如转置、求逆等一系列高级属性访问接口。这些都已经被集成到了 NumPy 当中并提供给了开发者们方便快捷地调用[^3]。
##### 获取行列式的值
如果想要获取某个正方形矩阵所对应的空间体积缩放比例因子,则可采用如下所示的方式读取其绝对意义下的行列式数值:
```python
determinant_value = np.linalg.det(matrix_a)
print("Determinant Value:", determinant_value)
```
##### 计算逆矩阵
当面对非奇异性的满秩情况时,即存在唯一解的情形下,允许我们尝试去寻找原初系数矩阵 A 关联起来的那个伴随矩阵 B ,满足 AB=BA=E (E 表示同阶单位阵)。此时只需简单调用一次 `linalg.inv()` 就能搞定一切麻烦事啦!
```python
inverse_matrix = np.linalg.inv(matrix_a)
print("Inverse Matrix:\n", inverse_matrix)
```
阅读全文