Incremental Singular Value Decomposition Example
Version 1.0.0 (2.58 KB) by
Niklas Kühl
Incrementally construct a Singular Value Decomposition (SVD) of a generic matrix of size NxM.
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 LinuxTags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
Version | Published | Release Notes | |
---|---|---|---|
1.0.0 |