24.10 Matrices as Basis of a Row Space

  • BaseMat( mat ) A

    returns a basis for the row space generated by the rows of mat in the form of an immutable matrix.

  • BaseMatDestructive( mat ) O

    Does the same as BaseMat, with the difference that it may destroy the matrix mat. The matrix mat must be mutable.

    gap> BaseMat(mat);
    [ [ 1, 0, -1 ], [ 0, 1, 2 ] ]
    gap> mm:= [[1,2,3],[4,5,6],[5,7,9]];; 
    gap> BaseMatDestructive( mm );
    [ [ 1, 0, -1 ], [ 0, 1, 2 ] ]
    gap> mm;
    [ [ 1, 0, -1 ], [ 0, 1, 2 ], [ 0, 0, 0 ] ]
    
  • BaseOrthogonalSpaceMat( mat ) A

    Let V be the row space generated by the rows of mat (over any field that contains all entries of mat). BaseOrthogonalSpaceMat( mat ) computes a base of the orthogonal space of V.

    The rows of mat need not be linearly independent.

  • SumIntersectionMat( M1, M2 ) O

    performs Zassenhaus' algorithm to compute bases for the sum and the intersection of spaces generated by the rows of the matrices M1, M2.

    returns a list of length 2, at first position a base of the sum, at second position a base of the intersection. Both bases are in semi-echelon form (see Echelonized matrices).

    gap> SumIntersectionMat(mat,[[2,7,6],[5,9,4]]);
    [ [ [ 1, 2, 3 ], [ 0, 1, 2 ], [ 0, 0, 1 ] ], [ [ 1, -3/4, -5/2 ] ] ]
    

  • BaseSteinitzVectors( bas, mat ) F

    find vectors extending mat to a basis spanning the span of bas. Both bas and mat must be matrices of full (row) rank. It returns a record with the following components:

    subspace
    is a basis of the space spanned by mat in upper triangular form with leading ones at all echelon steps and zeroes above these ones.

    factorspace
    is a list of extending vectors in upper triangular form.

    factorzero
    is a zero vector.

    heads
    is a list of integers which can be used to decompose vectors in the basis vectors. The ith entry indicating the vector that gives an echelon step at position i. A negative number indicates an echelon step in the subspace, a positive number an echelon step in the complement, the absolute value gives the position of the vector in the lists subspace and factorspace.

    gap> BaseSteinitzVectors(IdentityMat(3,1),[[11,13,15]]);
    rec(
      factorspace := [ [ 0, 1, 15/13 ], [ 0, 0, 1 ] ],
      factorzero := [ 0, 0, 0 ],
      subspace := [ [ 1, 13/11, 15/11 ] ],
      heads := [ -1, 1, 2 ] )
    

    See also chapter Integral Matrices and Lattices

    [Top] [Previous] [Up] [Next] [Index]

    GAP 4 manual
    February 2000