Scheme obtained by gluing two other schemes - Schemes

Skip to content
Back to top
View this page
Edit this page

# Scheme obtained by gluing two other schemes

class sage.schemes.generic.glue.GluedScheme(f, g, check=True)

  Bases: `Scheme`

  INPUT:

  - `f` – open immersion from a scheme \(U\) to a scheme \(X\)

  - `g` – open immersion from \(U\) to a scheme \(Y\)

  OUTPUT: the scheme obtained by gluing \(X\) and \(Y\) along the open set \(U\)

  Note

  Checking that \(f\) and \(g\) are open immersions is not implemented.

  EXAMPLES:

  Sage

      sage: R.<x, y> = QQ[]
      sage: S.<xbar, ybar> = R.quotient(x * y - 1)
      sage: Rx = QQ["x"]
      sage: Ry = QQ["y"]
      sage: phi_x = Rx.hom([xbar])
      sage: phi_y = Ry.hom([ybar])
      sage: Sx = Schemes()(phi_x)
      sage: Sy = Schemes()(phi_y)
      sage: Sx.glue_along_domains(Sy)
      Scheme obtained by gluing X and Y along U, where
        X: Spectrum of Univariate Polynomial Ring in x over Rational Field
        Y: Spectrum of Univariate Polynomial Ring in y over Rational Field
        U: Spectrum of Quotient of Multivariate Polynomial Ring in x, y over Rational Field by the ideal (x*y - 1)

  Python

      >>> from sage.all import *
      >>> R = QQ['x, y']; (x, y,) = R._first_ngens(2)
      >>> S = R.quotient(x * y - Integer(1), names=('xbar', 'ybar',)); (xbar, ybar,) = S._first_ngens(2)
      >>> Rx = QQ["x"]
      >>> Ry = QQ["y"]
      >>> phi_x = Rx.hom([xbar])
      >>> phi_y = Ry.hom([ybar])
      >>> Sx = Schemes()(phi_x)
      >>> Sy = Schemes()(phi_y)
      >>> Sx.glue_along_domains(Sy)
      Scheme obtained by gluing X and Y along U, where
        X: Spectrum of Univariate Polynomial Ring in x over Rational Field
        Y: Spectrum of Univariate Polynomial Ring in y over Rational Field
        U: Spectrum of Quotient of Multivariate Polynomial Ring in x, y over Rational Field by the ideal (x*y - 1)

  gluing_maps()

    Return the gluing maps of this glued scheme, i.e. the maps \(f\) and \(g\).

    EXAMPLES:

    Sage

        sage: R.<x, y> = QQ[]
        sage: S.<xbar, ybar> = R.quotient(x * y - 1)
        sage: Rx = QQ["x"]
        sage: Ry = QQ["y"]
        sage: phi_x = Rx.hom([xbar])
        sage: phi_y = Ry.hom([ybar])
        sage: Sx = Schemes()(phi_x)
        sage: Sy = Schemes()(phi_y)
        sage: Sxy = Sx.glue_along_domains(Sy)
        sage: Sxy.gluing_maps() == (Sx, Sy)
        True

    Python

        >>> from sage.all import *
        >>> R = QQ['x, y']; (x, y,) = R._first_ngens(2)
        >>> S = R.quotient(x * y - Integer(1), names=('xbar', 'ybar',)); (xbar, ybar,) = S._first_ngens(2)
        >>> Rx = QQ["x"]
        >>> Ry = QQ["y"]
        >>> phi_x = Rx.hom([xbar])
        >>> phi_y = Ry.hom([ybar])
        >>> Sx = Schemes()(phi_x)
        >>> Sy = Schemes()(phi_y)
        >>> Sxy = Sx.glue_along_domains(Sy)
        >>> Sxy.gluing_maps() == (Sx, Sy)
        True