> < ^ Date: Fri, 27 Jun 2003 11:36:36 -0700 (PDT)
< ^ From: J.F. Huesman <qphysics@yahoo.com >
^ Subject: Homology and crystals? (The WHOLE posting, this time)

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've been
getting "Cannot deliver message" errors from previous attempts. I also found
out why the whole message wasn't getting posted, so this should be the first
time you see the whole message.

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
A=[[1],[0]]
B=[[0],[1]]
and the group generators are
r=[[-1,0],[0,-1]]
m=[[1,0],[0,-1]]

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],
B[r]-B[m]-B[rm].
hence we find H_1(G,L) to be {0, B[rm], A[m], B[rm]+A[m]}.
```

This is, of course, almost trivial in this simple case. Most of the point
groups I will be working with are not abelian, and have more than four
elements. The most complex case I have been able to solve with the other
program, so far, was an icosahedral crystal having six lattice vectors and a
point group of order 120...this took over two hours on a 2.1GHz computer.

Is it possible to automate this in GAP and calculate the 1-chains, 2-chains,
1-cycles, 1-boundaries and H_1 for this type of problem?

Any help is very greatly appreciated.

Jack Huesman
Department of Physics
University of South Florida

```=====