Unexported Functions
These are all functions for internal use only:
GenericCharacterTables.CharTable
— TypeCharTable <: 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)
GenericCharacterTables.CharTable
— Method(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.
GenericCharacterTables.GenericCharacter
— TypeGenericCharacter <: 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)))
GenericCharacterTables.GenericConjugacyClass
— TypeGenericConjugacyClass <: AbstractGenericConjugacyClass
The type for generic conjugacy classes. These are the generic conjugacy classes used in CharTable
.
GenericCharacterTables.GenericCyclo
— TypeGenericCyclo <: 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)))
GenericCharacterTables.GenericCycloFrac
— TypeGenericCycloFrac
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))))
GenericCharacterTables.GenericCycloRing
— TypeGenericCycloRing <: 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
GenericCharacterTables.Parameter
— TypeParameter
A paramter of a generic character or class type unique up to a polynomial modulus. They are used in Parameters
.
GenericCharacterTables.ParameterExceptions
— TypeParameterExceptions
A collection of parameter exceptions used in GenericCycloFrac
.
GenericCharacterTables.ParameterSubstitution
— TypeParameterSubstitution
A substitution of paramters used in Parameters
. They are generated by for example specclassparam!
.
GenericCharacterTables.Parameters
— TypeParameters
Parameters of generic characters and class types. This is used in GenericCharacter
and CharTable
and is only of internal use.
GenericCharacterTables.SimpleCharTable
— TypeSimpleCharTable{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
GenericCharacterTables.SimpleGenericCharacter
— TypeSimpleGenericCharacter <: 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
GenericCharacterTables.SimpleGenericConjugacyClass
— TypeSimpleGenericConjugacyClass <: AbstractGenericConjugacyClass
The type for simple generic conjugacy classes. These are the generic conjugacy classes used in SimpleCharTable
.
AbstractAlgebra.Generic.normal_form
— Methodnormal_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
Base.iszero
— Methodiszero(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.
Base.show
— Methodshow(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
Base.show
— Methodshow(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
Base.show
— Methodshow(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
GenericCharacterTables.add_exception!
— Methodadd_exception!(a::ParameterExceptions, exception::UPolyFrac)
Include exception
into a
. This also removes all now redundant exceptions from a
.
GenericCharacterTables.is_integer
— Methodis_integer(x::UPolyFrac)
Return if x
represents an integer.
GenericCharacterTables.is_restriction
— Methodis_restriction(x::ParameterExceptions)
Return if x
actually restricts something.
GenericCharacterTables.merge
— Methodmerge(x::ParameterExceptions, y::ParameterExceptions)
Return a new collection of parameter exceptions composed of x
and y
where all redundant exceptions are omitted.
GenericCharacterTables.nesum
— Methodnesum(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)ℤ
GenericCharacterTables.shift_char_parameters
— Methodshift_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
.
GenericCharacterTables.shift_class_parameters
— Methodshift_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
.
GenericCharacterTables.shrink
— Methodshrink(a::GenericCycloFrac{<:NfPoly})
Remove exceptions from a
that follow from the others. And try to simplify the representation of a
.