21.2.1涉及对角矩阵的表达式

假定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\ MM/D执行反向缩放。它们等价于在最小二乘最小范数意义上求解对角线(或矩形对角线)。在精确算法中,这相当于乘以一个伪逆。矩形对角矩阵的伪逆又是一个交换维数的矩形对角矩阵,其中每个非零对角元素都用其倒数来替换。事实上,矩阵除法算法确实使用除法而不是乘倒数,以获得更好的数值精度;否则,他们将遵守上述定义。注意,对角矩阵从不因条件不良而被截断;否则,它对缩放没有多大用处。这通常符合线性代数的需要。一个恰好是对角的全矩阵(因此不是一个特殊的对象)当然是正常处理的。

当与稀疏矩阵(即。,D*S这里的D是对角化矩阵,并且S是一个稀疏矩阵,缩放稀疏矩阵的行,并转化为稀疏矩阵S*D, D\ S, S/D类比地工作。

如果D1D2都是对角矩阵,则表达式

D1+D2D1-D2D1*D2D1/D2D1\D2

再次生成对角矩阵,前提是遵守正规维数匹配规则。所使用的关系与上述相同。

此外,一个对角矩阵D可以乘以或除以一个标量,或者如果它是平方的,则被提升为标量的幂,在所有情况下都会返回对角矩阵的结果。

对角矩阵也可以转置或共轭转置,得到预期的结果。提取对角矩阵的前导子矩阵。,D(1:m,1:n),将生成一个对角矩阵,其他索引表达式将隐式转换为全矩阵。

将对角矩阵添加到全矩阵只对对角元素进行运算。因此

A=A+eps*眼(n)

是对角矩阵加法的有效方法。减法的作用类似。

当涉及到与其他按元素运算符的表达式时,.*, ./, .\.^,将进行到全矩阵的隐式转换。这并不总是严格必要的,但为了使其与MATLAB.


版权所有 © 2024 Octave中文网

ICP备案/许可证号:黑ICP备2024030411号