文章目录
矩阵分析学习笔记之矩阵范数。三类重要的矩阵范数:诱导范数(Induced norm),向量式范数(Entry-wise norm),Schatten 范数(Schatten norm)。
矩阵
A
∈
K
m
×
n
A\in K^{m\times n}
A∈Km×n 表示其定义在实数域或者复数域上。
诱导范数也称算子范数(operator norm)。诱导 p-范数的定义如下:
∥
A
∥
p
=
s
u
p
x
≠
0
∥
A
x
∥
p
∥
x
∥
p
\Vert A\Vert_p=\underset{x\neq 0}{\rm sup}\frac{\Vert Ax \Vert_p}{\Vert x\Vert_p}
∥A∥p=x=0sup∥x∥p∥Ax∥p
特别的,当
p
=
1
p=1
p=1 时,有
∥
A
∥
1
=
max
1
≤
j
≤
n
∑
i
=
1
m
∣
a
i
j
∣
\Vert A\Vert_1=\max_{1\le j\le n}\sum_{i=1}^{m}\vert a_{ij}\vert
∥A∥1=1≤j≤nmaxi=1∑m∣aij∣
也就是绝对值的列和的最大值。
当
p
=
∞
p=\infty
p=∞ 时,有
∥
A
∥
∞
=
max
1
≤
i
≤
m
∑
j
=
1
n
∣
a
i
j
∣
\Vert A\Vert_{\infty}=\max_{1\le i\le m}\sum_{j=1}^{n}\vert a_{ij}\vert
∥A∥∞=1≤i≤mmaxj=1∑n∣aij∣
也就是绝对值的行和的最大值。
当
p
=
2
p=2
p=2 时,称为谱范数,有
∥
A
∥
2
=
λ
max
(
A
H
A
)
=
σ
max
(
A
)
≤
∥
A
∥
F
\Vert A\Vert_2=\sqrt{\lambda_{\max}({A^HA})}=\sigma_{\max}(A)\le\Vert A\Vert_F
∥A∥2=λmax(AHA)=σmax(A)≤∥A∥F
其中,
A
H
A^H
AH表示共轭转置,如果是实数矩阵,则表示转置。
σ
max
(
A
)
\sigma_{\max}(A)
σmax(A)表示最大奇异值。当且仅当
A
A
A 的秩为1或者零时,
A
A
A 的谱范数等于其F-范数。
矩阵
A
A
A 的向量式 p-范数的定义如下:
∥
A
∥
p
=
∥
V
e
c
(
A
)
∥
p
=
(
∑
i
=
1
m
∑
j
=
1
n
∣
a
i
j
∣
p
)
1
p
\Vert A\Vert_p=\Vert {\rm Vec}(A)\Vert_p=\left(\sum_{i=1}^{m}\sum_{j=1}^{n}\vert a_{ij}\vert^{p}\right)^{\frac1p}
∥A∥p=∥Vec(A)∥p=(i=1∑mj=1∑n∣aij∣p)p1
该类矩阵范数是将矩阵当做一个向量来处理,维基百科上将这类范数称为 “Entry-wise norm”,这里暂且称之为向量式范数,这不是一个规范的称呼。当
p
=
1
,
2
,
∞
p=1,2,\infty
p=1,2,∞时,英文上经常称为
l
1
,
l
2
,
l
∞
l_1,l_2,l_{\infty}
l1,l2,l∞范数,也不知道这个
l
l
l是什么意思。哈工大董增福老师的《矩阵分析教程》则称为
m
1
,
m
2
,
m
∞
m_1,m_2,m_{\infty}
m1,m2,m∞范数,也不知道m是啥意思。特别的,当
p
=
2
p=2
p=2时,被称为F-范数(Frobenius norm)。
∥
A
∥
F
=
∥
V
e
c
(
A
)
∥
2
=
∑
i
=
1
m
∑
j
=
1
n
∣
a
i
j
∣
2
=
t
r
a
c
e
(
A
H
A
)
=
∑
i
=
1
min
{
m
,
n
}
σ
i
2
(
A
)
\Vert A\Vert_F=\Vert {\rm Vec}(A)\Vert_2=\sqrt{\sum_{i=1}^{m}\sum_{j=1}^{n}\vert a_{ij}\vert^{2}}=\sqrt{{\rm trace}(A^HA)}=\sqrt{\sum_{i=1}^{\min\{m,n\}}\sigma_i^2(A)}
∥A∥F=∥Vec(A)∥2=i=1∑mj=1∑n∣aij∣2=trace(AHA)=i=1∑min{m,n}σi2(A)
其中,
A
H
A^H
AH表示共轭转置,如果是实数矩阵,则表示转置。
σ
i
(
A
)
\sigma_i(A)
σi(A)表示奇异值。
V
e
c
(
A
)
{\rm Vec}(A)
Vec(A)表示矩阵向量化。
Schatten p-范数的定义如下:
∥
A
∥
p
=
(
∑
i
=
1
min
{
m
,
n
}
σ
i
p
(
A
)
)
1
p
\Vert A\Vert_p=\left( \sum_ {i=1}^{\min\{m,n\} } \sigma_i^p(A)\right)^{\frac 1p}
∥A∥p=⎝⎛i=1∑min{m,n}σip(A)⎠⎞p1
σ
i
(
A
)
\sigma_i(A)
σi(A)表示奇异值。
所有的Schatten 范数都是酉不变的,也就是
∀
A
∈
K
m
×
n
\forall A\in K^{m\times n}
∀A∈Km×n对于任意的酉矩阵
U
U
U 和
V
V
V,都有
∥
A
∥
=
∥
U
A
V
∥
\Vert A\Vert=\Vert UAV\Vert
∥A∥=∥UAV∥
特别的,当
p
=
2
p=2
p=2时,与F-范数相等,
p
=
∞
p=\infty
p=∞ 时,与谱范数相等,
p
=
1
p=1
p=1时,与核范数(nuclear norm)相等。核范数也称迹范数(trace norm),定义如下
∥
A
∥
∗
=
t
r
a
c
e
(
A
H
A
)
=
∑
i
=
1
min
{
m
,
n
}
σ
i
(
A
)
\Vert A\Vert_*={\rm trace}(\sqrt{A^HA} )=\sum_ {i=1}^{\min\{m,n\} } \sigma_i(A)
∥A∥∗=trace(AHA)=i=1∑min{m,n}σi(A)
经常看到网上有提问,F-范数和2-范数的区别,F-范数是不是2-范数。其实,2-范数这个名称是带有歧义的,并没有准确的定义。从这三类范数来说,当
p
=
2
p=2
p=2 时,都可以称之为矩阵的2-范数。但是,更多人会约定,2-范数是指
p
=
2
p=2
p=2 时的诱导范数,也就是谱范数。比如,matlab中,norm(A,2)给出的结果就是谱范数,哈工大董增福老师的《矩阵分析教程》也将2-范数称为谱范数(详见第三版,P115,定理4.13)。不少人也习惯将F-范数称为2-范数,因为其定义跟向量的2-范数是一样的。
结论:在问题讨论中,最好避免使用2-范数的说法,直接说谱范数或者F-范数,如果要用2-范数这个名称,那就明确它是何种范数。
1.学习了三类重要的矩阵范数,诱导范数(Induced norm),向量式范数(Entry-wise norm),Schatten 范数(Schatten norm)。
2.对2-范数名称混乱的问题进行了分析。
点向量坐标矩阵的几何意义介绍旋转矩阵的几何含义之前,先介绍一下点向量坐标矩阵的几何含义点:在一维空间下就是一个标量,如同一条直线上,以任意某一个位置为0点,以一定的尺度间隔为1,2,3...,相反方向为-1,-2,-3...;如此就形成了一维坐标系,这时候任何一个点都可以用一个数值表示,如点p1=5,即即从原点出发沿着x轴正方向移动5个尺度;点p2=-3,负方向移动3个尺度; 在一维坐标系上过原点做垂直于一维坐标系的直线,则形成了二维坐标系,此时描述一个点需要两个数值来表示点p3=(3,2),即从原点出发沿着x轴正方向移动3个尺度,在此基础上沿着y轴正方向移动两个尺度的位置就是点p3。
所有题目均有五种语言实现。C实现目录、C++实现目录、Python实现目录、Java实现目录、JavaScript实现目录题目n行m列的矩阵,每个位置上有一个元素你可以上下左右行走,代价是前后两个位置元素值差的绝对值.另外,你最多可以使用一次传送阵(只能从一个数跳到另外一个相同的数)求从走上角走到右下角最少需要多少时间。输入描述:第一行两个整数n,m,分别代表矩阵的行和列。后面n行,每行m个整数,分别代表矩阵中的元素。输出描述:一个整数,表示最少需要多少时间。
一、习惯约定图片来自PSINS(高精度捷联惯导算法)PSINS工具箱入门与详解.pptx二、基本旋转矩阵绕x轴逆时钟旋转α\alphaα角度Rx(α)=[ 1000cosαsinα0−sinαcosα]R_x(\alpha)=\begin{bmatrix}\1&0&0\\0&\cos\alpha&\sin\alpha\\0&-\sin\alpha&\cos\alpha\end{bmatrix}Rx(α)= 1000cosα−sinα0sinαcosα绕y轴逆时钟旋转α\alphaα角度Ry(α)=[ cosα0−sinα010sinα0cosα]R_y(\alpha
欧拉角、旋转矩阵及四元数1.简介2.欧拉角2.1欧拉角定义2.2右手系和左手系2.3转换流程3.旋转矩阵4.四元数4.1四元数与欧拉角和旋转矩阵之间等效变换4.2测试Matlab代码5.总结1.简介常用姿态参数表达方式包括方向余弦矩阵、欧拉轴/角参数、欧拉角、四元数以及罗德里格参数等。高分辨率光学遥感卫星主要采用欧拉角与四元数对姿态参数进行描述。这里着重讲解欧拉角、旋转矩阵和四元数。2.欧拉角2.1欧拉角定义欧拉角是表征刚体旋转的一种方法之一,由莱昂哈德·欧拉引入的三个角度,用于描述刚体相对于固定坐标系的方向。在摄影测量、空间科学或其它技术领域,一般用一组(三个)欧拉角描述两个空间坐标之间的旋
我理解RubystdlibMatrix是不可修改的,也就是说,例如。m=Matrix.zero(3,4)不会写m[0,1]=7但我非常想做...我可以用笨拙的编程来做,比如defmodify_value_in_a_matrix(matrix,row,col,newval)ary=(0...m.row_size).map{|i|m.rowi}.map(&:to_a)ary[row][col]=newvalMatrix[*ary]end...或者作弊,比如Matrix.send:[]=,0,1,7但我想知道,这一定是人们一直遇到的问题。有没有一些标准的、习惯的方法可以做到这一点,而不必使用
快速求三阶矩阵的逆矩阵前言一般情况下,我们求解伴随矩阵是要注意符号问题和位置问题的(如下所示)A−1=1[ ][−[ ]−[ ]−[ ] −[ ]]=A−1=1[ ][ M11−[M12] M13−[M21] M22−[M23] M31−[M32] M33]⊤\begin{aligned}&A^{-1}=\frac{1}{[\\]}\left[\begin{array}{cccccc}&-[\\]&\\-[\\]&&-[\\]\\\\&-[\\]&\\\end{array}\right]=\\\\&A^{-1}=\frac{1}{[\\]}\left[\b
在本文中,我们将探讨摄影机的外参,并通过Python中的一个实践示例来加强我们的理解。相机外参摄像头可以位于世界任何地方,并且可以指向任何方向。我们想从摄像机的角度来观察世界上的物体,这种从世界坐标系到摄像机坐标系的转换被称为摄像机外参。那么,我们怎样才能找到相机外参呢?一旦我们弄清楚相机是如何变换的,我们就可以找到从世界坐标系到相机坐标系的基变换的变化。我们将详细探讨这个想法。具体来说,我们需要知道相机是如何定位的,以及它在世界空间中的位置,有两种转换可以帮助我们:有助于确定摄影机方向的旋转变换。有助于移动相机的平移变换。让我们详细看看每一个。旋转通过旋转改变坐标让我们看一下将点旋转一个角度
为什么Matrix类没有方法来编辑它的向量和组件?似乎矩阵中的所有内容都可以读取但不能写入。我错了吗?是否有一些类似于Matrix的第三方优雅类允许我删除行并有意地编辑它们?如果没有这样的类(class),请通知我——我将停止搜索。 最佳答案 Matrix类的设计者一定是不可变数据结构和函数式编程的爱好者。是的,你是对的。无论如何,总有一个简单的解决方案可以满足您的需求。使用Matrix它可以做的事情,然后,只需使用.to_a来获得一个真正的数组。>>Matrix.identity(2).to_a=>[[1,0],[0,1]]另见N
在Ruby中是否有内置的打印可读矩阵的方法?例如require'matrix'm1=Matrix[[1,2],[3,4]]printm1让它显示=>1234在REPL中代替:=>Matrix[[1,2][3,4]]matrix的Ruby文档让它看起来像应该显示的那样,但这不是我所看到的。我知道编写一个函数来执行此操作是微不足道的,但如果有“正确”的方法,我宁愿学习! 最佳答案 您可以将其转换为数组:m1.to_a.each{|r|putsr.inspect}=>[1,2][3,4]编辑:这是一个“无积分”版本:putsm1.to_a
matlab中矩阵点乘和乘的区别MATLAB中,一、矩阵相乘:表示两个矩阵相乘。二、矩阵点乘:表示矩阵中对应位置的元素分别相乘。三、举例3.1矩阵相乘3.2矩阵点乘MATLAB中,一、矩阵相乘:表示两个矩阵相乘。前提条件:满足矩阵相乘的规则,即前矩阵的列数等于后矩阵的行数。二、矩阵点乘:表示矩阵中对应位置的元素分别相乘。前提条件:满足矩阵点乘的规则,即前后矩阵维度相同。三、举例3.1矩阵相乘Example1:A=[123;456]A=123456>>B=[1;2;3]B=123>>C=A*BC=1432这时如果用点乘就会报错Example2:>>A=[123;456;789]A=1234567