D.3.2.11 gaussred
.................
Procedure from library linalg.lib (see linalg_lib).

Usage:
gaussred(A); A any constant matrix

Return:
list Z: Z[1]=P , Z[2]=U , Z[3]=S , Z[4]=rank(A)

gives a row reduced matrix S, a permutation matrix P and a
normalized lower triangular matrix U, with P*A=U*S

Note:
This procedure is designed for teaching purposes mainly.
The straight forward implementation in the interpreted library
is not very efficient (no standard basis computation).

Example:
LIB "linalg.lib";
ring r=0,(x),dp;
matrix A[5][4]=1,3,-1,4,2,5,-1,3,1,3,-1,4,0,4,-3,1,-3,1,-5,-2;
print(A);
list Z=gaussred(A);   //construct P,U,S s.t. P*A=U*S
print(Z[1]);          //P
print(Z[2]);          //U
print(Z[3]);          //S
print(Z[4]);          //rank
print(Z[1]*A);        //P*A
print(Z[2]*Z[3]);     //U*S

<font size="-1">
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; User manual for <a href="http://www.singular.uni-kl.de/"><i>Singular</i></a> version 2-0-4, October 2002,
generated by <a href="http://www.gnu.org/software/texinfo/"><i>texi2html</i></a>.
</font>

</body>
</html>
