Matrix 如何在极大值中求矩阵的约化行梯队形式?

Matrix 如何在极大值中求矩阵的约化行梯队形式?,matrix,linear-algebra,maxima,Matrix,Linear Algebra,Maxima,我知道Maxima允许您通过函数将矩阵带到行梯队形式,但是有没有办法将矩阵带到减少的行梯队形式?尝试以下两种方法: 1) 这里有一个名为“Matrixtools”的自定义插件:名为redech(M) 2) 下面是rref函数的Rosetta代码示例: rref(a):=block([p,q,k],[p,q]:matrix_size(a),a:echelon(a), k:min(p,q), for i thru min(p,q) do (if a[i,i]=0 then (k:i-

我知道Maxima允许您通过函数将矩阵带到行梯队形式,但是有没有办法将矩阵带到减少的行梯队形式?

尝试以下两种方法:

1) 这里有一个名为“Matrixtools”的自定义插件:名为
redech(M)

2) 下面是rref函数的Rosetta代码示例:

rref(a):=block([p,q,k],[p,q]:matrix_size(a),a:echelon(a),
    k:min(p,q),
    for i thru min(p,q) do (if a[i,i]=0 then (k:i-1,return())),
    for i:k thru 2 step -1 do (for j from i-1 thru 1 step -1 do a:rowop(a,j,i,a[j,i])),
    a)$

a: matrix([12,-27,36,44,59],
          [26,41,-54,24,23],
          [33,70,59,15,-68],
          [43,16,29,-52,-61],
          [-43,20,71,88,11])$

rref(a);
matrix([1,0,0,0,1/2],[0,1,0,0,-1],[0,0,1,0,-1/2],[0,0,0,1,1],[0,0,0,0,0])