> < ^ Date: Thu, 26 Jun 2003 05:43:35 -0700 (PDT)
> < ^ From: J.F. Huesman <qphysics@yahoo.com >
^ Subject: Homology and crystals? (third attempt to post WHOLE message)

Fellow GAP forum members,
Forgive me for asking for your help again, but I really don't seem to be
getting the hang of programming in GAP. Forgive me also if all these attempts
to get this message posted eventually come through the server.

I now need to compute the homology of a crystal. I'll give an example, in as
much detail as I can, so you can tell me if it's possible to do this in GAP and
how to do it if it is. I have a program in another computer mathematics program
that does this, but it is very slow and still requires me to do some work by
hand. I think GAP should be able to do this more efficiently.

Example, 2mm: (capital letters are lattice basis vectors, lower-case letters
are group elements)
Take a rectangular lattice generated by two vectors, A and B, with A along the
x-axis and B along the y-axis. Let the 4-element group generated by a
180-degree rotation (r) and a mirror about the x-axis (m) act from the left on
this lattice (G={e,r,m,rm})...

        ^ B
------- | --------
|       |        |           
|       -------------> A
|                |

eA=A      eB=B
rA=-A     rB=-B
mA=A      mB=-B
rmA=-A    rmB=B

I express the lattice vectors as 
and the group generators are

There are 8 (#lattice vectors x #group elements) 1-chains and 32 2-chains. The
boundary of a 1-chain is given by \del L[g]=gL-L. The boundary of a 2-chain is
given by \del L[g|h]=hL[g]-L[gh]+L[h]. From this it is easily calculated that
the six 1-cycles (thus the elements of Z_1(G,L)) are 
A[e], A[m], A[rm]-A[r], B[e], B[rm], B[m]-B[r]. 
We can also calculate the elements of B_1(G,L) and find them to be 
A[e], B[e], A[r]+A[m]-A[rm], A[r]-A[m]-A[rm], -B[r]+B[m]-B[rm],

> < [top]