Conjugacy class types
A class type is a family of conjugacy classes which are indexed by a set of parameters, together with ranges of admissible values for each parameters, and a set of excluded parameter values.
Properties
GenericCharacterTables.conjugacy_class_type — Function
conjugacy_class_type(t::CharTable, class::Int64)Return the generic conjugacy class class of t.
conjugacy_class_type(t::SimpleCharTable{T}, class::Int64) where T <: NfPolyReturn the generic conjugacy class class of t.
GenericCharacterTables.number_of_conjugacy_class_types — Function
number_of_conjugacy_class_types(t::Table)Return the number of conjugacy class types of table t.
Examples
julia> g=generic_character_table("GL2");
julia> number_of_conjugacy_class_types(g)
4
Oscar.number_of_conjugacy_classes — Method
number_of_conjugacy_classes(t::Table)Return the number of conjugacy classes of table t.
Examples
julia> g=generic_character_table("GL2");
julia> number_of_conjugacy_classes(g)
q^2 - 1
Oscar.number_of_conjugacy_classes — Method
number_of_conjugacy_classes(class::GenericConjugacyClass)Return the number of conjugacy classes in class.
Examples
julia> g=generic_character_table("GL2");
julia> number_of_conjugacy_classes(conjugacy_class_type(g, 1))
q - 1Oscar.number_of_conjugacy_classes — Method
number_of_conjugacy_classes(class::SimpleGenericConjugacyClass)Return the number of conjugacy classes in class.
Examples
julia> g=green_function_table("GL2");
julia> number_of_conjugacy_classes(conjugacy_class_type(g, 1))
1Oscar.number_of_conjugacy_classes — Method
number_of_conjugacy_classes(t::Table, class::Int64)Return the number of conjugacy classes in the class type class of the table t.
Examples
julia> g=generic_character_table("GL2");
julia> number_of_conjugacy_classes(g, 1)
q - 1AbstractAlgebra.order — Method
order(class::AbstractGenericConjugacyClass)Return the order of the conjugacy classes in class.
Examples
julia> g=generic_character_table("GL2");
julia> order(conjugacy_class_type(g, 3))
q^2 + qAbstractAlgebra.order — Method
order(t::Table, class::Int64)Return the order of the conjugacy classes in the class type class of t.
Examples
julia> g=generic_character_table("GL2");
julia> order(g, 3)
q^2 + qGenericCharacterTables.centralizer_order — Function
centralizer_order(class::AbstractGenericConjugacyClass)Return the order of the centralizer of the class type class.
Examples
julia> g=generic_character_table("GL2");
julia> centralizer_order(conjugacy_class_type(g, 1))
q^4 - q^3 - q^2 + q
centralizer_order(t::Table, class::Int64)Return the order of the centralizer of the class type class of the table t.
Examples
julia> g=generic_character_table("GL2");
julia> centralizer_order(g, 1)
q^4 - q^3 - q^2 + q
GenericCharacterTables.parameters — Method
parameters(class::GenericConjugacyClass)Return the parameters of the conjugacy class type class. This includes the parameter names, ranges and exceptions.
Examples
julia> g=generic_character_table("GL2");
julia> parameters(conjugacy_class_type(g, 3))
i ∈ {1,…, q - 1}, j ∈ {1,…, q - 1} except i - j ∈ (q - 1)ℤGenericCharacterTables.parameters — Method
parameters(class::SimpleGenericConjugacyClass)Return the parameters of the conjugacy class type class. This includes the parameter names, ranges and exceptions.
Examples
julia> g=generic_character_table("uniGL2");
julia> parameters(conjugacy_class_type(g, 1))
GenericCharacterTables.parameters — Method
parameters(t::Table, class::Int64)Return the parameters of the class type class of the table t. This includes the parameter names, ranges and exceptions.
Examples
julia> g=generic_character_table("GL2");
julia> parameters(g, 3)
i ∈ {1,…, q - 1}, j ∈ {1,…, q - 1} except i - j ∈ (q - 1)ℤ
GenericCharacterTables.info — Method
info(class::AbstractGenericConjugacyClass)Return the infolists of the generic conjugacy class class.
GenericCharacterTables.info — Method
info(class::AbstractGenericConjugacyClass)Return the infolists of the generic conjugacy class class.
GenericCharacterTables.info — Method
info(t::Table, class::Int64)Return the infolists of the class type class of the table t.
Examples
julia> g=generic_character_table("GL2");
julia> info(g, 1)
2-element Vector{Any}:
Any[1, 0]
Any["A_1", [1, 1]]
Norms and scalar products
GenericCharacterTables allows you to compute norms and scalar products of class types. The results are correct for all possible combinations of parameters except possibly for those where the additionally returned exceptions apply. Those consist of multivariate polynomials with coefficients in a rational function field and are satisfied if the evaluation of this polynomial is an integer.
LinearAlgebra.norm — Method
norm(class::GenericConjugacyClass)Return the (generic) norm of class.
Examples
julia> g=generic_character_table("GL2");
julia> norm(conjugacy_class_type(g, 2))
1LinearAlgebra.norm — Method
norm(class::SimpleGenericConjugacyClass)Return the (generic) norm of class.
Examples
julia> g=green_function_table("GL3");
julia> norm(conjugacy_class_type(g, 2))
(5*q^2 + 2*q + 3)//(q^5 - 2*q^4 + q^3)LinearAlgebra.norm — Method
norm(t::Table, class::Int64)Return the (generic) norm of the class type class.
Examples
julia> g=generic_character_table("GL2");
julia> norm(g,2)
1Oscar.scalar_product — Method
scalar_product(class1::GenericConjugacyClass, class2::GenericConjugacyClass)Return the (generic) scalar product between class1 and class2.
Examples
julia> g=generic_character_table("GL2");
julia> scalar_product(conjugacy_class_type(g, 3), conjugacy_class_type(g, 2))
0
With exceptions:
i1 + j1 - 2*i2 ∈ (q - 1)ℤ
i1 - i2 ∈ (q - 1)ℤ
j1 - i2 ∈ (q - 1)ℤOscar.scalar_product — Method
scalar_product(class1::SimpleGenericConjugacyClass, class2::SimpleGenericConjugacyClass)Return the (generic) scalar product between class1 and class2.
Examples
julia> g=green_function_table("GL3");
julia> scalar_product(conjugacy_class_type(g, 2), conjugacy_class_type(g, 2))
(5*q^2 + 2*q + 3)//(q^5 - 2*q^4 + q^3)Oscar.scalar_product — Method
scalar_product(t::Table, class1::Int64, class2::Int64)Return the (generic) scalar product between the class types class1 and class2.
Examples
julia> g=generic_character_table("GL2");
julia> scalar_product(g,3,2)
0
With exceptions:
i1 + j1 - 2*i2 ∈ (q - 1)ℤ
i1 - i2 ∈ (q - 1)ℤ
j1 - i2 ∈ (q - 1)ℤOscar.class_multiplication_coefficient — Method
class_multiplication_coefficient(class1::SimpleGenericConjugacyClass, class2::SimpleGenericConjugacyClass, class3::SimpleGenericConjugacyClass)Return the (generic) class multiplication coefficient of class1, class2 and class3.
Examples
julia> g=green_function_table("GL3");
julia> class_multiplication_coefficient(conjugacy_class_type(g, 1), conjugacy_class_type(g, 2), conjugacy_class_type(g, 3))
(q + 3)//(q^5 - 2*q^4 + q^3)Oscar.class_multiplication_coefficient — Method
class_multiplication_coefficient(class1::GenericConjugacyClass, class2::GenericConjugacyClass, class3::GenericConjugacyClass)Return the (generic) class multiplication coefficient of class1, class2 and class3.
Examples
julia> g=generic_character_table("SL2.0");
julia> class_multiplication_coefficient(conjugacy_class_type(g, 2), conjugacy_class_type(g, 2), conjugacy_class_type(g, 4))
q + 1
With exceptions:
a3 ∈ (q + 1)ℤOscar.class_multiplication_coefficient — Method
class_multiplication_coefficient(t::Table, class1::Int64, class2::Int64, class3::Int64)Return the (generic) class multiplication coefficient of the class types class1, class2 and class3 of the table t.
Examples
julia> g=generic_character_table("SL2.0");
julia> class_multiplication_coefficient(g,2,2,4)
q + 1
With exceptions:
a3 ∈ (q + 1)ℤIteration
To get a specific conjugacy class type one can also use the indexing features of generic character tables. Moreover the conjugacy class type itself implements the standard iteration and indexing interfaces and can thus be treated similarly to a Vector object.
julia> g=generic_character_table("GL2");
julia> cl=g[:,1]
Generic conjugacy class of GL2
with parameters
i ∈ {1,…, q - 1}
of order 1
with values
1: E(q - 1)^(2*i*k)
2: q*E(q - 1)^(2*i*k)
3: (q + 1)*E(q - 1)^(i*l + i*k)
4: (q - 1)*E(q - 1)^(i*k)
julia> cl[1]
E(q - 1)^(2*i*k)
julia> cl[2:3]
2-element Vector{GenericCharacterTables.GenericCyclo}:
q*E(q - 1)^(2*i*k)
(q + 1)*E(q - 1)^(i*l + i*k)
julia> cl[:]
4-element Vector{GenericCharacterTables.GenericCyclo}:
E(q - 1)^(2*i*k)
q*E(q - 1)^(2*i*k)
(q + 1)*E(q - 1)^(i*l + i*k)
(q - 1)*E(q - 1)^(i*k)
julia> for v in cl
println(v)
end
E(q - 1)^(2*i*k)
q*E(q - 1)^(2*i*k)
(q + 1)*E(q - 1)^(i*l + i*k)
(q - 1)*E(q - 1)^(i*k)