常用矩阵运算

作者:桂。

时间:2017-09-09  12:48:45

链接:http://www.cnblogs.com/xingshansi/p/7498175.html



一、复数相乘

可以表示为分块的形式:

二、范数

  A-范数基本定义

p = 0,0范数,对应非零元素个数;

p = 1,1范数,也成和范数;

p = 2,常称为Euclidean范数,也成Frobenius范数

p = ∞, 无穷范数,也称极大范数。

直接定义p,则p范数或Minkowski p范数,也叫Holder范数。

  B-其他常用范数

1-谱范数(spectrum norm)

其中是矩阵A的最大奇异值,即最大特征值的正平方根。

谱范数也称最大奇异值范数或者算子范数(operator norm)。

2-Mahalanobis范数

其中是正定矩阵。

三、矩阵的迹

  A-迹的一般性质

迹等于特征值之和:

而根据SVD分解特性(PCA、KL变换均有用到),可知特征值体现的是能量,故矩阵的迹可以与Euclidean范数建立联系:

  B-迹的其他特性

其实矩阵的迹,借助矩阵分解来理解会容易很多,迹的其他特性:

由于1标量可以,其本身看作与迹等价,从而有(tr(AB)=tr(BA)、对角和=迹,借助这两条性质可证):

  C-迹的微分特性

1)若W是mxm的矩阵:

2)若W可逆:

3)对于矩阵W、A,有

4)若W非奇异,

5)对于矩阵W、A

6)对于矩阵WAB,且W非奇异:

四、行列式

给出行列式定义:

对于一个三角矩阵A:

另外,

五、矩阵求逆

  A-矩阵求逆基本性质

若A\B\C可逆:

若A为对角阵

若A非奇异:

  B-矩阵求逆引理

求逆引理,也称Sherman-Morrison公式:若A是一个nxn的可逆矩阵,且xy是两个nx1的向量,使得 可逆,则:

该引理可进一步推广为矩阵之和的求逆公式:

简化的形式:

分块矩阵求逆:

1)若A可逆:

2)若A、D均可逆:

  C-广义逆矩阵

广义逆矩阵参考之前的博文

六、Hadamard积与Kronecker积

  A-矩阵的直和

mxm的矩阵A与nxn的矩阵B,其直和记作:,它是一个(m+n)x(m+n)的矩阵,

  B-Hadamard积

Hadamard积其实就是对应元素相乘。

两个mxn的矩阵,其Hadamard积记作:

  C-Kronecker积

Kronecker积表示的是矩阵元素与另一矩阵相乘的运算,用表示。

1)右Kronecker积:mxn矩阵A和pxq的矩阵B:

2)左Kronecker积:mxn矩阵A和pxq的矩阵B:

其中同样可以写为

七、矩阵梯度

一个基本形式是:

借助该形式,即可完成一般的梯度求解:

同时,结合梯度的四个基本法则,便可完成常用的梯度求解。

1)线性法则

2)乘积法则

3)商法则

4)链式法则

时间: 2024-08-04 22:08:45

常用矩阵运算的相关文章

MATLAB编程与应用系列-第3章 矩阵运算(2)

本系列教程来源于出版设计<基于MATLAB编程基础与典型应用书籍>,如涉及版权问题,请联系:[email protected]. 出版社:人民邮电出版社, 页数:525. 本系列教程目前基于MATLABR2006a,可能对于更高级版本的功能和函数有差异,教程中如有问题,请联系:[email protected] ###3.1.5 矩阵函数MATLAB提供了丰富的函数来实现对矩阵的各种运算,下面将逐步介绍.因篇幅关系,将不作数学方面的解释.表3.1所示为常用的矩阵运算函数以及函数相对应的功能描述

python常用模块(一)

目录 time模块 时间戳 格式化时间 结构化时间 不同格式时间的转换 其他用法 datetime模块 random模块 os模块 sys模块 json模块 pickle模块 hashlib模块 logging模块 numpy模块 创建矩阵 获取矩阵的行列数 切割矩阵 矩阵元素替换 矩阵的合并 通过函数创建矩阵 arange linspace/logspace zeros/ones/eye/empty fromstring/fromfunction 矩阵的运算 普通矩阵运算 常用矩阵运算函数 矩

Matlab入门学习(矩阵、函数、绘图的基本使用)

一.矩阵 1.定义和简单使用(一般的编程语言,数组下标都是从0开始的,但是MATLAB是从1开始的) >> a=[1 4 7; 2 5 8; 3 6 9] a = 1 4 7 2 5 8 3 6 9 >> b=[2 3 4;3 4 5;4 5 3]; >> c=[1;2;3]; >> a+b ans = 3 7 11 5 9 13 7 11 12 >> a*b ans = 42 54 45 51 66 57 60 78 69 >> a

机器学习最常用优化之一——梯度下降优化算法综述

转自:http://www.dataguru.cn/article-10174-1.html 梯度下降算法是机器学习中使用非常广泛的优化算法,也是众多机器学习算法中最常用的优化方法.几乎当前每一个先进的(state-of-the-art)机器学习库或者深度学习库都会包括梯度下降算法的不同变种实现.但是,它们就像一个黑盒优化器,很难得到它们优缺点的实际解释.这篇文章旨在提供梯度下降算法中的不同变种的介绍,帮助使用者根据具体需要进行使用. 这篇文章首先介绍梯度下降算法的三种框架,然后介绍它们所存在的

python 科学计算库NumPy—矩阵运算

NumPy库的核心是矩阵及其运算. 使用array()函数可以将python的array_like数据转变成数组形式,使用matrix()函数转变成矩阵形式. 基于习惯,在实际使用中较常用array而少用matrix来表示矩阵. 然后即可使用相关的矩阵运算了 import numpy as np a = [[1,2,3],[4,5,5],[4,5,5]] len = a.shape[0] #多维数组的行数 print(a.dtype) #输出元素类型 #另外也还可以使用切片方式来处理数组 然后是

Unity3d 常用代码

//创建一个名为"Player"的游戏物体 //并给他添加刚体和立方体碰撞器. player=new GameObject("Player"); player.AddComponent("Rigidbody"); player.AddComponent("BoxCollider"); //创建一个没有名称的游戏物体 //并给他添加刚体和立方体碰撞器.Transform总是被添加到该游戏物体. player=new GameOb

统计学常用概念:T检验、F检验、卡方检验、P值、自由度

1,T检验和F检验的由来 一般而言,为了确定从样本(sample)统计结果推论至总体时所犯错的概率,我们会利用统计学家所开发的一些统计方法,进行统计检定. 通过把所得到的统计检定值,与统计学家建立了一些随机变量的概率分布(probability distribution)进行比较,我们可以知道在多少%的机会下会得到目前的结果.倘若经比较后发现,出现这结果的机率很少,亦即是说,是在机会很 少.很罕有的情况下才出现:那我们便可以有信心的说,这不是巧合,是具有统计学上的意义的(用统计学的话讲,就是能够

(转) Unity3D常用代码收集总结

1 //创建一个名为"Player"的游戏物体 2 //并给他添加刚体和立方体碰撞器. 3 player=new GameObject("Player"); 4 player.AddComponent("Rigidbody"); 5 player.AddComponent("BoxCollider"); 6 7 //创建一个没有名称的游戏物体 8 //并给他添加刚体和立方体碰撞器.Transform总是被添加到该游戏物体. 9

数学建模常用的十大算法

数学建模常用的十大算法==转 (2017-07-16 11:26:14) 转载▼ 1. 蒙特卡罗算法.该算法又称随机性模拟算法,是通过计算机仿真来解决问题的算法,同时可以通过模拟来检验自己模型的正确性,几乎是比赛时必用的方法. 2. 数据拟合.参数估计.插值等数据处理算法.比赛中通常会遇到大量的数据需要处理,而处理数据的关键就在于这些算法,通常使用MATLAB 作为工具. 3. 线性规划.整数规划.多元规划.二次规划等规划类算法.建模竞赛大多数问题属于最优化问题,很多时候这些问题可以用数学规划算