{ "cells": [ { "cell_type": "markdown", "id": "b1c661e0", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## The abelian category of coherent sheaves on $\\mathbb{P}^1$." ] }, { "cell_type": "code", "execution_count": 1, "id": "6192d9c4", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "CapAndHomalg v\u001b[32m1.6.1\u001b[39m\n", "Imported OSCAR's components GAP and Singular_jll\n", "Type: ?CapAndHomalg for more information\n" ] } ], "source": [ "using CapAndHomalg" ] }, { "cell_type": "code", "execution_count": 2, "id": "356d35c8", "metadata": {}, "outputs": [], "source": [ "LoadPackage( \"GradedModulePresentationsForCAP\" )" ] }, { "cell_type": "code", "execution_count": 3, "id": "1bb40c8b", "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "text/plain": [ "GAP: Q" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ℚ = HomalgFieldOfRationalsInSingular()" ] }, { "cell_type": "code", "execution_count": 4, "id": "ffbda3a8", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "GAP: Q[x,y]\n", "(weights: yet unset)" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "S = GradedRing( ℚ[\"x,y\"] )" ] }, { "cell_type": "markdown", "id": "e7e3c83a", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### The category $S$-grmod of finitely presented graded modules over $S=\\mathbb{Q}[x,y]$:" ] }, { "cell_type": "code", "execution_count": 5, "id": "3270d600", "metadata": { "slideshow": { "slide_type": "-" } }, "outputs": [ { "data": { "text/plain": [ "GAP: The category of graded left f.p. modules over Q[x,y] (with weights [ 1, 1 ])" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Sgrmod = GradedLeftPresentations( S )" ] }, { "cell_type": "code", "execution_count": 6, "id": "c2550caf", "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "38 primitive operations were used to derive 228 operations for this category which algorithmically\n", "* IsMonoidalCategory\n", "* IsAbelianCategoryWithEnoughProjectives\n", "and not yet algorithmically\n", "* IsSymmetricClosedMonoidalCategory\n" ] } ], "source": [ "InfoOfInstalledOperationsOfCategory( Sgrmod )" ] }, { "cell_type": "code", "execution_count": 7, "id": "53a1f73f", "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [], "source": [ "#ListPrimitivelyInstalledOperationsOfCategory( Sgrmod )" ] }, { "cell_type": "markdown", "id": "ca8ff7c2", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Create two objects:" ] }, { "cell_type": "code", "execution_count": 8, "id": "faa40326", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "GAP: " ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "M = GradedFreeLeftPresentation( 2, S, @gap([ 1, 1 ]) )" ] }, { "cell_type": "code", "execution_count": 9, "id": "46435fd7", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "GAP: " ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "N = GradedFreeLeftPresentation( 1, S, @gap([ 0 ]) )" ] }, { "cell_type": "markdown", "id": "2556efdc", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Create a morphism:" ] }, { "cell_type": "code", "execution_count": 10, "id": "78426f88", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "GAP: " ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "mat = HomalgMatrix( \"[x,y]\", 2, 1, S )" ] }, { "cell_type": "code", "execution_count": 11, "id": "5e90211c", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "x,\n", "y \n", "(over a graded ring)\n" ] } ], "source": [ "Display( mat )" ] }, { "cell_type": "code", "execution_count": 12, "id": "face3f01", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "GAP: " ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ϕ = GradedPresentationMorphism( M, mat, N )" ] }, { "cell_type": "code", "execution_count": 13, "id": "3b6196ad", "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "text/plain": [ "true" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "IsWellDefined( ϕ )" ] }, { "cell_type": "code", "execution_count": 14, "id": "8d1a4aaf", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "false" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "IsMonomorphism( ϕ )" ] }, { "cell_type": "code", "execution_count": 15, "id": "ae5ff011", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "false" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "IsEpimorphism( ϕ )" ] }, { "cell_type": "code", "execution_count": 16, "id": "0d8aedbe", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "GAP: " ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ι = ImageEmbedding( ϕ )" ] }, { "cell_type": "code", "execution_count": 17, "id": "f4191e98", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "true" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "IsMonomorphism( ι )" ] }, { "cell_type": "code", "execution_count": 18, "id": "1cbbcece", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "false" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "IsIsomorphism( ι )" ] }, { "cell_type": "code", "execution_count": 19, "id": "bbaf33bf", "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "text/plain": [ "GAP: " ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "coker_mod = CokernelObject( ϕ )" ] }, { "cell_type": "code", "execution_count": 20, "id": "813e04b9", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "x,\n", "y \n", "(over a graded ring)\n", "\n", "An object in The category of graded left f.p. modules over Q[x,y] (with weights [ 1, 1 ])\n", "\n", "(graded, degree of generator:[ 0 ])\n" ] } ], "source": [ "Display( coker_mod )" ] }, { "cell_type": "code", "execution_count": 21, "id": "ecf1cfaa", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "false" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "IsZero( coker_mod )" ] }, { "cell_type": "markdown", "id": "dfaff2da", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### The Serre subcategory of modules supported on the irrelevant locus, i.e., the finite length modules:" ] }, { "cell_type": "code", "execution_count": 22, "id": "51a73779", "metadata": {}, "outputs": [], "source": [ "is_artinian = GapObj( M -> AffineDimension( M ) <= 0 );" ] }, { "cell_type": "code", "execution_count": 23, "id": "d47d6672", "metadata": {}, "outputs": [], "source": [ "SetNameFunction( is_artinian, g\"is_artinian\" )" ] }, { "cell_type": "code", "execution_count": 24, "id": "0e0842a4", "metadata": { "slideshow": { "slide_type": "-" } }, "outputs": [ { "data": { "text/plain": [ "GAP: " ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "C = FullSubcategoryByMembershipFunction( Sgrmod, is_artinian )" ] }, { "cell_type": "markdown", "id": "b6ee7e07", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### The Serre quotient of a constructive abelian category modulo a Serre category with decidable membership is again constructive abelian [[BLH14](https://arxiv.org/abs/1409.2028),[Gut17](http://dokumentix.ub.uni-siegen.de/opus/volltexte/2017/1241/)]" ] }, { "cell_type": "code", "execution_count": 25, "id": "766586fe", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "GAP: The Serre quotient category of The category of graded left f.p. modules over Q[x,y] (with weights [ 1, 1 ]) by test function with name: is_artinian" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "CohP1 = Sgrmod / C" ] }, { "cell_type": "code", "execution_count": 26, "id": "22e4e0c1", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "21 primitive operations were used to derive 187 operations for this category which algorithmically\n", "* IsAbelianCategory\n" ] } ], "source": [ "InfoOfInstalledOperationsOfCategory( CohP1 )" ] }, { "cell_type": "markdown", "id": "62da0c5b", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### The sheafification functor:" ] }, { "cell_type": "code", "execution_count": 27, "id": "761f0638", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "GAP: Localization functor of The Serre quotient category of The category of graded left f.p. modules over Q[x,y] (with weights [ 1, 1 ]) by test function with name: is_artinian" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Sh = CanonicalProjection( CohP1 )" ] }, { "cell_type": "code", "execution_count": 28, "id": "2edc5429", "metadata": {}, "outputs": [], "source": [ "InstallFunctor( Sh, g\"Sheafification\" )" ] }, { "cell_type": "markdown", "id": "d64a49c4", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Interpret $\\phi$ as a morphism $\\psi$ of sheaves:" ] }, { "cell_type": "code", "execution_count": 29, "id": "87cef2f5", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "GAP: " ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ψ = ApplyFunctor( Sh, ϕ )" ] }, { "cell_type": "code", "execution_count": 30, "id": "91e5351a", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "false" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "IsMonomorphism( ψ )" ] }, { "cell_type": "code", "execution_count": 31, "id": "6c94a6ef", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "true" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "IsEpimorphism( ψ )" ] }, { "cell_type": "code", "execution_count": 32, "id": "60289215", "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "text/plain": [ "GAP: " ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "coker_shv = CokernelObject( ψ )" ] }, { "cell_type": "code", "execution_count": 33, "id": "a88841b8", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "true" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "IsZero( coker_shv )" ] }, { "cell_type": "code", "execution_count": 34, "id": "ce01cf5a", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "GAP: " ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ϵ = ApplyFunctor( Sh, ι )" ] }, { "cell_type": "code", "execution_count": 35, "id": "f55d95f0", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "true" ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ "IsIsomorphism( ϵ )" ] } ], "metadata": { "@webio": { "lastCommId": null, "lastKernelId": null }, "celltoolbar": "Slideshow", "kernelspec": { "display_name": "Julia 1.11.1", "language": "julia", "name": "julia-1.11" }, "language_info": { "file_extension": ".jl", "mimetype": "application/julia", "name": "julia", "version": "1.11.1" } }, "nbformat": 4, "nbformat_minor": 5 }