> #Rueckwaertselimination, ueberschreibt b; with(LinearAlgebra): > ruecksubs:=proc(U::Matrix,b::Vector) local j,k,n,r; r:=0; n:=Dimension(b); for j from 1 by 1 to n do if U[j,j] =0 then r:=1; end if end do; if r=1 then print(`Matrix nicht invertierbar`); else for j from n by (-1) to 1 do for k from n by (-1) to j+1 do b[j]:=b[j] - U[j,k]*b[k]; end do; b[j]:=b[j]/U[j,j]; end do; print(b); end if; end proc: > A:=Matrix([[1.,2.,3.,4.],[0,5.,6.,7.],[0,0,0.,9.],[0,0,0,10.]]); c:=Vector([1,2,3,4]); > ruecksubs(A,c); Matrix nicht invertierbar >