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写的Tkinter程序屏幕居中方法
Mar 10 Python
python 系统调用的实例详解
Jul 11 Python
python 把文件中的每一行以数组的元素放入数组中的方法
Apr 29 Python
pandas中去除指定字符的实例
May 18 Python
对python 调用类属性的方法详解
Jul 02 Python
Django 迁移、操作数据库的方法
Aug 02 Python
python scipy卷积运算的实现方法
Sep 16 Python
Python3离线安装Requests模块问题
Oct 13 Python
Python实现屏幕录制功能的代码
Mar 02 Python
python 爬取小说并下载的示例
Dec 07 Python
Python3 如何开启自带http服务
May 18 Python
Python实现自动玩连连看的脚本分享
Apr 04 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
IIS环境下快速安装、配置和调试PHP5.2.0
2006/12/17 PHP
php fsockopen解决办法 php实现多线程
2014/01/20 PHP
PHP两种快速排序算法实例
2015/02/15 PHP
php二维数组合并及去重复的方法
2015/03/04 PHP
常见PHP数据库解决方案分析介绍
2015/09/24 PHP
Yii2使用表单上传文件的实例代码
2017/08/03 PHP
PHP生成(支持多模板)二维码海报代码
2018/04/30 PHP
JQuery中SetTimeOut传参问题探讨
2013/05/10 Javascript
jqGrid随窗口大小变化自适应大小的示例代码
2013/12/28 Javascript
JS中产生20位随机数以0-9为例也可以是a-z A-Z
2014/08/01 Javascript
javascript获取checkbox复选框获取选中的选项
2014/08/12 Javascript
drag-and-drop实现图片浏览器预览
2015/08/06 Javascript
Ionic如何创建APP项目
2016/06/03 Javascript
基于jquery插件编写countdown计时器
2016/06/12 Javascript
BootStrop前端框架入门教程详解
2016/12/25 Javascript
javaScript生成支持中文带logo的二维码(jquery.qrcode.js)
2017/01/03 Javascript
AngularJS实现表格的增删改查(仅限前端)
2017/07/04 Javascript
Element-ui table中过滤条件变更表格内容的方法
2018/03/02 Javascript
VUE单页面切换动画代码(全网最好的切换效果)
2019/10/31 Javascript
在vue中使用eslint,配合vscode的操作
2020/11/09 Javascript
python使用PythonMagick将jpg图片转换成ico图片的方法
2015/03/26 Python
基于Python log 的正确打开方式
2018/04/28 Python
Python从数据库读取大量数据批量写入文件的方法
2018/12/10 Python
python基础梳理(一)(推荐)
2019/04/06 Python
解决python 文本过滤和清理问题
2019/08/28 Python
python 微信好友特征数据分析及可视化
2020/01/07 Python
tensorflow中tf.slice和tf.gather切片函数的使用
2020/01/19 Python
pip install 使用国内镜像的方法示例
2020/04/03 Python
英国最好的温室之家:Greenhouses Direct
2019/07/13 全球购物
如何利用cmp命令比较文件
2013/09/23 面试题
初中三好学生事迹材料
2014/01/13 职场文书
大学毕业感言50字
2014/02/07 职场文书
亲子读书活动方案
2014/02/22 职场文书
群众路线教育实践活动个人对照检查材料思想汇报(社区班子)
2014/10/06 职场文书
实习员工转正的评语汇总,以备不时之需
2019/12/17 职场文书
Python机器学习之PCA降维算法详解
2021/05/19 Python