API reference
Steerable convolutional layers.
Exports
The following symbols are exported by SteerableConvolutions:
abstract type AbstractFiniteGroup <: AbstractGroup
Abstract finite group.
Fields
abstract type AbstractRepresentation
Abstract group representation.
A linear representation
maps group elements
Fields
struct CyclicGroup <: AbstractFiniteGroup
Cyclic group
Example
julia> G = CyclicGroup(8)
CyclicGroup(8)
julia> one(G)
CyclicGroup(8)(0)
julia> g, h = G(1), G(2)
(CyclicGroup(8)(1), CyclicGroup(8)(2))
julia> inv(g)
CyclicGroup(8)(7)
julia> g * h
CyclicGroup(8)(3)
Fields
N
: Number of rotations in the group.
struct DihedralGroup <: AbstractFiniteGroup
Dihedral group
Example
julia> G = DihedralGroup(8)
DihedralGroup(8)
julia> one(G)
DihedralGroup(8)(false, 0)
julia> g, h = G(false, 5), G(true, 3)
(DihedralGroup(8)(false, 5), DihedralGroup(8)(true, 3))
julia> inv(g)
DihedralGroup(8)(false, 3)
julia> g * h
DihedralGroup(8)(true, 0)
Fields
N
: Number of rotations in the group.
struct Element{G, N}
Group element. Group elements can be multiplied with *
. To build group elements, call group(n)
instead of Element(group, n)
.
Fields
group
: Group to which the element belongs.n
: Group element content.
struct FiberField{F, R, A}
Fiber field.
Fields
gspace
: Field type.representation
: Representation.x
: Field content.
struct GSpace{G}
GSpace.
Fields
group
: Group.dim
: Dimension of base space.
struct Irrep{G, F} <: AbstractRepresentation
Irreducible group representation ("irrep").
Fields
group
: Group.freq
: Irrep frequency.
struct R2Conv{G, RI, RO, IW, IB, C} <: LuxCore.AbstractExplicitLayer
Steerable convolutional layer on
Fields
gspace
ρ_in
ρ_out
c_in
c_out
init_weight
init_bias
conv
struct Representation{F, A} <: AbstractRepresentation
General group representation. It is stored as a direct sum of irreps with a change of basis matrix.
Fields
frequencies
: List of irrep frequencies by order of appearance in direct sum.basis
: Change of basis matrix.
struct RotationGroup <: AbstractGroup
Rotation group in the plane.
Fields
Get change of basis matrix for block-diagonal representation decomposition.
Methods
basis(ψ)
defined at /home/runner/work/SteerableConvolutions.jl/SteerableConvolutions.jl/src/group.jl:98
.
basis(ρ)
defined at /home/runner/work/SteerableConvolutions.jl/SteerableConvolutions.jl/src/group.jl:101
.
Direct sum of matrices or representations.
Methods
directsum(x)
defined at /home/runner/work/SteerableConvolutions.jl/SteerableConvolutions.jl/src/group.jl:105
.
directsum(r)
defined at /home/runner/work/SteerableConvolutions.jl/SteerableConvolutions.jl/src/group.jl:116
.
Get elements of a finite group.
Methods
elements(group)
defined at /home/runner/work/SteerableConvolutions.jl/SteerableConvolutions.jl/src/group.jl:225
.
elements(group)
defined at /home/runner/work/SteerableConvolutions.jl/SteerableConvolutions.jl/src/group.jl:284
.
Get irrep frequencies used to block-diagonalize a representation.
Methods
frequencies(ψ)
defined at /home/runner/work/SteerableConvolutions.jl/SteerableConvolutions.jl/src/group.jl:97
.
frequencies(ρ)
defined at /home/runner/work/SteerableConvolutions.jl/SteerableConvolutions.jl/src/group.jl:100
.
frequencies(group)
defined at /home/runner/work/SteerableConvolutions.jl/SteerableConvolutions.jl/src/group.jl:247
.
frequencies(group)
defined at /home/runner/work/SteerableConvolutions.jl/SteerableConvolutions.jl/src/group.jl:301
.
istrivial(::Irrep)
Return true
if the irrep is trivial.
Methods
istrivial(ψ)
defined at /home/runner/work/SteerableConvolutions.jl/SteerableConvolutions.jl/src/group.jl:248
.
istrivial(ψ)
defined at /home/runner/work/SteerableConvolutions.jl/SteerableConvolutions.jl/src/group.jl:306
.
regular_representation(
group
) -> Representation{_A, Matrix{Float64}} where _A
Get the regular representation of a group.
Methods
regular_representation(group)
defined at /home/runner/work/SteerableConvolutions.jl/SteerableConvolutions.jl/src/group.jl:137
.