33.17 CanonicalBasis

CanonicalBasis( V )

returns the canonical basis of the row space V. This is a special semi-echelonized basis (see SemiEchelonBasis), with the additional properties that for j > i the position of the pivot of row j is bigger than that of the pivot of row i, and that the pivot columns contain exactly one nonzero entry.

    gap> v:= GF(2)^2; v.name:= "v";;
    RowSpace( GF(2), [ [ Z(2)^0, 0*Z(2) ], [ 0*Z(2), Z(2)^0 ] ] )
    gap> cb:= CanonicalBasis( v );
    CanonicalBasis( v )
    gap> cb.vectors;
    [ [ Z(2)^0, 0*Z(2) ], [ 0*Z(2), Z(2)^0 ] ] 

The canonical basis is obtained on applying a full Gaussian elimination to the generators of V, using BaseMat BaseMat. If the component V.semiEchelonBasis is bound then this basis is used to compute the canonical basis, otherwise TriangulizeMat is called.

Previous Up Top Next
Index

GAP 3.4.4
April 1997