Skip to content

Need a variant of VectorSpaceFromPOD that can use streaming POD #288

Description

@pjb236

We would like to create a vector space from a basis computed using streaming POD from linalg/linalg.py, but the existing implementation of VectorSpaceFromPOD (see romtools/vector_space/init.py) assumes that the snapshots are all in memory; it has the snapshot tensor as its first argument.

I propose we create a new implementation, VectorSpaceFromStreamingPOD, that is able to use the new streaming POD functions. I think this will need to handle some kind of a snapshot loader method/object provided by the user and:

  1. Apply a specified shift operation to each snapshot. This will need to be a specified vector or the first snapshot; if we want to shift by the mean snapshot, the mean will have to be computed prior to running streaming SVD.
  2. Apply a specified scaling to each snapshot.

Both of these requirements could have ramifications for the design of the snapshot loader in linalg/linalg.py.

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions