{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Vector calculus in the Euclidean plane\n", "\n", "This notebook illustrates some vector calculus capabilities of SageMath within the 2-dimensional Euclidean space. The corresponding tools have been developed within\n", "the [SageManifolds](https://sagemanifolds.obspm.fr) project (version 1.3, as included in SageMath 8.3).\n", "\n", "Click [here](https://raw.githubusercontent.com/sagemanifolds/SageManifolds/master/Worksheets/v1.3/SM_Euclidean_plane.ipynb) to download the notebook file (ipynb format). To run it, you must start SageMath with the Jupyter interface, via the command `sage -n jupyter`" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "*NB:* a version of SageMath at least equal to 8.3 is required to run this notebook:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'SageMath version 8.3, Release Date: 2018-08-03'" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "version()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "First we set up the notebook to display math formulas using LaTeX formatting:" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "%display latex" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1. Defining the Euclidean plane\n", "\n", "We define the Euclidean plane $\\mathbb{E}^2$ as a 2-dimensional Euclidean space, with Cartesian coordinates $(x,y)$:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Euclidean plane E^2\n" ] }, { "data": { "text/html": [ "" ], "text/plain": [ "Euclidean plane E^2" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "E. = EuclideanSpace()\n", "print(E)\n", "E" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Thanks to the use of `` in the above command, the Python variables `x` and `y` are assigned to the symbolic variables $x$ and $y$ describing the Cartesian coordinates: " ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "type(y)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Instead of using the variables `x` and `y`, one may also access to the coordinates by their indices in the chart of Cartesian coordinates:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "Chart (E^2, (x, y))" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cartesian = E.cartesian_coordinates()\n", "cartesian" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "x" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cartesian[1]" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "y" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cartesian[2]" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "True" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "y is cartesian[2]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Each of the Cartesian coordinates spans the entire real line:" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "x: (-oo, +oo); y: (-oo, +oo)" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cartesian.coord_range()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 2. Vector fields" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The Euclidean plane $\\mathbb{E}^2$ is canonically endowed with the vector frame associated with Cartesian coordinates:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "Coordinate frame (E^2, (e_x,e_y))" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "E.default_frame()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Vector fields on $\\mathbb{E}^2$ are then defined from their components in that frame:" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "v = -y e_x + x e_y" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "v = E.vector_field(-y, x, name='v')\n", "v.display()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The access to individual components is performed by the square bracket operator:" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "-y" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "v[1]" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "[-y, x]" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "v[:]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A plot of the vector field $v$ (this is with default parameters, see the [list of options](http://doc.sagemath.org/html/en/reference/manifolds/sage/manifolds/differentiable/vectorfield.html#sage.manifolds.differentiable.vectorfield.VectorField.plot) for customizing the plot):" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAw8AAAJICAYAAAAn9ti2AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAIABJREFUeJzs3Xd4FGXXBvB7k5BQAqGTgNK7SG+idOkERQEJHUSxAfYCFkBfigo2VLCjoVkAUZEmYAQUkBqkSa+hkxAgIck+3x/nG2dnd5NsL8n9u665YGd3Z57dbDZznnKOSSmlQERERERElIsQfzeAiIiIiIiCA4MHIiIiIiJyCIMHIiIiIiJyCIMHIiIiIiJyCIMHIiIiIiJyCIMHIiIiIiJyCIMHIiIiIiJyCIMHIiIiIiJyCIMHIiIiIiJyCIMHIiIiIiJyCIMHIiIiIiJyCIMHIiIiIiJyCIMHIiIiIiJyCIMHIiIiIiJyCIMHIiIiIiJyCIMHIiIiIiJyCIMHIqI86NKlSxg5ciR69+6Nvn37IiMjw3D/Cy+8gPvvv99PrSMiomBlUkopfzeCiIg864knnsDLL7+Mixcvol69eli6dCliY2MBAEoplCpVCk2bNsXKlSv93FIiIgomHHkgIspj9u7di5iYGERHR2Pjxo0AgLJly/53f2JiIi5fvowOHTr4q4lERBSkGDwQEeUx58+fx+DBgwEAX3/9NapXr47mzZv/d39CQgIAMHggIiKnhfm7AURE5Flt2rQBABw/fhzr16/HG2+8AZPJ9N/9CQkJKFasGJo0aeKvJhIRUZDiyAMRUR61aNEiAECfPn0M+xMSEtCmTRuEhob6o1lERBTEGDwQEeVRW7ZsQUxMDGrVqvXfvv379+Ps2bOcskRERC5h8EBElEddvHgRlSpVMuxbvXo1AKB9+/b+aBIREQU5Bg9ERHlU06ZNcfz4cWRlZQEAdu3ahVdeeQUlS5ZEgwYN/Nw6IiIKRlwwTUSUR40bNw4nT55E9+7dUb16dURGRiIjIwPdunUzLKAmIiJyFIvEERHlQUoppKWloVChQv/tW7JkCXr37o2ffvoJPXv29GPriIgoWDF4ICLKg7p06YI///wTZ86cQZEiRaCUwp133olixYph+fLl/m4eEREFKa55ICLKg7Zs2YLmzZujUKFCyMrKwlNPPQWz2YyFCxf6u2lERBTEOPJARJQHrVq1CqtWrcL169dx7tw5NG/eHGPHjkWBAgX83TQiIgpiDB6IiIiIiMghnLZEREREREQOYfBAREREREQOYfBAREREREQOYfBAREREREQOYfBAREREREQOYfBAREREREQOYfBAREREREQOYfBAREREREQOYfBAREREREQOYfBAREREREQOYfBAREREREQOYfBARJTHKaWQkpICpZS/m0JEREGOwQMRUR539epVREVF4erVq/5uChERBTkGD0RERERE5BAGD0RERERE5BAGD0RERERE5BAGD0RERERE5BAGD0RERERE5BAGD0RERERE5BAGD0RERERE5BAGD0RERERE5BAGD0RERERE5JAwfzeAiIh8Iza2P7ZuDUPRonEYMCAODRsCdeoAtWsDkZH+bh0REQUDBg9ERPlE8eILcO1aMVy7BsyYYbzv1lslkLDeypTxT1uJiCgwmZRSyt+NICIi70lJSUFUVBQ++ywZI0cWc+q5pUpJEFG3rvzbqhXQvLmXGkpERAGPwQMRUR6nBQ/Jycno0aMY1q9373hz5wIDBnimbUREFFy4YJqIKB955x33j3HhgvvHICKi4MTggYgoH2naFLjvPtefX7s2MHKk59pDRETBhcEDEVE+88YbQIgL3/7h4cC8eUDhwp5vExERBQcGD0RE+UydOsCQIc4/b+pUoFEjz7eHiIiCBxdMExHlcZYLposVk2xLR48CNWsCGRmOHaNzZ+DXX10bsSAioryDfwaIiPKhypWBRx5x7LEmEzBoEAMHIiJi8EBEFHASEhIQGxuL8uXLw2QyYcmSJYb7hw0bBpPJZNhatmzp9HnGj3ds/YJSMs3piSeAGzecPg0REeUhDB6IiALMtWvX0KBBA8ycOTPbx3Tt2hVnzpz5b1u2bJnT5ylXDnjyyZwfU6WK/v8PPwSaNQMSE50+FRER5REMHoiIAky3bt3wxhtv4L4ccqpGREQgOjr6v61kyZIuneu554ASJezfV68esHs38NFHQMGCsu+ffySAmDlTRiSIiCh/YfBARBSE1q1bh7Jly6JmzZp46KGHcO7cOZeOU7w48MILtvsjIoD582Va06OPAn//Ddx+u9yXng6MHg3ExgLnz7vxIoiIKOgweCAiCjLdunXD3LlzsWbNGkyfPh1btmxBhw4dkJ6e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fPghULYsx37/HbjhBuCVV4CcHOu5GRkZaNOmDcaPH5/vOQcNGoTDhw//9TVlypQAvgMRERGKKOwJiIiUBGFhQL9+QOvWQO/ewM8/AxcvAs88A3z1FfDRR0D16kDfvn0BAPv27cv3fDExMahSpUoQZi4iImLRyoOISBDVrcumciNHMqAAgO++A5o2BT791P3zpKSkIC4uDo0aNcLw4cORnp4emAmLiIjYUfAgIhJkpUsDY8cyaKhenWMnTwLdugGDBwNnz+Z/fJ8+fTBr1iwsX74cTz75HObNm4e77ror8BMXEZEST8GDiEghOXgwBWfOlEV4eFkAZQGswOTJwHXXAdu25X3coEGD0KlTJ6SkNMbAgb2idDgGAAADZUlEQVRQr94n+Oabb7B+/fpgTV1EREqoMGOMKexJiIiUROnp6Th69CiMYf+Hl1+ujszMaABA6dL7kJVVG+vXb0Dz5s2cjl2wALAWGwwiIqKQnDwDPXv2dHpuWloaYmNjkZCQgIgIx61uiYmJSExM9PdbExGRYkrBg4hIiNixA0hMZGlXYB+A2mjdegPmz2+Gyy+3nnfgAPdInDplG9kKoAmWLfseHTq0dzqvLXhITU1F+fLlA/02RESkGFPakohIiGjQAFiy5BT69t0IgHlLq1fvxNVXb0RKyhEAwG+/7Ua7di/i1KlfwABjCYB7ADTH0aNtCmfiIiJSYmjlQUQkhEyfPh0DBgxw8ZPRGDr0eZQu/V9MmJAErjb8CeAKAJ0BjEb9+pWwdSu7W9vTyoOIiPiLggcRkRB17Bhw//3A4sXuH/P++8DAgY5jCh5ERMRflLYkIhKiLrsM+Owz4I03gMhI9455/nkgMzOg0xIRkRJMwYOISAgLCwOGDAESEtx7/oEDwDvvBHZOIiJScil4EBEJcbNne9Z9euxYQA2nRUQkEBQ8iIiEsH37gIcf9uyYEyeAiRMDMh0RESnhFDyIiISoixeBpCQgNdXzYydMYBAhIiLiTwoeRERC1CuvAKtWeXdsejowfrx/5yMiIqJSrSIiIapJE2DrVu+Pj4oCdu0CypdXqVYREfEPrTyIiISoYcOASpW8P/78eeDRR/03HxEREa08iIiEMGOAI0eA7dudvw4fdu8cW7akoUkTrTyIiIjvIgp7AiIikrewMKBqVX7ddJPjz86ccR1U7N3LoMOmdOngzllERIovrTyIiBQz584xiPjyS6BdO6BpU+15EBER/1DwICJSzKWlMXhISEhAREQEEhMTkZiYWNjTEhGRIkjBg4hIMWcLHrTyICIivlK1JRERERERcYuCBxERERERcYuCBxERERERcYuCBxERERERcYuCBxERERERcYuCBxERERERcYuCBxERERERcYuCBxERERERcYuCBxERERERcYs6TIuIFHPGGKSnp6NcuXIICwsr7OmIiEgRpuBBRERERETcorQlERERERFxi4IHERERERFxi4IHERERERFxi4IHERERERFxi4IHERERERFxi4IHERERERFxi4IHERERERFxy/8DVi1K/tNNtNgAAAAASUVORK5CYII=\n", "text/plain": [ "Graphics object consisting of 80 graphics primitives" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "v.plot()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "One may also define a vector field by setting the components in a second stage:" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "w = w_x(x, y) e_x + w_y(x, y) e_y" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "w = E.vector_field(name='w')\n", "w[1] = function('w_x')(x,y)\n", "w[2] = function('w_y')(x,y)\n", "w.display()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that in the above example the components of $w$ are unspecified functions of $(x,y)$, contrary to the components of $v$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Standard linear algebra operations are available on vector fields:" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "(x*w_x(x, y) - 2*y) e_x + (x*w_y(x, y) + 2*x) e_y" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "s = 2*v + x*w\n", "s.display()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Scalar product and norm\n", "\n", "The dot (scalar) product of $v$ by $w$ in performed by the operator `dot_product`; it gives rise to a scalar field on $\\mathbb{E}^2$:" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Scalar field v.w on the Euclidean plane E^2\n" ] } ], "source": [ "s = v.dot_product(w)\n", "print(s)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A shortcut alias of `dot_product` is `dot`:" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "True" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "s == v.dot(w)" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "v.w: E^2 --> R\n", " (x, y) |--> -y*w_x(x, y) + x*w_y(x, y)" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "s.display()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The symbolic expression representing the scalar field $v\\cdot w$ is obtained by means of the method `expr()`:" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "-y*w_x(x, y) + x*w_y(x, y)" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "s.expr()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The Euclidean norm of the vector field $v$ is a scalar field on $\\mathbb{E}^2$:" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "|v|: E^2 --> R\n", " (x, y) |--> sqrt(x^2 + y^2)" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "s = norm(v)\n", "s.display()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Again, the corresponding symbolic expression is obtained via `expr()`:" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "sqrt(x^2 + y^2)" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "s.expr()" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "sqrt(w_x(x, y)^2 + w_y(x, y)^2)" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "norm(w).expr()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We have of course $\\|v\\|^2 = v\\cdot v$ :" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "True" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "norm(v)^2 == v.dot(v)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Values at a given point\n", "\n", "We introduce a point $p\\in \\mathbb{E}^2$ via the generic SageMath syntax for creating an element from its parent (here $\\mathbb{E}^2$), i.e. the call operator `()`, with the Cartesian coordinates of the point as the first argument:" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Point p on the Euclidean plane E^2\n" ] } ], "source": [ "p = E((-2,3), name='p')\n", "print(p)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The coordinates of $p$ are returned by the method ``coord()``:" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "(-2, 3)" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "p.coord()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "or by letting the chart `cartesian` act on the point:" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "(-2, 3)" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cartesian(p)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The value of the scalar field ``s = norm(v)`` at $p$ is" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "sqrt(13)" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "s(p)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The value of a vector field at $p$ is obtained by the method `at` (since the call operator `()` is reserved for the action of vector fields on scalar fields, see Section 5 below):" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Vector v at Point p on the Euclidean plane E^2\n" ] } ], "source": [ "vp = v.at(p)\n", "print(vp)" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "v = -3 e_x - 2 e_y" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "vp.display()" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "w = w_x(-2, 3) e_x + w_y(-2, 3) e_y" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "wp = w.at(p)\n", "wp.display()" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "(pi*w_x(-2, 3) - 3) e_x + (pi*w_y(-2, 3) - 2) e_y" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "s = v.at(p) + pi*w.at(p)\n", "s.display()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 3. Differential operators\n", "\n", "Tu use functional notations, i.e. `div(v)` instead of `v.div()` for the divergence of the vector field `v`, we import the functions `div`, `grad`, etc. in the global namespace:" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [], "source": [ "from sage.manifolds.operators import *" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Divergence\n", "\n", "The divergence of a vector field is returned by the function `div`; the output is a scalar field on $\\mathbb{E}^2$:" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Scalar field div(v) on the Euclidean plane E^2\n" ] } ], "source": [ "print(div(v))" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "div(v): E^2 --> R\n", " (x, y) |--> 0" ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ "div(v).display()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In the present case, $\\mathrm{div}\\, v$ vanishes identically:" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "True" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "div(v) == 0" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On the contrary, the divergence of $w$ is" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "div(w): E^2 --> R\n", " (x, y) |--> d(w_x)/dx + d(w_y)/dy" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "div(w).display()" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "diff(w_x(x, y), x) + diff(w_y(x, y), y)" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "div(w).expr()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Gradient\n", "\n", "The gradient of a scalar field, e.g. `s = norm(v)`, is returned by the function `grad`; the output is a vector field:" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Vector field grad(|v|) on the Euclidean plane E^2\n" ] } ], "source": [ "s = norm(v)\n", "print(grad(s))" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "grad(|v|) = x/sqrt(x^2 + y^2) e_x + y/sqrt(x^2 + y^2) e_y" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "grad(s).display()" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "y/sqrt(x^2 + y^2)" ] }, "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "source": [ "grad(s)[2]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For a generic scalar field" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [], "source": [ "F = E.scalar_field(function('f')(x,y), name='F')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "we have" ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "grad(F) = d(f)/dx e_x + d(f)/dy e_y" ] }, "execution_count": 43, "metadata": {}, "output_type": "execute_result" } ], "source": [ "grad(F).display()" ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "[d(f)/dx, d(f)/dy]" ] }, "execution_count": 44, "metadata": {}, "output_type": "execute_result" } ], "source": [ "grad(F)[:]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Of course, we may combine `grad` and `div`:" ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "grad(div(w)) = (d^2(w_x)/dx^2 + d^2(w_y)/dxdy) e_x + (d^2(w_x)/dxdy + d^2(w_y)/dy^2) e_y" ] }, "execution_count": 45, "metadata": {}, "output_type": "execute_result" } ], "source": [ "grad(div(w)).display()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Laplace operator\n", "\n", "The Laplace operator is obtained by the function `laplacian`; it can act on a scalar field:" ] }, { "cell_type": "code", "execution_count": 46, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "Delta(F): E^2 --> R\n", " (x, y) |--> d^2(f)/dx^2 + d^2(f)/dy^2" ] }, "execution_count": 46, "metadata": {}, "output_type": "execute_result" } ], "source": [ "laplacian(F).display()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "as well as on a vector field:" ] }, { "cell_type": "code", "execution_count": 47, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "Delta(w) = (d^2(w_x)/dx^2 + d^2(w_x)/dy^2) e_x + (d^2(w_y)/dx^2 + d^2(w_y)/dy^2) e_y" ] }, "execution_count": 47, "metadata": {}, "output_type": "execute_result" } ], "source": [ "laplacian(w).display()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For a scalar field, we have the identity:" ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "True" ] }, "execution_count": 48, "metadata": {}, "output_type": "execute_result" } ], "source": [ "laplacian(F) == div(grad(F))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 4. Polar coordinates\n", "\n", "Polar coordinates $(r,\\phi)$ are introduced on $\\mathbb{E}^2$ by" ] }, { "cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "Chart (E^2, (r, ph))" ] }, "execution_count": 49, "metadata": {}, "output_type": "execute_result" } ], "source": [ "polar. = E.polar_coordinates()\n", "polar" ] }, { "cell_type": "code", "execution_count": 50, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "r: (0, +oo); ph: (0, 2*pi)" ] }, "execution_count": 50, "metadata": {}, "output_type": "execute_result" } ], "source": [ "polar.coord_range()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "They are related to Cartesian coordinates by the following transformations:" ] }, { "cell_type": "code", "execution_count": 51, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "x = r*cos(ph)\n", "y = r*sin(ph)" ] }, "execution_count": 51, "metadata": {}, "output_type": "execute_result" } ], "source": [ "E.coord_change(polar, cartesian).display()" ] }, { "cell_type": "code", "execution_count": 52, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "r = sqrt(x^2 + y^2)\n", "ph = arctan2(y, x)" ] }, "execution_count": 52, "metadata": {}, "output_type": "execute_result" } ], "source": [ "E.coord_change(cartesian, polar).display()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The orthonormal vector frame associated to polar coordinates is" ] }, { "cell_type": "code", "execution_count": 53, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "Vector frame (E^2, (e_r,e_ph))" ] }, "execution_count": 53, "metadata": {}, "output_type": "execute_result" } ], "source": [ "polar_frame = E.polar_frame()\n", "polar_frame" ] }, { "cell_type": "code", "execution_count": 54, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "e_r = x/sqrt(x^2 + y^2) e_x + y/sqrt(x^2 + y^2) e_y" ] }, "execution_count": 54, "metadata": {}, "output_type": "execute_result" } ], "source": [ "er = polar_frame[1]\n", "er.display() # display in the default frame (Cartesian frame) \n", " # with the default coordinates (Cartesian)" ] }, { "cell_type": "code", "execution_count": 55, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "e_r = cos(ph) e_x + sin(ph) e_y" ] }, "execution_count": 55, "metadata": {}, "output_type": "execute_result" } ], "source": [ "er.display(cartesian.frame(), polar) # display in the Cartesian frame\n", " # with components expressed in polar coordinates" ] }, { "cell_type": "code", "execution_count": 56, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "e_ph = -y/sqrt(x^2 + y^2) e_x + x/sqrt(x^2 + y^2) e_y" ] }, "execution_count": 56, "metadata": {}, "output_type": "execute_result" } ], "source": [ "eph = polar_frame[2]\n", "eph.display()" ] }, { "cell_type": "code", "execution_count": 57, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "e_ph = -sin(ph) e_x + cos(ph) e_y" ] }, "execution_count": 57, "metadata": {}, "output_type": "execute_result" } ], "source": [ "eph.display(cartesian.frame(), polar)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We may check that $(e_r, e_\\phi)$ is an orthonormal frame:" ] }, { "cell_type": "code", "execution_count": 58, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "True" ] }, "execution_count": 58, "metadata": {}, "output_type": "execute_result" } ], "source": [ "all([er.dot(er) == 1,\n", " er.dot(eph) == 0,\n", " eph.dot(eph) == 1])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Scalar fields can be expressed in terms of polar coordinates:" ] }, { "cell_type": "code", "execution_count": 59, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "F: E^2 --> R\n", " (x, y) |--> f(x, y)\n", " (r, ph) |--> f(r*cos(ph), r*sin(ph))" ] }, "execution_count": 59, "metadata": {}, "output_type": "execute_result" } ], "source": [ "F.display()" ] }, { "cell_type": "code", "execution_count": 60, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "F: E^2 --> R\n", " (r, ph) |--> f(r*cos(ph), r*sin(ph))" ] }, "execution_count": 60, "metadata": {}, "output_type": "execute_result" } ], "source": [ "F.display(polar)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "and we may ask for the components of vector fields in terms of the polar frame:" ] }, { "cell_type": "code", "execution_count": 61, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "v = -y e_x + x e_y" ] }, "execution_count": 61, "metadata": {}, "output_type": "execute_result" } ], "source": [ "v.display() # default frame and default coordinates (both Cartesian ones)" ] }, { "cell_type": "code", "execution_count": 62, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "v = sqrt(x^2 + y^2) e_ph" ] }, "execution_count": 62, "metadata": {}, "output_type": "execute_result" } ], "source": [ "v.display(polar_frame) # polar frame and default coordinates" ] }, { "cell_type": "code", "execution_count": 63, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "v = r e_ph" ] }, "execution_count": 63, "metadata": {}, "output_type": "execute_result" } ], "source": [ "v.display(polar_frame, polar) # polar frame and polar coordinates" ] }, { "cell_type": "code", "execution_count": 64, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "w = w_x(x, y) e_x + w_y(x, y) e_y" ] }, "execution_count": 64, "metadata": {}, "output_type": "execute_result" } ], "source": [ "w.display()" ] }, { "cell_type": "code", "execution_count": 65, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "w = (cos(ph)*w_x(r*cos(ph), r*sin(ph)) + sin(ph)*w_y(r*cos(ph), r*sin(ph))) e_r + (-sin(ph)*w_x(r*cos(ph), r*sin(ph)) + cos(ph)*w_y(r*cos(ph), r*sin(ph))) e_ph" ] }, "execution_count": 65, "metadata": {}, "output_type": "execute_result" } ], "source": [ "w.display(polar_frame, polar)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Gradient in polar coordinates\n", "\n", "Let us define a generic scalar field in terms of polar coordinates:" ] }, { "cell_type": "code", "execution_count": 66, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "H: E^2 --> R\n", " (r, ph) |--> h(r, ph)" ] }, "execution_count": 66, "metadata": {}, "output_type": "execute_result" } ], "source": [ "H = E.scalar_field({polar: function('h')(r,ph)}, name='H')\n", "H.display(polar)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The gradient of $H$ is then" ] }, { "cell_type": "code", "execution_count": 67, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "grad(H) = d(h)/dr e_r + d(h)/dph/r e_ph" ] }, "execution_count": 67, "metadata": {}, "output_type": "execute_result" } ], "source": [ "grad(H).display(polar_frame, polar)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To access to individual components is perfomed by the square bracket operator, where, in addition to the index, one has to specify the vector frame and the coordinates if they are not the default ones:" ] }, { "cell_type": "code", "execution_count": 68, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "grad(H) = (r*cos(ph)*d(h)/dr - sin(ph)*d(h)/dph)/r e_x + (r*sin(ph)*d(h)/dr + cos(ph)*d(h)/dph)/r e_y" ] }, "execution_count": 68, "metadata": {}, "output_type": "execute_result" } ], "source": [ "grad(H).display(cartesian.frame(), polar)" ] }, { "cell_type": "code", "execution_count": 69, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "d(h)/dph/r" ] }, "execution_count": 69, "metadata": {}, "output_type": "execute_result" } ], "source": [ "grad(H)[polar_frame,2,polar]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Divergence in polar coordinates\n", "\n", "Let us define a generic vector field in terms of polar coordinates:" ] }, { "cell_type": "code", "execution_count": 70, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "u = u_r(r, ph) e_r + u_ph(r, ph) e_ph" ] }, "execution_count": 70, "metadata": {}, "output_type": "execute_result" } ], "source": [ "u = E.vector_field(function('u_r')(r,ph),\n", " function('u_ph', latex_name=r'u_\\phi')(r,ph),\n", " frame=polar_frame, chart=polar, name='u')\n", "u.display(polar_frame, polar)" ] }, { "cell_type": "code", "execution_count": 71, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "div(u): E^2 --> R\n", " (r, ph) |--> (r*d(u_r)/dr + u_r(r, ph) + d(u_ph)/dph)/r" ] }, "execution_count": 71, "metadata": {}, "output_type": "execute_result" } ], "source": [ "div(u).display(polar)" ] }, { "cell_type": "code", "execution_count": 72, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "(r*diff(u_r(r, ph), r) + u_r(r, ph) + diff(u_ph(r, ph), ph))/r" ] }, "execution_count": 72, "metadata": {}, "output_type": "execute_result" } ], "source": [ "div(u).expr(polar)" ] }, { "cell_type": "code", "execution_count": 73, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "u_r(r, ph)/r + diff(u_ph(r, ph), ph)/r + diff(u_r(r, ph), r)" ] }, "execution_count": 73, "metadata": {}, "output_type": "execute_result" } ], "source": [ "div(u).expr(polar).expand()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Using polar coordinates by default:\n", "\n", "In order to avoid specifying the arguments `polar_frame` and `polar` in `display()`, `expr()` and `[]`, we may change the default values by" ] }, { "cell_type": "code", "execution_count": 74, "metadata": {}, "outputs": [], "source": [ "E.set_default_chart(polar)\n", "E.set_default_frame(polar_frame)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Then we have" ] }, { "cell_type": "code", "execution_count": 75, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "u = u_r(r, ph) e_r + u_ph(r, ph) e_ph" ] }, "execution_count": 75, "metadata": {}, "output_type": "execute_result" } ], "source": [ "u.display()" ] }, { "cell_type": "code", "execution_count": 76, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "u_r(r, ph)" ] }, "execution_count": 76, "metadata": {}, "output_type": "execute_result" } ], "source": [ "u[1]" ] }, { "cell_type": "code", "execution_count": 77, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "v = r e_ph" ] }, "execution_count": 77, "metadata": {}, "output_type": "execute_result" } ], "source": [ "v.display()" ] }, { "cell_type": "code", "execution_count": 78, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "r" ] }, "execution_count": 78, "metadata": {}, "output_type": "execute_result" } ], "source": [ "v[2]" ] }, { "cell_type": "code", "execution_count": 79, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "w = (cos(ph)*w_x(r*cos(ph), r*sin(ph)) + sin(ph)*w_y(r*cos(ph), r*sin(ph))) e_r + (-sin(ph)*w_x(r*cos(ph), r*sin(ph)) + cos(ph)*w_y(r*cos(ph), r*sin(ph))) e_ph" ] }, "execution_count": 79, "metadata": {}, "output_type": "execute_result" } ], "source": [ "w.display()" ] }, { "cell_type": "code", "execution_count": 80, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "(r*diff(u_r(r, ph), r) + u_r(r, ph) + diff(u_ph(r, ph), ph))/r" ] }, "execution_count": 80, "metadata": {}, "output_type": "execute_result" } ], "source": [ "div(u).expr()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 5. Advanced topics: the Euclidean plane as a Riemannian manifold\n", "\n", "$\\mathbb{E}^2$ is actually a Riemannian manifold, i.e. a smooth real manifold endowed with a positive definite metric tensor:" ] }, { "cell_type": "code", "execution_count": 81, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "Category of smooth manifolds over Real Field with 53 bits of precision" ] }, "execution_count": 81, "metadata": {}, "output_type": "execute_result" } ], "source": [ "E.category()" ] }, { "cell_type": "code", "execution_count": 82, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Category of smooth manifolds over Real Field with 53 bits of precision\n" ] } ], "source": [ "print(E.category())" ] }, { "cell_type": "code", "execution_count": 83, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "True" ] }, "execution_count": 83, "metadata": {}, "output_type": "execute_result" } ], "source": [ "E.base_field() is RR" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Actually `RR` is used here as a proxy for the real field (this should be replaced in the future, see the discussion at [#24456](https://trac.sagemath.org/ticket/24456)) and the 53 bits of precision play of course no role for the symbolic computations. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The user atlas of $\\mathbb{E}^2$ has two charts:" ] }, { "cell_type": "code", "execution_count": 84, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "[Chart (E^2, (x, y)), Chart (E^2, (r, ph))]" ] }, "execution_count": 84, "metadata": {}, "output_type": "execute_result" } ], "source": [ "E.atlas()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "while there are three vector frames defined on $\\mathbb{E}^2$:" ] }, { "cell_type": "code", "execution_count": 85, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "[Coordinate frame (E^2, (e_x,e_y)),\n", " Coordinate frame (E^2, (d/dr,d/dph)),\n", " Vector frame (E^2, (e_r,e_ph))]" ] }, "execution_count": 85, "metadata": {}, "output_type": "execute_result" } ], "source": [ "E.frames()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Indeed, there are two frames associated with polar coordinates: the coordinate frame $(\\frac{\\partial}{\\partial r}, \\frac{\\partial}{\\partial \\phi})$ and the orthonormal frame $(e_r, e_\\phi)$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Riemannian metric\n", "\n", "The default metric tensor of $\\mathbb{E}^2$ is" ] }, { "cell_type": "code", "execution_count": 86, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Riemannian metric g on the Euclidean plane E^2\n" ] } ], "source": [ "g = E.metric()\n", "print(g)" ] }, { "cell_type": "code", "execution_count": 87, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "g = e^r*e^r + e^ph*e^ph" ] }, "execution_count": 87, "metadata": {}, "output_type": "execute_result" } ], "source": [ "g.display()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In the above display, $e^r$ and $e^\\phi$ are the 1-forms defining the coframe dual to the orthonormal polar frame $(e_r,e_\\phi)$, which is the default vector frame on $\\mathbb{E}^2$:" ] }, { "cell_type": "code", "execution_count": 88, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "Coframe (E^2, (e^r,e^ph))" ] }, "execution_count": 88, "metadata": {}, "output_type": "execute_result" } ], "source": [ "polar_frame.coframe()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Of course, we may ask for display with respect to frames different from the default one:" ] }, { "cell_type": "code", "execution_count": 89, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "g = dx*dx + dy*dy" ] }, "execution_count": 89, "metadata": {}, "output_type": "execute_result" } ], "source": [ "g.display(cartesian.frame())" ] }, { "cell_type": "code", "execution_count": 90, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "g = dr*dr + r^2 dph*dph" ] }, "execution_count": 90, "metadata": {}, "output_type": "execute_result" } ], "source": [ "g.display(polar.frame())" ] }, { "cell_type": "code", "execution_count": 91, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "[1 0]\n", "[0 1]" ] }, "execution_count": 91, "metadata": {}, "output_type": "execute_result" } ], "source": [ "g[:]" ] }, { "cell_type": "code", "execution_count": 92, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "[ 1 0]\n", "[ 0 r^2]" ] }, "execution_count": 92, "metadata": {}, "output_type": "execute_result" } ], "source": [ "g[polar.frame(),:]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It is a *flat* metric: its (Riemann) curvature tensor is zero: " ] }, { "cell_type": "code", "execution_count": 93, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Tensor field Riem(g) of type (1,3) on the Euclidean plane E^2\n" ] } ], "source": [ "print(g.riemann())" ] }, { "cell_type": "code", "execution_count": 94, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "Riem(g) = 0" ] }, "execution_count": 94, "metadata": {}, "output_type": "execute_result" } ], "source": [ "g.riemann().display()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The metric $g$ is defining the dot product on $\\mathbb{E}^2$:" ] }, { "cell_type": "code", "execution_count": 95, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "True" ] }, "execution_count": 95, "metadata": {}, "output_type": "execute_result" } ], "source": [ "v.dot(w) == g(v,w)" ] }, { "cell_type": "code", "execution_count": 96, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "True" ] }, "execution_count": 96, "metadata": {}, "output_type": "execute_result" } ], "source": [ "norm(v) == sqrt(g(v,v))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Vector fields as derivatives" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Vector fields acts as derivative on scalar fields: " ] }, { "cell_type": "code", "execution_count": 97, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Scalar field v(F) on the Euclidean plane E^2\n" ] } ], "source": [ "print(v(F))" ] }, { "cell_type": "code", "execution_count": 98, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "v(F): E^2 --> R\n", " (x, y) |--> -y*d(f)/dx + x*d(f)/dy\n", " (r, ph) |--> -r*sin(ph)*d(f)/d(r*cos(ph)) + r*cos(ph)*d(f)/d(r*sin(ph))" ] }, "execution_count": 98, "metadata": {}, "output_type": "execute_result" } ], "source": [ "v(F).display()" ] }, { "cell_type": "code", "execution_count": 99, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "True" ] }, "execution_count": 99, "metadata": {}, "output_type": "execute_result" } ], "source": [ "v(F) == v.dot(grad(F))" ] }, { "cell_type": "code", "execution_count": 100, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1-form dF on the Euclidean plane E^2\n" ] } ], "source": [ "dF = F.differential()\n", "print(dF)" ] }, { "cell_type": "code", "execution_count": 101, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "True" ] }, "execution_count": 101, "metadata": {}, "output_type": "execute_result" } ], "source": [ "v(F) == dF(v)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The set $\\mathfrak{X}(\\mathbb{E}^2)$ of all vector fields on $\\mathbb{E}^2$ is a free module of rank 2 over the commutative algebra of smooth scalar fields on $\\mathbb{E}^2$, $C^\\infty(\\mathbb{E}^2)$:" ] }, { "cell_type": "code", "execution_count": 102, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Free module X(E^2) of vector fields on the Euclidean plane E^2\n" ] }, { "data": { "text/html": [ "" ], "text/plain": [ "Free module X(E^2) of vector fields on the Euclidean plane E^2" ] }, "execution_count": 102, "metadata": {}, "output_type": "execute_result" } ], "source": [ "XE = v.parent()\n", "print(XE)\n", "XE" ] }, { "cell_type": "code", "execution_count": 103, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Category of finite dimensional modules over Algebra of differentiable scalar fields on the Euclidean plane E^2\n" ] } ], "source": [ "print(XE.category())" ] }, { "cell_type": "code", "execution_count": 104, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Algebra of differentiable scalar fields on the Euclidean plane E^2\n" ] }, { "data": { "text/html": [ "" ], "text/plain": [ "Algebra of differentiable scalar fields on the Euclidean plane E^2" ] }, "execution_count": 104, "metadata": {}, "output_type": "execute_result" } ], "source": [ "print(XE.base_ring())\n", "XE.base_ring()" ] }, { "cell_type": "code", "execution_count": 105, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "Algebra of differentiable scalar fields on the Euclidean plane E^2" ] }, "execution_count": 105, "metadata": {}, "output_type": "execute_result" } ], "source": [ "CE = F.parent()\n", "CE" ] }, { "cell_type": "code", "execution_count": 106, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "True" ] }, "execution_count": 106, "metadata": {}, "output_type": "execute_result" } ], "source": [ "CE is XE.base_ring()" ] }, { "cell_type": "code", "execution_count": 107, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Category of commutative algebras over Symbolic Ring\n" ] } ], "source": [ "print(CE.category())" ] }, { "cell_type": "code", "execution_count": 108, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "2" ] }, "execution_count": 108, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rank(XE)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The bases of the free module $\\mathfrak{X}(\\mathbb{E}^2)$ are nothing but the vector frames defined on $\\mathbb{E}^2$:" ] }, { "cell_type": "code", "execution_count": 109, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "[Coordinate frame (E^2, (e_x,e_y)),\n", " Coordinate frame (E^2, (d/dr,d/dph)),\n", " Vector frame (E^2, (e_r,e_ph))]" ] }, "execution_count": 109, "metadata": {}, "output_type": "execute_result" } ], "source": [ "XE.bases()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Tangent spaces" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Vector fields evaluated at a point are vectors in the tangent space at this point:" ] }, { "cell_type": "code", "execution_count": 110, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "v = -3 e_x - 2 e_y" ] }, "execution_count": 110, "metadata": {}, "output_type": "execute_result" } ], "source": [ "vp = v.at(p)\n", "vp.display()" ] }, { "cell_type": "code", "execution_count": 111, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Tangent space at Point p on the Euclidean plane E^2\n" ] }, { "data": { "text/html": [ "" ], "text/plain": [ "Tangent space at Point p on the Euclidean plane E^2" ] }, "execution_count": 111, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Tp = vp.parent()\n", "print(Tp)\n", "Tp" ] }, { "cell_type": "code", "execution_count": 112, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Category of finite dimensional vector spaces over Symbolic Ring\n" ] } ], "source": [ "print(Tp.category())" ] }, { "cell_type": "code", "execution_count": 113, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "2" ] }, "execution_count": 113, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dim(Tp)" ] }, { "cell_type": "code", "execution_count": 114, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "True" ] }, "execution_count": 114, "metadata": {}, "output_type": "execute_result" } ], "source": [ "isinstance(Tp, FiniteRankFreeModule)" ] }, { "cell_type": "code", "execution_count": 115, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "[Basis (e_x,e_y) on the Tangent space at Point p on the Euclidean plane E^2,\n", " Basis (d/dr,d/dph) on the Tangent space at Point p on the Euclidean plane E^2,\n", " Basis (e_r,e_ph) on the Tangent space at Point p on the Euclidean plane E^2]" ] }, "execution_count": 115, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Tp.bases()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Levi-Civita connection\n", "\n", "The Levi-Civita connection associated to the Euclidean metric $g$ is" ] }, { "cell_type": "code", "execution_count": 116, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Levi-Civita connection nabla_g associated with the Riemannian metric g on the Euclidean plane E^2\n" ] }, { "data": { "text/html": [ "" ], "text/plain": [ "Levi-Civita connection nabla_g associated with the Riemannian metric g on the Euclidean plane E^2" ] }, "execution_count": 116, "metadata": {}, "output_type": "execute_result" } ], "source": [ "nabla = g.connection()\n", "print(nabla)\n", "nabla" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The corresponding Christoffel symbols with respect to the polar coordinates are:" ] }, { "cell_type": "code", "execution_count": 117, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "Gam^r_ph,ph = -r \n", "Gam^ph_r,ph = 1/r " ] }, "execution_count": 117, "metadata": {}, "output_type": "execute_result" } ], "source": [ "g.christoffel_symbols_display()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "By default, only nonzero and nonredundant values are displayed (for instance $\\Gamma^\\phi_{\\ \\, \\phi r}$ is skipped, since it can be deduced from $\\Gamma^\\phi_{\\ \\, r \\phi}$ by symmetry on the last two indices).\n", "\n", "The Christoffel symbols with respect to the Cartesian coordinates are all zero: " ] }, { "cell_type": "code", "execution_count": 118, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "Gam^x_xx = 0 \n", "Gam^x_xy = 0 \n", "Gam^x_yy = 0 \n", "Gam^y_xx = 0 \n", "Gam^y_xy = 0 \n", "Gam^y_yy = 0 " ] }, "execution_count": 118, "metadata": {}, "output_type": "execute_result" } ], "source": [ "g.christoffel_symbols_display(chart=cartesian, only_nonzero=False)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$\\nabla_g$ is the connection involved in differential operators:" ] }, { "cell_type": "code", "execution_count": 119, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "True" ] }, "execution_count": 119, "metadata": {}, "output_type": "execute_result" } ], "source": [ "grad(F) == nabla(F).up(g)" ] }, { "cell_type": "code", "execution_count": 120, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "True" ] }, "execution_count": 120, "metadata": {}, "output_type": "execute_result" } ], "source": [ "nabla(F) == grad(F).down(g)" ] }, { "cell_type": "code", "execution_count": 121, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "True" ] }, "execution_count": 121, "metadata": {}, "output_type": "execute_result" } ], "source": [ "div(v) == nabla(v).trace()" ] }, { "cell_type": "code", "execution_count": 122, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "True" ] }, "execution_count": 122, "metadata": {}, "output_type": "execute_result" } ], "source": [ "div(w) == nabla(w).trace()" ] }, { "cell_type": "code", "execution_count": 123, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "True" ] }, "execution_count": 123, "metadata": {}, "output_type": "execute_result" } ], "source": [ "laplacian(F) == nabla(nabla(F).up(g)).trace()" ] }, { "cell_type": "code", "execution_count": 124, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "True" ] }, "execution_count": 124, "metadata": {}, "output_type": "execute_result" } ], "source": [ "laplacian(w) == nabla(nabla(w).up(g)).trace(1,2)" ] } ], "metadata": { "kernelspec": { "display_name": "SageMath 8.3", "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.15" } }, "nbformat": 4, "nbformat_minor": 2 }