documents/tutorials/optimize_voigt.ipynb
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Optimization of a Voigt profile"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"execution": {
"iopub.execute_input": "2024-01-16T22:59:35.405087Z",
"iopub.status.busy": "2024-01-16T22:59:35.404934Z",
"iopub.status.idle": "2024-01-16T22:59:36.708010Z",
"shell.execute_reply": "2024-01-16T22:59:36.707508Z"
}
},
"outputs": [],
"source": [
"from exojax.spec.lpf import voigt\n",
"import jax.numpy as jnp\n",
"import matplotlib.pyplot as plt"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's optimize the Voigt function $V(\\nu, \\beta, \\gamma_L)$ using exojax!\n",
"$V(\\nu, \\beta, \\gamma_L)$ is a convolution of a Gaussian with a STD of $\\beta$ and a Lorentian with a gamma parameter of $\\gamma_L$. "
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"execution": {
"iopub.execute_input": "2024-01-16T22:59:36.710113Z",
"iopub.status.busy": "2024-01-16T22:59:36.709942Z",
"iopub.status.idle": "2024-01-16T22:59:38.256154Z",
"shell.execute_reply": "2024-01-16T22:59:38.255593Z"
},
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7fb8a0491000>]"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"nu=jnp.linspace(-10,10,100)\n",
"plt.plot(nu, voigt(nu,1.0,2.0)) #beta=1.0, gamma_L=2.0"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## optimization of a simple absorption model"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Next, we try to fit a simple absorption model to mock data.\n",
"The absorption model is \n",
"\n",
"$ f= e^{-a V(\\nu,\\beta,\\gamma_L)}$\n"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"execution": {
"iopub.execute_input": "2024-01-16T22:59:38.258268Z",
"iopub.status.busy": "2024-01-16T22:59:38.257955Z",
"iopub.status.idle": "2024-01-16T22:59:38.260798Z",
"shell.execute_reply": "2024-01-16T22:59:38.260418Z"
}
},
"outputs": [],
"source": [
"def absmodel(nu,a,beta,gamma_L):\n",
" return jnp.exp(-a*voigt(nu,beta,gamma_L))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Adding a noise...\n"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"execution": {
"iopub.execute_input": "2024-01-16T22:59:38.262708Z",
"iopub.status.busy": "2024-01-16T22:59:38.262375Z",
"iopub.status.idle": "2024-01-16T22:59:38.506957Z",
"shell.execute_reply": "2024-01-16T22:59:38.506571Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7fb8a03dbfd0>]"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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S1Fum1WrVmnGjBkdCmm/+uorPfjgg/rggw906NAhVVRU6Prrr9eFF16ogoICPy8LAABEE59rWGbNmqXjx49r8eLFqq2t1dixY1VeXu4sxK2urlZMjGsctG/fPm3evFn/8z//0+F8sbGx+vjjj/Xaa6/p5MmTyszM1NVXX60nnniCuVgAAIAkyWaMMV3vZm0NDQ1KTk6W3W6nngUAgAjhy/ObtYQAAIDlEbAAAADLI2ABAACWR8ACAAAsj4AFAABYXkin5g+WtoFOLIIIAEDkaHtuezNgOSoCllOnTkkS6wkBABCBTp06peTk5E73iYp5WBwOh44dO6YLLrhANpstoOduW1jx8OHDUTnHS7RfnxT918j1Rb5ov8Zovz4p+q8xWNdnjNGpU6eUmZnZYdLZ9qIiwxITE6NvfetbQf03on2RxWi/Pin6r5Hri3zRfo3Rfn1S9F9jMK6vq8xKG4puAQCA5RGwAAAAyyNg6UJ8fLxKSkqidiHGaL8+KfqvkeuLfNF+jdF+fVL0X6MVri8qim4BAEB0I8MCAAAsj4AFAABYHgELAACwPAIWAABgeT0+YHnyySc1adIk9erVS3379nW7T3V1ta677jr16tVLAwcO1IMPPqizZ892et4vv/xSN998s5KSktS3b1/dfvvt+uqrr4JwBb7ZtGmTbDab29f27ds9HnfllVd22P+uu+4KYcu9l52d3aGtS5cu7fSYM2fOaP78+RowYID69Omj73//+6qrqwtRi31z6NAh3X777crJyVFiYqKGDRumkpIStbS0dHqcle/hihUrlJ2drYSEBOXm5mrbtm2d7v/mm29q5MiRSkhI0KhRo/T222+HqKW+Ky0t1YQJE3TBBRdo4MCBmjFjhvbt29fpMWvWrOlwrxISEkLUYt889thjHdo6cuTITo+JpPsnuf9Osdlsmj9/vtv9rX7/3n//fU2fPl2ZmZmy2Wx66623XN43xmjx4sXKyMhQYmKi8vPztX///i7P6+vn2Fc9PmBpaWnRjTfeqLvvvtvt+62trbruuuvU0tKiyspKvfbaa1qzZo0WL17c6XlvvvlmffLJJ9qwYYP++7//W++//77uvPPOYFyCTyZNmqSamhqX1x133KGcnBxddtllnR47b948l+OefvrpELXad0uWLHFp67333tvp/vfff7/+67/+S2+++abee+89HTt2TDNnzgxRa32zd+9eORwOvfzyy/rkk0/07LPPauXKlVq4cGGXx1rxHpaVlamoqEglJSXauXOnxowZo4KCAn3xxRdu96+srNTs2bN1++23a9euXZoxY4ZmzJih3bt3h7jl3nnvvfc0f/58ffDBB9qwYYO+/vprXX311WpsbOz0uKSkJJd79fnnn4eoxb675JJLXNq6efNmj/tG2v2TpO3bt7tc34YNGyRJN954o8djrHz/GhsbNWbMGK1YscLt+08//bT+9V//VStXrtTWrVvVu3dvFRQU6MyZMx7P6evn2C8GxhhjXn31VZOcnNxh+9tvv21iYmJMbW2tc9tLL71kkpKSTHNzs9tzffrpp0aS2b59u3PbH/7wB2Oz2czRo0cD3vbuaGlpMampqWbJkiWd7vfd737X/OQnPwlNo7ppyJAh5tlnn/V6/5MnT5rzzz/fvPnmm85te/bsMZLMli1bgtDCwHv66adNTk5Op/tY9R5OnDjRzJ8/3/lza2uryczMNKWlpW73/8EPfmCuu+46l225ubnmRz/6UVDbGShffPGFkWTee+89j/t4+j6yopKSEjNmzBiv94/0+2eMMT/5yU/MsGHDjMPhcPt+JN0/SeZ3v/ud82eHw2HS09PNz3/+c+e2kydPmvj4ePPrX//a43l8/Rz7o8dnWLqyZcsWjRo1Smlpac5tBQUFamho0CeffOLxmL59+7pkLPLz8xUTE6OtW7cGvc2++M///E+dOHFChYWFXe777//+70pJSdGll16q4uJinT59OgQt9M/SpUs1YMAAjRs3Tj//+c877cLbsWOHvv76a+Xn5zu3jRw5UoMHD9aWLVtC0dxus9vt6t+/f5f7We0etrS0aMeOHS7/72NiYpSfn+/x//2WLVtc9pe++UxG0r2S1OX9+uqrrzRkyBBlZWXp+uuv9/h9YwX79+9XZmamhg4dqptvvlnV1dUe9430+9fS0qK1a9fqhz/8YaeL7UbS/TtXVVWVamtrXe5RcnKycnNzPd4jfz7H/oiKxQ+Dqba21iVYkeT8uba21uMxAwcOdNl23nnnqX///h6PCZdVq1apoKCgy8Uj58yZoyFDhigzM1Mff/yxHn74Ye3bt0/r1q0LUUu99+Mf/1jf+c531L9/f1VWVqq4uFg1NTVatmyZ2/1ra2sVFxfXoYYpLS3NcvfLnQMHDuj555/XM8880+l+VryH9fX1am1tdfsZ27t3r9tjPH0mI+FeORwO3XfffZo8ebIuvfRSj/uNGDFCq1ev1ujRo2W32/XMM89o0qRJ+uSTT4K+0KuvcnNztWbNGo0YMUI1NTV6/PHHdfnll2v37t264IILOuwfyfdPkt566y2dPHlSt912m8d9Iun+tdd2H3y5R/58jv0RlQHLggUL9LOf/azTffbs2dNlYVgk8eeajxw5onfeeUdvvPFGl+c/t/5m1KhRysjI0FVXXaWDBw9q2LBh/jfcS75cX1FRkXPb6NGjFRcXpx/96EcqLS219LTZ/tzDo0eP6pprrtGNN96oefPmdXpsuO8hpPnz52v37t2d1nhIUl5envLy8pw/T5o0Sd/+9rf18ssv64knngh2M30ybdo053+PHj1aubm5GjJkiN544w3dfvvtYWxZcKxatUrTpk1TZmamx30i6f5FkqgMWB544IFOo19JGjp0qFfnSk9P71Dp3DZ6JD093eMx7QuNzp49qy+//NLjMd3lzzW/+uqrGjBggP7hH/7B538vNzdX0jd/3YfiYdede5qbm6uzZ8/q0KFDGjFiRIf309PT1dLSopMnT7pkWerq6oJ2v9zx9RqPHTumqVOnatKkSfq3f/s3n/+9UN9Dd1JSUhQbG9thRFZn/+/T09N92t8q7rnnHmcBvq9/ZZ9//vkaN26cDhw4EKTWBU7fvn01fPhwj22N1PsnSZ9//rneffddn7OSkXT/2u5DXV2dMjIynNvr6uo0duxYt8f48zn2S8CqYSJcV0W3dXV1zm0vv/yySUpKMmfOnHF7rrai2w8//NC57Z133rFU0a3D4TA5OTnmgQce8Ov4zZs3G0nmf//3fwPcssBbu3atiYmJMV9++aXb99uKbv/jP/7DuW3v3r2WLro9cuSIueiii8xNN91kzp4969c5rHIPJ06caO655x7nz62trWbQoEGdFt3+/d//vcu2vLw8yxZtOhwOM3/+fJOZmWn+8pe/+HWOs2fPmhEjRpj7778/wK0LvFOnTpl+/fqZ5557zu37kXb/zlVSUmLS09PN119/7dNxVr5/8lB0+8wzzzi32e12r4puffkc+9XWgJ0pQn3++edm165d5vHHHzd9+vQxu3btMrt27TKnTp0yxnzzi3bppZeaq6++2nz00UemvLzcpKammuLiYuc5tm7dakaMGGGOHDni3HbNNdeYcePGma1bt5rNmzebiy66yMyePTvk1+fJu+++aySZPXv2dHjvyJEjZsSIEWbr1q3GGGMOHDhglixZYj788ENTVVVlfv/735uhQ4eaK664ItTN7lJlZaV59tlnzUcffWQOHjxo1q5da1JTU82tt97q3Kf99RljzF133WUGDx5sNm7caD788EOTl5dn8vLywnEJXTpy5Ii58MILzVVXXWWOHDliampqnK9z94mUe/ib3/zGxMfHmzVr1phPP/3U3HnnnaZv377OkXm33HKLWbBggXP/P/3pT+a8884zzzzzjNmzZ48pKSkx559/vvnzn/8crkvo1N13322Sk5PNpk2bXO7V6dOnnfu0v8bHH3/cvPPOO+bgwYNmx44d5qabbjIJCQnmk08+CccldOqBBx4wmzZtMlVVVeZPf/qTyc/PNykpKeaLL74wxkT+/WvT2tpqBg8ebB5++OEO70Xa/Tt16pTzWSfJLFu2zOzatct8/vnnxhhjli5davr27Wt+//vfm48//thcf/31JicnxzQ1NTnP8b3vfc88//zzzp+7+hwHQo8PWObOnWskdXj98Y9/dO5z6NAhM23aNJOYmGhSUlLMAw884BJh//GPfzSSTFVVlXPbiRMnzOzZs02fPn1MUlKSKSwsdAZBVjB79mwzadIkt+9VVVW5/D+orq42V1xxhenfv7+Jj483F154oXnwwQeN3W4PYYu9s2PHDpObm2uSk5NNQkKC+fa3v22eeuopl2xY++szxpimpibzT//0T6Zfv36mV69e5oYbbnAJAKzk1Vdfdfs7e27CNNLu4fPPP28GDx5s4uLizMSJE80HH3zgfO+73/2umTt3rsv+b7zxhhk+fLiJi4szl1xyiVm/fn2IW+w9T/fq1Vdfde7T/hrvu+8+5/+PtLQ0c+2115qdO3eGvvFemDVrlsnIyDBxcXFm0KBBZtasWebAgQPO9yP9/rV55513jCSzb9++Du9F2v1re2a1f7Vdg8PhMI8++qhJS0sz8fHx5qqrrupw3UOGDDElJSUu2zr7HAeCzRhjAtfBBAAAEHjMwwIAACyPgAUAAFgeAQsAALA8AhYAAGB5BCwAAMDyCFgAAIDlEbAAAADLI2ABAACWR8ACAAAsj4AFAABYHgELAACwPAIWAABgef8f0WF8eB2ffwQAAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"from numpy.random import normal\n",
"data=absmodel(nu,2.0,1.0,2.0)+normal(0.0,0.01,len(nu))\n",
"plt.plot(nu,data,\".\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's optimize the multiple parameters"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"execution": {
"iopub.execute_input": "2024-01-16T22:59:38.508952Z",
"iopub.status.busy": "2024-01-16T22:59:38.508735Z",
"iopub.status.idle": "2024-01-16T22:59:38.511140Z",
"shell.execute_reply": "2024-01-16T22:59:38.510690Z"
}
},
"outputs": [],
"source": [
"from jax import grad, vmap"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We define the objective function as $obj = |d - f|^2$"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"execution": {
"iopub.execute_input": "2024-01-16T22:59:38.512818Z",
"iopub.status.busy": "2024-01-16T22:59:38.512661Z",
"iopub.status.idle": "2024-01-16T22:59:38.515171Z",
"shell.execute_reply": "2024-01-16T22:59:38.514847Z"
}
},
"outputs": [],
"source": [
"# loss or objective function\n",
"def obj(a,beta,gamma_L):\n",
" f=data-absmodel(nu,a,beta,gamma_L)\n",
" g=jnp.dot(f,f)\n",
" return g\n"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"execution": {
"iopub.execute_input": "2024-01-16T22:59:38.517056Z",
"iopub.status.busy": "2024-01-16T22:59:38.516671Z",
"iopub.status.idle": "2024-01-16T22:59:39.852097Z",
"shell.execute_reply": "2024-01-16T22:59:39.851630Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.010246746 -0.00011916496 -0.0035553267\n"
]
}
],
"source": [
"#These are the derivative of the objective function\n",
"h_a=grad(obj,argnums=0)\n",
"h_beta=grad(obj,argnums=1)\n",
"h_gamma_L=grad(obj,argnums=2)\n",
"print(h_a(2.0,1.0,2.0),h_beta(2.0,1.0,2.0),h_gamma_L(2.0,1.0,2.0))"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"execution": {
"iopub.execute_input": "2024-01-16T22:59:39.854019Z",
"iopub.status.busy": "2024-01-16T22:59:39.853758Z",
"iopub.status.idle": "2024-01-16T22:59:39.857557Z",
"shell.execute_reply": "2024-01-16T22:59:39.857155Z"
}
},
"outputs": [],
"source": [
"from jax import jit\n",
"\n",
"@jit\n",
"def step(t,opt_state):\n",
" a,beta,gamma_L=get_params(opt_state)\n",
" value=obj(a,beta,gamma_L)\n",
" \n",
" grads_a = h_a(a,beta,gamma_L)\n",
" grads_beta = h_beta(a,beta,gamma_L)\n",
" grads_gamma_L = h_gamma_L(a,beta,gamma_L)\n",
"\n",
" grads=jnp.array([grads_a,grads_beta,grads_gamma_L])\n",
" \n",
" opt_state = opt_update(t, grads, opt_state)\n",
" return value, opt_state\n",
"\n",
"def doopt(r0,opt_init,get_params,Nstep):\n",
" opt_state = opt_init(r0)\n",
" traj=[r0]\n",
" for t in range(Nstep):\n",
" value, opt_state = step(t, opt_state)\n",
" p=get_params(opt_state)\n",
" traj.append(p)\n",
" return traj, p"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Here, we use the ADAM optimizer"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"execution": {
"iopub.execute_input": "2024-01-16T22:59:39.859588Z",
"iopub.status.busy": "2024-01-16T22:59:39.859190Z",
"iopub.status.idle": "2024-01-16T22:59:40.789659Z",
"shell.execute_reply": "2024-01-16T22:59:40.789196Z"
}
},
"outputs": [],
"source": [
"#adam\n",
"#from jax.experimental import optimizers #for older versions of JAX\n",
"from jax.example_libraries import optimizers\n",
"opt_init, opt_update, get_params = optimizers.adam(1.e-1)\n",
"r0 = jnp.array([1.5,1.5,1.5])\n",
"trajadam, padam=doopt(r0,opt_init,get_params,1000)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Optimized values are given in padam"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"execution": {
"iopub.execute_input": "2024-01-16T22:59:40.791866Z",
"iopub.status.busy": "2024-01-16T22:59:40.791545Z",
"iopub.status.idle": "2024-01-16T22:59:40.794812Z",
"shell.execute_reply": "2024-01-16T22:59:40.794462Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"Array([1.9930655 , 0.88781667, 2.0753138 ], dtype=float32)"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"padam"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"execution": {
"iopub.execute_input": "2024-01-16T22:59:40.796604Z",
"iopub.status.busy": "2024-01-16T22:59:40.796420Z",
"iopub.status.idle": "2024-01-16T22:59:41.615724Z",
"shell.execute_reply": "2024-01-16T22:59:41.615245Z"
}
},
"outputs": [
{
"data": {
"image/png": "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z1OZ96notZw9r7z1y1NPz5X73+dCrmXWs6Xnyv3v5YnP1fnquPNz5RHdNK6SlZVFWFgYmZmZHvVXhrg/PVviCnquxBXc4bmqNi0jFeHn58fTTz+Nn5+f2aFINaNnS1xBz5W4gjs8VzW6ZURERETMV6NbRkRERMR8SkZERETEVEpGRERExFRKRkRERMRUSkZERETEVEpGzmHWrFm0atWKFi1a8OGHH5odjlQTV155JbVr1+aaa64xOxSpJpKTkxkwYABt27alY8eOTJ061eyQpJrIyMiga9eudOrUifbt2/PBBx+45D6a2nsWJSUltG3bloULFxIWFkaXLl1YsWIFderUMTs08XCLFi0iOzubzz77jGnTppkdjlQDR44cITU1lU6dOpGSkkKXLl3YuXMnQUFBZocmHs5ms1FYWEhgYCC5ubm0b9+etWvXVvpnoVpGzmL16tW0a9eOBg0aEBwczLBhw/jll1/MDkuqgQEDBhASEmJ2GFKNREVF0alTJwAiIyOJiIggLS3N3KCkWvDy8iIwMBCAwsJCDMPAFW0Y1TYZWbJkCSNGjCA6OhqLxcLMmTNPqzN58mRiY2Px9/enR48erF69uvR7hw8fpkGDBqXvGzRowKFDh6oidHFjF/pciZxJZT5X69atw2azERMT4+KoxRNUxrOVkZFBXFwcDRs2ZMKECURERFR6nNU2GcnNzSUuLo7Jkyef8fvffvst48eP5+mnn2b9+vXExcUxdOhQjh49WsWRiifRcyWuUFnPVVpaGqNHj+b999+virDFA1TGs1WrVi02btzIvn37mDJlCqmpqZUfqFEDAMaMGTPKlHXv3t0YM2ZM6XubzWZER0cbkyZNMgzDMJYvX26MGjWq9Ptjx441vvrqqyqJVzxDRZ6rkxYuXGhcffXVVRGmeJiKPlcFBQVGv379jM8//7yqQhUPcyG/s0667777jKlTp1Z6bNW2ZeRcioqKWLduHYMHDy4ts1qtDB48mJUrVwLQvXt3EhMTOXToEDk5OcyZM4ehQ4eaFbJ4gPI8VyLOKs9zZRgGt912G4MGDeKWW24xK1TxMOV5tlJTU8nOzgYgMzOTJUuW0KpVq0qPxbvSr+gBjh8/js1mo379+mXK69evz/bt2wHw9vbmlVdeYeDAgdjtdh599FHNpJFzKs9zBTB48GA2btxIbm4uDRs2ZOrUqfTq1auqwxUPUZ7navny5Xz77bd07NixdEzAF198QYcOHao6XPEg5Xm2Dhw4wD333FM6cPXBBx90yXNVI5OR8ho5ciQjR440OwypZn799VezQ5Bqpm/fvtjtdrPDkGqoe/fuJCQkuPw+NbKbJiIiAi8vr9MG4aSmphIZGWlSVOLp9FyJK+i5Eldxp2erRiYjvr6+dOnShQULFpSW2e12FixYoOZyqTA9V+IKeq7EVdzp2aq23TQ5OTns3r279P2+fftISEggPDycRo0aMX78eG699Va6du1K9+7def3118nNzeX22283MWpxd3quxBX0XImreMyzVenzc9zEwoULDeC016233lpa56233jIaNWpk+Pr6Gt27dzdWrVplXsDiEfRciSvouRJX8ZRnS3vTiIiIiKlq5JgRERERcR9KRkRERMRUSkZERETEVEpGRERExFRKRkRERMRUSkZERETEVEpGRERExFRKRkRERMRUSkZERETEVEpGRERExFRKRkRERMRUSkZERETEVP8PwP66YxXDEeAAAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"traj=jnp.array(trajadam)\n",
"plt.plot(traj[:,0],label=\"$\\\\alpha$\")\n",
"plt.plot(traj[:,1],ls=\"dashed\",label=\"$\\\\beta$\")\n",
"plt.plot(traj[:,2],ls=\"dotted\",label=\"$\\\\gamma_L$\")\n",
"plt.xscale(\"log\")\n",
"plt.legend()\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"execution": {
"iopub.execute_input": "2024-01-16T22:59:41.617571Z",
"iopub.status.busy": "2024-01-16T22:59:41.617401Z",
"iopub.status.idle": "2024-01-16T22:59:41.913327Z",
"shell.execute_reply": "2024-01-16T22:59:41.912840Z"
}
},
"outputs": [
{
"data": {
"image/png": "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NpuNO+64w+3x/n7/vvvuO8aMGUOzZs2w2Wx8+OGHpV43DIOHH36YhIQEIiIiGD58ONu2bav0vJ7+HHuqzicshYWFXHXVVdx+++1uXy8pKeGSSy6hsLCQZcuW8dprrzF37lwefvjhCs977bXXsnHjRhYuXMinn37Kd999xy233OKLS/DIwIEDycjIKPW4+eabadOmDeeee26F7500aVKp9z3xxBM1FLXnHn300VKx3nXXXRUef8899/DJJ5/w7rvv8u2337J//37GjRtXQ9F6ZvPmzTgcDl544QU2btzIU089xZw5c3jggQcqfa8/3sPU1FQmT57MtGnTWLt2Lb169SI5OZkDBw64PX7ZsmWMHz+em266iXXr1nH55Zdz+eWXs2HDhhqOvGq+/fZb7rjjDlasWMHChQspKipixIgR5OXlVfi+qKioUvdq9+7dNRSx57p161Yq1qVLl5Z7bKDdP4DVq1eXur6FCxcCcNVVV5X7Hn++f3l5efTq1YvZs2e7ff2JJ57gP//5D3PmzGHlypXUq1eP5ORkTpw4Ue45Pf05rhZDDMMwjFdffdWIjo4us//zzz837Ha7kZmZ6dr3/PPPG1FRUUZBQYHbc/36668GYKxevdq174svvjBsNpuxb98+r8d+NgoLC43Y2Fjj0UcfrfC4Cy64wPjTn/5UM0GdpdatWxtPPfVUlY8/cuSIERISYrz77ruufZs2bTIAY/ny5T6I0PueeOIJo02bNhUe46/3sH///sYdd9zhel5SUmI0a9bMmD59utvjr776auOSSy4ptS8pKcm49dZbfRqntxw4cMAAjG+//bbcY8r7feSPpk2bZvTq1avKxwf6/TMMw/jTn/5ktGvXznA4HG5fD6T7BxgffPCB67nD4TDi4+ONJ5980rXvyJEjRlhYmPH222+Xex5Pf46ro863sFRm+fLl9OjRg7i4ONe+5ORkcnNz2bhxY7nvadiwYakWi+HDh2O321m5cqXPY/bExx9/zKFDh5g4cWKlx/7vf/8jJiaG7t27M3XqVPLz82sgwuqZMWMGTZo0oU+fPjz55JMVduGtWbOGoqIihg8f7trXuXNnWrVqxfLly2si3LOWk5ND48aNKz3O3+5hYWEha9asKfVvb7fbGT58eLn/9suXLy91PJg/k4F0r4BK79exY8do3bo1LVu2ZOzYseX+vvEH27Zt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\n",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.plot(nu,data,\".\",label=\"data\")\n",
"plt.plot(nu,absmodel(nu,padam[0],padam[1],padam[2]),label=\"optimized\")\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Using SGD instead..., you need to increase the number of iteration for convergence"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"execution": {
"iopub.execute_input": "2024-01-16T22:59:41.915195Z",
"iopub.status.busy": "2024-01-16T22:59:41.915055Z",
"iopub.status.idle": "2024-01-16T22:59:43.042064Z",
"shell.execute_reply": "2024-01-16T22:59:43.041557Z"
}
},
"outputs": [],
"source": [
"#sgd\n",
"#from jax.experimental import optimizers #for older versions of JAX\n",
"from jax.example_libraries import optimizers\n",
"\n",
"opt_init, opt_update, get_params = optimizers.sgd(1.e-1)\n",
"r0 = jnp.array([1.5,1.5,1.5])\n",
"trajsgd, psgd=doopt(r0,opt_init,get_params,10000)"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"execution": {
"iopub.execute_input": "2024-01-16T22:59:43.044599Z",
"iopub.status.busy": "2024-01-16T22:59:43.044236Z",
"iopub.status.idle": "2024-01-16T22:59:45.138218Z",
"shell.execute_reply": "2024-01-16T22:59:45.137879Z"
}
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"traj=jnp.array(trajsgd)\n",
"plt.plot(traj[:,0],label=\"$\\\\alpha$\")\n",
"plt.plot(traj[:,1],ls=\"dashed\",label=\"$\\\\beta$\")\n",
"plt.plot(traj[:,2],ls=\"dotted\",label=\"$\\\\gamma_L$\")\n",
"plt.xscale(\"log\")\n",
"plt.legend()\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3.8.8 ('base')",
"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.10.9"
},
"vscode": {
"interpreter": {
"hash": "72bc7f8b1808a6f5ada3c6a20601509b8b1843160436d276d47f2ba819b3753b"
}
}
},
"nbformat": 4,
"nbformat_minor": 2
}