Un codice globale per la tabella dei caratteri di PSL(2,q)

Aug 20 2020

Possiamo facilmente ottenere la tabella dei caratteri di$\mathrm{PSL}(2,q)$per qualche piccola potenza prima fissa$q$, possiamo solo fare (per esempio):

gap> Display(CharacterTable(PSL(2,q)));

Non so come stia andando il software, immagino che utilizzi un database Atlas per$q$abbastanza piccolo o calcola direttamente. Il punto è che esiste una comprensione globale della tabella dei caratteri di$\mathrm{PSL}(2,q)$, vedi ad esempio Sezione 5.2 in Fulton & Harris , o pagina 12 in questa nota di J. Adams (fino a errori di battitura ). Ho bisogno di un codice che calcoli questa tabella di caratteri seguendo questa comprensione globale (per interpolarla per$q$non primo potere, vedi perché qui ). Ho provato a scriverlo da solo ma ho avuto problemi con alcune ambiguità. Ho chiesto a J. Adams ma non ha un tale codice. Ora questa comprensione globale è un risultato ben noto, quindi il codice che sto cercando dovrebbe già esistere da qualche parte (nella fonte di alcuni software o come materiale privato).

Domanda : Se hai un codice di questo tipo (che saresti disposto a condividere), potresti inserirlo come risposta a questo post?
Altrimenti, se conosci un posto (o qualcuno) suscettibile di avere un tale codice, potresti per favore menzionarlo (o lei/lui)?

Nota : il mio laptop ha avuto bisogno di 5min36s per calcolare quanto segue:

gap> Display(CharacterTable(PSL(2,163)));

mentre dovrebbe essere istantaneo essere al di sopra della comprensione globale. Quindi il calcolo della tabella dei caratteri di$\mathrm{PSL}(2,q)$non è ottimale sul gap e il codice globale previsto lo risolverà.

Risposte

2 SebastienPalcoux Sep 21 2020 at 12:13

Il modo più rapido per visualizzare la tabella dei caratteri per una potenza primaria fissa$q$è:

Display(CharacterTable( "PSL", 2, q)

La generica tabella dei caratteri è infatti disponibile su GAP4 (come sottolineato in privato da Frank Lübeck) con i seguenti comandi:

Per$q$anche:

gap> Print(CharacterTableFromLibrary("SL2even"));

Per$q \equiv 1 \mod 4$:

gap> Print(CharacterTableFromLibrary("PSL2even"));

Per$q \equiv 3 \mod 4$:

gap> Print(CharacterTableFromLibrary("PSL2odd"));