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
Layer
s, where each step of the ladder may contain more than oneLayer
. AllLayer
s in one step would be considered "at the same hierarchical level".Although the current way to collect
Layer
s - 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 theString
s would name the aspects, and theLayer
s 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 orderLayer
s 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 theLayer
should be assigned to.