Element Representation
ContentPPFactorization: TYPE = AlgebraClasses.Object;
CompleteFactorization: TYPE = AlgebraClasses.Object;
SquareFreeFactorization: TYPE = AlgebraClasses.Object;
FactorPower: TYPE = AlgebraClasses.Object;
CompleteFactorizationData: TYPE = REF CompleteFactorizationDataRec;
CompleteFactorizationDataRec:
TYPE =
RECORD [
input: Object,
content: CompleteFactorization ← NIL,
factors: Sequences.Sequence ← NIL -- of FactorPower's
];
ContentPPFactorizationData: TYPE = REF ContentPPFactorizationDataRec;
ContentPPFactorizationDataRec:
TYPE =
RECORD [
input: Object,
content: Object ← NIL,
primitivePart: Object ← NIL
];
SquareFreeFactorizationData: TYPE = REF SquareFreeFactorizationDataRec;
SquareFreeFactorizationDataRec:
TYPE =
RECORD [
input: Object, -- assumed primitive
factors: Sequences.Sequence ← NIL -- of FactorPower's
];
FactorPowerData: TYPE = REF FactorPowerDataRec;
FactorPowerDataRec:
TYPE =
RECORD [
factor: Object,
power: NAT,
];