Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/GAP/pkg/gbnp/tst/   (Algebra von RWTH Aachen Version 4.15.1©)  Datei vom 29.7.2024 mit Größe 5 kB image not shown  

Quelle  test17.tst   Sprache: unbekannt

 
Spracherkennung für: .tst vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]

gap> START_TEST("GBNP test17");
gap> ######################### BEGIN COPYRIGHT MESSAGE #########################
gap> # GBNP - computing Gröbner bases of noncommutative polynomials
gap> # Copyright 2001-2010 by Arjeh M. Cohen, Dié A.H. Gijsbers, Jan Willem
gap> # Knopper, Chris Krook. Address: Discrete Algebra and Geometry (DAM) group
gap> # at the Department of Mathematics and Computer Science of Eindhoven
gap> # University of Technology.
gap> #
gap> # For acknowledgements see the manual. The manual can be found in several
gap> # formats in the doc subdirectory of the GBNP distribution. The
gap> # acknowledgements formatted as text can be found in the file chap0.txt.
gap> #
gap> # GBNP is free software; you can redistribute it and/or modify it under
gap> # the terms of the Lesser GNU General Public License as published by the
gap> # Free Software Foundation (FSF); either version 2.1 of the License, or
gap> # (at your option) any later version. For details, see the file 'LGPL' in
gap> # the doc subdirectory of the GBNP distribution or see the FSF's own site:
gap> # https://www.gnu.org/licenses/lgpl.html
gap> ########################## END COPYRIGHT MESSAGE ##########################
gap> 
gap> ### filename = "example17.g"
gap> ### authors Knopper
gap> 
gap> ### THIS IS A GAP PACKAGE GBNP
gap> ### FOR COMPUTING WITH NON-COMMUTATIVE POLYNOMIALS
gap> 
gap> # <#GAPDoc Label="Example17">
gap> # <Section Label="Example17"><Heading>An algebra over a finite field</Heading>
gap> # A small example over a field other than the rationals, using the conversion
gap> # functions from <Ref Sect="TransitionFunctions"/>.
gap> # The input relations define the symmetric group of degree 3,
gap> # denoted <M>S_3</M>.
gap> # <P/>
gap> # First load the package and set the standard infolevel <Ref
gap> # InfoClass="InfoGBNP" Style="Text"/> to 2 and the time infolevel <Ref
gap> # Func="InfoGBNPTime" Style="Text"/> to 1 (for more information about the info
gap> # level, see Chapter <Ref Chap="Info"/>).
gap> 
gap> # <L>
gap> LoadPackage("gbnp", false);
true
gap> SetInfoLevel(InfoGBNP,2);
gap> SetInfoLevel(InfoGBNPTime,0);
gap> # </L>
gap> 
gap> # Let <C>F</C> be the field GF(2). The relations can be
gap> # entered as elements of a free associative algebra with one <C>A</C> (see
gap> # <Ref BookName="Reference" Label="FreeAssociativeAlgebraWithOne"/>).
gap> 
gap> # <L>
gap> F:=GF(2);;
gap> A:=FreeAssociativeAlgebraWithOne(F,"a","b");
<algebra-with-one over GF(2), with 2 generators>
gap> g:=GeneratorsOfAlgebraWithOne(A);
[ (Z(2)^0)*a, (Z(2)^0)*b ]
gap> # </L>
gap> 
gap> # Enter the relations <M>\{a^2-1,b^2-1,(ab)^3-1\}</M>, convert them to NP-form,
gap> # see Section <Ref Sect="NP"/>, with <Ref Func="GP2NPList" Style="Text"/> and
gap> # print them with <Ref Func="PrintNPList" Style="Text"/>:
gap> 
gap> # <L>
gap> KI_GP := [ g[1]^2-g[1]^0, g[2]^2-g[1]^0, (g[1]*g[2])^3-g[1]^0];
[ (Z(2)^0)*<identity ...>+(Z(2)^0)*a^2, (Z(2)^0)*<identity ...>+(Z(2)^0)*b^2,
  (Z(2)^0)*<identity ...>+(Z(2)^0)*(a*b)^3 ]
gap> KI:=GP2NPList(KI_GP);;
gap> PrintNPList(KI);
 a^2 + Z(2)^0
 b^2 + Z(2)^0
 ababab + Z(2)^0
gap> # </L>
gap> 
gap> # Now calculate the Gröbner basis with <Ref Func="SGrobner" Style="Text"/> and
gap> # print it with <Ref Func="PrintNPList" Style="Text"/>:
gap> 
gap> # <L>
gap> GB:=SGrobner(KI);;
#I  number of entered polynomials is 3
#I  number of polynomials after reduction is 3
#I  End of phase I
#I  End of phase II
#I  length of G =3
#I  length of todo is 2
#I  length of G =3
#I  length of todo is 1
#I  length of G =3
#I  length of todo is 0
#I  List of todo lengths is [ 2, 2, 1, 0 ]
#I  End of phase III
#I  G: Cleaning finished, 0 polynomials reduced
#I  End of phase IV
gap> PrintNPList(GB);
 a^2 + Z(2)^0
 b^2 + Z(2)^0
 bab + aba
gap> # </L>
gap> 
gap> # Now calculate the dimension of the quotient algebra with <Ref Func="DimQA"
gap> # Style="Text"/> (2 symbols) and a base with <Ref Func="BaseQA" Style="Text"/>
gap> # (2 symbols, 0 for whole base) and print the base.
gap> # This will give a list of elements of the group.
gap> 
gap> # <L>
gap> DimQA(GB,2);
6
gap> B:=BaseQA(GB,2,0);;
gap> PrintNPList(B);
 Z(2)^0
 a
 b
 ab
 ba
 aba
gap> # </L>
gap> 
gap> # We can print the Gröbner basis and the basis of the quotient algebra,
gap> # converted back to GAP polynomials with <Ref Func="NP2GPList" Style="Text"/>.
gap> # The functions used to convert the polynomials also require the algebra as an
gap> # argument. The result is useful for further computations in <M>A</M>.
gap> 
gap> # <L>
gap> NP2GPList(GB,A);
[ (Z(2)^0)*a^2+(Z(2)^0)*<identity ...>, (Z(2)^0)*b^2+(Z(2)^0)*<identity ...>,
  (Z(2)^0)*b*a*b+(Z(2)^0)*a*b*a ]
gap> NP2GPList(B,A);
[ (Z(2)^0)*<identity ...>, (Z(2)^0)*a, (Z(2)^0)*b, (Z(2)^0)*a*b,
  (Z(2)^0)*b*a, (Z(2)^0)*a*b*a ]
gap> # </L>
gap> 
gap> # The matrix of right multiplication with the image of the
gap> # first variable
gap> # can be computed by <Ref Func="MatrixQA" Style="Text"/>.
gap> # <L>
gap> Display(MatrixQA(1,B,GB));
 . 1 . . . .
 1 . . . . .
 . . . . 1 .
 . . . . . 1
 . . 1 . . .
 . . . 1 . .
gap> # </L>
gap> 
gap> 
gap> 
gap> 
gap> # </Section>
gap> # <#/GAPDoc>
gap> 
gap> STOP_TEST("test17.g",10000);

[ Dauer der Verarbeitung: 0.51 Sekunden  ]