{ "cells": [ { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Computing with constructible sets" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "slideshow": { "slide_type": "-" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "CapAndHomalg v\u001b[32m1.0.0\u001b[39m\n", "Imported OSCAR's components GAP and Singular_jll\n", "Type: ?CapAndHomalg for more information\n" ] } ], "source": [ "using CapAndHomalgt" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "LoadPackage( \"ZariskiFrames\" )" ] }, { "cell_type": "code", "execution_count": 3, "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, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "GAP: Q[x,y]" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "R = ℚ[\"x,y\"]" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "text/plain": [ "GAP: V_{Q[x,y]}( <...> )" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "x = ClosedSubsetOfSpec( \"y\", R )" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "V( )\n" ] } ], "source": [ "Display( x )" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "true" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "IsClosed( x )" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "GAP: V_{Q[x,y]}( <...> )" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "y = ClosedSubsetOfSpec( \"x\", R )" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "text/plain": [ "GAP: V_{Q[x,y]}( <...> )" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "d = ClosedSubsetOfSpec( \"x+y-1\", R )" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "GAP: V_{Q[x,y]}( <...> )" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "xuy = x + y" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{ V( ) ∪ V( ) }\n" ] } ], "source": [ "Display( xuy )" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "true" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "IsClosed( xuy )" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "scrolled": false, "slideshow": { "slide_type": "slide" } }, "outputs": [], "source": [ "#mxuy = -xuy" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "GAP: V_{Q[x,y]}( I ) \\ V_{Q[x,y]}( J )" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "mxuy = AdditiveInverse( xuy )" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "V( <> ) \\ { V( ) ∪ V( ) }\n" ] } ], "source": [ "Display( mxuy )" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "false" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "IsClosed( mxuy )" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "true" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "IsOpen( mxuy )" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "text/plain": [ "GAP: V_{Q[x,y]}( I ) \\ V_{Q[x,y]}( J )" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "xmy = x - y" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "V( ) \\ V( )\n" ] } ], "source": [ "Display( xmy )" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "GAP: V_{Q[x,y]}( I ) \\ V_{Q[x,y]}( J )" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "xmy2 = xmy - y" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "V( ) \\ V( )\n" ] } ], "source": [ "Display( xmy2 )" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "text/plain": [ "GAP: V_{Q[x,y]}( I ) \\ V_{Q[x,y]}( J )" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "lc = xuy - d" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "GAP: V_{Q[x,y]}( I ) \\ V_{Q[x,y]}( J )" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "lc0 = lc - 0" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "true" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "IsIdenticalObj( lc, lc0 )" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "true" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "IsLocallyClosed( lc )" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "false" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "IsClosed( lc )" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Dimension( lc )" ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "text/plain": [ "GAP: V_{Q[x,y]}( <...> )" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "tp = d * xuy" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Dimension( tp )" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "GAP: ( V_{Q[x,y]}( I1 ) \\ V_{Q[x,y]}( J1 ) ) ∪ ( V_{Q[x,y]}( I2 ) \\ V_{Q[x,y]}( J\\\n", "2 ) )" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "c = lc + tp" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "GAP: ( V_{Q[x,y]}( I1 ) \\ V_{Q[x,y]}( J1 ) ) ∪ ( V_{Q[x,y]}( I2 ) \\ V_{Q[x,y]}( J\\\n", "2 ) )" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "c0 = c - 0" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "true" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "IsIdenticalObj( c, c0 )" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "GAP: V_{Q[x,y]}( I ) \\ V_{Q[x,y]}( J )" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "c[1]" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 34, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "text/plain": [ "GAP: V_{Q[x,y]}( I ) \\ V_{Q[x,y]}( J )" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "c[2]" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1" ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Dimension( c )" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "true" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "c == xuy" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "GAP: V_{Q[x,y]}( <...> )" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cc = CanonicalObject( c )" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "V( )\n" ] } ], "source": [ "Display( cc )" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "true" ] }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cc == xuy" ] }, { "cell_type": "code", "execution_count": 40, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "text/plain": [ "GAP: ( V_{Q[x,y]}( I1 ) \\ V_{Q[x,y]}( J1 ) )" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "t = c - lc" ] }, { "cell_type": "code", "execution_count": 41, "metadata": { "slideshow": { "slide_type": "-" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "V( ) \\ ∅\n" ] } ], "source": [ "Display( t )" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "true" ] }, "execution_count": 42, "metadata": {}, "output_type": "execute_result" } ], "source": [ "IsClosed( t )" ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "true" ] }, "execution_count": 43, "metadata": {}, "output_type": "execute_result" } ], "source": [ "t == tp" ] }, { "cell_type": "code", "execution_count": 44, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "text/plain": [ "GAP: ( V_{Q[x,y]}( I1 ) \\ V_{Q[x,y]}( J1 ) )" ] }, "execution_count": 44, "metadata": {}, "output_type": "execute_result" } ], "source": [ "z = c - c" ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "V( ) \\ V( )\n" ] } ], "source": [ "Display( z )" ] }, { "cell_type": "code", "execution_count": 46, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "GAP: ( V_{Q[x,y]}( I1 ) \\ V_{Q[x,y]}( J1 ) )" ] }, "execution_count": 46, "metadata": {}, "output_type": "execute_result" } ], "source": [ "z = StandardizedObject( z )" ] }, { "cell_type": "code", "execution_count": 47, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "∅ \\ ∅\n" ] } ], "source": [ "Display( z )" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "@webio": { "lastCommId": null, "lastKernelId": null }, "celltoolbar": "Slideshow", "kernelspec": { "display_name": "Julia 1.4.0", "language": "julia", "name": "julia-1.4" }, "language_info": { "file_extension": ".jl", "mimetype": "application/julia", "name": "julia", "version": "1.4.1" } }, "nbformat": 4, "nbformat_minor": 2 }