python实现由数组生成对称矩阵
作者:快到皖里来 发布时间:2022-12-09 15:01:53
标签:对称矩阵
在实际应用中,经常会遇上这样的小需求:根据一段给定的数组,生成由这一段数组值构成的对称矩阵。
例如,给定数组[1,2,3,4,5,6,7,8,9,10],要求生成如下的矩阵:
[[0,1,2,3,4],
[1,0,5,6,7],
[2,5,0,8,9],
[3,6,8,0,10],
[4,7,9,10,0]]
其中,对角元全为0,该类型的矩阵完全由给定的数组决定。
笔者给出实现以上功能的一种python参考代码如下:
def semi_to_full(m):
import numpy as np
n = len(m)
n_matrix = int((1+int((1+8*n)**0.5))/2)
semi_matrix = np.zeros((n_matrix,n_matrix),dtype='int32')
start_index = 0
for row in range(n_matrix-1):
end_index = start_index+(n_matrix-1-row)
semi_matrix[row,row+1:]=m[start_index:end_index]
start_index = end_index
full_matrix = semi_matrix+semi_matrix.T
return full_matrix
代码逻辑如此:先得到数组长度以推定出所欲生成矩阵的规格,接着按照数组值的顺序生成矩阵的上对角元,最后利用对称性完成整个矩阵输出。
该函数参数只有一个,即给定的numpy数组。
来源:https://www.cnblogs.com/pythonfl/p/14730971.html
0
投稿
猜你喜欢
- 一、TensorFlow模型保存和提取方法1. TensorFlow通过tf.train.Saver类实现神经网络模型的保存和提取。tf.t
- SqlBulkCopy 来自数据源的 String 类型的给定值不能转换为指定目标列的类型 nvarchar。 在网上找了下,大都说是因为数
- 通常我们用 Python 绘制的都是二维平面图,但有时也需要绘制三维场景图,比如像下面这样的:这些图怎么做出来呢?今天就来分享下如何一步步绘
- jupyter notebook 图片显示模糊的解决办法加入这几行代码即可:矢量图设置import matplotlib.pyplot as
- 目录十大经典的排序算法 一、交换排序1、冒泡排序(前后比较-交换)2、快速排序(选取一个基准值,小数在左大数在右)二、插入排序1、
- 原理使用python win32 库 调用word底层vba,将word转成pdf安装pywin32pip install pywin32p
- 本文实例讲述了Python通过PIL获取图片主要颜色并和颜色库进行对比的方法。分享给大家供大家参考。具体分析如下:这段代码主要用来从图片提取
- 字符串的表示方式单引号 ' '双引号 " "多引号 """ "&
- 一份基于cnn的手写数字自识别的代码,供大家参考,具体内容如下# -*- coding: utf-8 -*-import tensorflo
- 本文实例讲述了Python实现将Excel转换成xml的方法。分享给大家供大家参考,具体如下:最近写了个小工具 用于excel转成xml直接
- 前言本文给大家详细介绍了解决php-fpm.service not found问题的相关内容,文中介绍的非常详细,下面来一起看看详细的介绍:
- 数据库计算机 databasecomputer 实现数据库的存储、管理和控制的一种专用计算机系统。它能十分快速而有效地完成各种数据库操作,并
- 记得之前跟我女票说过,说要帮她空间点赞,点到999就不点了。刚开始还能天天记得,但是后来事情一多,就难免会忘记,前两天点赞的时候忽然觉得这样
- UNIX时间戳转换为日期用函数FROM_UNIXTIME()select FROM_UNIXTIME(1156219870);日期
- 第一种方法:这个是删除单字段图片的代码。比较简单,因为图片字段已经预先存在数据库表的bookpic的字段里面了。 代码如下: <!-
- 微博热搜的爬取较为简单,我只是用了lxml和requests两个库url= https://s.weibo.com/top/summary?
- 前言其实Python 的列表(list)内部实现是一个数组,也就是一个线性表。在列表中查找元素可以使用 list.index() 方法,其时
- SQL语句更改表所有者SQL语句更改表所有者单个修改所有者sql语句如下:查询分析器输入:EXEC sp_changeobject
- 如果你的网站涉及个人隐私或者机密性非公开的网页,怎样告诉禁止搜索引擎收录抓取,下面侯庆龙说下以下方法,希望对不想被搜索引擎收录抓取网站有所帮
- 本文实例讲述了python更新列表的方法。分享给大家供大家参考。具体如下:aList = [123, 'abc', 4.56