当前位置: 首页 > news >正文

Numpy 单位矩阵创建 eye()函数详解

eye()函数的参数设置如下

def eye(N, M=None, k=0, dtype=float, order='C', *, like=None):

N表示行数,M表示列数,k表示偏移,dtype为元素数据类型,order为存储顺序,like表示生成的为与like参数相同类型的数组(这个参数不常用,这里不做演示)

创建3行3列单位矩阵

import numpy as npdata1 = np.eye(3)
print(data1)# [[1. 0. 0.]
#  [0. 1. 0.]
#  [0. 0. 1.]]

一般来说单位矩阵为方阵,所以一般创建标准单位矩阵只需设置行或列数其一即可,但是这里设置行和列两个参数的原因是可以设置类单位矩阵(也就是即使矩阵为非方阵,对角线也默认从左上角开始)

import numpy as npdata1 = np.eye(N = 3,M = 4)
print(data1)# [[1. 0. 0. 0.]
#  [0. 1. 0. 0.]
#  [0. 0. 1. 0.]]

k参数的作用为空值对角线或类对角线的上移或下移,若k>0则上移,反之则下移,数值为移动的单位数

import numpy as npdata1 = np.eye(N = 3,M = 4,k=1)
data2 = np.eye(N = 5,M=4,k=-2)
print(data1,end='\n\n')
print(data2)# [[0. 1. 0. 0.]
#  [0. 0. 1. 0.]
#  [0. 0. 0. 1.]]
# 
# [[0. 0. 0. 0.]
#  [0. 0. 0. 0.]
#  [1. 0. 0. 0.]
#  [0. 1. 0. 0.]
#  [0. 0. 1. 0.]]

order参数为存储顺序,默认为‘C’,也就是按行顺序存储,也可以设置为‘F’,就是按列顺序存储

下面展示内存中的存储状态

import numpy as npdata1 = np.eye(N = 3,M = 4,k=1,order='F')
data2 = np.eye(N = 3,M = 4,k=1,order='C')print(data1.reshape(-1,order='F'))
print(data2.reshape(-1))
# [0. 0. 0. 1. 0. 0. 0. 1. 0. 0. 0. 1.]
# [0. 1. 0. 0. 0. 0. 1. 0. 0. 0. 0. 1.]


http://www.mrgr.cn/news/27201.html

相关文章:

  • 办公必备的高效翻译工具大揭秘
  • Leetcode 每日一题:Decode String
  • 高级java每日一道面试题-2024年9月10日-数据库篇-数据库中的 什么是死锁?如何解决死锁?什么是乐观锁和悲观锁?
  • Java应用的数据库连接池连接池性能测试
  • “MIME 媒体类型“用来标识网络传输内容的格式标准
  • 安卓14剖析SystemUI的ShadeLogger/LogBuffer日志动态控制输出dumpsy机制
  • make 程序规定的 makefile 文件的书写语法(5)
  • C++ 链表
  • Linux python pyinstaller 打包问题
  • 滑动窗口算法—找所有字母异位词
  • Spring的核心思想
  • Python图像处理——计算机视觉中常用的图像预处理
  • [进阶]面向对象之多态(练习)
  • K8S - 用service account 登陆kubectl
  • 服务器数据增量迁移方案-—SAAS本地化及未来之窗行业应用跨平台架构
  • 树莓派交叉编译
  • 用SpringBoot进行阿里云大模型接口调用同步方法和异步方法
  • 第2步VM虚拟机配置网络环境实现DHCP分配IP地址上网
  • AI基础 L21 Quantifying Uncertainty and Reasoning with Probabilities III
  • 2848、与车相交的点