Changes in direct sums construction #985
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
We try here to suggest a consistent patterns for direct sums/direct products/biproducts for some objects which abstractly have biproducts. The general idea is:
Those objects have finite direct sums and finite direct products which agree, and which are called biproducts. We leave as an interface to the user the following choices:
direct_sum
and only get as extra output the injection maps;direct_product
and only get as extra output the projection maps;biproduct
and return the injection maps as well as the projection maps.Moreover, for the objects with "orthogonality relations" i.e.
AbstractLat
,AbstractSpace
andTorQuadModule
, we get rid oforthogonal_sum
since this was misleadingly adirect_sum
in disguise.For consistency, we rename anything in this context named
orthogonal_sum
asdirect_sum
.We also provide for
TorQuadModule
a normal sum+
, similarly to what is possible forZLat
, whenever it makes sense (this could be seen as an "inner sum")