The Snapshot Proper Orthogonal Decomposition (POD) method is the second variant of the POD method which considers the decomposition of a dataset into deterministic temporal modes and random spatial coefficients. Essentially, this method interchanges the time and position. In most problems the number of solution snapshots m is less than the number of dimensions n = Nx × Ny where Nx, Ny are the grid dimensions. Thus, by using the .SnapshotPOD
class, one can reconstruct solutions much faster (:citePOD_2).
For the Snapshot POD, again a two-dimensional dataset U ∈ ℝn × m is constructed where m is the number of snapshots and n is the number of problem dimensions. The covariance matrix Cs, is calculated as follows
The eigenvalue problem is solved and the temporal modes (eigenvectors) are calculated as
CAs = λAs
Spatial coefficients are therefore calculated as Φs = UTAs. Finally, a predefined number of k-POD temporal modes and spatial coefficients can be considered for the reconstruction of data as follows
The .SnapshotPOD
class is imported using the following command:
>>> from UQpy.dimension_reduction.pod.SnapshotPOD import SnapshotPOD
One can use the following command to instantiate the class .SnapshotPOD
UQpy.dimension_reduction.pod.SnapshotPOD
UQpy.dimension_reduction.pod.SnapshotPOD.reconstructed_solution
UQpy.dimension_reduction.pod.SnapshotPOD.reduced_solution
UQpy.dimension_reduction.pod.SnapshotPOD.U
UQpy.dimension_reduction.pod.SnapshotPOD.eigenvalues
UQpy.dimension_reduction.pod.SnapshotPOD.phi