Menu

#144 Abstracting fast vs. normal dvr/fbr transformations

0.3.1
done
nobody
None
nobody
2020-05-20
2018-12-23
Ulf Lorenz
No
What and why

Some transformations, namely the FFT transformations, have a simple and fast, and a correct and slow transformation. One would be used in general, and one would be used by operators during propagation, where some reshuffling is applied to the operator in contrast.

These different kinds of transformations could be abstracted away to become part of the Grid interface.

Acceptance criteria
  • Grids have a separate "fast" DVR<->FBR transformation that skips some steps.
    • Somehow, this needs to be done in a generic, comprehensible manner. Maybe introduce a transformation class that encapsulates such details?
    • We also need some way to go from the "normal" FBR representation to the "fast" one, although there is always the generic approach FBR -> DVR -> FastFBR
  • FFTGrid implements this transformation differently (phase, FFTShift).
  • Possibly, hollow out the grid classes, moving all stuff to the transformations
  • All operators use the transformation, not any FFT transformation directly
  • Check how much we would gain if we combined multiple 1D FFTs into a single ND FFT

This required quite a lot of framework to implement. I introduced transformations between representations, which changes the term representation (tensor dimenions + a meaning of the coefficients), making it different from the class Representation. Requires followup work.

Also, renamed some classes (FFTGrid has no FFT inside anymore, so I called it PlaneWaveGrid) and added some initial states.

Related

Tickets: #155
Tickets: #190
Tickets: #93

Discussion

  • Ulf Lorenz

    Ulf Lorenz - 2020-01-02
    • Milestone: Backlog --> 0.3.1
     
  • Ulf Lorenz

    Ulf Lorenz - 2020-01-02
    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -1,5 +1,15 @@
    -h5. What and why
    +#####What and why#####
    
     Some transformations, namely the FFT transformations, have a simple and fast, and a correct and slow transformation. One would be used in general, and one would be used by operators during propagation, where some reshuffling is applied to the operator in contrast.
    
    -These different kinds of transformations should be abstracted away to become part of the Grid interface.
    +These different kinds of transformations could be abstracted away to become part of the Grid interface.
    +
    +#####Acceptance criteria#####
    +
    +* Grids have a separate &#34;fast&#34; DVR&lt;-&gt;FBR transformation that skips some steps.
    +    * Somehow, this needs to be done in a generic, comprehensible manner. Maybe introduce a transformation class that encapsulates such details?
    +    * We also need some way to go from the &#34;normal&#34; FBR representation to the &#34;fast&#34; one, although there is always the generic approach FBR -&gt; DVR -&gt; FastFBR
    +* FFTGrid implements this transformation differently (phase, FFTShift).
    +* Possibly, hollow out the grid classes, moving all stuff to the transformations
    +* All operators use the transformation, not any FFT transformation directly
    +* Check how much we would gain if we combined multiple 1D FFTs into a single ND FFT
    
     
  • Ulf Lorenz

    Ulf Lorenz - 2020-04-09
    • status: open --> assigned
    • assigned_to: Ulf Lorenz
     
  • Ulf Lorenz

    Ulf Lorenz - 2020-05-20
    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -13,3 +13,9 @@
     * Possibly, hollow out the grid classes, moving all stuff to the transformations
     * All operators use the transformation, not any FFT transformation directly
     * Check how much we would gain if we combined multiple 1D FFTs into a single ND FFT
    +
    +----
    +
    +This required quite a lot of framework to implement. I introduced transformations between representations, which changes the term representation (tensor dimenions + a meaning of the coefficients), making it different from the _class_ Representation. Requires followup work. 
    +
    +Also, renamed some classes (FFTGrid has no FFT inside anymore, so I called it PlaneWaveGrid) and added some initial states.
    
     
  • Ulf Lorenz

    Ulf Lorenz - 2020-05-20
    • status: assigned --> done
    • assigned_to: Ulf Lorenz --> nobody
     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.