{
  "cells": [
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "# Multipole and Local Expansions"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 1,
      "metadata": {},
      "outputs": [],
      "source": [
        "import numpy as np\n",
        "import numpy.linalg as la\n",
        "import matplotlib.pyplot as plt"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "Let's consider a potential. This one could look slightly familiar from a homework assignment."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 2,
      "metadata": {},
      "outputs": [],
      "source": [
        "nsources = 15\n",
        "nxtgts = 400\n",
        "nytgts = 400\n",
        "\n",
        "angles = np.linspace(0, 2*np.pi, nsources, endpoint=False)\n",
        "r = 1 + 0.3 * np.sin(3*angles)\n",
        "sources = np.array([\n",
        "    r*np.cos(angles),\n",
        "    r*np.sin(angles),\n",
        "    ])\n",
        "\n",
        "np.random.seed(15)\n",
        "charges = np.random.randn(nsources)\n",
        "\n",
        "left, right, bottom, top = extent = (-2, 4, -4, 2)\n",
        "targets = np.mgrid[left:right:nxtgts*1j, bottom:top:nytgts*1j]\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 3,
      "metadata": {},
      "outputs": [
        {
          "data": {
            "text/plain": [
              "<matplotlib.image.AxesImage at 0x7f057116ef10>"
            ]
          },
          "execution_count": 3,
          "metadata": {},
          "output_type": "execute_result"
        },
        {
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "needs_background": "light"
          },
          "output_type": "display_data"
        }
      ],
      "source": [
        "plt.plot(sources[0], sources[1], \"x\")\n",
        "\n",
        "dist_vecs = sources.reshape(2, -1, 1, 1) - targets.reshape(2, 1, targets.shape[-1], -1)\n",
        "dists = np.sqrt(np.sum(dist_vecs**2, axis=0))\n",
        "\n",
        "potentials = np.sum(charges.reshape(-1, 1, 1) * np.log(dists), axis=0)\n",
        "plt.imshow(potentials.T[::-1], extent=extent)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "Now let's create a stash of derivatives, all about a center of 0, to make things easier:"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 4,
      "metadata": {},
      "outputs": [],
      "source": [
        "def f(arg):\n",
        "    return np.log(np.sqrt(np.sum(arg**2, axis=0)))\n",
        "\n",
        "def fdx(arg):\n",
        "    x, y = arg\n",
        "    r2 = np.sum(arg**2, axis=0)\n",
        "    return x/r2\n",
        "\n",
        "def fdy(arg):\n",
        "    x, y = arg\n",
        "    r2 = np.sum(arg**2, axis=0)\n",
        "    return y/r2\n",
        "\n",
        "def fdxx(arg):\n",
        "    x, y = arg\n",
        "    r2 = np.sum(arg**2, axis=0)\n",
        "    return 1/r2 - 2*x**2/r2**2\n",
        "\n",
        "def fdyy(arg):\n",
        "    x, y = arg\n",
        "    r2 = np.sum(arg**2, axis=0)\n",
        "    return 1/r2 - 2*y**2/r2**2\n",
        "\n",
        "def fdxy(arg):\n",
        "    x, y = arg\n",
        "    r2 = np.sum(arg**2, axis=0)\n",
        "    return - 2*x*y/r2**2"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "## Local expansions"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 5,
      "metadata": {},
      "outputs": [],
      "source": [
        "center = np.array([1.5, -1])\n",
        "#center = np.array([2, -2])\n",
        "#center = np.array([3, -3])\n",
        "#center = np.array([0, 0])\n"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "Local expansion:\n",
        "$$\\psi (\\mathbf{x} - \\mathbf{y}) \\approx \\sum _{| p | \\leqslant k\n",
        "     } \\underbrace{\\frac{D^p_{\\mathbf{x}} \\psi\n",
        "   (\\mathbf{ x - \\mathbf{y}) |_{\\mathbf{x = \\mathbf{c}}}\n",
        "    }  }{p!}}_{\\text{depends on src/ctr}}\n",
        "   \\underbrace{(\\mathbf{x} - \\mathbf{c})^p}_{\\text{dep. on ctr/tgt}} $$\n",
        "\n",
        "$\\mathbf{x}$: targets, $\\mathbf{y}$: sources."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 20,
      "metadata": {},
      "outputs": [],
      "source": [
        "expn = 0\n",
        "\n",
        "for isrc in range(nsources):\n",
        "    a = center - sources[:, isrc]\n",
        "    hx, hy = targets - center.reshape(-1, 1, 1)\n",
        "    expn += charges[isrc]*(\n",
        "        f(a)\n",
        "        + fdx(a)*hx\n",
        "        + fdy(a)*hy\n",
        "        + fdxx(a)*hx**2/2\n",
        "        + fdxy(a)*hx*hy\n",
        "        + fdyy(a)*hy**2/2\n",
        "        )"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 7,
      "metadata": {},
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Relative error at (red) test point: 0.12345091017171929\n"
          ]
        },
        {
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 432x288 with 2 Axes>"
            ]
          },
          "metadata": {
            "needs_background": "light"
          },
          "output_type": "display_data"
        }
      ],
      "source": [
        "err = expn - potentials\n",
        "plt.plot(center[0], center[1], \"o\")\n",
        "plt.plot(sources[0], sources[1], \"x\")\n",
        "plt.imshow(np.log10(1e-2 + np.abs(err.T[::-1])), extent=extent)\n",
        "plt.colorbar()\n",
        "\n",
        "\n",
        "# Test accuracy at a point\n",
        "test_y_idx = np.argmin(np.abs(center[1] - targets[1, 0, :]))\n",
        "test_idx = (7*nxtgts//8, test_y_idx)\n",
        "plt.plot(targets[0][test_idx], targets[1][test_idx], \"ro\")\n",
        "print(\"Relative error at (red) test point:\", abs(err[test_idx])/abs(potentials[test_idx]))"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "* Move the center around, see how the errors change\n",
        "* Reduce to linears, see how the errors change"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 8,
      "metadata": {},
      "outputs": [
        {
          "data": {
            "text/plain": [
              "[<matplotlib.lines.Line2D at 0x7f059ac36790>]"
            ]
          },
          "execution_count": 8,
          "metadata": {},
          "output_type": "execute_result"
        },
        {
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "needs_background": "light"
          },
          "output_type": "display_data"
        }
      ],
      "source": [
        "plt.grid()\n",
        "plt.xlabel(\"Distance from center\")\n",
        "plt.ylabel(\"Error\")\n",
        "plt.loglog(targets[0, :, test_y_idx]-center[0], np.abs(err[:, test_y_idx]))"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "What is the slope of the error graph? What should it be?\n",
        "\n",
        "(Disregard the close-to-center region: Center and Target points are not at *exactly* the same vertical position.)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "## Multipole expansions"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 9,
      "metadata": {},
      "outputs": [],
      "source": [
        "center = np.array([0, 0])\n",
        "# center = np.array([1, 0])"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "Now sum a multipole expansion about the center at the targets. Make sure to watch for negative signs from the chain rule.\n",
        "\n",
        "Multipole expansion:\n",
        "$$\\psi (\\mathbf{x} - \\mathbf{y}) \\approx \\sum _{| p | \\leqslant k\n",
        "     } \\underbrace{\\frac{D^p_{\\mathbf{y}} \\psi\n",
        "   (\\mathbf{ x - \\mathbf{y}) |_{\\mathbf{y = \\mathbf{c}}}\n",
        "    }  }{p!}}_{\\text{depends on ctr/tgt}}\n",
        "   \\underbrace{(\\mathbf{y} - \\mathbf{c})^p}_{\\text{dep. on src/ctr}} . $$\n",
        "\n",
        "$\\mathbf{x}$: targets, $\\mathbf{y}$: sources."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 22,
      "metadata": {},
      "outputs": [
        {
          "name": "stderr",
          "output_type": "stream",
          "text": [
            "/home/andreas/src/env-3.7/lib/python3.7/site-packages/ipykernel_launcher.py:2: RuntimeWarning: divide by zero encountered in log\n",
            "  \n",
            "/home/andreas/src/env-3.7/lib/python3.7/site-packages/ipykernel_launcher.py:7: RuntimeWarning: invalid value encountered in true_divide\n",
            "  import sys\n",
            "/home/andreas/src/env-3.7/lib/python3.7/site-packages/ipykernel_launcher.py:12: RuntimeWarning: invalid value encountered in true_divide\n",
            "  if sys.path[0] == '':\n",
            "/home/andreas/src/env-3.7/lib/python3.7/site-packages/ipykernel_launcher.py:17: RuntimeWarning: divide by zero encountered in true_divide\n",
            "/home/andreas/src/env-3.7/lib/python3.7/site-packages/ipykernel_launcher.py:17: RuntimeWarning: invalid value encountered in true_divide\n",
            "/home/andreas/src/env-3.7/lib/python3.7/site-packages/ipykernel_launcher.py:27: RuntimeWarning: invalid value encountered in true_divide\n",
            "/home/andreas/src/env-3.7/lib/python3.7/site-packages/ipykernel_launcher.py:22: RuntimeWarning: divide by zero encountered in true_divide\n",
            "/home/andreas/src/env-3.7/lib/python3.7/site-packages/ipykernel_launcher.py:22: RuntimeWarning: invalid value encountered in true_divide\n"
          ]
        }
      ],
      "source": [
        "expn = 0\n",
        "\n",
        "for isrc in range(nsources):\n",
        "    a = targets - center.reshape(-1, 1, 1)\n",
        "    hx, hy = sources[:, isrc] - center\n",
        "\n",
        "    expn += charges[isrc]*(\n",
        "        f(a)\n",
        "        \n",
        "        # Negative sign from the chain rule\n",
        "        - fdx(a)*hx\n",
        "        - fdy(a)*hy\n",
        "        \n",
        "        + fdxx(a)*hx**2/2\n",
        "        + fdxy(a)*hx*hy\n",
        "        + fdyy(a)*hy**2/2\n",
        "        )"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 18,
      "metadata": {},
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Relative error at (red) test point: 0.001811311065482721\n"
          ]
        },
        {
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 432x288 with 2 Axes>"
            ]
          },
          "metadata": {
            "needs_background": "light"
          },
          "output_type": "display_data"
        }
      ],
      "source": [
        "err = expn - potentials\n",
        "imgdata = err\n",
        "plt.plot(center[0], center[1], \"o\")\n",
        "plt.plot(sources[0], sources[1], \"x\")\n",
        "plt.imshow(np.log10(1e-2 + np.abs(imgdata.T[::-1])), extent=extent)\n",
        "plt.colorbar()\n",
        "\n",
        "# Test accuracy at a point\n",
        "test_y_idx = 5*nytgts//8\n",
        "test_idx = (7*nxtgts//8, test_y_idx)\n",
        "plt.plot(targets[0][test_idx], targets[1][test_idx], \"ro\")\n",
        "print(\"Relative error at (red) test point:\", abs(err[test_idx])/abs(potentials[test_idx]))"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "* Move the center around, observe convergence behavior\n",
        "* Reduce to linears, observe convergence behavior"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 19,
      "metadata": {},
      "outputs": [
        {
          "data": {
            "text/plain": [
              "[<matplotlib.lines.Line2D at 0x7f057093a710>]"
            ]
          },
          "execution_count": 19,
          "metadata": {},
          "output_type": "execute_result"
        },
        {
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "needs_background": "light"
          },
          "output_type": "display_data"
        }
      ],
      "source": [
        "plt.grid()\n",
        "plt.xlabel(\"Distance from center\")\n",
        "plt.ylabel(\"Error\")\n",
        "plt.loglog(targets[0, :, test_y_idx]-center[0], np.abs(err[:, test_y_idx]))"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "What is the slope in the far region? What should it be?"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "Look at individual basis functions:"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 14,
      "metadata": {},
      "outputs": [
        {
          "name": "stderr",
          "output_type": "stream",
          "text": [
            "/home/andreas/src/env-3.7/lib/python3.7/site-packages/ipykernel_launcher.py:7: RuntimeWarning: invalid value encountered in true_divide\n",
            "  import sys\n"
          ]
        },
        {
          "data": {
            "text/plain": [
              "<matplotlib.image.AxesImage at 0x7f1072241c90>"
            ]
          },
          "execution_count": 14,
          "metadata": {},
          "output_type": "execute_result"
        },
        {
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "needs_background": "light"
          },
          "output_type": "display_data"
        }
      ],
      "source": [
        "plt.imshow(\n",
        "    fdx(targets).T[::-1],\n",
        "    extent=extent, vmin=-1, vmax=1)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "Why is this thing called a 'multipole' expansion?"
      ]
    }
  ],
  "metadata": {
    "kernelspec": {
      "display_name": "Python 3",
      "language": "python",
      "name": "python3"
    },
    "language_info": {
      "codemirror_mode": {
        "name": "ipython",
        "version": 3
      },
      "file_extension": ".py",
      "mimetype": "text/x-python",
      "name": "python",
      "nbconvert_exporter": "python",
      "pygments_lexer": "ipython3",
      "version": "3.7.4+"
    }
  },
  "nbformat": 4,
  "nbformat_minor": 2
}