1
2      logical function sym_char_table(zname, nop, nir, iclass_dim,
3     +     zir, zclass, chars)
4c
5C$Id$
6      implicit double precision (a-h,p-w),integer (i-n),logical (o)
7      implicit character *8 (z),character *1 (x)
8      implicit character *4 (y)
9#include "errquit.fh"
10      parameter(maxireps=20)
11#include "util.fh"
12c
13      dimension iclass_dim(maxireps), ipointer(maxireps), zir(maxireps),
14     +     zclass(maxireps), chars(maxireps*maxireps)
15c
16c     Ipointer() used to return mapping of classes from gamess order
17c     to standard order ... seems of no use now but I have left the code
18c     lying around ... note that some groups lack this info
19c
20      integer ic1
21      double precision chc1
22      character*10 yc1
23      character*4 yrc1
24      parameter(nc1=1)
25      dimension ic1(4), chc1(1,1), yc1(1), yrc1(1)
26c
27c
28      integer ic1h
29      double precision chc1h
30      character*10 yc1h
31      character*4 yrc1h
32      parameter(nc1h=2)
33      dimension ic1h(6), chc1h(2,2), yc1h(2), yrc1h(2)
34c
35c
36      integer ic2
37      double precision chc2
38      character*10 yc2
39      character*4 yrc2
40      parameter(nc2=2)
41      dimension ic2(6), chc2(2,2), yc2(2), yrc2(2)
42c
43c
44      integer ic2h
45      double precision chc2h
46      character*10 yc2h
47      character*4 yrc2h
48      parameter(nc2h=4)
49      dimension ic2h(10), chc2h(4,4), yc2h(4), yrc2h(4)
50c
51c
52      integer ic2v
53      double precision chc2v
54      character*10 yc2v
55      character*4 yrc2v
56      parameter(nc2v=4)
57      dimension ic2v(10), chc2v(4,4), yc2v(4), yrc2v(4)
58c
59c
60      integer ic3
61      double precision chc3
62      character*10 yc3
63      character*4 yrc3
64      parameter(nc3=3)
65      dimension ic3(8), chc3(3,3), yc3(3), yrc3(3)
66c
67c
68      integer ic3h
69      double precision chc3h
70      character*10 yc3h
71      character*4 yrc3h
72      parameter(nc3h=6)
73      dimension ic3h(14), chc3h(6,6), yc3h(6), yrc3h(6)
74c
75c
76      integer ic3v
77      double precision chc3v
78      character*10 yc3v
79      character*4 yrc3v
80      parameter(nc3v=3)
81      dimension ic3v(8), chc3v(3,3), yc3v(3), yrc3v(3)
82c
83c
84      integer ic4
85      double precision chc4
86      character*10 yc4
87      character*4 yrc4
88      parameter(nc4=4)
89      dimension ic4(10), chc4(4,4), yc4(4), yrc4(4)
90c
91c
92      integer ic4h
93      double precision chc4h
94      character*10 yc4h
95      character*4 yrc4h
96      parameter(nc4h=8)
97      dimension ic4h(18), chc4h(8,8), yc4h(8), yrc4h(8)
98c
99c
100      integer ic4v
101      double precision chc4v
102      character*10 yc4v
103      character*4 yrc4v
104      parameter(nc4v=5)
105      dimension ic4v(12), chc4v(5,5), yc4v(5), yrc4v(5)
106c
107c
108      integer ic5
109      double precision chc5
110      character*10 yc5
111      character*4 yrc5
112      parameter(nc5=5)
113      dimension ic5(12), chc5(5,5), yc5(5), yrc5(5)
114c
115c
116      integer ic5h
117      double precision chc5h
118      character*10 yc5h
119      character*4 yrc5h
120      parameter(nc5h=10)
121      dimension ic5h(22), chc5h(10,10), yc5h(10), yrc5h(10)
122c
123c
124      integer ic5v
125      double precision chc5v
126      character*10 yc5v
127      character*4 yrc5v
128      parameter(nc5v=4)
129      dimension ic5v(10), chc5v(4,4), yc5v(4), yrc5v(4)
130c
131c
132      integer ic6
133      double precision chc6
134      character*10 yc6
135      character*4 yrc6
136      parameter(nc6=6)
137      dimension ic6(14), chc6(6,6), yc6(6), yrc6(6)
138c
139c
140      integer ic6h
141      double precision chc6h
142      character*10 yc6h
143      character*4 yrc6h
144      parameter(nc6h=12)
145      dimension ic6h(26), chc6h(12,12), yc6h(12), yrc6h(12)
146c
147c
148      integer ic6v
149      double precision chc6v
150      character*10 yc6v
151      character*4 yrc6v
152      parameter(nc6v=6)
153      dimension ic6v(14), chc6v(6,6), yc6v(6), yrc6v(6)
154c
155c
156      integer ic7
157      double precision chc7
158      character*10 yc7
159      character*4 yrc7
160      parameter(nc7=7)
161      dimension ic7(16), chc7(7,7), yc7(7), yrc7(7)
162c
163c
164      integer ic7v
165      double precision chc7v
166      character*10 yc7v
167      character*4 yrc7v
168      parameter(nc7v=5)
169      dimension ic7v(12), chc7v(5,5), yc7v(5), yrc7v(5)
170c
171c
172      integer ic8
173      double precision chc8
174      character*10 yc8
175      character*4 yrc8
176      parameter(nc8=8)
177      dimension ic8(18), chc8(8,8), yc8(8), yrc8(8)
178c
179c
180      integer ici
181      double precision chci
182      character*10 yci
183      character*4 yrci
184      parameter(nci=2)
185      dimension ici(6), chci(2,2), yci(2), yrci(2)
186c
187c
188      integer ics
189      double precision chcs
190      character*10 ycs
191      character*4 yrcs
192      parameter(ncs=2)
193      dimension ics(6), chcs(2,2), ycs(2), yrcs(2)
194c
195c
196      integer id2
197      double precision chd2
198      character*10 yd2
199      character*4 yrd2
200      parameter(nd2=4)
201      dimension id2(10), chd2(4,4), yd2(4), yrd2(4)
202c
203c
204      integer id2d
205      double precision chd2d
206      character*10 yd2d
207      character*4 yrd2d
208      parameter(nd2d=5)
209      dimension id2d(12), chd2d(5,5), yd2d(5), yrd2d(5)
210c
211c
212      integer id2h
213      double precision chd2h
214      character*10 yd2h
215      character*4 yrd2h
216      parameter(nd2h=8)
217      dimension id2h(18), chd2h(8,8), yd2h(8), yrd2h(8)
218c
219c
220      integer id3
221      double precision chd3
222      character*10 yd3
223      character*4 yrd3
224      parameter(nd3=3)
225      dimension id3(8), chd3(3,3), yd3(3), yrd3(3)
226c
227c
228      integer id3d
229      double precision chd3d
230      character*10 yd3d
231      character*4 yrd3d
232      parameter(nd3d=6)
233      dimension id3d(14), chd3d(6,6), yd3d(6), yrd3d(6)
234c
235c
236      integer id3h
237      double precision chd3h
238      character*10 yd3h
239      character*4 yrd3h
240      parameter(nd3h=6)
241      dimension id3h(14), chd3h(6,6), yd3h(6), yrd3h(6)
242c
243c
244      integer id4
245      double precision chd4
246      character*10 yd4
247      character*4 yrd4
248      parameter(nd4=5)
249      dimension id4(12), chd4(5,5), yd4(5), yrd4(5)
250c
251c
252      integer id4d
253      double precision chd4d
254      character*10 yd4d
255      character*4 yrd4d
256      parameter(nd4d=7)
257      dimension id4d(16), chd4d(7,7), yd4d(7), yrd4d(7)
258c
259c
260      integer id4h
261      double precision chd4h
262      character*10 yd4h
263      character*4 yrd4h
264      parameter(nd4h=10)
265      dimension id4h(22), chd4h(10,10), yd4h(10), yrd4h(10)
266c
267c
268      integer id5
269      double precision chd5
270      character*10 yd5
271      character*4 yrd5
272      parameter(nd5=4)
273      dimension id5(10), chd5(4,4), yd5(4), yrd5(4)
274c
275c
276      integer id5d
277      double precision chd5d
278      character*10 yd5d
279      character*4 yrd5d
280      parameter(nd5d=8)
281      dimension id5d(18), chd5d(8,8), yd5d(8), yrd5d(8)
282c
283c
284      integer id5h
285      double precision chd5h
286      character*10 yd5h
287      character*4 yrd5h
288      parameter(nd5h=8)
289      dimension id5h(18), chd5h(8,8), yd5h(8), yrd5h(8)
290c
291c
292      integer id6
293      double precision chd6
294      character*10 yd6
295      character*4 yrd6
296      parameter(nd6=6)
297      dimension id6(14), chd6(6,6), yd6(6), yrd6(6)
298c
299c
300      integer id6d
301      double precision chd6d
302      character*10 yd6d
303      character*4 yrd6d
304      parameter(nd6d=9)
305      dimension id6d(20), chd6d(9,9), yd6d(9), yrd6d(9)
306c
307c
308      integer id6h
309      double precision chd6h
310      character*10 yd6h
311      character*4 yrd6h
312      parameter(nd6h=12)
313      dimension id6h(26), chd6h(12,12), yd6h(12), yrd6h(12)
314c
315c
316      integer id8
317      double precision chd8
318      character*10 yd8
319      character*4 yrd8
320      parameter(nd8=7)
321      dimension id8(16), chd8(7,7), yd8(7), yrd8(7)
322c
323c
324      integer id8h
325      double precision chd8h
326      character*10 yd8h
327      character*4 yrd8h
328      parameter(nd8h=14)
329      dimension id8h(30), chd8h(14,14), yd8h(14), yrd8h(14)
330c
331c
332      integer ii
333      double precision chi
334      character*10 yi
335      character*4 yri
336      parameter(ni=5)
337      dimension ii(12), chi(5,5), yi(5), yri(5)
338c
339c
340      integer iih
341      double precision chih
342      character*10 yih
343      character*4 yrih
344      parameter(nih=10)
345      dimension iih(22), chih(10,10), yih(10), yrih(10)
346c
347c
348      integer io
349      double precision cho
350      character*10 yo
351      character*4 yro
352      parameter(no=5)
353      dimension io(12), cho(5,5), yo(5), yro(5)
354c
355c
356      integer ioh
357      double precision choh
358      character*10 yoh
359      character*4 yroh
360      parameter(noh=10)
361      dimension ioh(22), choh(10,10), yoh(10), yroh(10)
362c
363c
364      integer is2
365      double precision chs2
366      character*10 ys2
367      character*4 yrs2
368      parameter(ns2=2)
369      dimension is2(6), chs2(2,2), ys2(2), yrs2(2)
370c
371c
372      integer is4
373      double precision chs4
374      character*10 ys4
375      character*4 yrs4
376      parameter(ns4=4)
377      dimension is4(10), chs4(4,4), ys4(4), yrs4(4)
378c
379c
380      integer is6
381      double precision chs6
382      character*10 ys6
383      character*4 yrs6
384      parameter(ns6=6)
385      dimension is6(14), chs6(6,6), ys6(6), yrs6(6)
386c
387c
388      integer is8
389      double precision chs8
390      character*10 ys8
391      character*4 yrs8
392      parameter(ns8=8)
393      dimension is8(18), chs8(8,8), ys8(8), yrs8(8)
394c
395c
396      integer it
397      double precision cht
398      character*10 yt
399      character*4 yrt
400      parameter(nt=4)
401      dimension it(10), cht(4,4), yt(4), yrt(4)
402c
403c
404      integer itd
405      double precision chtd
406      character*10 ytd
407      character*4 yrtd
408      parameter(ntd=5)
409      dimension itd(12), chtd(5,5), ytd(5), yrtd(5)
410c
411c
412      integer ith
413      double precision chth
414      character*10 yth
415      character*4 yrth
416      parameter(nth=8)
417      dimension ith(18), chth(8,8), yth(8), yrth(8)
418c
419      logical please_print_ecce
420      data please_print_ecce / .true. /
421c
422      data ic1/1,1,1
423     +     ,1/
424      data yrc1/'a'/
425      data yc1/'e'/
426      data chc1/
427     +     1.000/
428c
429      data ic1h/2,2,1,1
430     +     ,1,2/
431      data yrc1h/'a''','a"'/
432      data yc1h/'e','si.h'/
433      data chc1h/
434     +     1.000, 1.000,
435     +     1.000,-1.000/
436c
437      data ic2/2,2,1,1
438     +     ,1,2/
439      data yrc2/'a','b'/
440      data yc2/'e','c2'/
441      data chc2/
442     +     1.000, 1.000,
443     +     1.000,-1.000/
444c
445      data ic2h/4,4,1,1,1,1
446     +     ,1,2,3,4/
447      data yrc2h/'ag','au','bg','bu'/
448      data yc2h/'e','c2','si.h','i'/
449      data chc2h/
450     +     1.000, 1.000, 1.000, 1.000,
451     +     1.000, 1.000,-1.000,-1.000,
452     +     1.000,-1.000,-1.000, 1.000,
453     +     1.000,-1.000, 1.000,-1.000/
454c
455      data ic2v/4,4,1,1,1,1
456     +     ,1,2,4,3/
457      data yrc2v/'a1','a2','b1','b2'/
458      data yc2v/'e','c2','si.xz','si.yz'/
459      data chc2v/
460     +     1.000, 1.000, 1.000, 1.000,
461     +     1.000, 1.000,-1.000,-1.000,
462     +     1.000,-1.000, 1.000,-1.000,
463     +     1.000,-1.000,-1.000, 1.000/
464c
465      data ic3/3,3,1,1,1
466     +     ,1,2,3/
467      data yrc3/'a','e+','e-'/
468      data yc3/'e','c3','c3^2'/
469      data chc3/
470     +     1.000, 1.000, 1.000,
471     +     1.000,-0.500,-0.500,
472     +     0.000, 0.866,-0.866/
473c
474      data ic3h/6,6,1,1,1,1,1,1
475     +     ,1,2,3,4,5,6/
476      data yrc3h/'a''','e''+','e''-','a"','e"+','e"-'/
477      data yc3h/'e','c3','c3^2','si.h','s3','s3^5'/
478      data chc3h/
479     +     1.000, 1.000, 1.000, 1.000, 1.000, 1.000,
480     +     1.000,-0.500,-0.500, 1.000,-0.500,-0.500,
481     +     0.000, 0.866,-0.866, 0.000, 0.866,-0.866,
482     +     1.000, 1.000, 1.000,-1.000,-1.000,-1.000,
483     +     1.000,-0.500,-0.500,-1.000, 0.500, 0.500,
484     +     0.000, 0.866,-0.866, 0.000,-0.866, 0.866/
485c
486      data ic3v/3,6,1,2,3
487     +     ,1,2,4/
488      data yrc3v/'a1','a2','e'/
489      data yc3v/'e','c3','si.v'/
490      data chc3v/
491     +     1.000, 1.000, 1.000,
492     +     1.000, 1.000,-1.000,
493     +     2.000,-1.000, 0.000/
494c
495      data ic4/4,4,1,1,1,1
496     +     ,1,2,3,4/
497      data yrc4/'a','b','e+','e-'/
498      data yc4/'e','c4','c2','c4^3'/
499      data chc4/
500     +     1.000, 1.000, 1.000, 1.000,
501     +     1.000,-1.000, 1.000,-1.000,
502     +     1.000, 0.000,-1.000, 0.000,
503     +     0.000, 1.000, 0.000,-1.000/
504c
505      data ic4h/8,8,1,1,1,1,1,1,1,1
506     +     ,0,0,0,0,0,0,0,0/
507      data yrc4h/'ag','bg','eg+','eg-','au','bu','eu+','eu-'/
508      data yc4h/'e','c4','c2','c4^3','i','s4^3','si.h','s4'/
509      data chc4h/
510     +     1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000,
511     +     1.000,-1.000, 1.000,-1.000, 1.000,-1.000, 1.000,-1.000,
512     +     1.000, 0.000,-1.000, 0.000, 1.000, 0.000,-1.000, 0.000,
513     +     0.000, 1.000, 0.000,-1.000, 0.000, 1.000, 0.000,-1.000,
514     +     1.000, 1.000, 1.000, 1.000,-1.000,-1.000,-1.000,-1.000,
515     +     1.000,-1.000, 1.000,-1.000,-1.000, 1.000,-1.000, 1.000,
516     +     1.000, 0.000,-1.000, 0.000,-1.000, 0.000, 1.000, 0.000,
517     +     0.000, 1.000, 0.000,-1.000, 0.000,-1.000, 0.000, 1.000/
518c
519      data ic4v/5,8,1,1,2,2,2
520     +     ,1,3,2,5,6/
521      data yrc4v/'a1','a2','b1','b2','e'/
522      data yc4v/'e','c2','c4','si.v','si.d'/
523      data chc4v/
524     +     1.000, 1.000, 1.000, 1.000, 1.000,
525     +     1.000, 1.000, 1.000,-1.000,-1.000,
526     +     1.000, 1.000,-1.000, 1.000,-1.000,
527     +     1.000, 1.000,-1.000,-1.000, 1.000,
528     +     2.000,-2.000, 0.000, 0.000, 0.000/
529c
530      data ic5/5,5,1,1,1,1,1
531     +     ,1,2,3,4,5/
532      data yrc5/'a','e1+','e1-','e2+','e2-'/
533      data yc5/'e','c5','c5^2','c5^3','c5^4'/
534      data chc5/
535     +     1.000, 1.000, 1.000, 1.000, 1.000,
536     +     1.000, 0.309,-0.809,-0.809, 0.309,
537     +     0.000, 0.951, 0.588,-0.588,-0.951,
538     +     1.000,-0.809, 0.309, 0.309,-0.809,
539     +     0.000, 0.588,-0.951, 0.951,-0.588/
540c
541      data ic5h/10,10,1,1,1,1,1,1,1,1,1,1
542     +     ,0,0,0,0,0,0,0,0,0,0/
543      data yrc5h/'a''','e1''+','e1''-','e2''+','e2''-','a"',
544     +     'e1"+','e1"-','e2"+','e2"-'/
545      data yc5h/'e','c5','c5^2','c5^3','c5^4','si.h','s5',
546     +     's5^7','s5^3','s5^9'/
547      data chc5h/
548     +     1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000,
549     +     1.000, 1.000, 1.000, 0.309,-0.809,-0.809, 0.309, 1.000,
550     +     0.309,-0.809,-0.809, 0.309,
551     +     0.000, 0.951, 0.588,-0.588,-0.951, 0.000, 0.951, 0.588,
552     +     -0.588,-0.951,
553     +     1.000,-0.809, 0.309, 0.309,-0.809, 1.000,-0.809, 0.309,
554     +     0.309,-0.809,
555     +     0.000, 0.588,-0.951, 0.951,-0.588, 0.000, 0.588,-0.951,
556     +     0.951,-0.588,
557     +     1.000, 1.000, 1.000, 1.000, 1.000,-1.000,-1.000,-1.000,
558     +     -1.000,-1.000,
559     +     1.000, 0.309,-0.809,-0.809, 0.309,-1.000,-0.309, 0.809,
560     +     0.809,-0.309,
561     +     0.000, 0.951, 0.588,-0.588,-0.951, 0.000,-0.951,-0.588,
562     +     0.588, 0.951,
563     +     1.000,-0.809, 0.309, 0.309,-0.809,-1.000, 0.809,-0.309,
564     +     -0.309, 0.809,
565     +     0.000, 0.588,-0.951, 0.951,-0.588, 0.000,-0.588, 0.951,
566     +     -0.951, 0.588/
567c
568      data ic5v/4,10,1,2,2,5
569     +     ,1,2,3,6/
570      data yrc5v/'a1','a2','e1','e2'/
571      data yc5v/'e','c5','c5^2','si.v'/
572      data chc5v/
573     +     1.000, 1.000, 1.000, 1.000,
574     +     1.000, 1.000, 1.000,-1.000,
575     +     2.000, 0.618,-1.618, 0.000,
576     +     2.000,-1.618, 0.618, 0.000/
577c
578      data ic6/6,6,1,1,1,1,1,1
579     +     ,1,2,3,4,5,6/
580      data yrc6/'a','b','e1+','e1-','e2+','e2-'/
581      data yc6/'e','c6','c3','c2','c3^2','c6^5'/
582      data chc6/
583     +     1.000, 1.000, 1.000, 1.000, 1.000, 1.000,
584     +     1.000,-1.000, 1.000,-1.000, 1.000,-1.000,
585     +     1.000, 0.500,-0.500,-1.000,-0.500, 0.500,
586     +     0.000, 0.866, 0.866, 0.000,-0.866,-0.866,
587     +     1.000,-0.500,-0.500, 1.000,-0.500,-0.500,
588     +     0.000, 0.866,-0.866, 0.000, 0.866,-0.866/
589c
590      data ic6h/12,12,1,1,1,1,1,1,1,1,1,1,1,1
591     +     ,0,0,0,0,0,0,0,0,0,0,0,0/
592      data yrc6h/'ag','bg','e1g+','e1g-','e2g+','e2g-','au',
593     +     'bu','e1u+','e1u-','e2u+','e2u-'/
594      data yc6h/'e','c6','c3','c2','c3^2','c6^5','i',
595     +     's3^5','s6^5','si.h','s6','s3'/
596      data chc6h/
597     +     1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000,
598     +     1.000, 1.000, 1.000, 1.000, 1.000,-1.000, 1.000,-1.000,
599     +     1.000,-1.000, 1.000,-1.000, 1.000,-1.000, 1.000,-1.000,
600     +     1.000, 0.500,-0.500,-1.000,-0.500, 0.500, 1.000, 0.500,
601     +     -0.500,-1.000,-0.500, 0.500, 0.000, 0.866, 0.866, 0.000,
602     +     -0.866,-0.866, 0.000, 0.866, 0.866, 0.000,-0.866,-0.866,
603     +     1.000,-0.500,-0.500, 1.000,-0.500,-0.500, 1.000,-0.500,
604     +     -0.500, 1.000,-0.500,-0.500, 0.000, 0.866,-0.866, 0.000,
605     +     0.866,-0.866, 0.000, 0.866,-0.866, 0.000, 0.866,-0.866,
606     +     1.000, 1.000, 1.000, 1.000, 1.000, 1.000,-1.000,-1.000,
607     +     -1.000,-1.000,-1.000,-1.000, 1.000,-1.000, 1.000,-1.000,
608     +     1.000,-1.000,-1.000, 1.000,-1.000, 1.000,-1.000, 1.000,
609     +     1.000, 0.500,-0.500,-1.000,-0.500, 0.500,-1.000,-0.500,
610     +     0.500, 1.000, 0.500,-0.500, 0.000, 0.866, 0.866, 0.000,
611     +     -0.866,-0.866, 0.000,-0.866,-0.866, 0.000, 0.866, 0.866,
612     +     1.000,-0.500,-0.500, 1.000,-0.500,-0.500,-1.000, 0.500,
613     +     0.500,-1.000, 0.500, 0.500, 0.000, 0.866,-0.866, 0.000,
614     +     0.866,-0.866, 0.000,-0.866, 0.866, 0.000,-0.866, 0.866/
615c
616      data ic6v/6,12,1,1,2,2,3,3
617     +     ,1,4,3,2,7,10/
618      data yrc6v/'a1','a2','b1','b2','e1','e2'/
619      data yc6v/'e','c2','c3','c6','si.v','si.d'/
620      data chc6v/
621     +     1.000, 1.000, 1.000, 1.000, 1.000, 1.000,
622     +     1.000, 1.000, 1.000, 1.000,-1.000,-1.000,
623     +     1.000,-1.000, 1.000,-1.000, 1.000,-1.000,
624     +     1.000,-1.000, 1.000,-1.000,-1.000, 1.000,
625     +     2.000,-2.000,-1.000, 1.000, 0.000, 0.000,
626     +     2.000, 2.000,-1.000,-1.000, 0.000, 0.000/
627c
628      data ic7/7,7,1,1,1,1,1,1,1
629     +     ,1,2,3,4,5,6,7/
630      data yrc7/'a','e1+','e1-','e2+','e2-','e3+','e3-'/
631*     data yc7/'e','c7','c7','c7','c7^3','c7^3','c7^5'/
632      data yc7/'e','c7','c7^2','c7^3','c7^4','c7^5','c7^6'/
633      data chc7/
634     +     1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000,
635     +     1.000, 0.623,-0.223,-0.901,-0.901,-0.223, 0.623,
636     +     0.000, 0.782, 0.975,-0.434, 0.434,-0.975,-0.782,
637     +     1.000,-0.223,-0.901, 0.623, 0.623,-0.901,-0.223,
638     +     0.000, 0.975, 0.434,-0.782, 0.782,-0.434,-0.975,
639     +     1.000,-0.901, 0.623,-0.223,-0.223, 0.623,-0.901,
640     +     0.000,-0.434,-0.782, 0.975,-0.975, 0.782, 0.434/
641c
642      data ic7v/5,14,1,2,2,2,7
643     +     ,0,0,0,0,0/
644      data yrc7v/'a1','a2','e1','e2','e3'/
645      data yc7v/'e','c7','c7^2','c7^3','si.v'/
646      data chc7v/
647     +     1.000, 1.000, 1.000, 1.000, 1.000,
648     +     1.000, 1.000, 1.000, 1.000,-1.000,
649     +     2.000, 1.245,-0.445,-1.802, 0.000,
650     +     2.000,-0.445,-1.802, 1.245, 0.000,
651     +     2.000,-1.802, 1.245,-0.445, 0.000/
652c
653      data ic8/8,8,1,1,1,1,1,1,1,1
654     +     ,1,2,3,5,7,4,6,8/
655      data yrc8/'a','b','e1+','e1-','e2+','e2-','e3+','e3-'/
656      data yc8/'e','c8','c4','c2','c4^3','c8^3','c8^5','c8^7'/
657      data chc8/
658     +     1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000,
659     +     1.000,-1.000, 1.000, 1.000, 1.000,-1.000,-1.000,-1.000,
660     +     1.000, 0.707, 0.000,-1.000, 0.000,-0.707,-0.707, 0.707,
661     +     0.000, 0.000, 1.000, 0.000,-1.000, 0.000, 0.000, 0.000,
662     +     1.000, 0.000,-1.000, 1.000,-1.000, 0.000, 0.000, 0.000,
663     +     0.000, 1.000, 0.000, 0.000, 0.000,-1.000, 1.000,-1.000,
664     +     1.000,-0.707, 0.000,-1.000, 0.000, 0.707, 0.707,-0.707,
665     +     0.000, 0.000, 1.000, 0.000,-1.000, 0.000, 0.000, 0.000/
666c
667      data ici/2,2,1,1
668     +     ,1,2/
669      data yrci/'ag','au'/
670      data yci/'e','i=s2'/
671      data chci/
672     +     1.000, 1.000,
673     +     1.000,-1.000/
674c
675      data ics/2,2,1,1
676     +     ,1,2/
677      data yrcs/'a''','a"'/
678      data ycs/'e','si.h'/
679      data chcs/
680     +     1.000, 1.000,
681     +     1.000,-1.000/
682c
683      data id2/4,4,1,1,1,1
684     +     ,1,2,3,4/
685      data yrd2/'a1','b1','b2','b3'/
686      data yd2/'e','c2z','c2y','c2x'/
687      data chd2/
688     +     1.000, 1.000, 1.000, 1.000,
689     +     1.000, 1.000,-1.000,-1.000,
690     +     1.000,-1.000, 1.000,-1.000,
691     +     1.000,-1.000,-1.000, 1.000/
692c
693      data id2d/5,8,1,1,2,2,2
694     +     ,1,2,7,3,5/
695      data yrd2d/'a1','a2','b1','b2','e'/
696      data yd2d/'e','c2','s4','c2''','si.d'/
697      data chd2d/
698     +     1.000, 1.000, 1.000, 1.000, 1.000,
699     +     1.000, 1.000, 1.000,-1.000,-1.000,
700     +     1.000, 1.000,-1.000, 1.000,-1.000,
701     +     1.000, 1.000,-1.000,-1.000, 1.000,
702     +     2.000,-2.000, 0.000, 0.000, 0.000/
703c
704      data id2h/8,8,1,1,1,1,1,1,1,1
705     +     ,1,2,5,6,4,3,8,7/
706      data yrd2h/'ag','au','b1g','b1u','b2g','b2u','b3g','b3u'/
707      data yd2h/'e','c2z','c2y','c2x','i','si.xy','si.xz','si.yz'/
708      data chd2h/
709     +     1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000,
710     +     1.000, 1.000, 1.000, 1.000,-1.000,-1.000,-1.000,-1.000,
711     +     1.000, 1.000,-1.000,-1.000, 1.000, 1.000,-1.000,-1.000,
712     +     1.000, 1.000,-1.000,-1.000,-1.000,-1.000, 1.000, 1.000,
713     +     1.000,-1.000, 1.000,-1.000, 1.000,-1.000, 1.000,-1.000,
714     +     1.000,-1.000, 1.000,-1.000,-1.000, 1.000,-1.000, 1.000,
715     +     1.000,-1.000,-1.000, 1.000, 1.000,-1.000,-1.000, 1.000,
716     +     1.000,-1.000,-1.000, 1.000,-1.000, 1.000, 1.000,-1.000/
717c
718      data id3/3,6,1,2,3
719     +     ,0,0,0/
720      data yrd3/'a1','a2','e'/
721      data yd3/'e','c3','c2'/
722      data chd3/
723     +     1.000, 1.000, 1.000,
724     +     1.000, 1.000,-1.000,
725     +     2.000,-1.000, 0.000/
726c
727      data id3d/6,12,1,2,3,1,2,3
728     +     ,0,0,0,0,0,0/
729      data yrd3d/'a1g','a1u','a2g','a2u','eg','eu'/
730      data yd3d/'e','c3','c2','i','s6','si.d'/
731      data chd3d/
732     +     1.000, 1.000, 1.000, 1.000, 1.000, 1.000,
733     +     1.000, 1.000, 1.000,-1.000,-1.000,-1.000,
734     +     1.000, 1.000,-1.000, 1.000, 1.000,-1.000,
735     +     1.000, 1.000,-1.000,-1.000,-1.000, 1.000,
736     +     2.000,-1.000, 0.000, 2.000,-1.000, 0.000,
737     +     2.000,-1.000, 0.000,-2.000, 1.000, 0.000/
738c
739      data id3h/6,12,1,1,2,2,3,3
740     +     ,1,4,2,5,7,10/
741      data yrd3h/'a1''','a1"','a2''','a2"','e''','e"'/
742      data yd3h/'e','si.h','c3','s3','c2','si.v'/
743      data chd3h/
744     +     1.000, 1.000, 1.000, 1.000, 1.000, 1.000,
745     +     1.000,-1.000, 1.000,-1.000, 1.000,-1.000,
746     +     1.000, 1.000, 1.000, 1.000,-1.000,-1.000,
747     +     1.000,-1.000, 1.000,-1.000,-1.000, 1.000,
748     +     2.000, 2.000,-1.000,-1.000, 0.000, 0.000,
749     +     2.000,-2.000,-1.000, 1.000, 0.000, 0.000/
750c
751      data id4/5,8,1,2,1,2,2
752     +     ,1,2,3,5,6/
753      data yrd4/'a1','a2','b1','b2','e'/
754      data yd4/'e','c4','c2','c2''','c2"'/
755      data chd4/
756     +     1.000, 1.000, 1.000, 1.000, 1.000,
757     +     1.000, 1.000, 1.000,-1.000,-1.000,
758     +     1.000,-1.000, 1.000, 1.000,-1.000,
759     +     1.000,-1.000, 1.000,-1.000, 1.000,
760     +     2.000, 0.000,-2.000, 0.000, 0.000/
761c
762      data id4d/7,16,1,1,2,2,2,4,4
763     +     ,1,3,2,13,15,5,9/
764      data yrd4d/'a1','a2','b1','b2','e1','e2','e3'/
765      data yd4d/'e','c2','c4','s8','s8^3','c2''','si.d'/
766      data chd4d/
767     +     1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000,
768     +     1.000, 1.000, 1.000, 1.000, 1.000,-1.000,-1.000,
769     +     1.000, 1.000, 1.000,-1.000,-1.000, 1.000,-1.000,
770     +     1.000, 1.000, 1.000,-1.000,-1.000,-1.000, 1.000,
771     +     2.000,-2.000, 0.000, 1.414,-1.414, 0.000, 0.000,
772     +     2.000, 2.000,-2.000, 0.000, 0.000, 0.000, 0.000,
773     +     2.000,-2.000, 0.000,-1.414, 1.414, 0.000, 0.000/
774c
775      data id4h/10,16,1,1,2,2,2,1,1,2,2,2
776     +     ,1,3,2,9,10,7,5,6,13,14/
777      data yrd4h/'a1g','a1u','a2g','a2u','b1g','b1u','b2g','b2u',
778     +     'eg','eu'/
779      data yd4h/'e','c2','c4','c2''','c2"','i','si.h','s4',
780     +     'si.v','si.d'/
781      data chd4h/
782     +     1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000,
783     +     1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000,-1.000,
784     +     -1.000,-1.000,-1.000,-1.000,
785     +     1.000, 1.000, 1.000,-1.000,-1.000, 1.000, 1.000, 1.000,
786     +     -1.000,-1.000, 1.000, 1.000, 1.000,-1.000,-1.000,-1.000,
787     +     -1.000,-1.000, 1.000, 1.000,
788     +     1.000, 1.000,-1.000, 1.000,-1.000, 1.000, 1.000,-1.000,
789     +     1.000,-1.000,
790     +     1.000, 1.000,-1.000, 1.000,-1.000,-1.000,-1.000, 1.000,
791     +     -1.000, 1.000,
792     +     1.000, 1.000,-1.000,-1.000, 1.000, 1.000, 1.000,-1.000,
793     +     -1.000, 1.000,
794     +     1.000, 1.000,-1.000,-1.000, 1.000,-1.000,-1.000, 1.000,
795     +     1.000,-1.000,
796     +     2.000,-2.000, 0.000, 0.000, 0.000, 2.000,-2.000, 0.000,
797     +     0.000, 0.000,
798     +     2.000,-2.000, 0.000, 0.000, 0.000,-2.000, 2.000, 0.000,
799     +     0.000, 0.000/
800c
801      data id5/4,10,1,2,2,5
802     +     ,0,0,0,0/
803      data yrd5/'a1','a2','e1','e2'/
804      data yd5/'e','c5','c5^2','c2'/
805      data chd5/
806     +     1.000, 1.000, 1.000, 1.000,
807     +     1.000, 1.000, 1.000,-1.000,
808     +     2.000, 0.618,-1.618, 0.000,
809     +     2.000,-1.618, 0.618, 0.000/
810c
811      data id5d/8,20,1,2,2,5,1,2,2,5
812     +     ,1,2,3,6,19,16,18,11/
813      data yrd5d/'a1g','a1u','a2g','a2u','e1g','e1u','e2g','e2u'/
814      data yd5d/'e','c5','c5^2','c2','i','s10','s10^3','si.d'/
815      data chd5d/
816     +     1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000,
817     +     1.000, 1.000, 1.000, 1.000,-1.000,-1.000,-1.000,-1.000,
818     +     1.000, 1.000, 1.000,-1.000, 1.000, 1.000, 1.000,-1.000,
819     +     1.000, 1.000, 1.000,-1.000,-1.000,-1.000,-1.000, 1.000,
820     +     2.000, 0.618,-1.618, 0.000, 2.000,-1.618, 0.618, 0.000,
821     +     2.000, 0.618,-1.618, 0.000,-2.000, 1.618,-0.618, 0.000,
822     +     2.000,-1.618, 0.618, 0.000, 2.000, 0.618,-1.618, 0.000,
823     +     2.000,-1.618, 0.618, 0.000,-2.000,-0.618, 1.618, 0.000/
824c
825      data id5h/8,20,1,2,2,5,1,2,2,5
826     +     ,1,2,3,11,6,7,8,16/
827      data yrd5h/'a1''','a1"','a2''','a2"','e1''','e1"','e2''','e2"'/
828      data yd5h/'e','c5','c5^2','c2','si.h','s5','s5^3','si.v'/
829      data chd5h/
830     +     1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000,
831     +     1.000, 1.000, 1.000, 1.000,-1.000,-1.000,-1.000,-1.000,
832     +     1.000, 1.000, 1.000,-1.000, 1.000, 1.000, 1.000,-1.000,
833     +     1.000, 1.000, 1.000,-1.000,-1.000,-1.000,-1.000, 1.000,
834     +     2.000, 0.618,-1.618, 0.000, 2.000, 0.618,-1.618, 0.000,
835     +     2.000, 0.618,-1.618, 0.000,-2.000,-0.618, 1.618, 0.000,
836     +     2.000,-1.618, 0.618, 0.000, 2.000,-1.618, 0.618, 0.000,
837     +     2.000,-1.618, 0.618, 0.000,-2.000, 1.618,-0.618, 0.000/
838c
839      data id6/6,12,1,2,2,1,3,3
840     +     ,0,0,0,0,0,0/
841      data yrd6/'a1','a2','b1','b2','e1','e2'/
842      data yd6/'e','c6','c3','c2','c2''','c2"'/
843      data chd6/
844     +     1.000, 1.000, 1.000, 1.000, 1.000, 1.000,
845     +     1.000, 1.000, 1.000, 1.000,-1.000,-1.000,
846     +     1.000,-1.000, 1.000,-1.000, 1.000,-1.000,
847     +     1.000,-1.000, 1.000,-1.000,-1.000, 1.000,
848     +     2.000, 1.000,-1.000,-2.000, 0.000, 0.000,
849     +     2.000,-1.000,-1.000, 2.000, 0.000, 0.000/
850c
851      data id6d/9,24,1,2,2,2,2,2,1,6,6
852     +     ,0,0,0,0,0,0,0,0,0/
853      data yrd6d/'a1','a2','b1','b2','e1','e2','e3','e4','e5'/
854      data yd6d/'e','s12','c6','s4','c3','s12^5','c2','c2''','si.d'/
855      data chd6d/
856     +    1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000,
857     +    1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000,-1.000,-1.000,
858     +    1.000,-1.000, 1.000,-1.000, 1.000,-1.000, 1.000, 1.000,-1.000,
859     +    1.000,-1.000, 1.000,-1.000, 1.000,-1.000, 1.000,-1.000, 1.000,
860     +    2.000, 1.732, 1.000, 0.000,-1.000,-1.732,-2.000, 0.000, 0.000,
861     +    2.000, 1.000,-1.000,-2.000,-1.000, 1.000, 2.000, 0.000, 0.000,
862     +    2.000, 0.000,-2.000, 0.000, 2.000, 0.000,-2.000, 0.000, 0.000,
863     +    2.000,-1.000,-1.000, 2.000,-1.000,-1.000, 2.000, 0.000, 0.000,
864     +    2.000,-1.732, 1.000, 0.000,-1.000, 1.732,-2.000, 0.000, 0.000/
865c
866      data id6h/12,24,1,1,2,2,3,3,1,1,2,2,3,3
867     +     ,1,4,3,2,13,16,10,7,8,9,22,19/
868      data yrd6h/'a1g','a1u','a2g','a2u','b1g','b1u','b2g',
869     +     'b2u','e1g','e1u','e2g','e2u'/
870      data yd6h/'e','c2','c3','c6','c2''','c2"','i','si.h',
871     +     's6','s3','si.d','si.v'/
872      data chd6h/
873     +     1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000,
874     +     1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000,
875     +     1.000, 1.000,-1.000,-1.000,-1.000,-1.000,-1.000,-1.000,
876     +     1.000, 1.000, 1.000, 1.000,-1.000,-1.000, 1.000, 1.000,
877     +     1.000, 1.000,-1.000,-1.000, 1.000, 1.000, 1.000, 1.000,
878     +     -1.000,-1.000,-1.000,-1.000,-1.000,-1.000, 1.000, 1.000,
879     +     1.000,-1.000, 1.000,-1.000, 1.000,-1.000, 1.000,-1.000,
880     +     1.000,-1.000, 1.000,-1.000, 1.000,-1.000, 1.000,-1.000,
881     +     1.000,-1.000,-1.000, 1.000,-1.000, 1.000,-1.000, 1.000,
882     +     1.000,-1.000, 1.000,-1.000,-1.000, 1.000, 1.000,-1.000,
883     +     1.000,-1.000,-1.000, 1.000, 1.000,-1.000, 1.000,-1.000,
884     +     -1.000, 1.000,-1.000, 1.000,-1.000, 1.000, 1.000,-1.000,
885     +     2.000,-2.000,-1.000, 1.000, 0.000, 0.000, 2.000,-2.000,
886     +     -1.000, 1.000, 0.000, 0.000, 2.000,-2.000,-1.000, 1.000,
887     +     0.000, 0.000,-2.000, 2.000, 1.000,-1.000, 0.000, 0.000,
888     +     2.000, 2.000,-1.000,-1.000, 0.000, 0.000, 2.000, 2.000,
889     +     -1.000,-1.000, 0.000, 0.000, 2.000, 2.000,-1.000,-1.000,
890     +     0.000, 0.000,-2.000,-2.000, 1.000, 1.000, 0.000, 0.000/
891c
892      data id8/7,16,1,2,2,2,1,4,4
893     +     ,0,0,0,0,0,0,0/
894      data yrd8/'a1','a2','b1','b2','e1','e2','e3'/
895      data yd8/'e','c8','c8^3','c4','c2','c2''','c2"'/
896      data chd8/
897     +     1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000,
898     +     1.000, 1.000, 1.000, 1.000, 1.000,-1.000,-1.000,
899     +     1.000,-1.000,-1.000, 1.000, 1.000, 1.000,-1.000,
900     +     1.000,-1.000,-1.000, 1.000, 1.000,-1.000, 1.000,
901     +     2.000, 1.414,-1.414, 0.000,-2.000, 0.000, 0.000,
902     +     2.000, 0.000, 0.000,-2.000, 2.000, 0.000, 0.000,
903     +     2.000,-1.414, 1.414, 0.000,-2.000, 0.000, 0.000/
904c
905      data id8h/14,32,1,2,2,2,1,4,4,1,2,2,2,1,4,4
906     +     ,0,0,0,0,0,0,0,0,0,0,0,0,0,0/
907      data yrd8h/'a1g','a2g','b1g','b2g','e1g','e2g','e3g',
908     +     'a1u','a2u','b1u','b2u','e1u','e2u','e3u'/
909      data yd8h/'e','c8','c8^3','c4','c2','c2''','c2"','i',
910     +     's8^3','s8','s4','si.h','si.d','si.v'/
911      data chd8h/
912     +     1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
913     +     1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,-1.0,-1.0, 1.0, 1.0, 1.0,
914     +     1.0, 1.0,-1.0,-1.0, 1.0,-1.0,-1.0, 1.0, 1.0, 1.0,-1.0, 1.0,
915     +     -1.0,-1.0, 1.0, 1.0, 1.0,-1.0, 1.0,-1.0,-1.0, 1.0, 1.0,-1.0,
916     +     1.0, 1.0,-1.0,-1.0, 1.0, 1.0,-1.0, 1.0, 2.0, 1.414,-1.414,
917     +     0.0,-2.00, 0.00, 0.00, 2.00, 1.414,-1.414, 0.00,-2.00, 0.00,
918     +     0.00, 2.00, 0.00, 0.00,-2.00, 2.00, 0.00, 0.00, 2.00, 0.00,
919     +     0.00,-2.00, 2.00, 0.00, 0.00, 2.00,-1.414, 1.414, 0.00,-2.00,
920     +     0.00, 0.00, 2.00,-1.414, 1.414, 0.00,-2.00, 0.00, 0.00,
921     +     1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00,-1.00,-1.00,-1.00,
922     +     -1.00,-1.00,-1.00,-1.00, 1.00, 1.00, 1.00, 1.00, 1.00,-1.00,
923     +     -1.00,-1.00,-1.00,-1.00,-1.00,-1.00, 1.00, 1.00, 1.00,-1.00,
924     +     -1.00, 1.00, 1.00, 1.00,-1.00,-1.00, 1.00, 1.00,-1.00,-1.00,
925     +     -1.00, 1.00, 1.00,-1.00,-1.00, 1.00, 1.00,-1.00, 1.00,-1.00,
926     +     1.00, 1.00,-1.00,-1.00, 1.00,-1.00, 2.00, 1.414,-1.414,0.00,
927     +     -2.00, 0.00, 0.00,-2.00,-1.414, 1.414, 0.00, 2.00,0.00,0.00,
928     +     2.00, 0.00, 0.00,-2.00, 2.00, 0.00, 0.00,-2.00, 0.00, 0.00,
929     +     2.00,-2.00, 0.00, 0.00, 2.00,-1.414, 1.414, 0.00,-2.00,
930     +     0.00, 0.00,-2.00, 1.414,-1.414, 0.00, 2.00, 0.00, 0.00/
931c
932      data ii/5,60,1,12,12,20,15
933     +     ,0,0,0,0,0/
934      data yri/'a','t1','t2','g','h'/
935      data yi/'e','c5','c5^2','c3','c2'/
936      data chi/
937     +     1.000, 1.000, 1.000, 1.000, 1.000,
938     +     3.000, 1.618,-0.618, 0.000,-1.000,
939     +     3.000,-0.618, 1.618, 0.000,-1.000,
940     +     4.000,-1.000,-1.000, 1.000, 0.000,
941     +     5.000, 0.000, 0.000,-1.000, 1.000/
942c
943      data iih/10,120,1,12,12,20,15,1,12,12,20,15
944     +     ,0,0,0,0,0,0,0,0,0,0/
945      data yrih/'ag','t1g','t2g','gg','hg','au','t1u','t2u','gu','hu'/
946      data yih/'e','c5','c5^2','c3','c2','i','s10','s10^3','s6','si'/
947      data chih/
948     +     1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000,  1.000,
949     +     1.000, 1.000,
950     +     3.000, 1.618,-0.618, 0.000,-1.000, 3.000,-0.618,  1.618,
951     +     0.000,-1.000,
952     +     3.000,-0.618, 1.618, 0.000,-1.000, 3.000, 1.618, -0.618,
953     +     0.000,-1.000,
954     +     4.000,-1.000,-1.000, 1.000, 0.000, 4.000,-1.000, -1.000,
955     +     1.000, 0.000,
956     +     5.000, 0.000, 0.000,-1.000, 1.000, 5.000, 0.000,  0.000,
957     +     -1.000, 1.000,
958     +     1.000, 1.000, 1.000, 1.000, 1.000,-1.000,-1.000, -1.000,
959     +     -1.000,-1.000,
960     +     3.000, 1.618,-0.618, 0.000,-1.000,-3.000, 0.618, -1.618,
961     +     0.000, 1.000,
962     +     3.000,-0.618, 1.618, 0.000,-1.000,-3.000,-1.618,  0.618,
963     +     0.000, 1.000,
964     +     4.000,-1.000,-1.000, 1.000, 0.000,-4.000, 1.000,  1.000,
965     +     -1.000, 0.000,
966     +     5.000, 0.000, 0.000,-1.000, 1.000,-5.000, 0.000,  0.000,
967     +     1.000,-1.000/
968c
969      data io/5,24,1,8,3,6,6
970     +     ,0,0,0,0,0/
971      data yro/'a1','a2','e','t1','t2'/
972      data yo/'e','c3','c2','c2''','c4'/
973      data cho/
974     +     1.000, 1.000, 1.000, 1.000, 1.000,
975     +     1.000, 1.000, 1.000,-1.000,-1.000,
976     +     2.000,-1.000, 2.000, 0.000, 0.000,
977     +     3.000, 0.000,-1.000,-1.000, 1.000,
978     +     3.000, 0.000,-1.000, 1.000,-1.000/
979c
980      data ioh/10,48,1,8,3,6,6,1,8,3,6,6
981     +     ,1,5,2,14,13,25,29,26,38,37/
982      data yroh/'a1g','a1u','a2g','a2u','eg','eu','t1g','t1u',
983     +     't2g','t2u'/
984      data yoh/'e','c3','c2','c2''','c4','i','s6','si.h',
985     +     'si.d','s4'/
986      data choh/
987     +     1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000,
988     +     1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000,-1.000,
989     +     -1.000,-1.000,-1.000,-1.000,
990     +     1.000, 1.000, 1.000,-1.000,-1.000, 1.000, 1.000, 1.000,
991     +     -1.000,-1.000, 1.000, 1.000, 1.000,-1.000,-1.000,-1.000,
992     +     -1.000,-1.000, 1.000, 1.000,
993     +     2.000,-1.000, 2.000, 0.000, 0.000, 2.000,-1.000, 2.000,
994     +     0.000, 0.000, 2.000,-1.000, 2.000, 0.000, 0.000,-2.000,
995     +     1.000,-2.000, 0.000, 0.000,
996     +     3.000, 0.000,-1.000,-1.000, 1.000, 3.000, 0.000,-1.000,
997     +     -1.000, 1.000,
998     +     3.000, 0.000,-1.000,-1.000, 1.000,-3.000, 0.000, 1.000,
999     +     1.000,-1.000,
1000     +     3.000, 0.000,-1.000, 1.000,-1.000, 3.000, 0.000,-1.000,
1001     +     1.000,-1.000,
1002     +     3.000, 0.000,-1.000, 1.000,-1.000,-3.000, 0.000, 1.000,
1003     +     -1.000, 1.000/
1004c
1005      data is2/2,2,1,1
1006     +     ,1,2/
1007      data yrs2/'ag','au'/
1008      data ys2/'e','i=s2'/
1009      data chs2/
1010     +     1.000, 1.000,
1011     +     1.000,-1.000/
1012c
1013      data is4/4,4,1,1,1,1
1014     +     ,0,0,0,0/
1015      data yrs4/'a','b','e+','e-'/
1016      data ys4/'e','s4','c2','s4^3'/
1017      data chs4/
1018     +     1.000, 1.000, 1.000, 1.000,
1019     +     1.000,-1.000, 1.000,-1.000,
1020     +     1.000, 0.000,-1.000, 0.000,
1021     +     0.000, 1.000, 0.000,-1.000/
1022c
1023      data is6/6,6,1,1,1,1,1,1
1024     +     ,0,0,0,0,0,0/
1025      data yrs6/'ag','au','eg+','eg-','eu+','eu-'/
1026      data ys6/'e','c3','c3^2','i','s6','s6^5'/
1027      data chs6/
1028     +     1.000, 1.000, 1.000, 1.000, 1.000, 1.000,
1029     +     1.000, 1.000, 1.000,-1.000,-1.000,-1.000,
1030     +     1.000,-0.500,-0.500, 1.000,-0.500,-0.500,
1031     +     0.000, 1.732,-1.732, 0.000,-1.732, 1.732,
1032     +     1.000,-0.500,-0.500,-1.000, 0.500, 0.500,
1033     +     0.000, 1.732,-1.732, 0.000, 1.732,-1.732/
1034c
1035      data is8/8,8,1,1,1,1,1,1,1,1
1036     +     ,0,0,0,0,0,0,0,0/
1037      data yrs8/'a','b','e1+','e1-','e2+','e2-','e3+','e3-'/
1038      data ys8/'e','s8','c4','s8^3','c2','s8^5','c4^3','s8^7'/
1039      data chs8/
1040     +     1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000,
1041     +     1.000,-1.000, 1.000,-1.000, 1.000,-1.000, 1.000,-1.000,
1042     +     1.000, 0.707, 0.000,-0.707,-1.000,-0.707, 0.000, 0.707,
1043     +     0.000, 0.000, 1.000, 0.000, 0.000, 0.000,-1.000, 0.000,
1044     +     1.000, 0.000,-1.000, 0.000, 1.000, 0.000,-1.000, 0.000,
1045     +     0.000, 1.000, 0.000,-1.000, 0.000, 1.000, 0.000,-1.000,
1046     +     1.000,-0.707, 0.000, 0.707,-1.000, 0.707, 0.000,-0.707,
1047     +     0.000, 0.000,-1.000, 0.000, 0.000, 0.000, 1.000, 0.000/
1048c
1049      data it/4,12,1,4,4,3
1050     +     ,0,0,0,0/
1051      data yrt/'a','e+','e-','t'/
1052      data yt/'e','c3','c3^2','c2'/
1053      data cht/
1054     +     1.000, 1.000, 1.000, 1.000,
1055     +     1.000,-0.500,-0.500, 1.000,
1056     +     0.000, 0.866,-0.866, 0.000,
1057     +     3.000, 0.000, 0.000,-1.000/
1058c
1059      data itd/5,24,1,8,3,6,6
1060     +     ,1,5,2,13,14/
1061      data yrtd/'a1','a2','e','t1','t2'/
1062      data ytd/'e','c3','c2','si.d','s4'/
1063      data chtd/
1064     +     1.000, 1.000, 1.000, 1.000, 1.000,
1065     +     1.000, 1.000, 1.000,-1.000,-1.000,
1066     +     2.000,-1.000, 2.000, 0.000, 0.000,
1067     +     3.000, 0.000,-1.000,-1.000, 1.000,
1068     +     3.000, 0.000,-1.000, 1.000,-1.000/
1069c
1070      data ith/8,24,1,4,4,3,1,4,4,3
1071     +     ,0,0,0,0,0,0,0,0/
1072      data yrth/'ag','eg+','eg-','tg','au','eu+','eu-','tu'/
1073      data yth/'e','c3','c3^2','c2','i','s6^5','s6','si.d'/
1074      data chth/
1075     +     1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000,
1076     +     1.000,-0.500,-0.500, 1.000, 1.000,-0.500,-0.500, 1.000,
1077     +     0.000, 0.866,-0.866, 0.000, 0.000, 0.866,-0.866, 0.000,
1078     +     3.000, 0.000, 0.000,-1.000, 3.000, 0.000, 0.000,-1.000,
1079     +     1.000, 1.000, 1.000, 1.000,-1.000,-1.000,-1.000,-1.000,
1080     +     1.000,-0.500,-0.500, 1.000,-1.000, 0.500, 0.500,-1.000,
1081     +     0.000, 0.866,-0.866, 0.000, 0.000,-0.866, 0.866, 0.000,
1082     +     3.000, 0.000, 0.000,-1.000,-3.000, 0.000, 0.000, 1.000/
1083c
1084      zgroup = zname
1085      call inp_lcase(zgroup)
1086c
1087c     here is beginning of instructions - also machine generated
1088c
1089      if(zgroup.eq.'c1') then
1090         k=0
1091         nir=nc1
1092         nop=ic1(2)
1093         do i=1,nir
1094            iclass_dim(i)=ic1(i+2)
1095            ipointer(i)=ic1(i+2+nir)
1096            zir(i)=yrc1(i)
1097            zclass(i)=yc1(i)
1098            do j=1,nir
1099               k=k+1
1100               chars(k)=chc1(j,i)
1101            enddo
1102         enddo
1103         goto 10
1104      endif
1105c
1106c
1107      if(zgroup.eq.'c1h') then
1108         k=0
1109         nir=nc1h
1110         nop=ic1h(2)
1111         do i=1,nir
1112            iclass_dim(i)=ic1h(i+2)
1113            ipointer(i)=ic1h(i+2+nir)
1114            zir(i)=yrc1h(i)
1115            zclass(i)=yc1h(i)
1116            do j=1,nir
1117               k=k+1
1118               chars(k)=chc1h(j,i)
1119            enddo
1120         enddo
1121         goto 10
1122      endif
1123c
1124c
1125      if(zgroup.eq.'c2') then
1126         k=0
1127         nir=nc2
1128         nop=ic2(2)
1129         do i=1,nir
1130            iclass_dim(i)=ic2(i+2)
1131            ipointer(i)=ic2(i+2+nir)
1132            zir(i)=yrc2(i)
1133            zclass(i)=yc2(i)
1134            do j=1,nir
1135               k=k+1
1136               chars(k)=chc2(j,i)
1137            enddo
1138         enddo
1139         goto 10
1140      endif
1141c
1142c
1143      if(zgroup.eq.'c2h') then
1144         k=0
1145         nir=nc2h
1146         nop=ic2h(2)
1147         do i=1,nir
1148            iclass_dim(i)=ic2h(i+2)
1149            ipointer(i)=ic2h(i+2+nir)
1150            zir(i)=yrc2h(i)
1151            zclass(i)=yc2h(i)
1152            do j=1,nir
1153               k=k+1
1154               chars(k)=chc2h(j,i)
1155            enddo
1156         enddo
1157         goto 10
1158      endif
1159c
1160c
1161      if(zgroup.eq.'c2v') then
1162         k=0
1163         nir=nc2v
1164         nop=ic2v(2)
1165         do i=1,nir
1166            iclass_dim(i)=ic2v(i+2)
1167            ipointer(i)=ic2v(i+2+nir)
1168            zir(i)=yrc2v(i)
1169            zclass(i)=yc2v(i)
1170            do j=1,nir
1171               k=k+1
1172               chars(k)=chc2v(j,i)
1173            enddo
1174         enddo
1175         goto 10
1176      endif
1177c
1178c
1179      if(zgroup.eq.'c3') then
1180         k=0
1181         nir=nc3
1182         nop=ic3(2)
1183         do i=1,nir
1184            iclass_dim(i)=ic3(i+2)
1185            ipointer(i)=ic3(i+2+nir)
1186            zir(i)=yrc3(i)
1187            zclass(i)=yc3(i)
1188            do j=1,nir
1189               k=k+1
1190               chars(k)=chc3(j,i)
1191            enddo
1192         enddo
1193         goto 10
1194      endif
1195c
1196c
1197      if(zgroup.eq.'c3h') then
1198         k=0
1199         nir=nc3h
1200         nop=ic3h(2)
1201         do i=1,nir
1202            iclass_dim(i)=ic3h(i+2)
1203            ipointer(i)=ic3h(i+2+nir)
1204            zir(i)=yrc3h(i)
1205            zclass(i)=yc3h(i)
1206            do j=1,nir
1207               k=k+1
1208               chars(k)=chc3h(j,i)
1209            enddo
1210         enddo
1211         goto 10
1212      endif
1213c
1214c
1215      if(zgroup.eq.'c3v') then
1216         k=0
1217         nir=nc3v
1218         nop=ic3v(2)
1219         do i=1,nir
1220            iclass_dim(i)=ic3v(i+2)
1221            ipointer(i)=ic3v(i+2+nir)
1222            zir(i)=yrc3v(i)
1223            zclass(i)=yc3v(i)
1224            do j=1,nir
1225               k=k+1
1226               chars(k)=chc3v(j,i)
1227            enddo
1228         enddo
1229         goto 10
1230      endif
1231c
1232c
1233      if(zgroup.eq.'c4') then
1234         k=0
1235         nir=nc4
1236         nop=ic4(2)
1237         do i=1,nir
1238            iclass_dim(i)=ic4(i+2)
1239            ipointer(i)=ic4(i+2+nir)
1240            zir(i)=yrc4(i)
1241            zclass(i)=yc4(i)
1242            do j=1,nir
1243               k=k+1
1244               chars(k)=chc4(j,i)
1245            enddo
1246         enddo
1247         goto 10
1248      endif
1249c
1250c
1251      if(zgroup.eq.'c4h') then
1252         k=0
1253         nir=nc4h
1254         nop=ic4h(2)
1255         do i=1,nir
1256            iclass_dim(i)=ic4h(i+2)
1257            ipointer(i)=ic4h(i+2+nir)
1258            zir(i)=yrc4h(i)
1259            zclass(i)=yc4h(i)
1260            do j=1,nir
1261               k=k+1
1262               chars(k)=chc4h(j,i)
1263            enddo
1264         enddo
1265         goto 10
1266      endif
1267c
1268c
1269      if(zgroup.eq.'c4v') then
1270         k=0
1271         nir=nc4v
1272         nop=ic4v(2)
1273         do i=1,nir
1274            iclass_dim(i)=ic4v(i+2)
1275            ipointer(i)=ic4v(i+2+nir)
1276            zir(i)=yrc4v(i)
1277            zclass(i)=yc4v(i)
1278            do j=1,nir
1279               k=k+1
1280               chars(k)=chc4v(j,i)
1281            enddo
1282         enddo
1283         goto 10
1284      endif
1285c
1286c
1287      if(zgroup.eq.'c5') then
1288         k=0
1289         nir=nc5
1290         nop=ic5(2)
1291         do i=1,nir
1292            iclass_dim(i)=ic5(i+2)
1293            ipointer(i)=ic5(i+2+nir)
1294            zir(i)=yrc5(i)
1295            zclass(i)=yc5(i)
1296            do j=1,nir
1297               k=k+1
1298               chars(k)=chc5(j,i)
1299            enddo
1300         enddo
1301         goto 10
1302      endif
1303c
1304c
1305      if(zgroup.eq.'c5h') then
1306         k=0
1307         nir=nc5h
1308         nop=ic5h(2)
1309         do i=1,nir
1310            iclass_dim(i)=ic5h(i+2)
1311            ipointer(i)=ic5h(i+2+nir)
1312            zir(i)=yrc5h(i)
1313            zclass(i)=yc5h(i)
1314            do j=1,nir
1315               k=k+1
1316               chars(k)=chc5h(j,i)
1317            enddo
1318         enddo
1319         goto 10
1320      endif
1321c
1322c
1323      if(zgroup.eq.'c5v') then
1324         k=0
1325         nir=nc5v
1326         nop=ic5v(2)
1327         do i=1,nir
1328            iclass_dim(i)=ic5v(i+2)
1329            ipointer(i)=ic5v(i+2+nir)
1330            zir(i)=yrc5v(i)
1331            zclass(i)=yc5v(i)
1332            do j=1,nir
1333               k=k+1
1334               chars(k)=chc5v(j,i)
1335            enddo
1336         enddo
1337         goto 10
1338      endif
1339c
1340c
1341      if(zgroup.eq.'c6') then
1342         k=0
1343         nir=nc6
1344         nop=ic6(2)
1345         do i=1,nir
1346            iclass_dim(i)=ic6(i+2)
1347            ipointer(i)=ic6(i+2+nir)
1348            zir(i)=yrc6(i)
1349            zclass(i)=yc6(i)
1350            do j=1,nir
1351               k=k+1
1352               chars(k)=chc6(j,i)
1353            enddo
1354         enddo
1355         goto 10
1356      endif
1357c
1358c
1359      if(zgroup.eq.'c6h') then
1360         k=0
1361         nir=nc6h
1362         nop=ic6h(2)
1363         do i=1,nir
1364            iclass_dim(i)=ic6h(i+2)
1365            ipointer(i)=ic6h(i+2+nir)
1366            zir(i)=yrc6h(i)
1367            zclass(i)=yc6h(i)
1368            do j=1,nir
1369               k=k+1
1370               chars(k)=chc6h(j,i)
1371            enddo
1372         enddo
1373         goto 10
1374      endif
1375c
1376c
1377      if(zgroup.eq.'c6v') then
1378         k=0
1379         nir=nc6v
1380         nop=ic6v(2)
1381         do i=1,nir
1382            iclass_dim(i)=ic6v(i+2)
1383            ipointer(i)=ic6v(i+2+nir)
1384            zir(i)=yrc6v(i)
1385            zclass(i)=yc6v(i)
1386            do j=1,nir
1387               k=k+1
1388               chars(k)=chc6v(j,i)
1389            enddo
1390         enddo
1391         goto 10
1392      endif
1393c
1394c
1395      if(zgroup.eq.'c7') then
1396         k=0
1397         nir=nc7
1398         nop=ic7(2)
1399         do i=1,nir
1400            iclass_dim(i)=ic7(i+2)
1401            ipointer(i)=ic7(i+2+nir)
1402            zir(i)=yrc7(i)
1403            zclass(i)=yc7(i)
1404            do j=1,nir
1405               k=k+1
1406               chars(k)=chc7(j,i)
1407            enddo
1408         enddo
1409         goto 10
1410      endif
1411c
1412c
1413      if(zgroup.eq.'c7v') then
1414         k=0
1415         nir=nc7v
1416         nop=ic7v(2)
1417         do i=1,nir
1418            iclass_dim(i)=ic7v(i+2)
1419            ipointer(i)=ic7v(i+2+nir)
1420            zir(i)=yrc7v(i)
1421            zclass(i)=yc7v(i)
1422            do j=1,nir
1423               k=k+1
1424               chars(k)=chc7v(j,i)
1425            enddo
1426         enddo
1427         goto 10
1428      endif
1429c
1430c
1431      if(zgroup.eq.'c8') then
1432         k=0
1433         nir=nc8
1434         nop=ic8(2)
1435         do i=1,nir
1436            iclass_dim(i)=ic8(i+2)
1437            ipointer(i)=ic8(i+2+nir)
1438            zir(i)=yrc8(i)
1439            zclass(i)=yc8(i)
1440            do j=1,nir
1441               k=k+1
1442               chars(k)=chc8(j,i)
1443            enddo
1444         enddo
1445         goto 10
1446      endif
1447c
1448c
1449      if(zgroup.eq.'ci') then
1450         k=0
1451         nir=nci
1452         nop=ici(2)
1453         do i=1,nir
1454            iclass_dim(i)=ici(i+2)
1455            ipointer(i)=ici(i+2+nir)
1456            zir(i)=yrci(i)
1457            zclass(i)=yci(i)
1458            do j=1,nir
1459               k=k+1
1460               chars(k)=chci(j,i)
1461            enddo
1462         enddo
1463         goto 10
1464      endif
1465c
1466c
1467      if(zgroup.eq.'cs') then
1468         k=0
1469         nir=ncs
1470         nop=ics(2)
1471         do i=1,nir
1472            iclass_dim(i)=ics(i+2)
1473            ipointer(i)=ics(i+2+nir)
1474            zir(i)=yrcs(i)
1475            zclass(i)=ycs(i)
1476            do j=1,nir
1477               k=k+1
1478               chars(k)=chcs(j,i)
1479            enddo
1480         enddo
1481         goto 10
1482      endif
1483c
1484c
1485      if(zgroup.eq.'d2') then
1486         k=0
1487         nir=nd2
1488         nop=id2(2)
1489         do i=1,nir
1490            iclass_dim(i)=id2(i+2)
1491            ipointer(i)=id2(i+2+nir)
1492            zir(i)=yrd2(i)
1493            zclass(i)=yd2(i)
1494            do j=1,nir
1495               k=k+1
1496               chars(k)=chd2(j,i)
1497            enddo
1498         enddo
1499         goto 10
1500      endif
1501c
1502c
1503      if(zgroup.eq.'d2d') then
1504         k=0
1505         nir=nd2d
1506         nop=id2d(2)
1507         do i=1,nir
1508            iclass_dim(i)=id2d(i+2)
1509            ipointer(i)=id2d(i+2+nir)
1510            zir(i)=yrd2d(i)
1511            zclass(i)=yd2d(i)
1512            do j=1,nir
1513               k=k+1
1514               chars(k)=chd2d(j,i)
1515            enddo
1516         enddo
1517         goto 10
1518      endif
1519c
1520c
1521      if(zgroup.eq.'d2h') then
1522         k=0
1523         nir=nd2h
1524         nop=id2h(2)
1525         do i=1,nir
1526            iclass_dim(i)=id2h(i+2)
1527            ipointer(i)=id2h(i+2+nir)
1528            zir(i)=yrd2h(i)
1529            zclass(i)=yd2h(i)
1530            do j=1,nir
1531               k=k+1
1532               chars(k)=chd2h(j,i)
1533            enddo
1534         enddo
1535         goto 10
1536      endif
1537c
1538c
1539      if(zgroup.eq.'d3') then
1540         k=0
1541         nir=nd3
1542         nop=id3(2)
1543         do i=1,nir
1544            iclass_dim(i)=id3(i+2)
1545            ipointer(i)=id3(i+2+nir)
1546            zir(i)=yrd3(i)
1547            zclass(i)=yd3(i)
1548            do j=1,nir
1549               k=k+1
1550               chars(k)=chd3(j,i)
1551            enddo
1552         enddo
1553         goto 10
1554      endif
1555c
1556c
1557      if(zgroup.eq.'d3d') then
1558         k=0
1559         nir=nd3d
1560         nop=id3d(2)
1561         do i=1,nir
1562            iclass_dim(i)=id3d(i+2)
1563            ipointer(i)=id3d(i+2+nir)
1564            zir(i)=yrd3d(i)
1565            zclass(i)=yd3d(i)
1566            do j=1,nir
1567               k=k+1
1568               chars(k)=chd3d(j,i)
1569            enddo
1570         enddo
1571         goto 10
1572      endif
1573c
1574c
1575      if(zgroup.eq.'d3h') then
1576         k=0
1577         nir=nd3h
1578         nop=id3h(2)
1579         do i=1,nir
1580            iclass_dim(i)=id3h(i+2)
1581            ipointer(i)=id3h(i+2+nir)
1582            zir(i)=yrd3h(i)
1583            zclass(i)=yd3h(i)
1584            do j=1,nir
1585               k=k+1
1586               chars(k)=chd3h(j,i)
1587            enddo
1588         enddo
1589         goto 10
1590      endif
1591c
1592c
1593      if(zgroup.eq.'d4') then
1594         k=0
1595         nir=nd4
1596         nop=id4(2)
1597         do i=1,nir
1598            iclass_dim(i)=id4(i+2)
1599            ipointer(i)=id4(i+2+nir)
1600            zir(i)=yrd4(i)
1601            zclass(i)=yd4(i)
1602            do j=1,nir
1603               k=k+1
1604               chars(k)=chd4(j,i)
1605            enddo
1606         enddo
1607         goto 10
1608      endif
1609c
1610c
1611      if(zgroup.eq.'d4d') then
1612         k=0
1613         nir=nd4d
1614         nop=id4d(2)
1615         do i=1,nir
1616            iclass_dim(i)=id4d(i+2)
1617            ipointer(i)=id4d(i+2+nir)
1618            zir(i)=yrd4d(i)
1619            zclass(i)=yd4d(i)
1620            do j=1,nir
1621               k=k+1
1622               chars(k)=chd4d(j,i)
1623            enddo
1624         enddo
1625         goto 10
1626      endif
1627c
1628c
1629      if(zgroup.eq.'d4h') then
1630         k=0
1631         nir=nd4h
1632         nop=id4h(2)
1633         do i=1,nir
1634            iclass_dim(i)=id4h(i+2)
1635            ipointer(i)=id4h(i+2+nir)
1636            zir(i)=yrd4h(i)
1637            zclass(i)=yd4h(i)
1638            do j=1,nir
1639               k=k+1
1640               chars(k)=chd4h(j,i)
1641            enddo
1642         enddo
1643         goto 10
1644      endif
1645c
1646c
1647      if(zgroup.eq.'d5') then
1648         k=0
1649         nir=nd5
1650         nop=id5(2)
1651         do i=1,nir
1652            iclass_dim(i)=id5(i+2)
1653            ipointer(i)=id5(i+2+nir)
1654            zir(i)=yrd5(i)
1655            zclass(i)=yd5(i)
1656            do j=1,nir
1657               k=k+1
1658               chars(k)=chd5(j,i)
1659            enddo
1660         enddo
1661         goto 10
1662      endif
1663c
1664c
1665      if(zgroup.eq.'d5d') then
1666         k=0
1667         nir=nd5d
1668         nop=id5d(2)
1669         do i=1,nir
1670            iclass_dim(i)=id5d(i+2)
1671            ipointer(i)=id5d(i+2+nir)
1672            zir(i)=yrd5d(i)
1673            zclass(i)=yd5d(i)
1674            do j=1,nir
1675               k=k+1
1676               chars(k)=chd5d(j,i)
1677            enddo
1678         enddo
1679         goto 10
1680      endif
1681c
1682c
1683      if(zgroup.eq.'d5h') then
1684         k=0
1685         nir=nd5h
1686         nop=id5h(2)
1687         do i=1,nir
1688            iclass_dim(i)=id5h(i+2)
1689            ipointer(i)=id5h(i+2+nir)
1690            zir(i)=yrd5h(i)
1691            zclass(i)=yd5h(i)
1692            do j=1,nir
1693               k=k+1
1694               chars(k)=chd5h(j,i)
1695            enddo
1696         enddo
1697         goto 10
1698      endif
1699c
1700c
1701      if(zgroup.eq.'d6') then
1702         k=0
1703         nir=nd6
1704         nop=id6(2)
1705         do i=1,nir
1706            iclass_dim(i)=id6(i+2)
1707            ipointer(i)=id6(i+2+nir)
1708            zir(i)=yrd6(i)
1709            zclass(i)=yd6(i)
1710            do j=1,nir
1711               k=k+1
1712               chars(k)=chd6(j,i)
1713            enddo
1714         enddo
1715         goto 10
1716      endif
1717c
1718c
1719      if(zgroup.eq.'d6d') then
1720         k=0
1721         nir=nd6d
1722         nop=id6d(2)
1723         do i=1,nir
1724            iclass_dim(i)=id6d(i+2)
1725            ipointer(i)=id6d(i+2+nir)
1726            zir(i)=yrd6d(i)
1727            zclass(i)=yd6d(i)
1728            do j=1,nir
1729               k=k+1
1730               chars(k)=chd6d(j,i)
1731            enddo
1732         enddo
1733         goto 10
1734      endif
1735c
1736c
1737      if(zgroup.eq.'d6h') then
1738         k=0
1739         nir=nd6h
1740         nop=id6h(2)
1741         do i=1,nir
1742            iclass_dim(i)=id6h(i+2)
1743            ipointer(i)=id6h(i+2+nir)
1744            zir(i)=yrd6h(i)
1745            zclass(i)=yd6h(i)
1746            do j=1,nir
1747               k=k+1
1748               chars(k)=chd6h(j,i)
1749            enddo
1750         enddo
1751         goto 10
1752      endif
1753c
1754c
1755      if(zgroup.eq.'d8') then
1756         k=0
1757         nir=nd8
1758         nop=id8(2)
1759         do i=1,nir
1760            iclass_dim(i)=id8(i+2)
1761            ipointer(i)=id8(i+2+nir)
1762            zir(i)=yrd8(i)
1763            zclass(i)=yd8(i)
1764            do j=1,nir
1765               k=k+1
1766               chars(k)=chd8(j,i)
1767            enddo
1768         enddo
1769         goto 10
1770      endif
1771c
1772c
1773      if(zgroup.eq.'d8h') then
1774         k=0
1775         nir=nd8h
1776         nop=id8h(2)
1777         do i=1,nir
1778            iclass_dim(i)=id8h(i+2)
1779            ipointer(i)=id8h(i+2+nir)
1780            zir(i)=yrd8h(i)
1781            zclass(i)=yd8h(i)
1782            do j=1,nir
1783               k=k+1
1784               chars(k)=chd8h(j,i)
1785            enddo
1786         enddo
1787         goto 10
1788      endif
1789c
1790c
1791      if(zgroup.eq.'i') then
1792         k=0
1793         nir=ni
1794         nop=ii(2)
1795         do i=1,nir
1796            iclass_dim(i)=ii(i+2)
1797            ipointer(i)=ii(i+2+nir)
1798            zir(i)=yri(i)
1799            zclass(i)=yi(i)
1800            do j=1,nir
1801               k=k+1
1802               chars(k)=chi(j,i)
1803            enddo
1804         enddo
1805         goto 10
1806      endif
1807c
1808c
1809      if(zgroup.eq.'ih') then
1810         k=0
1811         nir=nih
1812         nop=iih(2)
1813         do i=1,nir
1814            iclass_dim(i)=iih(i+2)
1815            ipointer(i)=iih(i+2+nir)
1816            zir(i)=yrih(i)
1817            zclass(i)=yih(i)
1818            do j=1,nir
1819               k=k+1
1820               chars(k)=chih(j,i)
1821            enddo
1822         enddo
1823         goto 10
1824      endif
1825c
1826c
1827      if(zgroup.eq.'o') then
1828         k=0
1829         nir=no
1830         nop=io(2)
1831         do i=1,nir
1832            iclass_dim(i)=io(i+2)
1833            ipointer(i)=io(i+2+nir)
1834            zir(i)=yro(i)
1835            zclass(i)=yo(i)
1836            do j=1,nir
1837               k=k+1
1838               chars(k)=cho(j,i)
1839            enddo
1840         enddo
1841         goto 10
1842      endif
1843c
1844c
1845      if(zgroup.eq.'oh') then
1846         k=0
1847         nir=noh
1848         nop=ioh(2)
1849         do i=1,nir
1850            iclass_dim(i)=ioh(i+2)
1851            ipointer(i)=ioh(i+2+nir)
1852            zir(i)=yroh(i)
1853            zclass(i)=yoh(i)
1854            do j=1,nir
1855               k=k+1
1856               chars(k)=choh(j,i)
1857            enddo
1858         enddo
1859         goto 10
1860      endif
1861c
1862c
1863      if(zgroup.eq.'s2') then
1864         k=0
1865         nir=ns2
1866         nop=is2(2)
1867         do i=1,nir
1868            iclass_dim(i)=is2(i+2)
1869            ipointer(i)=is2(i+2+nir)
1870            zir(i)=yrs2(i)
1871            zclass(i)=ys2(i)
1872            do j=1,nir
1873               k=k+1
1874               chars(k)=chs2(j,i)
1875            enddo
1876         enddo
1877         goto 10
1878      endif
1879c
1880c
1881      if(zgroup.eq.'s4') then
1882         k=0
1883         nir=ns4
1884         nop=is4(2)
1885         do i=1,nir
1886            iclass_dim(i)=is4(i+2)
1887            ipointer(i)=is4(i+2+nir)
1888            zir(i)=yrs4(i)
1889            zclass(i)=ys4(i)
1890            do j=1,nir
1891               k=k+1
1892               chars(k)=chs4(j,i)
1893            enddo
1894         enddo
1895         goto 10
1896      endif
1897c
1898c
1899      if(zgroup.eq.'s6') then
1900         k=0
1901         nir=ns6
1902         nop=is6(2)
1903         do i=1,nir
1904            iclass_dim(i)=is6(i+2)
1905            ipointer(i)=is6(i+2+nir)
1906            zir(i)=yrs6(i)
1907            zclass(i)=ys6(i)
1908            do j=1,nir
1909               k=k+1
1910               chars(k)=chs6(j,i)
1911            enddo
1912         enddo
1913         goto 10
1914      endif
1915c
1916c
1917      if(zgroup.eq.'s8') then
1918         k=0
1919         nir=ns8
1920         nop=is8(2)
1921         do i=1,nir
1922            iclass_dim(i)=is8(i+2)
1923            ipointer(i)=is8(i+2+nir)
1924            zir(i)=yrs8(i)
1925            zclass(i)=ys8(i)
1926            do j=1,nir
1927               k=k+1
1928               chars(k)=chs8(j,i)
1929            enddo
1930         enddo
1931         goto 10
1932      endif
1933c
1934c
1935      if(zgroup.eq.'t') then
1936         k=0
1937         nir=nt
1938         nop=it(2)
1939         do i=1,nir
1940            iclass_dim(i)=it(i+2)
1941            ipointer(i)=it(i+2+nir)
1942            zir(i)=yrt(i)
1943            zclass(i)=yt(i)
1944            do j=1,nir
1945               k=k+1
1946               chars(k)=cht(j,i)
1947            enddo
1948         enddo
1949         goto 10
1950      endif
1951c
1952c
1953      if(zgroup.eq.'td') then
1954         k=0
1955         nir=ntd
1956         nop=itd(2)
1957         do i=1,nir
1958            iclass_dim(i)=itd(i+2)
1959            ipointer(i)=itd(i+2+nir)
1960            zir(i)=yrtd(i)
1961            zclass(i)=ytd(i)
1962            do j=1,nir
1963               k=k+1
1964               chars(k)=chtd(j,i)
1965            enddo
1966         enddo
1967         goto 10
1968      endif
1969c
1970c
1971      if(zgroup.eq.'th') then
1972         k=0
1973         nir=nth
1974         nop=ith(2)
1975         do i=1,nir
1976            iclass_dim(i)=ith(i+2)
1977            ipointer(i)=ith(i+2+nir)
1978            zir(i)=yrth(i)
1979            zclass(i)=yth(i)
1980            do j=1,nir
1981               k=k+1
1982               chars(k)=chth(j,i)
1983            enddo
1984         enddo
1985         goto 10
1986      endif
1987c
1988c     here it will come if group was not recognized
1989c
1990      sym_char_table = .false.
1991      return
1992c
1993c     here it comes on success
1994c
1995 10   continue
1996      sym_char_table = .true.
1997c
1998c     Munge fractional characters to their precise values
1999c
2000      twopi = 2.0d0*4.0d0*atan(1.0d0)
2001      do i = 1, nir*nir
2002c
2003c     Integers, rational fractions and square-roots thereof
2004c
2005         do k = 0, 10
2006            do l = 1, 10
2007               dval = dble(k)/dble(l)
2008               dval = sign(dval,chars(i))
2009               if (abs(chars(i)-dval).lt.0.0006) goto 20
2010               dval = sqrt(abs(dval))
2011               dval = sign(dval,chars(i))
2012               if (abs(chars(i)-dval).lt.0.0006) goto 20
2013            enddo
2014         enddo
2015c
2016c     Sines and cosines and multiples thereof
2017c
2018         do n = 1, 24
2019            do k = 1, (n-1)/4+1
2020               angle = dble(k)*twopi/dble(n)
2021               do multiple = 1, 2
2022                  dval = multiple*sin(angle)
2023                  dval = sign(abs(dval),chars(i))
2024                  if (abs(chars(i)-dval).lt.0.0006) goto 20
2025                  dval = multiple*cos(angle)
2026                  dval = sign(abs(dval),chars(i))
2027                  if (abs(chars(i)-dval).lt.0.0006) goto 20
2028               enddo
2029            enddo
2030         enddo
2031c
2032c     Magic numbers ... shouldn't be any?
2033c
2034         write(6,*) chars(i)
2035         call errquit('sym_char_table: unmunged character',i, INPUT_ERR)
2036c
2037 20      chars(i) = dval
2038      enddo
2039c
2040      if (util_print('sym_char_table', print_never)) then
2041         write(6,*) ' sym_char_table ', zname
2042         do i = 0, nir-1
2043            write(6,111) (chars(i*nir+j),j=1,nir)
2044         enddo
2045 111     format(1x,20f10.6)
2046         call util_flush(6)
2047      endif
2048c
2049      if (please_print_ecce) then
2050         please_print_ecce = .false.
2051         call ecce_print1_char('group class names', zclass, nir)
2052         call ecce_print1_char('group irrep names', zir, nir)
2053      endif
2054c
2055      end
2056