Use aligner abstraction within fiber bundle and rely on group action on total space #1978
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.
This PR updates
FiberBundle
to:use an
AlignerAlgorithm
: follows what was already being done in discrete curves and graph space (notice the abstraction was initially defined within the graph space context)definitely moves
group_action
to the total space by removing it from fiber bundleFor 1., the main advantages are i) an easier control of the numerical parameters, ii) homogenization of the code among all the uses of quotient spaces (including graph space), iii) it becomes easier and more natural to plugin different aligner algorithms (this has already being taken advantage of within discrete curves).
For 2., we use
space.equip_with_group_action
method and make everything consistent, i.e. a group action endows the total space. Notice that a group action can simply be a callable (see e.g.full_rank_correlation_matrices.CorrelationMatricesBundle
) or a child ofGroupAction
. The aligner algorithm works with just a little extra information regarding group dimensionality.