DIRECTORY Rope USING [ROPE], Basics, IO USING [STREAM], AlgebraClasses, Polynomials, AlgebraicNumbers; ExtensionFields: CEDAR DEFINITIONS ~ BEGIN OPEN AC: AlgebraClasses, POL: Polynomials, AN: AlgebraicNumbers; ExtensionFieldElement: TYPE = POL.Polynomial; generalExtensionFieldClass: AC.StructureClass; realExtensionFieldClass: AC.StructureClass; ExtensionFieldData: TYPE = REF ExtensionFieldDataRec; ExtensionFieldDataRec: TYPE = RECORD [ groundField: AC.Structure, primitiveElement: AN.AlgebraicNumber ]; MakeExtensionField: PROC [primitiveElement: AN.AlgebraicNumber] RETURNS [extensionField: AC.Structure]; IsGeneralExtensionField: PROC [structure: AC.Structure] RETURNS [BOOL]; IsRealField: PROC [structure: AC.Structure] RETURNS [BOOL]; IsRealExtensionField: PROC [structure: AC.Structure] RETURNS [BOOL]; ReadExtensionFieldElement: PROC [in: IO.STREAM, extensionField: AC.Structure, reduced: BOOL _ FALSE] RETURNS [out: ExtensionFieldElement]; ExtensionFieldElementFromRope: PROC [in: Rope.ROPE, extensionField: AC.Structure, reduced: BOOL _ FALSE] RETURNS [out: ExtensionFieldElement]; ToRope: AC.ToRopeOp; Write: AC.WriteOp; Add: AC.BinaryOp; Negate: AC.UnaryOp; Subtract: AC.BinaryOp; Multiply: AC.BinaryOp; Invert: AC.UnaryOp; Divide: AC.BinaryOp; ScalarMultiply: AC.BinaryOp; Sign: AC.EqualityOp; Abs: AC.UnaryOp; Compare: AC.BinaryCompareOp; Equal: AC.EqualityOp; END. âExtensionFields.mesa Last Edited by: Arnon, March 5, 1986 10:49:31 am PST ExtensionField Representation wrt primitiveElement of the field: an element of minPolyRing, of degree less than the degree of minimalPolynomial. Classes for ExtensionFields Instance Data for ExtensionFields Operations unique to ExtensionFields ExtensionField Constructors extensionField is a structure of category divisionAlgebra, with properties depending on whether primitiveElement is a general or real algebraic number. Check Properties check that has category field or divisionAlgebra, and is realField; may or may not be an extension field Conversion and IO If not reduced, then reduce mod the minimal polynomial Arithmetic Comparison Miscellaneous Êÿ˜Jšœ™J™4J˜šÏk ˜ Jšœœœ˜J˜Jšœœœ˜Jšœ˜Jšœ ˜ Jšœ˜—J˜J˜head2šœœ ˜"J˜—Jš œœœœœœ˜IheadšÏn™šœœœ ˜-Jšœr™r——šœ™codešœœ˜.M˜—Mšœœ˜+—šœ!™!Mšœœœ˜5šœœœ˜&Mšœ œ ˜Mšœœ˜$M˜——Lšœ$™$šœ™š žœœœœœ ˜gMšœ—™———™š žœœ œ œœ˜GM™—š ž œœ œ œœ˜;Mšœh™hM™—Mš žœœ œ œœ˜D—šœ™šžœœœœœœœœ˜ŠJšœ6™6J˜—šžœœ œœœœœ˜ŽJ™—šžœœ ˜J˜—Jšžœœžœ˜—šœ ™ šžœ˜J˜—šžœžœ˜J˜—šžœ˜J˜—šžœ˜J˜—šžœžœ˜J˜—šžœ˜J˜—Jšžœ˜—šœ ™ šžœž œ˜J˜—šžœžœ˜J˜—Mšžœžœ˜—šœ ™ šžœž œ˜J˜——J˜Jšœ˜—…—z [