FunctionFieldCategory(F, UP, UPUP)

curve.spad line 1 [edit on github]

This category is a model for the function field of a plane algebraic curve.

* : (%, %) -> %
from Magma
* : (%, Fraction(UP)) -> %
from RightModule(Fraction(UP))
* : (%, Fraction(Integer)) -> %
from RightModule(Fraction(Integer))
* : (%, Integer) -> % if Fraction(UP) has LinearlyExplicitOver(Integer)
from RightModule(Integer)
* : (Fraction(UP), %) -> %
from LeftModule(Fraction(UP))
* : (Fraction(Integer), %) -> %
from LeftModule(Fraction(Integer))
* : (Integer, %) -> %
from AbelianGroup
* : (NonNegativeInteger, %) -> %
from AbelianMonoid
* : (PositiveInteger, %) -> %
from AbelianSemiGroup
+ : (%, %) -> %
from AbelianSemiGroup
- : % -> %
from AbelianGroup
- : (%, %) -> %
from AbelianGroup
/ : (%, %) -> %
from Field
0 : () -> %
from AbelianMonoid
1 : () -> %
from MagmaWithUnit
= : (%, %) -> Boolean
from BasicType
D : % -> % if Fraction(UP) has DifferentialRing
from DifferentialRing
D : (%, List(Symbol)) -> % if Fraction(UP) has PartialDifferentialRing(Symbol)
from PartialDifferentialRing(Symbol)
D : (%, List(Symbol), List(NonNegativeInteger)) -> % if Fraction(UP) has PartialDifferentialRing(Symbol)
from PartialDifferentialRing(Symbol)
D : (%, Mapping(Fraction(UP), Fraction(UP))) -> %
from DifferentialExtension(Fraction(UP))
D : (%, Mapping(Fraction(UP), Fraction(UP)), NonNegativeInteger) -> %
from DifferentialExtension(Fraction(UP))
D : (%, NonNegativeInteger) -> % if Fraction(UP) has DifferentialRing
from DifferentialRing
D : (%, Symbol) -> % if Fraction(UP) has PartialDifferentialRing(Symbol)
from PartialDifferentialRing(Symbol)
D : (%, Symbol, NonNegativeInteger) -> % if Fraction(UP) has PartialDifferentialRing(Symbol)
from PartialDifferentialRing(Symbol)
^ : (%, Integer) -> %
from DivisionRing
^ : (%, NonNegativeInteger) -> %
from MagmaWithUnit
^ : (%, PositiveInteger) -> %
from Magma
absolutelyIrreducible? : () -> Boolean

absolutelyIrreducible?() tests if the curve absolutely irreducible?

algSplitSimple : (%, Mapping(UP, UP)) -> Record(num : %, den : UP, derivden : UP, gd : UP)

algSplitSimple(f, D) returns [h, d, d', g] such that f=h/d, h is integral at all the normal places w.r.t. D, d' = Dd, g = gcd(d, discriminant()) and D is the derivation to use. f must have at most simple finite poles.

annihilate? : (%, %) -> Boolean
from Rng
antiCommutator : (%, %) -> %
from NonAssociativeSemiRng
associates? : (%, %) -> Boolean
from EntireRing
associator : (%, %, %) -> %
from NonAssociativeRng
basis : () -> Vector(%)
from FramedModule(Fraction(UP))
branchPoint? : F -> Boolean

branchPoint?(a) tests whether x = a is a branch point.

branchPoint? : UP -> Boolean

branchPoint?(p) tests whether p(x) = 0 is a branch point.

branchPointAtInfinity? : () -> Boolean

branchPointAtInfinity?() tests if there is a branch point at infinity.

characteristic : () -> NonNegativeInteger
from NonAssociativeRing
characteristicPolynomial : % -> UPUP
from FiniteRankAlgebra(Fraction(UP), UPUP)
charthRoot : % -> % if Fraction(UP) has FiniteFieldCategory
from FiniteFieldCategory
charthRoot : % -> Union(%, "failed") if Fraction(UP) has CharacteristicNonZero
from CharacteristicNonZero
coerce : % -> %
from Algebra(%)
coerce : Fraction(UP) -> %
from Algebra(Fraction(UP))
coerce : Fraction(Integer) -> %
from Algebra(Fraction(Integer))
coerce : Integer -> %
from NonAssociativeRing
coerce : % -> OutputForm
from CoercibleTo(OutputForm)
commutator : (%, %) -> %
from NonAssociativeRng
complementaryBasis : Vector(%) -> Vector(%)

complementaryBasis(b1, ..., bn) returns the complementary basis (b1', ..., bn') of (b1, ..., bn).

conditionP : Matrix(%) -> Union(Vector(%), "failed") if Fraction(UP) has FiniteFieldCategory
from PolynomialFactorizationExplicit
convert : UPUP -> %
from MonogenicAlgebra(Fraction(UP), UPUP)
convert : Vector(Fraction(UP)) -> %
from FramedModule(Fraction(UP))
convert : % -> UPUP
from ConvertibleTo(UPUP)
convert : % -> InputForm if Fraction(UP) has Finite
from ConvertibleTo(InputForm)
convert : % -> Vector(Fraction(UP))
from FramedModule(Fraction(UP))
coordinates : Vector(%) -> Matrix(Fraction(UP))
from FramedModule(Fraction(UP))
coordinates : (Vector(%), Vector(%)) -> Matrix(Fraction(UP))
from FiniteRankAlgebra(Fraction(UP), UPUP)
coordinates : % -> Vector(Fraction(UP))
from FramedModule(Fraction(UP))
coordinates : (%, Vector(%)) -> Vector(Fraction(UP))
from FiniteRankAlgebra(Fraction(UP), UPUP)
createPrimitiveElement : () -> % if Fraction(UP) has FiniteFieldCategory
from FiniteFieldCategory
definingPolynomial : () -> UPUP
from MonogenicAlgebra(Fraction(UP), UPUP)
derivationCoordinates : (Vector(%), Mapping(Fraction(UP), Fraction(UP))) -> Matrix(Fraction(UP))
from MonogenicAlgebra(Fraction(UP), UPUP)
differentiate : % -> % if Fraction(UP) has DifferentialRing
from DifferentialRing
differentiate : (%, List(Symbol)) -> % if Fraction(UP) has PartialDifferentialRing(Symbol)
from PartialDifferentialRing(Symbol)
differentiate : (%, List(Symbol), List(NonNegativeInteger)) -> % if Fraction(UP) has PartialDifferentialRing(Symbol)
from PartialDifferentialRing(Symbol)
differentiate : (%, Mapping(UP, UP)) -> %

differentiate(x, d) extends the derivation d from UP to $ and applies it to x.

differentiate : (%, Mapping(Fraction(UP), Fraction(UP))) -> %
from DifferentialExtension(Fraction(UP))
differentiate : (%, Mapping(Fraction(UP), Fraction(UP)), NonNegativeInteger) -> %
from DifferentialExtension(Fraction(UP))
differentiate : (%, NonNegativeInteger) -> % if Fraction(UP) has DifferentialRing
from DifferentialRing
differentiate : (%, Symbol) -> % if Fraction(UP) has PartialDifferentialRing(Symbol)
from PartialDifferentialRing(Symbol)
differentiate : (%, Symbol, NonNegativeInteger) -> % if Fraction(UP) has PartialDifferentialRing(Symbol)
from PartialDifferentialRing(Symbol)
discreteLog : % -> NonNegativeInteger if Fraction(UP) has FiniteFieldCategory
from FiniteFieldCategory
discreteLog : (%, %) -> Union(NonNegativeInteger, "failed") if Fraction(UP) has FiniteFieldCategory
from FieldOfPrimeCharacteristic
discriminant : () -> Fraction(UP)
from FramedAlgebra(Fraction(UP), UPUP)
discriminant : Vector(%) -> Fraction(UP)
from FiniteRankAlgebra(Fraction(UP), UPUP)
divide : (%, %) -> Record(quotient : %, remainder : %)
from EuclideanDomain
elliptic : () -> Union(UP, "failed")

elliptic() returns p(x) if the curve is the elliptic defined by y^2 = p(x), "failed" otherwise.

elt : (%, F, F) -> F

elt(f, a, b) or f(a, b) returns the value of f at the point (x = a, y = b) if it is not singular.

enumerate : () -> List(%) if Fraction(UP) has Finite
from Finite
euclideanSize : % -> NonNegativeInteger
from EuclideanDomain
expressIdealMember : (List(%), %) -> Union(List(%), "failed")
from PrincipalIdealDomain
exquo : (%, %) -> Union(%, "failed")
from EntireRing
extendedEuclidean : (%, %) -> Record(coef1 : %, coef2 : %, generator : %)
from EuclideanDomain
extendedEuclidean : (%, %, %) -> Union(Record(coef1 : %, coef2 : %), "failed")
from EuclideanDomain
factor : % -> Factored(%)
from UniqueFactorizationDomain
factorPolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%)) if Fraction(UP) has FiniteFieldCategory
from PolynomialFactorizationExplicit
factorSquareFreePolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%)) if Fraction(UP) has FiniteFieldCategory
from PolynomialFactorizationExplicit
factorsOfCyclicGroupSize : () -> List(Record(factor : Integer, exponent : NonNegativeInteger)) if Fraction(UP) has FiniteFieldCategory
from FiniteFieldCategory
gcd : (%, %) -> %
from GcdDomain
gcd : List(%) -> %
from GcdDomain
gcdPolynomial : (SparseUnivariatePolynomial(%), SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%)
from GcdDomain
generator : () -> %
from MonogenicAlgebra(Fraction(UP), UPUP)
genus : () -> NonNegativeInteger

genus() returns the genus of one absolutely irreducible component

hash : % -> SingleInteger if Fraction(UP) has Hashable
from Hashable
hashUpdate! : (HashState, %) -> HashState if Fraction(UP) has Hashable
from Hashable
hyperelliptic : () -> Union(UP, "failed")

hyperelliptic() returns p(x) if the curve is the hyperelliptic defined by y^2 = p(x), "failed" otherwise.

index : PositiveInteger -> % if Fraction(UP) has Finite
from Finite
init : () -> % if Fraction(UP) has FiniteFieldCategory
from StepThrough
integral? : % -> Boolean

integral?(f) tests if f is integral over k[x].

integral? : (%, F) -> Boolean

integral?(f, a) tests whether f is locally integral at x = a.

integral? : (%, UP) -> Boolean

integral?(f, p) tests whether f is locally integral at p(x) = 0.

integralAtInfinity? : % -> Boolean

integralAtInfinity?(f) tests if f is locally integral at infinity.

integralBasis : () -> Vector(%)

integralBasis() returns the integral basis for the curve.

integralBasisAtInfinity : () -> Vector(%)

integralBasisAtInfinity() returns the local integral basis at infinity.

integralCoordinates : % -> Record(num : Vector(UP), den : UP)

integralCoordinates(f) returns [[A1, ..., An], D] such that f = (A1 w1 +...+ An wn) / D where (w1, ..., wn) is the integral basis returned by integralBasis().

integralDerivationMatrix : Mapping(UP, UP) -> Record(num : Matrix(UP), den : UP)

integralDerivationMatrix(d) extends the derivation d from UP to $ and returns (M, Q) such that the i^th row of M divided by Q form the coordinates of d(wi) with respect to (w1, ..., wn) where (w1, ..., wn) is the integral basis returned by integralBasis().

integralMatrix : () -> Matrix(Fraction(UP))

integralMatrix() returns M such that (w1, ..., wn) = M (1, y, ..., y^(n-1)), where (w1, ..., wn) is the integral basis of integralBasis.

integralMatrixAtInfinity : () -> Matrix(Fraction(UP))

integralMatrixAtInfinity() returns M such that (v1, ..., vn) = M (1, y, ..., y^(n-1)) where (v1, ..., vn) is the local integral basis at infinity returned by infIntBasis().

integralRepresents : (Vector(UP), UP) -> %

integralRepresents([A1, ..., An], D) returns (A1 w1+...+An wn)/D where (w1, ..., wn) is the integral basis of integralBasis().

inv : % -> %
from DivisionRing
inverseIntegralMatrix : () -> Matrix(Fraction(UP))

inverseIntegralMatrix() returns M such that M (w1, ..., wn) = (1, y, ..., y^(n-1)) where (w1, ..., wn) is the integral basis of integralBasis.

inverseIntegralMatrixAtInfinity : () -> Matrix(Fraction(UP))

inverseIntegralMatrixAtInfinity() returns M such that M (v1, ..., vn) = (1, y, ..., y^(n-1)) where (v1, ..., vn) is the local integral basis at infinity returned by infIntBasis().

latex : % -> String
from SetCategory
lcm : (%, %) -> %
from GcdDomain
lcm : List(%) -> %
from GcdDomain
lcmCoef : (%, %) -> Record(llcm_res : %, coeff1 : %, coeff2 : %)
from LeftOreRing
leftPower : (%, NonNegativeInteger) -> %
from MagmaWithUnit
leftPower : (%, PositiveInteger) -> %
from Magma
leftRecip : % -> Union(%, "failed")
from MagmaWithUnit
lift : % -> UPUP
from MonogenicAlgebra(Fraction(UP), UPUP)
lookup : % -> PositiveInteger if Fraction(UP) has Finite
from Finite
minimalPolynomial : % -> UPUP
from FiniteRankAlgebra(Fraction(UP), UPUP)
multiEuclidean : (List(%), %) -> Union(List(%), "failed")
from EuclideanDomain
nextItem : % -> Union(%, "failed") if Fraction(UP) has FiniteFieldCategory
from StepThrough
nonSingularModel : Symbol -> List(Polynomial(F)) if F has Field

nonSingularModel(u) returns the equations in u1, ..., un of an affine non-singular model for the curve.

norm : % -> Fraction(UP)
from FiniteRankAlgebra(Fraction(UP), UPUP)
normalizeAtInfinity : Vector(%) -> Vector(%)

normalizeAtInfinity(v) makes v normal at infinity.

numberOfComponents : () -> NonNegativeInteger

numberOfComponents() returns the number of absolutely irreducible components.

one? : % -> Boolean
from MagmaWithUnit
opposite? : (%, %) -> Boolean
from AbelianMonoid
order : % -> OnePointCompletion(PositiveInteger) if Fraction(UP) has FiniteFieldCategory
from FieldOfPrimeCharacteristic
order : % -> PositiveInteger if Fraction(UP) has FiniteFieldCategory
from FiniteFieldCategory
plenaryPower : (%, PositiveInteger) -> %
from NonAssociativeAlgebra(%)
prime? : % -> Boolean
from UniqueFactorizationDomain
primeFrobenius : % -> % if Fraction(UP) has FiniteFieldCategory
from FieldOfPrimeCharacteristic
primeFrobenius : (%, NonNegativeInteger) -> % if Fraction(UP) has FiniteFieldCategory
from FieldOfPrimeCharacteristic
primitive? : % -> Boolean if Fraction(UP) has FiniteFieldCategory
from FiniteFieldCategory
primitiveElement : () -> % if Fraction(UP) has FiniteFieldCategory
from FiniteFieldCategory
primitivePart : % -> %

primitivePart(f) removes the content of the denominator and the common content of the numerator of f.

principalIdeal : List(%) -> Record(coef : List(%), generator : %)
from PrincipalIdealDomain
quo : (%, %) -> %
from EuclideanDomain
ramified? : F -> Boolean

ramified?(a) tests whether x = a is ramified.

ramified? : UP -> Boolean

ramified?(p) tests whether p(x) = 0 is ramified.

ramifiedAtInfinity? : () -> Boolean

ramifiedAtInfinity?() tests if infinity is ramified.

random : () -> % if Fraction(UP) has Finite
from Finite
rank : () -> PositiveInteger
from FiniteRankAlgebra(Fraction(UP), UPUP)
rationalPoint? : (F, F) -> Boolean

rationalPoint?(a, b) tests if (x=a, y=b) is on the curve.

rationalPoints : () -> List(List(F)) if F has Finite

rationalPoints() returns the list of all the affine rational points.

recip : % -> Union(%, "failed")
from MagmaWithUnit
reduce : UPUP -> %
from MonogenicAlgebra(Fraction(UP), UPUP)
reduce : Fraction(UPUP) -> Union(%, "failed")
from MonogenicAlgebra(Fraction(UP), UPUP)
reduceBasisAtInfinity : Vector(%) -> Vector(%)

reduceBasisAtInfinity(b1, ..., bn) returns (x^i * bj) for all i, j such that x^i*bj is locally integral at infinity.

reducedSystem : Matrix(%) -> Matrix(Fraction(UP))
from LinearlyExplicitOver(Fraction(UP))
reducedSystem : Matrix(%) -> Matrix(Integer) if Fraction(UP) has LinearlyExplicitOver(Integer)
from LinearlyExplicitOver(Integer)
reducedSystem : (Matrix(%), Vector(%)) -> Record(mat : Matrix(Fraction(UP)), vec : Vector(Fraction(UP)))
from LinearlyExplicitOver(Fraction(UP))
reducedSystem : (Matrix(%), Vector(%)) -> Record(mat : Matrix(Integer), vec : Vector(Integer)) if Fraction(UP) has LinearlyExplicitOver(Integer)
from LinearlyExplicitOver(Integer)
regularRepresentation : % -> Matrix(Fraction(UP))
from FramedAlgebra(Fraction(UP), UPUP)
regularRepresentation : (%, Vector(%)) -> Matrix(Fraction(UP))
from FiniteRankAlgebra(Fraction(UP), UPUP)
rem : (%, %) -> %
from EuclideanDomain
representationType : () -> Union("prime", "polynomial", "normal", "cyclic") if Fraction(UP) has FiniteFieldCategory
from FiniteFieldCategory
represents : (Vector(UP), UP) -> %

represents([A0, ..., A(n-1)], D) returns (A0 + A1 y +...+ A(n-1)*y^(n-1))/D.

represents : Vector(Fraction(UP)) -> %
from FramedModule(Fraction(UP))
represents : (Vector(Fraction(UP)), Vector(%)) -> %
from FiniteRankAlgebra(Fraction(UP), UPUP)
retract : % -> Fraction(UP)
from RetractableTo(Fraction(UP))
retract : % -> Fraction(Integer) if Fraction(UP) has RetractableTo(Fraction(Integer))
from RetractableTo(Fraction(Integer))
retract : % -> Integer if Fraction(UP) has RetractableTo(Integer)
from RetractableTo(Integer)
retractIfCan : % -> Union(Fraction(UP), "failed")
from RetractableTo(Fraction(UP))
retractIfCan : % -> Union(Fraction(Integer), "failed") if Fraction(UP) has RetractableTo(Fraction(Integer))
from RetractableTo(Fraction(Integer))
retractIfCan : % -> Union(Integer, "failed") if Fraction(UP) has RetractableTo(Integer)
from RetractableTo(Integer)
rightPower : (%, NonNegativeInteger) -> %
from MagmaWithUnit
rightPower : (%, PositiveInteger) -> %
from Magma
rightRecip : % -> Union(%, "failed")
from MagmaWithUnit
sample : () -> %
from AbelianMonoid
singular? : F -> Boolean

singular?(a) tests whether x = a is singular.

singular? : UP -> Boolean

singular?(p) tests whether p(x) = 0 is singular.

singularAtInfinity? : () -> Boolean

singularAtInfinity?() tests if there is a singularity at infinity.

size : () -> NonNegativeInteger if Fraction(UP) has Finite
from Finite
sizeLess? : (%, %) -> Boolean
from EuclideanDomain
smaller? : (%, %) -> Boolean if Fraction(UP) has Finite
from Comparable
solveLinearPolynomialEquation : (List(SparseUnivariatePolynomial(%)), SparseUnivariatePolynomial(%)) -> Union(List(SparseUnivariatePolynomial(%)), "failed") if Fraction(UP) has FiniteFieldCategory
from PolynomialFactorizationExplicit
special_order : (%, List(UP)) -> Integer

special_order(f, lp) computes sum of orders at special places, that is at infinite places and at places over zeros in polynomials in lp. Elements of lp must be relatively prime.

squareFree : % -> Factored(%)
from UniqueFactorizationDomain
squareFreePart : % -> %
from UniqueFactorizationDomain
squareFreePolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%)) if Fraction(UP) has FiniteFieldCategory
from PolynomialFactorizationExplicit
subtractIfCan : (%, %) -> Union(%, "failed")
from CancellationAbelianMonoid
tableForDiscreteLogarithm : Integer -> Table(PositiveInteger, NonNegativeInteger) if Fraction(UP) has FiniteFieldCategory
from FiniteFieldCategory
trace : % -> Fraction(UP)
from FiniteRankAlgebra(Fraction(UP), UPUP)
traceMatrix : () -> Matrix(Fraction(UP))
from FramedAlgebra(Fraction(UP), UPUP)
traceMatrix : Vector(%) -> Matrix(Fraction(UP))
from FiniteRankAlgebra(Fraction(UP), UPUP)
unit? : % -> Boolean
from EntireRing
unitCanonical : % -> %
from EntireRing
unitNormal : % -> Record(unit : %, canonical : %, associate : %)
from EntireRing
yCoordinates : % -> Record(num : Vector(UP), den : UP)

yCoordinates(f) returns [[A1, ..., An], D] such that f = (A1 + A2 y +...+ An y^(n-1)) / D.

zero? : % -> Boolean
from AbelianMonoid
~= : (%, %) -> Boolean
from BasicType

Module(Fraction(Integer))

NonAssociativeSemiRing

BiModule(%, %)

ConvertibleTo(InputForm)

Field

canonicalUnitNormal

FramedModule(Fraction(UP))

Rng

CoercibleFrom(Fraction(UP))

DifferentialExtension(Fraction(UP))

MonogenicAlgebra(Fraction(UP), UPUP)

CoercibleFrom(Integer)

TwoSidedRecip

SemiRing

EntireRing

NonAssociativeAlgebra(Fraction(UP))

NonAssociativeAlgebra(Fraction(Integer))

unitsKnown

CharacteristicNonZero

MagmaWithUnit

CoercibleTo(OutputForm)

RetractableTo(Fraction(Integer))

Magma

FullyLinearlyExplicitOver(Fraction(UP))

SemiGroup

RightModule(Fraction(Integer))

GcdDomain

IntegralDomain

LeftModule(%)

RetractableTo(Fraction(UP))

NonAssociativeRing

RightModule(Fraction(UP))

NonAssociativeAlgebra(%)

PartialDifferentialRing(Symbol)

CharacteristicZero

BiModule(Fraction(UP), Fraction(UP))

UniqueFactorizationDomain

CommutativeRing

Ring

Algebra(%)

CoercibleFrom(Fraction(Integer))

DifferentialRing

PolynomialFactorizationExplicit

DivisionRing

canonicalsClosed

ConvertibleTo(UPUP)

PrincipalIdealDomain

NonAssociativeSemiRng

CancellationAbelianMonoid

EuclideanDomain

Comparable

RetractableTo(Integer)

FramedAlgebra(Fraction(UP), UPUP)

AbelianMonoid

CommutativeStar

RightModule(%)

Hashable

FiniteRankAlgebra(Fraction(UP), UPUP)

Module(%)

LinearlyExplicitOver(Fraction(UP))

LinearlyExplicitOver(Integer)

SemiRng

Module(Fraction(UP))

LeftOreRing

Monoid

FiniteFieldCategory

LeftModule(Fraction(UP))

Finite

Algebra(Fraction(Integer))

BasicType

Algebra(Fraction(UP))

RightModule(Integer)

AbelianSemiGroup

SetCategory

noZeroDivisors

LeftModule(Fraction(Integer))

NonAssociativeRng

FieldOfPrimeCharacteristic

BiModule(Fraction(Integer), Fraction(Integer))

StepThrough

AbelianGroup

FullyRetractableTo(Fraction(UP))