Scheme obtained by gluing two other schemes#
- class sage.schemes.generic.glue.GluedScheme(f, g, check=True)[source]#
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: 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)
>>> 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()[source]#
Return the gluing maps of this glued scheme, i.e. the maps \(f\) and \(g\).
EXAMPLES:
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
>>> 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