Skip to content

Brief comment on PullBack vs. Pullback #31

@cdwensley

Description

@cdwensley

This is a report on what I have been doing elsewhere, just for your information, and not requesting any changes to QPA. On finding I needed a pullback function for group homomorphisms in XMod, I did a "gap> ?Pullback" and found only the PullBack function in QPA. Although the QPA manual states "Arguments: f,g - two homomorphisms with a common range", the declaration is:

DeclareOperation( "PullBack", [ IsPathAlgebraMatModuleHomomorphism, IsPathAlgebraMatModuleHomomorphism ] );

and the implementation uses:

AplusC := DirectSumOfQPAModules([A,C]);

so it was apparent that PullBack would not suit my purposes.
Because the notion of pullback could have wider application, I have added a Pullback function to Utils (version 0.61 released today) rather than to XMod. This operation currently takes two group homomorphisms with a common range as input. Following the examples of DirectProduct and SemidirectProduct, Pullback returns the pullback group (which is the subgroup of a direct product rather than a direct sum) and this group P has an attribute given by "info := PullbackInfo(P)", a record with fields info!.directProduct and info!.projections. (QPA's PullBack returns the two projections.)
This addition to Utils is somewhat experimental, and any suggestions would be very welcome.
For a more comprehensive implementation, one could envisage a global function Pullback which could call operations PullbackForGroups; PullbackForModules; etc., but the demand is probably not there at the moment, and PullBack/Pullback can coexist quite happily.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions