D.3.1.24 colred
...............
Procedure from library matrix.lib (see matrix_lib).

Usage:
colred(A[,e]); A matrix, e any type

Return:
- a matrix B, being the column reduced form of A, if colred is
called with one argument.

(as far as this is possible over the polynomial ring;
no division by polynomials)

 - a list L of two matrices, such that L[1] = A * L[2] with L[1]
the column-reduced form of A and L[2] the transformation matrix
(if colred is called with two arguments).

Note:
* This procedure is designed for teaching purposes mainly.

 * It applies rowred to the transposed matrix.
proc gauss_col should be faster.

 * It should only be used with exact coefficient field (there is no
pivoting) over the polynomial ring (ordering lp or dp).

 * Parameters are allowed. Hence, if the entries of A are parameters
the computation takes place over the field of rational functions.

Example:
LIB "matrix.lib";
ring r=(0,a,b),(A,B,C),dp;
matrix m[8][6]=
0,    2*C, 0,    0,  0,   0,
0,    -4*C,a*A,  0,  0,   0,
b*B,  -A,  0,    0,  0,   0,
-A,   B,   0,    0,  0,   0,
-4*C, 0,   B,    2,  0,   0,
2*A,  B,   0,    0,  0,   0,
0,    3*B, 0,    0,  2b,  0,
0,    AB,  0,    2*A,A,   2a;"";
==> 
print(colred(m));"";
==> 0,0,0,0,    2*C, 0,    
==> 0,0,0,0,    -4*C,(a)*A,
==> 0,0,0,(b)*B,-A,  0,    
==> 0,0,0,-A,   B,   0,    
==> 1,0,0,0,    0,   0,    
==> 0,0,0,2*A,  B,   0,    
==> 0,1,0,0,    0,   0,    
==> 0,0,1,0,    0,   0     
==> 
list L=colred(m,1);
print(L[1]);
==> 0,0,0,0,    2*C, 0,    
==> 0,0,0,0,    -4*C,(a)*A,
==> 0,0,0,(b)*B,-A,  0,    
==> 0,0,0,-A,   B,   0,    
==> 1,0,0,0,    0,   0,    
==> 0,0,0,2*A,  B,   0,    
==> 0,1,0,0,    0,   0,    
==> 0,0,1,0,    0,   0     
print(L[2]);
==> 0,        0,         0,     1,        0,               0,       
==> 0,        0,         0,     0,        1,               0,       
==> 0,        0,         0,     0,        0,               1,       
==> 1/2,      0,         0,     2*C,      0,               -1/2*B,  
==> 0,        1/(2b),    0,     0,        -3/(2b)*B,       0,       
==> -1/(2a)*A,-1/(4ab)*A,1/(2a),-2/(a)*AC,(-2b+3)/(4ab)*AB,1/(2a)*AB
See also:
gauss_col.


<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>
