Copyright 2023 The Regents of the University of California
Implemented by Eugene Shvarts
MultiscaleSimplexSignalTransforms is not yet in the General registry, so either add via the Tetrapods registry
] registry add https://github.com/UCD4IDS/TetrapodsRegistry
] add MultiscaleSimplexSignalTransforms
or add manually by URL
] add https://github.com/UCD4IDS/MultiscaleSimplexSignalTransforms.jl
- At top level are the graph basis dictionaries
kGHWTandkHGLET, implementing the abstract typeMSST, orMultiscaleSimplicialTransform. - These dictionaries themselves rely on a method of partitioning simplicial complexes, which implements the abstract type
SCPartition. The implementations areSubmatrixPartition(the default), andFullPartition. - Each possesses an array of configuration options,
Representation,SubRepresentation,Basis,PartitionInput,PartitionMethod,EigenMethod, which are extensible and allow for configurable, stackable, and repeatable experiments. - The fundamental adjacency data structures are
ZeroRegionandKRegion, which implement the abstract typeRegion, and the fundamental spectral representation for these isk_laplacian. - The structure of a simplicial complex is stored in a
SimplexTree, and generally speaking, when a function takes aSimplexTree, it will happily accept someg::AbstractGraphinstead by passing incliquecomplex(g, k)for an appropriatek.
If you have some g::AbstractGraph, then the easiest way to get started with analyzing, say, signals on the triangles of g with all defaults set is to construct the basis dictionary basis = kGHWT(KRegion(g, 2)). Then you can investigate the dictionary vector at level j, location k, tag l with ordinary indexing (i.e., basis[j,k,l]), and you can obtain a dictionary of expansion coefficients for some triangle signal s with analyze(basis, s).