> < ^ From:

^ Subject:

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 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].

> < [top]