Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/GAP/pkg/forms/doc/   (Algebra von RWTH Aachen Version 4.15.1©)  Datei vom 5.4.2025 mit Größe 11 kB image not shown  

Quelle  chap2_mj.html   Sprache: HTML

 
 products/sources/formale Sprachen/GAP/pkg/forms/doc/chap2_mj.html


<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<script type="text/javascript"
  src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>
<title>GAP (Forms) - Chapter 2: Examples</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<meta name="generator" content="GAPDoc2HTML" />
<link rel="stylesheet" type="text/css" href="manual.css" />
<script src="manual.js" type="text/javascript"></script>
<script type="text/javascript">overwriteStyle();</script>
</head>
<body class="chap2"  onload="jscontent()">


<div class="chlinktop"><span class="chlink1">Goto Chapter: </span><a href="chap0_mj.html">Top</a>  <a href="chap1_mj.html">1</a>  <a href="chap2_mj.html">2</a>  <a href="chap3_mj.html">3</a>  <a href="chap4_mj.html">4</a>  <a href="chap5_mj.html">5</a>  <a href="chapBib_mj.html">Bib</a>  <a href="chapInd_mj.html">Ind</a>  </div>

<div class="chlinkprevnexttop"> <a href="chap0_mj.html">[Top of Book]</a>   <a href="chap0_mj.html#contents">[Contents]</a>    <a href="chap1_mj.html">[Previous Chapter]</a>    <a href="chap3_mj.html">[Next Chapter]</a>   </div>

<p id="mathjaxlink" class="pcenter"><a href="chap2.html">[MathJax off]</a></p>
<p><a id="X7A489A5D79DA9E5C" name="X7A489A5D79DA9E5C"></a></p>
<div class="ChapSects"><a href="chap2_mj.html#X7A489A5D79DA9E5C">2 <span class="Heading">Examples</span></a>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap2_mj.html#X83510E647FBB2475">2.1 <span class="Heading">A conic of 
<span class="SimpleMath">\(\mathrm{PG}(2,8)\)</span>
</span></a>
</span>
</div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap2_mj.html#X781F69578636E8C5">2.2 <span class="Heading">A form for 
<span class="SimpleMath">\(\mathrm{W}(5,3)\)</span></span></a>
</span>
</div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap2_mj.html#X78638D21797AC9A0">2.3 <span class="Heading">What is the form preserved by this group?</span></a>
</span>
</div>
</div>

<h3>2 <span class="Heading">Examples</span></h3>

<p>Here we give some simple examples that display some of the functionality of <strong class="pkg">Forms</strong>.</p>

<p><a id="X83510E647FBB2475" name="X83510E647FBB2475"></a></p>

<h4>2.1 <span class="Heading">A conic of 
<span class="SimpleMath">\(\mathrm{PG}(2,8)\)</span>
</span></h4>

<p>Consider the three-dimensional vector space <span class="SimpleMath">\(V\)</span> over the finite field <span class="SimpleMath">\(\mathrm{GF}(8)\)</span> , and consider the following quadratic polynomial in 3 variables:</p>

<p class="center">\[x_1^2+x_2x_3.\]</p>

<p>Then this polynomial defines a quadratic form on <span class="SimpleMath">\(V\)</span> and the zeros form a <em>conic</em> of the associated projective plane. So in particular, our quadratic form defines a degenerate parabolic quadric of Witt Index 1. We will see now how we can use <strong class="pkg">Forms</strong> to view this example.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">gf := GF(8);</span>
GF(2^3)
<span class="GAPprompt">gap></span> <span class="GAPinput">vec := gf^3;</span>
( GF(2^3)^3 )
<span class="GAPprompt">gap></span> <span class="GAPinput">r := PolynomialRing( gf, 3);</span>
PolynomialRing(..., [ x_1, x_2, x_3 ])
<span class="GAPprompt">gap></span> <span class="GAPinput">poly := r.1^2 + r.2 * r.3;</span>
x_1^2+x_2*x_3
<span class="GAPprompt">gap></span> <span class="GAPinput">form := QuadraticFormByPolynomial( poly, r );</span>
< quadratic form >
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( form );</span>
Quadratic form
Gram Matrix:
 1 . .
 . . 1
 . . .
Polynomial: x_1^2+x_2*x_3
<span class="GAPprompt">gap></span> <span class="GAPinput">IsDegenerateForm( form );</span>
#I  Testing degeneracy of the *associated bilinear form*
true
<span class="GAPprompt">gap></span> <span class="GAPinput">IsSingularForm( form );</span>
false
<span class="GAPprompt">gap></span> <span class="GAPinput">WittIndex( form );</span>
1
<span class="GAPprompt">gap></span> <span class="GAPinput">IsParabolicForm( form );</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">RadicalOfForm( form );</span>
<vector space over GF(2^3), with 0 generators>
</pre></div>

<p>Now our conic is stabilised by a group isomorphic to <span class="SimpleMath">\(\mathrm{GO}(3,8)\)</span>, but which is not identical to the group returned by the GAP command <code class="code">GO(3,8)</code>. However, our conic is the canonical conic given in <strong class="pkg">Forms</strong>.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">canonical := IsometricCanonicalForm( form );</span>
< parabolic quadratic form >
<span class="GAPprompt">gap></span> <span class="GAPinput">form = canonical;</span>
true
</pre></div>

<p>So we ``change forms''...</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">go := GO(3,8);</span>
GO(0,3,8)
<span class="GAPprompt">gap></span> <span class="GAPinput">mat := InvariantQuadraticForm( go )!.matrix;</span>
[ [ Z(2)^0, 0*Z(2), 0*Z(2) ], [ 0*Z(2), 0*Z(2), 0*Z(2) ], 
  [ 0*Z(2), Z(2)^0, 0*Z(2) ] ]
<span class="GAPprompt">gap></span> <span class="GAPinput">gapform := QuadraticFormByMatrix( mat, GF(8) );</span>
< quadratic form >
<span class="GAPprompt">gap></span> <span class="GAPinput">b := BaseChangeToCanonical( gapform );</span>
[ [ Z(2)^0, 0*Z(2), 0*Z(2) ], [ 0*Z(2), Z(2)^0, 0*Z(2) ], 
  [ 0*Z(2), 0*Z(2), Z(2)^0 ] ]
<span class="GAPprompt">gap></span> <span class="GAPinput">hom := BaseChangeHomomorphism( b, GF(8) );</span>
^[ [ Z(2)^0, 0*Z(2), 0*Z(2) ], [ 0*Z(2), Z(2)^0, 0*Z(2) ], 
  [ 0*Z(2), 0*Z(2), Z(2)^0 ] ]
<span class="GAPprompt">gap></span> <span class="GAPinput">newgo := Image(hom, go);</span>
Group(
[ [ [ Z(2)^0, 0*Z(2), 0*Z(2) ], [ 0*Z(2), Z(2^3), 0*Z(2) ], [ 0*Z(2), 0*Z(2),
           Z(2^3)^6 ] ], 
  [ [ Z(2)^0, 0*Z(2), 0*Z(2) ], [ Z(2)^0, Z(2)^0, Z(2)^0 ], 
      [ 0*Z(2), Z(2)^0, 0*Z(2) ] ] ])
</pre></div>

<p>Now we look at the action of our new <span class="SimpleMath">\(\mathrm{GO}(3,8)\)</span> on the conic.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">conic := Filtered(vec, x -> IsZero( x^form ));;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Size(conic);</span>
64
<span class="GAPprompt">gap></span> <span class="GAPinput">orbs := Orbits(newgo, conic, OnRight);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">List(orbs,Size);</span>
[ 1, 63 ]
</pre></div>

<p>So we see that there is a fixed point, which is actually the <em>nucleus</em> of the conic, or in other words, the radical of the form.</p>

<p><a id="X781F69578636E8C5" name="X781F69578636E8C5"></a></p>

<h4>2.2 <span class="Heading">A form for 
<span class="SimpleMath">\(\mathrm{W}(5,3)\)</span></span></h4>

<p>The symplectic polar space <span class="SimpleMath">\(\mathrm{W}(5,q)\)</span> is defined by an alternating reflexive bilinear form on the six-dimensional vector space over the finite field <span class="SimpleMath">\(\mathrm{GF}(q)\)</span>. Any invertible <span class="SimpleMath">\(6 \times 6\)</span> matrix <span class="SimpleMath">\(A\)</span> which satisfies <span class="SimpleMath">\(A+A^T=0\)</span> is a candidate for the Gram matrix of a symplectic polarity. The canonical form we adopt in <strong class="pkg">Forms</strong> for an alternating form is</p>

<p class="center">\[f(x,y)=x_1y_2-x_2y_1+x_3y_4-x_4y_3\cdots+x_{2n-1}y_{2n}-x_{2n}y_{2n-1}.\]</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">f := GF(3);</span>
GF(3)
<span class="GAPprompt">gap></span> <span class="GAPinput">gram := [</span>
<span class="GAPprompt">></span> <span class="GAPinput">[0,0,0,1,0,0], </span>
<span class="GAPprompt">></span> <span class="GAPinput">[0,0,0,0,1,0],</span>
<span class="GAPprompt">></span> <span class="GAPinput">[0,0,0,0,0,1],</span>
<span class="GAPprompt">></span> <span class="GAPinput">[-1,0,0,0,0,0],</span>
<span class="GAPprompt">></span> <span class="GAPinput">[0,-1,0,0,0,0],</span>
<span class="GAPprompt">></span> <span class="GAPinput">[0,0,-1,0,0,0]] * One(f);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">form := BilinearFormByMatrix( gram, f );</span>
< bilinear form >
<span class="GAPprompt">gap></span> <span class="GAPinput">IsSymplecticForm( form );</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( form );</span>
Symplectic form
Gram Matrix:
 . . . 1 . .
 . . . . 1 .
 . . . . . 1
 2 . . . . .
 . 2 . . . .
 . . 2 . . .
<span class="GAPprompt">gap></span> <span class="GAPinput">b := BaseChangeToCanonical( form );</span>
< immutable compressed matrix 6x6 over GF(3) >
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( b );</span>
 1 . . . . .
 . . . 1 . .
 . . 1 . . .
 . . . . . 1
 . . . . 1 .
 . 2 . . . .
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( b * gram * TransposedMat(b) );</span>
 . 1 . . . .
 2 . . . . .
 . . . 1 . .
 . . 2 . . .
 . . . . . 1
 . . . . 2 .
 
</pre></div>

<p><a id="X78638D21797AC9A0" name="X78638D21797AC9A0"></a></p>

<h4>2.3 <span class="Heading">What is the form preserved by this group?</span></h4>

<p>Here we start with a matrix group which is available in GAP, namely <span class="SimpleMath">\(\mathrm{GO}(5,5)\)</span>. We then conjugate this group by an element of <span class="SimpleMath">\(\mathrm{GL}(5,5)\)</span>, and then we find the forms left invariant by this copy of <span class="SimpleMath">\(\mathrm{GO}(5,5)\)</span> (which we expect to be a symmetric bilinear form).</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">go := GO(5, 5);</span>
GO(0,5,5)
<span class="GAPprompt">gap></span> <span class="GAPinput">x := </span>
<span class="GAPprompt">></span> <span class="GAPinput">[ [ Z(5)^0, Z(5)^3, 0*Z(5), Z(5)^3, Z(5)^3 ], </span>
<span class="GAPprompt">></span> <span class="GAPinput">  [ Z(5)^2, Z(5)^3, 0*Z(5), Z(5)^2, Z(5) ], </span>
<span class="GAPprompt">></span> <span class="GAPinput">  [ Z(5)^2, Z(5)^2, Z(5)^0, Z(5), Z(5)^3 ],</span>
<span class="GAPprompt">></span> <span class="GAPinput">  [ Z(5)^0, Z(5)^3, Z(5), Z(5)^0, Z(5)^3 ], </span>
<span class="GAPprompt">></span> <span class="GAPinput">  [ Z(5)^3, 0*Z(5), Z(5)^0, 0*Z(5), Z(5) ] </span>
<span class="GAPprompt">></span> <span class="GAPinput"> ];;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">go2 := go^x;</span>
<matrix group of size 18720000 with 2 generators>
<span class="GAPprompt">gap></span> <span class="GAPinput">forms := PreservedSesquilinearForms( go2 );</span>
[ < bilinear form > ]
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( forms[1] );</span>
Bilinear form
Gram Matrix:
 3 4 3 1 1
 4 4 4 1 1
 3 4 1 2 3
 1 1 2 4 3
 1 1 3 3 1
 
</pre></div>


<div class="chlinkprevnextbot"> <a href="chap0_mj.html">[Top of Book]</a>   <a href="chap0_mj.html#contents">[Contents]</a>    <a href="chap1_mj.html">[Previous Chapter]</a>    <a href="chap3_mj.html">[Next Chapter]</a>   </div>


<div class="chlinkbot"><span class="chlink1">Goto Chapter: </span><a href="chap0_mj.html">Top</a>  <a href="chap1_mj.html">1</a>  <a href="chap2_mj.html">2</a>  <a href="chap3_mj.html">3</a>  <a href="chap4_mj.html">4</a>  <a href="chap5_mj.html">5</a>  <a href="chapBib_mj.html">Bib</a>  <a href="chapInd_mj.html">Ind</a>  </div>

<hr />
<p class="foot">generated by <a href="https://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p>
</body>
</html>

96%


¤ Dauer der Verarbeitung: 0.28 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung ist noch experimentell.