Skip to content

inverses of ring homomorphisms #29723

@mwageringel

Description

@mwageringel

Ticket #9792 implements inverse_image and is_injective for polynomial ring homomorphisms. Based on that, this ticket implements the methods

  • inverse
  • is_invertible
  • is_surjective

This works for morphisms of polynomial rings, quotient rings, number fields and Galois fields. Several classes of ring homomorphisms are covered.

Example:

sage: R.<x,y,z> = QQ[]
sage: sigma = R.hom([x - 2*y*(z*x+y^2) - z*(z*x+y^2)^2, y + z*(z*x+y^2), z], R)
sage: tau = sigma.inverse(); tau
Ring endomorphism of Multivariate Polynomial Ring in x, y, z over Rational Field
  Defn: x |--> -y^4*z - 2*x*y^2*z^2 - x^2*z^3 + 2*y^3 + 2*x*y*z + x
        y |--> -y^2*z - x*z^2 + y
        z |--> z
sage: (tau * sigma).is_identity()
True

See #9792 for more details.

Depends on #9792

CC: @rburing @nbruin @dimpase @yuan-zhou

Component: commutative algebra

Author: Markus Wageringel

Branch/Commit: ab60c40

Reviewer: Travis Scrimshaw

Issue created by migration from https://trac.sagemath.org/ticket/29723

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions