Functions
Function Descriptions
This page provides a brief description of each function, together with possible sequences of arguments for the function. For additional information, see the sample output page for examples of using each function.
To use AlgFields, one usually declares a field extension using FDeclareField or a splitting field extension using FDeclareSplittingField and then examines elements of that field, normality of extensions, and Galois groups of declared splitting field extensions. Most functions require the name of the ambient field to be included as an argument, but it is possible to set the default field using FSetField; in this case when a field is not given as an argument the default field is used.
FApprox FClearField FCompletelyReducibleQ FDeclaredExtensionFieldQ FDeclareExtensionField FDeclareField FDeclareFiniteField FDeclareSplittingExtensionField FDeclareSplittingField FFactor FFactorList FFindFactor FFindFactorRt FGaloisGroup FGaloisResolvent FInvert FIrreducibleQ FMakeTower FMap FMapIsIsoQ FMinPoly FNormalQ FPolynomialExtendedGCD FPolynomialGCD FPolynomialOrbit FPolynomialQuotient FPolynomialRemainder FRootNumber FSetField FShowField FSimplifyE FSimplifyP FSubstituteInGaloisResolvent
Maple: FApprox(expr); FApprox(expr,K)
Mathematica: FApprox[expr]; FApprox[expr,K]FApprox returns a complex approximation to the element expr of the field K. If K is not given, the default field is used.
Maple: FClearField(); FClearField(K)
Mathematica: FClearField[]; FClearField[K]FClearField declares a field K to be the rationals; in other words, if K had been previously declared to be a particular field extension, that information is deleted. If K is not given, the default field is set to be the rationals.
Maple: FCompletelyReducibleQ(f); FCompletelyReducibleQ(f,K)
Mathematica: FCompletelyReducibleQ[f]; FCompletelyReducibleQ[f,K]FCompletelyReducibleQ returns true or false according to whether the polynomial f over the field K factors into linear terms. If K is not given, the default field is used.
Maple: FDeclaredExtensionFieldQ(L,K)
Mathematica: FDeclaredExtensionFieldQ[L,K]FDeclaredExtensionFieldQ returns true or false according to whether the field L has been declared as an extension field of a field K.
Maple: FDeclareExtensionField(L,K,list);
FDeclareExtensionField(L,K,list,list2)
Mathematica: FDeclareExtensionField[L,K,list]
FDeclareExtensionField[L,K,list,list2]FDeclareExtensionField sets a field L to be the extension field of K given by adjoining roots of the polynomials occurring in list. The indeterminate in each polynomial is used as the name of the new algebraic element in the field. If desired, an additional list, list2, of integers may be passed to the function. In this case, for each polynomial in list, the corresponding element of list2 is used as a root number (using Maple's RootOf or Mathematica's Root object) to select a particular root of the polynomial to adjoin. Each polynomial in list must be a polynomial of one variable over the field K with the specific roots of the preceding polynomials adjoined. The function returns a description of the declared field, giving its degree over the rationals, names of the algebraic numbers, minimal polynomials of each over the field obtained by adjoining the previous algebraic numbers to the rationals, and complex approximations to the particular roots.
Maple: FDeclareField(K,list); FDeclareField(K,list,list2)
Mathematica: FDeclareField[K,list]; FDeclareField[K,list,list2]FDeclareField sets a field K to be the extension field of the rational numbers given by adjoining roots of the polynomials occurring in list. The indeterminate in each polynomial is used as the name of the new algebraic element in the field. If desired, an additional list, list2, of integers may be passed to the function. In this case, for each polynomial in list, the corresponding element of list2 is used as a root number (using Maple's RootOf or Mathematica's Root object) to select a particular root of the polynomial to adjoin. Each polynomial in list must be a polynomial of one variable over the rationals with the specific roots of the preceding polynomials adjoined. The function returns a description of the declared field, giving its degree over the rationals, names of the algebraic numbers, minimal polynomials of each over the field obtained by adjoining the previous algebraic numbers to the rationals, and complex approximations to the particular roots.
Maple: FDeclareFiniteField(K,modulus)
Mathematica: FDeclareFiniteField[K,modulus]FDeclareFiniteField sets a field K to be the prime field with modulus number of elements. In this way finite fields may be declared over their prime fields. Note that modulus must be a prime number.
FDeclareSplittingExtensionField
Maple: FDeclareSplittingExtensionField(L,K,f);
FDeclareSplittingExtensionField(L,K,f,list)
Mathematica: FDeclareSplittingExtensionField[L,K,f];
FDeclareSplittingExtensionField[L,K,f,list]FDeclareSplittingExtensionField sets a field L to be the extension field of the field K given by adjoining every root of the polynomial f. If no list is passed to the function, then names for the roots are provided automatically. If a list of names is passed to the function, then these are used, in order, to name the roots of f. The polynomial f must be a polynomial of one variable over K. The function returns a description of the declared field, giving its degree over the rationals, names of the algebraic numbers, minimal polynomials of each over the field obtained by adjoining the previous algebraic numbers to the rationals, and complex approximations to the particular roots. Note: FGaloisGroup works only on field extensions declared as splitting extension fields.
Maple: FDeclareSplittingField(K,f); FDeclareSplittingField(K,f,list)
Mathematica: FDeclareSplittingField[K,f]; FDeclareSplittingField[K,f,list]FDeclareSplittingField sets a field K to be the extension field of the rationals given by adjoining every root of the polynomial f. If no list is passed to the function, then names for the roots are provided automatically. If a list of names is passed to the function, then these are used, in order, to name the roots of f. The polynomial f must be a polynomial of one variable over the rationals. The function returns a description of the declared field, giving its degree over the rationals, names of the algebraic numbers, minimal polynomials of each over the field obtained by adjoining the previous algebraic numbers to the rationals, and complex approximations to the particular roots. Note: FGaloisGroup works only on splitting fields over the rationals declared as splitting fields.
Maple: FFactor(f); FFactor(f,K)
Mathematica: FFactor[f]; FFactor[f,K]FFactor factors a polynomial f in one variable over the field K. If K is not given, the default field is used.
Maple: FFactorList(f); FFactorList(f,K)
Mathematica: FFactorList[f]; FFactorList[f,K]FFactorList factors a polynomial f in one variable over the field K, returning a list of lists, consisting of the irreducible factor and the exponent. Constants with exponents may appear as irreducible factors. If K is not given, the default field is used.
Maple: FFindFactor(f,a); FFindFactor(f,a,K)
Mathematica: FFindFactor[f,a]; FFindFactor[f,a,K]FFindFactor returns the factor of f, a polynomial in one variable over the field K, which is zero at the element a of the field. If K is not given, the default field is used. If a is not a root of f, nothing is returned.
Maple: FFindFactorRt(f,a); FFindFactorRt(f,a,K)
Mathematica: FFindFactorRt[f,a]; FFindFactorRt[f,a,K]FFindFactorRt returns the factor of f, a polynomial in one variable over the field K, which is zero at the element a, expressed as a RootOf or Root object internal to Maple or Mathematica, respectively. If K is not given, the default field is used. If a is not a root of f, nothing is returned.
Maple: FGaloisGroup(); FGaloisGroup(K); FGaloisGroup(L,K)
Mathematica: FGaloisGroup[]; FGaloisGroup[K]; FGaloisGroup[L,K]FGaloisGroup returns the Galois group of the field L over the field K, so long as L was defined as a splitting field over K. If only one field K is given, then the Galois group of K over the rationals is computed. If no field is given, the Galois group of the default field over the rationals is computed. FGaloisGroup returns a list of pairs of lists. Each pair of lists represents an automorphism of L over K: the first list consists of the algebraic numbers adjoined to K in defining L, and the second list gives, in order, the algebraic numbers to which the first numbers are sent under the isomorphism. Such a pair of lists could be used, for instance, in FMap to apply the associated isomorphism to an expression.
Maple: FGaloisResolvent(f,v,x); FGaloisResolvent(f,v,x,p);
FGaloisResolvent(f,v,x,p,g)
Mathematica: FGaloisResolvent[f,v,x]; FGaloisResolvent[f,v,x,p];
FGaloisResolvent[f,x,p,g]FGaloisResolvent returns the Galois resolvent obtained by taking as roots of a polynomial in an indeterminate x the orbit of the polynomial f in the indeterminates given by the list v. This polynomial is multiplied out and then the coefficients of the resolvent polynomial are expressed in terms of symmetric functions in the roots of an associated polynomial whose roots correspond to the indeterminates given in v. If a fourth argument p is passed to the function, then the coefficients of this polynomial are substituted appropriately for the symmetric functions. If an unevaluated name g is passed to the function, then that name is set to be the resolvent before reduction into symmetric functions.
Maple: FInvert(expr); FInvert(expr,K)
Mathematica: FInvert[expr]; FInvert[expr,K]FInvert returns the reduced form for the inverse of an element expr of the field K. If K is not given, the default field is used.
Maple: FIrreducibleQ(f); FIrreducibleQ(f,K)
Mathematica: FIrreducibleQ[f]; FIrreducibleQ[f,K]FIrreducibleQ returns true or false according to whether the polynomial f in one variable over the field K is irreducible. If K is not given, the default field is used.
Maple: FMakeTower(M2,L,M1,a,expr); FMakeTower(M2,L,K,M1,a,expr)
Mathematica: FMakeTower[M2,L,M1,a,expr];
FMakeTower[M2,L,K,M1,a,expr]FMakeTower declares two fields L and M2. First, L is declared to the field K with expr adjoined and assigned the name a. Expr can be any element of the field M1. Then, M2 is declared to be the compositum of the field L and M1, using the same names for algebraic numbers as were used in L and M1. Hence, in place of the extension M1/K we have a refinement M2/L/K. If desired, a and expr can instead be lists, in which case L is defined to be field K with each element of expr adjoined and assigned the corresponding name from the list a. If K is not given, the field of rationals is used.
Maple: FMap(expr, [list1, list2]); FMap(expr, K, [list1, list2]);
FMap(expr, L, K, [list1, list2])
Mathematica: FMap[expr,{list1, list2}]; FMap[expr, K, {list1, list2}];
FMap[expr, L, K, {list1, list2}]FMap applies to expr the map induced by sending elements of list1 to list2 in the field K (resp., L) over the rationals (resp., over K). Elements of list1 and list2 must be algebraic numbers used in defining K (resp., L) over the rationals (resp., over K)---and must be a list obtained from taking, in order, the first so many algebraic numbers used in the definition. If K is not given, then the default field is used. Note that pairs of lists in this form are the result of FGaloisGroup.
Maple: FMapIsIsoQ(K, [list1, list2]); FMapIsIsoQ(L, K, [list1, list2])
Mathematica: FMapIsIsoQ[K,{list1, list2}]; FMapIsIsoQ[L, K, {list1, list2}];FMapIsIsoQ returns true or false according to whether the map induced by sending elements of list1 to list2 in the field K (resp., L) over the rationals (resp., over K) is an isomorphism. Elements of list1 and list2 must be algebraic numbers used in defining K (resp., L) over the rationals (resp., over K)---and must be a list obtained from taking, in order, the first so many algebraic numbers used in the definition. If K is not given, then the default field is used. Note that pairs of lists in this form are the result of FGaloisGroup.
Maple: FMinPoly(expr,x); FMinPoly(expr,x,K); FMinPoly(expr,x,L,K)
Mathematica: FMinPoly[expr,x]; FMinPoly[expr,x,K];
FMinPoly[expr,x,L,K]FMinPoly returns the minimal polynomial, in an indeterminate x, of an element expr of the field K (resp., L) over the rationals (resp., over K). If K is not given, the default field is used.
Maple: FNormalQ(); FNormalQ(K); FNormalQ(L,K)
Mathematica: FNormalQ[]; FNormalQ[K]; FNormalQ[L,K]FNormalQ returns true or false according to whether K (resp., L) is a normal extension of the rationals (resp., of K). If K is not given, then the default field is used. If two fields L and K are passed to the function, then L must have been declared as an extension of K.
Maple: FPolynomialExtendedGCD(f1,f2,x);
FPolynomialExtendedGCD(f1,f2,x,K)
Mathematica: FPolynomialExtendedGCD[f1,f2,x];
FPolynomialExtendedGCD[f1,f2,x,K]FPolynomialExtendedGCD returns a list consisting of the GCD of polynomials f1 and f2 in one variable x over the field K, followed by a list consisting of polynomials z and w such that z*f1+w*f2 is equal to the GCD. If K is not given, the default field is used.
Maple: FPolynomialGCD(f1,f2,x); FPolynomialGCD(f1,f2,x,K)
Mathematica: FPolynomialGCD[f1,f2,x]; FPolynomialGCD[f1,f2,x,K]FPolynomialGCD returns the GCD of polynomials f1 and f2 in one variable x over the field K. If K is not given, the default field is used.
Maple: FPolynomialOrbit(f,v); FPolynomialOrbit(f,v,p)
Mathematica: FPolynomialOrbit[f,v]; FPolynomialOrbit[f,v,p]FPolynomialOrbit returns the orbit of the polynomial f in indeterminates v under the symmetric group on those indeterminates. If a polynomial p is passed to the function as the third argument, then its roots are substituted for the indeterminates.
Maple: FPolynomialQuotient(f,g,x); FPolynomialQuotient(f,g,x,K)
Mathematica: FPolynomialQuotient[f,g,x]; FPolynomialQuotient[f,g,x,K]FPolynomialQuotient returns the quotient of the polynomial f by the polynomial g, where each is a polynomial in x over the field K. If K is not given, the default field is used.
Maple: FPolynomialRemainder(f,g,x); FPolynomialRemainder(f,g,x,K)
Mathematica: FPolynomialRemainder[f,g,x];
FPolynomialRemainder[f,g,x,K]FPolynomialRemainder returns the remainder of the polynomial f divided by the polynomial g, where each is a polynomial in x over the field K. If K is not given, the default field is used.
Maple: FRootNumber(f,a); FRootNumber(f,a,K)
Mathematica: FRootNumber[f,a]; FRootNumber[f,a,K]FRootNumber returns the root number (according to Maple or Mathematica) of a as a root of f, a polynomial in one variable over the field K. If K is not given, the default field is used.
Maple: FSetField(K)
Mathematica: FSetField[K]FSetField sets the default field to be the field K.
Maple: FShowField(); FShowField(K)
Mathematica: FShowField[]; FShowField[K]FShowField returns a description of the field K, giving its degree over the rationals, names of the algebraic numbers, minimal polynomials of each over the field obtained by adjoining the previous algebraic numbers to the rationals, and complex approximations to the particular roots. If K is not given, the default field is used.
Maple: FSimplifyE(expr); FSimplifyE(expr,K);
Mathematica: FSimplifyE[expr]; FSimplifyE[expr,K];FSimplifyE returns the reduced form of an element expr, expressed as a polynomial in K. (That is, the expression contains no explicit quotients.) If K is not given, the default field is used.
Maple: FSimplifyP(f,x); FSimplifyP(f,x,K);
Mathematica: FSimplifyP[f,x]; FSimplifyP[f,x,K];FSimplifyP reduces the coefficients of a polynomial f in one variable x over a field K so that the coefficients are in reduced form. The coefficients must be expressed as polynomials in K. (That is, the coefficient contains no explicit quotients.) If K is not given, the default field is used.
Maple: FSubstituteInGaloisResolvent(f,p)
Mathematica: FSubstituteInGaloisResolvent[f,p]FSubstituteInGaloisResolvent appropriately substitutes the coefficients of the polynomial p for the symmetric functions appearing in the resolvent f.