home *** CD-ROM | disk | FTP | other *** search
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %%
- %A rowspace.tex GAP documentation J\"urgen Mnich
- %%
- %A @(#)$Id: rowspace.tex,v 3.5 1993/02/19 10:48:42 gap Exp $
- %%
- %Y Copyright 1990-1992, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
- %%
- %% This file contains descriptions of the row space datatype, the operations
- %% and functions for this type.
- %%
- %H $Log: rowspace.tex,v $
- %H Revision 3.5 1993/02/19 10:48:42 gap
- %H adjustments in line length and spelling
- %H
- %H Revision 3.4 1992/04/03 13:15:38 fceller
- %H chnaged 'Shifted...' into 'Sifted...'
- %H
- %H Revision 3.3 1992/04/02 21:06:23 martin
- %H changed *domain functions* to *set theoretic functions*
- %H
- %H Revision 3.2 1992/04/02 18:43:35 martin
- %H added a note about future changes
- %H
- %H Revision 3.1 1992/04/01 13:41:22 jmnich
- %H fixed some references
- %H
- %H Revision 3.0 1992/03/03 09:55:50 sam
- %H Initial revision under RCS
- %H
- %%
- \Chapter{Row Spaces}
-
- *The material described in this chapter is subject to change.*
-
- Row spaces are a subcategory of vector spaces (see "Vector Spaces").
-
- The following sections describe how row spaces are created (see
- "RowSpace" ) and how factorspaces of row spaces are constructed (see "Row
- Space Operations").
-
- The following sections describe the additional functions for factorspaces
- of row spaces.
-
- The functions described in this chapter are implemented in the file
- 'LIBNAME/\"rowspace.g\"'.
-
-
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \Section{RowSpace}
-
- 'RowSpace( <generators>, <field> )'
-
- 'RowSpace' returns the row space that is generated by the vectors
- <generators> over the field <field>. It is highly recommended that the
- elements in <generators> in fact are {\GAP} vectors.
-
-
- 'RowSpace( <generators>, <field>, <zero> )'
-
- Whenever the list <generators> is empty, this call of 'RowSpace' has to
- be used. In that case the necessary components in the record representing
- the row space are set up using the third argument <zero> as well.
-
-
- 'RowSpace( <dimension>, <field> )'
-
- The standard row space of dimension <dimension> over the field <field> is
- constructed and returned when using this version of the call to
- 'RowSpace'. The elements of the returned row space are all the lists of
- length <dimension> with entries in <field>.
-
-
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \Section{IsRowSpace}
-
- 'IsRowSpace( <obj> )'
-
- 'IsRowSpace' returns 'true' if <obj>, which can be an object of arbitrary
- type, is a row space and 'false' otherwise.
-
-
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \Section{Row Space Records}
-
- In addition to the record components described in "Vector Space Records"
- the following components may be present in the record of a row space <V>.
-
- 'isRowSpace': \\
- is always 'true'.
-
-
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \Section{Set Functions for Row Spaces}%
- \index{in!for row spaces}%
- \index{Intersection!for row spaces}
-
- \vspace{5mm}
- '<v> in <V>'
-
- Membership is tested using 'SiftedVector' (see
- "SiftedVector").
-
-
- \vspace{5mm}
- 'Intersection( <V>, <W> )'
-
- The intersection of two row spaces is computed using the
- Zassenhaus-algorithm, thus avoiding the generation of the set of elements
- of <V> and <W>.
-
-
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \Section{VectorSpace Functions for Row Spaces}
-
- Row spaces are a special type of vector spaces for which better
- algorithms may be known. The following functions differ in their
- implementation from their equivalent for general vector spaces.
-
- 'Base( <V> )'
-
- The base of a row space is determined with the Gauss algorithm (see "Base
- for Row Spaces").
-
-
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \Section{Base for Row Spaces}
-
- 'RowSpaceOps.Base( <V> )'
-
- If <V> is a row space, a base might be computed using the full
- Gauss-algorithm on the matrix that is built row by row from the
- generators of <V>. The non-zero rows of the resulting matrix form a base
- for <V>, which even is a canonical one.
-
- 'RowSpaceOps.Base' computes and returns such a base using the function
- 'BaseMat' (see "BaseMat").
-
-
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \Section{SiftedVector}
-
- 'SiftedVector( <V>, <v> )'
-
- 'SiftedVector' shifts the given vector <v> through the base of <V> which
- is obtained using the function 'Base'.
-
- For the default function 'RowSpaceOps.SiftedVector', shifting a vector
- through a base assumes that the matrix of that base is in upper
- triangular form so that the entries at the heads of the base elements may
- successively be extinguished by subtracting an appropriate multiple of
- the base vector.
-
- 'RowSpaceOps.SiftedVector' returns the result of this process.
-
- This function is used to decide whether a given vector <v> lies in a row
- space <V>, as <v> lies in <V>, iff the residuum is equal to <V>.zero. The
- residuum is the result of the shifting process.
-
-
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \Section{Row Space Operations}
-
- The following operator can be used for row spaces.
-
- '<V> mod <W>'
-
- 'mod' returns a record representing a factorspace, which can be used as an
- argument to some of the functions that are applicable for row spaces
- (see "Coefficients").
-
-
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %Emacs setup
- %E Local Variables:
- %E mode: outline
- %E outline-regexp: "\\\\Chapter\\|\\\\Section\\|\\%Emacs"
- %E fill-column: 73
- %E eval: (hide-body)
- %E End:
- %%
-