Incremental Singular Value Decomposition Example

Incrementally construct a Singular Value Decomposition (SVD) of a generic matrix of size NxM.
66 Downloads
Updated 15 Feb 2023

View License

The present script presents a strategy to incrementally construct a Singular Value Decomposition (SVD), e.g., for a series of PDE solution snapshots as described by Kuehl et al [~02/2023] in the manuscript regarding an "An Incremental Singular Value Decomposition Approach for Large-Scale Spatially Parallel & Distributed but Temporally Serial Data -- Applied to Technical Flows".
More generally, the SVD of a (here random) matrix with N rows (e.g., discrete degrees of freedom) and M columns (e.g., number of time steps) is generated incrementally. To this end, three different SVD's are constructed and checked for correctness. Note that for massively parallel applications, further inter processor communication might be necessary, i.e., MPI.
The code employs several re-orthogonalization steps based on a modified Gram-Schmidt procedure. An improved version might ask for its necessity for each update.
The constructive Feedback of Hendrik Fischer (Leibniz University Hannover) is appreciated.

Cite As

Niklas Kühl (2024). Incremental Singular Value Decomposition Example (https://www.mathworks.com/matlabcentral/fileexchange/124815-incremental-singular-value-decomposition-example), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2019a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Tags Add Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.0.0