% generated by GAPDoc2LaTeX from XML source (Frank Luebeck)
\documentclass[a4paper,11pt]{report}

\usepackage[top=37mm,bottom=37mm,left=27mm,right=27mm]{geometry}
\sloppy
\pagestyle{myheadings}
\usepackage{amssymb}
\usepackage[utf8]{inputenc}
\usepackage{makeidx}
\makeindex
\usepackage{color}
\definecolor{FireBrick}{rgb}{0.5812,0.0074,0.0083}
\definecolor{RoyalBlue}{rgb}{0.0236,0.0894,0.6179}
\definecolor{RoyalGreen}{rgb}{0.0236,0.6179,0.0894}
\definecolor{RoyalRed}{rgb}{0.6179,0.0236,0.0894}
\definecolor{LightBlue}{rgb}{0.8544,0.9511,1.0000}
\definecolor{Black}{rgb}{0.0,0.0,0.0}

\definecolor{linkColor}{rgb}{0.0,0.0,0.554}
\definecolor{citeColor}{rgb}{0.0,0.0,0.554}
\definecolor{fileColor}{rgb}{0.0,0.0,0.554}
\definecolor{urlColor}{rgb}{0.0,0.0,0.554}
\definecolor{promptColor}{rgb}{0.0,0.0,0.589}
\definecolor{brkpromptColor}{rgb}{0.589,0.0,0.0}
\definecolor{gapinputColor}{rgb}{0.589,0.0,0.0}
\definecolor{gapoutputColor}{rgb}{0.0,0.0,0.0}

%%  for a long time these were red and blue by default,
%%  now black, but keep variables to overwrite
\definecolor{FuncColor}{rgb}{0.0,0.0,0.0}
%% strange name because of pdflatex bug:
\definecolor{Chapter }{rgb}{0.0,0.0,0.0}
\definecolor{DarkOlive}{rgb}{0.1047,0.2412,0.0064}


\usepackage{fancyvrb}

\usepackage{mathptmx,helvet}
\usepackage[T1]{fontenc}
\usepackage{textcomp}


\usepackage[
            pdftex=true,
            bookmarks=true,        
            a4paper=true,
            pdftitle={Written with GAPDoc},
            pdfcreator={LaTeX with hyperref package / GAPDoc},
            colorlinks=true,
            backref=page,
            breaklinks=true,
            linkcolor=linkColor,
            citecolor=citeColor,
            filecolor=fileColor,
            urlcolor=urlColor,
            pdfpagemode={UseNone}, 
           ]{hyperref}

\newcommand{\maintitlesize}{\fontsize{50}{55}\selectfont}

% write page numbers to a .pnr log file for online help
\newwrite\pagenrlog
\immediate\openout\pagenrlog =\jobname.pnr
\immediate\write\pagenrlog{PAGENRS := [}
\newcommand{\logpage}[1]{\protect\write\pagenrlog{#1, \thepage,}}
%% were never documented, give conflicts with some additional packages

\newcommand{\GAP}{\textsf{GAP}}

%% nicer description environments, allows long labels
\usepackage{enumitem}
\setdescription{style=nextline}

%% depth of toc
\setcounter{tocdepth}{1}





%% command for ColorPrompt style examples
\newcommand{\gapprompt}[1]{\color{promptColor}{\bfseries #1}}
\newcommand{\gapbrkprompt}[1]{\color{brkpromptColor}{\bfseries #1}}
\newcommand{\gapinput}[1]{\color{gapinputColor}{#1}}


\begin{document}

\logpage{[ 0, 0, 0 ]}
\begin{titlepage}
\mbox{}\vfill

\begin{center}{\maintitlesize \textbf{ RadiRoot \\
\mbox{}}}\\
\vfill

\hypersetup{pdftitle={ RadiRoot }}
\markright{\scriptsize \mbox{}\hfill  RadiRoot  \hfill\mbox{}}
{\Huge \textbf{ Roots of a Polynomial as Radicals \\
\mbox{}}}\\
\vfill

{\Huge  2.10 \mbox{}}\\[1cm]
{ 11 August 2026 \mbox{}}\\[1cm]
\mbox{}\\[2cm]
{\Large \textbf{\strut  Andreas Distler   \strut\mbox{}}}\\
\hypersetup{pdfauthor={ Andreas Distler  }}
\end{center}\vfill

\mbox{}\\
{\mbox{}\\
\small \noindent \textbf{ Andreas Distler  }  Email: \href{mailto://a.distler@tu-bs.de} {\texttt{a.distler@tu\texttt{\symbol{45}}bs.de}}}\\
\end{titlepage}

\newpage\setcounter{page}{2}
\newpage

\def\contentsname{Contents\logpage{[ 0, 0, 1 ]}}

\tableofcontents
\newpage

  
\chapter{\textcolor{Chapter }{Introduction}}\label{Introduction}
\logpage{[ 1, 0, 0 ]}
\hyperdef{L}{X7DFB63A97E67C0A1}{}
{
  This package provides functionality to deal with one of the fundamental
problems in algebra. The roots of a rational polynomial shall be expressed by
radicals. This means one is only allowed to use the four basic operations $(+, -, \cdot ,\div)$ and to extract roots. For example, a radical expression for the roots of the
polynomial $x^4 - x^3 - x^2 + x + 1$ is 
\[ \matrix{ \frac{1}{4} + \frac{1}{4}\sqrt{-3} + \frac{1}{2}\sqrt{\frac{7}{2} +
\frac{1}{2}\sqrt{-3}}. } \]
 

 There are formulas to solve the general equation $x^n+ a_{n-1}x^{n-1}+ \ldots + a_1x+a_0 = 0$ up to degree 4. For higher degrees such formulae do not exist (\cite{Abel26}). It was {\a'E}variste Galois (1811 \texttt{\symbol{45}}\texttt{\symbol{45}}
1832) who discovered that there exists a radical expression for the roots if
and only if the Galois group of the polynomial \texttt{\symbol{45}} initially
a permutation group on the roots \texttt{\symbol{45}} is solvable \cite{Galois97}. But the task itself was impractical in his days. This package is the first
public tool which provides a practical method for solving a polynomial
algebraically. The implementation is based on Galois' ideas and the algorithm
is described in \cite{Distler05}. 

 The package can provide the result in various forms. As a default an
expression is given in a similar way as in the example above. Alternatively, a
file containing the roots might be created which is readable by Maple \cite{Maple10}. In \textsf{GAP} itself some information deduced during the computation is available. 

 The user should be aware that radical expressions can get very complicated
even for polynomials of small degree. Especially because the algorithm will
find an irreducible radical expression. That means one gets a root of the
given polynomial for every choice of a value of the radicals in the
expression. Moreover it is not the aim of this package to give a simplest
expression, in any sense. 

 In Chapter 2 the methods provided by this package are listed and explained. 

 Chapter 3 gives details about the info class of this package. See Section  (\textbf{Reference: Info Functions}) in the \textsf{GAP} reference manual for general information about info classes. 

 While the installation of the package follows standard \textsf{GAP} rules the Chapter 4 contains information about external programs required by \textsf{Radiroot} in its default setup. 

 This package uses the interface in the package \textsf{Alnuth}, to factorise polynomials over algebraic number fields. This functionality
must be available to use the functions in \textsf{Radiroot}. 
\section{\textcolor{Chapter }{License}}\label{License}
\logpage{[ 1, 1, 0 ]}
\hyperdef{L}{X861E5DF986F89AE2}{}
{
  This package is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation; either version 2 of the License, or (at your option) any later
version. 

 This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. }

 }

  
\chapter{\textcolor{Chapter }{Functionality of the Package}}\label{Functionality of the Package}
\logpage{[ 2, 0, 0 ]}
\hyperdef{L}{X7B7C385A808701F8}{}
{
  This chapter describes the methods available in the \textsf{Radiroot} package. 
\section{\textcolor{Chapter }{Methods for Rational Polynomials}}\label{Methods for Rational Polynomials}
\logpage{[ 2, 1, 0 ]}
\hyperdef{L}{X7837A2987D8736B7}{}
{
  

\subsection{\textcolor{Chapter }{IsSeparablePolynomial}}
\logpage{[ 2, 1, 1 ]}\nobreak
\hyperdef{L}{X7F0CA8677CC4C763}{}
{\noindent\textcolor{FuncColor}{$\triangleright$\enspace\texttt{IsSeparablePolynomial({\mdseries\slshape f})\index{IsSeparablePolynomial@\texttt{IsSeparablePolynomial}}
\label{IsSeparablePolynomial}
}\hfill{\scriptsize (property)}}\\


 returns \texttt{true} if the rational polynomial \mbox{\texttt{\mdseries\slshape f}} has simple roots only and \texttt{false} otherwise. }

 

\subsection{\textcolor{Chapter }{IsSolvable}}
\logpage{[ 2, 1, 2 ]}\nobreak
\hyperdef{L}{X79B10B337A3B1C6E}{}
{\noindent\textcolor{FuncColor}{$\triangleright$\enspace\texttt{IsSolvable({\mdseries\slshape f})\index{IsSolvable@\texttt{IsSolvable}}
\label{IsSolvable}
}\hfill{\scriptsize (operation)}}\\
\noindent\textcolor{FuncColor}{$\triangleright$\enspace\texttt{IsSolvablePolynomial({\mdseries\slshape f})\index{IsSolvablePolynomial@\texttt{IsSolvablePolynomial}}
\label{IsSolvablePolynomial}
}\hfill{\scriptsize (property)}}\\


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

 

\subsection{\textcolor{Chapter }{SplittingField}}
\logpage{[ 2, 1, 3 ]}\nobreak
\hyperdef{L}{X87531E03849391C1}{}
{\noindent\textcolor{FuncColor}{$\triangleright$\enspace\texttt{SplittingField({\mdseries\slshape f})\index{SplittingField@\texttt{SplittingField}}
\label{SplittingField}
}\hfill{\scriptsize (attribute)}}\\
\noindent\textcolor{FuncColor}{$\triangleright$\enspace\texttt{IsomorphicMatrixField({\mdseries\slshape F})\index{IsomorphicMatrixField@\texttt{IsomorphicMatrixField}}
\label{IsomorphicMatrixField}
}\hfill{\scriptsize (function)}}\\
\noindent\textcolor{FuncColor}{$\triangleright$\enspace\texttt{RootsAsMatrices({\mdseries\slshape f})\index{RootsAsMatrices@\texttt{RootsAsMatrices}}
\label{RootsAsMatrices}
}\hfill{\scriptsize (attribute)}}\\
\noindent\textcolor{FuncColor}{$\triangleright$\enspace\texttt{IsomorphismMatrixField({\mdseries\slshape F})\index{IsomorphismMatrixField@\texttt{IsomorphismMatrixField}}
\label{IsomorphismMatrixField}
}\hfill{\scriptsize (attribute)}}\\


 For a normed, rational polynomial \mbox{\texttt{\mdseries\slshape f}}, \texttt{SplittingField(\mbox{\texttt{\mdseries\slshape f}})} returns the smallest algebraic extension field \mbox{\texttt{\mdseries\slshape L}} of the rationals containing all roots of \mbox{\texttt{\mdseries\slshape f}}. The field is constructed with \texttt{FieldByPolynomial} (see Creation of number fields in \textsf{Alnuth}). The primitive element of \mbox{\texttt{\mdseries\slshape L}} is denoted by \texttt{a}. A matrix field \mbox{\texttt{\mdseries\slshape K}} isomorphic to \mbox{\texttt{\mdseries\slshape L}} is known after the computation and can be accessed using \texttt{IsomorphicMatrixField(\mbox{\texttt{\mdseries\slshape L}}}. The matrices, one for each distinct root of \mbox{\texttt{\mdseries\slshape f}}, in the list produced by \texttt{RootsOfMatrices(\mbox{\texttt{\mdseries\slshape f}})} lie in \mbox{\texttt{\mdseries\slshape K}}. \texttt{IsomorphismMatrixField( \mbox{\texttt{\mdseries\slshape L}} )} returns an isomorphism of \mbox{\texttt{\mdseries\slshape L}} onto \mbox{\texttt{\mdseries\slshape K}}. 
\begin{Verbatim}[commandchars=!@|,fontsize=\small,frame=single,label=Example]
  !gapprompt@gap>| !gapinput@x := Indeterminate( Rationals, "x" );;|
  !gapprompt@gap>| !gapinput@f := UnivariatePolynomial( Rationals, [1,3,4,1] );|
  x^3+4*x^2+3*x+1
  !gapprompt@gap>| !gapinput@L := SplittingField( f );|
  <algebraic extension over the Rationals of degree 6>
  !gapprompt@gap>| !gapinput@y := Indeterminate( L, "y" );;|
  !gapprompt@gap>| !gapinput@FactorsPolynomialAlgExt( L, f );|
  [ y+(-3/94*a^4-24/47*a^3-253/94*a^2-535/94*a-168/47), 
    y+(-3/94*a^4-24/47*a^3-253/94*a^2-441/94*a+20/47), 
    y+(3/47*a^4+48/47*a^3+253/47*a^2+488/47*a+336/47) ]
  !gapprompt@gap>| !gapinput@IsomorphicMatrixField( L );|
  <rational matrix field of degree 6>
  !gapprompt@gap>| !gapinput@Display(RootsAsMatrices(f)[1]);|
  [ [   0,   1,   0,   0,   0,   0 ],
    [   0,   0,   1,   0,   0,   0 ],
    [  -1,  -3,  -4,   0,   0,   0 ],
    [   0,   0,   0,   0,   1,   0 ],
    [   0,   0,   0,   0,   0,   1 ],
    [   0,   0,   0,  -1,  -3,  -4 ] ]
  !gapprompt@gap>| !gapinput@MinimalPolynomial( Rationals, RootsAsMatrices(f)[1]);|
  x^3+4*x^2+3*x+1
  !gapprompt@gap>| !gapinput@iso := IsomorphismMatrixField( L );|
  MappingByFunction( <algebraic extension over the Rationals of degree 
  6>, <rational matrix field of degree 
  6>, function( x ) ... end, function( mat ) ... end )
  !gapprompt@gap>| !gapinput@PreImages( iso, RootsAsMatrices( f ) );|
  [ -3/47*a^4-48/47*a^3-253/47*a^2-488/47*a-336/47, 
    3/94*a^4+24/47*a^3+253/94*a^2+441/94*a-20/47, 
    3/94*a^4+24/47*a^3+253/94*a^2+535/94*a+168/47 ]
\end{Verbatim}
 To factorise a polynomial over its splitting field one has to use \texttt{FactorsPolynomialAlgExt} (see \textsf{Alnuth}) instead of \texttt{Factors}. }

 

\subsection{\textcolor{Chapter }{GaloisGroupOnRoots}}
\logpage{[ 2, 1, 4 ]}\nobreak
\hyperdef{L}{X8079E80E7939A6FD}{}
{\noindent\textcolor{FuncColor}{$\triangleright$\enspace\texttt{GaloisGroupOnRoots({\mdseries\slshape f})\index{GaloisGroupOnRoots@\texttt{GaloisGroupOnRoots}}
\label{GaloisGroupOnRoots}
}\hfill{\scriptsize (attribute)}}\\


 calculates the Galois group \mbox{\texttt{\mdseries\slshape G}} of the rational polynomial \mbox{\texttt{\mdseries\slshape f}}, which has to be separable, as a permutation group with respect to the
ordering of the roots of \mbox{\texttt{\mdseries\slshape f}} given as matrices by \texttt{RootsAsMatrices}. 
\begin{Verbatim}[commandchars=!@|,fontsize=\small,frame=single,label=Example]
  !gapprompt@gap>| !gapinput@GaloisGroupOnRoots(f);|
  Group([ (2,3), (1,2) ])
\end{Verbatim}
 If you only want to get the Galois group abstractly, and if $f$ is irreducible of degree at most 15, it is often better to use the function \texttt{GaloisType} (see Chapter{\nobreakspace} (\textbf{Reference: Polynomials over the Rationals}) in the \textsf{GAP} reference manual). }

 }

 
\section{\textcolor{Chapter }{Solving a Polynomial by Radicals}}\label{Solving a Polynomial by Radicals}
\logpage{[ 2, 2, 0 ]}
\hyperdef{L}{X83ACBF027F5531F6}{}
{
  

\subsection{\textcolor{Chapter }{RootsOfPolynomialAsRadicals}}
\logpage{[ 2, 2, 1 ]}\nobreak
\hyperdef{L}{X87FF39F0784BEE4D}{}
{\noindent\textcolor{FuncColor}{$\triangleright$\enspace\texttt{RootsOfPolynomialAsRadicals({\mdseries\slshape f[, mode[, file]]})\index{RootsOfPolynomialAsRadicals@\texttt{RootsOfPolynomialAsRadicals}}
\label{RootsOfPolynomialAsRadicals}
}\hfill{\scriptsize (function)}}\\


 computes a solution by radicals for the irreducible, rational polynomial \mbox{\texttt{\mdseries\slshape f}} up to degree 15 if the Galois group of \mbox{\texttt{\mdseries\slshape f}} is solvable, and returns \texttt{fail} otherwise. If it succeeds and \mbox{\texttt{\mdseries\slshape mode}} is not \texttt{off}, the function returns the path to a file containing the description of the
roots of \mbox{\texttt{\mdseries\slshape f}} and generators of cyclic radical extensions to produce its splitting field. 

 The user has several options to specify what happens with the results of the
computation. Therefore the optional second argument \mbox{\texttt{\mdseries\slshape mode}}, a string, can be set to one of the following values: 
\begin{Verbatim}[commandchars=!@|,fontsize=\small,frame=single,label=]
  "dvi"
\end{Verbatim}
 Provided \texttt{latex} and the dvi viewer \texttt{xdvi} are available, this option will display the irreducible radical expression for
the roots and cyclic extension generators in a new window. The package uses
this option as the default. 
\begin{Verbatim}[commandchars=!@|,fontsize=\small,frame=single,label=]
  "latex"
\end{Verbatim}
 A LaTeX file is generated which contains the encoding for the expression by
radicals. This gives the user the opportunity to adjust the layout of the
individual example before displaying the expression. 
\begin{Verbatim}[commandchars=!@|,fontsize=\small,frame=single,label=]
  "maple"
\end{Verbatim}
 The generated file can be read into Maple \cite{Maple10} which makes a root of \mbox{\texttt{\mdseries\slshape f}} available as variable \texttt{a}. 
\begin{Verbatim}[commandchars=!@|,fontsize=\small,frame=single,label=]
  "off"
\end{Verbatim}
 In this mode the function does not actually compute a radical expression but
is only called for its side effects. Namely, the attributes \texttt{SplittingField}, \texttt{RootsAsMatrices} and \texttt{GaloisGroupOnRoots} are known for \mbox{\texttt{\mdseries\slshape f}} afterwards. This is slightly more effective than calling the corresponding
operations one by one. 

 With the optional third argument \mbox{\texttt{\mdseries\slshape file}} the user can specify a file name under which the description files will be
stored in the directory from which \textsf{GAP} was called. Depending on the option for \mbox{\texttt{\mdseries\slshape mode}} an extension like \texttt{.tex} might be added automatically. If \mbox{\texttt{\mdseries\slshape file}} is not given, the function places description files in a new directory \texttt{/tmp/tmp.}\mbox{\texttt{\mdseries\slshape string}} with names such as \texttt{Nst} and \texttt{Nst.tex}; the temporary directory is removed at the end of the GAP session. 

 The computation may take a very long time and can get unfeasible if the degree
of \mbox{\texttt{\mdseries\slshape f}} is greater than 7. }

 

\subsection{\textcolor{Chapter }{RootsOfPolynomialAsRadicalsNC}}
\logpage{[ 2, 2, 2 ]}\nobreak
\hyperdef{L}{X8566EB6A873172AD}{}
{\noindent\textcolor{FuncColor}{$\triangleright$\enspace\texttt{RootsOfPolynomialAsRadicalsNC({\mdseries\slshape f[, mode[, file]]})\index{RootsOfPolynomialAsRadicalsNC@\texttt{RootsOfPolynomialAsRadicalsNC}}
\label{RootsOfPolynomialAsRadicalsNC}
}\hfill{\scriptsize (function)}}\\


 does essentially the same as \texttt{RootsOfPolynomialAsRadicals} except that it runs no test on the input before starting the actual
computation. Therefore it can be used for polynomials with arbitrary degree,
but it may run for a very long time until a non\texttt{\symbol{45}}solvable
polynomial is recognized as such. 

 Detailed examples for these two functions can be found in the next section. }

 }

 
\section{\textcolor{Chapter }{Examples}}\label{Examples}
\logpage{[ 2, 3, 0 ]}
\hyperdef{L}{X7A489A5D79DA9E5C}{}
{
  The function \texttt{RootsOfPolynomialAsRadicals} does not generate output inside \textsf{GAP}. Depending on the chosen mode, various kinds of files can be created. As an
example the polynomial from the introduction will be considered. 
\begin{Verbatim}[commandchars=!@|,fontsize=\small,frame=single,label=Example]
  !gapprompt@gap>| !gapinput@g := UnivariatePolynomial( Rationals, [1,1,-1,-1,1] );|
  x^4-x^3-x^2+x+1
  !gapprompt@gap>| !gapinput@RootsOfPolynomialAsRadicals(g);|
  "/tmp/tmp.8zkw5B/Nst.tex"
\end{Verbatim}
 will cause a dvi file to appear in a new window: 

 An expression by radicals for the roots of the polynomial $x^{4}-x^{3}-x^{2} + x + 1$ with the $n$\texttt{\symbol{45}}th root of unity $\zeta_n$ and 

 $\omega_1 = \sqrt{ - 3}$, 

 $\omega_2 = \sqrt{\frac{7}{2} - \frac{1}{2}\omega_1}$, 

 $\omega_3 = \sqrt{\frac{7}{2} + \frac{1}{2}\omega_1}$, 

 is: 

 $\frac{1}{4} - \frac{1}{4}\omega_1 + \frac{1}{2}\omega_2$ 

 If one wants to work with the roots, it might be helpful to use Maple \cite{Maple10}, in which an expression like $2^{(1/2)}$ is valid. 
\begin{Verbatim}[commandchars=!@|,fontsize=\small,frame=single,label=Example]
  !gapprompt@gap>| !gapinput@RootsOfPolynomialAsRadicals(g, "maple");|
  "/tmp/tmp.k9aTCz/Nst"
\end{Verbatim}
 will create a file with the following content: 
\begin{Verbatim}[commandchars=!@|,fontsize=\small,frame=single,label=]
  w1 := (-3)^(1/2);
  w2 := ((7/2) + (-1/2)*w1)^(1/2);
  w3 := ((7/2) + (1/2)*w1)^(1/2);
  
  a := (1/4) + (1/4)*w1 + (1/2)*w3;
\end{Verbatim}
 After those computations several attributes are known for the polynomial in \textsf{GAP}. 
\begin{Verbatim}[commandchars=!@|,fontsize=\small,frame=single,label=Example]
  !gapprompt@gap>| !gapinput@g := UnivariatePolynomial( Rationals, [1,1,-1,-1,1] );;|
  !gapprompt@gap>| !gapinput@RootsOfPolynomialAsRadicalsNC( g, "off" );|
  !gapprompt@gap>| !gapinput@SplittingField( g );|
  <algebraic extension over the Rationals of degree 8>
  !gapprompt@gap>| !gapinput@GaloisGroupOnRoots( g );|
  Group([ (2,4), (1,2)(3,4) ])
\end{Verbatim}
 }

 }

  
\chapter{\textcolor{Chapter }{The Info Class of the Package}}\label{The Info Class of the Package}
\logpage{[ 3, 0, 0 ]}
\hyperdef{L}{X7A31FA44791E93C5}{}
{
  The \texttt{info} mechanism in \textsf{GAP} allows functions to print information during the computation (see Section  (\textbf{Reference: Info Functions}) in the \textsf{GAP} reference manual for general information). 
\section{\textcolor{Chapter }{The Info Class of the Package}}\logpage{[ 3, 1, 0 ]}
\hyperdef{L}{X7A31FA44791E93C5}{}
{
  

\subsection{\textcolor{Chapter }{InfoRadiroot}}
\logpage{[ 3, 1, 1 ]}\nobreak
\hyperdef{L}{X84A5AD6B85B52B72}{}
{\noindent\textcolor{FuncColor}{$\triangleright$\enspace\texttt{InfoRadiroot\index{InfoRadiroot@\texttt{InfoRadiroot}}
\label{InfoRadiroot}
}\hfill{\scriptsize (info class)}}\\


 is the info class of this package. }

 

\subsection{\textcolor{Chapter }{SetInfoLevel}}
\logpage{[ 3, 1, 2 ]}\nobreak
\hyperdef{L}{X7A43B9E68765EE9E}{}
{\noindent\textcolor{FuncColor}{$\triangleright$\enspace\texttt{SetInfoLevel({\mdseries\slshape infoclass, level})\index{SetInfoLevel@\texttt{SetInfoLevel}}
\label{SetInfoLevel}
}\hfill{\scriptsize (operation)}}\\


 sets the info level for \texttt{InfoRadiroot} to \mbox{\texttt{\mdseries\slshape level}}, where \mbox{\texttt{\mdseries\slshape level}} has to be an integer in the range 0\texttt{\symbol{45}}4. 

 The default value for \texttt{InfoRadiroot} is 1. Information why a function returns \texttt{fail} will be given with this setting. 
\begin{Verbatim}[commandchars=!@|,fontsize=\small,frame=single,label=Example]
  !gapprompt@gap>| !gapinput@InfoLevel(InfoRadiroot);|
  1
  !gapprompt@gap>| !gapinput@RootsOfPolynomialAsRadicals(x^5-4*x+2);|
  #I  Polynomial is not solvable.
  fail
\end{Verbatim}
 Setting the info level to a higher value will cause messages to show up during
single steps of the computation. On level 2 one gets a rough overview. Those
who want to go into the details of the algorithm described in \cite{Distler05} and of the implementation itself will find the information on level
3\texttt{\symbol{45}}4 helpful. 

 To use the package in silent mode the info level can be given the value 0. }

 }

 }

  
\chapter{\textcolor{Chapter }{Installation}}\label{Installation}
\logpage{[ 4, 0, 0 ]}
\hyperdef{L}{X8360C04082558A12}{}
{
  
\section{\textcolor{Chapter }{Getting and Installing this Package}}\label{Getting and Installing this Package}
\logpage{[ 4, 1, 0 ]}
\hyperdef{L}{X7B4748048051AB9F}{}
{
  This package is available at \href{https://gap-packages.github.io/radiroot/} {\texttt{https://gap\texttt{\symbol{45}}packages.github.io/radiroot/}} in form of a gzipped tar\texttt{\symbol{45}}archive. For installation
instructions see Chapter{\nobreakspace} (\textbf{Reference: Installing a GAP Package}) in the \textsf{GAP} reference manual. Normally you will unpack the archive in the \texttt{pkg} directory of your \textsf{GAP} version by typing: 
\begin{Verbatim}[commandchars=!@|,fontsize=\small,frame=single,label=Example]
      bash> tar xfz radiroot-2.9.tar.gz        # for the gzipped tar-archive
\end{Verbatim}
 }

 
\section{\textcolor{Chapter }{Loading and Testing the Package}}\label{Loading and Testing the Package}
\logpage{[ 4, 2, 0 ]}
\hyperdef{L}{X781C2F107F76F8A4}{}
{
  To use the \textsf{Radiroot} package you have to request it explicitly. This is done by calling 
\begin{Verbatim}[commandchars=!|B,fontsize=\small,frame=single,label=Example]
  !gapprompt|gap>B !gapinput|LoadPackage("radiroot");B
  -----------------------------------------------------------------------------
  Loading  RadiRoot 2.9 (Roots of a Polynomial as Radicals)
  by Andreas Distler (a.distler@tu-bs.de).
  Homepage: https://gap-packages.github.io/radiroot/
  -----------------------------------------------------------------------------
  true
\end{Verbatim}
 The \texttt{LoadPackage} command is described in Section{\nobreakspace}\texttt{LoadPackage} (\textbf{Reference: LoadPackage}) in the \textsf{GAP} reference manual. 

 If you want to load the \textsf{Radiroot} package by default, you can put the \texttt{LoadPackage} command into your \texttt{gaprc} file (see Section{\nobreakspace} (\textbf{Reference: The gaprc file}) in the \textsf{GAP} reference manual). 

 Once the package is loaded, it is possible to check the correct installation
by running the test suite of the package with the command 
\begin{Verbatim}[commandchars=!@|,fontsize=\small,frame=single,label=Example]
  !gapprompt@gap>| !gapinput@ReadPackage( "radiroot", "tst/testall.g" );|
\end{Verbatim}
 }

 
\section{\textcolor{Chapter }{Additional Requirements}}\label{Additional Requirements}
\logpage{[ 4, 3, 0 ]}
\hyperdef{L}{X810076E47BDA9F94}{}
{
  To use \textsf{Radiroot} the package \textsf{Alnuth} in version 3.0 or higher has to be loaded with its interface fully functional. 

 In the standard mode a dvi file is created to display the roots of a
polynomial. As default the package uses the command \texttt{latex} searched for in your system programs to create the dvi file and the command \texttt{xdvi} to start the dvi viewer. If you can not use this settings you will have to
change the function \texttt{RR{\textunderscore}Display} in the file \texttt{Strings.gi} in the subdirectory \texttt{lib} of the package. }

 }

   {\nobreakspace} \def\bibname{References\logpage{[ "Bib", 0, 0 ]}
\hyperdef{L}{X7A6F98FD85F02BFE}{}
}

\bibliographystyle{alpha}
\bibliography{manual.bib}

\addcontentsline{toc}{chapter}{References}

\def\indexname{Index\logpage{[ "Ind", 0, 0 ]}
\hyperdef{L}{X83A0356F839C696F}{}
}

\cleardoublepage
\phantomsection
\addcontentsline{toc}{chapter}{Index}


\printindex

\immediate\write\pagenrlog{["Ind", 0, 0], \arabic{page},}
\newpage
\immediate\write\pagenrlog{["End"], \arabic{page}];}
\immediate\closeout\pagenrlog
\end{document}
