home *** CD-ROM | disk | FTP | other *** search
/ Math Solutions 1995 October / Math_Solutions_CD-ROM_Walnut_Creek_October_1995.iso / pc / mac / discrete / doc / matring.tex < prev    next >
Encoding:
Text File  |  1993-05-05  |  3.8 KB  |  104 lines

  1. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  2. %%
  3. %A  matring.tex                 GAP documentation            Martin Schoenert
  4. %%
  5. %A  @(#)$Id: matring.tex,v 3.4 1993/02/19 10:48:42 gap Exp $
  6. %%
  7. %Y  Copyright 1990-1992,  Lehrstuhl D fuer Mathematik,  RWTH Aachen,  Germany
  8. %%
  9. %%  This file describes matrix rings and their implementation.
  10. %%
  11. %H  $Log: matring.tex,v $
  12. %H  Revision 3.4  1993/02/19  10:48:42  gap
  13. %H  adjustments in line length and spelling
  14. %H
  15. %H  Revision 3.3  1993/02/12  16:42:07  felsch
  16. %H  examples adjusted to line length 72
  17. %H
  18. %H  Revision 3.2  1993/02/05  10:20:35  felsch
  19. %H  example fixed
  20. %H
  21. %H  Revision 3.1  1992/04/06  00:13:41  martin
  22. %H  initial revision under RCS
  23. %H
  24. %%
  25. \Chapter{Matrix Rings}
  26.  
  27. A *matrix ring* is a ring  of square matrices  (see chapter  "Matrices").
  28. In {\GAP} you can define matrix rings of matrices over each of the fields
  29. that {\GAP} supports, i.e., the  rationals,  cyclotomic extensions of the
  30. rationals,  and  finite fields (see chapters  "Rationals", "Cyclotomics",
  31. and "Finite Fields").
  32.  
  33. You define a matrix ring in {\GAP} by calling 'Ring' (see "Ring") passing
  34. the generating matrices as arguments.
  35.  
  36. |    gap> m1 := [ [ Z(3)^0, Z(3)^0,   Z(3) ],
  37.     >            [   Z(3), 0*Z(3),   Z(3) ],
  38.     >            [ 0*Z(3),   Z(3), 0*Z(3) ] ];;
  39.     gap> m2 := [ [   Z(3),   Z(3), Z(3)^0 ],
  40.     >            [   Z(3), 0*Z(3),   Z(3) ],
  41.     >            [ Z(3)^0, 0*Z(3),   Z(3) ] ];;
  42.     gap> m := Ring( m1, m2 );
  43.     Ring( [ [ Z(3)^0, Z(3)^0, Z(3) ], [ Z(3), 0*Z(3), Z(3) ],
  44.       [ 0*Z(3), Z(3), 0*Z(3) ] ],
  45.     [ [ Z(3), Z(3), Z(3)^0 ], [ Z(3), 0*Z(3), Z(3) ],
  46.       [ Z(3)^0, 0*Z(3), Z(3) ] ] )
  47.     gap> Size( m );
  48.     2187 |
  49.  
  50. However, currently {\GAP} can only compute with finite matrix rings  with
  51. a multiplicative neutral element (a *one*).  Also computations with large
  52. matrix  rings are not  done  very  efficiently.  We  hope to improve this
  53. situation in  the future, but currently you should be careful  not to try
  54. too large matrix rings.
  55.  
  56. Because matrix  rings are  just a special case  of  domains all  the  set
  57. theoretic  functions such as 'Size' and 'Intersection'  are applicable to
  58. matrix  rings  (see chapter  "Domains"  and  "Set  Functions  for  Matrix
  59. Rings").
  60.  
  61. Also  matrix rings are of  course rings,  so  all ring functions such  as
  62. 'Units' and 'IsIntegralRing' are applicable to matrix rings (see  chapter
  63. "Rings" and "Ring Functions for Matrix Rings").
  64.  
  65. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  66. \Section{Set Functions for Matrix Rings}
  67.  
  68. All set  theoretic functions described in  chapter  "Domains"  use  their
  69. default function for matrix rings  currently.   This  means, for example,
  70. that the size of a  matrix ring is  computed by computing the set of  all
  71. elements  of the  matrix  ring  with an  orbit-like  algorithm.  Thus you
  72. should not try to work with too large matrix rings.
  73.  
  74. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  75. \Section{Ring Functions for Matrix Rings}
  76. \index{IsUnit!for matrix rings}
  77.  
  78. As already mentioned in the introduction of this chapter matrix rings are
  79. after all rings.  All ring functions such as 'Units' and 'IsIntegralRing'
  80. are thus applicable  to matrix rings.  This  section  describes how these
  81. functions are implemented for matrix rings.  Functions not mentioned here
  82. inherit the default group methods described in the respective sections.
  83.  
  84. \vspace{5mm}
  85. 'IsUnit( <R>, <m> )'
  86.  
  87. A  matrix  is a  unit in  a  matrix  ring  if its  rank  is maximal  (see
  88. "RankMat").
  89.  
  90. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  91. %%
  92. %E  Emacs . . . . . . . . . . . . . . . . . . . . . local Emacs variables
  93. %%
  94. %%  Local Variables:
  95. %%  mode:               outline
  96. %%  outline-regexp:     "\\\\Chapter\\|\\\\Section"
  97. %%  fill-column:        73
  98. %%  eval:               (hide-body)
  99. %%  End:
  100. %%
  101.  
  102.  
  103.  
  104.