rom-operator-inference-Python3 icon indicating copy to clipboard operation
rom-operator-inference-Python3 copied to clipboard

Shifted Operator Inference

Open shanemcq18 opened this issue 2 years ago • 0 comments

New feature: Shifted Operator Inference from the paper Predicting solar wind streams from the inner-heliosphere to Earth via shifted operator inference by Opal Issan (@opaliss) and Boris Kramer (@bokramer). This strategy shifts the state snapshots to a moving coordinate frame. In the paper, this is notated in Eq. (16),

\mathbf{u}_{i}
\approx u(\mathbf{x},t_{i})
\mapsto \tilde{u}(\tilde{\mathbf{x}}(\mathbf{x}, t_{i}), t_{i})
\approx \tilde{\mathbf{u}}_{i}

where

\tilde{\mathbf{x}}(\mathbf{x},t) = \mathbf{x} + \mathbf{c}(t).

@opaliss will take the lead on this. Essentially this will involve writing a new transformer class, perhaps WaveshiftTransformer? See opinf.pre._shiftscale.ShiftScaleTransformer for another transformer to compare to. Implementation steps:

  • [ ] Create a new file in /src/opinf/pre/.
  • [ ] Define the class so it inherits from opinf.pre.TransformerTemplate and implements fit(), transform(), and inverse_transform().
  • [ ] Import the new class in /src/opinf/pre/__init__.py.
  • [ ] Write unit tests for the new class in a new file in /tests/pre/.
  • [ ] Compile the docs (make docs) and check that the automatically generated documentation page looks good.
  • [ ] If possible, demonstrate using the class in a new Jupyter notebook tutorial in docs/source/tutorials/.

shanemcq18 avatar Aug 18 '23 20:08 shanemcq18