Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add show method for CharTable #14

Closed
fingolfin opened this issue Feb 16, 2024 · 3 comments · Fixed by #74
Closed

Add show method for CharTable #14

fingolfin opened this issue Feb 16, 2024 · 3 comments · Fixed by #74
Labels
printing Printing needs to be improved

Comments

@fingolfin
Copy link
Member

Right now:

julia> g=genchartab("GL2")
GenericCharacterTables.CharTable{Nemo.QQPolyRingElem}(q^4 - q^3 - q^2 + q, GenericCharacterTables.Cyclotomic{Nemo.QQPolyRingElem}[(1) * exp(2π𝑖(2//(q - 1)*i*k)) (1) * exp(2π𝑖(2//(q - 1)*i*k)) (1) * exp(2π𝑖(1//(q - 1)*i*k + 1//(q - 1)*j*k)) (1) * exp(2π𝑖(1//(q - 1)*i*k)); (q) * exp(2π𝑖(2//(q - 1)*i*k)) 0 (1) * exp(2π𝑖(1//(q - 1)*i*k + 1//(q - 1)*j*k)) (-1) * exp(2π𝑖(1//(q - 1)*i*k)); (q + 1) * exp(2π𝑖(1//(q - 1)*i*l + 1//(q - 1)*i*k)) (1) * exp(2π𝑖(1//(q - 1)*i*l + 1//(q - 1)*i*k)) (1) * exp(2π𝑖(1//(q - 1)*i*k + 1//(q - 1)*j*l)) + (1) * exp(2π𝑖(1//(q - 1)*i*l + 1//(q - 1)*j*k)) 0; (q - 1) * exp(2π𝑖(1//(q - 1)*i*k)) (-1) * exp(2π𝑖(1//(q - 1)*i*k)) 0 (-1) * exp(2π𝑖(q//(q^2 - 1)*i*k)) + (-1) * exp(2π𝑖(1//(q^2 - 1)*i*k))], Vector{Any}[["", [1, 0], Any["A_1", [1, 1]]], ["", [1, 1], Any["A_1", [2]]], ["", [2, 0], Any["A_0", [1]]], ["", [3, 0], Any["A_0", [1]]]], Nemo.QQPolyRingElem[1, q^2 - 1, q^2 + q, q^2 - q], Vector{Any}[["", [1, 0], Any["A_1", [2]]], ["", [1, 1], Any["A_1", [1, 1]]], ["", [2, 0], Any["A_0", [1]]], ["", [3, 0], Any["A_0", [1]]]], Nemo.QQPolyRingElem[1, q, q + 1, q - 1], Function[GenericCharacterTables.var"##CHAR_TABLE#227".var"#1#5"(), GenericCharacterTables.var"##CHAR_TABLE#227".var"#2#6"(), GenericCharacterTables.var"##CHAR_TABLE#227".var"#3#7"(), GenericCharacterTables.var"##CHAR_TABLE#227".var"#4#8"()], Function[GenericCharacterTables.var"##CHAR_TABLE#227".var"#9#13"(), GenericCharacterTables.var"##CHAR_TABLE#227".var"#10#14"(), GenericCharacterTables.var"##CHAR_TABLE#227".var"#11#15"(), GenericCharacterTables.var"##CHAR_TABLE#227".var"#12#16"()], [1, 2], [3, 4], GenericCharacterTables.Parameters{Nemo.QQPolyRingElem}[i ∈ {1,…, q - 1}, i ∈ {1,…, q - 1}, i ∈ {1,…, q - 1}, j ∈ {1,…, q - 1} except 1//(q - 1)*i - 1//(q - 1)*j ∈ ℤ, i ∈ {1,…, q^2 - 1} except 1//(q + 1)*i ∈ ℤ], GenericCharacterTables.Parameters{Nemo.QQPolyRingElem}[k ∈ {1,…, q - 1}, k ∈ {1,…, q - 1}, k ∈ {1,…, q - 1}, l ∈ {1,…, q - 1} except 1//(q - 1)*l - 1//(q - 1)*k ∈ ℤ, k ∈ {1,…, q^2 - 1} except 1//(q + 1)*k ∈ ℤ], nothing, Univariate polynomial ring in q over QQ, Universal Polynomial Ring over Fraction field of univariate polynomial ring, "- Information about the generic character table of \$GL_2(q)\$.\n\n- CHEVIE-name of the table: ``GL2``\n\n- The table was first computed in:\n  {\\sc H.~Jordan}, Group-characters of various types of linear groups,\n  {\\em Amer.\\ J.~Math.} {\\bf 29} (1907), 387--405.\n\n  {\\sc
 I.~Schur}, Untersuchungen über die Darstellung der\n  endlichen Gruppen durch gebrochene lineare Substitutionen,\n  {\\em J.~reine angew.\\ Math.} {\\bf 132} (1907), 85--137.\n\n- See also:\n  {\\sc R.~Steinberg}, The representations of \$GL(3,q)\$, \$GL(4,q)\$, \$PGL(3,q)\$\n  and \$PGL(4,q)\$, {\\em Can.\\ J.~Math.} {\\bf 3} (1951), 225--235.\n ")

This can certainly be improved. At the very least, print the table name, its parameters (including information if anything was specialized via speccharparam or specclassparam), how many characters and classes there are in it...

@fingolfin
Copy link
Member Author

A variant that actually prints the content of the table would also be nice.

And then a variant of that which generates LaTeX, similar to what we have for classical character tables in OSCAR.

@SoongNoonien
Copy link
Member

At the very least, print the table name, its parameters (including information if anything was specialized via speccharparam or specclassparam), how many characters and classes there are in it...

A variant that actually prints the content of the table would also be nice.

In the Show.jl file there are some printing functions for generic character tables which cover some of this.

And then a variant of that which generates LaTeX, similar to what we have for classical character tables in OSCAR.

In the PrintToTex directory there some initial implementations to print some of our data types in LaTeX format. But these are very rough and not well documented.

@SoongNoonien SoongNoonien added the printing Printing needs to be improved label Apr 16, 2024
@fingolfin
Copy link
Member Author

We now have some basic show methods thanks to PR #337 and and PR #70.

We could also provide different printing modes following the OSCAR / AbstractAlgebra model as described here:

https://docs.oscar-system.org/dev/DeveloperDocumentation/printing_details/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
printing Printing needs to be improved
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants