假定D是对角矩阵。如果M是一个全矩阵,那么D*M
将缩放的行M。这意味着,如果S=D*M
,则对于每对符号i,j,它成立
S(i,j)=D(i,i)*M(i,j)。
类似地,M*D
将进行列缩放。
矩阵D也可以是矩形的,m乘n,其中m!=n
如果m<n
,然后表达式D*M
相当于
D(:,1:m)*m(1:m,:),
即拖尾n-m
的行M被忽略。如果m>n
然后D*M
相当于
[D(1:n,:)*M;零(M-n,列(M))],
即空行被附加到结果。右乘法的情形M*D
是类似的。
表达式D\ M
和M/D
执行反向缩放。它们等价于在最小二乘最小范数意义上求解对角线(或矩形对角线)。在精确算法中,这相当于乘以一个伪逆。矩形对角矩阵的伪逆又是一个交换维数的矩形对角矩阵,其中每个非零对角元素都用其倒数来替换。事实上,矩阵除法算法确实使用除法而不是乘倒数,以获得更好的数值精度;否则,他们将遵守上述定义。注意,对角矩阵从不因条件不良而被截断;否则,它对缩放没有多大用处。这通常符合线性代数的需要。一个恰好是对角的全矩阵(因此不是一个特殊的对象)当然是正常处理的。
当与稀疏矩阵(即。,D*S
这里的D是对角化矩阵,并且S是一个稀疏矩阵,缩放稀疏矩阵的行,并转化为稀疏矩阵S*D
, D\ S
, S/D
类比地工作。
如果D1和D2都是对角矩阵,则表达式
D1+D2D1-D2D1*D2D1/D2D1\D2
再次生成对角矩阵,前提是遵守正规维数匹配规则。所使用的关系与上述相同。
此外,一个对角矩阵D可以乘以或除以一个标量,或者如果它是平方的,则被提升为标量的幂,在所有情况下都会返回对角矩阵的结果。
对角矩阵也可以转置或共轭转置,得到预期的结果。提取对角矩阵的前导子矩阵。,D(1:m,1:n)
,将生成一个对角矩阵,其他索引表达式将隐式转换为全矩阵。
将对角矩阵添加到全矩阵只对对角元素进行运算。因此
A=A+eps*眼(n)
是对角矩阵加法的有效方法。减法的作用类似。
当涉及到与其他按元素运算符的表达式时,.*
, ./
, .\
或.^
,将进行到全矩阵的隐式转换。这并不总是严格必要的,但为了使其与MATLAB.
版权所有 © 2024 Octave中文网
ICP备案/许可证号:黑ICP备2024030411号