WIP: Blocking structure of bases
Summary
The MR provides access to the blocking structure that can be used to create nested vectors (and matrices) accessible by the multi-indices of the basis.
See #54 for a discussion on this topic.
Discussion
Could this be a way to go, to introduce something like a blocking structure? The names BlockingTag
and Blocking
could be changed if there are better candidates.
Are all cases covered by the introduced blocking types? Do we need to distinguish between "composite-blocked" and "power-blocked"? Currently both map to Blocked
. The user then can decide whether to test for all child-types are the same to use a homogeneous container, or a heterogeneous container otherwise.
Are there cases where the blockedInterleaved index-merging strategy can have a child with something else than flat index-merging strategy, so something like BlockVector<FieldVector<FieldVector<T,m>,n>>
?
What are examples of bases that do not use index-merging strategies (or something similar) but require hierarchic containers with multi-index access? Do the proposed blocking tags be mapped to the structure of these bases?