Python创建对称矩阵的方法示例【基于numpy模块】


Posted in Python onOctober 12, 2017

本文实例讲述了Python创建对称矩阵的方法。分享给大家供大家参考,具体如下:

对称(实对称)矩阵也即:Python创建对称矩阵的方法示例【基于numpy模块】

step 1:创建一个方阵

>>> import numpy as np
>>> X = np.random.rand(5**2).reshape(5, 5)
>>> X
array([[ 0.26984148, 0.25408384, 0.12428487, 0.0194565 , 0.91287708],
  [ 0.31837673, 0.35493156, 0.74336268, 0.31810561, 0.04409245],
  [ 0.06644445, 0.8967897 , 0.10990936, 0.05036292, 0.72581982],
  [ 0.94758512, 0.21375975, 0.36781736, 0.1633904 , 0.36070709],
  [ 0.53263787, 0.18380491, 0.0225521 , 0.91239367, 0.75521585]])

step 2:保留其上三角部分

>>> X = np.triu(X)
# 保留其上三角部分
>>> X
array([[ 0.26984148, 0.25408384, 0.12428487, 0.0194565 , 0.91287708],
  [ 0.  , 0.35493156, 0.74336268, 0.31810561, 0.04409245],
  [ 0.  , 0.  , 0.10990936, 0.05036292, 0.72581982],
  [ 0.  , 0.  , 0.  , 0.1633904 , 0.36070709],
  [ 0.  , 0.  , 0.  , 0.  , 0.75521585]])

step 3:将上三角”拷贝”到下三角部分

>>> X += X.T - np.diag(X.diagonal())
>>> X
array([[ 0.26984148, 0.25408384, 0.12428487, 0.0194565 , 0.91287708],
  [ 0.25408384, 0.35493156, 0.74336268, 0.31810561, 0.04409245],
  [ 0.12428487, 0.74336268, 0.10990936, 0.05036292, 0.72581982],
  [ 0.0194565 , 0.31810561, 0.05036292, 0.1633904 , 0.36070709],
  [ 0.91287708, 0.04409245, 0.72581982, 0.36070709, 0.75521585]])

注意,要减去一次对角线上的元素。因为上三角cov,和下三角cov.T在进行相加时会把主对角线上的元素相加两次。

step 4:测试

>>> X.T == X
array([[ True, True, True, True, True],
  [ True, True, True, True, True],
  [ True, True, True, True, True],
  [ True, True, True, True, True],
  [ True, True, True, True, True]], dtype=bool)

更多关于Python相关内容可查看本站专题:《Python数学运算技巧总结》、《Python正则表达式用法总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python使用百度翻译进行中翻英示例
Apr 14 Python
Python输出PowerPoint(ppt)文件中全部文字信息的方法
Apr 28 Python
基于python爬虫数据处理(详解)
Jun 10 Python
使用python的pexpect模块,实现远程免密登录的示例
Feb 14 Python
聊聊python里如何用Borg pattern实现的单例模式
Jun 06 Python
Python小程序 控制鼠标循环点击代码实例
Oct 08 Python
python使用matplotlib绘制雷达图
Oct 18 Python
使用python绘制二维图形示例
Nov 22 Python
使用pyqt5 tablewidget 单元格设置正则表达式
Dec 13 Python
python多线程使用方法实例详解
Dec 30 Python
python+pygame实现坦克大战小游戏的示例代码(可以自定义子弹速度)
Aug 11 Python
手把手教你从PyCharm安装到激活(最新激活码),亲测有效可激活至2089年
Nov 25 Python
Python中的浮点数原理与运算分析
Oct 12 #Python
python中获得当前目录和上级目录的实现方法
Oct 12 #Python
Python实现的十进制小数与二进制小数相互转换功能
Oct 12 #Python
Python调用C# Com dll组件实战教程
Oct 12 #Python
python 实现一个贴吧图片爬虫的示例
Oct 12 #Python
Python实现曲线点抽稀算法的示例
Oct 12 #Python
python去除字符串中的换行符
Oct 11 #Python
You might like
Session的工作方式
2006/10/09 PHP
php表单提交实例讲解
2015/11/12 PHP
php格式文件打开的四种方法
2018/02/24 PHP
PHP实现无限极分类的两种方式示例【递归和引用方式】
2019/03/25 PHP
读取input:file的路径并显示本地图片的方法
2013/09/23 Javascript
从QQ网站中提取的纯JS省市区三级联动菜单
2013/12/25 Javascript
JS中使用Array函数shift和pop创建可忽略参数的例子
2014/05/28 Javascript
jQuery实现的五子棋游戏实例
2015/06/13 Javascript
简单实现node.js图片上传
2016/12/18 Javascript
基于Datatables跳转到指定页的简单实例
2017/11/09 Javascript
JavaScript设计模式之原型模式分析【ES5与ES6】
2018/07/26 Javascript
JS实现二维数组元素的排列组合运算简单示例
2019/01/28 Javascript
vue 解决computed修改data数据的问题
2019/11/06 Javascript
JQuery中DOM节点的操作与访问方法实例分析
2019/12/23 jQuery
vue 查看dist文件里的结构(多种方式)
2020/01/17 Javascript
js页面加载后执行的几种方式小结
2020/01/30 Javascript
Python实现把json格式转换成文本或sql文件
2015/07/10 Python
Python有序查找算法之二分法实例分析
2017/12/11 Python
Python实现 版本号对比功能的实例代码
2019/04/18 Python
Python3多目标赋值及共享引用注意事项
2019/05/27 Python
python 串口读取+存储+输出处理实例
2019/12/26 Python
Python性能分析工具py-spy原理用法解析
2020/07/27 Python
pycharm中leetcode插件使用图文详解
2020/12/07 Python
荷兰时尚精品店:Labels Fashion
2020/03/22 全球购物
什么情况下你必须要把一个类定义为abstract的
2013/01/06 面试题
应征英语教师求职信
2013/11/27 职场文书
共产党员公开承诺书范文
2014/03/28 职场文书
模范班主任事迹材料
2014/12/17 职场文书
优秀高中学生评语
2014/12/30 职场文书
幼儿园园长个人总结
2015/03/02 职场文书
微观世界观后感
2015/06/10 职场文书
学雷锋活动简报
2015/07/20 职场文书
详解Go与PHP的语法对比
2021/05/29 PHP
上帝为你开了一扇窗之Tkinter常用函数详解
2021/06/02 Python
php访问对象中的成员的实例方法
2021/11/17 PHP