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
factorspace
factorzero
headssubspace 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