Vector spaces
DecomposingGroupRepresentations.AbstractSpace
— TypeAbstractSpace{F}
An abstract type representing a vector space. The type F
represents the number field (or number type) over which the vector space is defined.
DecomposingGroupRepresentations.basis
— Methodbasis(::AbstractSpace)
Returns a basis of the given vector space.
DecomposingGroupRepresentations.dim
— Methoddim(::AbstractSpace) -> Int
Returns the dimension of the given vector space.
PolySpace
DecomposingGroupRepresentations.PolySpace
— TypePolySpace <: AbstractSpace
A structure representing a vector space generated by polynomials.
Direct sums
DecomposingGroupRepresentations.AbstractDirectSum
— TypeAbstractDirectSum{F} <: AbstractSpace{F}
An abstract type representing a direct sum of vector spaces over the field (or number type) F
.
DecomposingGroupRepresentations.summands
— Functionsummands(::AbstractDirectSum)
Returns the summands of the given direct sum of vector spaces.
DecomposingGroupRepresentations.nsummands
— Functionnsummands(::AbstractDirectSum) -> Int
Returns the number of summands in the given direct sum of vector spaces.
Symmetric powers
DecomposingGroupRepresentations.AbstractSymmetricPower
— TypeAbstractSymmetricPower{F} <: AbstractSpace{F}
An abstract type representing a symmetric power of a vector space over the field (or number type) F
.
DecomposingGroupRepresentations.base_space
— Functionbase_space(::AbstractSymmetricPower) -> AbstractSpace
Returns the base vector space of the given symmetric power. I.e. for $\mathrm{Sym}^n(V)$, this function returns $V$.
DecomposingGroupRepresentations.power
— Functionpower(::AbstractSymmetricPower) -> Int
Returns the power of the given symmetric power. I.e. for $\mathrm{Sym}^n(V)$, this function returns $n$.
DecomposingGroupRepresentations.FixedDegreePolynomials
— TypeFixedDegreePolynomials <: AbstractSymmetricPower
A type representing a space of polynomials of a fixed degree. I.e., for the variables $x_1, \dots, x_n$ and degree $d$ gives $\mathbb{F}[x_1, \dots, x_n]_{d}$, the space of polynomials in $n$ variables of degree $d$.
Constructors
FixedDegreePolynomials(vars::Vector{<:Variable}, degree::Int)
Examples
julia> @polyvar x[1:3];
julia> V = FixedDegreePolynomials(x, 2)
FixedDegreePolynomials space of dimension 6
variables: x₁, x₂, x₃
degree: 2
julia> base_space(V)
VariableSpace with 3 variables
number type (or field): ComplexF64
variables: x₁, x₂, x₃
julia> power(V)
2
Tensor products
DecomposingGroupRepresentations.AbstractTensorProduct
— TypeAbstractTensorProduct{F} <: AbstractSpace{F}
An abstract type representing a tensor product of vector spaces over the field F
.
DecomposingGroupRepresentations.factors
— Functionfactors(::AbstractTensorProduct)
Returns an iterator through the factors of the given tensor product.
DecomposingGroupRepresentations.FixedMultidegreePolynomials
— TypeFixedMultidegreePolynomials <: AbstractTensorProduct
A type representing a space of polynomials of a fixed multidegree in certain groups of variables. For example, for 2 groups of variables $x_1,\dots,x_m$ and $y_1,\dots,y_n$, and degrees $d_1$ and $d_2$, this gives
\[\mathbb{F}[x_1, \dots, x_m, y_1, \dots, y_n]_{(d_1, d_2)} \cong \mathbb{F}[x_1, \dots, x_m]_{d_1} \otimes \mathbb{F}[y_1, \dots, y_n]_{d_2},\]
the space of multi-homogeneous polynomials in $m+n$ variables of degree $d_1$ in the first group and $d_2$ in the second group.
Constructors
FixedMultidegreePolynomials(var_groups::Vector{Vector{<:Variable}}, degrees::Vector{Int})
Examples
julia> @polyvar x[1:3] y[1:2];
julia> V = FixedMultidegreePolynomials([x, y], [1, 1])
FixedMultidegreePolynomials space of dimension 6
variable groups: [x₁, x₂, x₃], [y₁, y₂]
multidegree: [1, 1]
julia> fs = factors(V)
2-element Vector{FixedDegreePolynomials{ComplexF64, Commutative{CreationOrder}, Graded{LexOrder}}}:
FixedDegreePolynomials space of dimension 3
FixedDegreePolynomials space of dimension 2
julia> fs[2]
FixedDegreePolynomials space of dimension 2
variables: y₁, y₂
degree: 1
HighestWeightModule
DecomposingGroupRepresentations.HighestWeightModule
— TypeHighestWeightModule <: AbstractSpace
Represents a highest weight module in the context of Lie group representations.
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> H = space(irr_decomp[1])
HighestWeightModule of dimension 1
Lie group: SO(3)
highest weight: [0]
julia> basis(H)
1-element Vector{Polynomial{Commutative{CreationOrder}, Graded{LexOrder}, ComplexF64}}:
z² + y² + x²