一、生成单位阵

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中常用的矩阵操作,单位阵、对角阵、矩阵的特征值和特征向量、矩阵的协方差相关推荐

  1. python编程中常用的12种基础知识总结

    python编程中常用的12种基础知识总结:正则表达式替换,遍历目录方法,列表按列排序.去重,字典排序,字典.列表.字符串互转,时间对象操作,命令行参数解析(getopt),print 格式化输出,进 ...

  2. python编程基础知识点总结_【转载】Python编程中常用的12种基础知识总结

    Python编程中常用的12种基础知识总结:正则表达式替换,遍历目录方法,列表按列排序.去重,字典排序,字典.列表.字符串互转,时间对象操作,命令行参数解析(getopt),print 格式化输出,进 ...

  3. python课堂实例_享学课堂带你了解并读懂Python列表中的6种操作实例

    原标题:享学课堂带你了解并读懂Python列表中的6种操作实例 今天为大家来介绍一下很多人在享学课堂上学习Python时,经常会用到列表,列表(list)就是动态数组,相当于C++标准库的Vector ...

  4. Python 编程中常用的12种基础知识总结

    Python 编程中常用的12 种基础知识总结:正则表达式替换,遍历目录方法,列表按列排序.去重,字典排序,字典.列表.字符串互转,时间对象操作,命令行参数解析(getopt),print 格式化输出 ...

  5. JS中常用的事件操作

    JS中常用的事件操作 前言 一.点击事件(导航栏内容切换功能) 二.移入移出事件(导航栏菜单下拉功能) 三.失去焦点事件(表单检验功能) 四.鼠标事件(鼠标跟随功能) 五.键盘事件(打飞机案例) 总结 ...

  6. Python中常用的一些操作总结(未完待续)update @ 2017-5-18

    写在前面的话 其实也没有什么可以写的,或者说完全没有价值.因为你只要动一动手指就可以在Google上找到我要写的这些东西.只是我还不习惯好久没有碰我的blog,但是我又不想写没有价值的东西.或许有价值 ...

  7. python常用标准库有哪些-Python开发中常用的标准库

    大多数基于 Python 开发的应用程序都会用到本地标准库和三方库,这样不仅能让我们把时间去关注真正的业务开发,也能学习到更多价值含量高的程序设计和开发思想.程序开发中有一句著名的话叫做: Don't ...

  8. 【php基础入门】PHP中常用的数组操作使用方法笔记整理(推荐)

    PHP数组 数组是对大量数据进行有效组织和管理的手段之一,通过数组的强大功能,可以对大量性质相同的数据进行存储.排序.插入及删除等操作,从而可以有效地提高程序开发效率及改善程序的编写方式. 数组:是一 ...

  9. js距离单位换算_英语中常用的度量衡等单位,与我们用的不一样,这些差异点快收藏...

    在日常生活中,我们几乎每天都会用到度量衡等度量单位,比如:去市场买菜,会用到几斤几两,量距离要知道多长,卖房子必须知道房屋的面积等等.度量单位在我们的生活中是非常重要的,可以说已经到了你不需要想起,但 ...

  10. 第十章:MATLAB:矩阵分析(特征值与特征向量,矩阵对角化,若尔当标准型,矩阵的反射与旋转变换)

    第十章:矩阵分析 10.1. 特征值与特征向量 10.1.1. 标准特征值与特征向量问题 实例--矩阵特征值与特征向量 实例:矩阵特征值 10.1.2. 广义特征值与特征向量问题 实例:广义特征值与广 ...

最新文章

  1. 炼丹笔记 | 讲讲我们的故事
  2. linux下mongdb绑定ip,Linux下MongoDB安装及副本集配置 | 聂扬帆博客
  3. taylor+swift纽约公寓_豪宅控!Taylor Swift究竟有多喜欢买豪宅!
  4. 关于Icon,Image,ImageIcon的简单的对比参考 上篇
  5. 解决ueditor jquery javascript 取值问题
  6. 服务器安装mysql_阿里云服务器上安装MySQL
  7. 手动实现apply、call、bind
  8. C#制作不规则窗体的简单方法
  9. 1026 逃跑的拉尔夫
  10. 海量数据挖掘MMDS week4: 推荐系统之数据降维Dimensionality Reduction
  11. sublime配置markdown
  12. 在matlab上利用fft进行信号频谱分析_全面分析:频谱分析仪原理技术(收藏必备)...
  13. hadoop-uber作业模式
  14. 2021-3-4大学化学无机化学原理(1)理想气体的状态方程和分压定律
  15. 2018西安邮电大学计算机学院,西安邮电大学计算机学院
  16. 想不到好的标题,所以决定摆烂。
  17. Asp代码转换java代码器_asp下实现对HTML代码进行转换的函数
  18. 有50 只狗,找出其中病狗
  19. NAND512W3A2SZA6E停产物料替代AFND1208U1-CKA
  20. 8821AU双频抓包案例

热门文章

  1. c语言对对碰游戏源码
  2. 《苏宁易购:商品详情系统架构设计》读后感
  3. 零基础入门语音识别-食物声音识别[Task 1]
  4. 解决没有conio.h中的gotoxy()问题
  5. NIST宣布推出前4种抗量子加密算法
  6. cic matlab,Matlab中CIC滤波器的应用
  7. python男孩_python爬虫:爬取男生喜欢的图片
  8. 迅雷 5.9.14.1246 去广告版补丁
  9. Vulkan Tutorial 4
  10. 《高级无线网络—4G技术》——1.4 绿色无线网络