Skip to content

Add a way to restrict range of mappings/homomorphisms to the image #6255

@fingolfin

Description

@fingolfin

E.g. make the surjective option to RestrictedMapping that the method for action homomorphism supports "official" and implement it for all.

Or even add a general CoestrictedMapping which restrict the range -- though for efficiency reasons, one should always be able to ...

  1. restrict the source and range simultaneously (so that one does not have to construct two new mappings, one of which is a temporary value and discarded),
  2. restrict explicitly the Range to the Image, to avoid the need for well-definedness tests

Since "restrict range to image" in my personal experience is what I most commonly need, I think adding this surjective option would be great. Though perhaps it should not be an option (because those can lead to unexpected side effects, due to being "global"), but rather an optional third argument set to the string "surjective" or something like that. (This is when I sometimes wish we had "proper" keyword arguments)

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind: enhancementLabel for issues suggesting enhancements; and for pull requests implementing enhancementstopic: library

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions