53.3 Operators for Class Functions

`chi = psi`
`chi < psi`

Equality and comparison of class functions are defined as for mappings (see Comparisons of Mappings); in case of equal source and range the `values` components are used to compute the result.

```    gap> irr[1]; irr[2];
Character( S4, [ 1, 1, 1, 1, 1 ] )
Character( S4, [ 1, 1, 1, -1, -1 ] )
gap> irr[1] < irr[2];
false
gap> irr[1] > irr[2];
true
gap> irr[1] = Irr( SolvableGroup( "S4" ) )[1];
false    # The groups are different. ```

`chi + psi`
`chi - psi`

`+` and `-` denote the addition and subtraction of class functions.

`n * chi`
`chi * psi`

`*` denotes (besides the composition of mappings, see Operations for Mappings) the multiplication of a class function chi with a scalar n and the tensor product of two class functions.

`chi / n`

`/` denotes the division of the class function chi by a scalar n.

```    gap> psi:= irr[3] * irr[4];
Character( S4, [ 6, -2, 0, 0, 0 ] )
gap> psi:= irr[3] - irr[1];
VirtualCharacter( S4, [ 1, 1, -2, -1, -1 ] )
gap> phi:= psi * irr[4];
VirtualCharacter( S4, [ 3, -1, 0, -1, 1 ] )
gap> IsCharacter( phi ); phi;
true
Character( S4, [ 3, -1, 0, -1, 1 ] )
gap> psi:= ( 3 * irr[2] - irr[3] ) * irr[4];
VirtualCharacter( S4, [ 3, -1, 0, -3, 3 ] )
gap> 2 * psi ;
VirtualCharacter( S4, [ 6, -2, 0, -6, 6 ] )
gap> last / 3;
ClassFunction( S4, [ 2, -2/3, 0, -2, 2 ] ) ```

`chi ^ n`
`g ^ chi`

denote the tensor power by a nonnegative integer n and the image of the group element g, like for all mappings (see Operations for Mappings).

`chi ^ g`

is the conjugate class function by the group element g, that must be an element of the parent of the source of chi or something else that acts on the source via `^`. If `chi.source` is not a permutation group then g may also be a permutation that is interpreted as acting by permuting the classes (This maybe useful for table characters.).

`chi ^ G`

is the induced class function.

```    gap> V4:= Subgroup( S4, S4.generators{ [ 3, 4 ] } );
Subgroup( S4, [ c, d ] )
gap> V4.name:= "V4";;
gap> V4irr:= Irr( V4 );;
gap> chi:= V4irr[3];
Character( V4, [ 1, -1, 1, -1 ] )
gap> chi ^ S4;
Character( S4, [ 6, -2, 0, 0, 0 ] )
gap> chi ^ S4.2;
Character( V4, [ 1, -1, -1, 1 ] )
gap> chi ^ ( S4.2 ^ 2 );
Character( V4, [ 1, 1, -1, -1 ] )
gap> S4.3 ^ chi; S4.4 ^ chi;
1
-1
gap> chi ^ 2;
Character( V4, [ 1, 1, 1, 1 ] ) ```

GAP 3.4.4
April 1997