[Up] [Previous] [Next] [Index]

2 Functionality of the Package

Sections

  1. Methods for Rational Polynomials
  2. Solving a Polynomial by Radicals

2.1 Methods for Rational Polynomials

  • IsSolvable( f )
  • IsSolvablePolynomial( f )

    returns true if the rational polynomial f has a solvable Galois group and false otherwise. It signals an error if there exists an irreducible factor with degree greater than 15.

    For a rational polynomial f

  • SplittingField( f )

    returns the smallest field, constructed with FieldByPolynomial (see Creation of number fields in Alnuth), that contains all roots of f.

    gap> x := Indeterminate( Rationals, "x" );;
    gap> f := UnivariatePolynomial( Rationals, [1,3,4,1] );
    x^3+4*x^2+3*x+1
    gap> L := SplittingField( f );
    <field in characteristic 0>
    gap> y := Indeterminate( L, "y" );;
    gap> g := UnivariatePolynomial( L, One(L) * [1,3,4,1] );
    y^3+!4*y^2+!3*y+!1
    gap> Factors( g );
    [ y+(-168/47-535/94*a-253/94*a^2-24/47*a^3-3/94*a^4),
      y+(336/47+488/47*a+253/47*a^2+48/47*a^3+3/47*a^4),
      y+(20/47-441/94*a-253/94*a^2-24/47*a^3-3/94*a^4) ]
    gap> FactorsPolynomialKant( f, L );
    [ y+(-168/47-535/94*a-253/94*a^2-24/47*a^3-3/94*a^4),
      y+(20/47-441/94*a-253/94*a^2-24/47*a^3-3/94*a^4),
      y+(336/47+488/47*a+253/47*a^2+48/47*a^3+3/47*a^4) ]
    
    To factorize a polynomial over its splitting field one has to embed the polynomial first, as seen in the example, or use FactorsPolynomialKant (see Alnuth) instead of Factors. The primitive elment of the splitting field is always denoted by a.

  • GaloisGroupOnRoots( f )

    calculates the Galois group G of the rational polynomial f as a permutation group with respect to the ordering of the roots of f given as matrices in G!.roots.

    If you only want to get the Galois group itself it is often better to use the function GaloisType (see Chapter Polynomials over the Rationals in the GAP reference manual).

    2.2 Solving a Polynomial by Radicals

  • RootsOfPolynomialAsRadicals( f )

    computes a solution by radicals for the irreducible, rational polynomial f up to degree 15 if this is possible, i. e. if the Galoisgroup of f is solvable, and returns fail otherwise. The result is displayed in form of a dvi-file. Additionally a record rec is returned which contains the Galois group of f in the component galgrp and the splitting field. The Galois group is presented as permutation group on the roots which are available as list of matrices in rec.galgrp!.roots. The splitting field is given in two forms; on the one hand the matrix field K generated by the roots and on the other hand an algebraic number field H created by the defining polynomial of the matrix field. The component rec.K!.cyclics provides a list of pairs whose first entries are matrices which define the splitting field by gradual, cyclic extensions and whose second entries give the degree of the according extension. For the computation a root of unity that lies in the matrix field is used and can be found in rec.K!.unity

    The computation may last very long and doesn't finish for every example if the degree of f is greater than 7.

  • RootsOfPolynomialAsRadicalsNC( f, display )

    has the advantage that it can be used for polynomials with arbitrary degree. It does essentially the same as RootsOfPolynomialAsRadicals except that you can choose whether you want to create a dvi-file and display it or not by setting the boolean display. The function performs no test whether the polynomial f is irreducible. It also doesn't check at the beginning if f is solvable.

    [Up] [Previous] [Next] [Index]

    Radiroot manual
    Januar 2006