{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Toric Geometry in Sage\n",
    "======================\n",
    "\n",
    "Generalization of projective space, for example $\\mathbb{P}^2$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 258,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "P2.<x,y,z> = toric_varieties.P2()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 259,
   "metadata": {
    "collapsed": false,
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nLFmi9evXt3ntgQce0EsvvRST61wp5gUp+uUHvOvEnhP67bd/q78Y/Bd6NOVR/c8b/qe2/+d2RSKM\nHPpd0Y5vkWslAAAgAElEQVQiSfdLGigpRdIifXh4h9lQiItfvTdT56oGSJI+Oz1UD758u6Y/9Sed\nFqU1n36qu559VmmPPaa0xx7T3c89p/c+/dTu2LBbDApSU1OTXn31VT333HOaOnWqnn322dbXqqur\n9c477ygxMbHf12kv5gWJ6TVv+/i/P9Y/3/jP2vX7XWqoblCoKaTiXcV69fuv6uUHX6Yk+diGX2/Q\nv33t3yS9JalOUpOkDfqblf+fHv3f/9tsOMTcqcqBVz136EzHRekXK1bonuef1/uHDqmhuVkNzc16\n77PPdPfzz+upVavsjg47xaAgLV++XA899JAk6b333lNubm7ra1u3blUkEtHChQv7fZ32Yl65mF7z\nrqpzVXrlu68oEuq4BO1ZtkeTCyZr0aOLbE4G0858fkZvPP6Gop38YfjrjRs1ZvBsLc69weZkiJeq\n+oROX2spSuPfuqR78v9TL25+t9P3/mLlSs0fO1k3jZ8Uj5gwraJeGlCrAcMGKBDs2xTsggULlJOT\nox07dqiwsFBvvPFG62tbt27ViBEjNHny5Nbndu3apTfffFMzZszQtm3b9NRTTyk7O7vX1415QWIE\nybu2vLxFocZQl+/Z+OJGCpIPbfzNRkUjXf9N8a9XfiLpX+0JBEc4fj5DL27e0u37fvziWj2gwTYk\ngv3elCT9pOwnGph19ahjT+Tk5EiSXn/9deXl5Wn69Omtr23evLnN6FFTU5Meeugh7dmzRxkZGcrO\nztajjz6qZcuW9fq6MZ9iYwTJu45tP9bte858fkb1l+ptSAMnObrtaA/etT3uOeBE3f93P6mTNuSA\n261du1Z33XVX6+fNzc3avXu3CgoKJEnFxcXatGmThg8froyMDEnW6NO7776rhoaGXl+PgoQeCyb2\n7NslkMCdLH6TkNj5dMtlsV9ECTfo/r97MD43VMNjSkpKlJeX1/r5nj171NDQoFtuuUVFRUVavXq1\niouLNXTo0Nb3pKenKxQK6ejRnvwlri0WaaPHvnLnV7p9z8SbJio1PdWGNHCSxAs9WSB5Z9xzwInu\n6PYdk8T6I3QvNzdXFy9elGRNpT3zzDOSpAkTJmjFihX66le/qoqKCqWmtv0ZlJqaqurq6l5fjzVI\n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\nLouNAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "Graphics object consisting of 16 graphics primitives"
      ]
     },
     "execution_count": 259,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "Sigma = P2.fan()\n",
    "Sigma.plot()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Homogeneous coordinate ring\n",
    "---------------------------\n",
    "\n",
    "There is a homogeneous coordinate associated to each ray (1-d cone) of the fan, in this order:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 260,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Multivariate Polynomial Ring in x, y, z over Rational Field"
      ]
     },
     "execution_count": 260,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "P2.coordinate_ring()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 261,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(1-d cone of Rational polyhedral fan in 2-d lattice N,\n",
       " 1-d cone of Rational polyhedral fan in 2-d lattice N,\n",
       " 1-d cone of Rational polyhedral fan in 2-d lattice N)"
      ]
     },
     "execution_count": 261,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "Sigma(1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Homogeneous rescalings are encoded in the linear relations between the rays"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 262,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "N( 1,  0),\n",
       "N( 0,  1),\n",
       "N(-1, -1)\n",
       "in 2-d lattice N"
      ]
     },
     "execution_count": 262,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "Sigma.rays()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "u0, u1, u2 = Sigma.rays()\n",
    "u0 + u1 + u2"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "This corresponds to the homogenous rescaling $[x:y:z] = [\\lambda x: \\lambda y:\\lambda z]$ "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 263,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[2 : 2 : 2]"
      ]
     },
     "execution_count": 263,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "P2(2,2,2)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Points can be iterated over... lots of counting fun over finite fields can be had:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 264,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[[0 : 1 : 1],\n",
       " [1 : 1 : 1],\n",
       " [-1 : 1 : 1],\n",
       " [1/2 : 1 : 1],\n",
       " [-1/2 : 1 : 1],\n",
       " [2 : 1 : 1],\n",
       " [-2 : 1 : 1],\n",
       " [1/3 : 1 : 1],\n",
       " [-1/3 : 1 : 1],\n",
       " [3 : 1 : 1]]"
      ]
     },
     "execution_count": 264,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "P2points = iter(P2.point_set())\n",
    "[P2points.next() for i in range(10)]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 265,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "31"
      ]
     },
     "execution_count": 265,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "P2.change_ring(GF(5)).count_points()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 267,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "([0 : 0 : 1],\n",
       " [1 : 0 : 0],\n",
       " [0 : 1 : 0],\n",
       " [0 : 1 : 1],\n",
       " [0 : 1 : 2],\n",
       " [0 : 1 : 4],\n",
       " [0 : 1 : 3],\n",
       " [1 : 0 : 1],\n",
       " [1 : 0 : 2],\n",
       " [1 : 0 : 4],\n",
       " [1 : 0 : 3],\n",
       " [1 : 1 : 0],\n",
       " [1 : 2 : 0],\n",
       " [1 : 4 : 0],\n",
       " [1 : 3 : 0],\n",
       " [1 : 1 : 1],\n",
       " [1 : 2 : 1],\n",
       " [1 : 4 : 1],\n",
       " [1 : 3 : 1],\n",
       " [1 : 1 : 2],\n",
       " [1 : 2 : 2],\n",
       " [1 : 4 : 2],\n",
       " [1 : 3 : 2],\n",
       " [1 : 1 : 4],\n",
       " [1 : 2 : 4],\n",
       " [1 : 4 : 4],\n",
       " [1 : 3 : 4],\n",
       " [1 : 1 : 3],\n",
       " [1 : 2 : 3],\n",
       " [1 : 4 : 3],\n",
       " [1 : 3 : 3])"
      ]
     },
     "execution_count": 267,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "P2.change_ring(GF(5)).point_set().list()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "Cone([(1,0), (0,1)])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Coordinate patches"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 268,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "N(1, 0),\n",
       "N(0, 1)\n",
       "in 2-d lattice N"
      ]
     },
     "execution_count": 268,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "patch = P2.affine_patch(0);  patch.fan().rays()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 269,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Scheme morphism:\n",
       "  From: 2-d affine toric variety\n",
       "  To:   2-d CPR-Fano toric variety covered by 3 affine patches\n",
       "  Defn: Defined on coordinates by sending [x : y] to\n",
       "        [x : y : 1]"
      ]
     },
     "execution_count": 269,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "patch.embedding_morphism()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Compactification\n",
    "----------------\n",
    "\n",
    "So far, we only talked about the open $\\mathbb{C}^n$; The higher-dimensional cones determine the compactification: Homogeneous coordinates can vanish simultaneously if and only if they span a cone of the fan. The forbidden set is"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 270,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Ideal (x*y*z) of Multivariate Polynomial Ring in x, y, z over Rational Field"
      ]
     },
     "execution_count": 270,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "P2.Stanley_Reisner_ideal()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Singularities\n",
    "-------------\n",
    "\n",
    "Interesting varieties are usually not smooth:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 271,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "True"
      ]
     },
     "execution_count": 271,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "P2.is_smooth()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 272,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "A2Z2.<x,y> = toric_varieties.A2_Z2()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 273,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\na25uzssvv5zFbsotbvHixZk9e3aam5tLj1J5S5YsyXOPP5c/nPeHd/287dhqeuyx5O67fQKTNSLI\nqKQnnngiY8eOzeDBg7Pddttlyy23zBe/+MW8+OKLpUernOnTp+ekk07KFltske233z6bbbZZTjjh\nhEydOrX0aJXz6quv5owzzshWW22Vv9rtr/K/Fv2vXJ7LMzMzbcfW1DPPJLfd1vGIDFgNfdrbfTkX\n1fLAAw/ksMMOy8KFC1e4tvXWW2fixIkZMWJEgcmq5+mnn86YMWMyt5NPqG2yySb5/e9/n9GjRxeY\nrHpmz56dAw88MNM7+SLtfumXb+70uZz9lf0KTNbLbbNNcvjhyQYblJ6EOmdDRqW0t7fnxBNP7DTG\nko4NwWmnnVbjqarrlFNO6TTGkqSpqSmf//znaztQhX3ta1/rNMaSpDWt+dlLV2WJbc+ae+WV5IYb\nEm/FswqCjEq544478uwqPpp+55135plnnqnRRNU1derU3HvvvV2eeeqpp3LPPffUaKLqmjt3bq6+\n+uouz7z21sJcPWVKjSZqMG+8kVx3XbJgQelJqGOCjEp5dDU+kt7e3p7HH3+8BtNU22OPPbZa51bn\nNWPdPPXUU1myZMkqzz06c2YNpmlQCxd2fAfma6+VnoQ6JciolA033LBbz7H2Vvef8cCBA3t4Elb7\n98V66/XwJA1u8eKOty9nzSo9CXXITf1UyksvvZThw4entbV1pWcGDx6cWbNmCYEe1tTUlO233z5N\nTU0rPdO/f//MmDEj2267bQ0nq57W1tbsuOOOmTFjRpfnHvmHf8juO+xQo6kaWN++ySGHJDvuWHoS\n6ogNGZWyww47ZOzYsV2eOf3008VYDWyyySar/ADFuHHjxFgN9OvXL588+n92eebwXXYRY92lrS25\n447Eo114BxsyKqe5uTmf/vSnc9NNN61wbfz48fn5z3+evn39t0ottLa2Zvz48bnkkktWuHb00Ufn\nyiuvzIABAwpMVi2XXZZ8blxbWtvOTHLOCtcPeN/7csOXvpTNNtqo9sM1ug9+sOMvKk+QUVkTJ07M\npZdemrlz52aHHXbI+PHjs8cee5Qeq5KmTJmSCRMmZNasWdlqq61y4oknZv/99y89VsNbtCg544zk\n5z9/588+neSibNhvav529PyMHT06/2PnndOnT59CU1bAbrsl+3nGW9UJMoAK+vOfk+OO6/iWn84c\n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\nvve99Dv11Gzy5S/n8xdfnMca4WuIXnwxefPN0lPUnT7t7e3tpYeogvvuuy9HHnlkmpqaVri29957\n54477simm25aYLLqmTp1ag4++ODM6eQPmREjRuTee+/NNttsU2Cy6pk1a1bGjBmT559/foVr22yz\nTe6+++6MGjWqwGRr77jRL+Sqye9d9uO+acuDf39Z3QfZ/ObmHPKjH+VPL720wrVBG26YW884I/sO\nH15gsup5u6UlR513Xu54+ukVrm3Qv3+uPvXUHPWBDxSYrBu9//3J/vuXnqKu2JDVQEtLS4477rhO\nYyxJHn744Zx11lk1nqq6TjjhhE5jLEmeffbZnHbaaTWeqLpOPvnkTmMsSV555ZWMGzeuxhOtm968\nHfvG1Vd3GmNJsmDRohx34YVp9ciCmviXW27pNMaS5O2lS3P8RRelqbc/ZPXPf06WLCk9RV0RZDVw\n3XXXrfLtl0suuWSlwUb3uf/++/PII490eeaGG27IjBkzajRRdT3//PO5+eabuzwzefLkTJ48uUYT\nrbveeu/Y/Obm/OdDD3V5ZsYbb+QGXxLd45a2tubCiRO7PPPm4sW5dNKkGk3UQ1pakmeeKT1FXRFk\nNfDggw+u8szChQszderUGkxTbZNW4/+Jtba25uGHH67BNNU2efLkrM4dE6vz+6ce9Obt2OOzZqV5\nNbYVD06fXoNpqm3GG2/k5QULVnmuIV6LZ58tPUFdEWQ10L9//249x9rzWtSPRnsteut2LEn69129\nPwpW9xxrr3+/ft16rq7NnZvMn196irrhd1cNHHHEEas8s91222X33XevwTTVdsQRR6RPnz5dnhk4\ncGAOOuigGk1UXR/5yEcyYMCALs/07ds3hx9+eI0mWnudbccO6iXbsST54Hvek6022WSV5458//tr\nME21Ddt88+yy7barPHfkrrvWYJoamDat9AR1Q5DVwEc+8pHstddeXZ45/fTTe80moDcbOXJkPv7x\nj3d5Zvz48Rk0aFCNJqquLbbYIieeeGKXZz7xiU9keC/4ZF9n27F/6yXbsSRZv3//nH7wwV2e2Xf4\n8Oz/vvfVaKJq++pHP9rl9eFbbplj9tijRtP0MG9bLiPIauTaa6/NyJEjO7124okn5swzz6zxRNV1\n8cUXZ5999un02sc+9rGcc845NZ6ouv793/89hx12WKfX9ttvv0yYMKHGE6253nzv2Dt988gjc/zo\n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\ny37c0tKSyZMn56CDDkqSvPDCC7n33nuz5ZZbLrvv+MADD8yNN964Vh8QE2Q18JcXryubb775uyqc\nnnHwwQc7xqmHAAAPnklEQVSv8sz666+f/fffvwbTVNsBBxyQ/v1X58k7q37NWFd7Jln1B1nem/f2\n+CRVNyiDMjiDV3lueIbXYJpqmzFjRkaNGrXsx3/84x+zePHifPjDH860adNy00035YUXXsjmm2++\n7MzGG2+cpUuXdvqhsVXxHLIaOPLIIzNixIgub+r/4he/6P6xGth9990zZsyYLm/q/9u//Vv3j9XA\ndtttl2OPPbbLm/r33/eg/Ocv35PkrdoN1kDmzO2TfQ9a8fEW77T++u0Z++n10rfvifnlpeeu9Nyo\nkaPy04k/dVN/DWz4sw1z1nfOWun1IVsOyUVTLvJnxkoM3KLrf+dX18iRIzPvvx4zsmTJkvzwhz9M\nkuy44445//zzc9xxx+XXv/71Cq/DgAED0rQWj4oRZDXQt2/fXHvttfnoRz+aV155ZYXrRxxxRL73\nve8VmKyafv3rX+eQQw7JtGnTVri2zz775D/+4z8KTFVNP/3pT/PMM890+tiLkSNH5qprLst22639\nzblVt0EXi5YNNkhOPjk588w+2X779bJ48b/mpZen5ve///0KZ7fbbrtcd/112XirjXtwWv7iG//w\njTz29GO5/PLLV7g2ePDgXP/b67PFDlsUmKxaLrroopx55pmZO3dukuS8887LgAEDctppp2XvvffO\n0KFDs+mmm2b5z0Y2Nzdnyy23XONfz6csa2jOnDm54IILcsUVV2TBggX5q7/6q5xyyin59Kc/vZpv\n3dBdFixYkAkTJuSSSy7J3Llzs8MOO2T8+PEZN26c/+qssUWLFuWSSy7JhAkTMmvWrGy11VY58cQT\n84UvfCGbbrpp6fF6tZaWZLPNkrfesWD87xBLtt9++fMtufLKK3PhhRfmueeey+DBgzN27NicfPLJ\nGTJkSG2Hr7j29vZcd911Of/88zN16tRstNFG+dSnPpXTTjtt2U3nlHfHHXfkW9/61rIPgr3++uvZ\ndttt8+abb67xnyWCDKCBXXxxcsYZHd8s8/nPdx5iwNpZunRpdtxxx0yZMiVbbrllrrrqqlx++eW5\n5ppr1vjvJcgAGlxLS9K3b9KvX+lJoPHcfvvtueGGG/LBD34wEydOzD/90z9l6623XuO/jyADACjM\nYy8AAAoTZAAAhQkyAIDCBBkAQGGCDACgMEEGAFCYIAMAKEyQAQAUJsgAAAoTZAAAhQkyAIDCBBkA\nQGGCDACgMEEGAFCYIAMAKEyQAQAUJsgAAAoTZAAAhQkyAIDCBBkAQGGCDACgMEEGAFCYIAMAKEyQ\nAQAUJsgAAAoTZAAAhQkyAIDCBBkAQGGCDACgMEEGAFCYIAMAKEyQAQAUJsgAAAoTZAAAhQkyAIDC\nBBkAQGGCDACgMEEGAFCYIAMAKEyQAQAUJsgAAAoTZAAAhQkyAIDCBBkAQGGCDACgMEEGAFCYIAMA\nKEyQAQAUJsgAAAoTZAAAhQkyAIDCBBkAQGGCDACgMEEGAFCYIAMAKEyQAQAUJsgAAAoTZAAAhQky\nAIDCBBkAQGGCDACgMEEGAFCYIAMAKEyQAQAUJsgAAAoTZAAAhQkyAIDCBBkAQGGCDACgMEEGAFCY\nIAMAKEyQAQAUJsgAAAoTZAAAhQkyAIDCBBkAQGGCDACgMEEGAFCYIAMAKEyQAQAUJsgAAAoTZAAA\nhQkyAIDCBBkAQGGCDACgMEEGAFCYIKuhRYsW5Re/+EUOO+ywjB49OieccELuueee0mNVUktLS37z\nm9/kqKOOyujRo/OpT30qN954Y9ra2kqPVjltbW254YYb8slPfjKjR4/O0UcfnauuuipLly4tPVol\n3XXXXTn++OMzevToHH744fnlL3+ZxYsXlx6rkh566KGMHz8+++67bw455JD85Cc/SVNTU+mx6Cnt\n1MSLL77YPnLkyPYkK/x14okntre2tpYesTJef/319r333rvT1+JjH/tY++LFi0uPWBnNzc3thx12\nWKevxX777dc+b9680iNWxtKlS9uPP/74Tl+LnXbaqX3mzJmlR6yUr371q52+FkOHDm2fOnVq6fHo\nAYKsRvbaa69Of3P95a9//ud/Lj1iZRx99NFdvhann3566REr45RTTunytfibv/mb0iNWxtlnn93l\na7HvvvuWHrEyLrrooi5fi+HDh7e3tLSUHpNu1qe9vb29e3ZtrMzdd9+dgw8+uMsz2223XV588cX0\n79+/RlNV0zPPPJOddtopXf1rP3DgwMyePTuDBg2q4WTV8/rrr2fo0KFdvh3Wt2/fTJs2LcOHD6/h\nZNWzZMmS7LDDDpkzZ06X5+67777sv//+NZqqunbddddMnTq1yzNXXXVVjj322BpNRC24h6wGbrnl\nllWemT17dh599NEaTFNtt9xyS5cxliTNzc3u7auBu+++e5X3JrW1teXWW2+t0UTV9cc//nGVMZYk\nN998cw2mqbYZM2asMsYSr0UjEmQ1sLo3J7uJued5LeqH16J+eC3qh9eiugRZDey7776rPLPxxhtn\nl112qcE01bbffvut8ky/fv2y995712Caattnn33Sp0+fVZ5bnd8/rJsPfOADGThw4CrPeS163rBh\nw7Ltttuu8pzXovEIsho45phjst1223V55nOf+1w22WSTGk1UXfvvv3/22GOPLs8cffTRGTZsWI0m\nqq4dd9wxRx55ZJdn9tlnn+yzzz41mqi6Bg8enBNOOKHLM8OGDcvRRx9do4mqq3///jn55JO7PLPp\npptm3LhxNZqIWhFkNbDeeuvlyiuvXGlw7b333vn+979f46mq6z//8z+z1VZbdXptxIgR+dnPflbj\niarrwgsvzI477tjptW233TaXXnppjSeqrh/84AfZc889O702aNCgXHnllenXr1+Np6qms846K4ce\nemin1zbYYINcfvnl/gO+AfX77ne/+93SQ1TBsGHDcuyxx6alpSXTpk3L22+/nREjRuSb3/xmzjvv\nvGy88calR6yMIUOGZOzYsenXr1+mTZuW5ubmDBs2LF/5ylfy85//PEOGDCk9YmVsuumm+exnP5sB\nAwbkueeeS1NTU7beeut86UtfyoQJE3y6soYGDBiQE044IZtttlmmT5+eefPmZbPNNsv48eNz8cUX\n5wMf+EDpESujf//++cxnPpNtttkmM2bMyGuvvZaNNtooxx9/fCZMmJADDzyw9Ij0AI+9AAAozFuW\nAACFCTIAgMIEGQBAYYIMAKAwQQYAUJggAwAoTJABABQmyAAAChNkAACFCTIAgMIEGQBAYYIMAKAw\nQQYAUJggAwAoTJABABQmyAAAChNkAACFCTIAgMIEGQBAYYIMAKAwQQYAUJggAwAoTJABABQmyAAA\nChNkAACFCTIAgMIEGQBAYYIMAKAwQQYAUJggAwAoTJABABQmyAAAChNkAACFCTIAgMIEGQBAYYIM\nAKAwQQYAUJggAwAoTJABABQmyAAAChNkAACFCTIAgMIEGQBAYYIMAKAwQQYAUJggAwAoTJABABQm\nyAAAChNkAACFCTIAgMIEGQBAYYIMAKAwQQYAUJggAwAoTJABABQmyAAAChNkAACFCTIAgMIEGQBA\nYYIMAKAwQQYAUJggAwAoTJABABQmyAAAChNkAACFCTIAgMIEGQBAYYIMAKAwQQYAUJggAwAoTJAB\nABQmyAAAChNkAACFCTIAgMIEGQBAYYIMAKAwQQYAUJggAwAoTJABABQmyAAAChNkAACFCTIAgMIE\nGQBAYYIMAKAwQQYAUJggAwAoTJABABQmyAAACutfegAo5d57782vf/3rzJ07N0OHDs1JJ52UPfbY\no/RYlTRlypRMmDAhM2fOzNZbb53Pfe5zOeCAA0qPVUlPP/10Lrroojz33HMZPHhwPvOZz+Swww5L\nnz59So8GDa1Pe3t7e+khoJaam5tz7LHH5uabb17h2vjx4/Pzn/88fftaHtdCa2trvvCFL+TSSy9d\n4drRRx+dK6+8MgMGDCgwWTV9/etfzznnnLPCzx9wwAG54YYbstlmmxWYCqrBnzpUzimnnNJpjCXJ\nhAkT8p3vfKfGE1XXN7/5zU5jLEluuOGG/N3f/V2NJ6quc889t9MYS5L77rsvY8eOrfFEUC02ZFTK\nSy+9lOHDh6e1tXWlZwYPHpxZs2Zl4MCBNZysepqamrL99tunqalppWf69++fGTNmZNttt63hZNXT\n2tqaHXfcMTNmzOjy3COPPJLdd9+9RlNBtdiQUSk33HBDlzGWJPPnz8/dd99dm4Eq7M477+wyxpJk\n6dKlufHGG2s0UXVNmTJllTGWJNddd10NpoFqEmRUyqJFi7r1HGtvdf8ZNzc39/Ak+H0B5QkyKmV1\n3m7p06dPdttttxpMU22r+8/YW2Q9b+edd87666+/ynNeC+g5goxKOfTQQzNixIguzxxyyCGrPMO6\n22WXXTJmzJguz+y888456KCDajRRdQ0ZMiSf+tSn1vkMsPYEGZXSp0+f/OpXv8rGG2/c6fWtt946\nP/vZz2o8VXVdcMEFGTJkSKfXNtlkk1x88cW1HajCfvjDH2b48OGdXlt//fXzq1/9arW2aMDaEWRU\nzoc+9KE88MADGTt27LI/YDbaaKN88YtfzIMPPmg7VkM77bRTHnzwwZx00knLPtW6wQYb5IQTTsik\nSZMyevTowhNWx7bbbpsHHnggZ5xxRgYNGpQk6devXz7xiU9k4sSJOfLIIwtPCI3NYy+otObm5ixY\nsCCbb755Nthgg9LjVNrixYszb968DBo0yCNHCluyZElef/31bLLJJivdJgPdS5ABABTmLUsAgMIE\nGQBAYYIMAKAwQQYAUJggAwAoTJABABQmyAAAChNkAACFCTIAgMIEGQBAYYIMAKAwQQYAUJggAwAo\nTJABABQmyAAAChNkAACFCTIAgMIEGQBAYYIMAKAwQQYAUJggAwAoTJABABQmyAAAChNkAACFCTIA\ngMIEGQBAYYIMAKAwQQYAUJggAwAoTJABABQmyAAAChNkAACFCTIAgMIEGQBAYYIMAKAwQQYAUJgg\nAwAoTJABABQmyAAAChNkAACFCTIAgMIEGQBAYYIMAKAwQQYAUJggAwAoTJABABQmyAAAChNkAACF\nCTIAgMIEGQBAYYIMAKAwQQYAUJggAwAoTJABABQmyAAAChNkAACFCTIAgMIEGQBAYYIMAKAwQQYA\nUJggAwAoTJABABQmyAAAChNkAACFCTIAgMIEGQBAYYIMAKAwQQYAUJggAwAoTJABABQmyAAAChNk\nAACFCTIAgMIEGQBAYYIMAKAwQQYAUJggAwAoTJABABQmyAAAChNkAACFCTIAgMIEGQBAYYIMAKAw\nQQYAUJggAwAoTJABABQmyAAACvu/zcx+fK3F0OEAAAAASUVORK5CYII=\n",
      "text/plain": [
       "Graphics object consisting of 9 graphics primitives"
      ]
     },
     "execution_count": 273,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "Sigma = A2Z2.fan()\n",
    "Sigma.plot()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 274,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "False"
      ]
     },
     "execution_count": 274,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cone2 = Sigma(2)[0]\n",
    "cone2.is_smooth()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 275,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "False"
      ]
     },
     "execution_count": 275,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "A2Z2.is_smooth()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "I lied a bit in the definition of the homogenous rescalings; Really its rescaling by $Hom(A_1, \\mathbb{C}^\\times)$:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 276,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "C2"
      ]
     },
     "execution_count": 276,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "AA = A2Z2.Chow_group()\n",
    "AA.degree(1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 277,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "((| 1 mod 2 | 0 ), (| 0 mod 2 | 1 ))"
      ]
     },
     "execution_count": 277,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "AA.gens()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 278,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Free module of degree 4 and rank 3 over Integer Ring\n",
       "Echelon basis matrix:\n",
       "[0 1 1 0]\n",
       "[0 0 2 0]\n",
       "[0 0 0 1]"
      ]
     },
     "execution_count": 278,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "AA.relations()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Singularity comes from the rays of the cone not spanning the lattice"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 279,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2"
      ]
     },
     "execution_count": 279,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cone2.span().index_in_saturation()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Resolution of singularities\n",
    "---------------------------\n",
    "\n",
    "Toric geometry is functor from fans & fan morphisms to toric varieties & toric morphisms"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 280,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "Sigma = Fan(cones=[[0, 1]], rays=[(1, 0), (0, 1)])\n",
    "SigmaPrime = Sigma.subdivide(new_rays=[(1,1)])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 281,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "Graphics Array of size 1 x 2"
      ]
     },
     "execution_count": 281,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "graphics_array([SigmaPrime.plot(), Sigma.plot()])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 282,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Fan morphism defined by the matrix\n",
       "[1 0]\n",
       "[0 1]\n",
       "Domain fan: Rational polyhedral fan in 2-d lattice N\n",
       "Codomain fan: Rational polyhedral fan in 2-d lattice N"
      ]
     },
     "execution_count": 282,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "fm = FanMorphism(\n",
    "    identity_matrix(2), \n",
    "    domain_fan=SigmaPrime, \n",
    "    codomain=Sigma\n",
    ");  fm"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 283,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "X = ToricVariety(Sigma)\n",
    "Xprime = ToricVariety(SigmaPrime)\n",
    "f = Xprime.hom(fm, X)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 284,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Scheme morphism:\n",
       "  From: 2-d toric variety covered by 2 affine patches\n",
       "  To:   2-d affine toric variety\n",
       "  Defn: Defined by sending Rational polyhedral fan in 2-d lattice N to Rational polyhedral fan in 2-d lattice N."
      ]
     },
     "execution_count": 284,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "f"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 285,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Scheme morphism:\n",
       "  From: 2-d toric variety covered by 2 affine patches\n",
       "  To:   2-d affine toric variety\n",
       "  Defn: Defined on coordinates by sending [z0 : z1 : z2] to\n",
       "        [z0*z2 : z1*z2]"
      ]
     },
     "execution_count": 285,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "f.as_polynomial_map()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Subdivision is not unique; Different subdivisions are different resolutions "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 286,
   "metadata": {
    "collapsed": false,
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "<iframe srcdoc=\"\n",
       "<html>\n",
       "<head>\n",
       "  <style>\n",
       "    * {\n",
       "      margin: 0;\n",
       "      padding: 0;\n",
       "      overflow: hidden;\n",
       "    }\n",
       "    body, html {      \n",
       "      height: 100%;\n",
       "      width: 100%;\n",
       "    }\n",
       "  </style>\n",
       "  <script type=&quot;text/javascript&quot; src=&quot;/nbextensions/jsmol/JSmol.min.js&quot;></script>\n",
       "</head>\n",
       "<body>\n",
       "  <script type=&quot;text/javascript&quot;>\n",
       "    var script = [\n",
       "  'data &quot;model list&quot;',\n",
       "  '10',\n",
       "  'empty',\n",
       "  'Xx 0.0 0.0 3.0',\n",
       "  'Xx 0.0 2.33808535137 2.03153333748',\n",
       "  'Xx 2.33808535137 0.0 2.03153333748',\n",
       "  'Xx 1.90903869531 1.90903869531 1.60248668142',\n",
       "  'Xx 0.0 0.708510712536 1.4039441574',\n",
       "  'Xx 0.708510712536 0.0 1.4039441574',\n",
       "  'Xx 0.578496574337 1.28700728687 0.98045527298',\n",
       "  'Xx 0.578496574337 0.578496574337 1.2739300192',\n",
       "  'Xx 1.28700728687 0.578496574337 0.98045527298',\n",
       "  'Xx 5.5 5.5 5.5',\n",
       "  'end &quot;model list&quot;; show data',\n",
       "  'select *',\n",
       "  'wireframe off; spacefill off',\n",
       "  'set labelOffset 0 0',\n",
       "  'background [255,255,255]',\n",
       "  'spin OFF',\n",
       "  'moveto 0 -764 -346 -545 76.39',\n",
       "  'centerAt absolute {0 0 0}',\n",
       "  'zoom 100',\n",
       "  'frank OFF',\n",
       "  'set perspectivedepth ON',\n",
       "  'draw point_1 DIAMETER 10 {-2.69344798611 -1.34672399305 -0.306552013894}',\n",
       "  'color $point_1  [0,0,0]',\n",
       "  'draw point_2 DIAMETER 10 {-2.69344798611 0.0 -1.65327600695}',\n",
       "  'color $point_2  [0,0,0]',\n",
       "  'draw point_3 DIAMETER 10 {-2.69344798611 0.0 -0.306552013894}',\n",
       "  'color $point_3  [0,0,0]',\n",
       "  'draw point_4 DIAMETER 10 {-2.69344798611 0.0 1.04017197916}',\n",
       "  'color $point_4  [0,0,0]',\n",
       "  'draw point_5 DIAMETER 10 {-2.69344798611 1.34672399305 -0.306552013894}',\n",
       "  'color $point_5  [0,0,0]',\n",
       "  'draw point_6 DIAMETER 10 {-1.34672399305 -2.69344798611 -0.306552013894}',\n",
       "  'color $point_6  [0,0,0]',\n",
       "  'draw point_7 DIAMETER 10 {-1.34672399305 -1.34672399305 -1.65327600695}',\n",
       "  'color $point_7  [0,0,0]',\n",
       "  'draw point_8 DIAMETER 10 {-1.34672399305 -1.34672399305 -0.306552013894}',\n",
       "  'color $point_8  [0,0,0]',\n",
       "  'draw point_9 DIAMETER 10 {-1.34672399305 -1.34672399305 1.04017197916}',\n",
       "  'color $point_9  [0,0,0]',\n",
       "  'draw point_10 DIAMETER 10 {-1.34672399305 0.0 -3.0}',\n",
       "  'color $point_10  [0,0,0]',\n",
       "  'draw point_11 DIAMETER 10 {-1.34672399305 0.0 -1.65327600695}',\n",
       "  'color $point_11  [0,0,0]',\n",
       "  'draw point_12 DIAMETER 10 {-1.34672399305 0.0 -0.306552013894}',\n",
       "  'color $point_12  [0,0,0]',\n",
       "  'draw point_13 DIAMETER 10 {-1.34672399305 0.0 1.04017197916}',\n",
       "  'color $point_13  [0,0,0]',\n",
       "  'draw point_14 DIAMETER 10 {-1.34672399305 0.0 2.38689597221}',\n",
       "  'color $point_14  [0,0,0]',\n",
       "  'draw point_15 DIAMETER 10 {-1.34672399305 1.34672399305 -1.65327600695}',\n",
       "  'color $point_15  [0,0,0]',\n",
       "  'draw point_16 DIAMETER 10 {-1.34672399305 1.34672399305 -0.306552013894}',\n",
       "  'color $point_16  [0,0,0]',\n",
       "  'draw point_17 DIAMETER 10 {-1.34672399305 1.34672399305 1.04017197916}',\n",
       "  'color $point_17  [0,0,0]',\n",
       "  'draw point_18 DIAMETER 10 {-1.34672399305 2.69344798611 -0.306552013894}',\n",
       "  'color $point_18  [0,0,0]',\n",
       "  'draw point_19 DIAMETER 10 {0.0 -2.69344798611 -1.65327600695}',\n",
       "  'color $point_19  [0,0,0]',\n",
       "  'draw point_20 DIAMETER 10 {0.0 -2.69344798611 -0.306552013894}',\n",
       "  'color $point_20  [0,0,0]',\n",
       "  'draw point_21 DIAMETER 10 {0.0 -2.69344798611 1.04017197916}',\n",
       "  'color $point_21  [0,0,0]',\n",
       "  'draw point_22 DIAMETER 10 {0.0 -1.34672399305 -3.0}',\n",
       "  'color $point_22  [0,0,0]',\n",
       "  'draw point_23 DIAMETER 10 {0.0 -1.34672399305 -1.65327600695}',\n",
       "  'color $point_23  [0,0,0]',\n",
       "  'draw point_24 DIAMETER 10 {0.0 -1.34672399305 -0.306552013894}',\n",
       "  'color $point_24  [0,0,0]',\n",
       "  'draw point_25 DIAMETER 10 {0.0 -1.34672399305 1.04017197916}',\n",
       "  'color $point_25  [0,0,0]',\n",
       "  'draw point_26 DIAMETER 10 {0.0 -1.34672399305 2.38689597221}',\n",
       "  'color $point_26  [0,0,0]',\n",
       "  'draw point_27 DIAMETER 10 {0.0 0.0 -3.0}',\n",
       "  'color $point_27  [0,0,0]',\n",
       "  'draw point_28 DIAMETER 10 {0.0 0.0 -1.65327600695}',\n",
       "  'color $point_28  [0,0,0]',\n",
       "  'draw point_29 DIAMETER 10 {0.0 0.0 -0.306552013894}',\n",
       "  'color $point_29  [0,0,0]',\n",
       "  'draw point_30 DIAMETER 10 {0.0 0.0 1.04017197916}',\n",
       "  'color $point_30  [0,0,0]',\n",
       "  'draw point_31 DIAMETER 10 {0.0 0.0 2.38689597221}',\n",
       "  'color $point_31  [0,0,0]',\n",
       "  'draw point_32 DIAMETER 10 {0.0 1.34672399305 -3.0}',\n",
       "  'color $point_32  [0,0,0]',\n",
       "  'draw point_33 DIAMETER 10 {0.0 1.34672399305 -1.65327600695}',\n",
       "  'color $point_33  [0,0,0]',\n",
       "  'draw point_34 DIAMETER 10 {0.0 1.34672399305 -0.306552013894}',\n",
       "  'color $point_34  [0,0,0]',\n",
       "  'draw point_35 DIAMETER 10 {0.0 1.34672399305 1.04017197916}',\n",
       "  'color $point_35  [0,0,0]',\n",
       "  'draw point_36 DIAMETER 10 {0.0 1.34672399305 2.38689597221}',\n",
       "  'color $point_36  [0,0,0]',\n",
       "  'draw point_37 DIAMETER 10 {0.0 2.69344798611 -1.65327600695}',\n",
       "  'color $point_37  [0,0,0]',\n",
       "  'draw point_38 DIAMETER 10 {0.0 2.69344798611 -0.306552013894}',\n",
       "  'color $point_38  [0,0,0]',\n",
       "  'draw point_39 DIAMETER 10 {0.0 2.69344798611 1.04017197916}',\n",
       "  'color $point_39  [0,0,0]',\n",
       "  'draw point_40 DIAMETER 10 {1.34672399305 -2.69344798611 -0.306552013894}',\n",
       "  'color $point_40  [0,0,0]',\n",
       "  'draw point_41 DIAMETER 10 {1.34672399305 -1.34672399305 -1.65327600695}',\n",
       "  'color $point_41  [0,0,0]',\n",
       "  'draw point_42 DIAMETER 10 {1.34672399305 -1.34672399305 -0.306552013894}',\n",
       "  'color $point_42  [0,0,0]',\n",
       "  'draw point_43 DIAMETER 10 {1.34672399305 -1.34672399305 1.04017197916}',\n",
       "  'color $point_43  [0,0,0]',\n",
       "  'draw point_44 DIAMETER 10 {1.34672399305 0.0 -3.0}',\n",
       "  'color $point_44  [0,0,0]',\n",
       "  'draw point_45 DIAMETER 10 {1.34672399305 0.0 -1.65327600695}',\n",
       "  'color $point_45  [0,0,0]',\n",
       "  'draw point_46 DIAMETER 10 {1.34672399305 0.0 -0.306552013894}',\n",
       "  'color $point_46  [0,0,0]',\n",
       "  'draw point_47 DIAMETER 10 {1.34672399305 0.0 1.04017197916}',\n",
       "  'color $point_47  [0,0,0]',\n",
       "  'draw point_48 DIAMETER 10 {1.34672399305 0.0 2.38689597221}',\n",
       "  'color $point_48  [0,0,0]',\n",
       "  'draw point_49 DIAMETER 10 {1.34672399305 1.34672399305 -1.65327600695}',\n",
       "  'color $point_49  [0,0,0]',\n",
       "  'draw point_50 DIAMETER 10 {1.34672399305 1.34672399305 -0.306552013894}',\n",
       "  'color $point_50  [0,0,0]',\n",
       "  'draw point_51 DIAMETER 10 {1.34672399305 1.34672399305 1.04017197916}',\n",
       "  'color $point_51  [0,0,0]',\n",
       "  'draw point_52 DIAMETER 10 {1.34672399305 2.69344798611 -0.306552013894}',\n",
       "  'color $point_52  [0,0,0]',\n",
       "  'draw point_53 DIAMETER 10 {2.69344798611 -1.34672399305 -0.306552013894}',\n",
       "  'color $point_53  [0,0,0]',\n",
       "  'draw point_54 DIAMETER 10 {2.69344798611 0.0 -1.65327600695}',\n",
       "  'color $point_54  [0,0,0]',\n",
       "  'draw point_55 DIAMETER 10 {2.69344798611 0.0 -0.306552013894}',\n",
       "  'color $point_55  [0,0,0]',\n",
       "  'draw point_56 DIAMETER 10 {2.69344798611 0.0 1.04017197916}',\n",
       "  'color $point_56  [0,0,0]',\n",
       "  'draw point_57 DIAMETER 10 {2.69344798611 1.34672399305 -0.306552013894}',\n",
       "  'color $point_57  [0,0,0]',\n",
       "  'draw line_58 diameter 3 curve {0.0 0.0 -0.306552013894}  {0.0 0.0 2.69940436237} ',\n",
       "  'color $line_58  [128,0,128]',\n",
       "  'draw line_59 diameter 3 curve {0.0 0.0 -0.306552013894}  {0.0 2.12553213761 1.81898012372} ',\n",
       "  'color $line_59  [128,0,128]',\n",
       "  'draw line_60 diameter 3 curve {0.0 0.0 -0.306552013894}  {2.12553213761 0.0 1.81898012372} ',\n",
       "  'color $line_60  [128,0,128]',\n",
       "  'draw line_61 diameter 3 curve {0.0 0.0 -0.306552013894}  {1.73548972301 1.73548972301 1.42893770912} ',\n",
       "  'color $line_61  [128,0,128]',\n",
       "  'select atomno = 1',\n",
       "  'color atom  [0,0,0]',\n",
       "  'label &quot;u_0&quot;',\n",
       "  'select atomno = 2',\n",
       "  'color atom  [0,0,0]',\n",
       "  'label &quot;u_1&quot;',\n",
       "  'select atomno = 3',\n",
       "  'color atom  [0,0,0]',\n",
       "  'label &quot;u_2&quot;',\n",
       "  'select atomno = 4',\n",
       "  'color atom  [0,0,0]',\n",
       "  'label &quot;u_3&quot;',\n",
       "  'draw line_62 diameter 3 arrow {0.0 0.0 -0.306552013894}  {0.0 0.0 1.04017197916} ',\n",
       "  'color $line_62  [0,0,255]',\n",
       "  'draw line_63 diameter 3 arrow {0.0 0.0 -0.306552013894}  {0.0 1.34672399305 1.04017197916} ',\n",
       "  'color $line_63  [0,0,255]',\n",
       "  'draw line_64 diameter 3 arrow {0.0 0.0 -0.306552013894}  {1.34672399305 0.0 1.04017197916} ',\n",
       "  'color $line_64  [0,0,255]',\n",
       "  'draw line_65 diameter 3 arrow {0.0 0.0 -0.306552013894}  {1.34672399305 1.34672399305 1.04017197916} ',\n",
       "  'color $line_65  [0,0,255]',\n",
       "  'pmesh obj_66 inline &quot;26',\n",
       "  '0 0 2.6994',\n",
       "  '0 0.0896182 2.69807',\n",
       "  '0 0.181229 2.69394',\n",
       "  '0 0.274635 2.68683',\n",
       "  '0 0.36961 2.67659',\n",
       "  '0 0.465897 2.66308',\n",
       "  '0 0.563213 2.64617',\n",
       "  '0 0.66125 2.62577',\n",
       "  '0 0.75968 2.60183',\n",
       "  '0 0.858158 2.57431',\n",
       "  '0 0.956332 2.54322',\n",
       "  '0 1.05384 2.50862',\n",
       "  '0 1.15033 2.47059',\n",
       "  '0 1.24545 2.42925',\n",
       "  '0 1.33886 2.38477',\n",
       "  '0 1.43026 2.33733',\n",
       "  '0 1.51936 2.28716',\n",
       "  '0 1.60589 2.23449',\n",
       "  '0 1.68964 2.17959',\n",
       "  '0 1.77041 2.12273',\n",
       "  '0 1.84805 2.0642',\n",
       "  '0 1.92245 2.00429',\n",
       "  '0 1.99352 1.94326',\n",
       "  '0 2.06122 1.8814',\n",
       "  '0 2.12553 1.81898',\n",
       "  '0 0 -0.306552',\n",
       "  '24',\n",
       "  '4',\n",
       "  '0',\n",
       "  '1',\n",
       "  '2',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '2',\n",
       "  '3',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '3',\n",
       "  '4',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '4',\n",
       "  '5',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '5',\n",
       "  '6',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '6',\n",
       "  '7',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '7',\n",
       "  '8',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '8',\n",
       "  '9',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '9',\n",
       "  '10',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '10',\n",
       "  '11',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '11',\n",
       "  '12',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '12',\n",
       "  '13',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '13',\n",
       "  '14',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '14',\n",
       "  '15',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '15',\n",
       "  '16',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '16',\n",
       "  '17',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '17',\n",
       "  '18',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '18',\n",
       "  '19',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '19',\n",
       "  '20',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '20',\n",
       "  '21',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '21',\n",
       "  '22',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '22',\n",
       "  '23',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '23',\n",
       "  '24',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '24',\n",
       "  '25',\n",
       "  '0&quot;',\n",
       "  'color pmesh translucent 0.6 [255,0,0]',\n",
       "  'pmesh obj_67 inline &quot;26',\n",
       "  '0 0 2.6994',\n",
       "  '0.0896182 0 2.69807',\n",
       "  '0.181229 0 2.69394',\n",
       "  '0.274635 0 2.68683',\n",
       "  '0.36961 0 2.67659',\n",
       "  '0.465897 0 2.66308',\n",
       "  '0.563213 0 2.64617',\n",
       "  '0.66125 0 2.62577',\n",
       "  '0.75968 0 2.60183',\n",
       "  '0.858158 0 2.57431',\n",
       "  '0.956332 0 2.54322',\n",
       "  '1.05384 0 2.50862',\n",
       "  '1.15033 0 2.47059',\n",
       "  '1.24545 0 2.42925',\n",
       "  '1.33886 0 2.38477',\n",
       "  '1.43026 0 2.33733',\n",
       "  '1.51936 0 2.28716',\n",
       "  '1.60589 0 2.23449',\n",
       "  '1.68964 0 2.17959',\n",
       "  '1.77041 0 2.12273',\n",
       "  '1.84805 0 2.0642',\n",
       "  '1.92245 0 2.00429',\n",
       "  '1.99352 0 1.94326',\n",
       "  '2.06122 0 1.8814',\n",
       "  '2.12553 0 1.81898',\n",
       "  '0 0 -0.306552',\n",
       "  '24',\n",
       "  '4',\n",
       "  '0',\n",
       "  '1',\n",
       "  '2',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '2',\n",
       "  '3',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '3',\n",
       "  '4',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '4',\n",
       "  '5',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '5',\n",
       "  '6',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '6',\n",
       "  '7',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '7',\n",
       "  '8',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '8',\n",
       "  '9',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '9',\n",
       "  '10',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '10',\n",
       "  '11',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '11',\n",
       "  '12',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '12',\n",
       "  '13',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '13',\n",
       "  '14',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '14',\n",
       "  '15',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '15',\n",
       "  '16',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '16',\n",
       "  '17',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '17',\n",
       "  '18',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '18',\n",
       "  '19',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '19',\n",
       "  '20',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '20',\n",
       "  '21',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '21',\n",
       "  '22',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '22',\n",
       "  '23',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '23',\n",
       "  '24',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '24',\n",
       "  '25',\n",
       "  '0&quot;',\n",
       "  'color pmesh translucent 0.6 [203,255,0]',\n",
       "  'pmesh obj_68 inline &quot;21',\n",
       "  '0 2.12553 1.81898',\n",
       "  '0.092189 2.12453 1.81798',\n",
       "  '0.185925 2.12146 1.81491',\n",
       "  '0.280966 2.11623 1.80967',\n",
       "  '0.377047 2.10874 1.80219',\n",
       "  '0.473881 2.09895 1.7924',\n",
       "  '0.571163 2.08681 1.78026',\n",
       "  '0.668575 2.07229 1.76574',\n",
       "  '0.76579 2.0554 1.74885',\n",
       "  '0.862478 2.03616 1.72961',\n",
       "  '0.958309 2.01462 1.70807',\n",
       "  '1.05296 1.99086 1.68431',\n",
       "  '1.14613 1.96496 1.65841',\n",
       "  '1.23752 1.93705 1.6305',\n",
       "  '1.32687 1.90725 1.6007',\n",
       "  '1.41393 1.87571 1.56916',\n",
       "  '1.49848 1.8426 1.53604',\n",
       "  '1.58036 1.80807 1.50152',\n",
       "  '1.6594 1.77231 1.46576',\n",
       "  '1.73549 1.73549 1.42894',\n",
       "  '0 0 -0.306552',\n",
       "  '19',\n",
       "  '4',\n",
       "  '0',\n",
       "  '1',\n",
       "  '2',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '2',\n",
       "  '3',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '3',\n",
       "  '4',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '4',\n",
       "  '5',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '5',\n",
       "  '6',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '6',\n",
       "  '7',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '7',\n",
       "  '8',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '8',\n",
       "  '9',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '9',\n",
       "  '10',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '10',\n",
       "  '11',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '11',\n",
       "  '12',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '12',\n",
       "  '13',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '13',\n",
       "  '14',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '14',\n",
       "  '15',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '15',\n",
       "  '16',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '16',\n",
       "  '17',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '17',\n",
       "  '18',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '18',\n",
       "  '19',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '19',\n",
       "  '20',\n",
       "  '0&quot;',\n",
       "  'color pmesh translucent 0.6 [0,255,102]',\n",
       "  'pmesh obj_69 inline &quot;31',\n",
       "  '0 0 2.6994',\n",
       "  '0.0607048 0.0607048 2.69818',\n",
       "  '0.123076 0.123076 2.69436',\n",
       "  '0.187014 0.187014 2.68775',\n",
       "  '0.252398 0.252398 2.67814',\n",
       "  '0.319083 0.319083 2.66534',\n",
       "  '0.386901 0.386901 2.64919',\n",
       "  '0.455658 0.455658 2.62952',\n",
       "  '0.525142 0.525142 2.60622',\n",
       "  '0.595119 0.595119 2.57918',\n",
       "  '0.665338 0.665338 2.54834',\n",
       "  '0.735536 0.735536 2.51369',\n",
       "  '0.80544 0.80544 2.47523',\n",
       "  '0.874775 0.874775 2.43303',\n",
       "  '0.943265 0.943265 2.3872',\n",
       "  '1.01064 1.01064 2.33787',\n",
       "  '1.07665 1.07665 2.28525',\n",
       "  '1.14104 1.14104 2.22955',\n",
       "  '1.2036 1.2036 2.17104',\n",
       "  '1.26414 1.26414 2.10999',\n",
       "  '1.32249 1.32249 2.04671',\n",
       "  '1.3785 1.3785 1.98152',\n",
       "  '1.43207 1.43207 1.91474',\n",
       "  '1.48312 1.48312 1.8467',\n",
       "  '1.5316 1.5316 1.77772',\n",
       "  '1.57749 1.57749 1.7081',\n",
       "  '1.62079 1.62079 1.63815',\n",
       "  '1.66152 1.66152 1.56814',\n",
       "  '1.69973 1.69973 1.49833',\n",
       "  '1.73549 1.73549 1.42894',\n",
       "  '0 0 -0.306552',\n",
       "  '29',\n",
       "  '4',\n",
       "  '0',\n",
       "  '1',\n",
       "  '2',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '2',\n",
       "  '3',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '3',\n",
       "  '4',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '4',\n",
       "  '5',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '5',\n",
       "  '6',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '6',\n",
       "  '7',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '7',\n",
       "  '8',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '8',\n",
       "  '9',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '9',\n",
       "  '10',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '10',\n",
       "  '11',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '11',\n",
       "  '12',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '12',\n",
       "  '13',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '13',\n",
       "  '14',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '14',\n",
       "  '15',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '15',\n",
       "  '16',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '16',\n",
       "  '17',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '17',\n",
       "  '18',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '18',\n",
       "  '19',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '19',\n",
       "  '20',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '20',\n",
       "  '21',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '21',\n",
       "  '22',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '22',\n",
       "  '23',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '23',\n",
       "  '24',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '24',\n",
       "  '25',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '25',\n",
       "  '26',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '26',\n",
       "  '27',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '27',\n",
       "  '28',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '28',\n",
       "  '29',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '29',\n",
       "  '30',\n",
       "  '0&quot;',\n",
       "  'color pmesh translucent 0.6 [0,102,255]',\n",
       "  'pmesh obj_70 inline &quot;21',\n",
       "  '2.12553 0 1.81898',\n",
       "  '2.12453 0.092189 1.81798',\n",
       "  '2.12146 0.185925 1.81491',\n",
       "  '2.11623 0.280966 1.80967',\n",
       "  '2.10874 0.377047 1.80219',\n",
       "  '2.09895 0.473881 1.7924',\n",
       "  '2.08681 0.571163 1.78026',\n",
       "  '2.07229 0.668575 1.76574',\n",
       "  '2.0554 0.76579 1.74885',\n",
       "  '2.03616 0.862478 1.72961',\n",
       "  '2.01462 0.958309 1.70807',\n",
       "  '1.99086 1.05296 1.68431',\n",
       "  '1.96496 1.14613 1.65841',\n",
       "  '1.93705 1.23752 1.6305',\n",
       "  '1.90725 1.32687 1.6007',\n",
       "  '1.87571 1.41393 1.56916',\n",
       "  '1.8426 1.49848 1.53604',\n",
       "  '1.80807 1.58036 1.50152',\n",
       "  '1.77231 1.6594 1.46576',\n",
       "  '1.73549 1.73549 1.42894',\n",
       "  '0 0 -0.306552',\n",
       "  '19',\n",
       "  '4',\n",
       "  '0',\n",
       "  '1',\n",
       "  '2',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '2',\n",
       "  '3',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '3',\n",
       "  '4',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '4',\n",
       "  '5',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '5',\n",
       "  '6',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '6',\n",
       "  '7',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '7',\n",
       "  '8',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '8',\n",
       "  '9',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '9',\n",
       "  '10',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '10',\n",
       "  '11',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '11',\n",
       "  '12',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '12',\n",
       "  '13',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '13',\n",
       "  '14',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '14',\n",
       "  '15',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '15',\n",
       "  '16',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '16',\n",
       "  '17',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '17',\n",
       "  '18',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '18',\n",
       "  '19',\n",
       "  '0',\n",
       "  '4',\n",
       "  '0',\n",
       "  '19',\n",
       "  '20',\n",
       "  '0&quot;',\n",
       "  'color pmesh translucent 0.6 [204,0,255]',\n",
       "  'select atomno = 5',\n",
       "  'color atom  [0,0,0]',\n",
       "  'label &quot;\\sigma_0&quot;',\n",
       "  'select atomno = 6',\n",
       "  'color atom  [0,0,0]',\n",
       "  'label &quot;\\sigma_1&quot;',\n",
       "  'select atomno = 7',\n",
       "  'color atom  [0,0,0]',\n",
       "  'label &quot;\\sigma_2&quot;',\n",
       "  'select atomno = 8',\n",
       "  'color atom  [0,0,0]',\n",
       "  'label &quot;\\sigma_3&quot;',\n",
       "  'select atomno = 9',\n",
       "  'color atom  [0,0,0]',\n",
       "  'label &quot;\\sigma_4&quot;',\n",
       "  'isosurface fullylit; pmesh o* fullylit; set antialiasdisplay on;',\n",
       "].join('\\n');;\n",
       "    var Info = {\n",
       "      width: '100%',\n",
       "      height: '500',\n",
       "      debug: false,\n",
       "      disableInitialConsole: true,   // very slow when used with inline mesh\n",
       "      color: '#3131ff',\n",
       "      addSelectionOptions: false,\n",
       "      use: 'HTML5',\n",
       "      j2sPath: '/nbextensions/jsmol/j2s',\n",
       "      script: script,\n",
       "    };\n",
       "    var jmolApplet0 = Jmol.getApplet('jmolApplet0', Info);\n",
       "  </script>\n",
       "</body>\n",
       "</html>\n",
       "\" \n",
       "        width=\"100%\"\n",
       "        height=\"500\"\n",
       "        style=\"border: 0;\">\n",
       "</iframe>\n"
      ],
      "text/plain": [
       "Graphics3d Object"
      ]
     },
     "execution_count": 286,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "toric_varieties.Conifold(\n",
    ").fan().subdivide(make_simplicial=True).plot()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Subschemes\n",
    "----------\n",
    "\n",
    "Homogeneoeus equations define subschemes"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 288,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Closed subscheme of 2-d CPR-Fano toric variety covered by 3 affine patches defined by:\n",
       "  x^3 + y^3 + z^3"
      ]
     },
     "execution_count": 288,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "P2.<x,y,z> = toric_varieties.P2()\n",
    "E = P2.subscheme(x^3+y^3+z^3)\n",
    "E"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 289,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Closed subscheme of 2-d affine toric variety defined by:\n",
       "  x^3 + y^3 + 1"
      ]
     },
     "execution_count": 289,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "E.affine_patch(0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 290,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "True"
      ]
     },
     "execution_count": 290,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "E.is_smooth()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 291,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Set of rational points of Closed subscheme of 2-d CPR-Fano toric variety covered by 3 affine patches defined by:\n",
       "  x^3 + y^3 + z^3"
      ]
     },
     "execution_count": 291,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "E.change_ring(GF(5)).point_set()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 292,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[[0 : 1 : 4], [1 : 0 : 4], [1 : 4 : 0], [1 : 2 : 1], [1 : 1 : 2], [1 : 3 : 3]]"
      ]
     },
     "execution_count": 292,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "list(_)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Relation with polytopes\n",
    "-----------------------\n",
    "\n",
    "A lattice polytope containing the origin defines two rational polyhedral fans"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 293,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nSUVORK5CYII=\n",
      "text/plain": [
       "Graphics Array of size 1 x 2"
      ]
     },
     "execution_count": 293,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "triangle = Polyhedron([(-1, 0), (0, -1), (2,3)])\n",
    "graphics_array([\n",
    "        triangle.plot() + FaceFan(triangle).plot(), \n",
    "        triangle.plot() + NormalFan(triangle).plot()\n",
    "])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 294,
   "metadata": {
    "collapsed": false,
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "<iframe srcdoc=\"\n",
       "<html>\n",
       "<head>\n",
       "  <style>\n",
       "    * {\n",
       "      margin: 0;\n",
       "      padding: 0;\n",
       "      overflow: hidden;\n",
       "    }\n",
       "    body, html {      \n",
       "      height: 100%;\n",
       "      width: 100%;\n",
       "    }\n",
       "  </style>\n",
       "  <script type=&quot;text/javascript&quot; src=&quot;/nbextensions/jsmol/JSmol.min.js&quot;></script>\n",
       "</head>\n",
       "<body>\n",
       "  <script type=&quot;text/javascript&quot;>\n",
       "    var script = [\n",
       "  'data &quot;model list&quot;',\n",
       "  '10',\n",
       "  'empty',\n",
       "  'Xx -3.0 -4.0 -3.0',\n",
       "  'Xx 0.0 -4.0 -3.0',\n",
       "  'Xx 3.0 -4.0 -3.0',\n",
       "  'Xx 4.0 -3.0 -3.0',\n",
       "  'Xx 4.0 0.0 -3.0',\n",
       "  'Xx 4.0 3.0 -3.0',\n",
       "  'Xx -4.0 -3.0 -3.0',\n",
       "  'Xx -4.0 -3.0 0.0',\n",
       "  'Xx -4.0 -3.0 3.0',\n",
       "  'Xx 5.5 5.5 5.5',\n",
       "  'end &quot;model list&quot;; show data',\n",
       "  'select *',\n",
       "  'wireframe off; spacefill off',\n",
       "  'set labelOffset 0 0',\n",
       "  'background [255,255,255]',\n",
       "  'spin OFF',\n",
       "  'moveto 0 -764 -346 -545 76.39',\n",
       "  'centerAt absolute {0 0 0}',\n",
       "  'zoom 100',\n",
       "  'frank OFF',\n",
       "  'set perspectivedepth ON',\n",
       "  'draw point_1 DIAMETER 5 {-3.0 -3.0 -3.0}',\n",
       "  'color $point_1  [0,0,255]',\n",
       "  'draw point_2 DIAMETER 5 {-3.0 -3.0 3.0}',\n",
       "  'color $point_2  [0,0,255]',\n",
       "  'draw point_3 DIAMETER 5 {-3.0 3.0 3.0}',\n",
       "  'color $point_3  [0,0,255]',\n",
       "  'draw point_4 DIAMETER 5 {3.0 -3.0 3.0}',\n",
       "  'color $point_4  [0,0,255]',\n",
       "  'draw point_5 DIAMETER 5 {3.0 3.0 3.0}',\n",
       "  'color $point_5  [0,0,255]',\n",
       "  'draw line_6 diameter 1 curve {-3.0 -3.0 -3.0}  {-3.0 -3.0 3.0} ',\n",
       "  'color $line_6  [0,0,255]',\n",
       "  'draw line_7 diameter 1 curve {-3.0 -3.0 -3.0}  {-3.0 3.0 3.0} ',\n",
       "  'color $line_7  [0,0,255]',\n",
       "  'draw line_8 diameter 1 curve {-3.0 -3.0 -3.0}  {3.0 -3.0 3.0} ',\n",
       "  'color $line_8  [0,0,255]',\n",
       "  'draw line_9 diameter 1 curve {-3.0 -3.0 -3.0}  {3.0 3.0 3.0} ',\n",
       "  'color $line_9  [0,0,255]',\n",
       "  'draw line_10 diameter 1 curve {-3.0 -3.0 3.0}  {-3.0 3.0 3.0} ',\n",
       "  'color $line_10  [0,0,255]',\n",
       "  'draw line_11 diameter 1 curve {-3.0 -3.0 3.0}  {3.0 -3.0 3.0} ',\n",
       "  'color $line_11  [0,0,255]',\n",
       "  'draw line_12 diameter 1 curve {-3.0 3.0 3.0}  {3.0 3.0 3.0} ',\n",
       "  'color $line_12  [0,0,255]',\n",
       "  'draw line_13 diameter 1 curve {3.0 -3.0 3.0}  {3.0 3.0 3.0} ',\n",
       "  'color $line_13  [0,0,255]',\n",
       "  'pmesh obj_14 inline &quot;4',\n",
       "  '3 3 3',\n",
       "  '-3 3 3',\n",
       "  '-3 -3 3',\n",
       "  '3 -3 3',\n",
       "  '1',\n",
       "  '5',\n",
       "  '0',\n",
       "  '1',\n",
       "  '2',\n",
       "  '3',\n",
       "  '0&quot;',\n",
       "  'color pmesh  [0,128,0]',\n",
       "  'pmesh obj_15 inline &quot;3',\n",
       "  '3 -3 3',\n",
       "  '-3 -3 -3',\n",
       "  '-3 -3 3',\n",
       "  '1',\n",
       "  '4',\n",
       "  '0',\n",
       "  '1',\n",
       "  '2',\n",
       "  '0&quot;',\n",
       "  'color pmesh  [0,128,0]',\n",
       "  'pmesh obj_16 inline &quot;3',\n",
       "  '-3 3 3',\n",
       "  '-3 -3 -3',\n",
       "  '-3 -3 3',\n",
       "  '1',\n",
       "  '4',\n",
       "  '0',\n",
       "  '1',\n",
       "  '2',\n",
       "  '0&quot;',\n",
       "  'color pmesh  [0,128,0]',\n",
       "  'pmesh obj_17 inline &quot;3',\n",
       "  '3 3 3',\n",
       "  '-3 -3 -3',\n",
       "  '-3 3 3',\n",
       "  '1',\n",
       "  '4',\n",
       "  '0',\n",
       "  '1',\n",
       "  '2',\n",
       "  '0&quot;',\n",
       "  'color pmesh  [0,128,0]',\n",
       "  'pmesh obj_18 inline &quot;3',\n",
       "  '3 3 3',\n",
       "  '-3 -3 -3',\n",
       "  '3 -3 3',\n",
       "  '1',\n",
       "  '4',\n",
       "  '0',\n",
       "  '1',\n",
       "  '2',\n",
       "  '0&quot;',\n",
       "  'color pmesh  [0,128,0]',\n",
       "  'draw line_19 diameter 1 curve {-3.0 -3.0 -3.0}  {-3.0 3.0 -3.0} ',\n",
       "  'color $line_19 translucent 0.5 [0,0,0]',\n",
       "  'draw line_20 diameter 1 curve {-3.0 3.0 -3.0}  {3.0 3.0 -3.0} ',\n",
       "  'color $line_20 translucent 0.5 [0,0,0]',\n",
       "  'draw line_21 diameter 1 curve {3.0 3.0 -3.0}  {3.0 -3.0 -3.0} ',\n",
       "  'color $line_21 translucent 0.5 [0,0,0]',\n",
       "  'draw line_22 diameter 1 curve {3.0 -3.0 -3.0}  {-3.0 -3.0 -3.0} ',\n",
       "  'color $line_22 translucent 0.5 [0,0,0]',\n",
       "  'draw line_23 diameter 1 curve {-3.0 -3.0 -3.0}  {-3.0 -3.0 3.0} ',\n",
       "  'color $line_23 translucent 0.5 [0,0,0]',\n",
       "  'draw line_24 diameter 1 curve {-3.0 -3.0 3.0}  {-3.0 3.0 3.0} ',\n",
       "  'color $line_24 translucent 0.5 [0,0,0]',\n",
       "  'draw line_25 diameter 1 curve {-3.0 3.0 3.0}  {3.0 3.0 3.0} ',\n",
       "  'color $line_25 translucent 0.5 [0,0,0]',\n",
       "  'draw line_26 diameter 1 curve {3.0 3.0 3.0}  {3.0 -3.0 3.0} ',\n",
       "  'color $line_26 translucent 0.5 [0,0,0]',\n",
       "  'draw line_27 diameter 1 curve {3.0 -3.0 3.0}  {-3.0 -3.0 3.0} ',\n",
       "  'color $line_27 translucent 0.5 [0,0,0]',\n",
       "  'draw line_28 diameter 1 curve {-3.0 -3.0 3.0} ',\n",
       "  'color $line_28 translucent 0.5 [0,0,0]',\n",
       "  'draw line_29 diameter 1 curve {-3.0 3.0 -3.0}  {-3.0 3.0 3.0} ',\n",
       "  'color $line_29 translucent 0.5 [0,0,0]',\n",
       "  'draw line_30 diameter 1 curve {3.0 -3.0 -3.0}  {3.0 -3.0 3.0} ',\n",
       "  'color $line_30 translucent 0.5 [0,0,0]',\n",
       "  'draw line_31 diameter 1 curve {3.0 3.0 -3.0}  {3.0 3.0 3.0} ',\n",
       "  'color $line_31 translucent 0.5 [0,0,0]',\n",
       "  'select atomno = 1',\n",
       "  'color atom  [76,76,76]',\n",
       "  'label &quot;0.00&quot;',\n",
       "  'select atomno = 2',\n",
       "  'color atom  [76,76,76]',\n",
       "  'label &quot;0.50&quot;',\n",
       "  'select atomno = 3',\n",
       "  'color atom  [76,76,76]',\n",
       "  'label &quot;1.00&quot;',\n",
       "  'select atomno = 4',\n",
       "  'color atom  [76,76,76]',\n",
       "  'label &quot;0.00&quot;',\n",
       "  'select atomno = 5',\n",
       "  'color atom  [76,76,76]',\n",
       "  'label &quot;0.50&quot;',\n",
       "  'select atomno = 6',\n",
       "  'color atom  [76,76,76]',\n",
       "  'label &quot;1.00&quot;',\n",
       "  'select atomno = 7',\n",
       "  'color atom  [76,76,76]',\n",
       "  'label &quot;0.00&quot;',\n",
       "  'select atomno = 8',\n",
       "  'color atom  [76,76,76]',\n",
       "  'label &quot;0.50&quot;',\n",
       "  'select atomno = 9',\n",
       "  'color atom  [76,76,76]',\n",
       "  'label &quot;1.00&quot;',\n",
       "  'isosurface fullylit; pmesh o* fullylit; set antialiasdisplay on;',\n",
       "].join('\\n');;\n",
       "    var Info = {\n",
       "      width: '100%',\n",
       "      height: '500',\n",
       "      debug: false,\n",
       "      disableInitialConsole: true,   // very slow when used with inline mesh\n",
       "      color: '#3131ff',\n",
       "      addSelectionOptions: false,\n",
       "      use: 'HTML5',\n",
       "      j2sPath: '/nbextensions/jsmol/j2s',\n",
       "      script: script,\n",
       "    };\n",
       "    var jmolApplet0 = Jmol.getApplet('jmolApplet0', Info);\n",
       "  </script>\n",
       "</body>\n",
       "</html>\n",
       "\" \n",
       "        width=\"100%\"\n",
       "        height=\"500\"\n",
       "        style=\"border: 0;\">\n",
       "</iframe>\n"
      ],
      "text/plain": [
       "Graphics3d Object"
      ]
     },
     "execution_count": 294,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "square_pyramid = Polyhedron([(0,0,0), (0,0,1), (1,0,1), (0,1,1), (1,1,1)])\n",
    "square_pyramid.plot()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 295,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[(<0,1,2,3>, <0,2,3,4>), (<0,1,2,4>, <0,1,3,4>)]"
      ]
     },
     "execution_count": 295,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pc = PointConfiguration(square_pyramid.vertices())\n",
    "list(pc.triangulations())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Cohomology Ring\n",
    "---------------\n",
    "\n",
    "The homogeneous coordinates $z_i$ define divisors $V(z_i) = \\{z_i=0\\}$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 296,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(V(x), V(y), V(z))"
      ]
     },
     "execution_count": 296,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "P2.<x,y,z> = toric_varieties.P2()\n",
    "P2.divisor(x), P2.divisor(y), P2.divisor(z)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 297,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "V(x) + V(y)"
      ]
     },
     "execution_count": 297,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "D = P2.divisor(x) + P2.divisor(y);  D"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 298,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Group of toric ZZ-Weil divisors on 2-d CPR-Fano toric variety covered by 3 affine patches"
      ]
     },
     "execution_count": 298,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "D.parent()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 299,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "True"
      ]
     },
     "execution_count": 299,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "D.is_Cartier()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The divisors $V(x)$ and $V(y)$ are different but can be moved to each other"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 300,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(Divisor class [2], [2*z], ( 0 | 2 | 0 ))"
      ]
     },
     "execution_count": 300,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "P2.rational_class_group()(D), D.cohomology_class(), D.Chow_cycle()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 301,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(([1],), ([z],), ([z^2],))"
      ]
     },
     "execution_count": 301,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "P2.cohomology_basis()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 302,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "([3*z^2 + 3*z + 1], [z^2 + 3/2*z + 1])"
      ]
     },
     "execution_count": 302,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "P2.Chern_class(), P2.Todd_class()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 303,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "3"
      ]
     },
     "execution_count": 303,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "P2.integrate(P2.Chern_class())   # Euler number"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 304,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "8"
      ]
     },
     "execution_count": 304,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "P2.integrate(P2.Chern_character() * P2.Todd_class())    # Index of the tangent bundle"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Torus equivariant bundles\n",
    "-------------------------\n",
    "\n",
    "Defining data for Klyachko bundles\n",
    "* Vector space over big torus orbit $(\\mathbb{C}^\\times)^n$\n",
    "* Gluing data at the $z_i=0$ divisors: graded filtration for each ray $\\rho_i$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 305,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "TP2 = P2.sheaves.tangent_bundle()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 306,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Vector space of dimension 2 over Rational Field"
      ]
     },
     "execution_count": 306,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "TP2.fiber()     # Vector space over big torus"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 307,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Filtrations\n",
       "    N(-1, -1): QQ^2 >= QQ^1 >= 0\n",
       "      N(0, 1): QQ^2 >= QQ^1 >= 0\n",
       "      N(1, 0): QQ^2 >= QQ^1 >= 0"
      ]
     },
     "execution_count": 307,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "TP2.get_filtration()    # graded filtration for each ray"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 308,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Vector space of degree 2 and dimension 1 over Rational Field\n",
       "Basis matrix:\n",
       "[0 1]"
      ]
     },
     "execution_count": 308,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "TP2.get_filtration((0,1)).get_degree(1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 310,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Vector space of degree 2 and dimension 1 over Rational Field\n",
       "Basis matrix:\n",
       "[  1 3/8]"
      ]
     },
     "execution_count": 310,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "TP2.random_deformation().get_filtration((0,1)).get_degree(1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Graded semiring structure for graded multi-filtrations is semiring of torus-quivariant sheaves"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 311,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Rank 1 bundle on 2-d CPR-Fano toric variety covered by 3 affine patches."
      ]
     },
     "execution_count": 311,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "D = P2.divisor(x)\n",
    "P2.sheaves.line_bundle(D)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 312,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Rank 3 bundle on 2-d CPR-Fano toric variety covered by 3 affine patches."
      ]
     },
     "execution_count": 312,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "V = TP2.wedge(2) + P2.sheaves.line_bundle(-D) * TP2;  V"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 313,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(2, 0, 0)"
      ]
     },
     "execution_count": 313,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "V.cohomology(weight=(0,0), dim=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 314,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(2, 0, 0)"
      ]
     },
     "execution_count": 314,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "TP2.cohomology(weight=(0,0), dim=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "SageMath 7.3.beta2",
   "language": "",
   "name": "sagemath"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
