为了创建置换矩阵,Octave 并没有引入新函数,而是重载了现有语法:通过用置换向量对单位矩阵进行索引,可以方便地创建置换矩阵。也就是说,如果 q 是长度为 n 的置换向量,表达式
P = eye (n) (:, q);
将创建一个置换矩阵——一种特殊的矩阵对象。
eye (n) (q, :)
同样有效(并创建一个行置换矩阵),以及
eye (n) (q1, q2).
例如:
eye (4) ([1,3,2,4],:) ⇒ Permutation Matrix 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 eye (4) (:,[1,3,2,4]) ⇒ Permutation Matrix 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1
在数学上,单位矩阵既是对角矩阵又是置换矩阵。在 Octave 中,eye (n) 返回一个对角矩阵,因为一个矩阵只能属于一个类。您可以通过单位置换对其进行索引,将此对角矩阵转换为置换矩阵,如下所示。这是单位矩阵的一个特殊性质;对其他对角矩阵进行索引通常会产生一个完整矩阵。
eye (3) ⇒ Diagonal Matrix 1 0 0 0 1 0 0 0 1 eye(3)(1:3,:) ⇒ Permutation Matrix 1 0 0 0 1 0 0 0 1
其他一些内置函数也可以返回置换矩阵。示例包括 inv 或 lu。
版权所有 © 2024-2026 Octave中文网
ICP备案/许可证号:黑ICP备2024030411号-4