Python创建对称矩阵的方法示例【基于numpy模块】
作者:Inside_Zhang 发布时间:2021-01-03 07:35:59
标签:Python,矩阵,numpy
本文实例讲述了Python创建对称矩阵的方法。分享给大家供大家参考,具体如下:
对称(实对称)矩阵也即:
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程序设计有所帮助。
来源:http://blog.csdn.net/lanchunhui/article/details/50353637


猜你喜欢
- Models内容from django.db import modelsfrom django import forms# Create y
- 背景最近项目联调的时候发现了分页查询的一个bug,分页查询总有数据查不出来或者重复查出。数据库一共14条记录。如果按照一页10条。那么第一页
- 存储过程的功能非常强大,在某种程度上甚至可以替代业务逻辑层,接下来就一个小例子来说明,用存储过程插入或更新语句。1、数据库表结构所用数据库为
- smtplib模块负责发送邮件:是一个发送邮件的动作,连接邮箱服务器,登录邮箱,发送邮件(有发件人,收信人,邮件内容)。email模块负责构
- 本文实例讲述了Python基于hashlib模块的文件MD5一致性加密验证。分享给大家供大家参考,具体如下:使用hashlib模块,可对文件
- 说明1、方差检验是用来比较两个或多个变量数据的样本,以确定它们之间的差异是简单随机的,或者是由于过程之间的显著统计差异造成的。2、自变量X是
- help函数是python的一个内置函数(python的内置函数可以直接调用,无需import),它是python自带的函数,任何时候都可以
- 本文实例为大家分享了python实现多人聊天室的具体代码,供大家参考,具体内容如下刚开始学习python,写了一个聊天室练练手。Server
- 1. 引言Python中有一些内置函数,可以使我们的代码非常优雅。zip 函数就是其中之一,但是zip 函数的使用对于初学者来说不是很直观,
- #coding:utf8import reimport urllibdef getHTML(url):
- 在我们处理文件的时候,会遇到这样的一种场景,我们需要对某个文件进行操作,然后生成与原文件名相同的文件(只是文件格式改变)。那么这个时候就可以
- 昨天在QQ群里讨论一个SQL优化的问题,语句大致如下:select A,min(B) from table group by A;--A,B
- 经常用FLASH嵌入到网页里面,那咋能躲过W3C那个家伙呢?看下面!<object type="applicati
- PHP天然就对MySQL有良好的支持,但是想要用PHP对SQL Server进行操作,则需要花点时间了。今天刚好团队里的一个项目需要用PHP
- 概要在调用第三方 API 的时候, 基本都有访问限速的限制条件. 第三方的 API 有多个的时候, 就不太好控制访问速度, 常常会导致 HT
- 前言本文的操作环境:ubuntu,Python2.7,采用的是Pycharm进行代码编辑,个人很喜欢它的代码自动补齐功能。示例图如上图,我们
- 第一种方式:将用户名和密码封装在Properties类中首先,导入数据库连接包这个是毋庸置疑的。创建一个jdbc驱动dirver。将数据库(
- USE MASTER GO IF EXISTS(SELECT * FROM dbo.sysdatabases WHERE name='
- Docker 是一个开源项目,为开发人员和系统管理员提供了一个开放平台,可以将应用程序构建、打包为一个轻量级容器,并在任何地方运行。Dock
- 哪里出问题了python 中,使用 global 会将全局变量设为本函数可用。同时,在函数内部访问变量会先本地再全局。在嵌套函数中,使用 g