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

  1. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  2. %%
  3. %A  unknown.tex                 GAP documentation               Thomas Breuer
  4. %%
  5. %A  @(#)$Id: unknown.tex,v 3.7 1993/02/18 13:40:55 felsch Exp $
  6. %%
  7. %Y  Copyright 1990-1992,  Lehrstuhl D fuer Mathematik,  RWTH Aachen,  Germany
  8. %%
  9. %H  $Log: unknown.tex,v $
  10. %H  Revision 3.7  1993/02/18  13:40:55  felsch
  11. %H  more examples fixed
  12. %H
  13. %H  Revision 3.6  1993/02/12  15:50:48  felsch
  14. %H  examples adjusted to line length 72
  15. %H
  16. %H  Revision 3.5  1993/02/11  17:46:09  martin
  17. %H  changed '@' to '&'
  18. %H
  19. %H  Revision 3.4  1993/02/07  13:23:35  felsch
  20. %H  more examples fixed
  21. %H
  22. %H  Revision 3.3  1993/02/01  13:58:52  felsch
  23. %H  examples fixed
  24. %H
  25. %H  Revision 3.2  1992/11/30  15:36:30  fceller
  26. %H  changed text aligment so that the online help works
  27. %H
  28. %H  Revision 3.1  1991/12/27  16:46:58  sam
  29. %H  initial revision under RCS
  30. %%
  31. \Chapter{Unknowns}%
  32. \index{data type!unknown}
  33.  
  34. Sometimes  the  result  of  an   operation  does  not  allow   further
  35. computations with it.  In many cases, then an error is signalled,  and
  36. the computation is stopped.
  37.  
  38. This is not  appropriate  for some applications  in  character theory.
  39. For example,  if a  character shall be induced  up (see "Induced") but
  40. the subgroup fusion is only a parametrized map  (see chapter "Maps and
  41. Parametrized  Maps"), there  are  positions where  the  value  of  the
  42. induced character are not known, and other values which are determined
  43. by the fusion map\:
  44.  
  45. |    gap> m11:= CharTable( "M11" );; m12:= CharTable( "M12" );;
  46.     gap> fus:= InitFusion( m11, m12 );
  47.     [ 1, [ 2, 3 ], [ 4, 5 ], [ 6, 7 ], 8, [ 9, 10 ], [ 11, 12 ],
  48.       [ 11, 12 ], [ 14, 15 ], [ 14, 15 ] ]
  49.     gap> Induced(m11,m12,Sublist(m11.irreducibles,[ 6 .. 9 ]),fus);
  50.     &I Induced: subgroup order not dividing sum in character 1 at class 4
  51.     &I Induced: subgroup order not dividing sum in character 1 at class 5
  52.     &I Induced: subgroup order not dividing sum in character 1 at class 14
  53.     &I Induced: subgroup order not dividing sum in character 1 at class 15
  54.     &I Induced: subgroup order not dividing sum in character 2 at class 4
  55.     &I Induced: subgroup order not dividing sum in character 2 at class 5
  56.     &I Induced: subgroup order not dividing sum in character 2 at class 14
  57.     &I Induced: subgroup order not dividing sum in character 2 at class 15
  58.     &I Induced: subgroup order not dividing sum in character 3 at class 2
  59.     &I Induced: subgroup order not dividing sum in character 3 at class 3
  60.     &I Induced: subgroup order not dividing sum in character 3 at class 4
  61.     &I Induced: subgroup order not dividing sum in character 3 at class 5
  62.     &I Induced: subgroup order not dividing sum in character 3 at class 9
  63.     &I Induced: subgroup order not dividing sum in character 3 at class 10
  64.     &I Induced: subgroup order not dividing sum in character 4 at class 2
  65.     &I Induced: subgroup order not dividing sum in character 4 at class 3
  66.     &I Induced: subgroup order not dividing sum in character 4 at class 6
  67.     &I Induced: subgroup order not dividing sum in character 4 at class 7
  68.     &I Induced: subgroup order not dividing sum in character 4 at class 11
  69.     &I Induced: subgroup order not dividing sum in character 4 at class 12
  70.     &I Induced: subgroup order not dividing sum in character 4 at class 14
  71.     &I Induced: subgroup order not dividing sum in character 4 at class 15
  72.     [ [ 192, 0, 0, Unknown(9), Unknown(12), 0, 0, 2, 0, 0, 0, 0, 0,
  73.           Unknown(15), Unknown(18) ], 
  74.       [ 192, 0, 0, Unknown(27), Unknown(30), 0, 0, 2, 0, 0, 0, 0, 0,
  75.           Unknown(33), Unknown(36) ], 
  76.       [ 528, Unknown(45), Unknown(48), Unknown(51), Unknown(54), 0, 0, 
  77.           -2, Unknown(57), Unknown(60), 0, 0, 0, 0, 0 ], 
  78.       [ 540, Unknown(75), Unknown(78), 0, 0, Unknown(81), Unknown(84), 0, 
  79.           0, 0, Unknown(87), Unknown(90), 0, Unknown(93), Unknown(96) ] ]|
  80.  
  81. For this  and other  situations,  in  \GAP\ there  is  the  data  type
  82. *unknown*.   Objects  of this type, further on  called *unknowns*, may
  83. stand for any cyclotomic (see "Cyclotomics").
  84.  
  85. Unknowns are  parametrized by positive integers.  When a \GAP\ session
  86. is started, no unknowns do exist.
  87.  
  88. The only ways to create unknowns are to call  "Unknown" 'Unknown' or a
  89. function that calls it, or to do arithmetical operations with unknowns
  90. (see "Operations for Unknowns").
  91.  
  92. Two properties should be noted\:
  93.  
  94. Lists  of cyclotomics and unknowns are  no vectors, so cannot be added
  95. or multiplied like vectors; as a  consequence, unknowns never occur in
  96. matrices.
  97.  
  98. \GAP\ objects  which are printed to files will contain fixed unknowns,
  99. i.e., function calls 'Unknown(  <n> )'  instead of 'Unknown()',  so be
  100. careful to read files printed in different  sessions, since  there may
  101. be the same unknown at different places.
  102.  
  103. The rest  of this  chapter  contains  informations  about the  unknown
  104. constructor  (see   "Unknown"),  the  characteristic   function   (see
  105. "IsUnknown"),  and  comparison  of  and  arithmetical  operations  for
  106. unknowns  (see "Comparisons  of Unknowns", "Operations for Unknowns");
  107. more is not yet known about unknowns.
  108.  
  109. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  110. \Section{Unknown}
  111.  
  112. 'Unknown()'\\
  113. 'Unknown( <n> )'
  114.  
  115. 'Unknown()'  returns  a new unknown value, i.e. the first  one that is
  116. larger than all unknowns which exist in the actual \GAP\ session.
  117.  
  118. 'Unknown(  <n>  )' returns the  <n>-th  unknown;  if it did not  exist
  119. already, it is created.
  120.  
  121. |    gap> Unknown(); Unknown(2000); Unknown();
  122.     Unknown(97)     # There were created already 96 unknowns.
  123.     Unknown(2000)
  124.     Unknown(2001)|
  125.  
  126. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  127. \Section{IsUnknown}
  128.  
  129. 'IsUnknown( <obj> )'
  130.  
  131. returns  'true' if  <obj>  is  an  object of type unknown, and 'false'
  132. otherwise.  Will signal an error if <obj> is an unbound variable.
  133.  
  134. |    gap> IsUnknown( Unknown ); IsUnknown( Unknown() );
  135.     false
  136.     true
  137.     gap> IsUnknown( Unknown(2) );
  138.     true|
  139.  
  140. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  141. \Section{Comparisons of Unknowns}
  142.  
  143. To compare  unknowns with  other objects,  the operators  '\<', '\<=',
  144. '=', '>=',  '>' and '\<>' can be used.  The  result will  be 'true' if
  145. the first  operand is  smaller,  smaller or equal,  equal,  larger  or
  146. equal, larger, or inequal, respectively, and 'false' otherwise.
  147.  
  148. We have 'Unknown( <n> ) >= Unknown( <m> )' if and only if '<n> >= <m>'
  149. holds; unknowns are larger than cyclotomics and finite field elements,
  150. unknowns  are  smaller than  all  objects  which are not  cyclotomics,
  151. finite field elements or unknowns.
  152.  
  153. |    gap> Unknown() >= Unknown();
  154.     false
  155.     gap> Unknown(2) < Unknown(3);
  156.     true
  157.     gap> Unknown() > 3;
  158.     true
  159.     gap> Unknown() > Z(8);
  160.     false
  161.     gap> Unknown() > E(3);
  162.     true
  163.     gap>  Unknown() > [];
  164.     false|
  165.  
  166. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  167. \Section{Operations for Unknowns}
  168.  
  169. The  operators  '+',  '-',  '\*'  and   '/'  are  used  for  addition,
  170. subtraction, multiplication and division of  unknowns and cyclotomics.
  171. The  result  will be  a  new unknown  except  in one of  the following
  172. cases\:
  173.  
  174. Multiplication  with zero yields zero, and multiplication  with one or
  175. addition of zero yields the old unknown.
  176.  
  177. |    gap> Unknown() + 1; Unknown(2) + 0; last * 3; last * 1; last * 0;
  178.     Unknown(2010)
  179.     Unknown(2)
  180.     Unknown(2011)
  181.     Unknown(2011)
  182.     0|
  183.  
  184. *Note* that division by an unknown causes  an error, since an  unknown
  185. might stand for zero.
  186.  
  187.  
  188. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  189. %E  Emacs . . . . . . . . . . . . . . . . . . . . . . . local Emacs variables
  190. %%
  191. %%  Local Variables:
  192. %%  mode:               outline
  193. %%  outline-regexp:     "\\\\Chapter\\|\\\\Section\\|%E"
  194. %%  fill-column:        73
  195. %%  eval:               (hide-body)
  196. %%  End:
  197. %%
  198.