Expand description
oxicuda-cs — Compressed Sensing, Sparse Recovery, and Low-Rank Matrix Completion for OxiCUDA.
§Architecture
oxicuda-cs
├── greedy/ — OMP, StOMP, ROMP, CoSaMP, Subspace Pursuit
├── thresholding/ — IHT, NIHT, HTP, Accelerated IHT
├── amp/ — AMP, VAMP, Empirical-Bayes AMP
├── basis_pursuit/ — Basis Pursuit (ADMM), BPDN, Dantzig Selector
├── lasso/ — Coord descent (Friedman et al.), LARS, FISTA-LASSO,
│ group/fused LASSO, Elastic Net
├── tv/ — 1D/2D Chambolle Total Variation denoising
├── matrix_completion/ — SVT, Nuclear-norm minimisation, ADMM matrix completion
├── robust_pca/ — Principal Component Pursuit (PCP), GoDec
├── sparse_pca/ — Witten-Tibshirani-Hastie penalised matrix decomposition
├── sbl/ — Sparse Bayesian Learning, Fast Marginal Likelihood
├── dictionary/ — K-SVD, MOD, Online dictionary learning
├── measurement/ — Gaussian, Bernoulli, Partial Fourier matrices, RIP estimator
├── linalg/ — Private: Jacobi SVD, Householder QR, Cholesky, LSQR, normal equations
└── metrics/ — sparsity, recovery error, support recovery rate, MSE, PSNR, SNRAll algorithms are implemented in pure Rust with no external linear-algebra dependencies.
Random sampling uses the workspace LcgRng (MMIX LCG with bit-32 boolean trick).
Re-exports§
pub use error::CsError;pub use error::CsResult;pub use handle::CsHandle;pub use handle::LcgRng;pub use handle::SmVersion;pub use greedy::Lista;pub use greedy::ListaConfig;pub use lasso::Slope;pub use lasso::SlopeConfig;pub use lasso::sorted_l1_prox;pub use robust_pca::RpcaGd;pub use robust_pca::RpcaGdConfig;pub use dictionary::CoupledDictionary;pub use dictionary::CoupledDlConfig;pub use dictionary::couple_code;pub use dictionary::coupled_dl;pub use dictionary::coupled_dl;pub use measurement::CodedDiffraction;pub use measurement::MaskKind;pub use measurement::WirtingerConfig;pub use measurement::phase_aligned_error;pub use sbl::Rvm;pub use sbl::RvmConfig;pub use sbl::RvmFit;pub use sbl::RvmKernel;pub use sbl::rvm_fit_design;pub use sbl::SmcCs;pub use sbl::SmcCsConfig;pub use ptx_advanced::TileConfig;pub use ptx_advanced::correlate_fp8_ptx;pub use ptx_advanced::correlate_tma_ptx;pub use ptx_advanced::iht_step_cp_async_ptx;pub use ptx_advanced::svt_threshold_warpshuffle_ptx;
Modules§
- amp
- Approximate Message Passing family: AMP, VAMP, EB-AMP.
- basis_
pursuit - Linear-programming based sparse recovery: Basis Pursuit and Dantzig Selector.
- dictionary
- Dictionary learning: K-SVD, MOD, and online dictionary updates.
- error
- Error types for
oxicuda-cs. - greedy
- Greedy sparse recovery algorithms (OMP, StOMP, ROMP, CoSaMP, SP, SOMP, Block-OMP, LISTA).
- handle
- Handle and RNG primitives for
oxicuda-cs. - lasso
- LASSO and its variants: coordinate descent, LARS, FISTA, group/fused/elastic-net, SLOPE, Dantzig.
- linalg
- Private linear-algebra helpers for compressed sensing.
- matrix_
completion - Low-rank matrix completion methods: SVT, nuclear-norm, ADMM.
- measurement
- Compressed-sensing measurement (sensing) matrices and RIP estimator.
- metrics
- Compressed-sensing recovery metrics.
- ptx_
advanced - Architecture-specialised PTX kernel variants for compressed-sensing operations.
- ptx_
kernels - GPU PTX kernels for compressed-sensing operations.
- robust_
pca - Robust PCA: decompose
M = L + Sinto low-rankLand sparseS. - sbl
- Sparse Bayesian Learning algorithms.
- sparse_
pca - Sparse Principal Component Analysis.
- thresholding
- Hard-thresholding-based recovery: IHT, NIHT, HTP, AIHT.
- tv
- Total Variation denoising in 1D and 2D.