/usr/share/axiom-20170501/src/algebra/XF.spad is in axiom-source 20170501-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | )abbrev category XF ExtensionField
++ Author: J. Grabmeier, A. Scheerhorn
++ Date Created: 10 March 1991
++ Date Last Updated: 31 March 1991
++ References:
++ Grab92 Finite Fields in Axiom
++ Description:
++ ExtensionField F is the category of fields which extend the field F
ExtensionField(F) : Category == SIG where
F : Field
SIG ==> Join(Field,RetractableTo F,VectorSpace F) with
if F has CharacteristicZero then CharacteristicZero
if F has CharacteristicNonZero then FieldOfPrimeCharacteristic
algebraic? : $ -> Boolean
++ algebraic?(a) tests whether an element \spad{a} is algebraic with
++ respect to the ground field F.
transcendent? : $ -> Boolean
++ transcendent?(a) tests whether an element \spad{a} is transcendent
++ with respect to the ground field F.
inGroundField? : $ -> Boolean
++ inGroundField?(a) tests whether an element \spad{a}
++ is already in the ground field F.
degree : $ -> OnePointCompletion PositiveInteger
++ degree(a) returns the degree of minimal polynomial of an element
++ \spad{a} if \spad{a} is algebraic
++ with respect to the ground field F, and \spad{infinity} otherwise.
extensionDegree : () -> OnePointCompletion PositiveInteger
++ extensionDegree() returns the degree of the field extension if the
++ extension is algebraic, and \spad{infinity} if it is not.
transcendenceDegree : () -> NonNegativeInteger
++ transcendenceDegree() returns the transcendence degree of the
++ field extension, 0 if the extension is algebraic.
if F has Finite then
FieldOfPrimeCharacteristic
Frobenius : $ -> $
++ Frobenius(a) returns \spad{a ** q} where q is the \spad{size()$F}.
Frobenius : ($,NonNegativeInteger) -> $
++ Frobenius(a,s) returns \spad{a**(q**s)} where q is the size()$F.
add
algebraic?(a) == not infinite? (degree(a)@OnePointCompletion_
(PositiveInteger))$OnePointCompletion(PositiveInteger)
transcendent? a == infinite?(degree(a)@OnePointCompletion _
(PositiveInteger))$OnePointCompletion(PositiveInteger)
if F has Finite then
Frobenius(a) == a ** size()$F
Frobenius(a,s) == a ** (size()$F ** s)
|