Глобальный код для таблицы символов PSL (2, q)

Aug 20 2020

Мы можем легко получить таблицу символов $\mathrm{PSL}(2,q)$ для некоторой фиксированной малой основной мощности $q$, мы можем просто сделать (например):

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

Я не знаю, как работает программа, я полагаю, что она использует некоторую базу данных Атласа для $q$достаточно мал или вычисляет напрямую. Дело в том, что существует глобальное понимание таблицы символов$\mathrm{PSL}(2,q)$см., например, раздел 5.2 в Fulton & Harris или страницу 12 в этой заметке Дж. Адамса (до опечаток ). Мне нужен код, вычисляющий эту таблицу символов в соответствии с этим глобальным пониманием (чтобы интерполировать ее для$q$не простая степень, см. почему здесь ). Я пытался написать это сам, но у меня возникли проблемы с некоторыми неясностями. Я спросил Дж. Адамса, но у него нет такого кода. Теперь это глобальное понимание является хорошо известным результатом, поэтому код, который я ищу, уже должен где-то существовать (в источнике некоторого программного обеспечения или как частный материал).

Вопрос : Если у вас есть такой код (которым вы хотели бы поделиться), не могли бы вы указать его в качестве ответа на этот пост?
В противном случае, если вы знаете, что где-то (или кто-то) может иметь такой код, не могли бы вы упомянуть его (или ее / его)?

Примечание . Моему ноутбуку потребовалось 5 минут 36 секунд для вычисления следующего:

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

тогда как это должно происходить мгновенно, что выше глобального понимания. Итак, вычисление таблицы символов$\mathrm{PSL}(2,q)$ неоптимален по пробелам, и ожидаемый глобальный код исправит это.

Ответы

2 SebastienPalcoux Sep 21 2020 at 12:13

Самый быстрый способ отобразить таблицу символов для фиксированной степени простого числа $q$ является:

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

Родовая таблица символов фактически доступно на GAP4 (как указаны в частном Франком Любеке) со следующими командами:

Для $q$ четный:

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

Для $q \equiv 1 \mod 4$:

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

Для $q \equiv 3 \mod 4$:

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