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之有容乃大的list(4)
Sep 28 Python
详解Python3.1版本带来的核心变化
Apr 07 Python
Python selenium如何设置等待时间
Sep 15 Python
Python实现多线程HTTP下载器示例
Feb 11 Python
python采集微信公众号文章
Dec 20 Python
学习python的前途 python挣钱
Feb 27 Python
Python高级特性与几种函数的讲解
Mar 08 Python
选择Python写网络爬虫的优势和理由
Jul 07 Python
Python数据可视化:泊松分布详解
Dec 07 Python
Python实现大数据收集至excel的思路详解
Jan 03 Python
在pytorch中实现只让指定变量向后传播梯度
Feb 29 Python
详解Python中的GIL(全局解释器锁)详解及解决GIL的几种方案
Jan 29 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
基于PHP5魔术常量与魔术方法的详解
2013/06/13 PHP
php读取图片内容并输出到浏览器的实现代码
2013/08/08 PHP
在WordPress的文章编辑器中设置默认内容的方法
2015/12/29 PHP
PHP编程文件处理类SplFileObject和SplFileInfo用法实例分析
2017/07/22 PHP
phpstudy隐藏index.php的方法
2020/09/21 PHP
使用Jquery打造最佳用户体验的登录页面的实现代码
2011/07/08 Javascript
jquery对象和DOM对象的区别介绍
2013/08/09 Javascript
JavaScript中数据类型转换总结
2016/12/25 Javascript
基于bootstrap按钮式下拉菜单组件的搜索建议插件
2017/03/25 Javascript
bootstrap+jQuery实现的动态进度条功能示例
2017/05/25 jQuery
jquery图片放大镜效果
2017/06/23 jQuery
webpack4+express+mongodb+vue实现增删改查的示例
2018/11/08 Javascript
js实现浏览器打印功能的示例代码
2020/07/15 Javascript
[53:52]OG vs EG 2018国际邀请赛淘汰赛BO3 第二场 8.23
2018/08/24 DOTA
[01:46]新英雄登场
2019/09/10 DOTA
python三元运算符实现方法
2013/12/17 Python
python3.4下django集成使用xadmin后台的方法
2017/08/15 Python
分分钟入门python语言
2018/03/20 Python
Python 新建文件夹与复制文件夹内所有内容的方法
2018/10/27 Python
python使用wxpy实现微信消息防撤回脚本
2019/04/29 Python
对Python中 \r, \n, \r\n的彻底理解
2020/03/06 Python
python中not、and和or的优先级与详细用法介绍
2020/11/03 Python
使用 CSS3 中@media 实现网页自适应的示例代码
2020/03/24 HTML / CSS
泰国汽车、火车和轮渡票预订网站:Bus Online Ticket
2017/09/09 全球购物
下面这个程序执行后会有什么错误或者效果
2014/11/03 面试题
在校生汽车维修实习自我鉴定
2013/09/19 职场文书
文员自我评价怎么写
2013/09/19 职场文书
购房协议书范本
2014/10/02 职场文书
八年级英语教学计划
2015/01/23 职场文书
导游词格式
2015/02/13 职场文书
趣味运动会加油词
2015/07/18 职场文书
Python机器学习之PCA降维算法详解
2021/05/19 Python
Java9新特性之Module模块化编程示例演绎
2022/03/16 Java/Android
SQL Server Agent 服务无法启动
2022/04/20 SQL Server
python 单机五子棋对战游戏
2022/04/28 Python
MySql数据库 查询时间序列间隔
2022/05/11 MySQL