# API Reference¶

Modules

 sporco.util Utility functions sporco.mpiutil Utility functions that make use of MPI for parallel computing sporco.linalg Linear algebra functions sporco.prox Norms and their associated proximal maps and projections sporco.metric Image quality metrics and related functions sporco.plot Plotting/visualisation functions sporco.cdict Constrained dictionary class sporco.cnvrep Classes and functions that support working with convolutional representations sporco.common Common functions and classes iterative solver classes sporco.admm.admm Base classes for ADMM algorithms sporco.admm.bpdn Classes for ADMM algorithm for the BPDN problem sporco.admm.cmod ADMM algorithm for the CMOD problem sporco.admm.cbpdn Classes for ADMM algorithm for the Convolutional BPDN problem sporco.admm.parcbpdn Parallel ADMM algorithm for Convolutional BPDN sporco.admm.cbpdntv Classes for ADMM algorithms for convolutional sparse coding with Total Variation regularisation terms sporco.admm.ccmod ADMM algorithms for the Convolutional Constrained MOD problem sporco.admm.ccmodmd ADMM algorithms for the Convolutional Constrained MOD problem with Mask Decoupling sporco.admm.tvl1 Classes for ADMM algorithms for Total Variation (TV) optimisation with an $$\ell_1$$ data fidelity term sporco.admm.tvl2 Classes for ADMM algorithms for Total Variation (TV) optimisation with an $$\ell_2$$ data fidelity term sporco.admm.rpca Classes for ADMM algorithms for Robust PCA optimisation sporco.admm.spline Classes for ADMM algorithms for $$\ell_1$$ spline optimisation sporco.fista.fista Base classes for FISTA algorithms sporco.fista.bpdn Classes for FISTA algorithm for the BPDN problem sporco.fista.cbpdn Classes for FISTA algorithm for the Convolutional BPDN problem sporco.fista.ccmod FISTA algorithms for the CCMOD problem sporco.dictlrn.common Common infrastructure for some of the dictionary learning modules sporco.dictlrn.dictlrn Dictionary learning based on ADMM sparse coding and dictionary updates sporco.dictlrn.bpdndl Dictionary learning based on BPDN sparse coding sporco.dictlrn.cbpdndl Dictionary learning based on CBPDN sparse coding sporco.dictlrn.cbpdndlmd Dictionary learning based on CBPDN sparse coding with a spatial mask in the data fidelity term sporco.dictlrn.prlcnscdl Parallel consensus convolutional dictionary learning sporco.dictlrn.onlinecdl Online dictionary learning based on CBPDN sparse coding

Extension subpackages

 sporco.cuda Interface to the SPORCO-CUDA extension package sporco.cupy GPU accelerated versions of selected SPORCO modules