Group representations
DecomposingGroupRepresentations.AbstractGroupRepresentation
— TypeAbstractGroupRepresentation{T<:GroupType, S<:AbstractSpace}
An abstract type representing a group representation. The type T
represents a GroupType
, and S
represents an AbstractSpace
.
DecomposingGroupRepresentations.action
— Methodaction(::AbstractGroupRepresentation) -> AbstractGroupAction
Returns the group action associated with the given group representation.
DecomposingGroupRepresentations.group
— Methodgroup(ρ::AbstractGroupRepresentation) -> AbstractGroup
Returns the group associated with the given group representation.
DecomposingGroupRepresentations.space
— Methodspace(::AbstractGroupRepresentation) -> AbstractSpace
Returns the vector space on which the given group representation acts.
DecomposingGroupRepresentations.dim
— Methoddim(ρ::AbstractGroupRepresentation) -> Int
Returns the dimension of the vector space on which the given group representation acts.
GroupRepresentation
DecomposingGroupRepresentations.GroupRepresentation
— TypeGroupRepresentation <: AbstractGroupRepresentation
Represents a group representation. Consists of a group action and a vector space.
Constructors
GroupRepresentation(a::AbstractGroupAction, V::AbstractSpace)
Examples
julia> @polyvar x[1:3];
julia> SO3 = LieGroup("SO", 3);
julia> a = MatrixGroupAction(SO3, [x]);
julia> V = FixedDegreePolynomials(x, 2);
julia> ρ = GroupRepresentation(a, V)
GroupRepresentation of SO(3) on 6-dimensional vector space
Lie group: SO(3)
julia> dim(ρ)
6
julia> group(ρ)
LieGroup SO(3)
number type (or field): ComplexF64
weight type: Int64
Lie algebra properties:
dimension: 3
rank (dimension of Cartan subalgebra): 1
IrreducibleRepresentation
DecomposingGroupRepresentations.IrreducibleRepresentation
— TypeIrreducibleRepresentation <: AbstractGroupRepresentation
Represents an irreducible group representation.
Examples
julia> @polyvar x y z;
julia> vars = [x, y, z];
julia> SO3 = LieGroup("SO", 3);
julia> a = MatrixGroupAction(SO3, [vars]);
julia> V = FixedDegreePolynomials(vars, 2);
julia> ρ = GroupRepresentation(a, V);
julia> irr_decomp = irreducibles(ρ)
IrreducibleDecomposition of SO(3)-action on 6-dimensional vector space
number of irreducibles: 2
dimensions of irreducibles: 1, 5
julia> irr_decomp[2]
IrreducibleRepresentation of dimension 5
Lie group: SO(3)
highest weight: [2]
julia> space(irr_decomp[2])
HighestWeightModule of dimension 5
Lie group: SO(3)
highest weight: [2]
julia> basis(space(irr_decomp[2]))
5-element Vector{Polynomial{Commutative{CreationOrder}, Graded{LexOrder}, ComplexF64}}:
-y² + (0.0 + 2.0im)xy + x²
(0.0 + 1.0im)yz + xz
(2.0 + 0.0im)z² + -y² + -x²
(0.0 + 1.0im)yz + -xz
-y² + (-0.0 - 2.0im)xy + x²
IsotypicComponent
DecomposingGroupRepresentations.IsotypicComponent
— TypeIsotypicComponent <: AbstractGroupRepresentation
Represents an isotypic component of a group representation, i.e. a direct sum of isomorphic irreducible representations.
Examples
julia> @polyvar x[1:3] y[1:3];
julia> SO3 = LieGroup("SO", 3);
julia> a₁ = MatrixGroupAction(SO3, [x, y]);
julia> a₂ = ScalingLieGroupAction(vcat(x, y));
julia> a = a₁ × a₂;
julia> V = FixedDegreePolynomials(vcat(x, y), 2);
julia> ρ = GroupRepresentation(a, V)
GroupRepresentation of SO(3) × ℂˣ on 21-dimensional vector space
Lie group: SO(3) × ℂˣ
julia> iso_decomp = isotypics(ρ)
IsotypicDecomposition of SO(3) × ℂˣ-action on 21-dimensional vector space
number of isotypic components: 3
multiplicities of irreducibles: 3, 3, 1
dimensions of irreducibles: 1, 5, 3
dimensions of isotypic components: 3, 15, 3
julia> iso = isotypics(iso_decomp)
3-element Vector{IsotypicComponent}:
IsotypicComponent with (dim, mul) = (3, 3)
IsotypicComponent with (dim, mul) = (15, 3)
IsotypicComponent with (dim, mul) = (3, 1)
julia> iso[1]
IsotypicComponent of dimension 3, multiplicity 3
Lie group: SO(3) × ℂˣ
highest weight: [0, 2]
dimension of irreducible subrepresentation: 1
multiplicity of irreducible subrepresentation: 3
julia> space(iso[1])
DirectSum of dimension 3
nsummands: 3
dimensions of summands: 1, 1, 1
julia> basis(iso[1])
3-element Vector{Polynomial{Commutative{CreationOrder}, Graded{LexOrder}, ComplexF64}}:
x₃² + x₂² + x₁²
y₃² + y₂² + y₁²
-x₃y₃ + -x₂y₂ + -x₁y₁