{ "cells": [ { "cell_type": "markdown", "id": "70243810-7e78-4da0-8ab7-4aa81e280294", "metadata": {}, "source": [ "## Gaussian" ] }, { "cell_type": "markdown", "id": "3e731c00-1b77-4513-a7af-283bd2a20534", "metadata": {}, "source": [ "`lamatrix` provides a Gaussain model which can be used to capture normal distributions." ] }, { "cell_type": "code", "execution_count": 8, "id": "29e6bde5-2411-4796-9e6a-60be38e784a4", "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "x = np.arange(-10, 10, 0.01)\n", "\n", "\n", "from lamatrix import Gaussian" ] }, { "cell_type": "code", "execution_count": 9, "id": "50091c10-21ba-4040-b1e1-efdd9e499153", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\\[f(\\mathbf{x}) = w_{0} \\frac{1}{\\sqrt{2\\pi\\sigma^2}} e^{-\\frac{\\mathbf{x} - \\mu^2}{2\\sigma^2}}\\]
" ], "text/plain": [ "'\\\\[f(\\\\mathbf{x}) = w_{0} \\\\frac{1}{\\\\sqrt{2\\\\pi\\\\sigma^2}} e^{-\\\\frac{\\\\mathbf{x} - \\\\mu^2}{2\\\\sigma^2}}\\\\]'" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Gaussian().equation" ] }, { "cell_type": "code", "execution_count": 10, "id": "33a3df4a-5c2e-4865-a260-246cd96920ef", "metadata": {}, "outputs": [], "source": [ "model = Gaussian('x', sigma=2, mu=1)\n", "w = np.random.uniform(0, 1, size=model.width)\n", "sample = model.design_matrix(x=x).dot(w)" ] }, { "cell_type": "code", "execution_count": 11, "id": "aa77219a-c233-4415-a2e8-1c4a1f7d2ea1", "metadata": {}, "outputs": [ { "data": { "image/png": "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spxI5u83PUkAEAKXL1+Wxx9/XO68804TIFWtWlUmTpwoBw8elPj4eNmzZ4+8++67UrZsWdm5c6fccsst8tprrwUETwCcRZAEACEIkB566CF58803Ta/Rv/71L/njjz+kZ8+eUqRIEXOZDrn169dPVq9eLX379jXB0VNPPSVDhw51uvkA/ocgCQDSmQY648aNk8yZM8vHH38s//73vyVLlixBt9XcpLFjx8p//vMfc163HT16dAa3GEAwBEkAkI6++OILk6StPvjgA7nnnnuS9X+DBg3y/d/AgQNlwYIFIW0ngKsjSAKAdLJ9+3bp06ePOT148GDp3bt3iv7/mWeekR49epicpW7dusmhQ4dC1FIAyUGQBADpQAObXr16ycmTJ6Vp06YybNiwFN+G5iq9//77Jslbayk99thjIWkrgOQhSAKAdPDhhx/KvHnzJHfu3CYPSfORUsP+/0yZMsnnn38u06ZNS/e2AkgegiQASCOd4v/Pf/7TnH7llVekfPnyabq9evXqmbwkNWDAADl37ly6tBNAyhAkAUAaPfvss3LkyBGpXr269O/fP11u88UXX5SSJUuaGkpvvfVWutwmgJQhSAKANFi/fr2Zwq80mElsqn9K5cyZU15++WVzWo8PHz6cLrcLIPkIkgAgjT0+Wjzyb3/7m9x4443pettaPqB27dpmCQW7PACAjEOQBACptGbNGlMXSb3wwgvpfvuavP3qq6+a07q224EDB9L9PgAkjiAJANLQi6TLiXTu3Fnq1KkTkvu4+eabpWHDhiZ5+/XXXw/JfQAIjiAJAFJhy5YtMmXKFHP6+eefD9n9aO0ke+bcO++8Y2bSAcgYBEkAkAqapK29SO3bt5caNWqE9L46duwotWrVklOnTsmYMWNCel8A/kKQBAApdPz4cfnoo498a66FmvYm6TInSmfSXbx4MeT3CcAlQZLuGZUtW1ayZ89uxt6XLFmSZKJkly5dzPb6xTFq1KgrtrGvS3jQomy2li1bXnF9v379QvYYAYQPXbj29OnTpgepVatWGXKfd9xxhxQrVkz27t0rX3/9dYbcJxDpHA+SJk+ebPbEhg4dKitWrDBdym3btpWDBw8G3f7MmTOmmu3w4cOlePHiQbdZunSpWffIPsycOdP3JePvoYceCtjutddeC8EjBBBua7SNHj3anNaq2LqDlRGio6Olb9++5rR9/wDCPEjS2RoarOhq2dddd53pStYiauPGjQu6ff369WXEiBFy5513SrZs2YJuU6RIERNA2Qdd+6hChQrSokWLgO30fvy3y5s3b0geI4DwMX36dNm1a5cUKlRIevTokaH3rb3dWqxy4cKFZqcSQBgHSRcuXJDly5dL69at/2pQpkzm/OLFi9PtPj799FO5//77r9jjmzRpkhQuXNgsJTBkyBDTSwUAVxtqUz179jQpAhmpRIkSvh5xu8o3gDANkrTMvnZd6zi7Pz2/f//+dLmPqVOnmiTL++67L+Dyu+66ywRPc+bMMQHSJ598YqrbJuX8+fOm8q3/AUDk0GF57ZlWDz74oCNt6NOnjznWIpbs2AGhlT6LDLmYzkDRKboxMTFBv2iUJl/qHpomYGrtEx2aC2bYsGEhqaoLwBsmTJhgduyaNGli0gOc0Lx5c5OXuXXrVvnqq6/k3nvvdaQdQCRwtCdJh7oyZ858Ral9PZ9YUnZK7NixQ2bNmpWsPT6dVac2b96c6Dba4xQXF+c7aF4CgMig67N9+OGH5rTmUTpFUxI0h1MllrsJIAyCJJ2tUbduXZk9e3bAF5Geb9y4cZpvf/z48VK0aFHp0KHDVbddtWqVOdYepcRoorgmd/sfAESG+fPnm94b/dwnnCmb0Xr16mVyLOfOnWt6vwGE6ew2nf6viZATJ06UdevWSf/+/U39EXtPSZMjtQfHPxFbAxo96Ok9e/aY0wl7gDTY0iBJv0x0Nog//VL597//bZLGt2/fLt999525H+3GrlmzZgY9cgBe8tlnn5njrl27Sq5cuRxtS6lSpcyabkq/OwGEiOUCo0ePtkqXLm1FR0dbDRo0sGJjY33XtWjRwurVq5fv/LZt2yxtdsKDbudvxowZ5vINGzZccX87d+60mjdvbhUsWNDKli2bVbFiRWvw4MFWXFxcitqt2+t9pPT/AHjL+fPnrQIFCpjP++zZsy03+PTTT017KlWqZF2+fNnp5gCektzf7yj9E6oALNzp7LZ8+fKZ/CSG3oDwpb3NnTp1MsPxmououZRO03XcNJ3g7NmzsmzZMpO6ACB9f78dH24DAK8MtWkRWzcESCp37txm4Vu7HACA9EeQBABJOHnypOlJsuuruYld8VuDJM3DBJC+CJIAIAnffvutGdKqVKmS64a0tAacDhXs3r1bFi1a5HRzgLBDkAQASdCCjfZQW0YtZptcuizK7bffbk5//vnnTjcHCDsESQCQCC1Hogvaqi5duogbde/e3RfMMeQGpC+CJABIhAZI586dM8uAuLWGmi6npENuulJBbGys080BwgpBEgAk4uuvvzbHnTt3dt1Qm//KBfaqAt98843TzQHCCkESAARx/vx5mTZtmi9IcjM7L0mDJErfAemHIAkAgvjll19MwTktIGkvgO1WOstN15bUJZfWrFnjdHOAsEGQBABJDLVpL02mTO7+qtTCkvZablOnTnW6OUDYcPcnHwAcEB8fb+oj+Q9luZ3/kBuA9EGQBAAJLF26VA4dOmTWdmrRooV4wd/+9jfT47VixQrZsWOH080BwgJBEgAk8MMPP5jjNm3aSNasWcULihQpIk2bNg1oP4C0IUgCgATsIMNeQNYr7FIAP/74o9NNAcICQRIA+NmzZ4+sXLnS1EXSWWNecsstt/hm5ul6cwDShiAJAPzYvTANGjQwQ1heUr16dSlVqpQJkObOnet0cwDPI0gCgCBDbfbQlZdo75fdm8SQG5B2BEkA4Fdle9asWZ7MR7L5B0lU3wbShiAJAP7n119/ldOnT0tMTIzUrl1bvOimm24y67lt3bpVNm7c6HRzAE8jSAKABENt2hvj1gVtk1N9267tRCkAIG0IkgDgf37++Wdz7LVZbQmRlwSkD4IkABCRXbt2yfr1603Vah2yCocgad68eXLq1CmnmwN4FkESAIjIzJkzfVP/8+fPL15WqVIlKVOmjFy8eFHmz5/vdHMAzyJIAgC/oTZdisTrNJ/q5ptvDgj+AKQcQRKAiHf58mWZPXu2OW0HF15HkASkHUESgIi3atUqOXz4sOTJk0caNmwo4UDzqrRHafXq1bJv3z6nmwN4EkESgIhnD7XdeOONkjVrVgkHhQsXljp16pjTdi8ZgJQhSAIQ8ewhqXAZarMx5AakDUESgIh25swZWbBgQdgHSSxRAqQcQRKAiKa1hC5cuCClS5eWypUrSzhp2rSpZM+e3eQkrVu3zunmAJ5DkAQgovkPtXl1KZLEaIB0ww03mNMMuQEpR5AEIKLNmjUrLIfabOQlAalHkAQgYum0/z/++MM3sy2cg6Rff/3VVOAGkHwESQAiOh9JVatWTYoWLSrhqGbNmlKwYEGzhtuKFSucbg7gKa4IksaMGSNly5Y14+dayG3JkiWJbrtmzRrp0qWL2V7zB0aNGnXFNs8//7y5zv9QpUqVgG3OnTsnAwYMkEKFCknu3LnNbR44cCAkjw+AO82ZM8cct2zZUsKVLtjbokWLgMcLwCNB0uTJk2XQoEEydOhQs5dTq1Ytadu2rRw8eDDR6brly5eX4cOHS/HixRO9Xd0z1Bkd9sGe4msbOHCgfP/99zJlyhTTDb13717p3Llzuj8+AO41d+7csB5qs9lBoP14ASRPlOVw8QztOapfv768/fbbvjWUSpUqJY8++qg8/fTTSf6v9iY9/vjj5pCwJ2nq1KlmqYFg4uLipEiRIvLZZ59J165dzWXr16+XqlWryuLFi6VRo0bJavuJEyckX7585vby5s2bzEcMwA0OHTrkG2LT01qhOlxp3pXugObKlUuOHTsWNlXFgdRK7u+3oz1JWptk+fLl0rp1678alCmTOa/BSlps2rRJYmJiTK/T3XffLTt37vRdp/epCYz+96vDcVonJa33C8Ab7F6VGjVqhHWApKpXr25SC06fPi3Lli1zujmAZ2RyemZJfHy8FCtWLOByPb9///409U5NmDBBpk+fLu+++65s27bN1Ao5efKkuV5vOzo6WvLnz5+i+z1//ryJPv0PALwpUobaFHlJgEdzkkKhffv2cscdd5hZHZrf9OOPP8rx48flyy+/TNPtDhs2zHTP2QcdFgTgTZGQtO3PDgbJSwI8EiRpF3fmzJmvmFWm55NKyk4p7THS5QY2b95szutt61CfBk4pud8hQ4aY8Uv7sGvXrnRrI4CMo591XaZDZ77aPSzhzg4GFy5caL7/ALg8SNIhr7p168rs2bN9l2nitp5v3Lhxut2P1gfZsmWLlChRwpzX+9TERf/73bBhg8lbSup+s2XLZhK8/A8AvMfuTbFrCEUCnfGrO6Y6Q3jp0qVONwfwBMeH23T6/wcffCATJ040e3b9+/c3yYW9e/c21/fs2dP04Nh0D0hnrelBT+/Zs8ectnuJ1BNPPGGm9W/fvl0WLVokt99+u+mx6tGjh7leh8oeeOABc9/a5a6J3Hp/GiAld2YbAO+KpHwkm/aaUQoASJks4rDu3bub6bfPPfecSZquXbu2Sbi2k7m1d0eTDm1az6hOnTq+8yNHjjQH7TK3P/i7d+82AdGRI0fMVP9mzZpJbGysOW174403zO1qEUlNyNbcpXfeeSdDHzsAZ0RaPpJNg8L//ve/5vH/85//dLo5gOs5XifJy6iTBHiPFpfV8iDas6I7UgUKFJBIsXbtWjPsliNHDlMvSVMIgEh0wgt1kgAgo+lQvNJe60gKkJQWzNUCmmfPnk1y+ScA/48gCUBELmobKbPa/GnvWfPmzc3p+fPnO90cwPUIkgBEFHsdRy0wG4nsx02QBFwdQRKAiKF5OKtXrzandUJHJAdJOvNXVzwAkDiCJAARQwMDnauixWXtxW0jjdaGypMnj0lc/fPPP51uDuBqBEkAIoY9xBSpQ21Ka8Y1adLEnGbIDUgaQRKAiGEHBZE61GYjLwlIHoIkABFBp73by3FEck9SwiCJUnlA4giSAEQEDZAuXrxoFrEuX768RLL69eub9St1lYOtW7c63RzAtQiSAETc1H+tFxTJtOK2BkqKITcgcQRJACICSduByEsCro4gCUDY03pAOv1fRXrSto0gCbg6giQAYU/rAWldIK0PpHWCIKYMgA47btq0SQ4cOOB0cwBXIkgCEPbs3hINDLROEMQs7lu9evWAfC0AgQiSAIS9SF+vLTEMuQFJI0gCENa0DhBJ28HZ+VkESUBwBEkAwtq2bdtk3759pi6QPe0dEhA0rlq1Sk6ePOl0cwDXIUgCENbsXhINkLQ+EP5SsmRJKVu2rFy+fFkWL17sdHMA1yFIAhAR+UhM/Q/Ofl7sEgkA/kKQBCCskY+UNJ3xpwiSgCsRJAEIW0eOHJENGzYEBAMIZD8vsbGxpugmgL8QJAEIW/rDr6pUqSIFCxZ0ujmupLWScufObRK316xZ43RzAFchSAIQtuwhpMaNGzvdFNfS4pqNGjUypxlyAwIRJAEIW/aPPkNtSSMvCQiOIAlAWLp06ZIsWbLEnKYnKWkESUBwBEkAwtIff/whZ86ckXz58knVqlWdbo6rNWzY0Cx2u2XLFha7BfwQJAEIS3ZxRM23yZSJr7qk5M+fX6pVq2ZOU1QS+AvfHADCEvlIKWM/TwsXLnS6KYBrECQBCEt2jwj5SMlDXhJwJYIkAGFn//79ZmFbzbPRfBtcXdOmTc3xsmXL5Pz58043B3AFgiQAYduLpIUS8+bN63RzPKFChQpSpEgRuXDhgqxYscLp5gCuQJAEIOyQj5Ry2uvGkBsQiCAJQNghHyl1CJKAQARJAMKKDhdpXo2iJyn1QZJlWU43B3CcK4KkMWPGSNmyZSV79uwmydKukhuMLsDYpUsXs712D48aNeqKbYYNGyb169eXPHnySNGiReW2227zrQRua9mypfl//0O/fv1C8vgAZJyVK1eaxOPChQtLxYoVnW6Op9StW1eyZs1qEt+3b9/udHMAxzkeJE2ePFkGDRokQ4cONcmCtWrVkrZt28rBgweDbq8VdMuXLy/Dhw+X4sWLB93m119/lQEDBpgVwGfOnCkXL16UNm3ayOnTpwO2e+ihh2Tfvn2+w2uvvRaSxwjAmUVtdecHyZcjRw65/vrrzWmG3AAXBEmvv/66CVZ69+4t1113nYwdO1Zy5swp48aNC7q99hCNGDFC7rzzTsmWLVvQbaZPny733XefqSCrQdeECRNk586dsnz58oDt9H400LIPzIIBvI98pLQhLwlwSZCkuQMauLRu3fqvBmXKZM6nZ2n8uLg4c1ywYMGAyydNmmS65HWa8JAhQ0wvFQDv0jwau2I0+UipQ5AE/CWLOOjw4cMSHx8vxYoVC7hcz69fvz5d7uPy5cvy+OOPm0JpGgzZ7rrrLilTpozExMSYhTCfeuopk7f09ddfJ3pbmufgX2TtxIkT6dJGAOlj165dsnfvXsmcObPUq1fP6eZ4OkjS78WTJ0+a3E4gUjkaJGUEzU1avXq1LFiwIODyPn36+E7XqFFDSpQoIa1atTKrYGtRtWA0IfyFF14IeZsBpI7dA127dm3JlSuX083xJN1x1B3IHTt2mEk0+r0IRCpHh9t0qEv3+A4cOBBwuZ5PLCk7JR555BGZNm2azJkzR0qWLJnktvbSBZs3b050Gx2S06E7+6B7rQDcmbSN1GPIDXBBkBQdHW2mnM6ePTtgeEzPp+VLTvMSNED65ptv5JdffpFy5cpd9X9WrVpljrVHKTGaKK7J3f4HAO7rSSIfKW3s58/O7wIilePDbTr9v1evXiZ/oEGDBqbukU7V19luqmfPnnLNNdeYoS472Xvt2rW+03v27DEBTu7cuX01UXSI7bPPPpNvv/3WjKdrzQ+VL18+M8VVh9T0+ltuuUUKFSpkxt4HDhwozZs3l5o1azr2XABIvbNnz5oaSYqepPQJkrSMiu646oQaICJZLjB69GirdOnSVnR0tNWgQQMrNjbWd12LFi2sXr16+c5v27ZNy8BecdDtbMGu18P48ePN9Tt37rSaN29uFSxY0MqWLZtVsWJFa/DgwVZcXFyK2q3b6+2m9P8ApL958+aZz2OJEiWsy5cvO90cT7t48aKVM2dO83yuWbPG6eYA6S65v9+O9yQpHRrTQzBz584NOK+Vtq9WLv9q15cqVcoUnAQQPigimX6yZMliatLp96Q+r1rDDohE9KECCAvkI6Uv+3lMz5p1gNcQJAHwPO09ZmZb+rKfR2a4IZIRJAHwvK1bt8qhQ4fMjFl77TGkT5CkhX2PHj3qdHMARxAkAfA8u7dDA6Ts2bM73ZywoHXsKlWq5JvlBkQigiQAnkc+UmiQl4RIR5AEwPPIRwoN8pIQ6QiSAHiaLsL6559/mtP0JKUv+/nUNdwuXbrkdHOADEeQBMDT9Adcq0KXLl3aLM6K9KP1kXTVglOnTpmFwoFIQ5AEwNPsoSB6kdKfLkDeqFEjc5q8JEQigiQAnmb/eJOPFBrkJSGSESQB8CwdZiNICi1muCGSESQB8KwNGzbI8ePHJUeOHFK7dm2nmxOWGjZsaI63bNkiBw8edLo5QIYiSALgWXbvRr169SRr1qxONycs5c+fX6pVq2ZO05uESEOQBMCzGGrLGOQlIVIRJAHwLIKkjEFeEiIVQRIAT4qLi5O1a9ea0wRJoWU/v0uXLpULFy443RwgwxAkAfCk3377TSzLknLlykmxYsWcbk5Yq1y5shQsWFDOnTsnv//+u9PNATIMQRIAT2KoLeNkypTJV1SSvCREEoIkAJ5EkJSxyEtCJCJIAuDJIpKxsbHmNEFSxmCGGyIRQRIAz1m/fr1J3NYikjVr1nS6ORGhQYMGZtht165dsnv3bqebA2QIgiQAnmMP+dSvX58ikhkkd+7cvoCUITdECoIkAJ5DPpIzyEtCpCFIAuA5BEnOIC8JkYYgCYCn6IK2FJF0tidpxYoVpmYSEO4IkgB4roikKl++vBQtWtTp5kQULdypz/nFixdl+fLlTjcHCDmCJACewlCbc6KioshLQkQhSALgKQRJziIvCZGEIAmAp4pI2sNtBEnO8O9J0rXzgHBGkATAM9atW2eKSObMmZMikg6pW7euZMmSRfbv3y/bt293ujlASBEkAfDcUJtWf9YfamQ8rXJ+/fXXm9PkJSHcESQB8AzykdyBvCRECoIkAJ5BkOQOzHBDpCBIAuAJx44dMzlJqlGjRk43J6LZQervv/8up0+fdro5QHgHSWPGjJGyZctK9uzZpWHDhrJkyZJEt12zZo106dLFbK81O0aNGpWq29RqsQMGDJBChQqZhRv1Ng8cOJDujw1A+rBntVWsWFGKFCnidHMiWqlSpaRkyZISHx8vS5cudbo5QPgGSZMnT5ZBgwbJ0KFDTan7WrVqSdu2beXgwYNBtz9z5oyptDt8+HApXrx4qm9z4MCB8v3338uUKVPk119/lb1790rnzp1D9jgBpA1Dbe5CXhIiguWwBg0aWAMGDPCdj4+Pt2JiYqxhw4Zd9X/LlCljvfHGGym+zePHj1tZs2a1pkyZ4ttm3bp1WvDDWrx4cbLbHhcXZ/5HjwGE1s0332w+b++8847TTYFlme9efT06duzodFOAFEvu77ejPUkXLlww6/+0bt3ad1mmTJnM+dQmBCbnNvV6XXvIf5sqVapI6dKlk7zf8+fPy4kTJwIOAEKPIpLuY78OFJVEOHM0SDp8+LAZ0y5WrFjA5XpeC5WF6jb1ODo6WvLnz5+i+x02bJjky5fPd9BxeQCht3btWrNTkitXLqlevbrTzYGI1KlTR7JlyyZHjhyRTZs2Od0cIDxzkrxkyJAhptqvfdi1a5fTTQIiAkUk3Ud3NOvVq2dOk5eEcOVokFS4cGHJnDnzFbPK9HxiSdnpcZt6rMNyx48fT9H96l5T3rx5Aw4AQo+kbXeiXhLCXSan90R0HaDZs2cH5B7o+dR+GSbnNvX6rFmzBmyzYcMG2blzJ1/CgAsRJLkTM9wQ7hzvt9ap+r169TLdttqVrnWPtDhZ7969zfU9e/aUa665xuQDKe0B0vwE+/SePXtk1apVptaR1k9Jzm1qPtEDDzxgtitYsKDpEXr00UfNB54idYC7HD16VNavX29O8/l0Z5Ck9es0BUG/W4Fw4niQ1L17dzl06JA899xzJmm6du3aMn36dF/itfbu6Ow0m9Yz0oRB28iRI82hRYsWMnfu3GTdpnrjjTfM7WoRSZ21pnWU3nnnnQx97ACuzp7VVqlSJTOcDvfQ9IRy5crJtm3bzOvUpk0bp5sEpKsorQOQvjcZOXS2je456R4U+UlAaDz77LPy0ksvmV7liRMnOt0cJHDPPffIpEmT5PnnnzcFfIFw+v1mdhsAV1u4cKE5btq0qdNNQRDkJSGcpShIYso7gIykRV/t4TaCJHfPcIuNjTWTZICIDZK0KrXm+ej6aQAQarrKvH7faOHXqlWrOt0cBFGjRg1T5FOHL+xJNUBEBkkzZ86UGTNmmATKCRMmhK5VAOA31Ka9Ff4TOOAeWtxTZxEr6iUh3KToW0e/qLTrW6fjazKl1huaP39+6FoHIKKRj+QN5CUhXKVq10xnmWjxxQ4dOkj79u2la9euZgooAKQXnXhLkOQNVN5GuEpT/7XWxHjwwQflm2++keuuu06efPJJOXXqVPq1DkDE2rFjh6mLpsM59evXd7o5SIJd5FN3nnXBWyAig6SxY8eaStU1a9Y09QVatWplhtv69esnb775pixbtswES3oMAGlh9yJdf/31kjNnTqebgyQUKlRIrr32Wt8sNyAig6SXX37ZFF7S4bY5c+aYBWKXL18uY8aMkT59+sgvv/xiAqb77rsvdC0GEBEYavMW8pIgkb4sSXLqJGlPkyZ1A0BaECR5Ly9JZz2Tl4Rwku5zaosWLWp6lAAgtbTH+s8//zSnCZK81ZOkM6AvXbrkdHMAdwZJUVFRZrFZAEgtzWvR2W3ly5c3i6jC/TQfVdfA0uKfdoALeB3V2QC4DkNt3qPFPu1ZbuQlIVwQJAFwHYIkb6JeEsINQRIAV9F8Fha19SZmuCHcECQBcN2itqdPnzaL2mqeC7yjYcOGJi9VV2DYv3+/080B0owgCYArh9q0V4JFbb1FiwxXq1bNnGbIDeGAbyAArkI+UnjkJTHkhnBAkATANVjUNnyCJPt1BLyMIAmAa+zcuVP27NljFrVt0KCB081BKtxwww3meOnSpaZmEuBlBEkAXMPufahTpw6L2npUuXLlJCYmJmCWIuBVBEkAXGP+/PnmmKE279LZbc2bNw94PQGvIkgC4Brz5s0zxyxtFB5DbvbrCXgVQRIAVzh8+LCsXbvWnG7WrJnTzUEa2D1JWgbg4sWLTjcHSDWCJACusGDBAnOsdXYKFy7sdHOQBloEtECBAiZxe8WKFU43B0g1giQArmAPzdhDNfAuLQJqv47kJcHLCJIAuCpIsodq4G3kJSEcECQBcNyJEydk5cqV5jQ9SeHBDnZ1GPXy5ctONwdIFYIkAI7TBF/9IS1fvryULFnS6eYgHdi1ro4dO+ZLyAe8hiAJgOMYags/WbNmNYsUK4bc4FUESQAcR5AUnigqCa8jSALgqLNnz8qSJUvMafKRwjd5WxcvBryGIAmAozRAunDhgpQoUUIqVKjgdHOQjho2bGiG3fbu3Svbtm1zujlAihEkAXCUPRSjQzO67hfChyZu16tXz5xmyA1e5JogacyYMVK2bFnJnj272fuwu98TM2XKFKlSpYrZvkaNGvLjjz8GXK9ftsEOI0aM8G2j95fw+uHDh4fsMQK4EvlI4c1+XUnehhe5IkiaPHmyDBo0SIYOHWpK2NeqVUvatm0rBw8eDLr9okWLpEePHvLAAw+Y2iq33XabOaxevdq3zb59+wIO48aNM0FQly5dAm7rxRdfDNju0UcfDfnjBfD/dF0v/TwrgqTwROVteFmU5YJsOu05ql+/vrz99tvmvNZLKVWqlAlYnn766Su27969u5w+fVqmTZvmu6xRo0ZSu3ZtGTt2bND70CDq5MmTMnv27ICepMcff9wcUlsAL1++fBIXFyd58+ZN1W0AkUx7jPXzX7BgQTl06JBZzgLh5fjx4+b11Z8azU3S3DPAacn9/Xb8G0kTNpcvXy6tW7f2XaZflHpeC8wFo5f7b6+05ymx7Q8cOCA//PCD6XlKSIfXChUqZAqf6VDcpUuXEm3r+fPnzRPrfwCQevYQTLNmzQiQwlT+/PnN6ID69ddfnW4OkCKOfysdPnxY4uPjpVixYgGX6/n9+/cH/R+9PCXbT5w4UfLkySOdO3cOuPzvf/+7fPHFFzJnzhzp27evvPLKK/Lkk08m2tZhw4aZyNM+aG8XgNQjHyky3HjjjeZYv2sBL3E8SMoImo909913myRvf5oH1bJlS6lZs6b069dP/vOf/8jo0aNNj1EwQ4YMMV1z9mHXrl0Z9AiA8KM7R3aQ1KJFC6ebgxAiSIJXOR4kFS5cWDJnzmyGxPzp+eLFiwf9H708udtrsuCGDRvkwQcfvGpbNDdCh9u2b98e9Pps2bKZsUv/A4DU0UkXurOhwzE63I3wpT2FOpy6adMm2bNnj9PNAbwTJEVHR0vdunUDEqo1cVvP2+v+JKSX+2+vZs6cGXT7jz76yNy+PSaelFWrVpkPctGiRVP1WAAk3y+//OL7AdUdJYQvTU+4/vrrzWl6k+AljgdJ9rDXBx98YHKH1q1bJ/379zez13r37m2u79mzpxnqsj322GMyffp0Mzy2fv16ef7552XZsmXyyCOPBNyuJlZrPaVgvUia5D1q1Cj5/fffZevWrTJp0iQZOHCg3HPPPVKgQIEMeNRAZLN/LO2hGIQ3htzgRVnEBXRKv07/fe6550zytU7l1yDITs7euXNnwMyXJk2ayGeffSb/+te/5JlnnpFKlSrJ1KlTpXr16gG3q0nZOu1UayoFGzrT6zXA0hykcuXKmSBJAzYAoa+PZNfNuemmm5xuDjIoSNIZxARJ8BJX1EnyKuokAamjBSSbNm1qym9o0Vim/4c/rVOnvfSasK95n2XKlHG6SYhgJ7xSJwlA5LF7E3R2KQFSZNAyLFo0WNGbBK/g2wlAhiMfKTKRlwSvIUgCkKE0B3DhwoXmNPlIkRskkekBLyBIApChYmNj5dy5c6auWZUqVZxuDjKQ5qFlzZrVFOLVWcWA2xEkAXAsHykqKsrp5iAD5cyZ0xTtVQy5wQsIkgA4UkSSobbIRF4SvIQgCUCGOXPmjBluUyRtRybykuAlBEkAMrQ+khaSLFmypFSoUMHp5sABunyUFvPdt2+fbNy40enmAEkiSAKQ4UNt2ptAPlJkyp49u1k1Qc2aNcvp5gBJIkgCkGF0IWrVqlUrp5sCB918880B7wfArQiSAGSII0eOyPLlywN+JBGZ7NdfexZ1+BVwK4IkABli9uzZJlFXF6KOiYlxujlwUJ06daRgwYJmPbclS5Y43RwgUQRJADLEzz//bI7pRULmzJmldevW5jRDbnAzgiQAIac9SPaPIUESFHlJ8AKCJAAhp1O9d+7cKdHR0dK8eXOnmwMXBUm//fabxMXFOd0cICiCJAAhZ/cW6NpduXLlcro5cIEyZcpIpUqVJD4+nurbcC2CJAAZFiS1adPG6abARRhyg9sRJAEIKZ3ibfcUkI8EfwRJcDuCJAAhpTknOtW7UKFCZuo3YNPK6zrTbdOmTbJjxw6nmwNcgSAJQIZM/dcp35ky8ZWDv+TLl08aNmxoTtObBDfiGwtASJGPhOQMudnBNOAmBEkAQub48eO+isrkIyEYO3jWxW4vXbrkdHOAAARJAEJGewcuX74sVapUkVKlSjndHLhQgwYNpECBAnLs2DGTvwa4CUESgJD58ccfzXGHDh2cbgpcKkuWLNK2bduA9wvgFgRJAEJCe5B++uknc/qWW25xujlwMfv9QZAEtyFIAhASK1askIMHD0ru3LmlWbNmTjcHLqY9SVFRUbJq1SrZu3ev080BfAiSAISE3SugCdu6ZhuQmKJFi0r9+vXN6enTpzvdHMCHIAlASPzwww/mmHwkJAdDbnAjgiQA6U6H2ZYuXWpOt2/f3unmwENBks6I1KVsADcgSAKQ7mbMmCGWZUnt2rUlJibG6ebAA+rWrStFihQxS9gsXLjQ6eYABkESgHTH1H+klC5ZY/c6MuQGtyBIApCutGqynXzL1H+kBHlJcBuCJADpKjY21ixHUrBgQd/ipUBylyjRHqU1a9bIjh07nG4OQJAEIDSz2rT2TebMmZ1uDjxElydp2rSpOf3999873RzAPUHSmDFjpGzZspI9e3az92kvipmYKVOmmPWgdPsaNWpc0T173333meJk/od27doFbHP06FG5++67JW/evJI/f3554IEH5NSpUyF5fECk+Pbbb81xx44dnW4KPKhTp07meOrUqU43BXBHkDR58mQZNGiQDB061FTprVWrltkL1WnEwSxatEh69OhhgpqVK1fKbbfdZg6rV68O2E6Don379vkOn3/+ecD1GiBpt+7MmTNl2rRpMm/ePOnTp09IHysQzjZu3Cjr1q2TrFmzkrSNNAVJv/76qxm2BRxluUCDBg2sAQMG+M7Hx8dbMTEx1rBhw4Ju361bN6tDhw4BlzVs2NDq27ev73yvXr2sTp06JXqfa9eutfThL1261HfZTz/9ZEVFRVl79uxJVrvj4uLMbegxAMt67bXXzGfi5ptvdrop8LBq1aqZ99GkSZOcbgrCVHJ/vx3vSbpw4YIsX75cWrdu7btME/f0/OLFi4P+j17uv73SnqeE28+dO9eUu7/22mulf//+cuTIkYDb0CG2evXq+S7T29T7/u2334Le7/nz5+XEiRMBBwB/sYdItGcXSC2G3OAWjgdJhw8flvj4eClWrFjA5Xp+//79Qf9HL7/a9jrU9vHHH8vs2bPl1VdfNV23WoND78u+DQ2g/GXJksXMyEnsfocNGyb58uXzHUqVKpXqxw2EmwMHDvh2VG699Vanm4MwCJJ++ukns3MKRGyQFCp33nmn+aLWpG7dq9WcI10mQXuXUmvIkCESFxfnO+zatStd2wx4mc5G0irb2jtbsmRJp5sDD9P3kFZq14k0v/zyi9PNQQRzPEgqXLiwmSase6H+9Hzx4sWD/o9enpLtVfny5c19bd682XcbCRPDtQieznhL7HayZctmZsL5HwAEzmpjqA1ppWkPdm+k/b4CIjJIio6ONmv26LCY7fLly+Z848aNg/6PXu6/vdIZaoltr3bv3m1ykkqUKOG7DZ05oflQNt1j0fumAB6QMrrHr59B/6ESIC3sYPu7774z38uAIywX+OKLL6xs2bJZEyZMMLPO+vTpY+XPn9/av3+/uf7ee++1nn76ad/2CxcutLJkyWKNHDnSWrdunTV06FAra9as1p9//mmuP3nypPXEE09YixcvtrZt22bNmjXLuv76661KlSpZ586d891Ou3btrDp16li//fabtWDBAnN9jx49kt1uZrcB/++rr74yn4UKFSpYly9fdro5CAP6XZ0nTx7zvoqNjXW6OQgznpndprp37y4jR46U5557zqwavmrVKrP2k52cvXPnTlPnyNakSRP57LPP5P333zc1lf773/+aWRDVq1c31+vw3R9//GG6aytXrmzqKWlv1fz5882QmW3SpEmmIGWrVq3MmkHNmjUztwkgZexZSNqLpIVbgbTS72p7LTdmucEpURopOXbvHqclAHSWmyZxk5+ESKWzj3SmqH4edEdEdzaA9Co0rJNwKlasaAqVEoAjo3+/XdGTBMC7NBdJv3CuueYa08sLpBet2p4jRw4z4UZHGICMRpAEIE2+/PJLc9ylSxczKwlIL7lz5/YNudnvMyAj8Y0GIE1DbfYU7W7dujndHIQh+32lQRLZIchoBEkAUu3nn3/2DbUlVYIDSOuQ29atW82C5kBGIkgCkGr2EEjXrl0ZakNI5MqVywRKiiE3ZDS+1QCkyrlz50yhP3XHHXc43RyEMYbc4BSCJACpwlAbMoomb+fMmVO2bdsWsEoCEGoESQBSXcNGMdSGjBhy69ixY8D7DsgIfLMBSNVabXYVZC32B2TUkJsGSazlhoxCkAQgxb755hs5c+aMqYTMgtDICJq8rZWRd+3aJfPmzXO6OYgQBEkAUuzTTz81x/fccw9LRSBDZM+e3TdB4JNPPnG6OYgQBEkAUkQXm541a5YvSAIyyr333muOdVHzs2fPOt0cRACCJAAp8sUXX5icEJ3RVqFCBaebgwhyww03SOnSpc2syu+//97p5iACECQBSBF7qINeJGQ0nUV59913m9MMuSEjECQBSLY1a9aYpSGyZMnCWm1wdMht+vTpcujQIaebgzBHkAQgxQnb7du3l8KFCzvdHESgqlWrSt26deXSpUvUTELIESQBSBb9UZowYYI53bNn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a4YGAIRG586dTU9trly5ZNasWXLjjTfKnj17nG4WMgBBEuAhmnOkAdKWLVukbNmyZhkFhtiA0GvdurUp1FqoUCGzg1K/fn357bffnG4WQowgCfAATRh96aWX5JZbbjG5SDq0tmTJEqlatarTTQMiRoMGDcznrnr16rJv3z5TeFKXANK1EhGeCJIAl9u7d69JIH322Wfl8uXL0rt3b9Plz3psQMYrX768LFq0SDp16mSSuPv27StdunSRI0eOON00hABBEuBSunf68ccfS40aNWTOnDkmH2LixIkybtw4s3I5AGfkyZPHlAXQZUyyZs0q33zzjdSqVcvUVEJ4IUgCXGjr1q2mgnavXr3k6NGjJu9o+fLl0rNnT6ebBkB/PDNlkieeeEJiY2OlcuXKJpFbh8O7detmen8RHgiSABc5fvy4PPnkkybXaObMmabHaNiwYSZB9Nprr3W6eQASuP766021+3/84x+SOXNmU1dJP7/Dhw9n3bcwQJAEuICuOj5y5EipUKGC6cK/cOGCqYP0559/ytNPP2269AG4kw6F6+dXZ701bNjQTK4YMmSIVKxYUd577z3zeYY3ESQBDheFHDp0qJQpU0YGDx5shtauu+46U5NFe5J0DSkA3lC7dm2T1P3JJ5+Yz7TOgOvXr5+UK1dOXnvtNbMQNbwlymLuYqrp3kK+fPnMG1+rHgPJoR85rW+kU4e1gq+9zIEGRNprpHlHugwCAO/Sz/XYsWPl1VdfNcGSnfB99913y/333y/16tWTqKgop5sZsU4k8/ebICkNCJKQXPox++OPP0xQ9MUXX8imTZt819WtW9cER7pQreY0AAivYOmzzz4zw3Fr1671Xa61lnSHSD/3OiyHjEWQlAEIkpCU06dPy4IFC8ywma4mvnnzZt91uXPnlrvuukseeughEySxRwmEN61xphW7x48fH9CDrKpVq2aCJa2HpjlNlPgIPYKkDECQBH867VcTN5cuXWoWntXchIsXL/qu1y++9u3bm8JzWohOu94BRJ5jx46ZRXM1WNK1Fy9duuS7LkeOHNKkSRNp2bKlWfpEd6J0jUZEeJA0ZswYM6tn//79pijX6NGjTQn4xOg0S61AvH37dpPLoeO+WqPCpg9LE2I/+OADM61aFwB99913AxJhNUn20Ucfle+//97UvNAfrzfffNPs5ScHQVJk0sq669ev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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots()\n", "ax.plot(x, sample, c='k')\n", "ax.set(xlabel='$x$', ylabel='$y$', title='Gaussian model sample');" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.9.13" } }, "nbformat": 4, "nbformat_minor": 5 }