{ "cells": [ { "cell_type": "markdown", "id": "e4171351-b7e2-4078-b0db-a66d41f5ed1d", "metadata": {}, "source": [ "### Some background\n", "\n", "Let $k$ be an algebraically closed field.\n", "\n", "**Defn:** *Affine $n$-space over $k$*, denoted $\\mathbb{A}^n$, is the set of $n$-tuples of elements of $k$. An element of $\\mathbb{A}^n$ is called a *point*.\n", "\n", "**Defn:** *Projective $n$-space over $k$*, denoted $\\mathbb{P}^n$, is defined as the set of equivalence classes of $n+1$-tuples $(a_0, ... a_n)$ with entries from $k$, under the equivalence relation $(a_0, ... a_n) \\sim (\\lambda a_0, ... \\lambda a_n)$, for $\\lambda \\ne 0$. Essentially, $\\mathbb{P}^n$ takes each line passing through the origin of $\\mathbb{A}^n$ as one point. \n", "\n", "**Defn:** A set $Y \\subset \\mathbb{A}^n$ (resp. $Y \\subset \\mathbb{P}^n$) is *algebraic* when it is the zero set of some set of polynomials (resp. homogenous polynomials) $T$. (We'll denote the zero set of $T$ by $Z(T)$). \n", "\n", "**Defn:** The *Zariski topology* is defined by taking the open sets to be the complements of the algebraic sets. Note that it is indeed a toplopgy, i.e. the intersection of two open sets is open (since the union of two algebraic sets is algebraic) and the union of any family of open sets is open (since the intersection of any family of algebraic sets is algebraic).\n", "\n", "**Defn:** A subset $Y$ of a topological space is *irreducible* when it cannot be expressed as the union of two proper subsets both closed in $Y$.\n", "\n", "**Defn:** An affine or projective *variety* is an irreducible set under the Zariski topology. Varieties are basically the zero sets of irreducible polynomials." ] }, { "cell_type": "code", "execution_count": 1, "id": "0f3a0cb3-d588-4853-9599-ccb223b8ac81", "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/html": [ "\\(\\displaystyle -x^{7} + y^{2}\\)" ], "text/latex": [ "$\\displaystyle -x^{7} + y^{2}$" ], "text/plain": [ "-x^7 + y^2" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "reset()\n", "%display latex\n", "Partitions.options.latex=\"list\"\n", "load(\"blowup.sage\")\n", "# p = y^2-x^2*(x+1)\n", "p = y^2-x^7\n", "c = Curve(p)\n", "show(p)" ] }, { "cell_type": "markdown", "id": "827bc01c-2d2b-4192-9e83-d025abfec49d", "metadata": {}, "source": [ "### Singularities\n", "For a plane curve given by the equation $f(x, y) = 0$, the regular points are the points where the curve is smooth. This is equivalent to the points on the curve where the partial derivatives of $f$ do not both vanish. The singular points (a.k.a. singularities) are the points on the curve that aren't regular, namely where $$\\frac{\\partial f}{\\partial x} = 0, \\ \\ \\ \\ \\frac{\\partial f}{\\partial y} = 0,\\ \\ \\ \\ f(x, y) = 0.$$ The code below computes and prints these points for the curve given above:" ] }, { "cell_type": "code", "execution_count": 2, "id": "e782582b-5cda-4010-8536-2636ab015147", "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/html": [ "\\(\\displaystyle \\left[\\left[x = 0, y = 0\\right]\\right]\\)" ], "text/latex": [ "$\\displaystyle \\left[\\left[x = 0, y = 0\\right]\\right]$" ], "text/plain": [ "\\left[\\left[x = 0, y = 0\\right]\\right]" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "show(latex(c.getSingularities()))" ] }, { "attachments": { "6ceb61e9-394a-43e0-90f0-44a4a8fb12ab.png": { "image/png": "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" } }, "cell_type": "markdown", "id": "150e62be-ca8d-4348-970a-e625030b7bf9", "metadata": {}, "source": [ "## Resolution of Singularities\n", "We can \"resolve\" singularities (i.e. make them smooth) via blow-ups. \n", "\n", "**Defn:** The *blow-up* of $\\mathbb{A}^n$ at $0$ is the (closed) subset $X$ of $\\mathbb{A}^n \\times \\mathbb{P}^{n-1}$ defined by the equations $\\{x_iy_j = y_ix_j | i, j = 1, ... n\\}$. \n", "\n", "