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

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 np

data1 = np.eye(3)
print(data1)

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

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

import numpy as np

data1 = 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 np

data1 = 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 np

data1 = 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.kler.cn/a/304738.html

相关文章:

  • 【计算机网络】UDP网络程序
  • Could not initialize class sun.awt.X11FontManager
  • HAproxy 详解
  • 【vue2.0入门】vue基本语法
  • JVM详解:JVM的系统架构
  • 2024版本IDEA创建Sprintboot项目下载依赖缓慢
  • 如何管理付费媒体预算:分配、风险与扩展
  • 企业数字化转型建设方案(数据中台、业务中台、AI中台)(可编辑的188页WORD)
  • 助力汽车半导体产业发展,2025 广州国际新能源汽车功率半导体技术展览会与您相约“羊城”广州
  • pm2 进程守护python flask
  • 《订单来了2024中秋预订趋势报告》发布:截至9月13日,商家中秋预订率上涨42.73%,山西文化巡礼成顶流
  • 2024年8月HarmonyOS鸿蒙应用开发者高级认证全新题库
  • JavaScript --函数的作用域(全局和局部)
  • Java面试篇基础部分-垃圾回收算法
  • 科研定制化无人机硬件技术详解
  • Leetcode面试经典150题-141.环形链表
  • CSP-J 算法基础 深度优先搜索
  • 如何通过 Apache Camel 将数据导入 Elasticsearch
  • cityengine修改纹理创建模型
  • 速通sass基础语法
  • OpenHarmony(鸿蒙南向开发)——标准系统移植指南(二)Linux内核
  • samba提速
  • roctracer 的应用示例
  • 6- 【JavaWeb】Maven管理项目
  • html+css+js网页设计 旅游 厦门旅游网11个页面
  • K8s利用etcd定时备份集群结合钉钉机器人通知