# Subroutine `tabgen`

The subroutine `tabgen` reads in the table form for generating the b_(lm)s.

## Input data records for `tabgen`

1. `pgroup, ngroup, nabop, lmod, mmod`
2. For `irep = 1` to `ngroup`
1. `symtyp(irep), nrdim(irep)`
2. For `icomp = 1` to `nrdim(irep)`
1. `ifrmtp(ntype), (iabel(j, ntype), j = 1, nabop)`
2. ```(lmodv(k, ntype), mmodv(k, ntype), isgnm(k, ntype), phase(k, ntype), k = 1, ifrmtp(ntype)) ```

## Definition of the input variables:

`pgroup`
a character string `(LEN=5)` with the point group name
`ngroup`
number of irreducible representations (IR)
`nabop`
number of operations in the abelian subgroup not counting the E operation
`lmod`
used to determine which l values are included in a given symmetry type
`mmod`
used to determine which m values are included in a given symmetry type
`sumtyp(irep)`
a character string `(LEN=5)` with the name of the IR
`nrdim(irep)`
dimensionality of the IR
`ifrmtp(j)`
number of formulas for function type `j`
`iabel(m, j)`
eigenvalue of the m'th operation of the abelian subgroup (either 1 or -1) for the j'th type
`lmodv(i, j)`
required mod(l, lmod) for type j from the i'th formula
`mmodv(i, j)`
required mod(m, mmod) for type j function from the i'th formula
`isgnm(i, j)`
sign of m (+1 for cos like terms, -1 for sin like terms) for the type j function from the i'th formula
`phase(i, j)`
overall phase which all the b_(lm) are multiplied by

The number of "types" is the sum of the dimensionalities of all of the IRs of the group.

A particular real spherical harmonic Y_(l, m, s or c) is included in a given type j if mod(l, lmod) = lmodv(i, j), mod(m, mmod) = mmodv(i, j), and isgnm(i, j) = 1 for the cosine like function or isgnm(i, j) = -1 for the sine like function for one value of i = 1, ..., ifrmtp(j) if this condition is satisfied then the b_(lm) will be given the value phase(i, j) (i. e. 1 or -1)

These factors can be determined from the paper: S. L. Altmann, "On the symmetries of spherical harmonics," Proceedings of the Cambridge Philosophical Society, Vol. 53, Part 2, pp. 343-367, 1957.