Sample Output of AlgFields: Mathematica
This notebook contains examples of the functions described on the functions page.
Getting Started
We first set the directory appropriately and load in the AlgFields package.
In[2]:=
FApprox
Before we can use the functions, we will need to declare a field. We set the field K to be the field of rationals Q with a third root of 3 adjoined. Note that by default the "first" root of
-3 is the one lying in the real numbers. We use a polynomial with indeterminate a in order that the algebraic number may be referred to by a.
In[3]:=
Now we can begin to proceed through the functions alphabetically. We approximate
+ a in the complex numbers.
In[4]:=
Out[4]=
FClearField
Next we clear our field K. While this is unnecessary in general, it may be used as a safety feature; if fields are cleared after they are used, it is less likely that Mathematica will be erroneously asked to perform a computation which may involve a great deal of time.
In[5]:=
We declare K again, this time specifying a particular root of
-3, namely the "second":
In[6]:=
FCompletelyReducibleQ
First we declare a field as follows.
In[7]:=
We ask whether or not
-3 factors completely over K. When we learn that it does not, we ask for a complete factorization.
In[8]:=
Out[8]=
In[9]:=
Out[9]=
FDeclaredExtensionFieldQ
First we declare two fields.
In[10]:=
In[11]:=
We ask whether M is declared as an extension field of K.
In[12]:=
Out[12]=
However, we determine that M is an extension field of K as follows. We ask whether the minimal polynomial of a in K is completely reducible in M.
In[13]:=
Out[13]=
FDeclareExtensionField
First we declare a field as follows.
In[14]:=
Now we declare an extension field L of K by adjoining a square root of the algebraic number a. We call this number b.
In[15]:=
FDeclareField
We declare L2 to be a field obtained by adjoining to the rationals a sixth root of 3.
In[16]:=
Notice that the selected root is real. In order to make L2 identical to the field L defined under FDeclareExtensionField and, moreover, to make c equal to b, we choose the "fourth" root:
In[17]:=
FDeclarePrimeField
We may build finite fields by declaring them as extension over their prime field. To declare a prime field, we use FDeclarePrimeField.
In[18]:=
Now we obtain a finite field of order 25 via a quadratic extension:
In[19]:=
FDeclareSplittingExtensionField
First we declare a field as follows.
In[20]:=
Now we declare an extension field L of K by adjoining a square root of the algebraic number a. We call this number b.
In[21]:=
Now L is a splitting field extension of K; it is a degree 2 extension given by a square root. We check that this is true using FNormalQ. However, AlgFields will not compute its Galois group since it was not declared as a splitting extension field. We do so and compute the Galois group.
In[22]:=
Out[22]=
In[23]:=
In[24]:=
In[25]:=
Out[25]=
FDeclareSplittingField
We declare the splitting field M of
- 3 over the rationals and determine its Galois group.
In[26]:=
In[27]:=
Out[27]=
FFactor, FFactorList
We start with a splitting field.
In[28]:=
We factor
- 3 in two different ways over M.
In[29]:=
Out[29]=
In[30]:=
Out[30]=
The exponent of each factor is 1, and the constant multipliying the entire polynomial may be taken to be 1. To see a more interesting case, we do the following.
In[31]:=
Out[31]=
Hence the polynomial factors as 2 * (r7 -
* (r8 - x).
FFindFactor
We begin with a splitting field M.
In[32]:=
Now we seek the factor of our original polynomial
- 3 which has r11 as a root. Since we are factoring over M, this factor must be x - r11.
In[33]:=
Out[33]=
FFindFactorRt
First we declare two fields.
In[34]:=
In[35]:=
We seek the appropriate factor of
over M which is equal to a. Now by examining the complex approximations, we see that a = r14. However, we may still find the appropriate factor with root a without this knowledge, as follows. We first find the internal root number corresponding to a. (In fact, we used this number when we originally declared the field.)
In[36]:=
Out[36]=
Now we ask for the factor giving a root with the correct number; in this way we refer to a without using an expression in a.
In[37]:=
Out[37]=
FGaloisGroup
We declare the splitting field M of
- 3 over the rationals and determine its Galois group.
In[38]:=
In[39]:=
Out[39]=
Notice that the first pair of lists is simply r16, r17, r18 twice, indicating the automorphism induced by r16->r16, r17->r17, r18->r18. The second and third are transpositions (exchanging r17 and r18, and exchanging r16 and r17, respectively). The fourth is induced by a three-cycle r16->r17->r18->r16. We'll check that this map is an automorphism, which it must be since it is an element of the Galois group.
In[40]:=
Out[40]=
Now let's use this pair to apply the corresponding automorphism to r16*r17.
In[41]:=
Out[41]=
At first glance this may seem incorrect, but notice that r17*r18 =
in M:
In[42]:=
Out[42]=
FMap simply returned the reduced form of r17*r18 in M.
FGaloisResolvent
We find the Galois resolvent associated to the alternating group on three letters inside the symmetric group on three letters. It is a degree 2 polynomial.
In[43]:=
Out[43]=
We can evaluate this resolvent for the polynomial
-3.
In[44]:=
Out[44]=
Alternatively, we can perform these operations at once, saving the resolvent as myresolv.
In[45]:=
Out[45]=
FInvert
First we declare a field as follows.
In[46]:=
We find the reduced form for the expression
+ a) in K.
In[47]:=
Out[47]=
FIrreducibleQ
First we declare a field as follows.
In[48]:=
We determine whether certain polynomials are irreducible over K.
In[49]:=
Out[49]=
In[50]:=
Out[50]=
FMakeTower
FMakeTower is used to redeclare a field so that algebraic numbers are adjoined in a different order than before. In this way reduced forms with respect to other sequences of algebraic numbers may be computed. We declare K1 to be the rationals with the square root of 3 adjoined and K2 to be K1 with the square root of 5 adjoined. Then we build a tower from the rationals by first adjoining the square root of 15--the product of the first two algebraic numbers--and then adjoining the square root of 3 and the square root of 5.
In[51]:=
In[52]:=
In[53]:=
Out[53]=
In[54]:=
FMap, FMapIsIsoQ
We declare the splitting field M of
- 3 over the rationals and determine its Galois group.
In[55]:=
In[56]:=
Out[56]=
Notice that the first pair of lists is simply r19, r20, r21 twice, indicating the automorphism induced by r19->r19, r20->r20, r21->r21. The second and third are transpositions (exchanging r20 and r21, and exchanging r19 and r20, respectively). The fourth is induced by a three-cycle r19->r20->r21->r19. We'll check that this map is an automorphism, which it must be since it is an element of the Galois group.
In[57]:=
Out[57]=
Now let's use this pair to apply the corresponding automorphism to r19*r20.
In[58]:=
Out[58]=
At first glance this may seem incorrect, but notice that r20*r21 =
in M:
In[59]:=
Out[59]=
FMap simply returned the reduced form of r20*r21 in M.
Now we examine an extension which has Galois group the alternating group of degree 3, checking that there is a permutation of the roots, transposing two roots, which is not an automorphism.
In[60]:=
In[61]:=
Out[61]=
In[62]:=
Out[62]=
FMinPoly
We declare the splitting field M of
- 3 and determine the minimal polynomials of two elements.
In[63]:=
In[64]:=
Out[64]=
In[65]:=
Out[65]=
FNormalQ
First we declare a field as follows.
In[66]:=
Now we declare an extension field L of K by adjoining a square root of the algebraic number a. We call this number b.
In[67]:=
Now L is a splitting field extension of K; it is a degree 2 extension given by a square root. We check that this is true using FNormalQ. (However, AlgFields will not compute its Galois group since it was not declared as a splitting extension field. See FDeclareSplittingExtensionField for information on declaring L as a splitting field.)
In[68]:=
Out[68]=
We can check that L is not normal over the the rationals Q.
In[69]:=
Out[69]=
FPolynomialExtendedGCD, FPolynomialGCD
We declare a field and then compute polynomial GCDs.
In[70]:=
In[71]:=
Out[71]=
In[72]:=
Out[72]=
Hence we can form a K[X]-linear combination of the two polynomials to achieve the GCD.
In[73]:=
Out[73]=
FPolynomialOrbit
We find the polynomial orbit associated to (x1-x2)*(x1-x3)*(x2-x3) acted upon by the symmetric group on three letters. The orbit contains two elements, the second the negative of the first.
In[74]:=
Out[74]=
FPolynomialQuotient, FPolynomialRemainder
We declare a field and then compute polynomial quotients and remainders over that field.
In[75]:=
In[76]:=
Out[76]=
In[77]:=
Out[77]=
As a check:
In[78]:=
Out[78]=
FRootNumber
We declare a field and then compute the minimal polynomials and root numbers of two elements.
In[79]:=
In[80]:=
Out[80]=
In[81]:=
Out[81]=
In[82]:=
Out[82]=
In[83]:=
Out[83]=
FSetField
We set the default field to a field we define, as follows.
In[84]:=
In[85]:=
In[86]:=
FShowField
FShowField simply repeats the data provided when the field was declared.
In[87]:=
In[88]:=
FSimplifyE, FSimplifyP
We declare a field and then find reduced forms for some expressions and for the coefficients of a polynomial over the field.
In[89]:=
In[90]:=
Out[90]=
In[91]:=
Out[91]=
In[92]:=
Out[92]=
In[93]:=
Out[93]=
FSubstituteInGaloisResolvent
We find the Galois resolvent associated to the alternating group on three letters inside the symmetric group on three letters and then evaluate this resolvent for two polynomials.
In[94]:=
Out[94]=
In[95]:=
Out[95]=
In[96]:=
Out[96]=
Created by Mathematica (January 10, 2005)