NumPy 单位矩阵

所谓的单位矩阵,指的行数和列数相同,然后从左上角到右下角对角线上的元素都是 1,其他元素都是 0,如下图所示。

NumPy单位矩阵

在 NumPy 中,常用的创建单位矩阵的函数有以下 2 种:

  • numpy.eye()
  • numpy.identity()

numpy.eye() 创建单位矩阵

在 NumPy 中,我们可以使用 eye() 函数来创建一个单位矩阵(本质上是一个二维数组)。该单位矩阵主对角线上的元素为 1,其余元素为 0。

语法:

numpy.eye(m, n=None, k=0)

说明:

eye() 函数的常用参数有以下 2 个。

  • m(必选)数组的行数。
  • n(可选):数组的列数。如果为 None,则 n 等于 m。
  • k(可选,默认:0):对角线的索引:0(默认)表示主对角线,正值表示上对角线,负值表示下对角线。

示例 1:numpy.eye() 基本用法

import numpy as np

arr1 = np.eye(3)          # 创建一个 3×3 的单位矩阵
arr2 = np.eye(3, 4, k=1)    # 创建一个 3×4 的数组,上对角线上的元素为 1

print(arr1)
print(arr2)

运行结果如下。

[[1. 0. 0.]
 [0. 1. 0.]
 [0. 0. 1.]]

[[0. 1. 0. 0.]
 [0. 0. 1. 0.]
 [0. 0. 0. 1.]]

分析:

numpy.eye(3) 等价于 np.eye(3, 3, k=0),表示创建一个 3 × 3 的单位矩阵。

numpy.eye(3, 4, k = 1) 表示创建一个 3 × 4 的单位矩阵,且主对角线向上偏移了 1,因此主对角线上方的元素被置为 1。

numpy.identity() 创建单位矩阵

在 NumPy 中,我们还可以使用 identity() 函数来创建一个单位矩阵。

语法:

numpy.identity(n, dtype=None)

说明:

identity() 函数的常用参数有以下 2 个。

  • n(必选):数组的行数(或列数)。
  • dtype(可选):数组的数据类型。

示例 2:numpy.identity() 基本用法

import numpy as np

print(np.identity(2))
print(np.identity(3))
print(np.identity(4))

运行结果如下。

[[1. 0.]
 [0. 1.]]

[[1. 0. 0.]
 [0. 1. 0.]
 [0. 0. 1.]]

[[1. 0. 0. 0.]
 [0. 1. 0. 0.]
 [0. 0. 1. 0.]
 [0. 0. 0. 1.]]

分析:

np.identity(n) 只接收一个参数 n,它会创建一个 n×n 的方阵,其主对角线元素都为 1。这个函数不能用于创建非方阵或偏移对角线。

上一篇: NumPy 矩阵

下一篇: NumPy 对角矩阵

给站长反馈

绿叶网正在不断完善中,小伙伴们如果发现任何问题,还望多多给站长反馈,谢谢!

邮箱:lvyenet@vip.qq.com

「绿叶网」服务号
绿叶网服务号放大
关注服务号,微信也能看教程。
绿叶网服务号