Unexported Functions

These are all functions for internal use only:

GenericCharacterTables.CharTableType
CharTable <: Table

The type for generic character tables. This is used to model generic character tables containing generic cyclotomic entries.

Examples

julia> g=generic_character_table("GL2")
Generic character table GL2
  of order q^4 - q^3 - q^2 + q
  with 4 irreducible character types
  with 4 class types
  with parameters (i, j, l, k)
source
GenericCharacterTables.CharTableMethod
(t::CharTable)(c::GenericCharacter)

Return c as a generic character of t. This will only work if t is a version of the parent table of c with a more restricted congruence.

source
GenericCharacterTables.GenericCharacterType
GenericCharacter <: AbstractGenericCharacter

The type for generic characters. These are the generic characters used in CharTable.

Examples

julia> g=generic_character_table("GL2");

julia> g[1]
Generic character of GL2
  with parameters
    k ∈ {1,…, q - 1}
  of degree 1
  with values
    exp(2π𝑖((2*i*k)//(q - 1)))
    exp(2π𝑖((2*i*k)//(q - 1)))
    exp(2π𝑖((i*k + j*k)//(q - 1)))
    exp(2π𝑖((i*k)//(q - 1)))
source
GenericCharacterTables.GenericCycloType
GenericCyclo <: RingElem

The type for generic cyclotomic numbers.

Examples

julia> R = universal_polynomial_ring(QQ; cached=false);

julia> q = gen(R, "q");

julia> S = generic_cyclotomic_ring(R);

julia> S(q; exponent=1//(q-1))
q*exp(2π𝑖(1//(q - 1)))
source
GenericCharacterTables.GenericCycloFracType
GenericCycloFrac

The type for fractions of generic cyclotomic numbers.

Examples

julia> R = universal_polynomial_ring(QQ; cached=false);

julia> q = gen(R, "q");

julia> S = generic_cyclotomic_ring(R);

julia> a = S(q; exponent=1//(q-1))
q*exp(2π𝑖(1//(q - 1)))

julia> b = S(q^2; exponent=1//(q^2-1))
q^2*exp(2π𝑖(1//(q^2 - 1)))

julia> a//b
q*exp(2π𝑖(1//(q - 1)))//(q^2*exp(2π𝑖(1//(q^2 - 1))))
source
GenericCharacterTables.GenericCycloRingType
GenericCycloRing <: Ring

The ring of generic cyclotomic numbers.

Examples

julia> R = universal_polynomial_ring(QQ; cached=false);

julia> q = gen(R, "q");

julia> S = generic_cyclotomic_ring(R)
Generic cyclotomic ring
  over Rational field
  dependent on q
source
GenericCharacterTables.SimpleCharTableType
SimpleCharTable{T} <: Table

The type for simple generic character tables. This is used to model generic character tables containing polynomial entries. The type parameter T is the type of the table entries.

Examples

julia> g=generic_character_table("uniGL2")
Generic character table uniGL2
  of order q^4 - q^3 - q^2 + q
  with 2 irreducible character types
  with 4 class types
  without parameters
source
GenericCharacterTables.SimpleGenericCharacterType
SimpleGenericCharacter <: AbstractGenericCharacter

The type for simple generic characters. These are the generic characters used in SimpleCharTable.

Examples

julia> g=generic_character_table("uniGL2")
Generic character table uniGL2
  of order q^4 - q^3 - q^2 + q
  with 2 irreducible character types
  with 4 class types
  without parameters

julia> g[1]
Generic character of uniGL2
  of degree q
  with values
    q
    0
    1
    -1
source
AbstractAlgebra.Generic.normal_formMethod
normal_form(f::ZZUPoly, m::Int64)

Return a normal form of f modulo m, such that normal_form(f,m) is equal to normal_form(g,m) if and only if f and g are congruent modulo m.

Examples

julia> R=universal_polynomial_ring(ZZ);

julia> x=gen(R, :x);

julia> normal_form(4*x^2,6)
x^2 + 3*x

julia> normal_form(4*x^2-(x^2+3*x),6)
0

julia> normal_form(4*x^9+x^7,12)
x^3 + 4*x

julia> normal_form(4*x^9+x^7-(x^3+4*x),12)
0
source
Base.iszeroMethod
iszero(x::GenericCycloFrac; ignore_exceptions::Bool=false)

Return if x is zero. If ignore_exceptions is true then the exceptions of x will not be considered.

source
Base.showMethod
show(io::IO, c::AbstractGenericCharacter)

Display a summary of the generic character c.

Examples

julia> g=generic_character_table("GL2");

julia> g[3]
Generic character of GL2
  with parameters
    k ∈ {1,…, q - 1}, l ∈ {1,…, q - 1} except -l + k ∈ (q - 1)ℤ
  of degree q + 1
  with values
    (q + 1)*exp(2π𝑖((i*l + i*k)//(q - 1)))
    exp(2π𝑖((i*l + i*k)//(q - 1)))
    exp(2π𝑖((i*l + j*k)//(q - 1))) + exp(2π𝑖((i*k + j*l)//(q - 1)))
    0

julia> [g[3]]
1-element Vector{GenericCharacterTables.GenericCharacter}:
 Generic character of GL2
source
Base.showMethod
show(io::IO, c::AbstractGenericConjugacyClass)

Display a summary of the generic character c.

Examples

julia> g=generic_character_table("GL2");

julia> conjugacy_class_type(g, 3)
Generic conjugacy class of GL2
  with parameters 
    i ∈ {1,…, q - 1}, j ∈ {1,…, q - 1} except i - j ∈ (q - 1)ℤ
  of order q^2 + q
  with values
    exp(2π𝑖((i*k + j*k)//(q - 1)))
    exp(2π𝑖((i*k + j*k)//(q - 1)))
    exp(2π𝑖((i*l + j*k)//(q - 1))) + exp(2π𝑖((i*k + j*l)//(q - 1)))
    0

julia> [conjugacy_class_type(g, 3)]
1-element Vector{GenericCharacterTables.GenericConjugacyClass}:
 Generic conjugacy class of GL2
source
Base.showMethod
show(io::IO, t::Table)

Display a summary of the generic character table t.

Examples

julia> g=generic_character_table("GL2")
Generic character table GL2
  of order q^4 - q^3 - q^2 + q
  with 4 irreducible character types
  with 4 class types
  with parameters (i, j, l, k)

julia> [g]
1-element Vector{GenericCharacterTables.CharTable}:
 Generic character table GL2
source
GenericCharacterTables.mergeMethod
merge(x::ParameterExceptions, y::ParameterExceptions)

Return a new collection of parameter exceptions composed of x and y where all redundant exceptions are omitted.

source
GenericCharacterTables.nesumMethod
nesum(a::GenericCyclo, var::Int64, lower::Int64, upper::Union{Int64,UPoly})

Return the sum of a, from var=lower to upper as GenericCycloFrac using the closed formular for geometric sums. If this is not possible an exception will be thrown.

Examples

julia> R = universal_polynomial_ring(QQ; cached=false);

julia> q = gen(R, "q");

julia> S = generic_cyclotomic_ring(R);

julia> i, = gens(R, ["i"]);

julia> a = S(Dict(1//(q-1)*i => R(1)))
exp(2π𝑖(i//(q - 1)))

julia> GenericCharacterTables.nesum(a, i, 1, q-1)
0
With exceptions:
  1 ∈ (q - 1)ℤ
source
GenericCharacterTables.shift_char_parametersMethod
shift_char_parameters(t::CharTable, a::Union{Parameters,GenericCyclo,GenericCycloFrac}, steps::Int64)

Replace all character parameters of t in a by their counterparts suffixed with steps.

This is done by shifting them steps*number_of_parameters(t) steps further in t.argumentring.

source
GenericCharacterTables.shift_class_parametersMethod
shift_class_parameters(t::CharTable, a::Union{Parameters,GenericCyclo,GenericCycloFrac}, steps::Int64)

Replace all class parameters of t in a by their counterparts suffixed with steps.

This is done by shifting them steps*number_of_parameters(t) steps further in t.argumentring.

source
GenericCharacterTables.shrinkMethod
shrink(a::GenericCycloFrac{<:NfPoly})

Remove exceptions from a that follow from the others. And try to simplify the representation of a.

source