For some application, it could be useful to impose a hierarchy to Layers, where each step of the ladder may contain more than one Layer. All Layers in one step would be considered "at the same hierarchical level".
Although the current way to collect Layers - i.e. Vector{Layer}- allows for an hierarchical structure given by the order, it still lacks horizontality. We may then transition from a Vector{Layer} to an OrderedDict{String, Vector{Layer}} where the Strings would name the aspects, and the Layers belonging to each aspect would need an order to be still able to construct the tensorial/matricial representations (could this be relaxed since the way indexing of such representations works right now does not require the user to remember which order Layers where added in? If so, a more elegant and efficient OrderedDict{String, Set{Layer}} could be used).
This would surely require:
- Implement an
add_aspect! function;
- Modify
add_layer! so that it also requires the aspect the Layer should be assigned to.
For some application, it could be useful to impose a hierarchy to
Layers, where each step of the ladder may contain more than oneLayer. AllLayers in one step would be considered "at the same hierarchical level".Although the current way to collect
Layers - i.e.Vector{Layer}- allows for an hierarchical structure given by the order, it still lacks horizontality. We may then transition from aVector{Layer}to anOrderedDict{String, Vector{Layer}}where theStrings would name the aspects, and theLayers belonging to each aspect would need an order to be still able to construct the tensorial/matricial representations (could this be relaxed since the way indexing of such representations works right now does not require the user to remember which orderLayers where added in? If so, a more elegant and efficientOrderedDict{String, Set{Layer}}could be used).This would surely require:
add_aspect!function;add_layer!so that it also requires the aspect theLayershould be assigned to.