Skip to content

Repository files navigation

hapod

Simple implementation of Hierarchical Approximate Proper Orthogonal Decomposition in Python

This package is designed to approximate the left singular vectors and singular values of the snapshots matrix of a large dataset.

The assumptions are

  • a single machine is available
  • the snapshots are stored on disk as multiple files, and cannot be loaded at once in memory
  • the Singular Value Decomposition primitive needs to load a dense matrix in memory

The implements the approach from this paper (preprint) and requires only numpy.

This package implements HAPOD by storing the intermediate results on disk. The snapshots are initially grouped to store chunks of the full matrix on disk. Iteratively, a pair of chunks is concatenated and SVD is performed; the results are truncated and used to reconstruct a new chunk, which is stored again. The chunk size is chosen so that, during a merge, the SVD memory usage remains under a limit specified by the user. The end results approximate the POD of the full snapshots matrix, truncated to the chunk size.

About

Naive implementation of Hierarchical Approximate Proper Orthogonal Decomposition in Python

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages