Some of these may have been incorporated into recent releases and hence are now redundant:

- nfhtbound.m: intrinsics implementing both Silverman and Cremona-Prickett-Siksek bounds on naive and canonical heights for elliptic curves over number fields. Released under GPL.
- conicsFF.m: Functions to solve and parametrize
conics over function fields of the form F(t1,t2,...,tn), where F is a
field of characteristic not 2, following Cremona & van Hoeij,
implemented by Cremona and Roberts.
- intrinsic Conic(S::SeqEnum[RngElt]) -> CrvCon

For a sequence of coefficients [a,b,c,d,e,f], returns the conic defined by a*X^2+b*Y^2+c*Z^2+d*X*Y+e*Y*Z+f*X*Z; or for a sequence [a,b,c], returns the conic a*X^2+b*Y^2+c*Z^2 - intrinsic Matrix(C::CrvCon) -> AlgMatElt

Returns the (symmetric) defining matrix M of the conic C i.e. C is given by the equation [X,Y,Z]*M*[X,Y,Z]^T where T denotes transpose. - intrinsic Conic(M::AlgMatElt) -> CrvCon

Returns the conic defined by the 3 x 3 matrix M - intrinsic HasRationalPoint_FldFun(C::CrvCon) -> BoolElt,Pt

Returns true if the Conic C has a point - intrinsic DS_Parametrization(C::CrvCon) -> MapSch

Parametrization of the conic C

- intrinsic Conic(S::SeqEnum[RngElt]) -> CrvCon
- ternquadFT.m: Functions to solve non-diagonal conics over F(t) (i.e. tern(ary)quad(ratics)) using minimization and reduction of the associated symmetric 3x3 matrix of polynomials. The minimization step terminates iff there is a solution, giving an equivalent unimodular matrix (i.e. with constant determinant). Then the reduction step reduces the maximum degree of the entries, by copying the analogous algorithm over Z described by Gauss in Article 272 of Disquisitiones. This second step is not efficient except when F is a finite field; it leads to an equation over F which is then solved by recursion.
- esign.m: Function to compute local and
global root numbers of elliptic curves, currrently only over Q.
- intrinsic GlobalRootNumber(e::CrvEll) -> RngIntElt

{Given E, an elliptic curve over Q, returns +1 or -1, being the "global root number" or sign of the functional equation of L(E,s).} - intrinsic LocalRootNumber(e::CrvEll,p::RngIntElt) -> RngIntElt

{Given E, an elliptic curve over Q, and a prime number p, returns +1 or -1, being the "local root number" of E at p.}

- intrinsic GlobalRootNumber(e::CrvEll) -> RngIntElt
- divpt.m: My function to simulate
Inverse(MultiplicationByMMap(E,m)), giving a clean result when the
given point cannot be divided by m
- intrinsic DividePoint(pt::PtEll,m::RngIntElt) -> BoolElt, PtEll

{Given an point P on an elliptic curve E and a positive integer m, returns either true,Q if P=m*Q has a solution Q in E, else false,_ .}

**This is now redundant**: Magma 2.10 has a function DivisionPoints(P,m) which does what is required

- intrinsic DividePoint(pt::PtEll,m::RngIntElt) -> BoolElt, PtEll
- modsq.m: Utility functions for Qp^*/(Qp^*)^2
for p=infty,2 or odd primes
- intrinsic Qpchar(p::RngIntElt) -> Map, Map

{Given a prime p or 0, returns two maps between Q_p^*/(Q_p^*)^2 and VectorSpace(GF(2),d) where d=1,2 or 3 for p=0,odd or 2.}

- intrinsic Qpchar(p::RngIntElt) -> Map, Map
- modsq2.m: Useful functions from Stoll's
CrvHyp package:
- intrinsic MyResidueClassField(pid::RngOrdIdl) -> FldFin, Map

{ Given a prime ideal, returns the residue field Order(pid)/pid together with the reduction map from the ring of pid-integral elements in the corresponding number field to the residue field. This map has an inverse.} - intrinsic MakeModSquares(K::FldNum, pid::RngOrdIdl) -> ModTupFld, Map

{ (K::FldNum, pid::prime ideal in K) Returns a GF(2)-vector space V and a map K^* -> V with kernel the elements that are squares in the completion. } - intrinsic MakeIsSquare(pid::RngOrdIdl) -> UserProgram

{ Given a prime ideal in some order O, return a function that decides whether its argument (an element of O) is a square in the completion of O at pid. } - intrinsic MakeIsSquare(p::RngIntElt) -> UserProgram

{ Given a prime number p, return a function that decides whether its argument (an integer) is a square in Z_p. } - intrinsic MakeIsSquare(I::RngInt) -> UserProgram

{ Given a prime ideal pZ in the integers, return a function that decides whether its argument (an integer) is a square in Z_p. } - intrinsic MakeModSquares(K::FldNum, p::RngIntElt) -> ModTupFld, Map

{ (K::FldNum, p::rational prime) Returns a GF(2)-vector space V and a map K^* -> V with kernel the elements that are squares in all the completions of K at primes above p. }

- intrinsic MyResidueClassField(pid::RngOrdIdl) -> FldFin, Map
- q4red.m: Stoll's functions for reducing an
intersection of two quadric surfaces
- intrinsic Covariant(Q1::RngMPolElt, Q2::RngMPolElt) -> AlgMatElt

{Compute the covariant of the pair of quadratic forms Q1, Q2.} - intrinsic Covariant(mat1::AlgMatElt, mat2::AlgMatElt) -> AlgMatElt

{Compute the covariant of a pair of symmetric 4x4 matrices.} - intrinsic Reduce(Q1::RngMPolElt, Q2::RngMPolElt : AdHocOnly := false, NoAdHoc := false)
-> RngMPolElt, RngMPolElt, AlgMatElt

{Computes a reduced pencil in the SL_4(Z)-equivalence class of.}

- intrinsic Covariant(Q1::RngMPolElt, Q2::RngMPolElt) -> AlgMatElt
- t3red.m: Stoll's functions for reducing a
ternary cubic
- intrinsic Flexes(C::RngMPolElt) -> SeqEnum

{Finds the real and complex flexes of a ternary cubic over Q.} - intrinsic LinesFromFlexes(flexes::SeqEnum) -> SeqEnum

{Given a sequence of nine flexes of a ternary cubic, finds the line through the 3 real flexes, its complementary factor, and the three real lines through a real and two complex flexes.} - intrinsic CovariantFromLines(lines::[RngMPolElt]) -> RngMPolElt

{Finds the covariant positive definite Hermitian form from the given lines through the flexes of a ternary cubic.} - intrinsic Covariant(C::RngMPolElt) -> RngMPolElt

{Computes the positive definite Hermitian covariant of a ternary cubic as a real quadratic form.} - intrinsic Reduce(C::RngMPolElt) -> RngMPolElt, AlgMatElt

{Computes a reduced form in the SL_3(Z)-equivalence class of C.}

- intrinsic Flexes(C::RngMPolElt) -> SeqEnum

[Back] to JC's home page