You have downloaded Stephen's computer search for exceptional collections
on surfaces of general type with p_g=0. Congratulations! These scripts
require Magma, and some of them work in the online calculator
http://magma.maths.usyd.edu.au/calc/

To use these scripts, first load the main program <exceptional> in magma
by typing:

> load "exceptional";

This loads the main procedures and functions which are used in the search.

There are separate files containing the data associated to each surface.
For example, to study the Kulikov surface, type:

> load "kulikov";

It may be better to load the data files interactively:

> iload "kulikov";

Some surfaces take much longer to load than others.

The possible attributes of a surface are listed by typing

> Surface;

But you should not do this, since the output would be a very
long list!

It is better to query a single attribute of the surface X,
using "X`attribute", e.g.

> X`Name;

returns the name of the surface X.

////////////////////////////////////////////////////

The following functions are probably the most useful, the others are
mostly used behind the scenes.

pushViaBasis(X,L,tau) -- given a multidegree L and a torsion
twist tau, return the list of line bundles on Y whose direct
sum is the pushforward of L(tau)

e.g. > pushViaBasis(X,[1,-1,-1,0],T![1,0,0]);

findAcyclic(X,L) -- given a multidegree L, return the list of
torsion line bundles tau such that L(tau) is acyclic

e.g. > findAcyclic(X,[1,-1,-1,-1]);

findExceptional(surface,LL) -- given a surface and a sequence of 
multidegrees LL=[L1,...Ln], return the list of sequences of 
torsion twists [t1,...,tn] such that [Oh,L1(t1),...,Ln(tn)] is an 
exceptional collection on X (NB: we assume that the first entry in 
the exceptional collection is the structure sheaf Oh)

e.g. 
> LL:=[[-1,0,0,0],[0,-1,0,0],[0,0,-1,0],[0,0,0,-1],[0,0,0,-2]];
> findExceptional(X,LL);

findHoms(surface,LL,twists) -- given a surface, a sequence of multidegrees 
LL=[L1,...,Ln] and a sequence of torsion twists=[t1,...,tn], return two
arrays. The (ij)th entry of the first array is the Euler--Poincare
characteristic chi(E_i,E_{i+j}), where E_i=Li(ti). The (ij)th entry of
the second array is the two pushforwards of E_{i+j}*E_i^{-1} and
omega_X*E_i*E_{i+j}^{-1}.
The two arrays together contain the necessary information for computing
all Ext-groups of [Oh,L1(t1),...,Ln(tn)]

e.g.
> E,H:=findHoms(X,LL,twists);
> E[[1,2]]; // returns chi(E_1,E_3)
> H[[1,2]]; // returns pushforwards of E_3*E_1^{-1} and omega_X*E_1*E_3^{-1}

Weylreflection(surface,L,alpha) -- given a line bundle L and a root
alpha in Pic Y, returns the image of L under the Weyl reflection 
corresponding to alpha

////////////END////////////