Skip to content

Instantly share code, notes, and snippets.

@beckermr
Created May 12, 2023 18:50
Show Gist options
  • Save beckermr/73114e0b18b4d29311d02abc10f9c423 to your computer and use it in GitHub Desktop.
Save beckermr/73114e0b18b4d29311d02abc10f9c423 to your computer and use it in GitHub Desktop.
balrog cuts
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "import proplot as pplt\nimport numpy as np\n\n%matplotlib inline",
"execution_count": 1,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "def sigmoid(x, m=0, w=1, l=0, h=1):\n return (h-l)/(1.0 + np.exp(-(x-m)/w)) + l",
"execution_count": 2,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "mvals, tvals = np.meshgrid(np.linspace(12, 26, 100), np.linspace(-1, 3, 100))",
"execution_count": 23,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "fig, axs = pplt.subplots()\n\n# we compute 1 - (too big and too bright)\np = (\n 1\n - (\n # this term is picking something too big\n (1-sigmoid(tvals, m=0.01, w=0.1, l=0.1, h=1.0))\n *\n # this term is picking something\n (1-sigmoid(mvals, m=20, w=0.5, l=0.1, h=1.0))\n )\n)\n\naxs.pcolormesh(mvals, tvals, p, cmap=\"rocket\", colorbar=\"t\", discrete=False)",
"execution_count": 29,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 29,
"data": {
"text/plain": "<matplotlib.collections.QuadMesh at 0x13b952860>"
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": "Figure(nrows=1, ncols=1, refwidth=2.5)",
"image/png": "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wgwAAGww5gIAAOBIVAOrwsJC3XnnncrJyQmNCp177rm65557dODAgXq1NWXKFKWmptb6M378+MZ5IQAAAIrio8BNmzZpxIgRKiws9JRv2rRJ8+bN00svvaRTTz3Vqr2CgoLG6CYAAIC1qIxYBQIBTZw4UYWFherdu7defPFFFRUVadu2bcrPz1dGRoY++eQTjR49WhUVFVZtbt26VZK0dOlSlZSUGH+eeuqpxnxZAACglYtKYPXGG2/oww8/VGJiohYsWKChQ4cqJSVFXbt21RVXXKFly5YpJSVFW7Zs0cKFC+tsz+/3a8eOHZKkvn37NnLvAQAAzKISWL355puSpAsuuEBZWVme7VlZWaHpDd55550629u1a5eOHj2qbt26KS2NuaUAAEB0RCWw2rZtm6TaR5eC0xscPny4zvaCjwFPP/105efna+DAgercubO6d++uIUOG6Omnn5bf73fQcwAAgPCikrx+3XXXaeTIkerXr1/YOhs2bJAkZWZm1tleMHF95cqVWr58eaj86NGjWrVqlVatWqXFixdr7ty5SkxMjKzzAAAAYUQlsBo0aFCt25ctWxZ6XHjppZfW2V5wxMrv92vChAm68cYblZmZqU8//VRz5szRzJkztXjxYk2bNk133313rW3l5ORYvYbt27er9yl1B30AAKD1aHYThD7zzDMaO3asJOnyyy/XN7/5zTr3qaqqUt++fTV58mQ99thjOu2005SUlKRTTjlF06dP1x133CFJmjVrlmcxZQAAAFd8JSUlgWh3QpI2btyoyZMna8WKFZKkAQMGaMGCBWrbtm3EbR89elSnnnqqDhw4oCeffFI//OEPI24zJydHvkCV3nv71YjbAgAA0XHWgEsU8MVr7dq1TtqL+ojVl19+qZtuukn9+/fXihUrlJiYqDvuuEOLFy92ElRJUps2bUKP+IKPDQEAAFyL6iLMa9eu1bhx47Rr1y5J0ogRIzRt2jT17t3b+bHS09MlVY9eAQAANIaoBVbLly/XqFGjVFpaqszMTD3++ON1JrWbfP7559qwYYMSExN1wQUXhK138OBBSV8FWAAAAK5FJbD64osvNG7cOJWWlmrw4MF67rnn1KFDhwa1dejQodBkouvWrdPpp5/uqVNZWal169ZJkrKzsxvecQAAgFpEJcdq9uzZ2rdvnzIzMzV//vwGB1VS9SztZ555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AHCEwAoAAMARAisAAABHCKwAoAUqLy/XQw89pHPOOUddunTRySefrFGjRukf//hHtLsGtGoEVg74/X717t1bY8eOrbXejh07NGnSJJ111lnq3LmzunXrpkGDBunRRx/VkSNH6n3c8ePHKzU1tdafKVOmNPRltUg212LOnDl1nrcLL7ywCXsdfXWdt7rO17E//fr1sz4u7+FqhYWFuvPOO5WTk6OMjAxlZGTo3HPP1T333KMDBw546h85ckTDhg3TXXfdpc2bN+vIkSMqLi7WK6+8omHDhunpp59u+hcRBfU9bxL34cZS32sRy/fhhGh3IBYsXbpUhYWFtdZZsWKFxowZo0OHDtUo/9e//qV//etfmjdvnhYtWqQuXbpYH3fr1q0N6m8ss7kWnDcvm/Nmq02bNtZ1uRbSpk2bNGLECM/537RpkzZt2qR58+bppZde0qmnnhraNmXKFK1evVodO3bU7373Ow0dOlTFxcWaPn26nn32Wd14440677zzauwTaxpy3rgPN46GXItYPm+MWEVo27Ztmjx5cq11SkpKNGHCBB06dEhnn322li5dquLiYn300Ud68MEH1b59e23cuFETJ06s17G3b98uSfroo49UUlJi/Pn1r3/d4NfW0thcC+mrD3R+fn7Y8/bmm282dnebDdv3cG0/hw4d0uDBg+Xz+XT//fdbH7u1v4cDgYAmTpyowsJC9e7dWy+++KKKioq0bds25efnKyMjQ5988olGjx6tiooKSdUjA3/6058kVb+Hc3Nz1a5dO2VmZmr27NkaNGiQysrK9Mgjj0TxlTWuhpw37sONoyHXQort+zCBVQNs2LBBt956qy666CJlZ2eHPljh/PWvf1VRUZHS09P10ksvqX///mrTpo1OOukkXXfddVqwYIHi4uL01ltv6d1337Xqw549e3To0CF16NBBJ510kouX1SLV91pIX32g+/bt29jda7Yact5qM3v2bC1fvlw33XSThgwZYrUP72HpjTfe0IcffqjExEQtWLBAQ4cOVUpKirp27aorrrhCy5YtU0pKirZs2aKFCxdKkl5++WWVlZWpb9++GjZsmKfNm2++WZL0f//3fwoEYnNhjYacN+7DjaMh10KK7fswgVUDvPPOO3r88cf17rvvyu/311k/GHVfdtll6tSpk2f7eeedp29/+9uhtm0UFBRIis03ZX3U91pUVlbq448/VlxcnE4//fQm6GHzVN/zVpsdO3ZoypQpOv3003XHHXdY78d7+Kt7wwUXXKCsrCzP9qysLOXm5kr66t6wcuVKSdLQoUONbQ4aNEjJycn64osv9OGHHzZGt6OuIeeN+3DjaMi1iPX7MIFVA/zoRz/S6tWrQz/XXHNNrfWDowG1ffgyMjIkVQ9X2whG+1lZWXrooYeUk5OjtLQ09ezZU9///ve1ePFiq3Zauvpeix07dqiyslJZWVlavHixhgwZoq5du6pr164aOHCgZs2apfLy8ibqffTU97zV5rrrrtPhw4c1a9YsJScnW+/He7j6Maxkd284fPiwpK/+Y37GGWcY6yclJalPnz416saahpw37sONoyHXItbvwySvN0B6errS09NDv9eV6PirX/1Khw4d0jnnnGPcHggEtHHjRknSySefbNWH4Af6+eefrzHiUF5erjfeeENvvPGGfvrTn+rhhx+2aq+lqu+1CJ637du3e3Ip1q9fr/Xr12vBggV64YUXdMIJJ7jvcDNR3/MWzqJFi/T2229r1KhROu+88+q1L+/h6qB05MiRtX6TcsOGDZKkzMxMSdKuXbskSd27dw+7T48ePbRx48ZQ3VjTkPPGfbhxNORaxPp9mBGrJnDJJZdo1KhRYT+sf/rTn1RQUKDk5GTr/JRjv1Hx85//XJs3b9a+ffu0Zs0aXXnllZKq816eeOKJiPsfS4Lnze/369JLL9WqVav0xRdf6N///rfuvvtuJSYm6p///KduvPHGKPe0+fP7/brnnnuUmJiou+++u9778x6ufmw3atQoff3rXzduX7ZsWehRy6WXXirpq7/627dvH7bddu3aSbIfeWlpGnLeuA83joZci1i/DxNYRZHf79cjjzyin//855KkG264Qd26dbPaNy4uTn379tVvf/tb3X333erZs6eSkpLUt29fzZ49Wz/5yU8kSTNmzFBlZWWjvYaW5ujRo+rbt68mTJig5557TmeccYaSk5PVo0cP/fznP9fvf/97SdLf/va3mM1PceX555/X5s2bdeWVV6pXr1713p/3cO2eeeaZ0Lxil19+ub75zW9KksrKyiRJiYmJYfdNSkqSpAbNy9TShTtv4XAfbjzhrkWs34cJrKJk5cqVGjhwoO68805VVlZq1KhRuuuuu6z3nzdvntasWaOrr77auH3KlCmK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\n"
},
"metadata": {
"image/png": {
"width": 299,
"height": 332
}
}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "",
"execution_count": null,
"outputs": []
}
],
"metadata": {
"kernelspec": {
"name": "conda-env-work-py",
"display_name": "Python [conda env:work]",
"language": "python"
},
"language_info": {
"name": "python",
"version": "3.10.10",
"mimetype": "text/x-python",
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"pygments_lexer": "ipython3",
"nbconvert_exporter": "python",
"file_extension": ".py"
},
"gist": {
"id": "",
"data": {
"description": "balrog cuts",
"public": true
}
}
},
"nbformat": 4,
"nbformat_minor": 5
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment