Skip to content

API reference

# SteerableConvolutions.SteerableConvolutionsModule.

Steerable convolutional layers.

Exports

The following symbols are exported by SteerableConvolutions:

source


# SteerableConvolutions.AbstractFiniteGroupType.
julia
abstract type AbstractFiniteGroup <: AbstractGroup

Abstract finite group.

Fields

source


# SteerableConvolutions.AbstractGroupType.
julia
abstract type AbstractGroup

Abstract group.

Fields

source


# SteerableConvolutions.AbstractRepresentationType.
julia
abstract type AbstractRepresentation

Abstract group representation.

A linear representation

ρ:GGL(Rd)

maps group elements g to invertible matrices ρ(g) of size d×d. The representation must be such that

ρ(gh)=ρ(g)ρ(h)(g,h)G2.

Fields

source


# SteerableConvolutions.CyclicGroupType.
julia
struct CyclicGroup <: AbstractFiniteGroup

Cyclic group CN of order N.

Example

julia
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.

source


# SteerableConvolutions.DihedralGroupType.
julia
struct DihedralGroup <: AbstractFiniteGroup

Dihedral group DN.

Example

julia
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.

source


# SteerableConvolutions.ElementType.
julia
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.

source


# SteerableConvolutions.FiberFieldType.
julia
struct FiberField{F, R, A}

Fiber field.

Fields

  • gspace: Field type.

  • representation: Representation.

  • x: Field content.

source


# SteerableConvolutions.GSpaceType.
julia
struct GSpace{G}

GSpace.

Fields

  • group: Group.

  • dim: Dimension of base space.

source


# SteerableConvolutions.IrrepType.
julia
struct Irrep{G, F} <: AbstractRepresentation

Irreducible group representation ("irrep").

Fields

  • group: Group.

  • freq: Irrep frequency.

source


# SteerableConvolutions.R2ConvType.
julia
struct R2Conv{G, RI, RO, IW, IB, C} <: LuxCore.AbstractExplicitLayer

Steerable convolutional layer on R2.

Fields

  • gspace

  • ρ_in

  • ρ_out

  • c_in

  • c_out

  • init_weight

  • init_bias

  • conv

source


# SteerableConvolutions.RepresentationType.
julia
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.

source


# SteerableConvolutions.RotationGroupType.
julia
struct RotationGroup <: AbstractGroup

Rotation group in the plane.

Fields

source


# SteerableConvolutions.:⊕Function.

Alias for directsum.

source


# SteerableConvolutions.basisFunction.

Get change of basis matrix for block-diagonal representation decomposition.

Methods

julia
basis(ψ)

defined at /home/runner/work/SteerableConvolutions.jl/SteerableConvolutions.jl/src/group.jl:98.

julia
basis(ρ)

defined at /home/runner/work/SteerableConvolutions.jl/SteerableConvolutions.jl/src/group.jl:101.

source


# SteerableConvolutions.directsumFunction.

Direct sum of matrices or representations.

Methods

julia
directsum(x)

defined at /home/runner/work/SteerableConvolutions.jl/SteerableConvolutions.jl/src/group.jl:105.

julia
directsum(r)

defined at /home/runner/work/SteerableConvolutions.jl/SteerableConvolutions.jl/src/group.jl:116.

source


# SteerableConvolutions.elementsFunction.

Get elements of a finite group.

Methods

julia
elements(group)

defined at /home/runner/work/SteerableConvolutions.jl/SteerableConvolutions.jl/src/group.jl:225.

julia
elements(group)

defined at /home/runner/work/SteerableConvolutions.jl/SteerableConvolutions.jl/src/group.jl:284.

source


# SteerableConvolutions.frequenciesFunction.

Get irrep frequencies used to block-diagonalize a representation.

Methods

julia
frequencies(ψ)

defined at /home/runner/work/SteerableConvolutions.jl/SteerableConvolutions.jl/src/group.jl:97.

julia
frequencies(ρ)

defined at /home/runner/work/SteerableConvolutions.jl/SteerableConvolutions.jl/src/group.jl:100.

julia
frequencies(group)

defined at /home/runner/work/SteerableConvolutions.jl/SteerableConvolutions.jl/src/group.jl:247.

julia
frequencies(group)

defined at /home/runner/work/SteerableConvolutions.jl/SteerableConvolutions.jl/src/group.jl:301.

source


# SteerableConvolutions.istrivialFunction.
julia
istrivial(::Irrep)

Return true if the irrep is trivial.

Methods

julia
istrivial(ψ)

defined at /home/runner/work/SteerableConvolutions.jl/SteerableConvolutions.jl/src/group.jl:248.

julia
istrivial(ψ)

defined at /home/runner/work/SteerableConvolutions.jl/SteerableConvolutions.jl/src/group.jl:306.

source


# SteerableConvolutions.regular_representationMethod.
julia
regular_representation(
    group
) -> Representation{_A, Matrix{Float64}} where _A

Get the regular representation of a group.

Methods

julia
regular_representation(group)

defined at /home/runner/work/SteerableConvolutions.jl/SteerableConvolutions.jl/src/group.jl:137.

source


# SteerableConvolutions.IrrepTypeModule.

Irrep type.

Exports

source