#############################################################################
##
#F                             CHEVIE library
##
#Y  Copyright 1992--1993,  Lehrstuhl D f"ur Mathematik,    RWTH Aachen,   and
#Y                         IWR   der   Universit"at    Heidelberg,   Germany.
##
# Orthogonalitaet 
#############################################################################
#                                                                           #
#   Die Greenfunktionen der ^2F_4(q^2), q^2 = 2^{2n+1}                      #
#                                                                           #
#############################################################################
##
#A {\sc G. Malle}, Die unipotenten Charaktere von $^2F_4(q^2)$, 
#A  Comm. Algebra 18 (1990), 2361--2381
##
lprint(`**************************************************************************`);
lprint(`*                                                                        *`);
lprint(`*                                                                        *`);
lprint(`*                    Green Functions of ^2F_4(q^2), q^2 = 2^{2n+1}       *`);
lprint(`*                                                                        *`);
lprint(`*                                                                        *`);
lprint(`**************************************************************************`);

# Wertetafel

`2F4green` := array(-2..11, -1..19,[

 [`^2F_4(q)`, `2F4002green` , q^24*(q^2-1)^2*(q^2+1)^2*(q^4+1)^2*(q^4-q^2+1)
  *(q^8-q^4+1), 11, 11, 19, 19],

 [`classname`, [], [`u_0`], [`u_1`], [`u_2`], [`u_3`], [`u_4`], [`u_5`], [`u_6`],
  [`u_7`], [`u_8`], [`u_9`], [`u_{10}`], [`u_{11}`], [`u_{12}`], [`u_{13}`],
  [`u_{14}`], [`u_{15}`], [`u_{16}`], [`u_{17}`], [`u_{18}`] ],

 [`classlength`, 1, 1,
  (q^2-1)*(q^2+1)^2*(q^4+1)*(q^4-q^2+1)*(q^8-q^4+1),
  (q^2-1)*(q^2+1)*(q^4+1)^2*(q^4-q^2+1)*(q^8-q^4+1)*q^4,
  (q^2-1)*(q^2+1)^2*(q^4+1)*(q^4-q^2+1)*(q^8-q^4+1)*q^10/2,
  (q^2-1)*(q^2+1)^2*(q^4+1)*(q^4-q^2+1)*(q^8-q^4+1)*q^10/2,
  (q^2-1)^2*(q^2+1)^2*(q^4+1)^2*(q^4-q^2+1)*(q^8-q^4+1)*q^8,
  (q^2-1)^2*(q^2+1)^2*(q^4+1)^2*(q^4-q^2+1)*(q^8-q^4+1)*q^10,
  (q^2-1)^2*(q^2+1)^2*(q^4+1)^2*(q^4-q^2+1)*(q^8-q^4+1)*q^12/6,
  (q^2-1)^2*(q^2+1)^2*(q^4+1)^2*(q^4-q^2+1)*(q^8-q^4+1)*q^12/2,
  (q^2-1)^2*(q^2+1)^2*(q^4+1)^2*(q^4-q^2+1)*(q^8-q^4+1)*q^12/3,
  (q^2-1)^2*(q^2+1)^2*(q^4+1)^2*(q^4-q^2+1)*(q^8-q^4+1)*q^16/2,
  (q^2-1)^2*(q^2+1)^2*(q^4+1)^2*(q^4-q^2+1)*(q^8-q^4+1)*q^16/4,
  (q^2-1)^2*(q^2+1)^2*(q^4+1)^2*(q^4-q^2+1)*(q^8-q^4+1)*q^16/4,
  (q^2-1)^2*(q^2+1)^2*(q^4+1)^2*(q^4-q^2+1)*(q^8-q^4+1)*q^18/2,
  (q^2-1)^2*(q^2+1)^2*(q^4+1)^2*(q^4-q^2+1)*(q^8-q^4+1)*q^18/2,
  (q^2-1)^2*(q^2+1)^2*(q^4+1)^2*(q^4-q^2+1)*(q^8-q^4+1)*q^20/4,
  (q^2-1)^2*(q^2+1)^2*(q^4+1)^2*(q^4-q^2+1)*(q^8-q^4+1)*q^20/4,
  (q^2-1)^2*(q^2+1)^2*(q^4+1)^2*(q^4-q^2+1)*(q^8-q^4+1)*q^20/4,
  (q^2-1)^2*(q^2+1)^2*(q^4+1)^2*(q^4-q^2+1)*(q^8-q^4+1)*q^20/4],

 [[`T_1`],  (q^2+1)^2*(q^4+1)^2*(q^4-q^2+1)*(q^8-q^4+1),
  (q^2+1)^2*(q^4+1)^2*(q^4-q^2+1)*(q^8-q^4+1), (q^2+1)^2*(q^4+1)*(q^4-q^2+1),
  (q^2+1)*(q^8+q^6+q^4+1), (q^4+1)*(2*q^4+q^2+1), (q^4+1)*(2*q^4+q^2+1),
  q^4+q^2+1, 3*q^4+q^2+1, 6*q^4+q^2+1, 2*q^4+q^2+1, q^2+1, q^2+1, q^2+1,
  q^2+1, 1, 1, 1, 1, 1, 1],
 [[`T_2`],   -(q^2-1)*(q^2+1)*(q^4+1)^2*(q^4-q^2+1)*(q^8-q^4+1),
  -(q^2-1)*(q^2+1)*(q^4+1)^2*(q^4-q^2+1)*(q^8-q^4+1),
  -(q^2-1)*(q^2+1)*(q^4+1)*(q^4-q^2+1), (q^10+q^4-q^2+1), -(q^2-1)*(q^4+1),
  -(q^2-1)*(q^4+1), q^4-q^2+1, q^4-q^2+1, -q^2+1, -q^2+1, -q^2+1, -q^2+1,
  -q^2+1, -q^2+1, 1, 1, 1, 1, 1, 1], 
 [[`T_3`], -(q^2-1)*(q^2+1)^2*(q^2+r2*q+1)*(q^4+1)*(q^4-q^2+1)*(q^8-q^4+1),
  -(q^2-1)*(q^2+1)^2*(q^2+r2*q+1)*(q^4+1)*(q^4-q^2+1)*(q^8-q^4+1),
  (q^2+r2*q+1)*(r2*q^11-q^10+q^6-q^4+1), -(q^2-1)*(q^2+1)*(q^6+q^2+r2*q+1),
  q^6-q^4-r2*q^3+q^2+r2*q+1, q^6-q^4-r2*q^3+q^2+r2*q+1, -q^4+q^2+r2*q+1,
  -q^4-r2*q^3+q^2+r2*q+1, -2*r2*q^3+q^2+r2*q+1, q^2+r2*q+1, (q^2+1)*(r2*q+1),
  q^2+r2*q+1, q^2+r2*q+1, q^2+r2*q+1, r2*q+1, r2*q+1, 1, 1, 1, 1],
 [[`T_4`], -(q^2-1)*(q^2+1)^2*(q^2-r2*q+1)*(q^4+1)*(q^4-q^2+1)*(q^8-q^4+1),
  -(q^2-1)*(q^2+1)^2*(q^2-r2*q+1)*(q^4+1)*(q^4-q^2+1)*(q^8-q^4+1),
  (q^2-r2*q+1)*(-r2*q^11-q^10+q^6-q^4+1), -(q^2-1)*(q^2+1)*(q^6+q^2-r2*q+1),
  q^6-q^4+r2*q^3+q^2-r2*q+1, q^6-q^4+r2*q^3+q^2-r2*q+1, -q^4+q^2-r2*q+1,
  -q^4+r2*q^3+q^2-r2*q+1, 2*r2*q^3+q^2-r2*q+1, q^2-r2*q+1, (q^2+1)*(-r2*q+1),
  q^2-r2*q+1, q^2-r2*q+1, q^2-r2*q+1, -r2*q+1, -r2*q+1, 1, 1, 1, 1],
 [[`T_5`], (q^2-1)^2*(q^2+1)^2*(q^4+1)*(q^4-q^2+1)*(q^8-q^4+1),
  (q^2-1)^2*(q^2+1)^2*(q^4+1)*(q^4-q^2+1)*(q^8-q^4+1),
  (q^2-1)^2*(q^2+1)^2*(q^4-q^2+1), (q^2-1)*(q^2+1)*(-q^6+q^2-1),
  2*q^8-q^6-q^4-q^2+1, 2*q^8-q^6-q^4-q^2+1, 2*q^6-q^4-q^2+1,
  -q^4-q^2+1, -2*q^4-q^2+1, -2*q^4-q^2+1, -2*q^4-q^2+1, -q^2+1, -q^2+1,
  -q^2+1, 1, 1, 1, 1, 1, 1],
 [[`T_6`], (q^2-1)^2*(q^2+1)^2*(q^2+r2*q+1)^2*(q^4-q^2+1)*(q^8-q^4+1),
  (q^2-1)^2*(q^2+1)^2*(q^2+r2*q+1)^2*(q^4-q^2+1)*(q^8-q^4+1),
  (q^2+r2*q+1)*(q^2-1)*(-2*r2*q^9-3*q^8-r2*q^7+q^6+2*q^5*r2+2*q^4-q^2-r2*q-1),
  (3*q^6+4*q^5*r2+4*q^4-3*q^2-2*r2*q-1)*(q^2-1)*(q^2+1),
  (2*q^4+2*r2*q^3-q^2-r2*q-1)*(q^2+r2*q+1)*(q^2-1),
  (2*q^4+2*r2*q^3-q^2-r2*q-1)*(q^2+r2*q+1)*(q^2-1),
  -2*q^6-4*r2*q^5-5*q^4+3*q^2+2*r2*q+1, -4*r2*q^5-9*q^4-2*r2*q^3+3*q^2+2*r2*q+1,
  -10*q^4-4*r2*q^3+3*q^2+2*r2*q+1, -2*q^4+3*q^2+2*r2*q+1,
  (q^2+1)*(2*q^2+2*r2*q+1), 3*q^2+2*r2*q+1, 3*q^2+2*r2*q+1, 3*q^2+2*r2*q+1,
  2*r2*q+1, 2*r2*q+1, 1, 1, 1, 1],
 [[`T_7`], (q^2-1)^2*(q^2+1)^2*(q^2-r2*q+1)^2*(q^4-q^2+1)*(q^8-q^4+1),
  (q^2-1)^2*(q^2+1)^2*(q^2-r2*q+1)^2*(q^4-q^2+1)*(q^8-q^4+1),
  (q^2-r2*q+1)*(q^2-1)*(2*r2*q^9-3*q^8+r2*q^7+q^6-2*q^5*r2+2*q^4-q^2+r2*q-1),
  (3*q^6-4*q^5*r2+4*q^4-3*q^2+2*r2*q-1)*(q^2-1)*(q^2+1),
  (2*q^4-2*r2*q^3-q^2+r2*q-1)*(q^2-r2*q+1)*(q^2-1),
  (2*q^4-2*r2*q^3-q^2+r2*q-1)*(q^2-r2*q+1)*(q^2-1),
  -2*q^6+4*r2*q^5-5*q^4+3*q^2-2*r2*q+1, 4*r2*q^5-9*q^4+2*r2*q^3+3*q^2-2*r2*q+1,
  -10*q^4+4*r2*q^3+3*q^2-2*r2*q+1, -2*q^4+3*q^2-2*r2*q+1,
  (q^2+1)*(2*q^2-2*r2*q+1), 3*q^2-2*r2*q+1, 3*q^2-2*r2*q+1, 3*q^2-2*r2*q+1,
  -2*r2*q+1, -2*r2*q+1, 1, 1, 1, 1],
 [[`T_8`], (q^2-1)^2*(q^4+1)^2*(q^4-q^2+1)*(q^8-q^4+1),
  (q^2-1)^2*(q^4+1)^2*(q^4-q^2+1)*(q^8-q^4+1), (q^2-1)^2*(q^4+1)*(q^4-q^2+1),
  -(q^2-1)*(3*q^8-3*q^6+3*q^4-2*q^2+1), (q^2-1)*(q^4+1)*(2*q^2-1),
  (q^2-1)*(q^4+1)*(2*q^2-1), -4*q^6+5*q^4-3*q^2+1, 3*q^4-3*q^2+1,
  -2*q^4-3*q^2+1, (q^2-1)*(2*q^2-1), 4*q^4-3*q^2+1, -3*q^2+1, -3*q^2+1, -3*q^2+1,
  1,1,1,1,1,1],
 [[`T_9`], (q^2-1)^2*(q^2+1)^2*(q^4+1)^2*(q^8-q^4+1),
  (q^2-1)^2*(q^2+1)^2*(q^4+1)^2*(q^8-q^4+1), (q^2-1)^2*(q^2+1)^2*(q^4+1),
  -(q^2-1)*(q^2+1), -(q^2-1)*(q^2+1)*(q^4+1), -(q^2-1)*(q^2+1)*(q^4+1),
  -q^6-q^4+1, 1, q^4+1, -(q^2-1)*(q^2+1), -2*q^4+1, 1,1,1,1,1,1,1,1,1],
 [[`T_{10}`], (q^2+1)^2*(q^2-1)^2*(q^4+1)^2*(q^4-q^2+1)*(q^4+r2*q^3+q^2+r2*q+1),
  (q^2+1)^2*(q^2-1)^2*(q^4+1)^2*(q^4-q^2+1)*(q^4+r2*q^3+q^2+r2*q+1),
  -1/2*(q^2-1)*(q^4+1)*(2*q^7+q^6*r2+r2*q^4+2*q^3+r2*q^2+2*q+r2)*r2,
  (q^2+1)*(q^2-1)*(-r2*q^5-2*q^4-r2*q-1),
  -(q^2+r2*q+1)^2*(q^2-1)*(q^2-r2*q+1), -(q^2+r2*q+1)^2*(q^2-1)*(q^2-r2*q+1),
  q^6+q^5*r2+q^4+r2*q+1, r2*q^5-r2*q^3+r2*q+1, -q^4-2*r2*q^3+r2*q+1,
  q^4+r2*q+1, 2*q^4+r2*q+r2*q^3+1, r2*q+1, r2*q+1, r2*q+1, r2*q+1,
  r2*q+1, 1, 1, 1, 1],
 [[`T_{11}`], (q^2+1)^2*(q^2-1)^2*(q^4+1)^2*(q^4-q^2+1)*(q^4-r2*q^3+q^2-r2*q+1),
  (q^2+1)^2*(q^2-1)^2*(q^4+1)^2*(q^4-q^2+1)*(q^4-r2*q^3+q^2-r2*q+1),
  1/2*(q^2-1)*(q^4+1)*(2*q^7-q^6*r2-r2*q^4+2*q^3-r2*q^2+2*q-r2)*r2,
  (q^2+1)*(q^2-1)*(r2*q^5-2*q^4+r2*q-1),
  -(q^2-r2*q+1)^2*(q^2-1)*(q^2+r2*q+1), -(q^2-r2*q+1)^2*(q^2-1)*(q^2+r2*q+1),
  q^6-q^5*r2+q^4-r2*q+1, -r2*q^5+r2*q^3-r2*q+1, -q^4+2*r2*q^3-r2*q+1,
  q^4-r2*q+1, 2*q^4-r2*q-r2*q^3+1, -r2*q+1, -r2*q+1, -r2*q+1, -r2*q+1,
  -r2*q+1, 1, 1, 1, 1] ]):


KlassentypOrd2F4002green:=array(1..19,[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]):

NurPolynom2F4002green:=true:

r2 := sqrt(2):

# 5) Informationen:
Information.`2F4002green`:=TEXT(
`- Information about the Green functions of $^2F_4(q^2)$.`,
``,
`- CHEVIE-name of the table: ``2F4green```,
``,
`- The Green functions can easily be obtained from a knowledge of the unipotent`,
`  characters; these were first computed in:`,
`  {\\sc G. Malle}, Die unipotenten Charaktere von $^2F_4(q^2)$,`, 
`    {\\em Comm. Algebra \\bf18} (1990), 2361--2381.`,
``,
``
):


g := `2F4green`;
print(`g := ``2F4green`` `);
