默认的maxima中只有echelon(M); 这样只能得到一个阶梯形矩阵,如果我们要用来解方程组,显然是不合适的,不得不用solve()来输入方程组。
翻墙找到了一个特有用的语句,可以直接提到简化行阶梯形矩阵(RREF)输出:
1.先定义
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)$
2.使用
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);
3.让我们来看看输出: