【20211127】【Python】Python中常用的矩阵操作,单位阵、对角阵、矩阵的特征值和特征向量、矩阵的协方差
一、生成单位阵
numpy.identity(N) 和 numpy.eye(N) 都可以用来产生单位阵,且产生的单位阵都是 np.array() 类型,矩阵元素都是 float 型。
import numpy as npa = np.eye(4)
b = np.identity(4)print(type(a))
print(a)
print(type(b))
print(b)
二、生成对角阵
使用 numpy.diag(lis) 可以生成对角阵,它可以指定元素。生成的矩阵是 np.array() 类型,元素是 int 型。
import numpy as npc = np.diag([1] * 4)
cc = np.diag([1, 2, 3, 4]) # diag 可以指定元素print(type(c))
print(c)
print(type(cc))
print(cc)
(参考:python生成单位阵或者对角阵的三种方法)
三、矩阵的特征值和特征向量
使用 eigVals, eigVec = numpy.linalg.eig() 可以求特征值和特征向量,该命令有两个返回值,分别对应特征值和特征向量,特征向量是按列放的,一列代表一个特征向量。
注意:特征值和特征向量是对方阵求的,不是方阵不能求特征值和特征向量!
import numpy as npdd = np.array([[1, 2, 3, 4], [2, 3, 4, 5], [6, 7, 8, 9], [7, 8, 9, 0]])
eigVals, eigVec = np.linalg.eig(dd) # 求特征值和特征向量必须是方阵!print(dd)
print(eigVals)
print(eigVec)
(参考:python 矩阵分析(求方差,协方差矩阵,特征值,特征向量......);PCA实现)
(参考:是不是有特征值的矩阵都是方阵?)
四、矩阵的协方差
使用 numpy.cov(A) 可以生成协方差矩阵,A 是需要计算协方差的向量或矩阵。默认情况下 A 的每一行代表一个变量/属性/特征。因此如果需要计算行向量 a 和行向量 b 的协方差,可以先使用 numpy.vstack((a, b)) 沿竖直方向叠放起来。
import numpy as npa = [1, 2, 3]
b = [0, 1, 0]
c = np.vstack((a, b))
cov_1 = np.cov(c)print(c)
print(cov_1)
注意:协方差计算的是不同属性/特征维度之间的协方差,而不是样本之间。因此计算协方差矩阵之前首先要明确行代表什么,列代表什么!!!
(参考:【Numpy学习记录】np.cov详解)
(参考:如何求协方差矩阵)
(参考:【机器学习】【线性代数】协方差+协方差矩阵的多种求解方法的Python实现(公式法 + 样本集中心化方法 + np.cov()法等))
知识点:
1. 单位阵和对角阵的区别
单位矩阵:主对角线元素都是 1,其余都是 0。(类似于乘法中的 1 的作用)
对角矩阵:主对角线元素不为零,其余元素都是 0,主对角线元素可以指定。
(参考:单位矩阵)
2. 对角阵和对称阵的区别
对角矩阵:主对角线元素不为零,其余元素都是 0,主对角线元素可以指定。
对称矩阵:矩阵元素以主对角线为轴,元素对应相等。
对称矩阵的特性:矩阵的转置等于矩阵本身。
(参考:对称矩阵、对角矩阵与三角矩阵)
【20211127】【Python】Python中常用的矩阵操作,单位阵、对角阵、矩阵的特征值和特征向量、矩阵的协方差相关推荐
- python编程中常用的12种基础知识总结
python编程中常用的12种基础知识总结:正则表达式替换,遍历目录方法,列表按列排序.去重,字典排序,字典.列表.字符串互转,时间对象操作,命令行参数解析(getopt),print 格式化输出,进 ...
- python编程基础知识点总结_【转载】Python编程中常用的12种基础知识总结
Python编程中常用的12种基础知识总结:正则表达式替换,遍历目录方法,列表按列排序.去重,字典排序,字典.列表.字符串互转,时间对象操作,命令行参数解析(getopt),print 格式化输出,进 ...
- python课堂实例_享学课堂带你了解并读懂Python列表中的6种操作实例
原标题:享学课堂带你了解并读懂Python列表中的6种操作实例 今天为大家来介绍一下很多人在享学课堂上学习Python时,经常会用到列表,列表(list)就是动态数组,相当于C++标准库的Vector ...
- Python 编程中常用的12种基础知识总结
Python 编程中常用的12 种基础知识总结:正则表达式替换,遍历目录方法,列表按列排序.去重,字典排序,字典.列表.字符串互转,时间对象操作,命令行参数解析(getopt),print 格式化输出 ...
- JS中常用的事件操作
JS中常用的事件操作 前言 一.点击事件(导航栏内容切换功能) 二.移入移出事件(导航栏菜单下拉功能) 三.失去焦点事件(表单检验功能) 四.鼠标事件(鼠标跟随功能) 五.键盘事件(打飞机案例) 总结 ...
- Python中常用的一些操作总结(未完待续)update @ 2017-5-18
写在前面的话 其实也没有什么可以写的,或者说完全没有价值.因为你只要动一动手指就可以在Google上找到我要写的这些东西.只是我还不习惯好久没有碰我的blog,但是我又不想写没有价值的东西.或许有价值 ...
- python常用标准库有哪些-Python开发中常用的标准库
大多数基于 Python 开发的应用程序都会用到本地标准库和三方库,这样不仅能让我们把时间去关注真正的业务开发,也能学习到更多价值含量高的程序设计和开发思想.程序开发中有一句著名的话叫做: Don't ...
- 【php基础入门】PHP中常用的数组操作使用方法笔记整理(推荐)
PHP数组 数组是对大量数据进行有效组织和管理的手段之一,通过数组的强大功能,可以对大量性质相同的数据进行存储.排序.插入及删除等操作,从而可以有效地提高程序开发效率及改善程序的编写方式. 数组:是一 ...
- js距离单位换算_英语中常用的度量衡等单位,与我们用的不一样,这些差异点快收藏...
在日常生活中,我们几乎每天都会用到度量衡等度量单位,比如:去市场买菜,会用到几斤几两,量距离要知道多长,卖房子必须知道房屋的面积等等.度量单位在我们的生活中是非常重要的,可以说已经到了你不需要想起,但 ...
- 第十章:MATLAB:矩阵分析(特征值与特征向量,矩阵对角化,若尔当标准型,矩阵的反射与旋转变换)
第十章:矩阵分析 10.1. 特征值与特征向量 10.1.1. 标准特征值与特征向量问题 实例--矩阵特征值与特征向量 实例:矩阵特征值 10.1.2. 广义特征值与特征向量问题 实例:广义特征值与广 ...
最新文章
- 炼丹笔记 | 讲讲我们的故事
- linux下mongdb绑定ip,Linux下MongoDB安装及副本集配置 | 聂扬帆博客
- taylor+swift纽约公寓_豪宅控!Taylor Swift究竟有多喜欢买豪宅!
- 关于Icon,Image,ImageIcon的简单的对比参考 上篇
- 解决ueditor jquery javascript 取值问题
- 服务器安装mysql_阿里云服务器上安装MySQL
- 手动实现apply、call、bind
- C#制作不规则窗体的简单方法
- 1026 逃跑的拉尔夫
- 海量数据挖掘MMDS week4: 推荐系统之数据降维Dimensionality Reduction
- sublime配置markdown
- 在matlab上利用fft进行信号频谱分析_全面分析:频谱分析仪原理技术(收藏必备)...
- hadoop-uber作业模式
- 2021-3-4大学化学无机化学原理(1)理想气体的状态方程和分压定律
- 2018西安邮电大学计算机学院,西安邮电大学计算机学院
- 想不到好的标题,所以决定摆烂。
- Asp代码转换java代码器_asp下实现对HTML代码进行转换的函数
- 有50 只狗,找出其中病狗
- NAND512W3A2SZA6E停产物料替代AFND1208U1-CKA
- 8821AU双频抓包案例