Developed by Peter Green.

1. Download the file heegnertools.tgz.

2. Save this file
in a seperate directory on your machine
and, from within this directory type

tar xzvf heegnertools.tgz

at the Unix prompt. This creates a new directory called heegnertools
and completes the installation.

1. Go into the directory heegnertools created in the installation
process, and type

gp

at the Unix prompt. GP/PARI should start as usual.

2.
The Heegner Tools are
organized into components. If you type

?components

from the GP prompt, you will receive the message:

The following components have been loaded: cremona, heegner, hpxh,
modsymb, tate. For more information about the component *, type
?*. For a list of loadable components type clist().

H. Darmon,

on the region [tau1,tau2] x [z1,z2] to a precision of prec significant p-adic digits using the Manin symbols in table. At present, this function is only implemented for elliptic curves E of prime conductor p. Details of the implementation are given in

H. Darmon, P. Green, "Elliptic curves and class fields of real quadratic fields: algorithms and evidence".

%1 = [0, 0, 1, -1, 0, 0, -2, 1, -1, 48, -216, 37, 110592/37,

[0.8375654352833230354448108990, 0.2695944364054445582629379513,

-1.107159871688767593707748850]~, 2.993458646231959629832009979,

2.451389381986790060854224831*I, -0.4713192779568114758825938970,

-1.435456518668684318723208856*I, 7.338132740789576739070721003]

/* Compute the Heegner points of discriminant -28 of class number 1. */

%2 = [[1.999999999999999999999999999 - 5.04870979 E-29*I,

1.999999999999999999999999999 - 2.01948391 E-28*I]]

/* Compute Heegner points attached to the (non-fundamental discriminant

-28*9, of class number 4 */

%3 = 4

/* Compute characteristic polynomial of x-coordinates */

%4 = t^4 + (0.9999999999999999999999999984 + 1.62820890 E-27*I)*t^3

+ (102.0000000000000000000000000 + 1.17130067 E-26*I)*t^2

+ (-188.0000000000000000000000000 - 2.26182198 E-26*I)*t +

(84.99999999999999999999999997 + 9.69352279 E-27*I)

%7 = t^4 + t^3 + 102*t^2 - 188*t + 85

%9 = [8, -1, 1]

isogeny class 37A and the point tau=-3+sqrt(15) generating the order

of discriminat 60, calculated to a precision of 37^(-4) */

[0, 1, 6/7]

Computing 2 integrals...

Computing integral 1...

musum : 0

Computing integral 2...

musum : 0

Modular symbol computation complete!

%1 = [24 + 13*37 + 4*37^3 + 19*37^4 + 2*37^5 + 36*37^6 + 31*37^7 + 8*37^8 +

O(37^9), 10 + 11*37 + 5*37^2 + 12*37^3 + 9*37^4 + 20*37^5 +

26*37^6 + 31*37^7 + 7*37^8 + O(37^9), 15]

/* compute the image under the Tate uniformisation of the

Stark-Heegner period to obtain a point on X0(37)+(C_37) */

%2 = [[24 + 14*37 + 33*37^2 + 36*37^3 + 13*37^4 + 5*37^5 + O(37^6), 17*37^4

+ 37^5 + O(37^6), 15], [26 + 7*37 + 7*37^2 + 9*37^4 + 26*37^5 +

O(37^6), 15*37^4 + 35*37^5 + O(37^6), 15]]

/* Observe this point agrees with the point on the curve

[2 + sqrt(3), -4 - sqrt(3)] to a precision of 37^-4 */