#! /bin/sh
# This is a shell archive.  Remove anything before this line, then unpack
# it by saving it into a file and typing "sh file".  To overwrite existing
# files, type "sh file -c".  You can also feed this as standard input via
# unshar, or by typing "sh <file", e.g..  If this archive is complete, you
# will see the following message at the end:
#		"End of shell archive."
# Contents:  brussD6 brussD6n.c
# Wrapped by karin@borodin on Wed Jul 24 21:49:06 1991
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'brussD6' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'brussD6'\"
else
echo shar: Extracting \"'brussD6'\" \(1875 characters\)
sed "s/^X//" >'brussD6' <<'END_OF_FILE'
X% example brussD6 
X
Xin hybridconjug;
X
Xfd6:=mat((pa-(pb+1)*x1+x1**2*x2 + tau^(-2)*(x11+x3-2*x1) ),
X       (pb*x1-x1**2*x2 + tau^(-2)*10*(x12+x4-2*x2) ),
X       (pa-(pb+1)*x3+x3**2*x4 + tau^(-2)*(x1-x3+x5-x3) ),
X       (pb*x3-x3**2*x4 + tau^(-2)*10*(x2-x4+x6-x4) ),
X       (pa-(pb+1)*x5+x5**2*x6 + tau^(-2)*(x3-x5+x7-x5) ),
X       (pb*x5-x5**2*x6 + tau^(-2)*10*(x4-x6+x8-x6) ),
X       (pa-(pb+1)*x7+x7**2*x8 + tau^(-2)*(x9+x5-2*x7) ),
X       (pb*x7-x7**2*x8 + tau^(-2)*10*(x10+x6-2*x8) ),
X       (pa-(pb+1)*x9+x9**2*x10 + tau^(-2)*(x11+x7-2*x9) ),
X       (pb*x9-x9**2*x10 + tau^(-2)*10*(x12+x8-2*x10) ),
X       (pa-(pb+1)*x11+x11**2*x12 + tau^(-2)*(x1+x9-2*x11) ),
X       (pb*x11-x11**2*x12 + tau^(-2)*10*(x2+x10-2*x12) ))$
X
Xrd6:=mat((0,0,1,0,0,0,0,0,0,0,0,0),
X       (0,0,0,1,0,0,0,0,0,0,0,0),
X       (0,0,0,0,1,0,0,0,0,0,0,0),
X       (0,0,0,0,0,1,0,0,0,0,0,0),
X       (0,0,0,0,0,0,1,0,0,0,0,0),
X       (0,0,0,0,0,0,0,1,0,0,0,0),
X       (0,0,0,0,0,0,0,0,1,0,0,0),
X       (0,0,0,0,0,0,0,0,0,1,0,0),
X       (0,0,0,0,0,0,0,0,0,0,1,0),
X       (0,0,0,0,0,0,0,0,0,0,0,1),
X       (1,0,0,0,0,0,0,0,0,0,0,0),
X       (0,1,0,0,0,0,0,0,0,0,0,0))$
X
Xsd6:=mat((0,0,1,0,0,0,0,0,0,0,0,0),
X         (0,0,0,1,0,0,0,0,0,0,0,0),
X         (1,0,0,0,0,0,0,0,0,0,0,0),
X         (0,1,0,0,0,0,0,0,0,0,0,0),
X         (0,0,0,0,0,0,0,0,0,0,1,0),
X         (0,0,0,0,0,0,0,0,0,0,0,1),
X         (0,0,0,0,0,0,0,0,1,0,0,0),
X         (0,0,0,0,0,0,0,0,0,1,0,0),
X         (0,0,0,0,0,0,1,0,0,0,0,0),
X         (0,0,0,0,0,0,0,1,0,0,0,0),
X         (0,0,0,0,1,0,0,0,0,0,0,0),
X         (0,0,0,0,0,1,0,0,0,0,0,0))$
X
X
X
Xxsed6:=for i:=1:12 collect mkid(x,i)$
Xxsed6:=append(xsed6,{tau})$
Xinits:={taumin=0,taumax=8,x1=pa,x2=pb/2,x3=pa,x4=pb/2,x5=pa,x6=pb/2,
X         x7=pa,x8=pb/2,x9=pa,x10=pb/2,x11=pa,x12=pb/2,
X         tau=1/4,pa=1,pb=2}$
X
Xon numericmode;
X
Xgentranout"brussD6n.c";
X
Xsymcon(fd6,xsed6,inits,D6,rd6,sd6);
Xend; 
END_OF_FILE
if test 1875 -ne `wc -c <'brussD6'`; then
    echo shar: \"'brussD6'\" unpacked with wrong size!
fi
# end of 'brussD6'
fi
if test -f 'brussD6n.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'brussD6n.c'\"
else
echo shar: Extracting \"'brussD6n.c'\" \(61919 characters\)
sed "s/^X//" >'brussD6n.c' <<'END_OF_FILE'
X#include <strings.h>
X#include <stdio.h>
X#include <math.h>
X#include <malloc.h>
X#include "macros.h"
X#include "matutil.h"
X#include "matalloc.h"
X
X#include "group.h"
X
Xint m=12, n=13, npar=2, nog = 13;
Xstatic double PA,PB;
Xchar par_string[2][10] = {"PB","PA"};
X 
Xvoid setpar()
X{
XPB = par[1];
XPA = par[2];
X}
X
Xvoid init_data()
X{
X    par[1]=2.0;
X    par[2]=1.0;
X    setpar();
X    y_guess[1]=PA;
X    y_guess[2]=PB/2.0;
X    y_guess[3]=PA;
X    y_guess[4]=PB/2.0;
X    y_guess[5]=PA;
X    y_guess[6]=PB/2.0;
X    y_guess[7]=PA;
X    y_guess[8]=PB/2.0;
X    y_guess[9]=PA;
X    y_guess[10]=PB/2.0;
X    y_guess[11]=PA;
X    y_guess[12]=PB/2.0;
X    y_guess[13]=1.0/4.0;
X    tau_min=0.0;
X    tau_max=8.0;
X}
Xstatic Group *ID,*Z21,*Z23,*Z25,*C2,*Z20,*Z24,*Z22,*D32,*K61,*K62,*K63,*D6;
Xstatic Op *op;
X#define ID_NO 1
X#define Z21_NO 2
X#define Z23_NO 3
X#define Z25_NO 4
X#define C2_NO 5
X#define Z20_NO 6
X#define Z24_NO 7
X#define Z22_NO 8
X#define D32_NO 9
X#define K61_NO 10
X#define K62_NO 11
X#define K63_NO 12
X#define D6_NO 13
X
Xstatic void D6_proc_2(Y,yt)
Xdouble *Y,*yt;
X{
X    yt[1]=Y[3];
X    yt[2]=Y[4];
X    yt[3]=Y[5];
X    yt[4]=Y[6];
X    yt[5]=Y[7];
X    yt[6]=Y[8];
X    yt[7]=Y[9];
X    yt[8]=Y[10];
X    yt[9]=Y[11];
X    yt[10]=Y[12];
X    yt[11]=Y[1];
X    yt[12]=Y[2];
X    yt[13]=Y[13];
X}
Xstatic void D6_proc_7(Y,yt)
Xdouble *Y,*yt;
X{
X    yt[1]=Y[3];
X    yt[2]=Y[4];
X    yt[3]=Y[1];
X    yt[4]=Y[2];
X    yt[5]=Y[11];
X    yt[6]=Y[12];
X    yt[7]=Y[9];
X    yt[8]=Y[10];
X    yt[9]=Y[7];
X    yt[10]=Y[8];
X    yt[11]=Y[5];
X    yt[12]=Y[6];
X    yt[13]=Y[13];
X}
Xstatic void D6_proc_6(Y,yt)
Xdouble *Y,*yt;
X{
X    yt[1]=Y[11];
X    yt[2]=Y[12];
X    yt[3]=Y[1];
X    yt[4]=Y[2];
X    yt[5]=Y[3];
X    yt[6]=Y[4];
X    yt[7]=Y[5];
X    yt[8]=Y[6];
X    yt[9]=Y[7];
X    yt[10]=Y[8];
X    yt[11]=Y[9];
X    yt[12]=Y[10];
X    yt[13]=Y[13];
X}
Xstatic Group* change_group_7(sigma)
X        Group *sigma;
X{
X     switch (sigma->no) {
X     case K63_NO : return K62;
X     case K62_NO : return K63;
X     case Z22_NO : return Z24;
X     case Z24_NO : return Z22;
X     case Z25_NO : return Z21;
X     case Z21_NO : return Z25;
X     default : return sigma;
X}
X}
Xstatic Group* change_group_2(sigma)
X        Group *sigma;
X{
X     switch (sigma->no) {
X     case K63_NO : return K61;
X     case K62_NO : return K63;
X     case K61_NO : return K62;
X     case Z22_NO : return Z20;
X     case Z24_NO : return Z22;
X     case Z20_NO : return Z24;
X     case Z25_NO : return Z23;
X     case Z23_NO : return Z21;
X     case Z21_NO : return Z25;
X     default : return sigma;
X}
X}
Xstatic int isotypic_triv(i)
X     int i;
X{
X     switch (i) {
X     default : return i;
X}
X}
Xvoid f(Yvar,fo)
Xdouble *Yvar,*fo;
X{
X    double X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,TAU;
X    X1=Yvar[1];
X    X2=Yvar[2];
X    X3=Yvar[3];
X    X4=Yvar[4];
X    X5=Yvar[5];
X    X6=Yvar[6];
X    X7=Yvar[7];
X    X8=Yvar[8];
X    X9=Yvar[9];
X    X10=Yvar[10];
X    X11=Yvar[11];
X    X12=Yvar[12];
X    TAU=Yvar[13];
X    fo[1]=((X1*X1)*X2*(TAU*TAU)-(X1*PB*(TAU*TAU))-(X1*(TAU*TAU))-(2.0*X1)+X3+PA*
X     (TAU*TAU)+X11)/(TAU*TAU);
X    fo[2]=(-((X1*X1)*X2*(TAU*TAU))+X1*PB*(TAU*TAU)-(20.0*X2)+10.0*X4+
X10.0*X12)/(
X     TAU*TAU);
X    fo[3]=(X1+(X3*X3)*X4*(TAU*TAU)-(X3*PB*(TAU*TAU))-(X3*(TAU*TAU))-(
X2.0*X3)+PA*
X     (TAU*TAU)+X5)/(TAU*TAU);
X    fo[4]=(10.0*X2-((X3*X3)*X4*(TAU*TAU))+X3*PB*(TAU*TAU)-(20.0*X4)+
X10.0*X6)/(
X     TAU*TAU);
X    fo[5]=(X3+PA*(TAU*TAU)-(PB*(TAU*TAU)*X5)+(TAU*TAU)*(X5*X5)*X6-((TAU*TAU)*X5)
X     -(2.0*X5)+X7)/(TAU*TAU);
X    fo[6]=(10.0*X4+10.0*X8+PB*(TAU*TAU)*X5-((TAU*TAU)*(X5*X5)*X6)-(
X20.0*X6))/(
X     TAU*TAU);
X    fo[7]=(X8*(TAU*TAU)*(X7*X7)+X9+PA*(TAU*TAU)-(PB*(TAU*TAU)*X7)-((TAU*TAU)*X7)
X     +X5-(2.0*X7))/(TAU*TAU);
X    fo[8]=(-(X8*(TAU*TAU)*(X7*X7))-(20.0*X8)+10.0*X10+PB*(TAU*TAU)*X7+
X10.0*X6)/(
X     TAU*TAU);
X    fo[9]=((X9*X9)*X10*(TAU*TAU)-(X9*PB*(TAU*TAU))-(X9*(TAU*TAU))-(
X2.0*X9)+PA*(
X     TAU*TAU)+X11+X7)/(TAU*TAU);
X    fo[10]=(10.0*X8-((X9*X9)*X10*(TAU*TAU))+X9*PB*(TAU*TAU)-(20.0*X10)+
X10.0*X12)
X     /(TAU*TAU);
X    fo[11]=(X1+X9+PA*(TAU*TAU)-(PB*(TAU*TAU)*X11)+(TAU*TAU)*(X11*X11)*X12-((TAU*
X     TAU)*X11)-(2.0*X11))/(TAU*TAU);
X    fo[12]=(10.0*X2+10.0*X10+PB*(TAU*TAU)*X11-((TAU*TAU)*(X11*X11)*X12)-(
X20.0*
X     X12))/(TAU*TAU);
X}
Xvoid df(Yvar,dfo)
Xdouble *Yvar,**dfo;
X{
X    double X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,TAU;
X    X1=Yvar[1];
X    X2=Yvar[2];
X    X3=Yvar[3];
X    X4=Yvar[4];
X    X5=Yvar[5];
X    X6=Yvar[6];
X    X7=Yvar[7];
X    X8=Yvar[8];
X    X9=Yvar[9];
X    X10=Yvar[10];
X    X11=Yvar[11];
X    X12=Yvar[12];
X    TAU=Yvar[13];
X    dfo[1][1]=(2.0*X1*X2*(TAU*TAU)-(PB*(TAU*TAU))-(TAU*TAU)-2.0)/(TAU*TAU);
X    dfo[1][2]=X1*X1;
X    dfo[1][3]=1.0/(TAU*TAU);
X    dfo[1][4]=0.0;
X    dfo[1][5]=0.0;
X    dfo[1][6]=0.0;
X    dfo[1][7]=0.0;
X    dfo[1][8]=0.0;
X    dfo[1][9]=0.0;
X    dfo[1][10]=0.0;
X    dfo[1][11]=1.0/(TAU*TAU);
X    dfo[1][12]=0.0;
X    dfo[1][13]=(4.0*X1-(2.0*X3)-(2.0*X11))/(TAU*TAU*TAU);
X    dfo[2][1]=-(2.0*X1*X2)+PB;
X    dfo[2][2]=(-((X1*X1)*(TAU*TAU))-20.0)/(TAU*TAU);
X    dfo[2][3]=0.0;
X    dfo[2][4]=10.0/(TAU*TAU);
X    dfo[2][5]=0.0;
X    dfo[2][6]=0.0;
X    dfo[2][7]=0.0;
X    dfo[2][8]=0.0;
X    dfo[2][9]=0.0;
X    dfo[2][10]=0.0;
X    dfo[2][11]=0.0;
X    dfo[2][12]=10.0/(TAU*TAU);
X    dfo[2][13]=(40.0*X2-(20.0*X4)-(20.0*X12))/(TAU*TAU*TAU);
X    dfo[3][1]=1.0/(TAU*TAU);
X    dfo[3][2]=0.0;
X    dfo[3][3]=(2.0*X3*X4*(TAU*TAU)-(PB*(TAU*TAU))-(TAU*TAU)-2.0)/(TAU*TAU);
X    dfo[3][4]=X3*X3;
X    dfo[3][5]=1.0/(TAU*TAU);
X    dfo[3][6]=0.0;
X    dfo[3][7]=0.0;
X    dfo[3][8]=0.0;
X    dfo[3][9]=0.0;
X    dfo[3][10]=0.0;
X    dfo[3][11]=0.0;
X    dfo[3][12]=0.0;
X    dfo[3][13]=(-(2.0*X1)+4.0*X3-(2.0*X5))/(TAU*TAU*TAU);
X    dfo[4][1]=0.0;
X    dfo[4][2]=10.0/(TAU*TAU);
X    dfo[4][3]=-(2.0*X3*X4)+PB;
X    dfo[4][4]=(-((X3*X3)*(TAU*TAU))-20.0)/(TAU*TAU);
X    dfo[4][5]=0.0;
X    dfo[4][6]=10.0/(TAU*TAU);
X    dfo[4][7]=0.0;
X    dfo[4][8]=0.0;
X    dfo[4][9]=0.0;
X    dfo[4][10]=0.0;
X    dfo[4][11]=0.0;
X    dfo[4][12]=0.0;
X    dfo[4][13]=(-(20.0*X2)+40.0*X4-(20.0*X6))/(TAU*TAU*TAU);
X    dfo[5][1]=0.0;
X    dfo[5][2]=0.0;
X    dfo[5][3]=1.0/(TAU*TAU);
X    dfo[5][4]=0.0;
X    dfo[5][5]=(-(PB*(TAU*TAU))+2.0*(TAU*TAU)*X5*X6-(TAU*TAU)-2.0)/(TAU*TAU);
X    dfo[5][6]=X5*X5;
X    dfo[5][7]=1.0/(TAU*TAU);
X    dfo[5][8]=0.0;
X    dfo[5][9]=0.0;
X    dfo[5][10]=0.0;
X    dfo[5][11]=0.0;
X    dfo[5][12]=0.0;
X    dfo[5][13]=(-(2.0*X3)+4.0*X5-(2.0*X7))/(TAU*TAU*TAU);
X    dfo[6][1]=0.0;
X    dfo[6][2]=0.0;
X    dfo[6][3]=0.0;
X    dfo[6][4]=10.0/(TAU*TAU);
X    dfo[6][5]=PB-(2.0*X5*X6);
X    dfo[6][6]=(-((TAU*TAU)*(X5*X5))-20.0)/(TAU*TAU);
X    dfo[6][7]=0.0;
X    dfo[6][8]=10.0/(TAU*TAU);
X    dfo[6][9]=0.0;
X    dfo[6][10]=0.0;
X    dfo[6][11]=0.0;
X    dfo[6][12]=0.0;
X    dfo[6][13]=(-(20.0*X4)-(20.0*X8)+40.0*X6)/(TAU*TAU*TAU);
X    dfo[7][1]=0.0;
X    dfo[7][2]=0.0;
X    dfo[7][3]=0.0;
X    dfo[7][4]=0.0;
X    dfo[7][5]=1.0/(TAU*TAU);
X    dfo[7][6]=0.0;
X    dfo[7][7]=(2.0*X8*(TAU*TAU)*X7-(PB*(TAU*TAU))-(TAU*TAU)-2.0)/(TAU*TAU);
X    dfo[7][8]=X7*X7;
X    dfo[7][9]=1.0/(TAU*TAU);
X    dfo[7][10]=0.0;
X    dfo[7][11]=0.0;
X    dfo[7][12]=0.0;
X    dfo[7][13]=(-(2.0*X9)-(2.0*X5)+4.0*X7)/(TAU*TAU*TAU);
X    dfo[8][1]=0.0;
X    dfo[8][2]=0.0;
X    dfo[8][3]=0.0;
X    dfo[8][4]=0.0;
X    dfo[8][5]=0.0;
X    dfo[8][6]=10.0/(TAU*TAU);
X    dfo[8][7]=-(2.0*X8*X7)+PB;
X    dfo[8][8]=(-((TAU*TAU)*(X7*X7))-20.0)/(TAU*TAU);
X    dfo[8][9]=0.0;
X    dfo[8][10]=10.0/(TAU*TAU);
X    dfo[8][11]=0.0;
X    dfo[8][12]=0.0;
X    dfo[8][13]=(40.0*X8-(20.0*X10)-(20.0*X6))/(TAU*TAU*TAU);
X    dfo[9][1]=0.0;
X    dfo[9][2]=0.0;
X    dfo[9][3]=0.0;
X    dfo[9][4]=0.0;
X    dfo[9][5]=0.0;
X    dfo[9][6]=0.0;
X    dfo[9][7]=1.0/(TAU*TAU);
X    dfo[9][8]=0.0;
X    dfo[9][9]=(2.0*X9*X10*(TAU*TAU)-(PB*(TAU*TAU))-(TAU*TAU)-2.0)/(TAU*TAU);
X    dfo[9][10]=X9*X9;
X    dfo[9][11]=1.0/(TAU*TAU);
X    dfo[9][12]=0.0;
X    dfo[9][13]=(4.0*X9-(2.0*X11)-(2.0*X7))/(TAU*TAU*TAU);
X    dfo[10][1]=0.0;
X    dfo[10][2]=0.0;
X    dfo[10][3]=0.0;
X    dfo[10][4]=0.0;
X    dfo[10][5]=0.0;
X    dfo[10][6]=0.0;
X    dfo[10][7]=0.0;
X    dfo[10][8]=10.0/(TAU*TAU);
X    dfo[10][9]=-(2.0*X9*X10)+PB;
X    dfo[10][10]=(-((X9*X9)*(TAU*TAU))-20.0)/(TAU*TAU);
X    dfo[10][11]=0.0;
X    dfo[10][12]=10.0/(TAU*TAU);
X    dfo[10][13]=(-(20.0*X8)+40.0*X10-(20.0*X12))/(TAU*TAU*TAU);
X    dfo[11][1]=1.0/(TAU*TAU);
X    dfo[11][2]=0.0;
X    dfo[11][3]=0.0;
X    dfo[11][4]=0.0;
X    dfo[11][5]=0.0;
X    dfo[11][6]=0.0;
X    dfo[11][7]=0.0;
X    dfo[11][8]=0.0;
X    dfo[11][9]=1.0/(TAU*TAU);
X    dfo[11][10]=0.0;
X    dfo[11][11]=(-(PB*(TAU*TAU))+2.0*(TAU*TAU)*X11*X12-(TAU*TAU)-2.0)/(TAU*TAU);
X    dfo[11][12]=X11*X11;
X    dfo[11][13]=(-(2.0*X1)-(2.0*X9)+4.0*X11)/(TAU*TAU*TAU);
X    dfo[12][1]=0.0;
X    dfo[12][2]=10.0/(TAU*TAU);
X    dfo[12][3]=0.0;
X    dfo[12][4]=0.0;
X    dfo[12][5]=0.0;
X    dfo[12][6]=0.0;
X    dfo[12][7]=0.0;
X    dfo[12][8]=0.0;
X    dfo[12][9]=0.0;
X    dfo[12][10]=10.0/(TAU*TAU);
X    dfo[12][11]=PB-(2.0*X11*X12);
X    dfo[12][12]=(-((TAU*TAU)*(X11*X11))-20.0)/(TAU*TAU);
X    dfo[12][13]=(-(20.0*X2)-(20.0*X10)+40.0*X12)/(TAU*TAU*TAU);
X}
Xstatic void gID(U,g)
Xdouble *U,*g;
X{
Xg_num(ID,U,g);
X}
X 
Xstatic void dgID1(U,dgu)
Xdouble *U,**dgu;
X{
Xdg_num(ID,U,dgu); 
X}
X 
Xstatic void cgID1(U,Z,c)
Xdouble *U,*Z,**c;
X{
Xcg_num(ID,U,Z,c);
X}
Xstatic void invtrans1ID(Y,u)
Xdouble *Y,*u;
X{
X    u[1]=(Y[11]*SQRT3*SQRT2+Y[9]*SQRT3*SQRT2+Y[7]*SQRT3*SQRT2+Y[5]*SQRT3*SQRT2+Y
X     [3]*SQRT3*SQRT2+Y[1]*SQRT3*SQRT2)/6.0;
X    u[2]=(Y[12]*SQRT3*SQRT2+Y[10]*SQRT3*SQRT2+Y[8]*SQRT3*SQRT2+Y[6]*SQRT3*SQRT2+
X     Y[4]*SQRT3*SQRT2+Y[2]*SQRT3*SQRT2)/6.0;
X    u[3]=(-(Y[11]*SQRT3*SQRT2)+Y[9]*SQRT3*SQRT2-(Y[7]*SQRT3*SQRT2)+Y[5]*SQRT3*
X     SQRT2-(Y[3]*SQRT3*SQRT2)+Y[1]*SQRT3*SQRT2)/6.0;
X    u[4]=(-(Y[12]*SQRT3*SQRT2)+Y[10]*SQRT3*SQRT2-(Y[8]*SQRT3*SQRT2)+Y[6]*SQRT3*
X     SQRT2-(Y[4]*SQRT3*SQRT2)+Y[2]*SQRT3*SQRT2)/6.0;
X    u[5]=(-Y[9]-Y[7]+Y[3]+Y[1])/2.0;
X    u[6]=(-Y[10]-Y[8]+Y[4]+Y[2])/2.0;
X    u[7]=(-(2.0*Y[11]*SQRT3)-(Y[9]*SQRT3)+Y[7]*SQRT3+2.0*Y[5]*SQRT3+Y[3]*SQRT3-(
X     Y[1]*SQRT3))/6.0;
X    u[8]=(-(2.0*Y[12]*SQRT3)-(Y[10]*SQRT3)+Y[8]*SQRT3+2.0*Y[6]*SQRT3+Y[
X4]*SQRT3-
X     (Y[2]*SQRT3))/6.0;
X    u[9]=(-(2.0*Y[11]*SQRT3)+Y[9]*SQRT3+Y[7]*SQRT3-(2.0*Y[5]*SQRT3)+Y[3]*SQRT3+Y
X     [1]*SQRT3)/6.0;
X    u[10]=(-(2.0*Y[12]*SQRT3)+Y[10]*SQRT3+Y[8]*SQRT3-(2.0*Y[6]*SQRT3)+Y[
X4]*SQRT3
X     +Y[2]*SQRT3)/6.0;
X    u[11]=(Y[9]-Y[7]+Y[3]-Y[1])/2.0;
X    u[12]=(Y[10]-Y[8]+Y[4]-Y[2])/2.0;
X}
X
Xstatic void trans1ID(U,y)
Xdouble *U,*y;
X{
X    y[1]=(-(3.0*U[11])+U[9]*SQRT3-(U[7]*SQRT3)+3.0*U[5]+U[3]*SQRT3*SQRT2+U[
X1]*
X     SQRT3*SQRT2)/6.0;
X    y[2]=(-(3.0*U[12])+U[10]*SQRT3-(U[8]*SQRT3)+3.0*U[6]+U[4]*SQRT3*SQRT2+U[
X2]*
X     SQRT3*SQRT2)/6.0;
X    y[3]=(3.0*U[11]+U[9]*SQRT3+U[7]*SQRT3+3.0*U[5]-(U[3]*SQRT3*SQRT2)+U[
X1]*SQRT3
X     *SQRT2)/6.0;
X    y[4]=(3.0*U[12]+U[10]*SQRT3+U[8]*SQRT3+3.0*U[6]-(U[4]*SQRT3*SQRT2)+U[
X2]*
X     SQRT3*SQRT2)/6.0;
X    y[5]=(-(2.0*U[9]*SQRT3)+2.0*U[7]*SQRT3+U[3]*SQRT3*SQRT2+U[1]*SQRT3*SQRT2)/
X     6.0;
X    y[6]=(-(2.0*U[10]*SQRT3)+2.0*U[8]*SQRT3+U[4]*SQRT3*SQRT2+U[2]*SQRT3*SQRT2)/
X     6.0;
X    y[7]=(-(3.0*U[11])+U[9]*SQRT3+U[7]*SQRT3-(3.0*U[5])-(U[3]*SQRT3*SQRT2)+U[
X1]*
X     SQRT3*SQRT2)/6.0;
X    y[8]=(-(3.0*U[12])+U[10]*SQRT3+U[8]*SQRT3-(3.0*U[6])-(U[4]*SQRT3*SQRT2)+U[
X2]
X     *SQRT3*SQRT2)/6.0;
X    y[9]=(3.0*U[11]+U[9]*SQRT3-(U[7]*SQRT3)-(3.0*U[5])+U[3]*SQRT3*SQRT2+U[
X1]*
X     SQRT3*SQRT2)/6.0;
X    y[10]=(3.0*U[12]+U[10]*SQRT3-(U[8]*SQRT3)-(3.0*U[6])+U[4]*SQRT3*SQRT2+U[
X2]*
X     SQRT3*SQRT2)/6.0;
X    y[11]=(-(2.0*U[9]*SQRT3)-(2.0*U[7]*SQRT3)-(U[3]*SQRT3*SQRT2)+U[1]*SQRT3*
X     SQRT2)/6.0;
X    y[12]=(-(2.0*U[10]*SQRT3)-(2.0*U[8]*SQRT3)-(U[4]*SQRT3*SQRT2)+U[2]*SQRT3*
X     SQRT2)/6.0;
X}
X
Xstatic void transformID(U,y)
Xdouble *U,*y;
X{
Xtrans1ID(U,y);
Xy[13]=U[13];
X}
X
Xstatic void invtransformID(Y,u)
Xdouble *Y,*u;
X{
Xinvtrans1ID(Y,u);
Xu[13]=Y[13];
X}
X 
Xstatic void testIDZ21(U,t)
Xdouble *U,*t;
X{
X    t[1]=(U[7]*SQRT3-U[5])/2.0;
X    t[2]=(U[8]*SQRT3-U[6])/2.0;
X    t[3]=(U[11]-(U[9]*SQRT3))/2.0;
X    t[4]=(U[12]-(U[10]*SQRT3))/2.0;
X}
Xstatic void testIDZ23(U,t)
Xdouble *U,*t;
X{
X    t[1]=U[5];
X    t[2]=U[6];
X    t[3]=U[11];
X    t[4]=U[12];
X}
Xstatic void testIDZ25(U,t)
Xdouble *U,*t;
X{
X    t[1]=(U[7]*SQRT3+U[5])/2.0;
X    t[2]=(U[8]*SQRT3+U[6])/2.0;
X    t[3]=(U[11]+U[9]*SQRT3)/2.0;
X    t[4]=(U[12]+U[10]*SQRT3)/2.0;
X}
Xstatic void testIDC2(U,t)
Xdouble *U,*t;
X{
X    t[1]=U[3];
X    t[2]=U[4];
X    t[3]=U[5];
X    t[4]=U[6];
X    t[5]=U[7];
X    t[6]=U[8];
X}
Xstatic void testIDZ20(U,t)
Xdouble *U,*t;
X{
X    t[1]=U[3];
X    t[2]=U[4];
X    t[3]=U[7];
X    t[4]=U[8];
X    t[5]=U[11];
X    t[6]=U[12];
X}
Xstatic void testIDZ24(U,t)
Xdouble *U,*t;
X{
X    t[1]=U[3];
X    t[2]=U[4];
X    t[3]=(U[7]+U[5]*SQRT3)/2.0;
X    t[4]=(U[8]+U[6]*SQRT3)/2.0;
X    t[5]=(U[11]-(U[9]*SQRT3))/2.0;
X    t[6]=(U[12]-(U[10]*SQRT3))/2.0;
X}
Xstatic void testIDZ22(U,t)
Xdouble *U,*t;
X{
X    t[1]=U[3];
X    t[2]=U[4];
X    t[3]=(U[7]-(U[5]*SQRT3))/2.0;
X    t[4]=(U[8]-(U[6]*SQRT3))/2.0;
X    t[5]=(U[11]+U[9]*SQRT3)/2.0;
X    t[6]=(U[12]+U[10]*SQRT3)/2.0;
X}
Xstatic void init_ID()
X{
X    Op *op;
X    ID->label="ID";
X    ID->implemented=TRUE;
X    ID->transform=transformID;
X    ID->inv_transform=invtransformID;
X    append_op(ID,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(ID,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(ID,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(ID,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(ID,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(ID,D6_proc_7,D6_proc_7,change_group_7,isotypic_triv);
X    append_op(ID,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(ID,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(ID,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(ID,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(ID,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(ID,D6_proc_7,D6_proc_7,change_group_7,isotypic_triv);
X    ID->m[1]=12;
X    ID->g=gID;
X    ID->dg[1]=dgID1;
X    ID->cg[1]=cgID1;
X    ID->iso_transform[1]=trans1ID;
X    ID->inv_iso_transform[1]=invtrans1ID;
X    ID->test[1]=testIDZ21;
X    ID->test[2]=testIDZ23;
X    ID->test[3]=testIDZ25;
X    ID->test[4]=testIDC2;
X    ID->test[5]=testIDZ20;
X    ID->test[6]=testIDZ24;
X    ID->test[7]=testIDZ22;
X    ID->ntest[1]=4;
X    ID->ntest[2]=4;
X    ID->ntest[3]=4;
X    ID->ntest[4]=6;
X    ID->ntest[5]=6;
X    ID->ntest[6]=6;
X    ID->ntest[7]=6;
X    ID->supergroup[1]=Z21;
X    ID->supergroup[2]=Z23;
X    ID->supergroup[3]=Z25;
X    ID->supergroup[4]=C2;
X    ID->supergroup[5]=Z20;
X    ID->supergroup[6]=Z24;
X    ID->supergroup[7]=Z22;
X    ID->next=nil;
X    ID->no=ID_NO;
X}
Xstatic void gZ21(U,g)
Xdouble *U,*g;
X{
Xg_num(Z21,U,g);
X}
X 
Xstatic void dgZ211(U,dgu)
Xdouble *U,**dgu;
X{
Xdg_num(Z21,U,dgu); 
X}
X 
Xstatic void dgZ212(U,dgu)
Xdouble *U,**dgu;
X{
Xdgi_num(Z21,2,U,dgu);
X}
X 
Xstatic void cgZ211(U,Z,c)
Xdouble *U,*Z,**c;
X{
Xcg_num(Z21,U,Z,c);
X}
Xstatic void cgZ212(U,Z,c)
Xdouble *U,*Z,**c;
X{
Xcgi_num(Z21,2,U,Z,c);
X}
Xstatic void invtrans1Z21(Y,u)
Xdouble *Y,*u;
X{
X    u[1]=(Y[11]*SQRT3*SQRT2+Y[9]*SQRT3*SQRT2+Y[7]*SQRT3*SQRT2+Y[5]*SQRT3*SQRT2+Y
X     [3]*SQRT3*SQRT2+Y[1]*SQRT3*SQRT2)/6.0;
X    u[2]=(Y[12]*SQRT3*SQRT2+Y[10]*SQRT3*SQRT2+Y[8]*SQRT3*SQRT2+Y[6]*SQRT3*SQRT2+
X     Y[4]*SQRT3*SQRT2+Y[2]*SQRT3*SQRT2)/6.0;
X    u[3]=(-(Y[11]*SQRT3*SQRT2)+Y[9]*SQRT3*SQRT2-(Y[7]*SQRT3*SQRT2)+Y[5]*SQRT3*
X     SQRT2-(Y[3]*SQRT3*SQRT2)+Y[1]*SQRT3*SQRT2)/6.0;
X    u[4]=(-(Y[12]*SQRT3*SQRT2)+Y[10]*SQRT3*SQRT2-(Y[8]*SQRT3*SQRT2)+Y[6]*SQRT3*
X     SQRT2-(Y[4]*SQRT3*SQRT2)+Y[2]*SQRT3*SQRT2)/6.0;
X    u[5]=(-(Y[11]*SQRT3)-(2.0*Y[9]*SQRT3)-(Y[7]*SQRT3)+Y[5]*SQRT3+2.0*Y[
X3]*SQRT3
X     +Y[1]*SQRT3)/6.0;
X    u[6]=(-(Y[12]*SQRT3)-(2.0*Y[10]*SQRT3)-(Y[8]*SQRT3)+Y[6]*SQRT3+
X2.0*Y[4]*
X     SQRT3+Y[2]*SQRT3)/6.0;
X    u[7]=(-(Y[11]*SQRT3)+2.0*Y[9]*SQRT3-(Y[7]*SQRT3)-(Y[5]*SQRT3)+2.0*Y[
X3]*SQRT3
X     -(Y[1]*SQRT3))/6.0;
X    u[8]=(-(Y[12]*SQRT3)+2.0*Y[10]*SQRT3-(Y[8]*SQRT3)-(Y[6]*SQRT3)+
X2.0*Y[4]*
X     SQRT3-(Y[2]*SQRT3))/6.0;
X}
X
Xstatic void trans1Z21(U,y)
Xdouble *U,*y;
X{
X    y[1]=(-(U[7]*SQRT3)+U[5]*SQRT3+U[3]*SQRT3*SQRT2+U[1]*SQRT3*SQRT2)/
X6.0;
X    y[2]=(-(U[8]*SQRT3)+U[6]*SQRT3+U[4]*SQRT3*SQRT2+U[2]*SQRT3*SQRT2)/
X6.0;
X    y[3]=(2.0*U[7]*SQRT3+2.0*U[5]*SQRT3-(U[3]*SQRT3*SQRT2)+U[1]*SQRT3*SQRT2)/
X6.0
X     ;
X    y[4]=(2.0*U[8]*SQRT3+2.0*U[6]*SQRT3-(U[4]*SQRT3*SQRT2)+U[2]*SQRT3*SQRT2)/
X6.0
X     ;
X    y[5]=(-(U[7]*SQRT3)+U[5]*SQRT3+U[3]*SQRT3*SQRT2+U[1]*SQRT3*SQRT2)/
X6.0;
X    y[6]=(-(U[8]*SQRT3)+U[6]*SQRT3+U[4]*SQRT3*SQRT2+U[2]*SQRT3*SQRT2)/
X6.0;
X    y[7]=(-(U[7]*SQRT3)-(U[5]*SQRT3)-(U[3]*SQRT3*SQRT2)+U[1]*SQRT3*SQRT2)/
X6.0;
X    y[8]=(-(U[8]*SQRT3)-(U[6]*SQRT3)-(U[4]*SQRT3*SQRT2)+U[2]*SQRT3*SQRT2)/
X6.0;
X    y[9]=(2.0*U[7]*SQRT3-(2.0*U[5]*SQRT3)+U[3]*SQRT3*SQRT2+U[1]*SQRT3*SQRT2)/
X6.0
X     ;
X    y[10]=(2.0*U[8]*SQRT3-(2.0*U[6]*SQRT3)+U[4]*SQRT3*SQRT2+U[2]*SQRT3*SQRT2)/
X     6.0;
X    y[11]=(-(U[7]*SQRT3)-(U[5]*SQRT3)-(U[3]*SQRT3*SQRT2)+U[1]*SQRT3*SQRT2)/
X6.0;
X    y[12]=(-(U[8]*SQRT3)-(U[6]*SQRT3)-(U[4]*SQRT3*SQRT2)+U[2]*SQRT3*SQRT2)/
X6.0;
X}
X
Xstatic void invtrans2Z21(Y,u)
Xdouble *Y,*u;
X{
X    u[1]=(-Y[11]+Y[7]+Y[5]-Y[1])/2.0;
X    u[2]=(-Y[12]+Y[8]+Y[6]-Y[2])/2.0;
X    u[3]=(Y[11]-Y[7]+Y[5]-Y[1])/2.0;
X    u[4]=(Y[12]-Y[8]+Y[6]-Y[2])/2.0;
X}
X
Xstatic void trans2Z21(U,y)
Xdouble *U,*y;
X{
X    y[1]=(-U[3]-U[1])/2.0;
X    y[2]=(-U[4]-U[2])/2.0;
X    y[3]=0.0;
X    y[4]=0.0;
X    y[5]=(U[3]+U[1])/2.0;
X    y[6]=(U[4]+U[2])/2.0;
X    y[7]=(-U[3]+U[1])/2.0;
X    y[8]=(-U[4]+U[2])/2.0;
X    y[9]=0.0;
X    y[10]=0.0;
X    y[11]=(U[3]-U[1])/2.0;
X    y[12]=(U[4]-U[2])/2.0;
X}
X
Xstatic void transformZ21(U,y)
Xdouble *U,*y;
X{
Xtrans1Z21(U,y);
Xy[13]=U[9];
X}
X
Xstatic void invtransformZ21(Y,u)
Xdouble *Y,*u;
X{
Xinvtrans1Z21(Y,u);
Xu[9]=Y[13];
X}
X 
Xstatic void tangentZ21nachID(Z,y)
Xdouble *Z,*y;
X{
X    y[1]=0.0;
X    y[2]=0.0;
X    y[3]=0.0;
X    y[4]=0.0;
X    y[5]=-Z[1]/2.0;
X    y[6]=-Z[2]/2.0;
X    y[7]=(Z[1]*SQRT3)/2.0;
X    y[8]=(Z[2]*SQRT3)/2.0;
X    y[9]=-(Z[3]*SQRT3)/2.0;
X    y[10]=-(Z[4]*SQRT3)/2.0;
X    y[11]=Z[3]/2.0;
X    y[12]=Z[4]/2.0;
X    y[13]=0.0;
X}
Xstatic void testZ21D32(U,t)
Xdouble *U,*t;
X{
X    t[1]=(U[5]*SQRT3)/2.0;
X    t[2]=(U[6]*SQRT3)/2.0;
X    t[3]=(U[7]*SQRT3)/2.0;
X    t[4]=(U[8]*SQRT3)/2.0;
X}
Xstatic void testZ21K62(U,t)
Xdouble *U,*t;
X{
X    t[1]=U[3];
X    t[2]=U[4];
X    t[3]=U[5];
X    t[4]=U[6];
X}
Xstatic void testZ21D6(U,t)
Xdouble *U,*t;
X{
X    t[1]=U[3];
X    t[2]=U[4];
X    t[3]=(U[5]*SQRT3)/2.0;
X    t[4]=(U[6]*SQRT3)/2.0;
X    t[5]=U[7]/2.0;
X    t[6]=U[8]/2.0;
X    t[7]=(U[7]*SQRT3)/2.0;
X    t[8]=(U[8]*SQRT3)/2.0;
X}
Xstatic void init_Z21()
X{
X    Op *op;
X    Z21->label="Z21";
X    Z21->implemented=TRUE;
X    Z21->transform=transformZ21;
X    Z21->inv_transform=invtransformZ21;
X    append_op(Z21,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(Z21,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(Z21,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(Z21,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(Z21,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(Z21,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    Z21->m[1]=8;
X    Z21->m[2]=4;
X    Z21->g=gZ21;
X    Z21->dg[1]=dgZ211;
X    Z21->dg[2]=dgZ212;
X    Z21->cg[1]=cgZ211;
X    Z21->cg[2]=cgZ212;
X    Z21->iso_transform[1]=trans1Z21;
X    Z21->iso_transform[2]=trans2Z21;
X    Z21->inv_iso_transform[1]=invtrans1Z21;
X    Z21->inv_iso_transform[2]=invtrans2Z21;
X    Z21->subgroup[2][1]=ID;
X    Z21->symmetric[2][1]=TRUE;
X    Z21->tangent[2][1]=tangentZ21nachID;
X    Z21->test[1]=testZ21D32;
X    Z21->test[2]=testZ21K62;
X    Z21->test[3]=testZ21D6;
X    Z21->ntest[1]=4;
X    Z21->ntest[2]=4;
X    Z21->ntest[3]=8;
X    Z21->supergroup[1]=D32;
X    Z21->supergroup[2]=K62;
X    Z21->supergroup[3]=D6;
X    Z21->next=ID;
X    Z21->no=Z21_NO;
X}
Xstatic void invtrans1Z23(Y,u)
Xdouble *Y,*u;
X{
X    u[1]=(Y[11]*SQRT3*SQRT2+Y[9]*SQRT3*SQRT2+Y[7]*SQRT3*SQRT2+Y[5]*SQRT3*SQRT2+Y
X     [3]*SQRT3*SQRT2+Y[1]*SQRT3*SQRT2)/6.0;
X    u[2]=(Y[12]*SQRT3*SQRT2+Y[10]*SQRT3*SQRT2+Y[8]*SQRT3*SQRT2+Y[6]*SQRT3*SQRT2+
X     Y[4]*SQRT3*SQRT2+Y[2]*SQRT3*SQRT2)/6.0;
X    u[3]=(-(Y[11]*SQRT3*SQRT2)+Y[9]*SQRT3*SQRT2-(Y[7]*SQRT3*SQRT2)+Y[5]*SQRT3*
X     SQRT2-(Y[3]*SQRT3*SQRT2)+Y[1]*SQRT3*SQRT2)/6.0;
X    u[4]=(-(Y[12]*SQRT3*SQRT2)+Y[10]*SQRT3*SQRT2-(Y[8]*SQRT3*SQRT2)+Y[6]*SQRT3*
X     SQRT2-(Y[4]*SQRT3*SQRT2)+Y[2]*SQRT3*SQRT2)/6.0;
X    u[5]=(-(2.0*Y[11]*SQRT3)-(Y[9]*SQRT3)+Y[7]*SQRT3+2.0*Y[5]*SQRT3+Y[3]*SQRT3-(
X     Y[1]*SQRT3))/6.0;
X    u[6]=(-(2.0*Y[12]*SQRT3)-(Y[10]*SQRT3)+Y[8]*SQRT3+2.0*Y[6]*SQRT3+Y[
X4]*SQRT3-
X     (Y[2]*SQRT3))/6.0;
X    u[7]=(-(2.0*Y[11]*SQRT3)+Y[9]*SQRT3+Y[7]*SQRT3-(2.0*Y[5]*SQRT3)+Y[3]*SQRT3+Y
X     [1]*SQRT3)/6.0;
X    u[8]=(-(2.0*Y[12]*SQRT3)+Y[10]*SQRT3+Y[8]*SQRT3-(2.0*Y[6]*SQRT3)+Y[
X4]*SQRT3+
X     Y[2]*SQRT3)/6.0;
X}
X
Xstatic void trans1Z23(U,y)
Xdouble *U,*y;
X{
X    y[1]=(U[7]*SQRT3-(U[5]*SQRT3)+U[3]*SQRT3*SQRT2+U[1]*SQRT3*SQRT2)/
X6.0;
X    y[2]=(U[8]*SQRT3-(U[6]*SQRT3)+U[4]*SQRT3*SQRT2+U[2]*SQRT3*SQRT2)/
X6.0;
X    y[3]=(U[7]*SQRT3+U[5]*SQRT3-(U[3]*SQRT3*SQRT2)+U[1]*SQRT3*SQRT2)/
X6.0;
X    y[4]=(U[8]*SQRT3+U[6]*SQRT3-(U[4]*SQRT3*SQRT2)+U[2]*SQRT3*SQRT2)/
X6.0;
X    y[5]=(-(2.0*U[7]*SQRT3)+2.0*U[5]*SQRT3+U[3]*SQRT3*SQRT2+U[1]*SQRT3*SQRT2)/
X     6.0;
X    y[6]=(-(2.0*U[8]*SQRT3)+2.0*U[6]*SQRT3+U[4]*SQRT3*SQRT2+U[2]*SQRT3*SQRT2)/
X     6.0;
X    y[7]=(U[7]*SQRT3+U[5]*SQRT3-(U[3]*SQRT3*SQRT2)+U[1]*SQRT3*SQRT2)/
X6.0;
X    y[8]=(U[8]*SQRT3+U[6]*SQRT3-(U[4]*SQRT3*SQRT2)+U[2]*SQRT3*SQRT2)/
X6.0;
X    y[9]=(U[7]*SQRT3-(U[5]*SQRT3)+U[3]*SQRT3*SQRT2+U[1]*SQRT3*SQRT2)/
X6.0;
X    y[10]=(U[8]*SQRT3-(U[6]*SQRT3)+U[4]*SQRT3*SQRT2+U[2]*SQRT3*SQRT2)/
X6.0;
X    y[11]=(-(2.0*U[7]*SQRT3)-(2.0*U[5]*SQRT3)-(U[3]*SQRT3*SQRT2)+U[1]*SQRT3*
X     SQRT2)/6.0;
X    y[12]=(-(2.0*U[8]*SQRT3)-(2.0*U[6]*SQRT3)-(U[4]*SQRT3*SQRT2)+U[2]*SQRT3*
X     SQRT2)/6.0;
X}
X
Xstatic void transformZ23(U,y)
Xdouble *U,*y;
X{
Xtrans1Z23(U,y);
Xy[13]=U[9];
X}
X
Xstatic void invtransformZ23(Y,u)
Xdouble *Y,*u;
X{
Xinvtrans1Z23(Y,u);
Xu[9]=Y[13];
X}
X 
Xstatic void tangentZ23nachID(Z,y)
Xdouble *Z,*y;
X{
X    y[1]=0.0;
X    y[2]=0.0;
X    y[3]=0.0;
X    y[4]=0.0;
X    y[5]=Z[1];
X    y[6]=Z[2];
X    y[7]=0.0;
X    y[8]=0.0;
X    y[9]=0.0;
X    y[10]=0.0;
X    y[11]=Z[3];
X    y[12]=Z[4];
X    y[13]=0.0;
X}
Xstatic void init_Z23()
X{
X    Op *op;
X    Z23->label="Z23";
X    Z23->implemented=FALSE;
X    Z23->transform=transformZ23;
X    Z23->inv_transform=invtransformZ23;
X    append_op(Z23,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(Z23,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(Z23,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(Z23,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(Z23,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(Z23,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    Z23->m[1]=8;
X    Z23->m[2]=4;
X    Z23->subgroup[2][1]=ID;
X    Z23->symmetric[2][1]=TRUE;
X    Z23->tangent[2][1]=tangentZ23nachID;
X    Z23->supergroup[1]=D32;
X    Z23->supergroup[2]=K61;
X    Z23->supergroup[3]=D6;
X    Z23->next=Z21;
X    Z23->no=Z23_NO;
X}
Xstatic void invtrans1Z25(Y,u)
Xdouble *Y,*u;
X{
X    u[1]=(Y[11]*SQRT3*SQRT2+Y[9]*SQRT3*SQRT2+Y[7]*SQRT3*SQRT2+Y[5]*SQRT3*SQRT2+Y
X     [3]*SQRT3*SQRT2+Y[1]*SQRT3*SQRT2)/6.0;
X    u[2]=(Y[12]*SQRT3*SQRT2+Y[10]*SQRT3*SQRT2+Y[8]*SQRT3*SQRT2+Y[6]*SQRT3*SQRT2+
X     Y[4]*SQRT3*SQRT2+Y[2]*SQRT3*SQRT2)/6.0;
X    u[3]=(-(Y[11]*SQRT3*SQRT2)+Y[9]*SQRT3*SQRT2-(Y[7]*SQRT3*SQRT2)+Y[5]*SQRT3*
X     SQRT2-(Y[3]*SQRT3*SQRT2)+Y[1]*SQRT3*SQRT2)/6.0;
X    u[4]=(-(Y[12]*SQRT3*SQRT2)+Y[10]*SQRT3*SQRT2-(Y[8]*SQRT3*SQRT2)+Y[6]*SQRT3*
X     SQRT2-(Y[4]*SQRT3*SQRT2)+Y[2]*SQRT3*SQRT2)/6.0;
X    u[5]=(-(Y[11]*SQRT3)+Y[9]*SQRT3+2.0*Y[7]*SQRT3+Y[5]*SQRT3-(Y[3]*SQRT3)-(
X2.0*
X     Y[1]*SQRT3))/6.0;
X    u[6]=(-(Y[12]*SQRT3)+Y[10]*SQRT3+2.0*Y[8]*SQRT3+Y[6]*SQRT3-(Y[4]*SQRT3)-(
X2.0
X     *Y[2]*SQRT3))/6.0;
X    u[7]=(-(Y[11]*SQRT3)-(Y[9]*SQRT3)+2.0*Y[7]*SQRT3-(Y[5]*SQRT3)-(Y[3]*SQRT3)+
X     2.0*Y[1]*SQRT3)/6.0;
X    u[8]=(-(Y[12]*SQRT3)-(Y[10]*SQRT3)+2.0*Y[8]*SQRT3-(Y[6]*SQRT3)-(Y[4]*SQRT3)+
X     2.0*Y[2]*SQRT3)/6.0;
X}
X
Xstatic void trans1Z25(U,y)
Xdouble *U,*y;
X{
X    y[1]=(2.0*U[7]*SQRT3-(2.0*U[5]*SQRT3)+U[3]*SQRT3*SQRT2+U[1]*SQRT3*SQRT2)/
X6.0
X     ;
X    y[2]=(2.0*U[8]*SQRT3-(2.0*U[6]*SQRT3)+U[4]*SQRT3*SQRT2+U[2]*SQRT3*SQRT2)/
X6.0
X     ;
X    y[3]=(-(U[7]*SQRT3)-(U[5]*SQRT3)-(U[3]*SQRT3*SQRT2)+U[1]*SQRT3*SQRT2)/
X6.0;
X    y[4]=(-(U[8]*SQRT3)-(U[6]*SQRT3)-(U[4]*SQRT3*SQRT2)+U[2]*SQRT3*SQRT2)/
X6.0;
X    y[5]=(-(U[7]*SQRT3)+U[5]*SQRT3+U[3]*SQRT3*SQRT2+U[1]*SQRT3*SQRT2)/
X6.0;
X    y[6]=(-(U[8]*SQRT3)+U[6]*SQRT3+U[4]*SQRT3*SQRT2+U[2]*SQRT3*SQRT2)/
X6.0;
X    y[7]=(2.0*U[7]*SQRT3+2.0*U[5]*SQRT3-(U[3]*SQRT3*SQRT2)+U[1]*SQRT3*SQRT2)/
X6.0
X     ;
X    y[8]=(2.0*U[8]*SQRT3+2.0*U[6]*SQRT3-(U[4]*SQRT3*SQRT2)+U[2]*SQRT3*SQRT2)/
X6.0
X     ;
X    y[9]=(-(U[7]*SQRT3)+U[5]*SQRT3+U[3]*SQRT3*SQRT2+U[1]*SQRT3*SQRT2)/
X6.0;
X    y[10]=(-(U[8]*SQRT3)+U[6]*SQRT3+U[4]*SQRT3*SQRT2+U[2]*SQRT3*SQRT2)/
X6.0;
X    y[11]=(-(U[7]*SQRT3)-(U[5]*SQRT3)-(U[3]*SQRT3*SQRT2)+U[1]*SQRT3*SQRT2)/
X6.0;
X    y[12]=(-(U[8]*SQRT3)-(U[6]*SQRT3)-(U[4]*SQRT3*SQRT2)+U[2]*SQRT3*SQRT2)/
X6.0;
X}
X
Xstatic void transformZ25(U,y)
Xdouble *U,*y;
X{
Xtrans1Z25(U,y);
Xy[13]=U[9];
X}
X
Xstatic void invtransformZ25(Y,u)
Xdouble *Y,*u;
X{
Xinvtrans1Z25(Y,u);
Xu[9]=Y[13];
X}
X 
Xstatic void tangentZ25nachID(Z,y)
Xdouble *Z,*y;
X{
X    y[1]=0.0;
X    y[2]=0.0;
X    y[3]=0.0;
X    y[4]=0.0;
X    y[5]=Z[1]/2.0;
X    y[6]=Z[2]/2.0;
X    y[7]=(Z[1]*SQRT3)/2.0;
X    y[8]=(Z[2]*SQRT3)/2.0;
X    y[9]=(Z[3]*SQRT3)/2.0;
X    y[10]=(Z[4]*SQRT3)/2.0;
X    y[11]=Z[3]/2.0;
X    y[12]=Z[4]/2.0;
X    y[13]=0.0;
X}
Xstatic void init_Z25()
X{
X    Op *op;
X    Z25->label="Z25";
X    Z25->implemented=FALSE;
X    Z25->transform=transformZ25;
X    Z25->inv_transform=invtransformZ25;
X    append_op(Z25,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(Z25,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(Z25,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(Z25,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(Z25,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(Z25,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    Z25->m[1]=8;
X    Z25->m[2]=4;
X    Z25->subgroup[2][1]=ID;
X    Z25->symmetric[2][1]=TRUE;
X    Z25->tangent[2][1]=tangentZ25nachID;
X    Z25->supergroup[1]=D32;
X    Z25->supergroup[2]=K63;
X    Z25->supergroup[3]=D6;
X    Z25->next=Z23;
X    Z25->no=Z25_NO;
X}
Xstatic void gC2(U,g)
Xdouble *U,*g;
X{
Xg_num(C2,U,g);
X}
X 
Xstatic void dgC21(U,dgu)
Xdouble *U,**dgu;
X{
Xdg_num(C2,U,dgu); 
X}
X 
Xstatic void dgC22(U,dgu)
Xdouble *U,**dgu;
X{
Xdgi_num(C2,2,U,dgu);
X}
X 
Xstatic void cgC21(U,Z,c)
Xdouble *U,*Z,**c;
X{
Xcg_num(C2,U,Z,c);
X}
Xstatic void cgC22(U,Z,c)
Xdouble *U,*Z,**c;
X{
Xcgi_num(C2,2,U,Z,c);
X}
Xstatic void invtrans1C2(Y,u)
Xdouble *Y,*u;
X{
X    u[1]=(Y[11]*SQRT3*SQRT2+Y[9]*SQRT3*SQRT2+Y[7]*SQRT3*SQRT2+Y[5]*SQRT3*SQRT2+Y
X     [3]*SQRT3*SQRT2+Y[1]*SQRT3*SQRT2)/6.0;
X    u[2]=(Y[12]*SQRT3*SQRT2+Y[10]*SQRT3*SQRT2+Y[8]*SQRT3*SQRT2+Y[6]*SQRT3*SQRT2+
X     Y[4]*SQRT3*SQRT2+Y[2]*SQRT3*SQRT2)/6.0;
X    u[3]=(-(2.0*Y[11]*SQRT3)+Y[9]*SQRT3+Y[7]*SQRT3-(2.0*Y[5]*SQRT3)+Y[3]*SQRT3+Y
X     [1]*SQRT3)/6.0;
X    u[4]=(-(2.0*Y[12]*SQRT3)+Y[10]*SQRT3+Y[8]*SQRT3-(2.0*Y[6]*SQRT3)+Y[
X4]*SQRT3+
X     Y[2]*SQRT3)/6.0;
X    u[5]=(Y[9]-Y[7]+Y[3]-Y[1])/2.0;
X    u[6]=(Y[10]-Y[8]+Y[4]-Y[2])/2.0;
X}
X
Xstatic void trans1C2(U,y)
Xdouble *U,*y;
X{
X    y[1]=(-(3.0*U[5])+U[3]*SQRT3+U[1]*SQRT3*SQRT2)/6.0;
X    y[2]=(-(3.0*U[6])+U[4]*SQRT3+U[2]*SQRT3*SQRT2)/6.0;
X    y[3]=(3.0*U[5]+U[3]*SQRT3+U[1]*SQRT3*SQRT2)/6.0;
X    y[4]=(3.0*U[6]+U[4]*SQRT3+U[2]*SQRT3*SQRT2)/6.0;
X    y[5]=(-(2.0*U[3]*SQRT3)+U[1]*SQRT3*SQRT2)/6.0;
X    y[6]=(-(2.0*U[4]*SQRT3)+U[2]*SQRT3*SQRT2)/6.0;
X    y[7]=(-(3.0*U[5])+U[3]*SQRT3+U[1]*SQRT3*SQRT2)/6.0;
X    y[8]=(-(3.0*U[6])+U[4]*SQRT3+U[2]*SQRT3*SQRT2)/6.0;
X    y[9]=(3.0*U[5]+U[3]*SQRT3+U[1]*SQRT3*SQRT2)/6.0;
X    y[10]=(3.0*U[6]+U[4]*SQRT3+U[2]*SQRT3*SQRT2)/6.0;
X    y[11]=(-(2.0*U[3]*SQRT3)+U[1]*SQRT3*SQRT2)/6.0;
X    y[12]=(-(2.0*U[4]*SQRT3)+U[2]*SQRT3*SQRT2)/6.0;
X}
X
Xstatic void invtrans2C2(Y,u)
Xdouble *Y,*u;
X{
X    u[1]=(-(Y[11]*SQRT3*SQRT2)+Y[9]*SQRT3*SQRT2-(Y[7]*SQRT3*SQRT2)+Y[5]*SQRT3*
X     SQRT2-(Y[3]*SQRT3*SQRT2)+Y[1]*SQRT3*SQRT2)/6.0;
X    u[2]=(-(Y[12]*SQRT3*SQRT2)+Y[10]*SQRT3*SQRT2-(Y[8]*SQRT3*SQRT2)+Y[6]*SQRT3*
X     SQRT2-(Y[4]*SQRT3*SQRT2)+Y[2]*SQRT3*SQRT2)/6.0;
X    u[3]=(-Y[9]-Y[7]+Y[3]+Y[1])/2.0;
X    u[4]=(-Y[10]-Y[8]+Y[4]+Y[2])/2.0;
X    u[5]=(-(2.0*Y[11]*SQRT3)-(Y[9]*SQRT3)+Y[7]*SQRT3+2.0*Y[5]*SQRT3+Y[3]*SQRT3-(
X     Y[1]*SQRT3))/6.0;
X    u[6]=(-(2.0*Y[12]*SQRT3)-(Y[10]*SQRT3)+Y[8]*SQRT3+2.0*Y[6]*SQRT3+Y[
X4]*SQRT3-
X     (Y[2]*SQRT3))/6.0;
X}
X
Xstatic void trans2C2(U,y)
Xdouble *U,*y;
X{
X    y[1]=(-(U[5]*SQRT3)+3.0*U[3]+U[1]*SQRT3*SQRT2)/6.0;
X    y[2]=(-(U[6]*SQRT3)+3.0*U[4]+U[2]*SQRT3*SQRT2)/6.0;
X    y[3]=(U[5]*SQRT3+3.0*U[3]-(U[1]*SQRT3*SQRT2))/6.0;
X    y[4]=(U[6]*SQRT3+3.0*U[4]-(U[2]*SQRT3*SQRT2))/6.0;
X    y[5]=(2.0*U[5]*SQRT3+U[1]*SQRT3*SQRT2)/6.0;
X    y[6]=(2.0*U[6]*SQRT3+U[2]*SQRT3*SQRT2)/6.0;
X    y[7]=(U[5]*SQRT3-(3.0*U[3])-(U[1]*SQRT3*SQRT2))/6.0;
X    y[8]=(U[6]*SQRT3-(3.0*U[4])-(U[2]*SQRT3*SQRT2))/6.0;
X    y[9]=(-(U[5]*SQRT3)-(3.0*U[3])+U[1]*SQRT3*SQRT2)/6.0;
X    y[10]=(-(U[6]*SQRT3)-(3.0*U[4])+U[2]*SQRT3*SQRT2)/6.0;
X    y[11]=(-(2.0*U[5]*SQRT3)-(U[1]*SQRT3*SQRT2))/6.0;
X    y[12]=(-(2.0*U[6]*SQRT3)-(U[2]*SQRT3*SQRT2))/6.0;
X}
X
Xstatic void transformC2(U,y)
Xdouble *U,*y;
X{
Xtrans1C2(U,y);
Xy[13]=U[7];
X}
X
Xstatic void invtransformC2(Y,u)
Xdouble *Y,*u;
X{
Xinvtrans1C2(Y,u);
Xu[7]=Y[13];
X}
X 
Xstatic void tangentC2nachID(Z,y)
Xdouble *Z,*y;
X{
X    y[1]=0.0;
X    y[2]=0.0;
X    y[3]=Z[1];
X    y[4]=Z[2];
X    y[5]=Z[3];
X    y[6]=Z[4];
X    y[7]=Z[5];
X    y[8]=Z[6];
X    y[9]=0.0;
X    y[10]=0.0;
X    y[11]=0.0;
X    y[12]=0.0;
X    y[13]=0.0;
X}
Xstatic void testC2K61(U,t)
Xdouble *U,*t;
X{
X    t[1]=U[5];
X    t[2]=U[6];
X}
Xstatic void testC2K62(U,t)
Xdouble *U,*t;
X{
X    t[1]=(U[5]-(U[3]*SQRT3))/2.0;
X    t[2]=(U[6]-(U[4]*SQRT3))/2.0;
X}
Xstatic void testC2K63(U,t)
Xdouble *U,*t;
X{
X    t[1]=(U[5]+U[3]*SQRT3)/2.0;
X    t[2]=(U[6]+U[4]*SQRT3)/2.0;
X}
Xstatic void init_C2()
X{
X    Op *op;
X    C2->label="C2";
X    C2->implemented=TRUE;
X    C2->transform=transformC2;
X    C2->inv_transform=invtransformC2;
X    append_op(C2,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(C2,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(C2,D6_proc_7,D6_proc_7,change_group_7,isotypic_triv);
X    append_op(C2,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(C2,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(C2,D6_proc_7,D6_proc_7,change_group_7,isotypic_triv);
X    C2->m[1]=6;
X    C2->m[2]=6;
X    C2->g=gC2;
X    C2->dg[1]=dgC21;
X    C2->dg[2]=dgC22;
X    C2->cg[1]=cgC21;
X    C2->cg[2]=cgC22;
X    C2->iso_transform[1]=trans1C2;
X    C2->iso_transform[2]=trans2C2;
X    C2->inv_iso_transform[1]=invtrans1C2;
X    C2->inv_iso_transform[2]=invtrans2C2;
X    C2->subgroup[2][1]=ID;
X    C2->symmetric[2][1]=TRUE;
X    C2->tangent[2][1]=tangentC2nachID;
X    C2->test[1]=testC2K61;
X    C2->test[2]=testC2K62;
X    C2->test[3]=testC2K63;
X    C2->ntest[1]=2;
X    C2->ntest[2]=2;
X    C2->ntest[3]=2;
X    C2->supergroup[1]=K61;
X    C2->supergroup[2]=K62;
X    C2->supergroup[3]=K63;
X    C2->next=Z25;
X    C2->no=C2_NO;
X}
Xstatic void invtrans1Z20(Y,u)
Xdouble *Y,*u;
X{
X    u[1]=(Y[11]*SQRT3*SQRT2+Y[9]*SQRT3*SQRT2+Y[7]*SQRT3*SQRT2+Y[5]*SQRT3*SQRT2+Y
X     [3]*SQRT3*SQRT2+Y[1]*SQRT3*SQRT2)/6.0;
X    u[2]=(Y[12]*SQRT3*SQRT2+Y[10]*SQRT3*SQRT2+Y[8]*SQRT3*SQRT2+Y[6]*SQRT3*SQRT2+
X     Y[4]*SQRT3*SQRT2+Y[2]*SQRT3*SQRT2)/6.0;
X    u[3]=(-Y[9]-Y[7]+Y[3]+Y[1])/2.0;
X    u[4]=(-Y[10]-Y[8]+Y[4]+Y[2])/2.0;
X    u[5]=(-(2.0*Y[11]*SQRT3)+Y[9]*SQRT3+Y[7]*SQRT3-(2.0*Y[5]*SQRT3)+Y[3]*SQRT3+Y
X     [1]*SQRT3)/6.0;
X    u[6]=(-(2.0*Y[12]*SQRT3)+Y[10]*SQRT3+Y[8]*SQRT3-(2.0*Y[6]*SQRT3)+Y[
X4]*SQRT3+
X     Y[2]*SQRT3)/6.0;
X}
X
Xstatic void trans1Z20(U,y)
Xdouble *U,*y;
X{
X    y[1]=(U[5]*SQRT3+3.0*U[3]+U[1]*SQRT3*SQRT2)/6.0;
X    y[2]=(U[6]*SQRT3+3.0*U[4]+U[2]*SQRT3*SQRT2)/6.0;
X    y[3]=(U[5]*SQRT3+3.0*U[3]+U[1]*SQRT3*SQRT2)/6.0;
X    y[4]=(U[6]*SQRT3+3.0*U[4]+U[2]*SQRT3*SQRT2)/6.0;
X    y[5]=(-(2.0*U[5]*SQRT3)+U[1]*SQRT3*SQRT2)/6.0;
X    y[6]=(-(2.0*U[6]*SQRT3)+U[2]*SQRT3*SQRT2)/6.0;
X    y[7]=(U[5]*SQRT3-(3.0*U[3])+U[1]*SQRT3*SQRT2)/6.0;
X    y[8]=(U[6]*SQRT3-(3.0*U[4])+U[2]*SQRT3*SQRT2)/6.0;
X    y[9]=(U[5]*SQRT3-(3.0*U[3])+U[1]*SQRT3*SQRT2)/6.0;
X    y[10]=(U[6]*SQRT3-(3.0*U[4])+U[2]*SQRT3*SQRT2)/6.0;
X    y[11]=(-(2.0*U[5]*SQRT3)+U[1]*SQRT3*SQRT2)/6.0;
X    y[12]=(-(2.0*U[6]*SQRT3)+U[2]*SQRT3*SQRT2)/6.0;
X}
X
Xstatic void transformZ20(U,y)
Xdouble *U,*y;
X{
Xtrans1Z20(U,y);
Xy[13]=U[7];
X}
X
Xstatic void invtransformZ20(Y,u)
Xdouble *Y,*u;
X{
Xinvtrans1Z20(Y,u);
Xu[7]=Y[13];
X}
X 
Xstatic void tangentZ20nachID(Z,y)
Xdouble *Z,*y;
X{
X    y[1]=0.0;
X    y[2]=0.0;
X    y[3]=Z[1];
X    y[4]=Z[2];
X    y[5]=0.0;
X    y[6]=0.0;
X    y[7]=Z[3];
X    y[8]=Z[4];
X    y[9]=0.0;
X    y[10]=0.0;
X    y[11]=Z[5];
X    y[12]=Z[6];
X    y[13]=0.0;
X}
Xstatic void init_Z20()
X{
X    Op *op;
X    Z20->label="Z20";
X    Z20->implemented=FALSE;
X    Z20->transform=transformZ20;
X    Z20->inv_transform=invtransformZ20;
X    append_op(Z20,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(Z20,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(Z20,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(Z20,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(Z20,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(Z20,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    Z20->m[1]=6;
X    Z20->m[2]=6;
X    Z20->subgroup[2][1]=ID;
X    Z20->symmetric[2][1]=TRUE;
X    Z20->tangent[2][1]=tangentZ20nachID;
X    Z20->supergroup[1]=K61;
X    Z20->supergroup[2]=D6;
X    Z20->next=C2;
X    Z20->no=Z20_NO;
X}
Xstatic void gZ24(U,g)
Xdouble *U,*g;
X{
Xg_num(Z24,U,g);
X}
X 
Xstatic void dgZ241(U,dgu)
Xdouble *U,**dgu;
X{
Xdg_num(Z24,U,dgu); 
X}
X 
Xstatic void dgZ242(U,dgu)
Xdouble *U,**dgu;
X{
Xdgi_num(Z24,2,U,dgu);
X}
X 
Xstatic void cgZ241(U,Z,c)
Xdouble *U,*Z,**c;
X{
Xcg_num(Z24,U,Z,c);
X}
Xstatic void cgZ242(U,Z,c)
Xdouble *U,*Z,**c;
X{
Xcgi_num(Z24,2,U,Z,c);
X}
Xstatic void invtrans1Z24(Y,u)
Xdouble *Y,*u;
X{
X    u[1]=(Y[11]*SQRT3*SQRT2+Y[9]*SQRT3*SQRT2+Y[7]*SQRT3*SQRT2+Y[5]*SQRT3*SQRT2+Y
X     [3]*SQRT3*SQRT2+Y[1]*SQRT3*SQRT2)/6.0;
X    u[2]=(Y[12]*SQRT3*SQRT2+Y[10]*SQRT3*SQRT2+Y[8]*SQRT3*SQRT2+Y[6]*SQRT3*SQRT2+
X     Y[4]*SQRT3*SQRT2+Y[2]*SQRT3*SQRT2)/6.0;
X    u[3]=(-Y[11]+Y[7]+Y[5]-Y[1])/2.0;
X    u[4]=(-Y[12]+Y[8]+Y[6]-Y[2])/2.0;
X    u[5]=(-(Y[11]*SQRT3)+2.0*Y[9]*SQRT3-(Y[7]*SQRT3)-(Y[5]*SQRT3)+2.0*Y[
X3]*SQRT3
X     -(Y[1]*SQRT3))/6.0;
X    u[6]=(-(Y[12]*SQRT3)+2.0*Y[10]*SQRT3-(Y[8]*SQRT3)-(Y[6]*SQRT3)+
X2.0*Y[4]*
X     SQRT3-(Y[2]*SQRT3))/6.0;
X}
X
Xstatic void trans1Z24(U,y)
Xdouble *U,*y;
X{
X    y[1]=(-(U[5]*SQRT3)-(3.0*U[3])+U[1]*SQRT3*SQRT2)/6.0;
X    y[2]=(-(U[6]*SQRT3)-(3.0*U[4])+U[2]*SQRT3*SQRT2)/6.0;
X    y[3]=(2.0*U[5]*SQRT3+U[1]*SQRT3*SQRT2)/6.0;
X    y[4]=(2.0*U[6]*SQRT3+U[2]*SQRT3*SQRT2)/6.0;
X    y[5]=(-(U[5]*SQRT3)+3.0*U[3]+U[1]*SQRT3*SQRT2)/6.0;
X    y[6]=(-(U[6]*SQRT3)+3.0*U[4]+U[2]*SQRT3*SQRT2)/6.0;
X    y[7]=(-(U[5]*SQRT3)+3.0*U[3]+U[1]*SQRT3*SQRT2)/6.0;
X    y[8]=(-(U[6]*SQRT3)+3.0*U[4]+U[2]*SQRT3*SQRT2)/6.0;
X    y[9]=(2.0*U[5]*SQRT3+U[1]*SQRT3*SQRT2)/6.0;
X    y[10]=(2.0*U[6]*SQRT3+U[2]*SQRT3*SQRT2)/6.0;
X    y[11]=(-(U[5]*SQRT3)-(3.0*U[3])+U[1]*SQRT3*SQRT2)/6.0;
X    y[12]=(-(U[6]*SQRT3)-(3.0*U[4])+U[2]*SQRT3*SQRT2)/6.0;
X}
X
Xstatic void invtrans2Z24(Y,u)
Xdouble *Y,*u;
X{
X    u[1]=(-(Y[11]*SQRT3*SQRT2)+Y[9]*SQRT3*SQRT2-(Y[7]*SQRT3*SQRT2)+Y[5]*SQRT3*
X     SQRT2-(Y[3]*SQRT3*SQRT2)+Y[1]*SQRT3*SQRT2)/6.0;
X    u[2]=(-(Y[12]*SQRT3*SQRT2)+Y[10]*SQRT3*SQRT2-(Y[8]*SQRT3*SQRT2)+Y[6]*SQRT3*
X     SQRT2-(Y[4]*SQRT3*SQRT2)+Y[2]*SQRT3*SQRT2)/6.0;
X    u[3]=(-(Y[11]*SQRT3)-(2.0*Y[9]*SQRT3)-(Y[7]*SQRT3)+Y[5]*SQRT3+2.0*Y[
X3]*SQRT3
X     +Y[1]*SQRT3)/6.0;
X    u[4]=(-(Y[12]*SQRT3)-(2.0*Y[10]*SQRT3)-(Y[8]*SQRT3)+Y[6]*SQRT3+
X2.0*Y[4]*
X     SQRT3+Y[2]*SQRT3)/6.0;
X    u[5]=(Y[11]-Y[7]+Y[5]-Y[1])/2.0;
X    u[6]=(Y[12]-Y[8]+Y[6]-Y[2])/2.0;
X}
X
Xstatic void trans2Z24(U,y)
Xdouble *U,*y;
X{
X    y[1]=(-(3.0*U[5])+U[3]*SQRT3+U[1]*SQRT3*SQRT2)/6.0;
X    y[2]=(-(3.0*U[6])+U[4]*SQRT3+U[2]*SQRT3*SQRT2)/6.0;
X    y[3]=(2.0*U[3]*SQRT3-(U[1]*SQRT3*SQRT2))/6.0;
X    y[4]=(2.0*U[4]*SQRT3-(U[2]*SQRT3*SQRT2))/6.0;
X    y[5]=(3.0*U[5]+U[3]*SQRT3+U[1]*SQRT3*SQRT2)/6.0;
X    y[6]=(3.0*U[6]+U[4]*SQRT3+U[2]*SQRT3*SQRT2)/6.0;
X    y[7]=(-(3.0*U[5])-(U[3]*SQRT3)-(U[1]*SQRT3*SQRT2))/6.0;
X    y[8]=(-(3.0*U[6])-(U[4]*SQRT3)-(U[2]*SQRT3*SQRT2))/6.0;
X    y[9]=(-(2.0*U[3]*SQRT3)+U[1]*SQRT3*SQRT2)/6.0;
X    y[10]=(-(2.0*U[4]*SQRT3)+U[2]*SQRT3*SQRT2)/6.0;
X    y[11]=(3.0*U[5]-(U[3]*SQRT3)-(U[1]*SQRT3*SQRT2))/6.0;
X    y[12]=(3.0*U[6]-(U[4]*SQRT3)-(U[2]*SQRT3*SQRT2))/6.0;
X}
X
Xstatic void transformZ24(U,y)
Xdouble *U,*y;
X{
Xtrans1Z24(U,y);
Xy[13]=U[7];
X}
X
Xstatic void invtransformZ24(Y,u)
Xdouble *Y,*u;
X{
Xinvtrans1Z24(Y,u);
Xu[7]=Y[13];
X}
X 
Xstatic void tangentZ24nachID(Z,y)
Xdouble *Z,*y;
X{
X    y[1]=0.0;
X    y[2]=0.0;
X    y[3]=Z[1];
X    y[4]=Z[2];
X    y[5]=(Z[3]*SQRT3)/2.0;
X    y[6]=(Z[4]*SQRT3)/2.0;
X    y[7]=Z[3]/2.0;
X    y[8]=Z[4]/2.0;
X    y[9]=-(Z[5]*SQRT3)/2.0;
X    y[10]=-(Z[6]*SQRT3)/2.0;
X    y[11]=Z[5]/2.0;
X    y[12]=Z[6]/2.0;
X    y[13]=0.0;
X}
Xstatic void testZ24K62(U,t)
Xdouble *U,*t;
X{
X    t[1]=-U[3];
X    t[2]=-U[4];
X}
Xstatic void testZ24D6(U,t)
Xdouble *U,*t;
X{
X    t[1]=-U[3]/2.0;
X    t[2]=-U[4]/2.0;
X    t[3]=(U[3]*SQRT3)/2.0;
X    t[4]=(U[4]*SQRT3)/2.0;
X    t[5]=U[5]/2.0;
X    t[6]=U[6]/2.0;
X    t[7]=(U[5]*SQRT3)/2.0;
X    t[8]=(U[6]*SQRT3)/2.0;
X}
Xstatic void init_Z24()
X{
X    Op *op;
X    Z24->label="Z24";
X    Z24->implemented=TRUE;
X    Z24->transform=transformZ24;
X    Z24->inv_transform=invtransformZ24;
X    append_op(Z24,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(Z24,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(Z24,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(Z24,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(Z24,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(Z24,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    Z24->m[1]=6;
X    Z24->m[2]=6;
X    Z24->g=gZ24;
X    Z24->dg[1]=dgZ241;
X    Z24->dg[2]=dgZ242;
X    Z24->cg[1]=cgZ241;
X    Z24->cg[2]=cgZ242;
X    Z24->iso_transform[1]=trans1Z24;
X    Z24->iso_transform[2]=trans2Z24;
X    Z24->inv_iso_transform[1]=invtrans1Z24;
X    Z24->inv_iso_transform[2]=invtrans2Z24;
X    Z24->subgroup[2][1]=ID;
X    Z24->symmetric[2][1]=TRUE;
X    Z24->tangent[2][1]=tangentZ24nachID;
X    Z24->test[1]=testZ24K62;
X    Z24->test[2]=testZ24D6;
X    Z24->ntest[1]=2;
X    Z24->ntest[2]=8;
X    Z24->supergroup[1]=K62;
X    Z24->supergroup[2]=D6;
X    Z24->next=Z20;
X    Z24->no=Z24_NO;
X}
Xstatic void invtrans1Z22(Y,u)
Xdouble *Y,*u;
X{
X    u[1]=(Y[11]*SQRT3*SQRT2+Y[9]*SQRT3*SQRT2+Y[7]*SQRT3*SQRT2+Y[5]*SQRT3*SQRT2+Y
X     [3]*SQRT3*SQRT2+Y[1]*SQRT3*SQRT2)/6.0;
X    u[2]=(Y[12]*SQRT3*SQRT2+Y[10]*SQRT3*SQRT2+Y[8]*SQRT3*SQRT2+Y[6]*SQRT3*SQRT2+
X     Y[4]*SQRT3*SQRT2+Y[2]*SQRT3*SQRT2)/6.0;
X    u[3]=(-Y[11]-Y[9]+Y[5]+Y[3])/2.0;
X    u[4]=(-Y[12]-Y[10]+Y[6]+Y[4])/2.0;
X    u[5]=(-(Y[11]*SQRT3)-(Y[9]*SQRT3)+2.0*Y[7]*SQRT3-(Y[5]*SQRT3)-(Y[3]*SQRT3)+
X     2.0*Y[1]*SQRT3)/6.0;
X    u[6]=(-(Y[12]*SQRT3)-(Y[10]*SQRT3)+2.0*Y[8]*SQRT3-(Y[6]*SQRT3)-(Y[4]*SQRT3)+
X     2.0*Y[2]*SQRT3)/6.0;
X}
X
Xstatic void trans1Z22(U,y)
Xdouble *U,*y;
X{
X    y[1]=(2.0*U[5]*SQRT3+U[1]*SQRT3*SQRT2)/6.0;
X    y[2]=(2.0*U[6]*SQRT3+U[2]*SQRT3*SQRT2)/6.0;
X    y[3]=(-(U[5]*SQRT3)+3.0*U[3]+U[1]*SQRT3*SQRT2)/6.0;
X    y[4]=(-(U[6]*SQRT3)+3.0*U[4]+U[2]*SQRT3*SQRT2)/6.0;
X    y[5]=(-(U[5]*SQRT3)+3.0*U[3]+U[1]*SQRT3*SQRT2)/6.0;
X    y[6]=(-(U[6]*SQRT3)+3.0*U[4]+U[2]*SQRT3*SQRT2)/6.0;
X    y[7]=(2.0*U[5]*SQRT3+U[1]*SQRT3*SQRT2)/6.0;
X    y[8]=(2.0*U[6]*SQRT3+U[2]*SQRT3*SQRT2)/6.0;
X    y[9]=(-(U[5]*SQRT3)-(3.0*U[3])+U[1]*SQRT3*SQRT2)/6.0;
X    y[10]=(-(U[6]*SQRT3)-(3.0*U[4])+U[2]*SQRT3*SQRT2)/6.0;
X    y[11]=(-(U[5]*SQRT3)-(3.0*U[3])+U[1]*SQRT3*SQRT2)/6.0;
X    y[12]=(-(U[6]*SQRT3)-(3.0*U[4])+U[2]*SQRT3*SQRT2)/6.0;
X}
X
Xstatic void transformZ22(U,y)
Xdouble *U,*y;
X{
Xtrans1Z22(U,y);
Xy[13]=U[7];
X}
X
Xstatic void invtransformZ22(Y,u)
Xdouble *Y,*u;
X{
Xinvtrans1Z22(Y,u);
Xu[7]=Y[13];
X}
X 
Xstatic void tangentZ22nachID(Z,y)
Xdouble *Z,*y;
X{
X    y[1]=0.0;
X    y[2]=0.0;
X    y[3]=Z[1];
X    y[4]=Z[2];
X    y[5]=-(Z[3]*SQRT3)/2.0;
X    y[6]=-(Z[4]*SQRT3)/2.0;
X    y[7]=Z[3]/2.0;
X    y[8]=Z[4]/2.0;
X    y[9]=(Z[5]*SQRT3)/2.0;
X    y[10]=(Z[6]*SQRT3)/2.0;
X    y[11]=Z[5]/2.0;
X    y[12]=Z[6]/2.0;
X    y[13]=0.0;
X}
Xstatic void init_Z22()
X{
X    Op *op;
X    Z22->label="Z22";
X    Z22->implemented=FALSE;
X    Z22->transform=transformZ22;
X    Z22->inv_transform=invtransformZ22;
X    append_op(Z22,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(Z22,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(Z22,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(Z22,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(Z22,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(Z22,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    Z22->m[1]=6;
X    Z22->m[2]=6;
X    Z22->subgroup[2][1]=ID;
X    Z22->symmetric[2][1]=TRUE;
X    Z22->tangent[2][1]=tangentZ22nachID;
X    Z22->supergroup[1]=K63;
X    Z22->supergroup[2]=D6;
X    Z22->next=Z24;
X    Z22->no=Z22_NO;
X}
Xstatic void gD32(U,g)
Xdouble *U,*g;
X{
Xg_num(D32,U,g);
X}
X 
Xstatic void dgD321(U,dgu)
Xdouble *U,**dgu;
X{
Xdg_num(D32,U,dgu); 
X}
X 
Xstatic void dgD323(U,dgu)
Xdouble *U,**dgu;
X{
Xdgi_num(D32,2,U,dgu);
X}
X 
Xstatic void cgD321(U,Z,c)
Xdouble *U,*Z,**c;
X{
Xcg_num(D32,U,Z,c);
X}
Xstatic void cgD323(U,Z,c)
Xdouble *U,*Z,**c;
X{
Xcgi_num(D32,2,U,Z,c);
X}
Xstatic void invtrans1D32(Y,u)
Xdouble *Y,*u;
X{
X    u[1]=(Y[11]*SQRT3*SQRT2+Y[9]*SQRT3*SQRT2+Y[7]*SQRT3*SQRT2+Y[5]*SQRT3*SQRT2+Y
X     [3]*SQRT3*SQRT2+Y[1]*SQRT3*SQRT2)/6.0;
X    u[2]=(Y[12]*SQRT3*SQRT2+Y[10]*SQRT3*SQRT2+Y[8]*SQRT3*SQRT2+Y[6]*SQRT3*SQRT2+
X     Y[4]*SQRT3*SQRT2+Y[2]*SQRT3*SQRT2)/6.0;
X    u[3]=(-(Y[11]*SQRT3*SQRT2)+Y[9]*SQRT3*SQRT2-(Y[7]*SQRT3*SQRT2)+Y[5]*SQRT3*
X     SQRT2-(Y[3]*SQRT3*SQRT2)+Y[1]*SQRT3*SQRT2)/6.0;
X    u[4]=(-(Y[12]*SQRT3*SQRT2)+Y[10]*SQRT3*SQRT2-(Y[8]*SQRT3*SQRT2)+Y[6]*SQRT3*
X     SQRT2-(Y[4]*SQRT3*SQRT2)+Y[2]*SQRT3*SQRT2)/6.0;
X}
X
Xstatic void trans1D32(U,y)
Xdouble *U,*y;
X{
X    y[1]=(U[3]*SQRT3*SQRT2+U[1]*SQRT3*SQRT2)/6.0;
X    y[2]=(U[4]*SQRT3*SQRT2+U[2]*SQRT3*SQRT2)/6.0;
X    y[3]=(-(U[3]*SQRT3*SQRT2)+U[1]*SQRT3*SQRT2)/6.0;
X    y[4]=(-(U[4]*SQRT3*SQRT2)+U[2]*SQRT3*SQRT2)/6.0;
X    y[5]=(U[3]*SQRT3*SQRT2+U[1]*SQRT3*SQRT2)/6.0;
X    y[6]=(U[4]*SQRT3*SQRT2+U[2]*SQRT3*SQRT2)/6.0;
X    y[7]=(-(U[3]*SQRT3*SQRT2)+U[1]*SQRT3*SQRT2)/6.0;
X    y[8]=(-(U[4]*SQRT3*SQRT2)+U[2]*SQRT3*SQRT2)/6.0;
X    y[9]=(U[3]*SQRT3*SQRT2+U[1]*SQRT3*SQRT2)/6.0;
X    y[10]=(U[4]*SQRT3*SQRT2+U[2]*SQRT3*SQRT2)/6.0;
X    y[11]=(-(U[3]*SQRT3*SQRT2)+U[1]*SQRT3*SQRT2)/6.0;
X    y[12]=(-(U[4]*SQRT3*SQRT2)+U[2]*SQRT3*SQRT2)/6.0;
X}
X
Xstatic void invtrans3D32(Y,u)
Xdouble *Y,*u;
X{
X    u[1]=(-Y[9]-Y[7]+Y[3]+Y[1])/2.0;
X    u[2]=(-Y[10]-Y[8]+Y[4]+Y[2])/2.0;
X    u[3]=(Y[9]-Y[7]+Y[3]-Y[1])/2.0;
X    u[4]=(Y[10]-Y[8]+Y[4]-Y[2])/2.0;
X}
X
Xstatic void trans3D32(U,y)
Xdouble *U,*y;
X{
X    y[1]=(-U[3]+U[1])/2.0;
X    y[2]=(-U[4]+U[2])/2.0;
X    y[3]=(U[3]+U[1])/2.0;
X    y[4]=(U[4]+U[2])/2.0;
X    y[5]=0.0;
X    y[6]=0.0;
X    y[7]=(-U[3]-U[1])/2.0;
X    y[8]=(-U[4]-U[2])/2.0;
X    y[9]=(U[3]-U[1])/2.0;
X    y[10]=(U[4]-U[2])/2.0;
X    y[11]=0.0;
X    y[12]=0.0;
X}
X
Xstatic void transformD32(U,y)
Xdouble *U,*y;
X{
Xtrans1D32(U,y);
Xy[13]=U[5];
X}
X
Xstatic void invtransformD32(Y,u)
Xdouble *Y,*u;
X{
Xinvtrans1D32(Y,u);
Xu[5]=Y[13];
X}
X 
Xstatic void tangentD32nachZ21(Z,y)
Xdouble *Z,*y;
X{
X    y[1]=0.0;
X    y[2]=0.0;
X    y[3]=0.0;
X    y[4]=0.0;
X    y[5]=(Z[1]*SQRT3+2.0*Z[1])/2.0;
X    y[6]=(Z[2]*SQRT3+2.0*Z[2])/2.0;
X    y[7]=(Z[3]*SQRT3+2.0*Z[3])/2.0;
X    y[8]=(Z[4]*SQRT3+2.0*Z[4])/2.0;
X    y[9]=0.0;
X}
Xstatic void testD32D6(U,t)
Xdouble *U,*t;
X{
X    t[1]=U[3];
X    t[2]=U[4];
X}
Xstatic void init_D32()
X{
X    Op *op;
X    D32->label="D32";
X    D32->implemented=TRUE;
X    D32->transform=transformD32;
X    D32->inv_transform=invtransformD32;
X    append_op(D32,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(D32,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    D32->m[1]=4;
X    D32->m[2]=4;
X    D32->g=gD32;
X    D32->dg[1]=dgD321;
X    D32->dg[2]=dgD323;
X    D32->cg[1]=cgD321;
X    D32->cg[2]=cgD323;
X    D32->iso_transform[1]=trans1D32;
X    D32->iso_transform[2]=trans3D32;
X    D32->inv_iso_transform[1]=invtrans1D32;
X    D32->inv_iso_transform[2]=invtrans3D32;
X    D32->subgroup[2][1]=Z21;
X    D32->symmetric[2][1]=FALSE;
X    D32->tangent[2][1]=tangentD32nachZ21;
X    D32->test[1]=testD32D6;
X    D32->ntest[1]=2;
X    D32->supergroup[1]=D6;
X    D32->next=Z22;
X    D32->no=D32_NO;
X}
Xstatic void invtrans1K61(Y,u)
Xdouble *Y,*u;
X{
X    u[1]=(Y[11]*SQRT3*SQRT2+Y[9]*SQRT3*SQRT2+Y[7]*SQRT3*SQRT2+Y[5]*SQRT3*SQRT2+Y
X     [3]*SQRT3*SQRT2+Y[1]*SQRT3*SQRT2)/6.0;
X    u[2]=(Y[12]*SQRT3*SQRT2+Y[10]*SQRT3*SQRT2+Y[8]*SQRT3*SQRT2+Y[6]*SQRT3*SQRT2+
X     Y[4]*SQRT3*SQRT2+Y[2]*SQRT3*SQRT2)/6.0;
X    u[3]=(-(2.0*Y[11]*SQRT3)+Y[9]*SQRT3+Y[7]*SQRT3-(2.0*Y[5]*SQRT3)+Y[3]*SQRT3+Y
X     [1]*SQRT3)/6.0;
X    u[4]=(-(2.0*Y[12]*SQRT3)+Y[10]*SQRT3+Y[8]*SQRT3-(2.0*Y[6]*SQRT3)+Y[
X4]*SQRT3+
X     Y[2]*SQRT3)/6.0;
X}
X
Xstatic void trans1K61(U,y)
Xdouble *U,*y;
X{
X    y[1]=(U[3]*SQRT3+U[1]*SQRT3*SQRT2)/6.0;
X    y[2]=(U[4]*SQRT3+U[2]*SQRT3*SQRT2)/6.0;
X    y[3]=(U[3]*SQRT3+U[1]*SQRT3*SQRT2)/6.0;
X    y[4]=(U[4]*SQRT3+U[2]*SQRT3*SQRT2)/6.0;
X    y[5]=(-(2.0*U[3]*SQRT3)+U[1]*SQRT3*SQRT2)/6.0;
X    y[6]=(-(2.0*U[4]*SQRT3)+U[2]*SQRT3*SQRT2)/6.0;
X    y[7]=(U[3]*SQRT3+U[1]*SQRT3*SQRT2)/6.0;
X    y[8]=(U[4]*SQRT3+U[2]*SQRT3*SQRT2)/6.0;
X    y[9]=(U[3]*SQRT3+U[1]*SQRT3*SQRT2)/6.0;
X    y[10]=(U[4]*SQRT3+U[2]*SQRT3*SQRT2)/6.0;
X    y[11]=(-(2.0*U[3]*SQRT3)+U[1]*SQRT3*SQRT2)/6.0;
X    y[12]=(-(2.0*U[4]*SQRT3)+U[2]*SQRT3*SQRT2)/6.0;
X}
X
Xstatic void transformK61(U,y)
Xdouble *U,*y;
X{
Xtrans1K61(U,y);
Xy[13]=U[5];
X}
X
Xstatic void invtransformK61(Y,u)
Xdouble *Y,*u;
X{
Xinvtrans1K61(Y,u);
Xu[5]=Y[13];
X}
X 
Xstatic void tangentK61nachC2(Z,y)
Xdouble *Z,*y;
X{
X    y[1]=0.0;
X    y[2]=0.0;
X    y[3]=0.0;
X    y[4]=0.0;
X    y[5]=Z[1];
X    y[6]=Z[2];
X    y[7]=0.0;
X}
Xstatic void tangentK61nachZ23(Z,y)
Xdouble *Z,*y;
X{
X    y[1]=0.0;
X    y[2]=0.0;
X    y[3]=Z[1];
X    y[4]=Z[2];
X    y[5]=Z[3];
X    y[6]=Z[4];
X    y[7]=0.0;
X    y[8]=0.0;
X    y[9]=0.0;
X}
Xstatic void tangentK61nachZ20(Z,y)
Xdouble *Z,*y;
X{
X    y[1]=0.0;
X    y[2]=0.0;
X    y[3]=Z[1];
X    y[4]=Z[2];
X    y[5]=0.0;
X    y[6]=0.0;
X    y[7]=0.0;
X}
Xstatic void init_K61()
X{
X    Op *op;
X    K61->label="K61";
X    K61->implemented=FALSE;
X    K61->transform=transformK61;
X    K61->inv_transform=invtransformK61;
X    append_op(K61,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(K61,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(K61,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    K61->m[1]=4;
X    K61->m[2]=2;
X    K61->m[3]=4;
X    K61->m[4]=2;
X    K61->subgroup[2][1]=C2;
X    K61->symmetric[2][1]=TRUE;
X    K61->tangent[2][1]=tangentK61nachC2;
X    K61->subgroup[3][1]=Z23;
X    K61->symmetric[3][1]=TRUE;
X    K61->tangent[3][1]=tangentK61nachZ23;
X    K61->subgroup[4][1]=Z20;
X    K61->symmetric[4][1]=TRUE;
X    K61->tangent[4][1]=tangentK61nachZ20;
X    K61->supergroup[1]=D6;
X    K61->next=D32;
X    K61->no=K61_NO;
X}
Xstatic void gK62(U,g)
Xdouble *U,*g;
X{
Xg_num(K62,U,g);
X}
X 
Xstatic void dgK621(U,dgu)
Xdouble *U,**dgu;
X{
Xdg_num(K62,U,dgu); 
X}
X 
Xstatic void dgK622(U,dgu)
Xdouble *U,**dgu;
X{
Xdgi_num(K62,2,U,dgu);
X}
X 
Xstatic void dgK623(U,dgu)
Xdouble *U,**dgu;
X{
Xdgi_num(K62,3,U,dgu);
X}
X 
Xstatic void dgK624(U,dgu)
Xdouble *U,**dgu;
X{
Xdgi_num(K62,4,U,dgu);
X}
X 
Xstatic void cgK621(U,Z,c)
Xdouble *U,*Z,**c;
X{
Xcg_num(K62,U,Z,c);
X}
Xstatic void cgK622(U,Z,c)
Xdouble *U,*Z,**c;
X{
Xcgi_num(K62,2,U,Z,c);
X}
Xstatic void cgK623(U,Z,c)
Xdouble *U,*Z,**c;
X{
Xcgi_num(K62,3,U,Z,c);
X}
Xstatic void cgK624(U,Z,c)
Xdouble *U,*Z,**c;
X{
Xcgi_num(K62,4,U,Z,c);
X}
Xstatic void invtrans1K62(Y,u)
Xdouble *Y,*u;
X{
X    u[1]=(Y[11]*SQRT3*SQRT2+Y[9]*SQRT3*SQRT2+Y[7]*SQRT3*SQRT2+Y[5]*SQRT3*SQRT2+Y
X     [3]*SQRT3*SQRT2+Y[1]*SQRT3*SQRT2)/6.0;
X    u[2]=(Y[12]*SQRT3*SQRT2+Y[10]*SQRT3*SQRT2+Y[8]*SQRT3*SQRT2+Y[6]*SQRT3*SQRT2+
X     Y[4]*SQRT3*SQRT2+Y[2]*SQRT3*SQRT2)/6.0;
X    u[3]=(-(Y[11]*SQRT3)+2.0*Y[9]*SQRT3-(Y[7]*SQRT3)-(Y[5]*SQRT3)+2.0*Y[
X3]*SQRT3
X     -(Y[1]*SQRT3))/6.0;
X    u[4]=(-(Y[12]*SQRT3)+2.0*Y[10]*SQRT3-(Y[8]*SQRT3)-(Y[6]*SQRT3)+
X2.0*Y[4]*
X     SQRT3-(Y[2]*SQRT3))/6.0;
X}
X
Xstatic void trans1K62(U,y)
Xdouble *U,*y;
X{
X    y[1]=(-(U[3]*SQRT3)+U[1]*SQRT3*SQRT2)/6.0;
X    y[2]=(-(U[4]*SQRT3)+U[2]*SQRT3*SQRT2)/6.0;
X    y[3]=(2.0*U[3]*SQRT3+U[1]*SQRT3*SQRT2)/6.0;
X    y[4]=(2.0*U[4]*SQRT3+U[2]*SQRT3*SQRT2)/6.0;
X    y[5]=(-(U[3]*SQRT3)+U[1]*SQRT3*SQRT2)/6.0;
X    y[6]=(-(U[4]*SQRT3)+U[2]*SQRT3*SQRT2)/6.0;
X    y[7]=(-(U[3]*SQRT3)+U[1]*SQRT3*SQRT2)/6.0;
X    y[8]=(-(U[4]*SQRT3)+U[2]*SQRT3*SQRT2)/6.0;
X    y[9]=(2.0*U[3]*SQRT3+U[1]*SQRT3*SQRT2)/6.0;
X    y[10]=(2.0*U[4]*SQRT3+U[2]*SQRT3*SQRT2)/6.0;
X    y[11]=(-(U[3]*SQRT3)+U[1]*SQRT3*SQRT2)/6.0;
X    y[12]=(-(U[4]*SQRT3)+U[2]*SQRT3*SQRT2)/6.0;
X}
X
Xstatic void invtrans2K62(Y,u)
Xdouble *Y,*u;
X{
X    u[1]=(Y[11]-Y[7]+Y[5]-Y[1])/2.0;
X    u[2]=(Y[12]-Y[8]+Y[6]-Y[2])/2.0;
X}
X
Xstatic void trans2K62(U,y)
Xdouble *U,*y;
X{
X    y[1]=-U[1]/2.0;
X    y[2]=-U[2]/2.0;
X    y[3]=0.0;
X    y[4]=0.0;
X    y[5]=U[1]/2.0;
X    y[6]=U[2]/2.0;
X    y[7]=-U[1]/2.0;
X    y[8]=-U[2]/2.0;
X    y[9]=0.0;
X    y[10]=0.0;
X    y[11]=U[1]/2.0;
X    y[12]=U[2]/2.0;
X}
X
Xstatic void invtrans3K62(Y,u)
Xdouble *Y,*u;
X{
X    u[1]=(Y[11]-Y[7]-Y[5]+Y[1])/2.0;
X    u[2]=(Y[12]-Y[8]-Y[6]+Y[2])/2.0;
X}
X
Xstatic void trans3K62(U,y)
Xdouble *U,*y;
X{
X    y[1]=U[1]/2.0;
X    y[2]=U[2]/2.0;
X    y[3]=0.0;
X    y[4]=0.0;
X    y[5]=-U[1]/2.0;
X    y[6]=-U[2]/2.0;
X    y[7]=-U[1]/2.0;
X    y[8]=-U[2]/2.0;
X    y[9]=0.0;
X    y[10]=0.0;
X    y[11]=U[1]/2.0;
X    y[12]=U[2]/2.0;
X}
X
Xstatic void invtrans4K62(Y,u)
Xdouble *Y,*u;
X{
X    u[1]=(-(Y[11]*SQRT3*SQRT2)+Y[9]*SQRT3*SQRT2-(Y[7]*SQRT3*SQRT2)+Y[5]*SQRT3*
X     SQRT2-(Y[3]*SQRT3*SQRT2)+Y[1]*SQRT3*SQRT2)/6.0;
X    u[2]=(-(Y[12]*SQRT3*SQRT2)+Y[10]*SQRT3*SQRT2-(Y[8]*SQRT3*SQRT2)+Y[6]*SQRT3*
X     SQRT2-(Y[4]*SQRT3*SQRT2)+Y[2]*SQRT3*SQRT2)/6.0;
X    u[3]=(-(Y[11]*SQRT3)-(2.0*Y[9]*SQRT3)-(Y[7]*SQRT3)+Y[5]*SQRT3+2.0*Y[
X3]*SQRT3
X     +Y[1]*SQRT3)/6.0;
X    u[4]=(-(Y[12]*SQRT3)-(2.0*Y[10]*SQRT3)-(Y[8]*SQRT3)+Y[6]*SQRT3+
X2.0*Y[4]*
X     SQRT3+Y[2]*SQRT3)/6.0;
X}
X
Xstatic void trans4K62(U,y)
Xdouble *U,*y;
X{
X    y[1]=(U[3]*SQRT3+U[1]*SQRT3*SQRT2)/6.0;
X    y[2]=(U[4]*SQRT3+U[2]*SQRT3*SQRT2)/6.0;
X    y[3]=(2.0*U[3]*SQRT3-(U[1]*SQRT3*SQRT2))/6.0;
X    y[4]=(2.0*U[4]*SQRT3-(U[2]*SQRT3*SQRT2))/6.0;
X    y[5]=(U[3]*SQRT3+U[1]*SQRT3*SQRT2)/6.0;
X    y[6]=(U[4]*SQRT3+U[2]*SQRT3*SQRT2)/6.0;
X    y[7]=(-(U[3]*SQRT3)-(U[1]*SQRT3*SQRT2))/6.0;
X    y[8]=(-(U[4]*SQRT3)-(U[2]*SQRT3*SQRT2))/6.0;
X    y[9]=(-(2.0*U[3]*SQRT3)+U[1]*SQRT3*SQRT2)/6.0;
X    y[10]=(-(2.0*U[4]*SQRT3)+U[2]*SQRT3*SQRT2)/6.0;
X    y[11]=(-(U[3]*SQRT3)-(U[1]*SQRT3*SQRT2))/6.0;
X    y[12]=(-(U[4]*SQRT3)-(U[2]*SQRT3*SQRT2))/6.0;
X}
X
Xstatic void transformK62(U,y)
Xdouble *U,*y;
X{
Xtrans1K62(U,y);
Xy[13]=U[5];
X}
X
Xstatic void invtransformK62(Y,u)
Xdouble *Y,*u;
X{
Xinvtrans1K62(Y,u);
Xu[5]=Y[13];
X}
X 
Xstatic void tangentK62nachC2(Z,y)
Xdouble *Z,*y;
X{
X    y[1]=0.0;
X    y[2]=0.0;
X    y[3]=-(Z[1]*SQRT3)/2.0;
X    y[4]=-(Z[2]*SQRT3)/2.0;
X    y[5]=Z[1]/2.0;
X    y[6]=Z[2]/2.0;
X    y[7]=0.0;
X}
Xstatic void tangentK62nachZ24(Z,y)
Xdouble *Z,*y;
X{
X    y[1]=0.0;
X    y[2]=0.0;
X    y[3]=-Z[1];
X    y[4]=-Z[2];
X    y[5]=0.0;
X    y[6]=0.0;
X    y[7]=0.0;
X}
Xstatic void tangentK62nachZ21(Z,y)
Xdouble *Z,*y;
X{
X    y[1]=0.0;
X    y[2]=0.0;
X    y[3]=Z[1];
X    y[4]=Z[2];
X    y[5]=Z[3];
X    y[6]=Z[4];
X    y[7]=0.0;
X    y[8]=0.0;
X    y[9]=0.0;
X}
Xstatic void testK62D6(U,t)
Xdouble *U,*t;
X{
X    t[1]=U[3]/2.0;
X    t[2]=U[4]/2.0;
X    t[3]=(U[3]*SQRT3)/2.0;
X    t[4]=(U[4]*SQRT3)/2.0;
X}
Xstatic void init_K62()
X{
X    Op *op;
X    K62->label="K62";
X    K62->implemented=TRUE;
X    K62->transform=transformK62;
X    K62->inv_transform=invtransformK62;
X    append_op(K62,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(K62,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(K62,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    K62->m[1]=4;
X    K62->m[2]=2;
X    K62->m[3]=2;
X    K62->m[4]=4;
X    K62->g=gK62;
X    K62->dg[1]=dgK621;
X    K62->dg[2]=dgK622;
X    K62->dg[3]=dgK623;
X    K62->dg[4]=dgK624;
X    K62->cg[1]=cgK621;
X    K62->cg[2]=cgK622;
X    K62->cg[3]=cgK623;
X    K62->cg[4]=cgK624;
X    K62->iso_transform[1]=trans1K62;
X    K62->iso_transform[2]=trans2K62;
X    K62->iso_transform[3]=trans3K62;
X    K62->iso_transform[4]=trans4K62;
X    K62->inv_iso_transform[1]=invtrans1K62;
X    K62->inv_iso_transform[2]=invtrans2K62;
X    K62->inv_iso_transform[3]=invtrans3K62;
X    K62->inv_iso_transform[4]=invtrans4K62;
X    K62->subgroup[2][1]=C2;
X    K62->symmetric[2][1]=TRUE;
X    K62->tangent[2][1]=tangentK62nachC2;
X    K62->subgroup[3][1]=Z24;
X    K62->symmetric[3][1]=TRUE;
X    K62->tangent[3][1]=tangentK62nachZ24;
X    K62->subgroup[4][1]=Z21;
X    K62->symmetric[4][1]=TRUE;
X    K62->tangent[4][1]=tangentK62nachZ21;
X    K62->test[1]=testK62D6;
X    K62->ntest[1]=4;
X    K62->supergroup[1]=D6;
X    K62->next=K61;
X    K62->no=K62_NO;
X}
Xstatic void invtrans1K63(Y,u)
Xdouble *Y,*u;
X{
X    u[1]=(Y[11]*SQRT3*SQRT2+Y[9]*SQRT3*SQRT2+Y[7]*SQRT3*SQRT2+Y[5]*SQRT3*SQRT2+Y
X     [3]*SQRT3*SQRT2+Y[1]*SQRT3*SQRT2)/6.0;
X    u[2]=(Y[12]*SQRT3*SQRT2+Y[10]*SQRT3*SQRT2+Y[8]*SQRT3*SQRT2+Y[6]*SQRT3*SQRT2+
X     Y[4]*SQRT3*SQRT2+Y[2]*SQRT3*SQRT2)/6.0;
X    u[3]=(-(Y[11]*SQRT3)-(Y[9]*SQRT3)+2.0*Y[7]*SQRT3-(Y[5]*SQRT3)-(Y[3]*SQRT3)+
X     2.0*Y[1]*SQRT3)/6.0;
X    u[4]=(-(Y[12]*SQRT3)-(Y[10]*SQRT3)+2.0*Y[8]*SQRT3-(Y[6]*SQRT3)-(Y[4]*SQRT3)+
X     2.0*Y[2]*SQRT3)/6.0;
X}
X
Xstatic void trans1K63(U,y)
Xdouble *U,*y;
X{
X    y[1]=(2.0*U[3]*SQRT3+U[1]*SQRT3*SQRT2)/6.0;
X    y[2]=(2.0*U[4]*SQRT3+U[2]*SQRT3*SQRT2)/6.0;
X    y[3]=(-(U[3]*SQRT3)+U[1]*SQRT3*SQRT2)/6.0;
X    y[4]=(-(U[4]*SQRT3)+U[2]*SQRT3*SQRT2)/6.0;
X    y[5]=(-(U[3]*SQRT3)+U[1]*SQRT3*SQRT2)/6.0;
X    y[6]=(-(U[4]*SQRT3)+U[2]*SQRT3*SQRT2)/6.0;
X    y[7]=(2.0*U[3]*SQRT3+U[1]*SQRT3*SQRT2)/6.0;
X    y[8]=(2.0*U[4]*SQRT3+U[2]*SQRT3*SQRT2)/6.0;
X    y[9]=(-(U[3]*SQRT3)+U[1]*SQRT3*SQRT2)/6.0;
X    y[10]=(-(U[4]*SQRT3)+U[2]*SQRT3*SQRT2)/6.0;
X    y[11]=(-(U[3]*SQRT3)+U[1]*SQRT3*SQRT2)/6.0;
X    y[12]=(-(U[4]*SQRT3)+U[2]*SQRT3*SQRT2)/6.0;
X}
X
Xstatic void transformK63(U,y)
Xdouble *U,*y;
X{
Xtrans1K63(U,y);
Xy[13]=U[5];
X}
X
Xstatic void invtransformK63(Y,u)
Xdouble *Y,*u;
X{
Xinvtrans1K63(Y,u);
Xu[5]=Y[13];
X}
X 
Xstatic void tangentK63nachC2(Z,y)
Xdouble *Z,*y;
X{
X    y[1]=0.0;
X    y[2]=0.0;
X    y[3]=(Z[1]*SQRT3)/2.0;
X    y[4]=(Z[2]*SQRT3)/2.0;
X    y[5]=Z[1]/2.0;
X    y[6]=Z[2]/2.0;
X    y[7]=0.0;
X}
Xstatic void tangentK63nachZ25(Z,y)
Xdouble *Z,*y;
X{
X    y[1]=0.0;
X    y[2]=0.0;
X    y[3]=Z[1];
X    y[4]=Z[2];
X    y[5]=-Z[3];
X    y[6]=-Z[4];
X    y[7]=0.0;
X    y[8]=0.0;
X    y[9]=0.0;
X}
Xstatic void tangentK63nachZ22(Z,y)
Xdouble *Z,*y;
X{
X    y[1]=0.0;
X    y[2]=0.0;
X    y[3]=Z[1];
X    y[4]=Z[2];
X    y[5]=0.0;
X    y[6]=0.0;
X    y[7]=0.0;
X}
Xstatic void init_K63()
X{
X    Op *op;
X    K63->label="K63";
X    K63->implemented=FALSE;
X    K63->transform=transformK63;
X    K63->inv_transform=invtransformK63;
X    append_op(K63,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(K63,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(K63,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    K63->m[1]=4;
X    K63->m[2]=2;
X    K63->m[3]=4;
X    K63->m[4]=2;
X    K63->subgroup[2][1]=C2;
X    K63->symmetric[2][1]=TRUE;
X    K63->tangent[2][1]=tangentK63nachC2;
X    K63->subgroup[3][1]=Z25;
X    K63->symmetric[3][1]=TRUE;
X    K63->tangent[3][1]=tangentK63nachZ25;
X    K63->subgroup[4][1]=Z22;
X    K63->symmetric[4][1]=TRUE;
X    K63->tangent[4][1]=tangentK63nachZ22;
X    K63->supergroup[1]=D6;
X    K63->next=K62;
X    K63->no=K63_NO;
X}
Xstatic void gD6(U,g)
Xdouble *U,*g;
X{
Xg_num(D6,U,g);
X}
X 
Xstatic void dgD61(U,dgu)
Xdouble *U,**dgu;
X{
Xdg_num(D6,U,dgu); 
X}
X 
Xstatic void dgD64(U,dgu)
Xdouble *U,**dgu;
X{
Xdgi_num(D6,2,U,dgu);
X}
X 
Xstatic void dgD65(U,dgu)
Xdouble *U,**dgu;
X{
Xdgi_num(D6,3,U,dgu);
X}
X 
Xstatic void dgD66(U,dgu)
Xdouble *U,**dgu;
X{
Xdgi_num(D6,4,U,dgu);
X}
X 
Xstatic void cgD61(U,Z,c)
Xdouble *U,*Z,**c;
X{
Xcg_num(D6,U,Z,c);
X}
Xstatic void cgD64(U,Z,c)
Xdouble *U,*Z,**c;
X{
Xcgi_num(D6,2,U,Z,c);
X}
Xstatic void cgD65(U,Z,c)
Xdouble *U,*Z,**c;
X{
Xcgi_num(D6,3,U,Z,c);
X}
Xstatic void cgD66(U,Z,c)
Xdouble *U,*Z,**c;
X{
Xcgi_num(D6,4,U,Z,c);
X}
Xstatic void invtrans1D6(Y,u)
Xdouble *Y,*u;
X{
X    u[1]=(Y[11]*SQRT3*SQRT2+Y[9]*SQRT3*SQRT2+Y[7]*SQRT3*SQRT2+Y[5]*SQRT3*SQRT2+Y
X     [3]*SQRT3*SQRT2+Y[1]*SQRT3*SQRT2)/6.0;
X    u[2]=(Y[12]*SQRT3*SQRT2+Y[10]*SQRT3*SQRT2+Y[8]*SQRT3*SQRT2+Y[6]*SQRT3*SQRT2+
X     Y[4]*SQRT3*SQRT2+Y[2]*SQRT3*SQRT2)/6.0;
X}
X
Xstatic void trans1D6(U,y)
Xdouble *U,*y;
X{
X    y[1]=(U[1]*SQRT3*SQRT2)/6.0;
X    y[2]=(U[2]*SQRT3*SQRT2)/6.0;
X    y[3]=(U[1]*SQRT3*SQRT2)/6.0;
X    y[4]=(U[2]*SQRT3*SQRT2)/6.0;
X    y[5]=(U[1]*SQRT3*SQRT2)/6.0;
X    y[6]=(U[2]*SQRT3*SQRT2)/6.0;
X    y[7]=(U[1]*SQRT3*SQRT2)/6.0;
X    y[8]=(U[2]*SQRT3*SQRT2)/6.0;
X    y[9]=(U[1]*SQRT3*SQRT2)/6.0;
X    y[10]=(U[2]*SQRT3*SQRT2)/6.0;
X    y[11]=(U[1]*SQRT3*SQRT2)/6.0;
X    y[12]=(U[2]*SQRT3*SQRT2)/6.0;
X}
X
Xstatic void invtrans4D6(Y,u)
Xdouble *Y,*u;
X{
X    u[1]=(-(Y[11]*SQRT3*SQRT2)+Y[9]*SQRT3*SQRT2-(Y[7]*SQRT3*SQRT2)+Y[5]*SQRT3*
X     SQRT2-(Y[3]*SQRT3*SQRT2)+Y[1]*SQRT3*SQRT2)/6.0;
X    u[2]=(-(Y[12]*SQRT3*SQRT2)+Y[10]*SQRT3*SQRT2-(Y[8]*SQRT3*SQRT2)+Y[6]*SQRT3*
X     SQRT2-(Y[4]*SQRT3*SQRT2)+Y[2]*SQRT3*SQRT2)/6.0;
X}
X
Xstatic void trans4D6(U,y)
Xdouble *U,*y;
X{
X    y[1]=(U[1]*SQRT3*SQRT2)/6.0;
X    y[2]=(U[2]*SQRT3*SQRT2)/6.0;
X    y[3]=-(U[1]*SQRT3*SQRT2)/6.0;
X    y[4]=-(U[2]*SQRT3*SQRT2)/6.0;
X    y[5]=(U[1]*SQRT3*SQRT2)/6.0;
X    y[6]=(U[2]*SQRT3*SQRT2)/6.0;
X    y[7]=-(U[1]*SQRT3*SQRT2)/6.0;
X    y[8]=-(U[2]*SQRT3*SQRT2)/6.0;
X    y[9]=(U[1]*SQRT3*SQRT2)/6.0;
X    y[10]=(U[2]*SQRT3*SQRT2)/6.0;
X    y[11]=-(U[1]*SQRT3*SQRT2)/6.0;
X    y[12]=-(U[2]*SQRT3*SQRT2)/6.0;
X}
X
Xstatic void invtrans5D6(Y,u)
Xdouble *Y,*u;
X{
X    u[1]=(-Y[9]-Y[7]+Y[3]+Y[1])/2.0;
X    u[2]=(-Y[10]-Y[8]+Y[4]+Y[2])/2.0;
X}
X
Xstatic void trans5D6(U,y)
Xdouble *U,*y;
X{
X    y[1]=U[1]/2.0;
X    y[2]=U[2]/2.0;
X    y[3]=U[1]/2.0;
X    y[4]=U[2]/2.0;
X    y[5]=0.0;
X    y[6]=0.0;
X    y[7]=-U[1]/2.0;
X    y[8]=-U[2]/2.0;
X    y[9]=-U[1]/2.0;
X    y[10]=-U[2]/2.0;
X    y[11]=0.0;
X    y[12]=0.0;
X}
X
Xstatic void invtrans6D6(Y,u)
Xdouble *Y,*u;
X{
X    u[1]=(-(2.0*Y[11]*SQRT3)+Y[9]*SQRT3+Y[7]*SQRT3-(2.0*Y[5]*SQRT3)+Y[3]*SQRT3+Y
X     [1]*SQRT3)/6.0;
X    u[2]=(-(2.0*Y[12]*SQRT3)+Y[10]*SQRT3+Y[8]*SQRT3-(2.0*Y[6]*SQRT3)+Y[
X4]*SQRT3+
X     Y[2]*SQRT3)/6.0;
X}
X
Xstatic void trans6D6(U,y)
Xdouble *U,*y;
X{
X    y[1]=(U[1]*SQRT3)/6.0;
X    y[2]=(U[2]*SQRT3)/6.0;
X    y[3]=(U[1]*SQRT3)/6.0;
X    y[4]=(U[2]*SQRT3)/6.0;
X    y[5]=-(U[1]*SQRT3)/3.0;
X    y[6]=-(U[2]*SQRT3)/3.0;
X    y[7]=(U[1]*SQRT3)/6.0;
X    y[8]=(U[2]*SQRT3)/6.0;
X    y[9]=(U[1]*SQRT3)/6.0;
X    y[10]=(U[2]*SQRT3)/6.0;
X    y[11]=-(U[1]*SQRT3)/3.0;
X    y[12]=-(U[2]*SQRT3)/3.0;
X}
X
Xstatic void transformD6(U,y)
Xdouble *U,*y;
X{
Xtrans1D6(U,y);
Xy[13]=U[3];
X}
X
Xstatic void invtransformD6(Y,u)
Xdouble *Y,*u;
X{
Xinvtrans1D6(Y,u);
Xu[3]=Y[13];
X}
X 
Xstatic void tangentD6nachD32(Z,y)
Xdouble *Z,*y;
X{
X    y[1]=0.0;
X    y[2]=0.0;
X    y[3]=Z[1];
X    y[4]=Z[2];
X    y[5]=0.0;
X}
Xstatic void tangentD6nachZ21(Z,y)
Xdouble *Z,*y;
X{
X    y[1]=0.0;
X    y[2]=0.0;
X    y[3]=0.0;
X    y[4]=0.0;
X    y[5]=(Z[1]*SQRT3+2.0*Z[1])/2.0;
X    y[6]=(Z[2]*SQRT3+2.0*Z[2])/2.0;
X    y[7]=0.0;
X    y[8]=0.0;
X    y[9]=0.0;
X}
Xstatic void tangentD6nachZ24(Z,y)
Xdouble *Z,*y;
X{
X    y[1]=0.0;
X    y[2]=0.0;
X    y[3]=(2.0*Z[1]*SQRT3-Z[1])/2.0;
X    y[4]=(2.0*Z[2]*SQRT3-Z[2])/2.0;
X    y[5]=0.0;
X    y[6]=0.0;
X    y[7]=0.0;
X}
Xstatic void tangentD6nachK62(Z,y)
Xdouble *Z,*y;
X{
X    y[1]=0.0;
X    y[2]=0.0;
X    y[3]=(2.0*Z[1]*SQRT3+Z[1])/2.0;
X    y[4]=(2.0*Z[2]*SQRT3+Z[2])/2.0;
X    y[5]=0.0;
X}
Xstatic void allocgroups()
X{
X    int *nsub,r,S;
X    S=1;
X    r=7;
X    nsub=ivector(2,S);
X    ID=new_group(S,nsub,r);
X    S=2;
X    r=3;
X    nsub=ivector(2,S);
X    nsub[2]=1;
X    Z21=new_group(S,nsub,r);
X    S=2;
X    r=3;
X    nsub=ivector(2,S);
X    nsub[2]=1;
X    Z23=new_group(S,nsub,r);
X    S=2;
X    r=3;
X    nsub=ivector(2,S);
X    nsub[2]=1;
X    Z25=new_group(S,nsub,r);
X    S=2;
X    r=3;
X    nsub=ivector(2,S);
X    nsub[2]=1;
X    C2=new_group(S,nsub,r);
X    S=2;
X    r=2;
X    nsub=ivector(2,S);
X    nsub[2]=1;
X    Z20=new_group(S,nsub,r);
X    S=2;
X    r=2;
X    nsub=ivector(2,S);
X    nsub[2]=1;
X    Z24=new_group(S,nsub,r);
X    S=2;
X    r=2;
X    nsub=ivector(2,S);
X    nsub[2]=1;
X    Z22=new_group(S,nsub,r);
X    S=2;
X    r=1;
X    nsub=ivector(2,S);
X    nsub[2]=1;
X    D32=new_group(S,nsub,r);
X    S=4;
X    r=1;
X    nsub=ivector(2,S);
X    nsub[2]=1;
X    nsub[3]=1;
X    nsub[4]=1;
X    K61=new_group(S,nsub,r);
X    S=4;
X    r=1;
X    nsub=ivector(2,S);
X    nsub[2]=1;
X    nsub[3]=1;
X    nsub[4]=1;
X    K62=new_group(S,nsub,r);
X    S=4;
X    r=1;
X    nsub=ivector(2,S);
X    nsub[2]=1;
X    nsub[3]=1;
X    nsub[4]=1;
X    K63=new_group(S,nsub,r);
X    S=4;
X    r=0;
X    nsub=ivector(2,S);
X    nsub[2]=1;
X    nsub[3]=2;
X    nsub[4]=1;
X    group=new_group(S,nsub,r);
X    D6=group;
X}
Xvoid init_group()
X{
X    numeric_mode=TRUE;
X    init_data();
X    allocgroups();
X    init_K63();
X    init_K62();
X    init_K61();
X    init_D32();
X    init_Z22();
X    init_Z24();
X    init_Z20();
X    init_C2();
X    init_Z25();
X    init_Z23();
X    init_Z21();
X    init_ID();
X    D6->label="D6";
X    D6->implemented=TRUE;
X    D6->transform=transformD6;
X    D6->inv_transform=invtransformD6;
X    append_op(D6,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    D6->m[1]=2;
X    D6->m[2]=2;
X    D6->m[3]=2;
X    D6->m[4]=2;
X    D6->g=gD6;
X    D6->dg[1]=dgD61;
X    D6->dg[2]=dgD64;
X    D6->dg[3]=dgD65;
X    D6->dg[4]=dgD66;
X    D6->cg[1]=cgD61;
X    D6->cg[2]=cgD64;
X    D6->cg[3]=cgD65;
X    D6->cg[4]=cgD66;
X    D6->iso_transform[1]=trans1D6;
X    D6->iso_transform[2]=trans4D6;
X    D6->iso_transform[3]=trans5D6;
X    D6->iso_transform[4]=trans6D6;
X    D6->inv_iso_transform[1]=invtrans1D6;
X    D6->inv_iso_transform[2]=invtrans4D6;
X    D6->inv_iso_transform[3]=invtrans5D6;
X    D6->inv_iso_transform[4]=invtrans6D6;
X    D6->subgroup[2][1]=D32;
X    D6->symmetric[2][1]=TRUE;
X    D6->tangent[2][1]=tangentD6nachD32;
X    D6->subgroup[3][1]=Z21;
X    D6->symmetric[3][1]=TRUE;
X    D6->tangent[3][1]=tangentD6nachZ21;
X    D6->subgroup[3][2]=Z24;
X    D6->symmetric[3][2]=TRUE;
X    D6->tangent[3][2]=tangentD6nachZ24;
X    D6->subgroup[4][1]=K62;
X    D6->symmetric[4][1]=FALSE;
X    D6->tangent[4][1]=tangentD6nachK62;
X    D6->next=K63;
X    D6->no=D6_NO;
X}
END_OF_FILE
if test 61919 -ne `wc -c <'brussD6n.c'`; then
    echo shar: \"'brussD6n.c'\" unpacked with wrong size!
fi
# end of 'brussD6n.c'
fi
echo shar: End of shell archive.
exit 0

From karin@quattro Thu Jul 25 14:27:37 1991
Return-Path: <karin@quattro>
Received: from quattro.ZIB-Berlin.DE by softs01.ZIB-Berlin.DE (4.1/SMI-4.0/12.9.90)
	id AA00198; Thu, 25 Jul 91 14:27:20 +0200
Received: from borodin.ZIB-Berlin.DE by quattro.ZIB-Berlin.DE (4.0/SMI-4.0/4.9.90)
	id AA03998; Wed, 24 Jul 91 22:22:00 +0200
Date: Wed, 24 Jul 91 22:22:00 +0200
From: karin@quattro (Karin Gatermann)
Message-Id: <9107242022.AA03998@sc.zib-berlin.dbp.de>
To: luegger@quattro
Subject: submit bruss2 for symcon
Status: RO

#! /bin/sh
# This is a shell archive.  Remove anything before this line, then unpack
# it by saving it into a file and typing "sh file".  To overwrite existing
# files, type "sh file -c".  You can also feed this as standard input via
# unshar, or by typing "sh <file", e.g..  If this archive is complete, you
# will see the following message at the end:
#		"End of shell archive."
# Contents:  brussD6 brussD6n.c
# Wrapped by karin@borodin on Wed Jul 24 21:49:06 1991
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'brussD6' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'brussD6'\"
else
echo shar: Extracting \"'brussD6'\" \(1875 characters\)
sed "s/^X//" >'brussD6' <<'END_OF_FILE'
X% example brussD6 
X
Xin hybridconjug;
X
Xfd6:=mat((pa-(pb+1)*x1+x1**2*x2 + tau^(-2)*(x11+x3-2*x1) ),
X       (pb*x1-x1**2*x2 + tau^(-2)*10*(x12+x4-2*x2) ),
X       (pa-(pb+1)*x3+x3**2*x4 + tau^(-2)*(x1-x3+x5-x3) ),
X       (pb*x3-x3**2*x4 + tau^(-2)*10*(x2-x4+x6-x4) ),
X       (pa-(pb+1)*x5+x5**2*x6 + tau^(-2)*(x3-x5+x7-x5) ),
X       (pb*x5-x5**2*x6 + tau^(-2)*10*(x4-x6+x8-x6) ),
X       (pa-(pb+1)*x7+x7**2*x8 + tau^(-2)*(x9+x5-2*x7) ),
X       (pb*x7-x7**2*x8 + tau^(-2)*10*(x10+x6-2*x8) ),
X       (pa-(pb+1)*x9+x9**2*x10 + tau^(-2)*(x11+x7-2*x9) ),
X       (pb*x9-x9**2*x10 + tau^(-2)*10*(x12+x8-2*x10) ),
X       (pa-(pb+1)*x11+x11**2*x12 + tau^(-2)*(x1+x9-2*x11) ),
X       (pb*x11-x11**2*x12 + tau^(-2)*10*(x2+x10-2*x12) ))$
X
Xrd6:=mat((0,0,1,0,0,0,0,0,0,0,0,0),
X       (0,0,0,1,0,0,0,0,0,0,0,0),
X       (0,0,0,0,1,0,0,0,0,0,0,0),
X       (0,0,0,0,0,1,0,0,0,0,0,0),
X       (0,0,0,0,0,0,1,0,0,0,0,0),
X       (0,0,0,0,0,0,0,1,0,0,0,0),
X       (0,0,0,0,0,0,0,0,1,0,0,0),
X       (0,0,0,0,0,0,0,0,0,1,0,0),
X       (0,0,0,0,0,0,0,0,0,0,1,0),
X       (0,0,0,0,0,0,0,0,0,0,0,1),
X       (1,0,0,0,0,0,0,0,0,0,0,0),
X       (0,1,0,0,0,0,0,0,0,0,0,0))$
X
Xsd6:=mat((0,0,1,0,0,0,0,0,0,0,0,0),
X         (0,0,0,1,0,0,0,0,0,0,0,0),
X         (1,0,0,0,0,0,0,0,0,0,0,0),
X         (0,1,0,0,0,0,0,0,0,0,0,0),
X         (0,0,0,0,0,0,0,0,0,0,1,0),
X         (0,0,0,0,0,0,0,0,0,0,0,1),
X         (0,0,0,0,0,0,0,0,1,0,0,0),
X         (0,0,0,0,0,0,0,0,0,1,0,0),
X         (0,0,0,0,0,0,1,0,0,0,0,0),
X         (0,0,0,0,0,0,0,1,0,0,0,0),
X         (0,0,0,0,1,0,0,0,0,0,0,0),
X         (0,0,0,0,0,1,0,0,0,0,0,0))$
X
X
X
Xxsed6:=for i:=1:12 collect mkid(x,i)$
Xxsed6:=append(xsed6,{tau})$
Xinits:={taumin=0,taumax=8,x1=pa,x2=pb/2,x3=pa,x4=pb/2,x5=pa,x6=pb/2,
X         x7=pa,x8=pb/2,x9=pa,x10=pb/2,x11=pa,x12=pb/2,
X         tau=1/4,pa=1,pb=2}$
X
Xon numericmode;
X
Xgentranout"brussD6n.c";
X
Xsymcon(fd6,xsed6,inits,D6,rd6,sd6);
Xend; 
END_OF_FILE
if test 1875 -ne `wc -c <'brussD6'`; then
    echo shar: \"'brussD6'\" unpacked with wrong size!
fi
# end of 'brussD6'
fi
if test -f 'brussD6n.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'brussD6n.c'\"
else
echo shar: Extracting \"'brussD6n.c'\" \(61919 characters\)
sed "s/^X//" >'brussD6n.c' <<'END_OF_FILE'
X#include <strings.h>
X#include <stdio.h>
X#include <math.h>
X#include <malloc.h>
X#include "macros.h"
X#include "matutil.h"
X#include "matalloc.h"
X
X#include "group.h"
X
Xint m=12, n=13, npar=2, nog = 13;
Xstatic double PA,PB;
Xchar par_string[2][10] = {"PB","PA"};
X 
Xvoid setpar()
X{
XPB = par[1];
XPA = par[2];
X}
X
Xvoid init_data()
X{
X    par[1]=2.0;
X    par[2]=1.0;
X    setpar();
X    y_guess[1]=PA;
X    y_guess[2]=PB/2.0;
X    y_guess[3]=PA;
X    y_guess[4]=PB/2.0;
X    y_guess[5]=PA;
X    y_guess[6]=PB/2.0;
X    y_guess[7]=PA;
X    y_guess[8]=PB/2.0;
X    y_guess[9]=PA;
X    y_guess[10]=PB/2.0;
X    y_guess[11]=PA;
X    y_guess[12]=PB/2.0;
X    y_guess[13]=1.0/4.0;
X    tau_min=0.0;
X    tau_max=8.0;
X}
Xstatic Group *ID,*Z21,*Z23,*Z25,*C2,*Z20,*Z24,*Z22,*D32,*K61,*K62,*K63,*D6;
Xstatic Op *op;
X#define ID_NO 1
X#define Z21_NO 2
X#define Z23_NO 3
X#define Z25_NO 4
X#define C2_NO 5
X#define Z20_NO 6
X#define Z24_NO 7
X#define Z22_NO 8
X#define D32_NO 9
X#define K61_NO 10
X#define K62_NO 11
X#define K63_NO 12
X#define D6_NO 13
X
Xstatic void D6_proc_2(Y,yt)
Xdouble *Y,*yt;
X{
X    yt[1]=Y[3];
X    yt[2]=Y[4];
X    yt[3]=Y[5];
X    yt[4]=Y[6];
X    yt[5]=Y[7];
X    yt[6]=Y[8];
X    yt[7]=Y[9];
X    yt[8]=Y[10];
X    yt[9]=Y[11];
X    yt[10]=Y[12];
X    yt[11]=Y[1];
X    yt[12]=Y[2];
X    yt[13]=Y[13];
X}
Xstatic void D6_proc_7(Y,yt)
Xdouble *Y,*yt;
X{
X    yt[1]=Y[3];
X    yt[2]=Y[4];
X    yt[3]=Y[1];
X    yt[4]=Y[2];
X    yt[5]=Y[11];
X    yt[6]=Y[12];
X    yt[7]=Y[9];
X    yt[8]=Y[10];
X    yt[9]=Y[7];
X    yt[10]=Y[8];
X    yt[11]=Y[5];
X    yt[12]=Y[6];
X    yt[13]=Y[13];
X}
Xstatic void D6_proc_6(Y,yt)
Xdouble *Y,*yt;
X{
X    yt[1]=Y[11];
X    yt[2]=Y[12];
X    yt[3]=Y[1];
X    yt[4]=Y[2];
X    yt[5]=Y[3];
X    yt[6]=Y[4];
X    yt[7]=Y[5];
X    yt[8]=Y[6];
X    yt[9]=Y[7];
X    yt[10]=Y[8];
X    yt[11]=Y[9];
X    yt[12]=Y[10];
X    yt[13]=Y[13];
X}
Xstatic Group* change_group_7(sigma)
X        Group *sigma;
X{
X     switch (sigma->no) {
X     case K63_NO : return K62;
X     case K62_NO : return K63;
X     case Z22_NO : return Z24;
X     case Z24_NO : return Z22;
X     case Z25_NO : return Z21;
X     case Z21_NO : return Z25;
X     default : return sigma;
X}
X}
Xstatic Group* change_group_2(sigma)
X        Group *sigma;
X{
X     switch (sigma->no) {
X     case K63_NO : return K61;
X     case K62_NO : return K63;
X     case K61_NO : return K62;
X     case Z22_NO : return Z20;
X     case Z24_NO : return Z22;
X     case Z20_NO : return Z24;
X     case Z25_NO : return Z23;
X     case Z23_NO : return Z21;
X     case Z21_NO : return Z25;
X     default : return sigma;
X}
X}
Xstatic int isotypic_triv(i)
X     int i;
X{
X     switch (i) {
X     default : return i;
X}
X}
Xvoid f(Yvar,fo)
Xdouble *Yvar,*fo;
X{
X    double X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,TAU;
X    X1=Yvar[1];
X    X2=Yvar[2];
X    X3=Yvar[3];
X    X4=Yvar[4];
X    X5=Yvar[5];
X    X6=Yvar[6];
X    X7=Yvar[7];
X    X8=Yvar[8];
X    X9=Yvar[9];
X    X10=Yvar[10];
X    X11=Yvar[11];
X    X12=Yvar[12];
X    TAU=Yvar[13];
X    fo[1]=((X1*X1)*X2*(TAU*TAU)-(X1*PB*(TAU*TAU))-(X1*(TAU*TAU))-(2.0*X1)+X3+PA*
X     (TAU*TAU)+X11)/(TAU*TAU);
X    fo[2]=(-((X1*X1)*X2*(TAU*TAU))+X1*PB*(TAU*TAU)-(20.0*X2)+10.0*X4+
X10.0*X12)/(
X     TAU*TAU);
X    fo[3]=(X1+(X3*X3)*X4*(TAU*TAU)-(X3*PB*(TAU*TAU))-(X3*(TAU*TAU))-(
X2.0*X3)+PA*
X     (TAU*TAU)+X5)/(TAU*TAU);
X    fo[4]=(10.0*X2-((X3*X3)*X4*(TAU*TAU))+X3*PB*(TAU*TAU)-(20.0*X4)+
X10.0*X6)/(
X     TAU*TAU);
X    fo[5]=(X3+PA*(TAU*TAU)-(PB*(TAU*TAU)*X5)+(TAU*TAU)*(X5*X5)*X6-((TAU*TAU)*X5)
X     -(2.0*X5)+X7)/(TAU*TAU);
X    fo[6]=(10.0*X4+10.0*X8+PB*(TAU*TAU)*X5-((TAU*TAU)*(X5*X5)*X6)-(
X20.0*X6))/(
X     TAU*TAU);
X    fo[7]=(X8*(TAU*TAU)*(X7*X7)+X9+PA*(TAU*TAU)-(PB*(TAU*TAU)*X7)-((TAU*TAU)*X7)
X     +X5-(2.0*X7))/(TAU*TAU);
X    fo[8]=(-(X8*(TAU*TAU)*(X7*X7))-(20.0*X8)+10.0*X10+PB*(TAU*TAU)*X7+
X10.0*X6)/(
X     TAU*TAU);
X    fo[9]=((X9*X9)*X10*(TAU*TAU)-(X9*PB*(TAU*TAU))-(X9*(TAU*TAU))-(
X2.0*X9)+PA*(
X     TAU*TAU)+X11+X7)/(TAU*TAU);
X    fo[10]=(10.0*X8-((X9*X9)*X10*(TAU*TAU))+X9*PB*(TAU*TAU)-(20.0*X10)+
X10.0*X12)
X     /(TAU*TAU);
X    fo[11]=(X1+X9+PA*(TAU*TAU)-(PB*(TAU*TAU)*X11)+(TAU*TAU)*(X11*X11)*X12-((TAU*
X     TAU)*X11)-(2.0*X11))/(TAU*TAU);
X    fo[12]=(10.0*X2+10.0*X10+PB*(TAU*TAU)*X11-((TAU*TAU)*(X11*X11)*X12)-(
X20.0*
X     X12))/(TAU*TAU);
X}
Xvoid df(Yvar,dfo)
Xdouble *Yvar,**dfo;
X{
X    double X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,TAU;
X    X1=Yvar[1];
X    X2=Yvar[2];
X    X3=Yvar[3];
X    X4=Yvar[4];
X    X5=Yvar[5];
X    X6=Yvar[6];
X    X7=Yvar[7];
X    X8=Yvar[8];
X    X9=Yvar[9];
X    X10=Yvar[10];
X    X11=Yvar[11];
X    X12=Yvar[12];
X    TAU=Yvar[13];
X    dfo[1][1]=(2.0*X1*X2*(TAU*TAU)-(PB*(TAU*TAU))-(TAU*TAU)-2.0)/(TAU*TAU);
X    dfo[1][2]=X1*X1;
X    dfo[1][3]=1.0/(TAU*TAU);
X    dfo[1][4]=0.0;
X    dfo[1][5]=0.0;
X    dfo[1][6]=0.0;
X    dfo[1][7]=0.0;
X    dfo[1][8]=0.0;
X    dfo[1][9]=0.0;
X    dfo[1][10]=0.0;
X    dfo[1][11]=1.0/(TAU*TAU);
X    dfo[1][12]=0.0;
X    dfo[1][13]=(4.0*X1-(2.0*X3)-(2.0*X11))/(TAU*TAU*TAU);
X    dfo[2][1]=-(2.0*X1*X2)+PB;
X    dfo[2][2]=(-((X1*X1)*(TAU*TAU))-20.0)/(TAU*TAU);
X    dfo[2][3]=0.0;
X    dfo[2][4]=10.0/(TAU*TAU);
X    dfo[2][5]=0.0;
X    dfo[2][6]=0.0;
X    dfo[2][7]=0.0;
X    dfo[2][8]=0.0;
X    dfo[2][9]=0.0;
X    dfo[2][10]=0.0;
X    dfo[2][11]=0.0;
X    dfo[2][12]=10.0/(TAU*TAU);
X    dfo[2][13]=(40.0*X2-(20.0*X4)-(20.0*X12))/(TAU*TAU*TAU);
X    dfo[3][1]=1.0/(TAU*TAU);
X    dfo[3][2]=0.0;
X    dfo[3][3]=(2.0*X3*X4*(TAU*TAU)-(PB*(TAU*TAU))-(TAU*TAU)-2.0)/(TAU*TAU);
X    dfo[3][4]=X3*X3;
X    dfo[3][5]=1.0/(TAU*TAU);
X    dfo[3][6]=0.0;
X    dfo[3][7]=0.0;
X    dfo[3][8]=0.0;
X    dfo[3][9]=0.0;
X    dfo[3][10]=0.0;
X    dfo[3][11]=0.0;
X    dfo[3][12]=0.0;
X    dfo[3][13]=(-(2.0*X1)+4.0*X3-(2.0*X5))/(TAU*TAU*TAU);
X    dfo[4][1]=0.0;
X    dfo[4][2]=10.0/(TAU*TAU);
X    dfo[4][3]=-(2.0*X3*X4)+PB;
X    dfo[4][4]=(-((X3*X3)*(TAU*TAU))-20.0)/(TAU*TAU);
X    dfo[4][5]=0.0;
X    dfo[4][6]=10.0/(TAU*TAU);
X    dfo[4][7]=0.0;
X    dfo[4][8]=0.0;
X    dfo[4][9]=0.0;
X    dfo[4][10]=0.0;
X    dfo[4][11]=0.0;
X    dfo[4][12]=0.0;
X    dfo[4][13]=(-(20.0*X2)+40.0*X4-(20.0*X6))/(TAU*TAU*TAU);
X    dfo[5][1]=0.0;
X    dfo[5][2]=0.0;
X    dfo[5][3]=1.0/(TAU*TAU);
X    dfo[5][4]=0.0;
X    dfo[5][5]=(-(PB*(TAU*TAU))+2.0*(TAU*TAU)*X5*X6-(TAU*TAU)-2.0)/(TAU*TAU);
X    dfo[5][6]=X5*X5;
X    dfo[5][7]=1.0/(TAU*TAU);
X    dfo[5][8]=0.0;
X    dfo[5][9]=0.0;
X    dfo[5][10]=0.0;
X    dfo[5][11]=0.0;
X    dfo[5][12]=0.0;
X    dfo[5][13]=(-(2.0*X3)+4.0*X5-(2.0*X7))/(TAU*TAU*TAU);
X    dfo[6][1]=0.0;
X    dfo[6][2]=0.0;
X    dfo[6][3]=0.0;
X    dfo[6][4]=10.0/(TAU*TAU);
X    dfo[6][5]=PB-(2.0*X5*X6);
X    dfo[6][6]=(-((TAU*TAU)*(X5*X5))-20.0)/(TAU*TAU);
X    dfo[6][7]=0.0;
X    dfo[6][8]=10.0/(TAU*TAU);
X    dfo[6][9]=0.0;
X    dfo[6][10]=0.0;
X    dfo[6][11]=0.0;
X    dfo[6][12]=0.0;
X    dfo[6][13]=(-(20.0*X4)-(20.0*X8)+40.0*X6)/(TAU*TAU*TAU);
X    dfo[7][1]=0.0;
X    dfo[7][2]=0.0;
X    dfo[7][3]=0.0;
X    dfo[7][4]=0.0;
X    dfo[7][5]=1.0/(TAU*TAU);
X    dfo[7][6]=0.0;
X    dfo[7][7]=(2.0*X8*(TAU*TAU)*X7-(PB*(TAU*TAU))-(TAU*TAU)-2.0)/(TAU*TAU);
X    dfo[7][8]=X7*X7;
X    dfo[7][9]=1.0/(TAU*TAU);
X    dfo[7][10]=0.0;
X    dfo[7][11]=0.0;
X    dfo[7][12]=0.0;
X    dfo[7][13]=(-(2.0*X9)-(2.0*X5)+4.0*X7)/(TAU*TAU*TAU);
X    dfo[8][1]=0.0;
X    dfo[8][2]=0.0;
X    dfo[8][3]=0.0;
X    dfo[8][4]=0.0;
X    dfo[8][5]=0.0;
X    dfo[8][6]=10.0/(TAU*TAU);
X    dfo[8][7]=-(2.0*X8*X7)+PB;
X    dfo[8][8]=(-((TAU*TAU)*(X7*X7))-20.0)/(TAU*TAU);
X    dfo[8][9]=0.0;
X    dfo[8][10]=10.0/(TAU*TAU);
X    dfo[8][11]=0.0;
X    dfo[8][12]=0.0;
X    dfo[8][13]=(40.0*X8-(20.0*X10)-(20.0*X6))/(TAU*TAU*TAU);
X    dfo[9][1]=0.0;
X    dfo[9][2]=0.0;
X    dfo[9][3]=0.0;
X    dfo[9][4]=0.0;
X    dfo[9][5]=0.0;
X    dfo[9][6]=0.0;
X    dfo[9][7]=1.0/(TAU*TAU);
X    dfo[9][8]=0.0;
X    dfo[9][9]=(2.0*X9*X10*(TAU*TAU)-(PB*(TAU*TAU))-(TAU*TAU)-2.0)/(TAU*TAU);
X    dfo[9][10]=X9*X9;
X    dfo[9][11]=1.0/(TAU*TAU);
X    dfo[9][12]=0.0;
X    dfo[9][13]=(4.0*X9-(2.0*X11)-(2.0*X7))/(TAU*TAU*TAU);
X    dfo[10][1]=0.0;
X    dfo[10][2]=0.0;
X    dfo[10][3]=0.0;
X    dfo[10][4]=0.0;
X    dfo[10][5]=0.0;
X    dfo[10][6]=0.0;
X    dfo[10][7]=0.0;
X    dfo[10][8]=10.0/(TAU*TAU);
X    dfo[10][9]=-(2.0*X9*X10)+PB;
X    dfo[10][10]=(-((X9*X9)*(TAU*TAU))-20.0)/(TAU*TAU);
X    dfo[10][11]=0.0;
X    dfo[10][12]=10.0/(TAU*TAU);
X    dfo[10][13]=(-(20.0*X8)+40.0*X10-(20.0*X12))/(TAU*TAU*TAU);
X    dfo[11][1]=1.0/(TAU*TAU);
X    dfo[11][2]=0.0;
X    dfo[11][3]=0.0;
X    dfo[11][4]=0.0;
X    dfo[11][5]=0.0;
X    dfo[11][6]=0.0;
X    dfo[11][7]=0.0;
X    dfo[11][8]=0.0;
X    dfo[11][9]=1.0/(TAU*TAU);
X    dfo[11][10]=0.0;
X    dfo[11][11]=(-(PB*(TAU*TAU))+2.0*(TAU*TAU)*X11*X12-(TAU*TAU)-2.0)/(TAU*TAU);
X    dfo[11][12]=X11*X11;
X    dfo[11][13]=(-(2.0*X1)-(2.0*X9)+4.0*X11)/(TAU*TAU*TAU);
X    dfo[12][1]=0.0;
X    dfo[12][2]=10.0/(TAU*TAU);
X    dfo[12][3]=0.0;
X    dfo[12][4]=0.0;
X    dfo[12][5]=0.0;
X    dfo[12][6]=0.0;
X    dfo[12][7]=0.0;
X    dfo[12][8]=0.0;
X    dfo[12][9]=0.0;
X    dfo[12][10]=10.0/(TAU*TAU);
X    dfo[12][11]=PB-(2.0*X11*X12);
X    dfo[12][12]=(-((TAU*TAU)*(X11*X11))-20.0)/(TAU*TAU);
X    dfo[12][13]=(-(20.0*X2)-(20.0*X10)+40.0*X12)/(TAU*TAU*TAU);
X}
Xstatic void gID(U,g)
Xdouble *U,*g;
X{
Xg_num(ID,U,g);
X}
X 
Xstatic void dgID1(U,dgu)
Xdouble *U,**dgu;
X{
Xdg_num(ID,U,dgu); 
X}
X 
Xstatic void cgID1(U,Z,c)
Xdouble *U,*Z,**c;
X{
Xcg_num(ID,U,Z,c);
X}
Xstatic void invtrans1ID(Y,u)
Xdouble *Y,*u;
X{
X    u[1]=(Y[11]*SQRT3*SQRT2+Y[9]*SQRT3*SQRT2+Y[7]*SQRT3*SQRT2+Y[5]*SQRT3*SQRT2+Y
X     [3]*SQRT3*SQRT2+Y[1]*SQRT3*SQRT2)/6.0;
X    u[2]=(Y[12]*SQRT3*SQRT2+Y[10]*SQRT3*SQRT2+Y[8]*SQRT3*SQRT2+Y[6]*SQRT3*SQRT2+
X     Y[4]*SQRT3*SQRT2+Y[2]*SQRT3*SQRT2)/6.0;
X    u[3]=(-(Y[11]*SQRT3*SQRT2)+Y[9]*SQRT3*SQRT2-(Y[7]*SQRT3*SQRT2)+Y[5]*SQRT3*
X     SQRT2-(Y[3]*SQRT3*SQRT2)+Y[1]*SQRT3*SQRT2)/6.0;
X    u[4]=(-(Y[12]*SQRT3*SQRT2)+Y[10]*SQRT3*SQRT2-(Y[8]*SQRT3*SQRT2)+Y[6]*SQRT3*
X     SQRT2-(Y[4]*SQRT3*SQRT2)+Y[2]*SQRT3*SQRT2)/6.0;
X    u[5]=(-Y[9]-Y[7]+Y[3]+Y[1])/2.0;
X    u[6]=(-Y[10]-Y[8]+Y[4]+Y[2])/2.0;
X    u[7]=(-(2.0*Y[11]*SQRT3)-(Y[9]*SQRT3)+Y[7]*SQRT3+2.0*Y[5]*SQRT3+Y[3]*SQRT3-(
X     Y[1]*SQRT3))/6.0;
X    u[8]=(-(2.0*Y[12]*SQRT3)-(Y[10]*SQRT3)+Y[8]*SQRT3+2.0*Y[6]*SQRT3+Y[
X4]*SQRT3-
X     (Y[2]*SQRT3))/6.0;
X    u[9]=(-(2.0*Y[11]*SQRT3)+Y[9]*SQRT3+Y[7]*SQRT3-(2.0*Y[5]*SQRT3)+Y[3]*SQRT3+Y
X     [1]*SQRT3)/6.0;
X    u[10]=(-(2.0*Y[12]*SQRT3)+Y[10]*SQRT3+Y[8]*SQRT3-(2.0*Y[6]*SQRT3)+Y[
X4]*SQRT3
X     +Y[2]*SQRT3)/6.0;
X    u[11]=(Y[9]-Y[7]+Y[3]-Y[1])/2.0;
X    u[12]=(Y[10]-Y[8]+Y[4]-Y[2])/2.0;
X}
X
Xstatic void trans1ID(U,y)
Xdouble *U,*y;
X{
X    y[1]=(-(3.0*U[11])+U[9]*SQRT3-(U[7]*SQRT3)+3.0*U[5]+U[3]*SQRT3*SQRT2+U[
X1]*
X     SQRT3*SQRT2)/6.0;
X    y[2]=(-(3.0*U[12])+U[10]*SQRT3-(U[8]*SQRT3)+3.0*U[6]+U[4]*SQRT3*SQRT2+U[
X2]*
X     SQRT3*SQRT2)/6.0;
X    y[3]=(3.0*U[11]+U[9]*SQRT3+U[7]*SQRT3+3.0*U[5]-(U[3]*SQRT3*SQRT2)+U[
X1]*SQRT3
X     *SQRT2)/6.0;
X    y[4]=(3.0*U[12]+U[10]*SQRT3+U[8]*SQRT3+3.0*U[6]-(U[4]*SQRT3*SQRT2)+U[
X2]*
X     SQRT3*SQRT2)/6.0;
X    y[5]=(-(2.0*U[9]*SQRT3)+2.0*U[7]*SQRT3+U[3]*SQRT3*SQRT2+U[1]*SQRT3*SQRT2)/
X     6.0;
X    y[6]=(-(2.0*U[10]*SQRT3)+2.0*U[8]*SQRT3+U[4]*SQRT3*SQRT2+U[2]*SQRT3*SQRT2)/
X     6.0;
X    y[7]=(-(3.0*U[11])+U[9]*SQRT3+U[7]*SQRT3-(3.0*U[5])-(U[3]*SQRT3*SQRT2)+U[
X1]*
X     SQRT3*SQRT2)/6.0;
X    y[8]=(-(3.0*U[12])+U[10]*SQRT3+U[8]*SQRT3-(3.0*U[6])-(U[4]*SQRT3*SQRT2)+U[
X2]
X     *SQRT3*SQRT2)/6.0;
X    y[9]=(3.0*U[11]+U[9]*SQRT3-(U[7]*SQRT3)-(3.0*U[5])+U[3]*SQRT3*SQRT2+U[
X1]*
X     SQRT3*SQRT2)/6.0;
X    y[10]=(3.0*U[12]+U[10]*SQRT3-(U[8]*SQRT3)-(3.0*U[6])+U[4]*SQRT3*SQRT2+U[
X2]*
X     SQRT3*SQRT2)/6.0;
X    y[11]=(-(2.0*U[9]*SQRT3)-(2.0*U[7]*SQRT3)-(U[3]*SQRT3*SQRT2)+U[1]*SQRT3*
X     SQRT2)/6.0;
X    y[12]=(-(2.0*U[10]*SQRT3)-(2.0*U[8]*SQRT3)-(U[4]*SQRT3*SQRT2)+U[2]*SQRT3*
X     SQRT2)/6.0;
X}
X
Xstatic void transformID(U,y)
Xdouble *U,*y;
X{
Xtrans1ID(U,y);
Xy[13]=U[13];
X}
X
Xstatic void invtransformID(Y,u)
Xdouble *Y,*u;
X{
Xinvtrans1ID(Y,u);
Xu[13]=Y[13];
X}
X 
Xstatic void testIDZ21(U,t)
Xdouble *U,*t;
X{
X    t[1]=(U[7]*SQRT3-U[5])/2.0;
X    t[2]=(U[8]*SQRT3-U[6])/2.0;
X    t[3]=(U[11]-(U[9]*SQRT3))/2.0;
X    t[4]=(U[12]-(U[10]*SQRT3))/2.0;
X}
Xstatic void testIDZ23(U,t)
Xdouble *U,*t;
X{
X    t[1]=U[5];
X    t[2]=U[6];
X    t[3]=U[11];
X    t[4]=U[12];
X}
Xstatic void testIDZ25(U,t)
Xdouble *U,*t;
X{
X    t[1]=(U[7]*SQRT3+U[5])/2.0;
X    t[2]=(U[8]*SQRT3+U[6])/2.0;
X    t[3]=(U[11]+U[9]*SQRT3)/2.0;
X    t[4]=(U[12]+U[10]*SQRT3)/2.0;
X}
Xstatic void testIDC2(U,t)
Xdouble *U,*t;
X{
X    t[1]=U[3];
X    t[2]=U[4];
X    t[3]=U[5];
X    t[4]=U[6];
X    t[5]=U[7];
X    t[6]=U[8];
X}
Xstatic void testIDZ20(U,t)
Xdouble *U,*t;
X{
X    t[1]=U[3];
X    t[2]=U[4];
X    t[3]=U[7];
X    t[4]=U[8];
X    t[5]=U[11];
X    t[6]=U[12];
X}
Xstatic void testIDZ24(U,t)
Xdouble *U,*t;
X{
X    t[1]=U[3];
X    t[2]=U[4];
X    t[3]=(U[7]+U[5]*SQRT3)/2.0;
X    t[4]=(U[8]+U[6]*SQRT3)/2.0;
X    t[5]=(U[11]-(U[9]*SQRT3))/2.0;
X    t[6]=(U[12]-(U[10]*SQRT3))/2.0;
X}
Xstatic void testIDZ22(U,t)
Xdouble *U,*t;
X{
X    t[1]=U[3];
X    t[2]=U[4];
X    t[3]=(U[7]-(U[5]*SQRT3))/2.0;
X    t[4]=(U[8]-(U[6]*SQRT3))/2.0;
X    t[5]=(U[11]+U[9]*SQRT3)/2.0;
X    t[6]=(U[12]+U[10]*SQRT3)/2.0;
X}
Xstatic void init_ID()
X{
X    Op *op;
X    ID->label="ID";
X    ID->implemented=TRUE;
X    ID->transform=transformID;
X    ID->inv_transform=invtransformID;
X    append_op(ID,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(ID,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(ID,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(ID,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(ID,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(ID,D6_proc_7,D6_proc_7,change_group_7,isotypic_triv);
X    append_op(ID,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(ID,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(ID,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(ID,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(ID,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(ID,D6_proc_7,D6_proc_7,change_group_7,isotypic_triv);
X    ID->m[1]=12;
X    ID->g=gID;
X    ID->dg[1]=dgID1;
X    ID->cg[1]=cgID1;
X    ID->iso_transform[1]=trans1ID;
X    ID->inv_iso_transform[1]=invtrans1ID;
X    ID->test[1]=testIDZ21;
X    ID->test[2]=testIDZ23;
X    ID->test[3]=testIDZ25;
X    ID->test[4]=testIDC2;
X    ID->test[5]=testIDZ20;
X    ID->test[6]=testIDZ24;
X    ID->test[7]=testIDZ22;
X    ID->ntest[1]=4;
X    ID->ntest[2]=4;
X    ID->ntest[3]=4;
X    ID->ntest[4]=6;
X    ID->ntest[5]=6;
X    ID->ntest[6]=6;
X    ID->ntest[7]=6;
X    ID->supergroup[1]=Z21;
X    ID->supergroup[2]=Z23;
X    ID->supergroup[3]=Z25;
X    ID->supergroup[4]=C2;
X    ID->supergroup[5]=Z20;
X    ID->supergroup[6]=Z24;
X    ID->supergroup[7]=Z22;
X    ID->next=nil;
X    ID->no=ID_NO;
X}
Xstatic void gZ21(U,g)
Xdouble *U,*g;
X{
Xg_num(Z21,U,g);
X}
X 
Xstatic void dgZ211(U,dgu)
Xdouble *U,**dgu;
X{
Xdg_num(Z21,U,dgu); 
X}
X 
Xstatic void dgZ212(U,dgu)
Xdouble *U,**dgu;
X{
Xdgi_num(Z21,2,U,dgu);
X}
X 
Xstatic void cgZ211(U,Z,c)
Xdouble *U,*Z,**c;
X{
Xcg_num(Z21,U,Z,c);
X}
Xstatic void cgZ212(U,Z,c)
Xdouble *U,*Z,**c;
X{
Xcgi_num(Z21,2,U,Z,c);
X}
Xstatic void invtrans1Z21(Y,u)
Xdouble *Y,*u;
X{
X    u[1]=(Y[11]*SQRT3*SQRT2+Y[9]*SQRT3*SQRT2+Y[7]*SQRT3*SQRT2+Y[5]*SQRT3*SQRT2+Y
X     [3]*SQRT3*SQRT2+Y[1]*SQRT3*SQRT2)/6.0;
X    u[2]=(Y[12]*SQRT3*SQRT2+Y[10]*SQRT3*SQRT2+Y[8]*SQRT3*SQRT2+Y[6]*SQRT3*SQRT2+
X     Y[4]*SQRT3*SQRT2+Y[2]*SQRT3*SQRT2)/6.0;
X    u[3]=(-(Y[11]*SQRT3*SQRT2)+Y[9]*SQRT3*SQRT2-(Y[7]*SQRT3*SQRT2)+Y[5]*SQRT3*
X     SQRT2-(Y[3]*SQRT3*SQRT2)+Y[1]*SQRT3*SQRT2)/6.0;
X    u[4]=(-(Y[12]*SQRT3*SQRT2)+Y[10]*SQRT3*SQRT2-(Y[8]*SQRT3*SQRT2)+Y[6]*SQRT3*
X     SQRT2-(Y[4]*SQRT3*SQRT2)+Y[2]*SQRT3*SQRT2)/6.0;
X    u[5]=(-(Y[11]*SQRT3)-(2.0*Y[9]*SQRT3)-(Y[7]*SQRT3)+Y[5]*SQRT3+2.0*Y[
X3]*SQRT3
X     +Y[1]*SQRT3)/6.0;
X    u[6]=(-(Y[12]*SQRT3)-(2.0*Y[10]*SQRT3)-(Y[8]*SQRT3)+Y[6]*SQRT3+
X2.0*Y[4]*
X     SQRT3+Y[2]*SQRT3)/6.0;
X    u[7]=(-(Y[11]*SQRT3)+2.0*Y[9]*SQRT3-(Y[7]*SQRT3)-(Y[5]*SQRT3)+2.0*Y[
X3]*SQRT3
X     -(Y[1]*SQRT3))/6.0;
X    u[8]=(-(Y[12]*SQRT3)+2.0*Y[10]*SQRT3-(Y[8]*SQRT3)-(Y[6]*SQRT3)+
X2.0*Y[4]*
X     SQRT3-(Y[2]*SQRT3))/6.0;
X}
X
Xstatic void trans1Z21(U,y)
Xdouble *U,*y;
X{
X    y[1]=(-(U[7]*SQRT3)+U[5]*SQRT3+U[3]*SQRT3*SQRT2+U[1]*SQRT3*SQRT2)/
X6.0;
X    y[2]=(-(U[8]*SQRT3)+U[6]*SQRT3+U[4]*SQRT3*SQRT2+U[2]*SQRT3*SQRT2)/
X6.0;
X    y[3]=(2.0*U[7]*SQRT3+2.0*U[5]*SQRT3-(U[3]*SQRT3*SQRT2)+U[1]*SQRT3*SQRT2)/
X6.0
X     ;
X    y[4]=(2.0*U[8]*SQRT3+2.0*U[6]*SQRT3-(U[4]*SQRT3*SQRT2)+U[2]*SQRT3*SQRT2)/
X6.0
X     ;
X    y[5]=(-(U[7]*SQRT3)+U[5]*SQRT3+U[3]*SQRT3*SQRT2+U[1]*SQRT3*SQRT2)/
X6.0;
X    y[6]=(-(U[8]*SQRT3)+U[6]*SQRT3+U[4]*SQRT3*SQRT2+U[2]*SQRT3*SQRT2)/
X6.0;
X    y[7]=(-(U[7]*SQRT3)-(U[5]*SQRT3)-(U[3]*SQRT3*SQRT2)+U[1]*SQRT3*SQRT2)/
X6.0;
X    y[8]=(-(U[8]*SQRT3)-(U[6]*SQRT3)-(U[4]*SQRT3*SQRT2)+U[2]*SQRT3*SQRT2)/
X6.0;
X    y[9]=(2.0*U[7]*SQRT3-(2.0*U[5]*SQRT3)+U[3]*SQRT3*SQRT2+U[1]*SQRT3*SQRT2)/
X6.0
X     ;
X    y[10]=(2.0*U[8]*SQRT3-(2.0*U[6]*SQRT3)+U[4]*SQRT3*SQRT2+U[2]*SQRT3*SQRT2)/
X     6.0;
X    y[11]=(-(U[7]*SQRT3)-(U[5]*SQRT3)-(U[3]*SQRT3*SQRT2)+U[1]*SQRT3*SQRT2)/
X6.0;
X    y[12]=(-(U[8]*SQRT3)-(U[6]*SQRT3)-(U[4]*SQRT3*SQRT2)+U[2]*SQRT3*SQRT2)/
X6.0;
X}
X
Xstatic void invtrans2Z21(Y,u)
Xdouble *Y,*u;
X{
X    u[1]=(-Y[11]+Y[7]+Y[5]-Y[1])/2.0;
X    u[2]=(-Y[12]+Y[8]+Y[6]-Y[2])/2.0;
X    u[3]=(Y[11]-Y[7]+Y[5]-Y[1])/2.0;
X    u[4]=(Y[12]-Y[8]+Y[6]-Y[2])/2.0;
X}
X
Xstatic void trans2Z21(U,y)
Xdouble *U,*y;
X{
X    y[1]=(-U[3]-U[1])/2.0;
X    y[2]=(-U[4]-U[2])/2.0;
X    y[3]=0.0;
X    y[4]=0.0;
X    y[5]=(U[3]+U[1])/2.0;
X    y[6]=(U[4]+U[2])/2.0;
X    y[7]=(-U[3]+U[1])/2.0;
X    y[8]=(-U[4]+U[2])/2.0;
X    y[9]=0.0;
X    y[10]=0.0;
X    y[11]=(U[3]-U[1])/2.0;
X    y[12]=(U[4]-U[2])/2.0;
X}
X
Xstatic void transformZ21(U,y)
Xdouble *U,*y;
X{
Xtrans1Z21(U,y);
Xy[13]=U[9];
X}
X
Xstatic void invtransformZ21(Y,u)
Xdouble *Y,*u;
X{
Xinvtrans1Z21(Y,u);
Xu[9]=Y[13];
X}
X 
Xstatic void tangentZ21nachID(Z,y)
Xdouble *Z,*y;
X{
X    y[1]=0.0;
X    y[2]=0.0;
X    y[3]=0.0;
X    y[4]=0.0;
X    y[5]=-Z[1]/2.0;
X    y[6]=-Z[2]/2.0;
X    y[7]=(Z[1]*SQRT3)/2.0;
X    y[8]=(Z[2]*SQRT3)/2.0;
X    y[9]=-(Z[3]*SQRT3)/2.0;
X    y[10]=-(Z[4]*SQRT3)/2.0;
X    y[11]=Z[3]/2.0;
X    y[12]=Z[4]/2.0;
X    y[13]=0.0;
X}
Xstatic void testZ21D32(U,t)
Xdouble *U,*t;
X{
X    t[1]=(U[5]*SQRT3)/2.0;
X    t[2]=(U[6]*SQRT3)/2.0;
X    t[3]=(U[7]*SQRT3)/2.0;
X    t[4]=(U[8]*SQRT3)/2.0;
X}
Xstatic void testZ21K62(U,t)
Xdouble *U,*t;
X{
X    t[1]=U[3];
X    t[2]=U[4];
X    t[3]=U[5];
X    t[4]=U[6];
X}
Xstatic void testZ21D6(U,t)
Xdouble *U,*t;
X{
X    t[1]=U[3];
X    t[2]=U[4];
X    t[3]=(U[5]*SQRT3)/2.0;
X    t[4]=(U[6]*SQRT3)/2.0;
X    t[5]=U[7]/2.0;
X    t[6]=U[8]/2.0;
X    t[7]=(U[7]*SQRT3)/2.0;
X    t[8]=(U[8]*SQRT3)/2.0;
X}
Xstatic void init_Z21()
X{
X    Op *op;
X    Z21->label="Z21";
X    Z21->implemented=TRUE;
X    Z21->transform=transformZ21;
X    Z21->inv_transform=invtransformZ21;
X    append_op(Z21,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(Z21,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(Z21,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(Z21,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(Z21,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(Z21,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    Z21->m[1]=8;
X    Z21->m[2]=4;
X    Z21->g=gZ21;
X    Z21->dg[1]=dgZ211;
X    Z21->dg[2]=dgZ212;
X    Z21->cg[1]=cgZ211;
X    Z21->cg[2]=cgZ212;
X    Z21->iso_transform[1]=trans1Z21;
X    Z21->iso_transform[2]=trans2Z21;
X    Z21->inv_iso_transform[1]=invtrans1Z21;
X    Z21->inv_iso_transform[2]=invtrans2Z21;
X    Z21->subgroup[2][1]=ID;
X    Z21->symmetric[2][1]=TRUE;
X    Z21->tangent[2][1]=tangentZ21nachID;
X    Z21->test[1]=testZ21D32;
X    Z21->test[2]=testZ21K62;
X    Z21->test[3]=testZ21D6;
X    Z21->ntest[1]=4;
X    Z21->ntest[2]=4;
X    Z21->ntest[3]=8;
X    Z21->supergroup[1]=D32;
X    Z21->supergroup[2]=K62;
X    Z21->supergroup[3]=D6;
X    Z21->next=ID;
X    Z21->no=Z21_NO;
X}
Xstatic void invtrans1Z23(Y,u)
Xdouble *Y,*u;
X{
X    u[1]=(Y[11]*SQRT3*SQRT2+Y[9]*SQRT3*SQRT2+Y[7]*SQRT3*SQRT2+Y[5]*SQRT3*SQRT2+Y
X     [3]*SQRT3*SQRT2+Y[1]*SQRT3*SQRT2)/6.0;
X    u[2]=(Y[12]*SQRT3*SQRT2+Y[10]*SQRT3*SQRT2+Y[8]*SQRT3*SQRT2+Y[6]*SQRT3*SQRT2+
X     Y[4]*SQRT3*SQRT2+Y[2]*SQRT3*SQRT2)/6.0;
X    u[3]=(-(Y[11]*SQRT3*SQRT2)+Y[9]*SQRT3*SQRT2-(Y[7]*SQRT3*SQRT2)+Y[5]*SQRT3*
X     SQRT2-(Y[3]*SQRT3*SQRT2)+Y[1]*SQRT3*SQRT2)/6.0;
X    u[4]=(-(Y[12]*SQRT3*SQRT2)+Y[10]*SQRT3*SQRT2-(Y[8]*SQRT3*SQRT2)+Y[6]*SQRT3*
X     SQRT2-(Y[4]*SQRT3*SQRT2)+Y[2]*SQRT3*SQRT2)/6.0;
X    u[5]=(-(2.0*Y[11]*SQRT3)-(Y[9]*SQRT3)+Y[7]*SQRT3+2.0*Y[5]*SQRT3+Y[3]*SQRT3-(
X     Y[1]*SQRT3))/6.0;
X    u[6]=(-(2.0*Y[12]*SQRT3)-(Y[10]*SQRT3)+Y[8]*SQRT3+2.0*Y[6]*SQRT3+Y[
X4]*SQRT3-
X     (Y[2]*SQRT3))/6.0;
X    u[7]=(-(2.0*Y[11]*SQRT3)+Y[9]*SQRT3+Y[7]*SQRT3-(2.0*Y[5]*SQRT3)+Y[3]*SQRT3+Y
X     [1]*SQRT3)/6.0;
X    u[8]=(-(2.0*Y[12]*SQRT3)+Y[10]*SQRT3+Y[8]*SQRT3-(2.0*Y[6]*SQRT3)+Y[
X4]*SQRT3+
X     Y[2]*SQRT3)/6.0;
X}
X
Xstatic void trans1Z23(U,y)
Xdouble *U,*y;
X{
X    y[1]=(U[7]*SQRT3-(U[5]*SQRT3)+U[3]*SQRT3*SQRT2+U[1]*SQRT3*SQRT2)/
X6.0;
X    y[2]=(U[8]*SQRT3-(U[6]*SQRT3)+U[4]*SQRT3*SQRT2+U[2]*SQRT3*SQRT2)/
X6.0;
X    y[3]=(U[7]*SQRT3+U[5]*SQRT3-(U[3]*SQRT3*SQRT2)+U[1]*SQRT3*SQRT2)/
X6.0;
X    y[4]=(U[8]*SQRT3+U[6]*SQRT3-(U[4]*SQRT3*SQRT2)+U[2]*SQRT3*SQRT2)/
X6.0;
X    y[5]=(-(2.0*U[7]*SQRT3)+2.0*U[5]*SQRT3+U[3]*SQRT3*SQRT2+U[1]*SQRT3*SQRT2)/
X     6.0;
X    y[6]=(-(2.0*U[8]*SQRT3)+2.0*U[6]*SQRT3+U[4]*SQRT3*SQRT2+U[2]*SQRT3*SQRT2)/
X     6.0;
X    y[7]=(U[7]*SQRT3+U[5]*SQRT3-(U[3]*SQRT3*SQRT2)+U[1]*SQRT3*SQRT2)/
X6.0;
X    y[8]=(U[8]*SQRT3+U[6]*SQRT3-(U[4]*SQRT3*SQRT2)+U[2]*SQRT3*SQRT2)/
X6.0;
X    y[9]=(U[7]*SQRT3-(U[5]*SQRT3)+U[3]*SQRT3*SQRT2+U[1]*SQRT3*SQRT2)/
X6.0;
X    y[10]=(U[8]*SQRT3-(U[6]*SQRT3)+U[4]*SQRT3*SQRT2+U[2]*SQRT3*SQRT2)/
X6.0;
X    y[11]=(-(2.0*U[7]*SQRT3)-(2.0*U[5]*SQRT3)-(U[3]*SQRT3*SQRT2)+U[1]*SQRT3*
X     SQRT2)/6.0;
X    y[12]=(-(2.0*U[8]*SQRT3)-(2.0*U[6]*SQRT3)-(U[4]*SQRT3*SQRT2)+U[2]*SQRT3*
X     SQRT2)/6.0;
X}
X
Xstatic void transformZ23(U,y)
Xdouble *U,*y;
X{
Xtrans1Z23(U,y);
Xy[13]=U[9];
X}
X
Xstatic void invtransformZ23(Y,u)
Xdouble *Y,*u;
X{
Xinvtrans1Z23(Y,u);
Xu[9]=Y[13];
X}
X 
Xstatic void tangentZ23nachID(Z,y)
Xdouble *Z,*y;
X{
X    y[1]=0.0;
X    y[2]=0.0;
X    y[3]=0.0;
X    y[4]=0.0;
X    y[5]=Z[1];
X    y[6]=Z[2];
X    y[7]=0.0;
X    y[8]=0.0;
X    y[9]=0.0;
X    y[10]=0.0;
X    y[11]=Z[3];
X    y[12]=Z[4];
X    y[13]=0.0;
X}
Xstatic void init_Z23()
X{
X    Op *op;
X    Z23->label="Z23";
X    Z23->implemented=FALSE;
X    Z23->transform=transformZ23;
X    Z23->inv_transform=invtransformZ23;
X    append_op(Z23,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(Z23,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(Z23,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(Z23,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(Z23,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(Z23,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    Z23->m[1]=8;
X    Z23->m[2]=4;
X    Z23->subgroup[2][1]=ID;
X    Z23->symmetric[2][1]=TRUE;
X    Z23->tangent[2][1]=tangentZ23nachID;
X    Z23->supergroup[1]=D32;
X    Z23->supergroup[2]=K61;
X    Z23->supergroup[3]=D6;
X    Z23->next=Z21;
X    Z23->no=Z23_NO;
X}
Xstatic void invtrans1Z25(Y,u)
Xdouble *Y,*u;
X{
X    u[1]=(Y[11]*SQRT3*SQRT2+Y[9]*SQRT3*SQRT2+Y[7]*SQRT3*SQRT2+Y[5]*SQRT3*SQRT2+Y
X     [3]*SQRT3*SQRT2+Y[1]*SQRT3*SQRT2)/6.0;
X    u[2]=(Y[12]*SQRT3*SQRT2+Y[10]*SQRT3*SQRT2+Y[8]*SQRT3*SQRT2+Y[6]*SQRT3*SQRT2+
X     Y[4]*SQRT3*SQRT2+Y[2]*SQRT3*SQRT2)/6.0;
X    u[3]=(-(Y[11]*SQRT3*SQRT2)+Y[9]*SQRT3*SQRT2-(Y[7]*SQRT3*SQRT2)+Y[5]*SQRT3*
X     SQRT2-(Y[3]*SQRT3*SQRT2)+Y[1]*SQRT3*SQRT2)/6.0;
X    u[4]=(-(Y[12]*SQRT3*SQRT2)+Y[10]*SQRT3*SQRT2-(Y[8]*SQRT3*SQRT2)+Y[6]*SQRT3*
X     SQRT2-(Y[4]*SQRT3*SQRT2)+Y[2]*SQRT3*SQRT2)/6.0;
X    u[5]=(-(Y[11]*SQRT3)+Y[9]*SQRT3+2.0*Y[7]*SQRT3+Y[5]*SQRT3-(Y[3]*SQRT3)-(
X2.0*
X     Y[1]*SQRT3))/6.0;
X    u[6]=(-(Y[12]*SQRT3)+Y[10]*SQRT3+2.0*Y[8]*SQRT3+Y[6]*SQRT3-(Y[4]*SQRT3)-(
X2.0
X     *Y[2]*SQRT3))/6.0;
X    u[7]=(-(Y[11]*SQRT3)-(Y[9]*SQRT3)+2.0*Y[7]*SQRT3-(Y[5]*SQRT3)-(Y[3]*SQRT3)+
X     2.0*Y[1]*SQRT3)/6.0;
X    u[8]=(-(Y[12]*SQRT3)-(Y[10]*SQRT3)+2.0*Y[8]*SQRT3-(Y[6]*SQRT3)-(Y[4]*SQRT3)+
X     2.0*Y[2]*SQRT3)/6.0;
X}
X
Xstatic void trans1Z25(U,y)
Xdouble *U,*y;
X{
X    y[1]=(2.0*U[7]*SQRT3-(2.0*U[5]*SQRT3)+U[3]*SQRT3*SQRT2+U[1]*SQRT3*SQRT2)/
X6.0
X     ;
X    y[2]=(2.0*U[8]*SQRT3-(2.0*U[6]*SQRT3)+U[4]*SQRT3*SQRT2+U[2]*SQRT3*SQRT2)/
X6.0
X     ;
X    y[3]=(-(U[7]*SQRT3)-(U[5]*SQRT3)-(U[3]*SQRT3*SQRT2)+U[1]*SQRT3*SQRT2)/
X6.0;
X    y[4]=(-(U[8]*SQRT3)-(U[6]*SQRT3)-(U[4]*SQRT3*SQRT2)+U[2]*SQRT3*SQRT2)/
X6.0;
X    y[5]=(-(U[7]*SQRT3)+U[5]*SQRT3+U[3]*SQRT3*SQRT2+U[1]*SQRT3*SQRT2)/
X6.0;
X    y[6]=(-(U[8]*SQRT3)+U[6]*SQRT3+U[4]*SQRT3*SQRT2+U[2]*SQRT3*SQRT2)/
X6.0;
X    y[7]=(2.0*U[7]*SQRT3+2.0*U[5]*SQRT3-(U[3]*SQRT3*SQRT2)+U[1]*SQRT3*SQRT2)/
X6.0
X     ;
X    y[8]=(2.0*U[8]*SQRT3+2.0*U[6]*SQRT3-(U[4]*SQRT3*SQRT2)+U[2]*SQRT3*SQRT2)/
X6.0
X     ;
X    y[9]=(-(U[7]*SQRT3)+U[5]*SQRT3+U[3]*SQRT3*SQRT2+U[1]*SQRT3*SQRT2)/
X6.0;
X    y[10]=(-(U[8]*SQRT3)+U[6]*SQRT3+U[4]*SQRT3*SQRT2+U[2]*SQRT3*SQRT2)/
X6.0;
X    y[11]=(-(U[7]*SQRT3)-(U[5]*SQRT3)-(U[3]*SQRT3*SQRT2)+U[1]*SQRT3*SQRT2)/
X6.0;
X    y[12]=(-(U[8]*SQRT3)-(U[6]*SQRT3)-(U[4]*SQRT3*SQRT2)+U[2]*SQRT3*SQRT2)/
X6.0;
X}
X
Xstatic void transformZ25(U,y)
Xdouble *U,*y;
X{
Xtrans1Z25(U,y);
Xy[13]=U[9];
X}
X
Xstatic void invtransformZ25(Y,u)
Xdouble *Y,*u;
X{
Xinvtrans1Z25(Y,u);
Xu[9]=Y[13];
X}
X 
Xstatic void tangentZ25nachID(Z,y)
Xdouble *Z,*y;
X{
X    y[1]=0.0;
X    y[2]=0.0;
X    y[3]=0.0;
X    y[4]=0.0;
X    y[5]=Z[1]/2.0;
X    y[6]=Z[2]/2.0;
X    y[7]=(Z[1]*SQRT3)/2.0;
X    y[8]=(Z[2]*SQRT3)/2.0;
X    y[9]=(Z[3]*SQRT3)/2.0;
X    y[10]=(Z[4]*SQRT3)/2.0;
X    y[11]=Z[3]/2.0;
X    y[12]=Z[4]/2.0;
X    y[13]=0.0;
X}
Xstatic void init_Z25()
X{
X    Op *op;
X    Z25->label="Z25";
X    Z25->implemented=FALSE;
X    Z25->transform=transformZ25;
X    Z25->inv_transform=invtransformZ25;
X    append_op(Z25,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(Z25,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(Z25,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(Z25,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(Z25,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(Z25,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    Z25->m[1]=8;
X    Z25->m[2]=4;
X    Z25->subgroup[2][1]=ID;
X    Z25->symmetric[2][1]=TRUE;
X    Z25->tangent[2][1]=tangentZ25nachID;
X    Z25->supergroup[1]=D32;
X    Z25->supergroup[2]=K63;
X    Z25->supergroup[3]=D6;
X    Z25->next=Z23;
X    Z25->no=Z25_NO;
X}
Xstatic void gC2(U,g)
Xdouble *U,*g;
X{
Xg_num(C2,U,g);
X}
X 
Xstatic void dgC21(U,dgu)
Xdouble *U,**dgu;
X{
Xdg_num(C2,U,dgu); 
X}
X 
Xstatic void dgC22(U,dgu)
Xdouble *U,**dgu;
X{
Xdgi_num(C2,2,U,dgu);
X}
X 
Xstatic void cgC21(U,Z,c)
Xdouble *U,*Z,**c;
X{
Xcg_num(C2,U,Z,c);
X}
Xstatic void cgC22(U,Z,c)
Xdouble *U,*Z,**c;
X{
Xcgi_num(C2,2,U,Z,c);
X}
Xstatic void invtrans1C2(Y,u)
Xdouble *Y,*u;
X{
X    u[1]=(Y[11]*SQRT3*SQRT2+Y[9]*SQRT3*SQRT2+Y[7]*SQRT3*SQRT2+Y[5]*SQRT3*SQRT2+Y
X     [3]*SQRT3*SQRT2+Y[1]*SQRT3*SQRT2)/6.0;
X    u[2]=(Y[12]*SQRT3*SQRT2+Y[10]*SQRT3*SQRT2+Y[8]*SQRT3*SQRT2+Y[6]*SQRT3*SQRT2+
X     Y[4]*SQRT3*SQRT2+Y[2]*SQRT3*SQRT2)/6.0;
X    u[3]=(-(2.0*Y[11]*SQRT3)+Y[9]*SQRT3+Y[7]*SQRT3-(2.0*Y[5]*SQRT3)+Y[3]*SQRT3+Y
X     [1]*SQRT3)/6.0;
X    u[4]=(-(2.0*Y[12]*SQRT3)+Y[10]*SQRT3+Y[8]*SQRT3-(2.0*Y[6]*SQRT3)+Y[
X4]*SQRT3+
X     Y[2]*SQRT3)/6.0;
X    u[5]=(Y[9]-Y[7]+Y[3]-Y[1])/2.0;
X    u[6]=(Y[10]-Y[8]+Y[4]-Y[2])/2.0;
X}
X
Xstatic void trans1C2(U,y)
Xdouble *U,*y;
X{
X    y[1]=(-(3.0*U[5])+U[3]*SQRT3+U[1]*SQRT3*SQRT2)/6.0;
X    y[2]=(-(3.0*U[6])+U[4]*SQRT3+U[2]*SQRT3*SQRT2)/6.0;
X    y[3]=(3.0*U[5]+U[3]*SQRT3+U[1]*SQRT3*SQRT2)/6.0;
X    y[4]=(3.0*U[6]+U[4]*SQRT3+U[2]*SQRT3*SQRT2)/6.0;
X    y[5]=(-(2.0*U[3]*SQRT3)+U[1]*SQRT3*SQRT2)/6.0;
X    y[6]=(-(2.0*U[4]*SQRT3)+U[2]*SQRT3*SQRT2)/6.0;
X    y[7]=(-(3.0*U[5])+U[3]*SQRT3+U[1]*SQRT3*SQRT2)/6.0;
X    y[8]=(-(3.0*U[6])+U[4]*SQRT3+U[2]*SQRT3*SQRT2)/6.0;
X    y[9]=(3.0*U[5]+U[3]*SQRT3+U[1]*SQRT3*SQRT2)/6.0;
X    y[10]=(3.0*U[6]+U[4]*SQRT3+U[2]*SQRT3*SQRT2)/6.0;
X    y[11]=(-(2.0*U[3]*SQRT3)+U[1]*SQRT3*SQRT2)/6.0;
X    y[12]=(-(2.0*U[4]*SQRT3)+U[2]*SQRT3*SQRT2)/6.0;
X}
X
Xstatic void invtrans2C2(Y,u)
Xdouble *Y,*u;
X{
X    u[1]=(-(Y[11]*SQRT3*SQRT2)+Y[9]*SQRT3*SQRT2-(Y[7]*SQRT3*SQRT2)+Y[5]*SQRT3*
X     SQRT2-(Y[3]*SQRT3*SQRT2)+Y[1]*SQRT3*SQRT2)/6.0;
X    u[2]=(-(Y[12]*SQRT3*SQRT2)+Y[10]*SQRT3*SQRT2-(Y[8]*SQRT3*SQRT2)+Y[6]*SQRT3*
X     SQRT2-(Y[4]*SQRT3*SQRT2)+Y[2]*SQRT3*SQRT2)/6.0;
X    u[3]=(-Y[9]-Y[7]+Y[3]+Y[1])/2.0;
X    u[4]=(-Y[10]-Y[8]+Y[4]+Y[2])/2.0;
X    u[5]=(-(2.0*Y[11]*SQRT3)-(Y[9]*SQRT3)+Y[7]*SQRT3+2.0*Y[5]*SQRT3+Y[3]*SQRT3-(
X     Y[1]*SQRT3))/6.0;
X    u[6]=(-(2.0*Y[12]*SQRT3)-(Y[10]*SQRT3)+Y[8]*SQRT3+2.0*Y[6]*SQRT3+Y[
X4]*SQRT3-
X     (Y[2]*SQRT3))/6.0;
X}
X
Xstatic void trans2C2(U,y)
Xdouble *U,*y;
X{
X    y[1]=(-(U[5]*SQRT3)+3.0*U[3]+U[1]*SQRT3*SQRT2)/6.0;
X    y[2]=(-(U[6]*SQRT3)+3.0*U[4]+U[2]*SQRT3*SQRT2)/6.0;
X    y[3]=(U[5]*SQRT3+3.0*U[3]-(U[1]*SQRT3*SQRT2))/6.0;
X    y[4]=(U[6]*SQRT3+3.0*U[4]-(U[2]*SQRT3*SQRT2))/6.0;
X    y[5]=(2.0*U[5]*SQRT3+U[1]*SQRT3*SQRT2)/6.0;
X    y[6]=(2.0*U[6]*SQRT3+U[2]*SQRT3*SQRT2)/6.0;
X    y[7]=(U[5]*SQRT3-(3.0*U[3])-(U[1]*SQRT3*SQRT2))/6.0;
X    y[8]=(U[6]*SQRT3-(3.0*U[4])-(U[2]*SQRT3*SQRT2))/6.0;
X    y[9]=(-(U[5]*SQRT3)-(3.0*U[3])+U[1]*SQRT3*SQRT2)/6.0;
X    y[10]=(-(U[6]*SQRT3)-(3.0*U[4])+U[2]*SQRT3*SQRT2)/6.0;
X    y[11]=(-(2.0*U[5]*SQRT3)-(U[1]*SQRT3*SQRT2))/6.0;
X    y[12]=(-(2.0*U[6]*SQRT3)-(U[2]*SQRT3*SQRT2))/6.0;
X}
X
Xstatic void transformC2(U,y)
Xdouble *U,*y;
X{
Xtrans1C2(U,y);
Xy[13]=U[7];
X}
X
Xstatic void invtransformC2(Y,u)
Xdouble *Y,*u;
X{
Xinvtrans1C2(Y,u);
Xu[7]=Y[13];
X}
X 
Xstatic void tangentC2nachID(Z,y)
Xdouble *Z,*y;
X{
X    y[1]=0.0;
X    y[2]=0.0;
X    y[3]=Z[1];
X    y[4]=Z[2];
X    y[5]=Z[3];
X    y[6]=Z[4];
X    y[7]=Z[5];
X    y[8]=Z[6];
X    y[9]=0.0;
X    y[10]=0.0;
X    y[11]=0.0;
X    y[12]=0.0;
X    y[13]=0.0;
X}
Xstatic void testC2K61(U,t)
Xdouble *U,*t;
X{
X    t[1]=U[5];
X    t[2]=U[6];
X}
Xstatic void testC2K62(U,t)
Xdouble *U,*t;
X{
X    t[1]=(U[5]-(U[3]*SQRT3))/2.0;
X    t[2]=(U[6]-(U[4]*SQRT3))/2.0;
X}
Xstatic void testC2K63(U,t)
Xdouble *U,*t;
X{
X    t[1]=(U[5]+U[3]*SQRT3)/2.0;
X    t[2]=(U[6]+U[4]*SQRT3)/2.0;
X}
Xstatic void init_C2()
X{
X    Op *op;
X    C2->label="C2";
X    C2->implemented=TRUE;
X    C2->transform=transformC2;
X    C2->inv_transform=invtransformC2;
X    append_op(C2,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(C2,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(C2,D6_proc_7,D6_proc_7,change_group_7,isotypic_triv);
X    append_op(C2,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(C2,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(C2,D6_proc_7,D6_proc_7,change_group_7,isotypic_triv);
X    C2->m[1]=6;
X    C2->m[2]=6;
X    C2->g=gC2;
X    C2->dg[1]=dgC21;
X    C2->dg[2]=dgC22;
X    C2->cg[1]=cgC21;
X    C2->cg[2]=cgC22;
X    C2->iso_transform[1]=trans1C2;
X    C2->iso_transform[2]=trans2C2;
X    C2->inv_iso_transform[1]=invtrans1C2;
X    C2->inv_iso_transform[2]=invtrans2C2;
X    C2->subgroup[2][1]=ID;
X    C2->symmetric[2][1]=TRUE;
X    C2->tangent[2][1]=tangentC2nachID;
X    C2->test[1]=testC2K61;
X    C2->test[2]=testC2K62;
X    C2->test[3]=testC2K63;
X    C2->ntest[1]=2;
X    C2->ntest[2]=2;
X    C2->ntest[3]=2;
X    C2->supergroup[1]=K61;
X    C2->supergroup[2]=K62;
X    C2->supergroup[3]=K63;
X    C2->next=Z25;
X    C2->no=C2_NO;
X}
Xstatic void invtrans1Z20(Y,u)
Xdouble *Y,*u;
X{
X    u[1]=(Y[11]*SQRT3*SQRT2+Y[9]*SQRT3*SQRT2+Y[7]*SQRT3*SQRT2+Y[5]*SQRT3*SQRT2+Y
X     [3]*SQRT3*SQRT2+Y[1]*SQRT3*SQRT2)/6.0;
X    u[2]=(Y[12]*SQRT3*SQRT2+Y[10]*SQRT3*SQRT2+Y[8]*SQRT3*SQRT2+Y[6]*SQRT3*SQRT2+
X     Y[4]*SQRT3*SQRT2+Y[2]*SQRT3*SQRT2)/6.0;
X    u[3]=(-Y[9]-Y[7]+Y[3]+Y[1])/2.0;
X    u[4]=(-Y[10]-Y[8]+Y[4]+Y[2])/2.0;
X    u[5]=(-(2.0*Y[11]*SQRT3)+Y[9]*SQRT3+Y[7]*SQRT3-(2.0*Y[5]*SQRT3)+Y[3]*SQRT3+Y
X     [1]*SQRT3)/6.0;
X    u[6]=(-(2.0*Y[12]*SQRT3)+Y[10]*SQRT3+Y[8]*SQRT3-(2.0*Y[6]*SQRT3)+Y[
X4]*SQRT3+
X     Y[2]*SQRT3)/6.0;
X}
X
Xstatic void trans1Z20(U,y)
Xdouble *U,*y;
X{
X    y[1]=(U[5]*SQRT3+3.0*U[3]+U[1]*SQRT3*SQRT2)/6.0;
X    y[2]=(U[6]*SQRT3+3.0*U[4]+U[2]*SQRT3*SQRT2)/6.0;
X    y[3]=(U[5]*SQRT3+3.0*U[3]+U[1]*SQRT3*SQRT2)/6.0;
X    y[4]=(U[6]*SQRT3+3.0*U[4]+U[2]*SQRT3*SQRT2)/6.0;
X    y[5]=(-(2.0*U[5]*SQRT3)+U[1]*SQRT3*SQRT2)/6.0;
X    y[6]=(-(2.0*U[6]*SQRT3)+U[2]*SQRT3*SQRT2)/6.0;
X    y[7]=(U[5]*SQRT3-(3.0*U[3])+U[1]*SQRT3*SQRT2)/6.0;
X    y[8]=(U[6]*SQRT3-(3.0*U[4])+U[2]*SQRT3*SQRT2)/6.0;
X    y[9]=(U[5]*SQRT3-(3.0*U[3])+U[1]*SQRT3*SQRT2)/6.0;
X    y[10]=(U[6]*SQRT3-(3.0*U[4])+U[2]*SQRT3*SQRT2)/6.0;
X    y[11]=(-(2.0*U[5]*SQRT3)+U[1]*SQRT3*SQRT2)/6.0;
X    y[12]=(-(2.0*U[6]*SQRT3)+U[2]*SQRT3*SQRT2)/6.0;
X}
X
Xstatic void transformZ20(U,y)
Xdouble *U,*y;
X{
Xtrans1Z20(U,y);
Xy[13]=U[7];
X}
X
Xstatic void invtransformZ20(Y,u)
Xdouble *Y,*u;
X{
Xinvtrans1Z20(Y,u);
Xu[7]=Y[13];
X}
X 
Xstatic void tangentZ20nachID(Z,y)
Xdouble *Z,*y;
X{
X    y[1]=0.0;
X    y[2]=0.0;
X    y[3]=Z[1];
X    y[4]=Z[2];
X    y[5]=0.0;
X    y[6]=0.0;
X    y[7]=Z[3];
X    y[8]=Z[4];
X    y[9]=0.0;
X    y[10]=0.0;
X    y[11]=Z[5];
X    y[12]=Z[6];
X    y[13]=0.0;
X}
Xstatic void init_Z20()
X{
X    Op *op;
X    Z20->label="Z20";
X    Z20->implemented=FALSE;
X    Z20->transform=transformZ20;
X    Z20->inv_transform=invtransformZ20;
X    append_op(Z20,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(Z20,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(Z20,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(Z20,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(Z20,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(Z20,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    Z20->m[1]=6;
X    Z20->m[2]=6;
X    Z20->subgroup[2][1]=ID;
X    Z20->symmetric[2][1]=TRUE;
X    Z20->tangent[2][1]=tangentZ20nachID;
X    Z20->supergroup[1]=K61;
X    Z20->supergroup[2]=D6;
X    Z20->next=C2;
X    Z20->no=Z20_NO;
X}
Xstatic void gZ24(U,g)
Xdouble *U,*g;
X{
Xg_num(Z24,U,g);
X}
X 
Xstatic void dgZ241(U,dgu)
Xdouble *U,**dgu;
X{
Xdg_num(Z24,U,dgu); 
X}
X 
Xstatic void dgZ242(U,dgu)
Xdouble *U,**dgu;
X{
Xdgi_num(Z24,2,U,dgu);
X}
X 
Xstatic void cgZ241(U,Z,c)
Xdouble *U,*Z,**c;
X{
Xcg_num(Z24,U,Z,c);
X}
Xstatic void cgZ242(U,Z,c)
Xdouble *U,*Z,**c;
X{
Xcgi_num(Z24,2,U,Z,c);
X}
Xstatic void invtrans1Z24(Y,u)
Xdouble *Y,*u;
X{
X    u[1]=(Y[11]*SQRT3*SQRT2+Y[9]*SQRT3*SQRT2+Y[7]*SQRT3*SQRT2+Y[5]*SQRT3*SQRT2+Y
X     [3]*SQRT3*SQRT2+Y[1]*SQRT3*SQRT2)/6.0;
X    u[2]=(Y[12]*SQRT3*SQRT2+Y[10]*SQRT3*SQRT2+Y[8]*SQRT3*SQRT2+Y[6]*SQRT3*SQRT2+
X     Y[4]*SQRT3*SQRT2+Y[2]*SQRT3*SQRT2)/6.0;
X    u[3]=(-Y[11]+Y[7]+Y[5]-Y[1])/2.0;
X    u[4]=(-Y[12]+Y[8]+Y[6]-Y[2])/2.0;
X    u[5]=(-(Y[11]*SQRT3)+2.0*Y[9]*SQRT3-(Y[7]*SQRT3)-(Y[5]*SQRT3)+2.0*Y[
X3]*SQRT3
X     -(Y[1]*SQRT3))/6.0;
X    u[6]=(-(Y[12]*SQRT3)+2.0*Y[10]*SQRT3-(Y[8]*SQRT3)-(Y[6]*SQRT3)+
X2.0*Y[4]*
X     SQRT3-(Y[2]*SQRT3))/6.0;
X}
X
Xstatic void trans1Z24(U,y)
Xdouble *U,*y;
X{
X    y[1]=(-(U[5]*SQRT3)-(3.0*U[3])+U[1]*SQRT3*SQRT2)/6.0;
X    y[2]=(-(U[6]*SQRT3)-(3.0*U[4])+U[2]*SQRT3*SQRT2)/6.0;
X    y[3]=(2.0*U[5]*SQRT3+U[1]*SQRT3*SQRT2)/6.0;
X    y[4]=(2.0*U[6]*SQRT3+U[2]*SQRT3*SQRT2)/6.0;
X    y[5]=(-(U[5]*SQRT3)+3.0*U[3]+U[1]*SQRT3*SQRT2)/6.0;
X    y[6]=(-(U[6]*SQRT3)+3.0*U[4]+U[2]*SQRT3*SQRT2)/6.0;
X    y[7]=(-(U[5]*SQRT3)+3.0*U[3]+U[1]*SQRT3*SQRT2)/6.0;
X    y[8]=(-(U[6]*SQRT3)+3.0*U[4]+U[2]*SQRT3*SQRT2)/6.0;
X    y[9]=(2.0*U[5]*SQRT3+U[1]*SQRT3*SQRT2)/6.0;
X    y[10]=(2.0*U[6]*SQRT3+U[2]*SQRT3*SQRT2)/6.0;
X    y[11]=(-(U[5]*SQRT3)-(3.0*U[3])+U[1]*SQRT3*SQRT2)/6.0;
X    y[12]=(-(U[6]*SQRT3)-(3.0*U[4])+U[2]*SQRT3*SQRT2)/6.0;
X}
X
Xstatic void invtrans2Z24(Y,u)
Xdouble *Y,*u;
X{
X    u[1]=(-(Y[11]*SQRT3*SQRT2)+Y[9]*SQRT3*SQRT2-(Y[7]*SQRT3*SQRT2)+Y[5]*SQRT3*
X     SQRT2-(Y[3]*SQRT3*SQRT2)+Y[1]*SQRT3*SQRT2)/6.0;
X    u[2]=(-(Y[12]*SQRT3*SQRT2)+Y[10]*SQRT3*SQRT2-(Y[8]*SQRT3*SQRT2)+Y[6]*SQRT3*
X     SQRT2-(Y[4]*SQRT3*SQRT2)+Y[2]*SQRT3*SQRT2)/6.0;
X    u[3]=(-(Y[11]*SQRT3)-(2.0*Y[9]*SQRT3)-(Y[7]*SQRT3)+Y[5]*SQRT3+2.0*Y[
X3]*SQRT3
X     +Y[1]*SQRT3)/6.0;
X    u[4]=(-(Y[12]*SQRT3)-(2.0*Y[10]*SQRT3)-(Y[8]*SQRT3)+Y[6]*SQRT3+
X2.0*Y[4]*
X     SQRT3+Y[2]*SQRT3)/6.0;
X    u[5]=(Y[11]-Y[7]+Y[5]-Y[1])/2.0;
X    u[6]=(Y[12]-Y[8]+Y[6]-Y[2])/2.0;
X}
X
Xstatic void trans2Z24(U,y)
Xdouble *U,*y;
X{
X    y[1]=(-(3.0*U[5])+U[3]*SQRT3+U[1]*SQRT3*SQRT2)/6.0;
X    y[2]=(-(3.0*U[6])+U[4]*SQRT3+U[2]*SQRT3*SQRT2)/6.0;
X    y[3]=(2.0*U[3]*SQRT3-(U[1]*SQRT3*SQRT2))/6.0;
X    y[4]=(2.0*U[4]*SQRT3-(U[2]*SQRT3*SQRT2))/6.0;
X    y[5]=(3.0*U[5]+U[3]*SQRT3+U[1]*SQRT3*SQRT2)/6.0;
X    y[6]=(3.0*U[6]+U[4]*SQRT3+U[2]*SQRT3*SQRT2)/6.0;
X    y[7]=(-(3.0*U[5])-(U[3]*SQRT3)-(U[1]*SQRT3*SQRT2))/6.0;
X    y[8]=(-(3.0*U[6])-(U[4]*SQRT3)-(U[2]*SQRT3*SQRT2))/6.0;
X    y[9]=(-(2.0*U[3]*SQRT3)+U[1]*SQRT3*SQRT2)/6.0;
X    y[10]=(-(2.0*U[4]*SQRT3)+U[2]*SQRT3*SQRT2)/6.0;
X    y[11]=(3.0*U[5]-(U[3]*SQRT3)-(U[1]*SQRT3*SQRT2))/6.0;
X    y[12]=(3.0*U[6]-(U[4]*SQRT3)-(U[2]*SQRT3*SQRT2))/6.0;
X}
X
Xstatic void transformZ24(U,y)
Xdouble *U,*y;
X{
Xtrans1Z24(U,y);
Xy[13]=U[7];
X}
X
Xstatic void invtransformZ24(Y,u)
Xdouble *Y,*u;
X{
Xinvtrans1Z24(Y,u);
Xu[7]=Y[13];
X}
X 
Xstatic void tangentZ24nachID(Z,y)
Xdouble *Z,*y;
X{
X    y[1]=0.0;
X    y[2]=0.0;
X    y[3]=Z[1];
X    y[4]=Z[2];
X    y[5]=(Z[3]*SQRT3)/2.0;
X    y[6]=(Z[4]*SQRT3)/2.0;
X    y[7]=Z[3]/2.0;
X    y[8]=Z[4]/2.0;
X    y[9]=-(Z[5]*SQRT3)/2.0;
X    y[10]=-(Z[6]*SQRT3)/2.0;
X    y[11]=Z[5]/2.0;
X    y[12]=Z[6]/2.0;
X    y[13]=0.0;
X}
Xstatic void testZ24K62(U,t)
Xdouble *U,*t;
X{
X    t[1]=-U[3];
X    t[2]=-U[4];
X}
Xstatic void testZ24D6(U,t)
Xdouble *U,*t;
X{
X    t[1]=-U[3]/2.0;
X    t[2]=-U[4]/2.0;
X    t[3]=(U[3]*SQRT3)/2.0;
X    t[4]=(U[4]*SQRT3)/2.0;
X    t[5]=U[5]/2.0;
X    t[6]=U[6]/2.0;
X    t[7]=(U[5]*SQRT3)/2.0;
X    t[8]=(U[6]*SQRT3)/2.0;
X}
Xstatic void init_Z24()
X{
X    Op *op;
X    Z24->label="Z24";
X    Z24->implemented=TRUE;
X    Z24->transform=transformZ24;
X    Z24->inv_transform=invtransformZ24;
X    append_op(Z24,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(Z24,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(Z24,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(Z24,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(Z24,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(Z24,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    Z24->m[1]=6;
X    Z24->m[2]=6;
X    Z24->g=gZ24;
X    Z24->dg[1]=dgZ241;
X    Z24->dg[2]=dgZ242;
X    Z24->cg[1]=cgZ241;
X    Z24->cg[2]=cgZ242;
X    Z24->iso_transform[1]=trans1Z24;
X    Z24->iso_transform[2]=trans2Z24;
X    Z24->inv_iso_transform[1]=invtrans1Z24;
X    Z24->inv_iso_transform[2]=invtrans2Z24;
X    Z24->subgroup[2][1]=ID;
X    Z24->symmetric[2][1]=TRUE;
X    Z24->tangent[2][1]=tangentZ24nachID;
X    Z24->test[1]=testZ24K62;
X    Z24->test[2]=testZ24D6;
X    Z24->ntest[1]=2;
X    Z24->ntest[2]=8;
X    Z24->supergroup[1]=K62;
X    Z24->supergroup[2]=D6;
X    Z24->next=Z20;
X    Z24->no=Z24_NO;
X}
Xstatic void invtrans1Z22(Y,u)
Xdouble *Y,*u;
X{
X    u[1]=(Y[11]*SQRT3*SQRT2+Y[9]*SQRT3*SQRT2+Y[7]*SQRT3*SQRT2+Y[5]*SQRT3*SQRT2+Y
X     [3]*SQRT3*SQRT2+Y[1]*SQRT3*SQRT2)/6.0;
X    u[2]=(Y[12]*SQRT3*SQRT2+Y[10]*SQRT3*SQRT2+Y[8]*SQRT3*SQRT2+Y[6]*SQRT3*SQRT2+
X     Y[4]*SQRT3*SQRT2+Y[2]*SQRT3*SQRT2)/6.0;
X    u[3]=(-Y[11]-Y[9]+Y[5]+Y[3])/2.0;
X    u[4]=(-Y[12]-Y[10]+Y[6]+Y[4])/2.0;
X    u[5]=(-(Y[11]*SQRT3)-(Y[9]*SQRT3)+2.0*Y[7]*SQRT3-(Y[5]*SQRT3)-(Y[3]*SQRT3)+
X     2.0*Y[1]*SQRT3)/6.0;
X    u[6]=(-(Y[12]*SQRT3)-(Y[10]*SQRT3)+2.0*Y[8]*SQRT3-(Y[6]*SQRT3)-(Y[4]*SQRT3)+
X     2.0*Y[2]*SQRT3)/6.0;
X}
X
Xstatic void trans1Z22(U,y)
Xdouble *U,*y;
X{
X    y[1]=(2.0*U[5]*SQRT3+U[1]*SQRT3*SQRT2)/6.0;
X    y[2]=(2.0*U[6]*SQRT3+U[2]*SQRT3*SQRT2)/6.0;
X    y[3]=(-(U[5]*SQRT3)+3.0*U[3]+U[1]*SQRT3*SQRT2)/6.0;
X    y[4]=(-(U[6]*SQRT3)+3.0*U[4]+U[2]*SQRT3*SQRT2)/6.0;
X    y[5]=(-(U[5]*SQRT3)+3.0*U[3]+U[1]*SQRT3*SQRT2)/6.0;
X    y[6]=(-(U[6]*SQRT3)+3.0*U[4]+U[2]*SQRT3*SQRT2)/6.0;
X    y[7]=(2.0*U[5]*SQRT3+U[1]*SQRT3*SQRT2)/6.0;
X    y[8]=(2.0*U[6]*SQRT3+U[2]*SQRT3*SQRT2)/6.0;
X    y[9]=(-(U[5]*SQRT3)-(3.0*U[3])+U[1]*SQRT3*SQRT2)/6.0;
X    y[10]=(-(U[6]*SQRT3)-(3.0*U[4])+U[2]*SQRT3*SQRT2)/6.0;
X    y[11]=(-(U[5]*SQRT3)-(3.0*U[3])+U[1]*SQRT3*SQRT2)/6.0;
X    y[12]=(-(U[6]*SQRT3)-(3.0*U[4])+U[2]*SQRT3*SQRT2)/6.0;
X}
X
Xstatic void transformZ22(U,y)
Xdouble *U,*y;
X{
Xtrans1Z22(U,y);
Xy[13]=U[7];
X}
X
Xstatic void invtransformZ22(Y,u)
Xdouble *Y,*u;
X{
Xinvtrans1Z22(Y,u);
Xu[7]=Y[13];
X}
X 
Xstatic void tangentZ22nachID(Z,y)
Xdouble *Z,*y;
X{
X    y[1]=0.0;
X    y[2]=0.0;
X    y[3]=Z[1];
X    y[4]=Z[2];
X    y[5]=-(Z[3]*SQRT3)/2.0;
X    y[6]=-(Z[4]*SQRT3)/2.0;
X    y[7]=Z[3]/2.0;
X    y[8]=Z[4]/2.0;
X    y[9]=(Z[5]*SQRT3)/2.0;
X    y[10]=(Z[6]*SQRT3)/2.0;
X    y[11]=Z[5]/2.0;
X    y[12]=Z[6]/2.0;
X    y[13]=0.0;
X}
Xstatic void init_Z22()
X{
X    Op *op;
X    Z22->label="Z22";
X    Z22->implemented=FALSE;
X    Z22->transform=transformZ22;
X    Z22->inv_transform=invtransformZ22;
X    append_op(Z22,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(Z22,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(Z22,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(Z22,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(Z22,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(Z22,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    Z22->m[1]=6;
X    Z22->m[2]=6;
X    Z22->subgroup[2][1]=ID;
X    Z22->symmetric[2][1]=TRUE;
X    Z22->tangent[2][1]=tangentZ22nachID;
X    Z22->supergroup[1]=K63;
X    Z22->supergroup[2]=D6;
X    Z22->next=Z24;
X    Z22->no=Z22_NO;
X}
Xstatic void gD32(U,g)
Xdouble *U,*g;
X{
Xg_num(D32,U,g);
X}
X 
Xstatic void dgD321(U,dgu)
Xdouble *U,**dgu;
X{
Xdg_num(D32,U,dgu); 
X}
X 
Xstatic void dgD323(U,dgu)
Xdouble *U,**dgu;
X{
Xdgi_num(D32,2,U,dgu);
X}
X 
Xstatic void cgD321(U,Z,c)
Xdouble *U,*Z,**c;
X{
Xcg_num(D32,U,Z,c);
X}
Xstatic void cgD323(U,Z,c)
Xdouble *U,*Z,**c;
X{
Xcgi_num(D32,2,U,Z,c);
X}
Xstatic void invtrans1D32(Y,u)
Xdouble *Y,*u;
X{
X    u[1]=(Y[11]*SQRT3*SQRT2+Y[9]*SQRT3*SQRT2+Y[7]*SQRT3*SQRT2+Y[5]*SQRT3*SQRT2+Y
X     [3]*SQRT3*SQRT2+Y[1]*SQRT3*SQRT2)/6.0;
X    u[2]=(Y[12]*SQRT3*SQRT2+Y[10]*SQRT3*SQRT2+Y[8]*SQRT3*SQRT2+Y[6]*SQRT3*SQRT2+
X     Y[4]*SQRT3*SQRT2+Y[2]*SQRT3*SQRT2)/6.0;
X    u[3]=(-(Y[11]*SQRT3*SQRT2)+Y[9]*SQRT3*SQRT2-(Y[7]*SQRT3*SQRT2)+Y[5]*SQRT3*
X     SQRT2-(Y[3]*SQRT3*SQRT2)+Y[1]*SQRT3*SQRT2)/6.0;
X    u[4]=(-(Y[12]*SQRT3*SQRT2)+Y[10]*SQRT3*SQRT2-(Y[8]*SQRT3*SQRT2)+Y[6]*SQRT3*
X     SQRT2-(Y[4]*SQRT3*SQRT2)+Y[2]*SQRT3*SQRT2)/6.0;
X}
X
Xstatic void trans1D32(U,y)
Xdouble *U,*y;
X{
X    y[1]=(U[3]*SQRT3*SQRT2+U[1]*SQRT3*SQRT2)/6.0;
X    y[2]=(U[4]*SQRT3*SQRT2+U[2]*SQRT3*SQRT2)/6.0;
X    y[3]=(-(U[3]*SQRT3*SQRT2)+U[1]*SQRT3*SQRT2)/6.0;
X    y[4]=(-(U[4]*SQRT3*SQRT2)+U[2]*SQRT3*SQRT2)/6.0;
X    y[5]=(U[3]*SQRT3*SQRT2+U[1]*SQRT3*SQRT2)/6.0;
X    y[6]=(U[4]*SQRT3*SQRT2+U[2]*SQRT3*SQRT2)/6.0;
X    y[7]=(-(U[3]*SQRT3*SQRT2)+U[1]*SQRT3*SQRT2)/6.0;
X    y[8]=(-(U[4]*SQRT3*SQRT2)+U[2]*SQRT3*SQRT2)/6.0;
X    y[9]=(U[3]*SQRT3*SQRT2+U[1]*SQRT3*SQRT2)/6.0;
X    y[10]=(U[4]*SQRT3*SQRT2+U[2]*SQRT3*SQRT2)/6.0;
X    y[11]=(-(U[3]*SQRT3*SQRT2)+U[1]*SQRT3*SQRT2)/6.0;
X    y[12]=(-(U[4]*SQRT3*SQRT2)+U[2]*SQRT3*SQRT2)/6.0;
X}
X
Xstatic void invtrans3D32(Y,u)
Xdouble *Y,*u;
X{
X    u[1]=(-Y[9]-Y[7]+Y[3]+Y[1])/2.0;
X    u[2]=(-Y[10]-Y[8]+Y[4]+Y[2])/2.0;
X    u[3]=(Y[9]-Y[7]+Y[3]-Y[1])/2.0;
X    u[4]=(Y[10]-Y[8]+Y[4]-Y[2])/2.0;
X}
X
Xstatic void trans3D32(U,y)
Xdouble *U,*y;
X{
X    y[1]=(-U[3]+U[1])/2.0;
X    y[2]=(-U[4]+U[2])/2.0;
X    y[3]=(U[3]+U[1])/2.0;
X    y[4]=(U[4]+U[2])/2.0;
X    y[5]=0.0;
X    y[6]=0.0;
X    y[7]=(-U[3]-U[1])/2.0;
X    y[8]=(-U[4]-U[2])/2.0;
X    y[9]=(U[3]-U[1])/2.0;
X    y[10]=(U[4]-U[2])/2.0;
X    y[11]=0.0;
X    y[12]=0.0;
X}
X
Xstatic void transformD32(U,y)
Xdouble *U,*y;
X{
Xtrans1D32(U,y);
Xy[13]=U[5];
X}
X
Xstatic void invtransformD32(Y,u)
Xdouble *Y,*u;
X{
Xinvtrans1D32(Y,u);
Xu[5]=Y[13];
X}
X 
Xstatic void tangentD32nachZ21(Z,y)
Xdouble *Z,*y;
X{
X    y[1]=0.0;
X    y[2]=0.0;
X    y[3]=0.0;
X    y[4]=0.0;
X    y[5]=(Z[1]*SQRT3+2.0*Z[1])/2.0;
X    y[6]=(Z[2]*SQRT3+2.0*Z[2])/2.0;
X    y[7]=(Z[3]*SQRT3+2.0*Z[3])/2.0;
X    y[8]=(Z[4]*SQRT3+2.0*Z[4])/2.0;
X    y[9]=0.0;
X}
Xstatic void testD32D6(U,t)
Xdouble *U,*t;
X{
X    t[1]=U[3];
X    t[2]=U[4];
X}
Xstatic void init_D32()
X{
X    Op *op;
X    D32->label="D32";
X    D32->implemented=TRUE;
X    D32->transform=transformD32;
X    D32->inv_transform=invtransformD32;
X    append_op(D32,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(D32,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    D32->m[1]=4;
X    D32->m[2]=4;
X    D32->g=gD32;
X    D32->dg[1]=dgD321;
X    D32->dg[2]=dgD323;
X    D32->cg[1]=cgD321;
X    D32->cg[2]=cgD323;
X    D32->iso_transform[1]=trans1D32;
X    D32->iso_transform[2]=trans3D32;
X    D32->inv_iso_transform[1]=invtrans1D32;
X    D32->inv_iso_transform[2]=invtrans3D32;
X    D32->subgroup[2][1]=Z21;
X    D32->symmetric[2][1]=FALSE;
X    D32->tangent[2][1]=tangentD32nachZ21;
X    D32->test[1]=testD32D6;
X    D32->ntest[1]=2;
X    D32->supergroup[1]=D6;
X    D32->next=Z22;
X    D32->no=D32_NO;
X}
Xstatic void invtrans1K61(Y,u)
Xdouble *Y,*u;
X{
X    u[1]=(Y[11]*SQRT3*SQRT2+Y[9]*SQRT3*SQRT2+Y[7]*SQRT3*SQRT2+Y[5]*SQRT3*SQRT2+Y
X     [3]*SQRT3*SQRT2+Y[1]*SQRT3*SQRT2)/6.0;
X    u[2]=(Y[12]*SQRT3*SQRT2+Y[10]*SQRT3*SQRT2+Y[8]*SQRT3*SQRT2+Y[6]*SQRT3*SQRT2+
X     Y[4]*SQRT3*SQRT2+Y[2]*SQRT3*SQRT2)/6.0;
X    u[3]=(-(2.0*Y[11]*SQRT3)+Y[9]*SQRT3+Y[7]*SQRT3-(2.0*Y[5]*SQRT3)+Y[3]*SQRT3+Y
X     [1]*SQRT3)/6.0;
X    u[4]=(-(2.0*Y[12]*SQRT3)+Y[10]*SQRT3+Y[8]*SQRT3-(2.0*Y[6]*SQRT3)+Y[
X4]*SQRT3+
X     Y[2]*SQRT3)/6.0;
X}
X
Xstatic void trans1K61(U,y)
Xdouble *U,*y;
X{
X    y[1]=(U[3]*SQRT3+U[1]*SQRT3*SQRT2)/6.0;
X    y[2]=(U[4]*SQRT3+U[2]*SQRT3*SQRT2)/6.0;
X    y[3]=(U[3]*SQRT3+U[1]*SQRT3*SQRT2)/6.0;
X    y[4]=(U[4]*SQRT3+U[2]*SQRT3*SQRT2)/6.0;
X    y[5]=(-(2.0*U[3]*SQRT3)+U[1]*SQRT3*SQRT2)/6.0;
X    y[6]=(-(2.0*U[4]*SQRT3)+U[2]*SQRT3*SQRT2)/6.0;
X    y[7]=(U[3]*SQRT3+U[1]*SQRT3*SQRT2)/6.0;
X    y[8]=(U[4]*SQRT3+U[2]*SQRT3*SQRT2)/6.0;
X    y[9]=(U[3]*SQRT3+U[1]*SQRT3*SQRT2)/6.0;
X    y[10]=(U[4]*SQRT3+U[2]*SQRT3*SQRT2)/6.0;
X    y[11]=(-(2.0*U[3]*SQRT3)+U[1]*SQRT3*SQRT2)/6.0;
X    y[12]=(-(2.0*U[4]*SQRT3)+U[2]*SQRT3*SQRT2)/6.0;
X}
X
Xstatic void transformK61(U,y)
Xdouble *U,*y;
X{
Xtrans1K61(U,y);
Xy[13]=U[5];
X}
X
Xstatic void invtransformK61(Y,u)
Xdouble *Y,*u;
X{
Xinvtrans1K61(Y,u);
Xu[5]=Y[13];
X}
X 
Xstatic void tangentK61nachC2(Z,y)
Xdouble *Z,*y;
X{
X    y[1]=0.0;
X    y[2]=0.0;
X    y[3]=0.0;
X    y[4]=0.0;
X    y[5]=Z[1];
X    y[6]=Z[2];
X    y[7]=0.0;
X}
Xstatic void tangentK61nachZ23(Z,y)
Xdouble *Z,*y;
X{
X    y[1]=0.0;
X    y[2]=0.0;
X    y[3]=Z[1];
X    y[4]=Z[2];
X    y[5]=Z[3];
X    y[6]=Z[4];
X    y[7]=0.0;
X    y[8]=0.0;
X    y[9]=0.0;
X}
Xstatic void tangentK61nachZ20(Z,y)
Xdouble *Z,*y;
X{
X    y[1]=0.0;
X    y[2]=0.0;
X    y[3]=Z[1];
X    y[4]=Z[2];
X    y[5]=0.0;
X    y[6]=0.0;
X    y[7]=0.0;
X}
Xstatic void init_K61()
X{
X    Op *op;
X    K61->label="K61";
X    K61->implemented=FALSE;
X    K61->transform=transformK61;
X    K61->inv_transform=invtransformK61;
X    append_op(K61,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(K61,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(K61,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    K61->m[1]=4;
X    K61->m[2]=2;
X    K61->m[3]=4;
X    K61->m[4]=2;
X    K61->subgroup[2][1]=C2;
X    K61->symmetric[2][1]=TRUE;
X    K61->tangent[2][1]=tangentK61nachC2;
X    K61->subgroup[3][1]=Z23;
X    K61->symmetric[3][1]=TRUE;
X    K61->tangent[3][1]=tangentK61nachZ23;
X    K61->subgroup[4][1]=Z20;
X    K61->symmetric[4][1]=TRUE;
X    K61->tangent[4][1]=tangentK61nachZ20;
X    K61->supergroup[1]=D6;
X    K61->next=D32;
X    K61->no=K61_NO;
X}
Xstatic void gK62(U,g)
Xdouble *U,*g;
X{
Xg_num(K62,U,g);
X}
X 
Xstatic void dgK621(U,dgu)
Xdouble *U,**dgu;
X{
Xdg_num(K62,U,dgu); 
X}
X 
Xstatic void dgK622(U,dgu)
Xdouble *U,**dgu;
X{
Xdgi_num(K62,2,U,dgu);
X}
X 
Xstatic void dgK623(U,dgu)
Xdouble *U,**dgu;
X{
Xdgi_num(K62,3,U,dgu);
X}
X 
Xstatic void dgK624(U,dgu)
Xdouble *U,**dgu;
X{
Xdgi_num(K62,4,U,dgu);
X}
X 
Xstatic void cgK621(U,Z,c)
Xdouble *U,*Z,**c;
X{
Xcg_num(K62,U,Z,c);
X}
Xstatic void cgK622(U,Z,c)
Xdouble *U,*Z,**c;
X{
Xcgi_num(K62,2,U,Z,c);
X}
Xstatic void cgK623(U,Z,c)
Xdouble *U,*Z,**c;
X{
Xcgi_num(K62,3,U,Z,c);
X}
Xstatic void cgK624(U,Z,c)
Xdouble *U,*Z,**c;
X{
Xcgi_num(K62,4,U,Z,c);
X}
Xstatic void invtrans1K62(Y,u)
Xdouble *Y,*u;
X{
X    u[1]=(Y[11]*SQRT3*SQRT2+Y[9]*SQRT3*SQRT2+Y[7]*SQRT3*SQRT2+Y[5]*SQRT3*SQRT2+Y
X     [3]*SQRT3*SQRT2+Y[1]*SQRT3*SQRT2)/6.0;
X    u[2]=(Y[12]*SQRT3*SQRT2+Y[10]*SQRT3*SQRT2+Y[8]*SQRT3*SQRT2+Y[6]*SQRT3*SQRT2+
X     Y[4]*SQRT3*SQRT2+Y[2]*SQRT3*SQRT2)/6.0;
X    u[3]=(-(Y[11]*SQRT3)+2.0*Y[9]*SQRT3-(Y[7]*SQRT3)-(Y[5]*SQRT3)+2.0*Y[
X3]*SQRT3
X     -(Y[1]*SQRT3))/6.0;
X    u[4]=(-(Y[12]*SQRT3)+2.0*Y[10]*SQRT3-(Y[8]*SQRT3)-(Y[6]*SQRT3)+
X2.0*Y[4]*
X     SQRT3-(Y[2]*SQRT3))/6.0;
X}
X
Xstatic void trans1K62(U,y)
Xdouble *U,*y;
X{
X    y[1]=(-(U[3]*SQRT3)+U[1]*SQRT3*SQRT2)/6.0;
X    y[2]=(-(U[4]*SQRT3)+U[2]*SQRT3*SQRT2)/6.0;
X    y[3]=(2.0*U[3]*SQRT3+U[1]*SQRT3*SQRT2)/6.0;
X    y[4]=(2.0*U[4]*SQRT3+U[2]*SQRT3*SQRT2)/6.0;
X    y[5]=(-(U[3]*SQRT3)+U[1]*SQRT3*SQRT2)/6.0;
X    y[6]=(-(U[4]*SQRT3)+U[2]*SQRT3*SQRT2)/6.0;
X    y[7]=(-(U[3]*SQRT3)+U[1]*SQRT3*SQRT2)/6.0;
X    y[8]=(-(U[4]*SQRT3)+U[2]*SQRT3*SQRT2)/6.0;
X    y[9]=(2.0*U[3]*SQRT3+U[1]*SQRT3*SQRT2)/6.0;
X    y[10]=(2.0*U[4]*SQRT3+U[2]*SQRT3*SQRT2)/6.0;
X    y[11]=(-(U[3]*SQRT3)+U[1]*SQRT3*SQRT2)/6.0;
X    y[12]=(-(U[4]*SQRT3)+U[2]*SQRT3*SQRT2)/6.0;
X}
X
Xstatic void invtrans2K62(Y,u)
Xdouble *Y,*u;
X{
X    u[1]=(Y[11]-Y[7]+Y[5]-Y[1])/2.0;
X    u[2]=(Y[12]-Y[8]+Y[6]-Y[2])/2.0;
X}
X
Xstatic void trans2K62(U,y)
Xdouble *U,*y;
X{
X    y[1]=-U[1]/2.0;
X    y[2]=-U[2]/2.0;
X    y[3]=0.0;
X    y[4]=0.0;
X    y[5]=U[1]/2.0;
X    y[6]=U[2]/2.0;
X    y[7]=-U[1]/2.0;
X    y[8]=-U[2]/2.0;
X    y[9]=0.0;
X    y[10]=0.0;
X    y[11]=U[1]/2.0;
X    y[12]=U[2]/2.0;
X}
X
Xstatic void invtrans3K62(Y,u)
Xdouble *Y,*u;
X{
X    u[1]=(Y[11]-Y[7]-Y[5]+Y[1])/2.0;
X    u[2]=(Y[12]-Y[8]-Y[6]+Y[2])/2.0;
X}
X
Xstatic void trans3K62(U,y)
Xdouble *U,*y;
X{
X    y[1]=U[1]/2.0;
X    y[2]=U[2]/2.0;
X    y[3]=0.0;
X    y[4]=0.0;
X    y[5]=-U[1]/2.0;
X    y[6]=-U[2]/2.0;
X    y[7]=-U[1]/2.0;
X    y[8]=-U[2]/2.0;
X    y[9]=0.0;
X    y[10]=0.0;
X    y[11]=U[1]/2.0;
X    y[12]=U[2]/2.0;
X}
X
Xstatic void invtrans4K62(Y,u)
Xdouble *Y,*u;
X{
X    u[1]=(-(Y[11]*SQRT3*SQRT2)+Y[9]*SQRT3*SQRT2-(Y[7]*SQRT3*SQRT2)+Y[5]*SQRT3*
X     SQRT2-(Y[3]*SQRT3*SQRT2)+Y[1]*SQRT3*SQRT2)/6.0;
X    u[2]=(-(Y[12]*SQRT3*SQRT2)+Y[10]*SQRT3*SQRT2-(Y[8]*SQRT3*SQRT2)+Y[6]*SQRT3*
X     SQRT2-(Y[4]*SQRT3*SQRT2)+Y[2]*SQRT3*SQRT2)/6.0;
X    u[3]=(-(Y[11]*SQRT3)-(2.0*Y[9]*SQRT3)-(Y[7]*SQRT3)+Y[5]*SQRT3+2.0*Y[
X3]*SQRT3
X     +Y[1]*SQRT3)/6.0;
X    u[4]=(-(Y[12]*SQRT3)-(2.0*Y[10]*SQRT3)-(Y[8]*SQRT3)+Y[6]*SQRT3+
X2.0*Y[4]*
X     SQRT3+Y[2]*SQRT3)/6.0;
X}
X
Xstatic void trans4K62(U,y)
Xdouble *U,*y;
X{
X    y[1]=(U[3]*SQRT3+U[1]*SQRT3*SQRT2)/6.0;
X    y[2]=(U[4]*SQRT3+U[2]*SQRT3*SQRT2)/6.0;
X    y[3]=(2.0*U[3]*SQRT3-(U[1]*SQRT3*SQRT2))/6.0;
X    y[4]=(2.0*U[4]*SQRT3-(U[2]*SQRT3*SQRT2))/6.0;
X    y[5]=(U[3]*SQRT3+U[1]*SQRT3*SQRT2)/6.0;
X    y[6]=(U[4]*SQRT3+U[2]*SQRT3*SQRT2)/6.0;
X    y[7]=(-(U[3]*SQRT3)-(U[1]*SQRT3*SQRT2))/6.0;
X    y[8]=(-(U[4]*SQRT3)-(U[2]*SQRT3*SQRT2))/6.0;
X    y[9]=(-(2.0*U[3]*SQRT3)+U[1]*SQRT3*SQRT2)/6.0;
X    y[10]=(-(2.0*U[4]*SQRT3)+U[2]*SQRT3*SQRT2)/6.0;
X    y[11]=(-(U[3]*SQRT3)-(U[1]*SQRT3*SQRT2))/6.0;
X    y[12]=(-(U[4]*SQRT3)-(U[2]*SQRT3*SQRT2))/6.0;
X}
X
Xstatic void transformK62(U,y)
Xdouble *U,*y;
X{
Xtrans1K62(U,y);
Xy[13]=U[5];
X}
X
Xstatic void invtransformK62(Y,u)
Xdouble *Y,*u;
X{
Xinvtrans1K62(Y,u);
Xu[5]=Y[13];
X}
X 
Xstatic void tangentK62nachC2(Z,y)
Xdouble *Z,*y;
X{
X    y[1]=0.0;
X    y[2]=0.0;
X    y[3]=-(Z[1]*SQRT3)/2.0;
X    y[4]=-(Z[2]*SQRT3)/2.0;
X    y[5]=Z[1]/2.0;
X    y[6]=Z[2]/2.0;
X    y[7]=0.0;
X}
Xstatic void tangentK62nachZ24(Z,y)
Xdouble *Z,*y;
X{
X    y[1]=0.0;
X    y[2]=0.0;
X    y[3]=-Z[1];
X    y[4]=-Z[2];
X    y[5]=0.0;
X    y[6]=0.0;
X    y[7]=0.0;
X}
Xstatic void tangentK62nachZ21(Z,y)
Xdouble *Z,*y;
X{
X    y[1]=0.0;
X    y[2]=0.0;
X    y[3]=Z[1];
X    y[4]=Z[2];
X    y[5]=Z[3];
X    y[6]=Z[4];
X    y[7]=0.0;
X    y[8]=0.0;
X    y[9]=0.0;
X}
Xstatic void testK62D6(U,t)
Xdouble *U,*t;
X{
X    t[1]=U[3]/2.0;
X    t[2]=U[4]/2.0;
X    t[3]=(U[3]*SQRT3)/2.0;
X    t[4]=(U[4]*SQRT3)/2.0;
X}
Xstatic void init_K62()
X{
X    Op *op;
X    K62->label="K62";
X    K62->implemented=TRUE;
X    K62->transform=transformK62;
X    K62->inv_transform=invtransformK62;
X    append_op(K62,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(K62,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(K62,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    K62->m[1]=4;
X    K62->m[2]=2;
X    K62->m[3]=2;
X    K62->m[4]=4;
X    K62->g=gK62;
X    K62->dg[1]=dgK621;
X    K62->dg[2]=dgK622;
X    K62->dg[3]=dgK623;
X    K62->dg[4]=dgK624;
X    K62->cg[1]=cgK621;
X    K62->cg[2]=cgK622;
X    K62->cg[3]=cgK623;
X    K62->cg[4]=cgK624;
X    K62->iso_transform[1]=trans1K62;
X    K62->iso_transform[2]=trans2K62;
X    K62->iso_transform[3]=trans3K62;
X    K62->iso_transform[4]=trans4K62;
X    K62->inv_iso_transform[1]=invtrans1K62;
X    K62->inv_iso_transform[2]=invtrans2K62;
X    K62->inv_iso_transform[3]=invtrans3K62;
X    K62->inv_iso_transform[4]=invtrans4K62;
X    K62->subgroup[2][1]=C2;
X    K62->symmetric[2][1]=TRUE;
X    K62->tangent[2][1]=tangentK62nachC2;
X    K62->subgroup[3][1]=Z24;
X    K62->symmetric[3][1]=TRUE;
X    K62->tangent[3][1]=tangentK62nachZ24;
X    K62->subgroup[4][1]=Z21;
X    K62->symmetric[4][1]=TRUE;
X    K62->tangent[4][1]=tangentK62nachZ21;
X    K62->test[1]=testK62D6;
X    K62->ntest[1]=4;
X    K62->supergroup[1]=D6;
X    K62->next=K61;
X    K62->no=K62_NO;
X}
Xstatic void invtrans1K63(Y,u)
Xdouble *Y,*u;
X{
X    u[1]=(Y[11]*SQRT3*SQRT2+Y[9]*SQRT3*SQRT2+Y[7]*SQRT3*SQRT2+Y[5]*SQRT3*SQRT2+Y
X     [3]*SQRT3*SQRT2+Y[1]*SQRT3*SQRT2)/6.0;
X    u[2]=(Y[12]*SQRT3*SQRT2+Y[10]*SQRT3*SQRT2+Y[8]*SQRT3*SQRT2+Y[6]*SQRT3*SQRT2+
X     Y[4]*SQRT3*SQRT2+Y[2]*SQRT3*SQRT2)/6.0;
X    u[3]=(-(Y[11]*SQRT3)-(Y[9]*SQRT3)+2.0*Y[7]*SQRT3-(Y[5]*SQRT3)-(Y[3]*SQRT3)+
X     2.0*Y[1]*SQRT3)/6.0;
X    u[4]=(-(Y[12]*SQRT3)-(Y[10]*SQRT3)+2.0*Y[8]*SQRT3-(Y[6]*SQRT3)-(Y[4]*SQRT3)+
X     2.0*Y[2]*SQRT3)/6.0;
X}
X
Xstatic void trans1K63(U,y)
Xdouble *U,*y;
X{
X    y[1]=(2.0*U[3]*SQRT3+U[1]*SQRT3*SQRT2)/6.0;
X    y[2]=(2.0*U[4]*SQRT3+U[2]*SQRT3*SQRT2)/6.0;
X    y[3]=(-(U[3]*SQRT3)+U[1]*SQRT3*SQRT2)/6.0;
X    y[4]=(-(U[4]*SQRT3)+U[2]*SQRT3*SQRT2)/6.0;
X    y[5]=(-(U[3]*SQRT3)+U[1]*SQRT3*SQRT2)/6.0;
X    y[6]=(-(U[4]*SQRT3)+U[2]*SQRT3*SQRT2)/6.0;
X    y[7]=(2.0*U[3]*SQRT3+U[1]*SQRT3*SQRT2)/6.0;
X    y[8]=(2.0*U[4]*SQRT3+U[2]*SQRT3*SQRT2)/6.0;
X    y[9]=(-(U[3]*SQRT3)+U[1]*SQRT3*SQRT2)/6.0;
X    y[10]=(-(U[4]*SQRT3)+U[2]*SQRT3*SQRT2)/6.0;
X    y[11]=(-(U[3]*SQRT3)+U[1]*SQRT3*SQRT2)/6.0;
X    y[12]=(-(U[4]*SQRT3)+U[2]*SQRT3*SQRT2)/6.0;
X}
X
Xstatic void transformK63(U,y)
Xdouble *U,*y;
X{
Xtrans1K63(U,y);
Xy[13]=U[5];
X}
X
Xstatic void invtransformK63(Y,u)
Xdouble *Y,*u;
X{
Xinvtrans1K63(Y,u);
Xu[5]=Y[13];
X}
X 
Xstatic void tangentK63nachC2(Z,y)
Xdouble *Z,*y;
X{
X    y[1]=0.0;
X    y[2]=0.0;
X    y[3]=(Z[1]*SQRT3)/2.0;
X    y[4]=(Z[2]*SQRT3)/2.0;
X    y[5]=Z[1]/2.0;
X    y[6]=Z[2]/2.0;
X    y[7]=0.0;
X}
Xstatic void tangentK63nachZ25(Z,y)
Xdouble *Z,*y;
X{
X    y[1]=0.0;
X    y[2]=0.0;
X    y[3]=Z[1];
X    y[4]=Z[2];
X    y[5]=-Z[3];
X    y[6]=-Z[4];
X    y[7]=0.0;
X    y[8]=0.0;
X    y[9]=0.0;
X}
Xstatic void tangentK63nachZ22(Z,y)
Xdouble *Z,*y;
X{
X    y[1]=0.0;
X    y[2]=0.0;
X    y[3]=Z[1];
X    y[4]=Z[2];
X    y[5]=0.0;
X    y[6]=0.0;
X    y[7]=0.0;
X}
Xstatic void init_K63()
X{
X    Op *op;
X    K63->label="K63";
X    K63->implemented=FALSE;
X    K63->transform=transformK63;
X    K63->inv_transform=invtransformK63;
X    append_op(K63,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(K63,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    append_op(K63,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    K63->m[1]=4;
X    K63->m[2]=2;
X    K63->m[3]=4;
X    K63->m[4]=2;
X    K63->subgroup[2][1]=C2;
X    K63->symmetric[2][1]=TRUE;
X    K63->tangent[2][1]=tangentK63nachC2;
X    K63->subgroup[3][1]=Z25;
X    K63->symmetric[3][1]=TRUE;
X    K63->tangent[3][1]=tangentK63nachZ25;
X    K63->subgroup[4][1]=Z22;
X    K63->symmetric[4][1]=TRUE;
X    K63->tangent[4][1]=tangentK63nachZ22;
X    K63->supergroup[1]=D6;
X    K63->next=K62;
X    K63->no=K63_NO;
X}
Xstatic void gD6(U,g)
Xdouble *U,*g;
X{
Xg_num(D6,U,g);
X}
X 
Xstatic void dgD61(U,dgu)
Xdouble *U,**dgu;
X{
Xdg_num(D6,U,dgu); 
X}
X 
Xstatic void dgD64(U,dgu)
Xdouble *U,**dgu;
X{
Xdgi_num(D6,2,U,dgu);
X}
X 
Xstatic void dgD65(U,dgu)
Xdouble *U,**dgu;
X{
Xdgi_num(D6,3,U,dgu);
X}
X 
Xstatic void dgD66(U,dgu)
Xdouble *U,**dgu;
X{
Xdgi_num(D6,4,U,dgu);
X}
X 
Xstatic void cgD61(U,Z,c)
Xdouble *U,*Z,**c;
X{
Xcg_num(D6,U,Z,c);
X}
Xstatic void cgD64(U,Z,c)
Xdouble *U,*Z,**c;
X{
Xcgi_num(D6,2,U,Z,c);
X}
Xstatic void cgD65(U,Z,c)
Xdouble *U,*Z,**c;
X{
Xcgi_num(D6,3,U,Z,c);
X}
Xstatic void cgD66(U,Z,c)
Xdouble *U,*Z,**c;
X{
Xcgi_num(D6,4,U,Z,c);
X}
Xstatic void invtrans1D6(Y,u)
Xdouble *Y,*u;
X{
X    u[1]=(Y[11]*SQRT3*SQRT2+Y[9]*SQRT3*SQRT2+Y[7]*SQRT3*SQRT2+Y[5]*SQRT3*SQRT2+Y
X     [3]*SQRT3*SQRT2+Y[1]*SQRT3*SQRT2)/6.0;
X    u[2]=(Y[12]*SQRT3*SQRT2+Y[10]*SQRT3*SQRT2+Y[8]*SQRT3*SQRT2+Y[6]*SQRT3*SQRT2+
X     Y[4]*SQRT3*SQRT2+Y[2]*SQRT3*SQRT2)/6.0;
X}
X
Xstatic void trans1D6(U,y)
Xdouble *U,*y;
X{
X    y[1]=(U[1]*SQRT3*SQRT2)/6.0;
X    y[2]=(U[2]*SQRT3*SQRT2)/6.0;
X    y[3]=(U[1]*SQRT3*SQRT2)/6.0;
X    y[4]=(U[2]*SQRT3*SQRT2)/6.0;
X    y[5]=(U[1]*SQRT3*SQRT2)/6.0;
X    y[6]=(U[2]*SQRT3*SQRT2)/6.0;
X    y[7]=(U[1]*SQRT3*SQRT2)/6.0;
X    y[8]=(U[2]*SQRT3*SQRT2)/6.0;
X    y[9]=(U[1]*SQRT3*SQRT2)/6.0;
X    y[10]=(U[2]*SQRT3*SQRT2)/6.0;
X    y[11]=(U[1]*SQRT3*SQRT2)/6.0;
X    y[12]=(U[2]*SQRT3*SQRT2)/6.0;
X}
X
Xstatic void invtrans4D6(Y,u)
Xdouble *Y,*u;
X{
X    u[1]=(-(Y[11]*SQRT3*SQRT2)+Y[9]*SQRT3*SQRT2-(Y[7]*SQRT3*SQRT2)+Y[5]*SQRT3*
X     SQRT2-(Y[3]*SQRT3*SQRT2)+Y[1]*SQRT3*SQRT2)/6.0;
X    u[2]=(-(Y[12]*SQRT3*SQRT2)+Y[10]*SQRT3*SQRT2-(Y[8]*SQRT3*SQRT2)+Y[6]*SQRT3*
X     SQRT2-(Y[4]*SQRT3*SQRT2)+Y[2]*SQRT3*SQRT2)/6.0;
X}
X
Xstatic void trans4D6(U,y)
Xdouble *U,*y;
X{
X    y[1]=(U[1]*SQRT3*SQRT2)/6.0;
X    y[2]=(U[2]*SQRT3*SQRT2)/6.0;
X    y[3]=-(U[1]*SQRT3*SQRT2)/6.0;
X    y[4]=-(U[2]*SQRT3*SQRT2)/6.0;
X    y[5]=(U[1]*SQRT3*SQRT2)/6.0;
X    y[6]=(U[2]*SQRT3*SQRT2)/6.0;
X    y[7]=-(U[1]*SQRT3*SQRT2)/6.0;
X    y[8]=-(U[2]*SQRT3*SQRT2)/6.0;
X    y[9]=(U[1]*SQRT3*SQRT2)/6.0;
X    y[10]=(U[2]*SQRT3*SQRT2)/6.0;
X    y[11]=-(U[1]*SQRT3*SQRT2)/6.0;
X    y[12]=-(U[2]*SQRT3*SQRT2)/6.0;
X}
X
Xstatic void invtrans5D6(Y,u)
Xdouble *Y,*u;
X{
X    u[1]=(-Y[9]-Y[7]+Y[3]+Y[1])/2.0;
X    u[2]=(-Y[10]-Y[8]+Y[4]+Y[2])/2.0;
X}
X
Xstatic void trans5D6(U,y)
Xdouble *U,*y;
X{
X    y[1]=U[1]/2.0;
X    y[2]=U[2]/2.0;
X    y[3]=U[1]/2.0;
X    y[4]=U[2]/2.0;
X    y[5]=0.0;
X    y[6]=0.0;
X    y[7]=-U[1]/2.0;
X    y[8]=-U[2]/2.0;
X    y[9]=-U[1]/2.0;
X    y[10]=-U[2]/2.0;
X    y[11]=0.0;
X    y[12]=0.0;
X}
X
Xstatic void invtrans6D6(Y,u)
Xdouble *Y,*u;
X{
X    u[1]=(-(2.0*Y[11]*SQRT3)+Y[9]*SQRT3+Y[7]*SQRT3-(2.0*Y[5]*SQRT3)+Y[3]*SQRT3+Y
X     [1]*SQRT3)/6.0;
X    u[2]=(-(2.0*Y[12]*SQRT3)+Y[10]*SQRT3+Y[8]*SQRT3-(2.0*Y[6]*SQRT3)+Y[
X4]*SQRT3+
X     Y[2]*SQRT3)/6.0;
X}
X
Xstatic void trans6D6(U,y)
Xdouble *U,*y;
X{
X    y[1]=(U[1]*SQRT3)/6.0;
X    y[2]=(U[2]*SQRT3)/6.0;
X    y[3]=(U[1]*SQRT3)/6.0;
X    y[4]=(U[2]*SQRT3)/6.0;
X    y[5]=-(U[1]*SQRT3)/3.0;
X    y[6]=-(U[2]*SQRT3)/3.0;
X    y[7]=(U[1]*SQRT3)/6.0;
X    y[8]=(U[2]*SQRT3)/6.0;
X    y[9]=(U[1]*SQRT3)/6.0;
X    y[10]=(U[2]*SQRT3)/6.0;
X    y[11]=-(U[1]*SQRT3)/3.0;
X    y[12]=-(U[2]*SQRT3)/3.0;
X}
X
Xstatic void transformD6(U,y)
Xdouble *U,*y;
X{
Xtrans1D6(U,y);
Xy[13]=U[3];
X}
X
Xstatic void invtransformD6(Y,u)
Xdouble *Y,*u;
X{
Xinvtrans1D6(Y,u);
Xu[3]=Y[13];
X}
X 
Xstatic void tangentD6nachD32(Z,y)
Xdouble *Z,*y;
X{
X    y[1]=0.0;
X    y[2]=0.0;
X    y[3]=Z[1];
X    y[4]=Z[2];
X    y[5]=0.0;
X}
Xstatic void tangentD6nachZ21(Z,y)
Xdouble *Z,*y;
X{
X    y[1]=0.0;
X    y[2]=0.0;
X    y[3]=0.0;
X    y[4]=0.0;
X    y[5]=(Z[1]*SQRT3+2.0*Z[1])/2.0;
X    y[6]=(Z[2]*SQRT3+2.0*Z[2])/2.0;
X    y[7]=0.0;
X    y[8]=0.0;
X    y[9]=0.0;
X}
Xstatic void tangentD6nachZ24(Z,y)
Xdouble *Z,*y;
X{
X    y[1]=0.0;
X    y[2]=0.0;
X    y[3]=(2.0*Z[1]*SQRT3-Z[1])/2.0;
X    y[4]=(2.0*Z[2]*SQRT3-Z[2])/2.0;
X    y[5]=0.0;
X    y[6]=0.0;
X    y[7]=0.0;
X}
Xstatic void tangentD6nachK62(Z,y)
Xdouble *Z,*y;
X{
X    y[1]=0.0;
X    y[2]=0.0;
X    y[3]=(2.0*Z[1]*SQRT3+Z[1])/2.0;
X    y[4]=(2.0*Z[2]*SQRT3+Z[2])/2.0;
X    y[5]=0.0;
X}
Xstatic void allocgroups()
X{
X    int *nsub,r,S;
X    S=1;
X    r=7;
X    nsub=ivector(2,S);
X    ID=new_group(S,nsub,r);
X    S=2;
X    r=3;
X    nsub=ivector(2,S);
X    nsub[2]=1;
X    Z21=new_group(S,nsub,r);
X    S=2;
X    r=3;
X    nsub=ivector(2,S);
X    nsub[2]=1;
X    Z23=new_group(S,nsub,r);
X    S=2;
X    r=3;
X    nsub=ivector(2,S);
X    nsub[2]=1;
X    Z25=new_group(S,nsub,r);
X    S=2;
X    r=3;
X    nsub=ivector(2,S);
X    nsub[2]=1;
X    C2=new_group(S,nsub,r);
X    S=2;
X    r=2;
X    nsub=ivector(2,S);
X    nsub[2]=1;
X    Z20=new_group(S,nsub,r);
X    S=2;
X    r=2;
X    nsub=ivector(2,S);
X    nsub[2]=1;
X    Z24=new_group(S,nsub,r);
X    S=2;
X    r=2;
X    nsub=ivector(2,S);
X    nsub[2]=1;
X    Z22=new_group(S,nsub,r);
X    S=2;
X    r=1;
X    nsub=ivector(2,S);
X    nsub[2]=1;
X    D32=new_group(S,nsub,r);
X    S=4;
X    r=1;
X    nsub=ivector(2,S);
X    nsub[2]=1;
X    nsub[3]=1;
X    nsub[4]=1;
X    K61=new_group(S,nsub,r);
X    S=4;
X    r=1;
X    nsub=ivector(2,S);
X    nsub[2]=1;
X    nsub[3]=1;
X    nsub[4]=1;
X    K62=new_group(S,nsub,r);
X    S=4;
X    r=1;
X    nsub=ivector(2,S);
X    nsub[2]=1;
X    nsub[3]=1;
X    nsub[4]=1;
X    K63=new_group(S,nsub,r);
X    S=4;
X    r=0;
X    nsub=ivector(2,S);
X    nsub[2]=1;
X    nsub[3]=2;
X    nsub[4]=1;
X    group=new_group(S,nsub,r);
X    D6=group;
X}
Xvoid init_group()
X{
X    numeric_mode=TRUE;
X    init_data();
X    allocgroups();
X    init_K63();
X    init_K62();
X    init_K61();
X    init_D32();
X    init_Z22();
X    init_Z24();
X    init_Z20();
X    init_C2();
X    init_Z25();
X    init_Z23();
X    init_Z21();
X    init_ID();
X    D6->label="D6";
X    D6->implemented=TRUE;
X    D6->transform=transformD6;
X    D6->inv_transform=invtransformD6;
X    append_op(D6,D6_proc_2,D6_proc_6,change_group_2,isotypic_triv);
X    D6->m[1]=2;
X    D6->m[2]=2;
X    D6->m[3]=2;
X    D6->m[4]=2;
X    D6->g=gD6;
X    D6->dg[1]=dgD61;
X    D6->dg[2]=dgD64;
X    D6->dg[3]=dgD65;
X    D6->dg[4]=dgD66;
X    D6->cg[1]=cgD61;
X    D6->cg[2]=cgD64;
X    D6->cg[3]=cgD65;
X    D6->cg[4]=cgD66;
X    D6->iso_transform[1]=trans1D6;
X    D6->iso_transform[2]=trans4D6;
X    D6->iso_transform[3]=trans5D6;
X    D6->iso_transform[4]=trans6D6;
X    D6->inv_iso_transform[1]=invtrans1D6;
X    D6->inv_iso_transform[2]=invtrans4D6;
X    D6->inv_iso_transform[3]=invtrans5D6;
X    D6->inv_iso_transform[4]=invtrans6D6;
X    D6->subgroup[2][1]=D32;
X    D6->symmetric[2][1]=TRUE;
X    D6->tangent[2][1]=tangentD6nachD32;
X    D6->subgroup[3][1]=Z21;
X    D6->symmetric[3][1]=TRUE;
X    D6->tangent[3][1]=tangentD6nachZ21;
X    D6->subgroup[3][2]=Z24;
X    D6->symmetric[3][2]=TRUE;
X    D6->tangent[3][2]=tangentD6nachZ24;
X    D6->subgroup[4][1]=K62;
X    D6->symmetric[4][1]=FALSE;
X    D6->tangent[4][1]=tangentD6nachK62;
X    D6->next=K63;
X    D6->no=D6_NO;
X}
END_OF_FILE
if test 61919 -ne `wc -c <'brussD6n.c'`; then
    echo shar: \"'brussD6n.c'\" unpacked with wrong size!
fi
# end of 'brussD6n.c'
fi
echo shar: End of shell archive.
exit 0

