-
2020-02-29 01:08:09
哈喽,鉴于上一篇博文出现问题,此处特地开一篇,我也是一脸蒙蔽。
很多博文只会求得矩阵特征分解的特征值和特征向量,而从没有进行验证,验证方法两个
1 A*v=lam*v lam是特征值
2 det(A-lam*I)=0 I是单位阵
我随机产生的矩阵求特征值发现有复数产生,为了方便,网上找了不是复数的矩阵。
错误方法复现
>>> A array([[-1, 1, 0], [-4, 3, 0], [ 1, 0, 2]]) lamba,va=np.linalg.eig(A) #the first validation >>> np.dot(A,va) array([[ 0. , 0.40824829, 0.40824829], [ 0. , 0.81649658, 0.81649658], [ 2. , -0.40824829, -0.40824829]]) >>> np.dot(np.diag(lamba),va) array([[ 0. , 0.81649658, 0.81649658], [ 0. , 0.81649658, 0.81649658], [ 1. , -0.40824829, -0.40824829]]) #服不服?这是错的 #the second validation >>> np.linalg.det(A-np.diag(lamba)) -2.0 #崩溃不
且不说上面有个特征值是重复的。
原因是加转置就正确了,公式是公式,实际操作就是不一样,不服就错。
【其实原因是v是特征向量,而求得是矩阵,lam是标量,得到的是向量,按照给定的1式验证,需要验证3次,而加转置只需验证一次即可】
笨方法验证:
>>> np.dot(A,va[:,0]) array([0., 0., 2.]) >>> lamba[0]*va[:,0] array([0., 0., 2.]) >>> np.dot(A,va[:,1]) array([ 0.40824829, 0.81649658, -0.40824829]) >>> lamba[1]*va[:,1] array([ 0.40824829, 0.81649658, -0.40824829]) >>> np.dot(A,va[:,2]) array([ 0.40824829, 0.81649658, -0.40824829]) >>> lamba[2]*va[:,2] array([ 0.40824829, 0.81649658, -0.40824829])
第二个验证错误的原因有两个
1)lam是向量,2式中是标量,
2)单位矩阵不是全为1的矩阵,而只有对角线上为1
【纸上得来终觉浅,绝知此事要躬行】
只有当用到的时候才知道,至于除法则是求逆矩阵即可,线性代数模块有直接的inv和pinv伪逆
不再验证了,拜拜
另外有相关问题可以加入QQ群讨论,不设微信群
QQ群:868373192
语音图像视频深度-学习群
更多相关内容 -
python中矩阵除法运算的三种实现方法
2021-03-05 20:29:49介绍过python矩阵的乘法运算,numpy库中虽然乘法是矩阵运算的主要运算,但是numpy作为python中实现矩阵运算的好工具,也是可以轻松实现除法计算的,本文python中矩阵除法的三种实现方法:1、x/y计算对应元素相除...介绍过python矩阵的乘法运算,numpy库中虽然乘法是矩阵运算的主要运算,但是numpy作为python中实现矩阵运算的好工具,也是可以轻松实现除法计算的,本文python中矩阵除法的三种实现方法:1、x/y计算对应元素相除(矩阵点除);2、np.devide()计算对应元素相除(矩阵点除);3、借助乘法np.mat方法处理。
方法一:x/y计算对应元素相除(矩阵点除)import numpy as np
a = np.array([4,2,3])
b = np.array([2,5,7])
f = a/b
print("除%s" % f)
方法二:np.devide()计算对应元素相除(矩阵点除)import numpy as np
a=np.array([[1.,2.],[3.,4.]])
c=np.divide(a,a) #矩阵点除
print("[矩阵点除]divide(a,a)=\n",c)
A=np.mat([[1.,2.],[3.,4.]])
C=np.divide(A,A) #矩阵点除
print("[矩阵点除]divide(A,A)=\n",C)
方法三:借助乘法np.mat方法处理import numpy as np
a = np.asmatrix(np.ones([2,3]))
b = np.asmatrix(np.ones([3,3]))
b[1,1] = 5
b[0,2]=3
b[2,2] = 2
print(b)
print(a,b.I)
以上就是python矩阵中各种除法的计算,希望能对你有所帮助哦~更多python学习推荐:python教程。
-
线性代数:第二章 矩阵及其运算
2020-11-04 20:59:51本讲义是自己上课所用幻灯片,里面没有详细的推导过程(笔者板书推导)只以大纲的方式来展示课上的内容,以方便大家...而矩阵是没有除法运算的,对应于数的除法,矩阵有求逆的运算。在求矩阵的逆矩阵的过程中,我们引本讲义是自己上课所用幻灯片,里面没有详细的推导过程(笔者板书推导)只以大纲的方式来展示课上的内容,以方便大家下来复习。
本章主要介绍有关矩阵的知识,主要包括矩阵的基本运算(加法、数乘、乘法、乘幂、迹、转置),其中乘法最为重要,在计算机图形学中具有大量的应用。如果矩阵的行数和列数很大,计算起来不方便,我们就可以对该矩阵进行分块,把对大矩阵的运算转换为对子块的运算。在高中阶段,我们所说的四则运算包括加法、减法、乘法、除法。而矩阵是没有除法运算的,对应于数的除法,矩阵有求逆的运算。在求矩阵的逆矩阵的过程中,我们引入了初等方阵的概念,可利用初等方阵来求矩阵的逆矩阵以及求解矩阵方程。最后我们又讨论了方阵的行列式以及矩阵的LU分解。本章相对于第一章线性方程组就有一些难度了,希望大家好好复习,把基本概念和方法搞明白。
推荐两个学习线性代数的资源:
1. 麻省理工公开课 Linear Algebra
- https://www.bilibili.com/video/av15463995/
- 相较于国内老师从行列式入手,MIT老师从几何空间的角度,更加直观揭示线代的内核。
2. 线性代数的本质
- https://www.bilibili.com/video/BV1ys411472E
- 通过直观的动画演示来理解线性代数的大部分核心概念。
关注本公众号并回复“资料下载”可以获取MIT线性代数公开课英文教材和中文笔记一份,以方便大家学习。
-
MATLAB数值计算——矩阵运算乘法、除法、乘方
2022-03-15 21:23:19matlab矩阵的运算 乘、除、乘方一、矩阵
- 矩阵是线性代数的基本单元
- 矩阵含有M行N列数值
- 矩阵中的元素可以是实数或复数
- 矩阵相关的基本运算:加、减、内积、逆矩阵、转置、线性方程式、特征值、特征向量、矩阵分解
二、矩阵的运算
2.1、矩阵的乘法运算
运算符:
* %矩阵乘法 .* %矩阵对应元素相乘(数组运算)
A*B %矩阵A与矩阵B相乘. 若A是m行n列,B是n行k列,则其相乘之后的矩阵C为m行k列 a.*b %矩阵a与矩阵b各个元素相乘 a.*b.*c a.^2 %矩阵a中各个元素的平方 a./b %矩阵a中各个元素除以矩阵b中各个元素 a.\b %矩阵b中各个元素除以矩阵a中各个元素
注:矩阵的乘法运算中没有乘法交换律
2.2、矩阵的除法运算
运算符:
/ %矩阵左除 \ %矩阵右除 ./ %矩阵点左除(数组运算) .\ %矩阵点右除(数组运算)
*注:
x=B/A是方程xA=B的解。即x=A的逆矩阵乘矩阵B
x=A\B是方程Ax=B的解。即x=B的逆矩阵乘矩阵A
若A为非奇异矩阵,则B/A和A\B可如下获得:B/A=B*inv(A) %inv为逆矩阵的指令 A\B=inv(A)*B*
矩阵除法运算的应用:
求解线性方程组:
2x1-x2+3x3=5
3x1+x2-5x3=5
4x1-x2+x3=9A=[2,-1,3;3,1,-5;4,-2,1]; B=[5;5;9]; X=A\B %或X=inv(A)*B
2.3、矩阵的乘方运算
运算符:
^ %表示乘方 .^ %表示矩阵中每一个数的乘方
^的运算规则:
A为方阵,P为>0的整数时,A^P表示A自乘P次
P为<0的整数时,A^P表示A的逆矩阵的|P|次方
即:A^-3=inv(A) ^3.^ 的运算规则:
1、A.^P表示矩阵中每个元素的P次乘方
2、维度相同的A、B矩阵求A.^B,表示矩阵A中对矩阵B中对应元素求幂,即求取矩阵A和矩阵B之点乘。结果矩阵与原矩阵维度相同。 -
MATLAB-ch02(MATLAB的矩阵及数组运算)20100207_matlab矩阵除法运算
2020-12-23 01:38:43矩阵和数组是MATLAB最基本的部分矩阵和数组运算又是MATLAB最基本的功能实际上MATLAB是以矩阵为基本的运算单元向量和标量作为特殊的矩阵来处理向量看作是只有一行或一列的矩阵标量看作是只有一个元素的矩阵;... -
Matlab中两种矩阵除法运算:右除 / 和左除 \ 的区别
2020-10-24 19:42:57在矩阵中表示逆 所以若A矩阵为非奇异方阵,则存在逆矩阵,可利用inv求逆:inv(A) 我们先从符号上区分右除 / 和左除 \,把 / 和 \ 看成一根木棍,木棍向右倒 / 称为右除,木棍向左倒 \ 称为左除。 假设A矩阵是非奇异... -
fortran 矩阵运算
2014-05-16 15:39:44fortran 矩阵运算,进行矩阵的加、乘、求逆、转置,FORTRAN源码,经过验证 -
python 常见矩阵运算
2020-12-04 12:48:37python 的 numpy 库提供矩阵运算的功能,因此我们在需要矩阵运算的时候,需要导入 numpy 的包。1.numpy 的导入和使用from numpy import *;#导入numpy的库函数import numpy as np; #这个方式使用numpy的函数时,需要... -
R中如何进行矩阵的运算
2022-03-24 15:36:521.创建一个矩阵 matrix1 <...5.除法运算 matrix1/2 6.平方 matrix1^2 7.开方 sqrt(matrix1) 8.指数 exp(matrix1) 9.对数 log(matrix1) 10.矩阵转置 t(matrix1) 11.内积 matrix1 %% t(matrix) ... -
Numpy 基本除法运算和模运算
2020-12-10 07:40:57基本算术运算符+、-和*隐式关联着通用函数add、subtract和multiply在数组的除法运算中涉及三个通用函数divide、true_divide和floor_division,以及两个对应的运算符/和//1. 数组的除法运算import numpy as np# ... -
matlab入门——矩阵运算
2021-05-27 11:09:17矩阵运算matlab入门——矩阵运算1、矩阵加法2、矩阵减法3、矩阵乘法3.1、 数乘运算3.2、 矩阵相乘3.2、点乘运算4、矩阵除法4.1、左除法4.2、右除法5、矩阵其它运算汇总6、矩阵幂函数6、矩阵求逆7、矩阵范数、两个点... -
矩阵运算矩阵除法运算 - matlab资源网2
2021-04-18 05:37:45ipud: 以数组“水平中线”为对称轴,交换上下对称位置上的数组元素fliplr: 以数组...以形成更大的数组reshape: 在总元素数不变的前提下,改变数组的“行数、列数”A=reshape(1:9,3,3)逻辑函数的运用示例:randn('s... -
matlab矩阵除法
2022-05-10 13:36:27matlab中除法有四种, 作除:\ . 右除:/ ./ 对于标量的运算 / 与./用法一致,a/b 或a./b表示a除以b \ 与.\用法一致,a\b 或a.\b表示b除以a 对于矩阵运算 / : a/b 表示矩阵a乘矩阵b的逆矩阵,与 a*inv(b) 一致 \ : ... -
Java中常用的矩阵运算(ejml)(加、减、乘、除、转置、求逆等)
2021-10-11 22:38:59在查阅相关资料,经过一番折腾后,我了解到一个名为Efficient Java Matrix Library(EJML,高效矩阵运算包)的第三方库,并将其运用到了我的一个机器学习实验代码中(为什么不用python,我也不知道)。现在对我所... -
线性代数(2):矩阵运算之矩阵加法、乘法、除法
2021-03-17 18:47:10授人予鱼不如授人予渔,在《线性代数》的学习中,方法尤为重要。下面就让我们一起解决《线性代数》中令人头痛的——矩阵的加法运算吧!前言:想要学会《线性代数》中的——矩阵的加法运算问题,我们这次的学习将按照... -
matlab中矩阵运算
2022-03-02 19:29:10直接/在矩阵计算中只能处理符合矩阵运算法则的运算 矩阵计算和作图都是点运算 在对数值计算时,“./”和“/”没有区别,“.*”和“*”没有区别。 例:对于矩阵A=[a b c d],1./A=[1/a 1/b 1/c 1/d],而1/A表示的... -
matlab矩阵运算和数组运算
2021-04-22 08:40:59《matlab矩阵运算和数组运算》由会员分享,可在线阅读,更多相关《matlab矩阵运算和数组运算(7页珍藏版)》请在人人文库网上搜索。1、更新时间:2010-5-3matlab矩阵运算和数组运算作者:佚名教程来源:网络点击数:... -
C++实现各种矩阵运算
2012-05-23 16:57:28使用C++和STL实现各种矩阵运算,包括矩阵相加,矩阵相乘,矩阵的逆,矩阵的转置,矩阵的行列式等等。使用面向对象的思想封装成类,使用方便,效率高。 -
Python的Numpy库中各种矩阵基本运算的示例代码(加、减、乘、点乘、点除、乘方、转置、等号赋值等)
2022-06-10 18:30:54Python的Numpy库中各种矩阵基本运算的示例代码 -
Matlab 矩阵运算
2021-04-22 03:29:59Copyright 2008说明:这一段时间用Matlab做了LDPC码的性能仿真,过程中涉及了大量的矩阵运算,本文记录了Matlab中矩阵的相关知识,特别的说明了稀疏矩阵和有限域中的矩阵。Matlab的运算是在矩阵意义下进行的,这里所... -
matlab的一些考点2.3矩阵的相关运算——算术运算、关系运算、逻辑运算
2020-03-06 17:40:06基本算数运算符(1)矩阵的加减运算:(2)矩阵的乘法:(3)矩阵的除法:(4)矩阵的乘方:(5)矩阵的转置:2.点运算2.3.2 关系运算2.3.3 逻辑运算 2.3.1 算术运算 运算是在矩阵意义下进行的,单个数据的算术... -
教你使用excel做矩阵运算
2021-06-23 02:55:39教你使用excel做矩阵运算发布时间:2019-07-11 10:59来源:互联网当前栏目:电脑教程Excel强大的计算功能不仅可以实现简单的四步操作,还可以实现阵列和矩阵计算。1数组和矩阵定义矩阵不是数字,而是数组。在Excel中... -
MATLAB矩阵运算
2022-04-23 20:31:11MATLAB以矩阵作为数据操作的基本单位,这使得矩阵运算变得非常简捷、方便、高效。矩阵是由m×n个数av (i=1,2,…,m; j = 1,2,…,n)排成的m行n列数表,记成: 若m=n,则该矩阵为n阶矩阵(n阶方阵)。 矩阵创建 ... -
线性方程组求解矩阵除法.PPT
2021-04-18 11:40:31线性方程组求解矩阵除法第二章 MATLAB编程与作图 MATLAB数学实验 第三章 矩阵代数 第三章 矩阵代数 3.1 预备知识:线性代数 3.2 矩阵代数的MATLAB指令 3.3 计算实验:线性方程组求解 3.4 建模实验:投入产出分析和... -
sage中的矩阵运算
2020-03-08 23:16:00sage中的矩阵运算 sage 是基于python的数学工具,在没有类似mathematics这样的软件环境时可以直接拿来用。 下面简单介绍一下其中的矩阵运算: 矩阵定义 a=matrix([[1,1], [0,4]]) a 结果为: [1 1] [0 4] 矩阵加法... -
线性代数代码实现(六)矩阵除法(C++)
2021-10-27 18:40:31事实上,矩阵没有 “除法” 这一概念,我们的 “除法” 实际上是用以下方式来定义的: 设矩阵,,,其中为可逆矩阵,满足以下等式: 变换得: 如果我们换一种写法,就成了: 这样就定义了矩阵除法,我把它... -
矩阵运算 c语言编程
2021-05-26 10:35:13C语言实现矩阵转置、求逆阵、矩阵加减乘除法#include #include #include #include #include void init(int *a,int m,int n){//随机产生函数srand(time(NULL));int i,j;for(i=0;i{for(j=0;j*(a+i*n+j)=rand()%10+1;}}... -
Python中矩阵运算(基于numpy包)
2019-03-11 10:15:35博客介绍了numpy中矩阵乘法、除法运算,并补充了tensorflow中矩阵乘法运算,最后给出一个案例,分别用python和matlab实现,该案例综合运用了矩阵乘法、除法、行和、列和、向量拼接等运算 -
MATLAB01:基本的数学运算与矩阵运算
2019-11-12 17:22:52基本的数学运算与矩阵运算MATLAB基本语法变量变量名保留变量不适合做变量名变量不应当覆盖内置函数MATLAB的调用优先级变量类型数字型变量的显示格式MATLAB命令行使用MATLAB进行数字运算使用MATLAB计算数学表达式... -
矩阵运算
2021-03-07 20:58:39矩阵运算1.1 矩阵分析1.1.0 向量和矩阵的范数运算1.1.1 矩阵的秩1.1.2 矩阵的行列式1.1.3 矩阵的迹1.1.4 矩阵的化零矩阵1.1.5 矩阵的正交空间1.1.6 矩阵的约化行阶梯形式1.1.7 矩阵空间之间的夹角1.2 矩阵分解 ...