International
Tables for Crystallography Volume D Physical properties of crystals Edited by A. Authier © International Union of Crystallography 2013 
International Tables for Crystallography (2013). Vol. D, ch. 1.2, pp. 6270

The determination of tensors with specified properties often requires long calculations. In principle the algorithms are simple, but in complicated cases errors can be made. This is therefore a situation in which it is best to rely on computer calculations. For this reason, this volume is accompanied by two software packages. Here we shall give a short introduction to the Tenχar package that deals with tensors with specific symmetry properties in the first module, and with characters of representations of point groups in the second module. The latter play a role when determining the number of independent elements of a tensor invariant under a given point group, but they are much more widely applicable.
The software package has a graphical interface with windows and buttons. When the program is started, a window opens up in which a choice may be made between the tensor part or the character part of the program.
Within each of the two sections of the program, the results of the calculations are given in numbered windows. It is possible to browse through the various pages. Each page may be sent to a separate window (by the command `to window'), or to a file (by the command `to file'). Opened windows may be closed again using a `close' button.
Special features of the package are that it is dimension and rankindependent, and that it performs the calculations in an exact way. The number of dimensions and the rank are only limited by the computer memory and by the time the program needs for higher dimensions and ranks. The calculations are exact in the sense of the computer algebra software. Here this is achieved by performing the calculations with integers and cyclotomics. Use of arbitrary real numbers would imply a finite precision.
Detailed instructions for the use of the program, together with a guided tour (QuickStart), can be found in the manual for the program.
The tensor module of Tenχar determines the number of independent elements and the relations between the elements of tensors and pseudotensors invariant under a chosen point group and with specified permutation symmetry of the indices. Although the list of point groups provided in a database is limited to dimensions two and three, the program runs for arbitrary dimensions. Similarly, the choice of index permutation symmetry is limited to rank smaller than or equal to four. This is also not a restriction of the program, which works for arbitrary rank. For higher dimensions and higher ranks, the user needs to provide additional information. The limiting factors are in fact the speed, which becomes low for higher dimensions and/or higher rank, and the available memory, which must be sufficient to store the tensor elements.
When the program is started and the tensor part is chosen via a button, a selection box opens. The user can specify dimension and rank in open fields. A field without a coloured border has a formally correct content, but the user should check whether the pregiven numbers correspond to his wishes. In open fields with a coloured border, additional information must be given. Clicking on the button `point group' results in the opening of a new selection window. A specific two or threedimensional point group may be chosen via geometric crystal classes. This point group may be viewed if wished. The chosen point group is given by generating matrices and is the one under which the (pseudo)tensor is invariant.
The second symmetry is the index permutation symmetry. For tensors and pseudotensors up to rank four, all possible symmetries are tabulated after clicking `permutation symmetry'. The indices are numbered from 0 to , where r is the rank. The symbol for a tensor symmetric in the indices 2 and 3 is (2 3), and it is [2 3] if the tensor gets a minus sign under permutation. Arbitrary combinations of symmetric and antisymmetric series can be made. For example, (0 1) 2 [3 4] is a rankfive tensor which is symmetric in the first two indices and antisymmetric in the last two indices. The symbol (0 1 2) characterizes a rankthree tensor that is fully symmetric in all indices. For (pseudo)tensors of rank five and higher, the user needs to specify the permutation symmetry using parentheses in this way. Symmetrization of other pairs is similar. For example, if the rankthree tensor T is symmetric in the first and last indices, the symbol for its permutation character is (0 2) 1. Then .
Different settings of the point group may be specified. The standard setting of a point group as given in International Tables for Crystallography Volume A may be different from the one to be specified. In this case, the user may perform a basis transformation which transforms the standard setting to the desired setting. This is done via the button `basis transformation'. The standard setting is chosen with `no transformation'. The transformation from a hexagonal to an orthogonal (Cartesian) basis is performed by selecting `hC transformation'.
Finally, the tensor or pseudotensor with the specified point group and permutation symmetry is calculated and displayed in a (numbered) window. The command for this is given by clicking on the button `tensor' or `pseudotensor', respectively. In the window appear the input data, such as the point group, the dimension, the rank, the permutation symmetry and the setting basis transformation, and the calculated data: the number of independent elements (f) and the relations of these elements. They are either zero or expressed in terms of the free parameters . The tensor elements are given by sequences . The four elements of a general ranktwo tensor in two dimensions are , , , , corresponding to , , and , respectively.
Calculations with characters of representations of point groups can be done in the character module of the program. It is selected in the main window by clicking `character'. A selection window opens in which a point group may be selected just as in the tensor module. The point groups are organized according to dimension and geometric crystal class. Selection of a point group leads to the display of the character table if one asks for it by selecting `view character table'.
The character table consists of a square array of (complex) numbers. The number of rows is the number of nonequivalent irreducible representations and is equal to the number of columns, which is the number of conjugacy classes of the group. For crystallographic groups, the complex numbers that form the entries of the character table are cyclotomic numbers. These are linear combinations with fractions as coefficients of complex numbers of the form For example, the square root of (i) can be written as A real number like can be written as Another example isHowever, many entries for the threedimensional point groups are simply integers.
The program provides the following information as rows above the characters of the irreducible representation:
Below the character table, the following information is displayed:
As an example, the generalized character table for the threedimensional point group is given in Table 1.2.7.1.

The data connected with a character table can be seen by choosing `view character table'. The characters of the irreducible representations, the determinant representation and the vector representation are shown in the main window after selection of `accept character table'. From the character of these representations, characters of other representations may be calculated. The results are added as rows to the table, which is shown after each calculation.
Calculations using rows from the table may have one or more arguments. Operations with one argument will produce, for example, the decomposition into irreducible components, the character of the pth power, the symmetrized or antisymmetrized square, or the character of the corresponding physical (real) representation. Operations with two or more arguments yield products and sums of characters. The arguments of a unitary, binary or multiple operation are selected by clicking on the button in front of the corresponding characters. If the result is a new character (e.g. the product of two characters), it is added as a row to the list of characters. If the result is not a character (e.g. the decomposition into irreducible components), the result is given on the worksheet.
Suppose one wants to determine the number of elastic constants for a material with cubic 432 symmetry. After selecting the character table for the group 432, one clicks on the button in front of `vector representation' in the character table. This yields the character of the threedimensional vector representation of the group. The character of the symmetrized square is obtained by selecting `symmetrized square'. This gives the character of a sixdimensional representation. Determining the number of times the trivial representation occurs by selecting `decompose' gives the number of free parameters in the metric tensor, i.e. 1. Clicking on `symmetrized square' for the character of the sixdimensional representation gives the character of a 21dimensional representation. Decomposition yields the multiplicity 3 for the trivial representation, which means that there are three independent tensor elements for a tensor of symmetry type , which in turn means that there are three elastic constants for the group 432 (see Table 1.2.6.9). For the explicit determination of the independent tensor elements, the tensor module of the program should be used.
Of course, many kinds of calculations unrelated to tensors can be carried out using the character module. Examples include the calculation of selection rules in spectroscopy or the splitting of energy levels under a symmetrybreaking perturbation.
As a basis for a tensor space without permutation symmetry, one may choose one consisting of noncommutative monomials. It has elements, where d is the dimension and r is the rank. In two dimensions, these are for , , , , for and , , , , , , , for . Note that .
If there is permutation symmetry among the indices , only polynomials occur in the basis for which . Then . If there is antisymmetry among these indices, one has the condition and . Therefore, in two dimensions, the basis for tensors of type (1 3)2 is , , , , , and for those of type [1 3]2 it is , . These bases can be obtained from the general basis by elimination.
The transformation of the monomial under the matrix is given by the polynomial which is in principle noncommutative. This polynomial can be written as a sum of the monomials in the basis taking into account the eventual (anti)symmetry of and . In this way, basis element (a monomial) is transformed to To each generator of G corresponds such an action matrix M.
The action matrix changes if one considers pseudotensors. In the case of pseudotensors, the previous equation changes to The function Det(g) is just a onedimensional representation of the group G. The determinant is either or .
An invariant element of the tensor space under the group G is a vector v that is left invariant under each generator: If the number of generators is one, . This equation is solved by diagonalization: where . The dimension of the solution space is the number of elements that are equal to zero. The corresponding rows of Q form a basis for the solution space. (See example further on.)
For a point group G, its isomorphism class and its character table are known. For each conjugacy class, a representative element is given as word where the 's correspond to generators. Replacing the letters by the generating matrices, one obtains as product a matrix for which the trace is the character of the vector representation in the conjugacy class. The characters of all conjugacy classes being known, the representation can be decomposed into irreducible components by means of where labels the irreducible representations (the row number in the character table), the number of times the representation occurs, the order of the group G, the number of elements in the ith conjugacy class (given as the second row in the character table), the cyclotomic in the ith row and th column of the character table, and the calculated character in the ith conjugacy class.
Given a character (for an irreducible representation from the character table, or for the vector representation, for example), the character of the standard rank n tensor is the nth power of the character and can be decomposed with the multiplicity formula for given above.
Fully symmetrized or antisymmetrized tensor products have characters given byFrom this follows immediately the dimension of the subspaces of symmetric and antisymmetric tensors:
The general expression for arbitrary rank can be determined as follows. (See also Section 1.2.2.7)
Once one has the character of the properly symmetrized tensor, the number of invariants is just , the number of times the trivial representation occurs in the decomposition.
Example (1). Dimension 3, rank 3, symmetry type (123), group 3. Basis: , , , , , , , , , . Under the basis elements go to , respectively, and these are equivalent to , respectively. This gives the tendimensional matrix Then , with D diagonal. There are four diagonal elements of D which are zero, and the invariant tensors correspond to the corresponding four columns of the matrix Q. The invariant polynomials are
Example (2). Dimension 2, rank 2, symmetry type (12). Group generated by Basis , , goes to , , . This gives Because the invariant tensor corresponds to the second column of Q, which as a polynomial reads . This can be written with the tensor as This tensor T is invariant under the group.
Example (3). Dimension 3, rank 2, tensor type (12). Group generated by matrix([[0 −1 0][1 0 0][0 0 1]]). The basis , , , , , goes under the generator to , , , , , . The solution of is The matrix D has two zeros on the diagonal.
Example (4). Dimension 3, rank 3, type (123). Same group as in Example (3). Basis , , , , , , , , , . The solution corresponds to a tensor with relations , .
Example (5). Dimension 3, rank 4, type ((12)(34)). Not only and , but also (, should come lexicographically before (). Basis . Under the same group as in example (3), there are seven invariants. Invariant polynomial: This corresponds to the tensor relations The latter form is that of an elastic tensor with the usual convention , , , , , .
Example (6). Dimension 3, rank 2, type [12]. The same group as in example (3). Basis , which are equivalent to . The transformation in the tensor space is There is just one invariant antisymmetric polynomial corresponding to the tensor
Example (7). Dimension 3, rank 3, type [123]. Basis invariant under the group: . The corresponding tensor is the fully antisymmetric rank 3 tensor: if is an even permutation of 123, if is an odd permutation, and if two or three indices are equal (permutation tensor, see Section 1.1.3.7.2 ).
Example (8). Calculation with characters. See Table 1.2.7.2.

Example (9). The action matrix for a pseudotensor.
Take the group with generators Consider the rank 3 pseudotensor (123). The action matrix is determined from the action of the generators A and B on the basis:Therefore, the action matrix becomes After diagonalization, one finds two nonzero elements on the diagonal: