如果 P 是一个置换矩阵,M 是一个矩阵,那么表达式
P*M 将对 M 的行进行置换。类似地,M*P 将
产生列置换。
矩阵除法 P\M 和 M/P 可用于进行逆
置换。
前面描述的创建置换矩阵的语法实际上可以帮助用户理解置换矩阵与置换向量之间的联系。具体而言,以下等式成立,其中 I = eye (n)
是单位矩阵:
I(p,:) * M = (I*M) (p,:) = M(p,:)
类似地,
M * I(:,p) = (M*I) (:,p) = M(:,p)
表达式 I(p,:) 和 I(:,p) 就是置换矩阵。
置换矩阵可以被转置(或共轭转置,二者是一样的,因为置换矩阵永远不会是复数),从而反转置换,或者等效地,将行置换矩阵变为列置换矩阵。对于置换矩阵,转置等价于求逆,因此 P\M 等价于 P'*M。置换矩阵的转置(或求逆)是一个常数时间操作,仅在内部翻转一个标志位,因此上述两种等价表达式中选择哪一种用于逆置换,完全取决于用户的喜好。
与置换矩阵的乘法和除法在结合稀疏矩阵时也能高效工作,即 P*S,其中 P 是置换矩阵,S 是稀疏矩阵,会对稀疏矩阵的行进行置换并返回一个稀疏矩阵。表达式 S*P、P\S、S/P 的工作方式类似。
两个置换矩阵可以相乘或相除(如果它们的大小匹配),从而执行置换的复合。此外,置换矩阵可以通过一个置换向量(或两个向量)进行索引,再次得到置换矩阵。任何其他操作通常不会产生置换矩阵,因此将触发隐式转换。
版权所有 © 2024-2026 Octave中文网
ICP备案/许可证号:黑ICP备2024030411号-4