21.1.2创建排列矩阵

对于创建置换矩阵,Octave没有引入新的函数,而是覆盖了现有的语法:通过用置换向量索引单位矩阵,可以方便地创建置换矩阵。也就是说,如果q是长度的置换向量n,表达式

P=eye(n)(:,q);

将创建一个置换矩阵-一个特殊的矩阵对象。

eye(n)(q,:)

也将起作用(并创建一个行排列矩阵),以及

眼(n)(q1,q2)。

例如

eye(4)([1,3,2,4],:)⇒置换矩阵1 0 0 0 0 1 0 0 1 1 0 0 2 0 1eye(4)(:,[1,3,2,4])⇒置换矩阵1 0 0 0 0 1 0 1 0 0 1

在数学上,单位矩阵既是对角矩阵又是置换矩阵,eye(n)返回一个对角矩阵,因为矩阵只能有一个类。您可以将此对角矩阵转换为置换矩阵,方法是通过单位置换对其进行索引,如下所示。这是单位矩阵的一个特殊性质;索引其他对角化矩阵通常返回完整矩阵。

eye(3)⇒对角矩阵1 0 0 1 0 0 0 1eye(3)(1:3,:)⇒置换矩阵1 0 0 0 1 0 0 1

其他一些内置函数也可以返回置换矩阵。示例包括invlu.


版权所有 © 2024 Octave中文网

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