https://github.com/ucd4ids/multiscalesimplexsignaltransforms.jl
Signal processing on simplicial complexes, using basis dictionaries formed via hierarchical partitioning
https://github.com/ucd4ids/multiscalesimplexsignaltransforms.jl
discrete-integral-operators ghwt graph-laplacian hglet hodge-laplacian multiscale-basis-dictionaries simplicial-complexes spectral-clustering wavelets-on-graphs
Last synced: 4 months ago
JSON representation
Signal processing on simplicial complexes, using basis dictionaries formed via hierarchical partitioning
- Host: GitHub
- URL: https://github.com/ucd4ids/multiscalesimplexsignaltransforms.jl
- Owner: UCD4IDS
- Created: 2022-04-21T22:23:20.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2024-10-25T21:47:36.000Z (over 1 year ago)
- Last Synced: 2025-10-09T09:24:02.982Z (8 months ago)
- Topics: discrete-integral-operators, ghwt, graph-laplacian, hglet, hodge-laplacian, multiscale-basis-dictionaries, simplicial-complexes, spectral-clustering, wavelets-on-graphs
- Language: Julia
- Homepage:
- Size: 15.1 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# MultiscaleSimplexSignalTransforms.jl
## COPYRIGHT
Copyright 2023 The Regents of the University of California
Implemented by Eugene Shvarts
## SETUP
`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
```
## USAGE
- At top level are the graph basis dictionaries `kGHWT` and `kHGLET`, implementing the abstract type `MSST`, or `MultiscaleSimplicialTransform`.
- These dictionaries themselves rely on a method of partitioning simplicial complexes, which implements the abstract type `SCPartition`.
The implementations are `SubmatrixPartition` (the default), and `FullPartition`.
- 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 `ZeroRegion` and `KRegion`, which implement the abstract type `Region`, and the fundamental spectral representation for these is `k_laplacian`.
- The structure of a simplicial complex is stored in a `SimplexTree`, and generally speaking, when a function takes a `SimplexTree`, it will happily accept some `g::AbstractGraph` instead by passing in `cliquecomplex(g, k)` for an appropriate `k`.
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)`.