首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

用numpy设置矩阵中交替的非对角线元素

numpy是一个开源的Python科学计算库,提供了丰富的数值计算工具和数据结构,特别适用于处理矩阵和数组。

要设置矩阵中交替的非对角线元素,可以使用numpy的ndarray对象和切片操作来实现。下面是一个示例代码:

代码语言:txt
复制
import numpy as np

# 创建一个3x3的零矩阵
matrix = np.zeros((3, 3))

# 设置交替的非对角线元素为1
matrix[::2, 1::2] = 1
matrix[1::2, ::2] = 1

print(matrix)

输出结果为:

代码语言:txt
复制
[[0. 1. 0.]
 [1. 0. 1.]
 [0. 1. 0.]]

这段代码首先创建了一个3x3的零矩阵,然后使用切片操作将交替的非对角线元素设置为1。其中,[::2, 1::2]表示从第0行开始,每隔一行取值,从第1列开始,每隔一列取值;[1::2, ::2]表示从第1行开始,每隔一行取值,从第0列开始,每隔一列取值。

这种设置交替的非对角线元素的矩阵操作在一些图像处理和模式识别算法中常常用到。

推荐的腾讯云相关产品:腾讯云服务器(CVM)和腾讯云云数据库MySQL。

  • 腾讯云服务器(CVM):提供弹性、安全、稳定的云服务器,可满足各种计算需求。产品介绍链接:https://cloud.tencent.com/product/cvm
  • 腾讯云云数据库MySQL:提供高性能、可扩展的云数据库服务,支持多种规格和容量的实例。产品介绍链接:https://cloud.tencent.com/product/cdb_mysql
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

盘一盘 Python 特别篇 20 - SciPy 稀疏矩阵

‍‍‍‍‍‍‍ 在实际使用 coo_matrix() 语法来创建矩阵,注意产出矩阵格式是COOrdinate。...这种格式要求矩阵元按行顺序存储,每一行元素可以乱序存储。那么对于每一行就只需要用一个指针表示该行元素起始位置即可。...使用两个嵌套列表存储稀疏矩阵: data 保存每行元素值 rows 保存每行元素所在列号 (列号是按顺序排)。...稀疏矩阵使用 offsets 和 data 两个矩阵来表示,其中offsets 表示 data 每一行数据在原始稀疏矩阵对角线位置 k: k > 0, 对角线往右上方移动 k 个单位 k < 0,...三种方法都得到一样结果,但是 diags 方法代码最简洁些。但是如果对角线值都不一样,那么只能用 spdiags 方法,原因是它参数是数组,而不是元素

2K30
  • 对角矩阵单位矩阵_矩阵乘单位矩阵等于

    .) triu(m, k=0) m:表示一个矩阵 k:表示对角线起始位置(k取值默认为0) ''' #k=0表示正常上三角矩阵 b = np.triu(a,0) print(b) ''' [[1 2...:处理对角线函数 numpy.diag()返回一个矩阵对角线元素 numpy.diag(v,k=0) 返回:以一维数组形式返回方阵对角线(或对角线元素 两次使用:np.diag() 将数组类型转化为矩阵...__class__) # print("-----\n") ''' 使用一次np.diag():二维数组提取出对角线元素返回一维数组 ''' #k=0 正常对角线位置...j) #[4 8] print("-----\n") ''' 使用两次np.diag() 获得二维矩阵对角矩阵 先将主对角线元素提取出来,形成一维数组 再将一维数组每个元素作为主对角线上面的元素形成二维数组...print(k.ndim) #2 print("-----\n") ''' 一维数组 ''' #一维数组将数组每个元素作为对角线元素形成二维数组; l = np.array([1,2,3,4])

    1.6K10

    深度学习数学(二)——线性代数

    对角线元素可以为0或其他值。单位矩阵:它是个方阵,从左上角到右下角对角线(称为主对角线)上元素均为1。除此以外全都为0。零矩阵:零矩阵即所有元素皆为0矩阵。...一矩阵:一矩阵即所有元素皆为1矩阵。对称矩阵:是指以主对角线为对称轴,各元素对应相等矩阵。...稀疏矩阵:在矩阵,若数值为0元素数目远远多于0元素数目,并且0元素分布没有规律时,则称该矩阵为稀疏矩阵;与之相反,若非0元素数目占大多数时,则称该矩阵为稠密矩阵。...A和B就是相似矩阵。 如果P是正交阵(P转置乘P=单位阵),得到B就是斜对角阵,主对角线值就是A特征值。 可以此公式对角化一个矩阵。...print(v) # 3x2 分解为 3x3 3x2 2x2 三个矩阵 SVD分解应用:降维(前个零奇异值对应奇异向量表示矩阵主要特征)、 压缩(要表示原来矩阵,我们只需要存三个较小矩阵即可

    78330

    Numpy归纳整理

    . like 创建 新数组,只分配内存空间但不填充任何值 eye、identity 创建一个正方NXN单位矩阵(对角线为1,其余为0) 通用函数 通用函数(即ufunc)是一种对ndarray数据执行元素级运算函数...、isinf 分别返回一个表示“哪些元素是有穷(inf, NaN)”或“哪些元素是无穷布尔型数组 CO5、cosh、sin、 sinh、 tan、tanh 普通型和双曲型三角函数 arccos...(x, y) 集合差,即元素在x且不在y setxor1d(x, y) 集合对称差,即存在于一个数组但不同时存在于两个数组元素 常用numpy.linalg函数 线性代数函数 numpy.linalg...中有一组标准矩阵分解运算以及诸如求逆和行列式之类东西 函数 说明 diag 以一维数组形式返回方阵对角线(或对角线)元素,或将一维组转换为方阵(对角线元素为0) dot 矩阵乘法 trace...有计算对角线元素和 det 计算矩阵行列式 eig 计算方阵本征值和本征向量 inv 计算方阵逆 pinv 计算矩阵Moore-Penrose伪逆 qr 计算QR分解 svd 计算奇异值分解(

    1.2K20

    小孩都看得懂 GAN

    根据上面动图可知,辨别器任务是区分哪些图片是真实,哪些图片是生成器产生。 接下来我们 Python 创建一个极简 GAN。 首先设置一个故事背景。...复习一下: 人脸:对角线上是深色,对角线上是浅色 非人脸:任意四处都可能是深色或浅色 像素可以 0 到 1 数值来表示: 人脸:对角线数值大,对角线数值小 非人脸:任意四处都可能是...该规则被已经分析多次了: 人脸:对角线数值大,对角线数值小 非人脸:任意四处都可能是 0-1 之间任意数值 ---- 现在来看生成过程。...回忆生成器目的是生成人脸,即要保证最终 2*2 矩阵对角线像素要大(粗线表明),而非对角线像素要小(细线表明)。...,对角线数值小。

    49020

    小白机器学习实战——向量,矩阵和数组 小白机器学习实战——向量,矩阵和数组

    -2, -6]]) 对矩阵元素进行操作 # 创建一个方法:对每个元素加10 add_100 = lambda i: i + 10 # 在对numpy数组进行操作时,我们应该尽量避免循环操作,尽可能利用矢量化函数来避免循环...6]]) # 由于稀疏矩阵中非零元素较少,零元素较多,因此可以采用只存储元素方法来进行压缩存储。...# 另外对于很多元素为零稀疏矩阵,仅存储元素可使矩阵操作效率更高,速度更快。 # python不能自动创建稀疏矩阵,所以要用scipy特殊命令来得到稀疏矩阵。...A对角线(从左上方至右下方对角线)上各个元素总和被称为矩阵A迹(或迹数),一般记作tr(A)。...# 先获得矩阵对角线 matrix.diagonal() >>> array([1, 5, 9]) # 对角线求和就是迹 matrix.diagonal().sum() >>> 15 # 秩:在线性代数

    1K40

    炒鸡简单,带你快速撸一遍Numpy代码!

    NumPy 数组元素都需要具有相同数据类型,因此在存储器中将具有相同大小。...[0,1,1]) out:3 #更改某一元素 = 进行赋值和替换即可 a = np.arange(6) a[3] = 7 #先访问,再重新赋值 print(a) [0 1 2 7 4...默认k = 0,取主对角线; k = 1时,取主对角线上面1行元素; k = -1时,取主对角线下面1行元素。 思考:这个函数只能选择主对角线元素,那如果想要获取副对角线元素呢?...X[X > 10] #筛选数组X中大于10数据 这里需要注意是,当输入多个筛选条件时,&表示与,|表示或,~表示。...这里A就是“可广播”矩阵。 上面涉及到乘法是元素对应相乘,也就是点乘,那矩阵叉乘呢?可以了解下numpy.matmul函数。

    1.6K40

    炒鸡简单,带你快速撸一遍Numpy代码!

    NumPy 数组元素都需要具有相同数据类型,因此在存储器中将具有相同大小。...[0,1,1]) out:3 #更改某一元素 = 进行赋值和替换即可 a = np.arange(6) a[3] = 7 #先访问,再重新赋值 print(a) [0 1 2 7 4...默认k = 0,取主对角线; k = 1时,取主对角线上面1行元素; k = -1时,取主对角线下面1行元素。 思考:这个函数只能选择主对角线元素,那如果想要获取副对角线元素呢?...X[X > 10] #筛选数组X中大于10数据 这里需要注意是,当输入多个筛选条件时,&表示与,|表示或,~表示。...这里A就是“可广播”矩阵。 上面涉及到乘法是元素对应相乘,也就是点乘,那矩阵叉乘呢?可以了解下numpy.matmul函数。

    1.5K30

    什么是语义分割_词法分析语法分析语义分析

    (那就对了…) 分析混淆矩阵3个要点:(参考链接) ①矩阵对角线数字,为当前类别预测正确类别数目;对角线数字,预测都是错误!...如:对角线数字5,含义为:预测值为狗,实际是狗预测数目,即:预测正确(同理:数字4);对角线数字1,含义为:预测值为猫,实际是狗预测数目,即:预测错误。...比如:第2列,模型对猫(类别2)预测了1+4=5只(此时,不看预测对与错),再分析,第2列第1行对角线元素,预测错误(预测值是猫,实际是狗),第2列第2行为对角元素,预测正确(预测值是猫,实际是猫),...=n**2) (np.bincount函数学习链接:numpy.bincount详解) 其作用是产生一行n * n个元素向量,向量每个元素存储统计结果,假如该向量为d,则其中d(i*n + j...下面继续引用大佬讲解,遵循:对角都对,横看真实,竖看预测 原则 表格分析注意小点: ①绿色表格对角线元素数字即为该类别预测正确像素点数目,对角线元素都是预测错误,拿最后一行数字1为例,其含义即为有一个原本应属于类别

    1.3K20

    numpy总结

    numpy功能: 提供数组矢量化操作,所谓矢量化就是不用循环就能将运算符应用到数组每个元素。...numpy.convolve()卷积,两个函数相乘,移动窗口均值可以1/窗口长度组成数组和原数组作为参数 numpy.linespace()返回一个元素值在指定范围均匀分布数组...ndarray.prod计算所有元素乘积 numpy.cov()计算两个数组之间协方差矩阵 ndarray.trace计算矩阵迹,即对角线元素之和 numpy.corrcoef...)创建矩阵,矩阵行与行分号隔开,也可以传入已有矩阵,但是不会创建副本 ....0),a)从a抽取能被2整除元素 np.nonzero(a)抽取0元素 np.outer(a数组,b数组)a数组元素*b数组行,生成二维数组 金融专用函数 np.fv()

    1.6K20

    pythonnumpy入门简介

    isnan 返回一个表示“哪些值是NaN(这不是一个数字)”布尔型数组 isfinite, isinf 分别返回一个表示“哪些元素是有限inf,NaN)”或“哪些元素是 无穷布尔型数组...NumPyndarray 快速元素级数组函数 • 二元函数 I 类型 说明 add 将数组对应元素相加 subtract 从第一个数组减去第二个数组元素 multiply 数组元素相乘 divide...in1d(x, y) 得到一个表述"x元素是否包含于y"布尔型数组 setdiff1d(x, y) 集合差,即元素在x且不在y setxor1d(x, y) 集合异或,即存在于一个数组但不同时存在于两个数组元素...函数  diag 以一维数组形式返回方阵对角线(或对角线元素),获将一维数组转换 为方阵(对角线元素为0)。...trace 计算对角线元素和 det 计算矩阵行列式 eig 计算方阵特征值和特征向量 inv 计算方阵逆  #inv(mat)  # 矩阵求逆 pinv 计算矩阵Moore-Penrose伪逆

    1.4K30

    Python AI 教学 | 主成分分析(PCA)原理及其应用

    可以直观地看到,协方差矩阵C是一个对称矩阵,Cij=Cji,对角线是各个特征方差 因为矩阵是一个实对称矩阵,所以具备实对称特征: 1) C不同特征值对应特征向量是正交; 2) C特征值都是实数...,特征向量都是实向量; 3) C可对角化,且相似对角阵上元素即为矩阵本身特征值; 3、根据以上性质,我们可以得到个线性无关零特征向量e1,e2,......,en,这些特征向量构成特征矩阵E=(e1 e2 ... en)满足: ? 上述矩阵是一个对角矩阵,除了对角线有值,其他位置都是0。...对角线是方差,其他位置是协方差,协方差为0,代表着两个向量正交。 假设特征空间转换过程可以表达为Z=XU,矩阵D代入该表达式可以得到: ? 也就是说U=E,U就是矩阵C特征向量所组成矩阵。...矩阵D对角线上每个值就是矩阵C特征值。 4、我们将D特征值按照从大到小,将特征向量从左到右进行排序,然后取其中前K个,经过压缩转换(Z=XU),就得到降维之后数据矩阵Z: ?

    1.9K31

    python3-特征值,特征分解,SVD

    1.设A为n阶矩阵,若存在常数λ及n维零向量x,使得Ax=λx,则称λ是矩阵A特征值,x是A属于特征值λ特征向量。...A所有特征值全体,叫做A谱,记为λ(A) 2.特征分解(Eigendecomposition),又称谱分解(Spectral decomposition)是将矩阵分解为由其特征值和特征向量表示矩阵之积方法...其中Q是这个矩阵A特征向量组成矩阵,Σ是一个对角阵,每个对角线元素就是一个特征值。这里需要注意只有可对角化矩阵才可以作特征分解。...只有对角线上有0元素矩阵称为对角矩阵,或说若一个方阵除了主对角线元素外,其余元素都等于零,则称之为对角阵。 特征值分解是一个提取矩阵特征很不错方法,但是它只是对方阵而言 ? ? ? ?...import numpy as np x=np.mat(np.array([[1.,2.,3.],[4.,5.,6.],[7.,8.,9.]])) print(x) print(np.linalg.det

    1.6K21

    Python|Numpy常用操作

    3)) # 创建单位矩阵 nd6 = np.eye(3) nd7 = np.identity(3) # 创建对角矩阵:主对角线之外元素都为0 nd8 = np.diag((1, 2, 3, 4))...# 创建对称矩阵 X = np.mat([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) A = np.triu(X) # 用于提取主对角线元素 nd9 = A + A.T - np.diag...numpy中提供了arange函数使得我们可以通过循环方式设置起始位置以及步长来生成数组。...04 矩阵运算 numpylinalg模块中提供了很多矩阵运算函数,主要函数如下: diag():以一维数组方式返回方阵对角线元素 dot():矩阵乘法 trace():求矩阵迹(对角线元素和...numpy中提供广播机制让我们能够对不同形状矩阵进行运算,广播兼容原则为: 对齐尾部维度 shape相等或者其中shape元素中有一个为1 ?

    1.4K20

    稀疏矩阵压缩方法

    2.6.2 稀疏矩阵压缩 我们已经可以Numpy二维数组表示矩阵或者Numpynp.mat()函数创建矩阵对象,这样就能够很方便地完成有关矩阵各种运算。...最后,观察稀疏矩阵 ,第一行第一个元素之前共有 个元素;第二行第一个元素之前共有 个元素,第三行第一个元素之前共有 个元素;再记录矩阵中所有的零数字个数...对分块稀疏矩阵按行压缩 coo_matrix 坐标格式稀疏矩阵 csc_matrix 压缩系数矩阵 csr_matrix 按行压缩 dia_matrix 压缩对角线元素稀疏矩阵 dok_matrix...字典格式稀疏矩阵 lil_matrix 基于行列表保存稀疏矩阵元素 下面以csr_matrix为例进行演示。...> 以上创建了一个变量 m引用被压缩过矩阵,从输出信息可知,其中保存了 个元素,也就意味着对应稀疏矩阵中都是零元素

    5K20

    NumPy高级运用】NumPyMatrix与Broadcast高级运用以及IO操作

    Matrix高级运用 Matrix函数作用是返回给定大小标识矩阵。 单位矩阵是一个方阵。从左上角到右下角对角线元素(称为主对角线)均为1,其他所有元素均为0。 !...此模块函数返回一个矩阵,而不是数组对象。 矩阵是行和列元素矩形阵列。 矩阵元素可以是数字、符号或数学表达式。...以下是由6个数字元素组成2行3列矩阵: 转置矩阵NumPy,除了使用NumPy.transpose函数交换数组维度外,还可以使用T属性。。...关键字参数传递数组将自动命名为arr_0、arr_1 Kwds:要保存数组使用关键字名称。 NumPy数组维数称为rank,rank是轴数量,即数组维数。...一维阵列秩是1,二维阵列秩为2,依此类推。 在NumPy,每个线性阵列称为轴,即维度。例如,二维阵列等效于两个一维阵列,第一个一维阵列每个元素都是一维阵列。所以一维数组是NumPy轴。

    56120

    码农眼中数学之~矩阵专栏(附Numpy讲解)

    ,剩下你可以把值带进去验证一下” 2.2.矩阵运算(含幂运算) 2.2.1.加、减 加减比较简单,就是对应元素相加减 (只有 行列都相同矩阵才可以进行) 就不用麻烦 LaTex一行行打了,咱们更方便...上三角矩阵 :主对角线以下都是零方阵 下三角矩阵 :主对角线以上都是零方阵 ?...性质(行列式后面会说) 上(下)三角矩阵行列式为对角线元素相乘 上(下)三角矩阵乘以系数后也是上(下)三角矩阵 上(下)三角矩阵加减法和乘法运算结果仍是上(下)三角矩阵 上(下)三角矩阵矩阵也仍然是上...对角矩阵 :主对角线之外元素皆为0方阵 (单位矩阵属于对角矩阵一种) ?...单位矩阵 :单位矩阵是个方阵(行列相等),从左上角到右下角对角线(称为主对角线)上元素均为1。

    1.7K30

    Python常用库Numpy进行矩阵运算详解

    ) 创建单位矩阵 Numpy.eye(参数 1:N,方阵维度) array_eye = np.eye(5) print(array_eye) 创建对角矩阵 Numpy.diag(参数1:v,主对角线数值...,参数 2:k,对角线元素):K = 0表示主对角线,k 0值选择在主对角线之上对角线元素,k<0值选择在主对角线之下对角线元素 array_diag = np.diag([10, 20...Numpy.copy(参数 1:数组):创建给定array一个副本,还可当做方法。...Numpy.unique(参数 1:a,数组;参数 2:return_index=True/False,新列表元素在旧列表位置;参数 3:return_inverse=True/False,旧列表元素在新列表位置...(参数 1:数组a;参数 2:数组b):查找两个数组相同元素 Numpy.setdiff1d(参数 1:数组a;参数 2:数组b):查找在数组a不在数组b元素 Numpy.union1d(参数

    2.8K21
    领券