{ "cells": [ { "cell_type": "code", "execution_count": 10, "metadata": { "ExecuteTime": { "end_time": "2018-10-06T11:12:50.334580Z", "start_time": "2018-10-06T11:12:50.019706Z" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "#check answer quality\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "from matplotlib import gridspec\n", "import snlay as snlay\n", "#from jupyterthemes import jtplot\n", "#currently installed theme will be used to\n", "#set plot style if no arguments provided\n", "#jtplot.style()\n", "mats = np.array([3, 4, 3, 4, 3, 4, 3, 4])\n", "lams = np.linspace(300, 1200, 256)\n", "\n", "# actual target\n", "size_t = np.array([30., 64., 52., 36., 36., 64., 35., 62.])\n", "targ_spec = snlay.calc_spectrum(size_t, mats, lams)\n", "\n", "# actual target\n", "size_sn = np.array([30., 64., 52., 36., 36., 64., 35., 62.])\n", "targ_sn = snlay.calc_spectrum(size_sn, mats, lams)\n", "\n", "# actual target\n", "size_mod_p = np.array([40., 58., 51., 34., 35., 64., 35., 62.])\n", "targ_mod_p = snlay.calc_spectrum(size_mod_p, mats, lams)\n", "\n", "size_mod = np.array([37., 61., 48., 35., 38., 64., 34., 61.])\n", "targ_mod = snlay.calc_spectrum(size_mod, mats, lams)\n", "\n", "\n", "fig1 = plt.figure(figsize=(11,3))\n", "gs = gridspec.GridSpec(1, 2, width_ratios=[8, 3]) \n", "\n", "ax = plt.subplot(gs[0])\n", "#ax = fig1.add_subplot(1,2,1)\n", "#ax.set_title('silica coated gold')\n", "ax.set_xlabel('Wavelength (nm)')\n", "ax.set_ylabel('Extinction Efficiency Qe')\n", "ax.set_ylim((0, 6))\n", "ax.set_xlim((300, 1200))\n", "plt.plot(lams, targ_spec,'k--', linewidth=1, label='Targeted Spectrum')\n", "plt.plot(lams, targ_sn,'b--', linewidth=1, label='Actual (16m 5s)')\n", "plt.plot(lams, targ_mod,'r--', linewidth=1, label='Approx (28s)')\n", "plt.plot(lams, targ_mod_p,'g--', linewidth=1, label='Assist (2m 30s)')\n", "#plt.plot(lams, 10*np.abs(spec_ac - spec)/spec_ac,'k', linewidth=1, label='10x Relative error')\n", "ax.legend(loc='best')\n", "plt.grid(True)\n", "ax2 = plt.subplot(gs[1])\n", "#fig2 = plt.figure(figsize=(3,3))\n", "#ax2 = fig1.add_subplot(1,2,2)\n", "#ax.set_title('silica coated gold')\n", "ax2.set_xlabel('Wavelength (nm)')\n", "#ax.set_ylabel('Extinction Efficiency Qe')\n", "ax2.set_ylim((1, 4.5))\n", "ax2.set_xlim((300, 450))\n", "plt.plot(lams, targ_spec,'k--', linewidth=1, label='Targeted Spectrum')\n", "plt.plot(lams, targ_sn,'b--', linewidth=1, label='Actual (16m 5s)')\n", "plt.plot(lams, targ_mod,'r--', linewidth=1, label='Approx (28s)')\n", "plt.plot(lams, targ_mod_p,'g--', linewidth=1, label='Assist (2m 30s)')\n", "#plt.plot(lams, spec, 'r--', linewidth=2, label='predicted')\n", "#plt.plot(lams, 10*np.abs(spec_ac - spec)/spec_ac,'b', linewidth=1, label='10x Relative error')\n", "#ax.legend(loc='best')\n", "plt.grid(True)\n", "plt.tight_layout()\n", "\n", "ax.spines['top'].set_visible(False)\n", "ax.spines['right'].set_visible(False)\n", "#ax.spines['bottom'].set_visible(False)\n", "#ax.spines['left'].set_visible(False)\n", "ax2.spines['top'].set_visible(False)\n", "ax2.spines['right'].set_visible(False)\n", "\n", "#plt.savefig('optimizers.png')\n", "\n", "\n", "\n" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "ExecuteTime": { "end_time": "2018-10-06T11:08:33.158305Z", "start_time": "2018-10-06T11:08:33.037247Z" } }, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "approx_mre = np.array([[0.0, 1.7444054],\n", "[50.0, 0.75968117],\n", "[100.0, 0.71295995],\n", "[150.0, 0.6474583],\n", "[200.0, 0.645691],\n", "[250.0, 0.6181751],\n", "[300.0, 0.61033905],\n", "[350.0, 0.60982],\n", "[400.0, 0.6055719],\n", "[450.0, 0.6024746]])\n", "\n", "\n", "assist_pre = np.array([[0.0, 1.1158075896087172],\n", " [0.0, 1.1158075896087172],\n", " [40.0, 0.8150859613864927],\n", " [60.0, 0.8150859613864927],\n", " [80.0, 0.8150859613864927],\n", " [100.0, 0.7252854930644419],\n", " [120.0, 0.5596733128944251],\n", " [140.0, 0.49493466218342536],\n", " [160.0, 0.49493466218342536],\n", " [180.0, 0.44012459407140986],\n", " [200.0, 0.44012459407140986],\n", " [220.0, 0.41603703170757483],\n", " [240.0, 0.36669514306882695],\n", " [260.0, 0.3204032876378119],\n", " [280.0, 0.3204032876378119]])\n", "\n", "\n", "act_pre= np.array([[ 0.0, 34.764084177464106],\n", " [ 25.0, 8.340754312117314],\n", " [ 50.0, 5.596934152569711],\n", " [ 75.0, 2.4355046393850808],\n", " [100.0, 2.4355046393850808],\n", " [125.0, 2.4134250007110736],\n", " [150.0, 1.7133162654256295],\n", " [175.0, 1.7133162654256295],\n", " [200.0, 1.657703207258774],\n", " [225.0, 1.357276014324554],\n", " [250.0, 1.2038289909480697],\n", " [275.0, 1.2038289909480697],\n", " [300.0, 1.0010963661625447],\n", " [325.0, 0.9091072669949225],\n", " [350.0, 0.8380571414952189],\n", " [375.0, 0.6046218491740213],\n", " [400.0, 0.6046218491740213],\n", " [425.0, 0.5006209308298584],\n", " [450.0, 0.45559701169843764],\n", " [475.0, 0.4376195672622949],\n", " [500.0, 0.3938599657695569],\n", " [525.0, 0.25238263922875026],\n", " [550.0, 0.16105660067589186],\n", " [575.0, 0.16105660067589186]])\n", "\n", "\n", "\n", "fig1 = plt.figure(figsize=(10,4))\n", "gs = gridspec.GridSpec(1, 2, width_ratios=[5, 5]) \n", "ax = plt.subplot(gs[0])\n", "#ax = fig1.add_subplot(1,2,1)\n", "#ax.set_title('silica coated gold')\n", "ax.set_xlabel('Iteration number')\n", "ax.set_ylabel('Peak Relative Error (%)')\n", "##ax.set_ylim((0, 6))\n", "#ax.set_xlim((300, 1200))\n", "\n", "ax.plot(act_pre[:,0], act_pre[:,1])\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ] }, { "cell_type": "raw", "metadata": { "ExecuteTime": { "end_time": "2018-10-05T16:48:18.854453Z", "start_time": "2018-10-05T16:48:18.848961Z" } }, "source": [ "\n", "array([30., 64., 52., 36., 36., 64., 35., 62.])\n", "\n", "assisted diff evol\n", "----------------------------------------------------------\n", "executed in 2m 30s, finished 22:14:57 2018-10-05\n", "pop = 500, its = 500\n", "pnew = 20, its = 300\n", "best = array([40., 58., 51., 34., 35., 64., 35., 62.])\n", "\n", "\n", "0 1.7444054\n", "50 0.75968117\n", "100 0.71295995\n", "150 0.6474583\n", "200 0.645691\n", "250 0.6181751\n", "300 0.61033905\n", "350 0.60982\n", "400 0.6055719\n", "450 0.6024746\n", "\n", "executed in 27.9s, finished 10:08:32 2018-10-06 until here\n", "\n", "\n", "0 1.1158075896087172\n", "20 1.1158075896087172\n", "40 0.8150859613864927\n", "60 0.8150859613864927\n", "80 0.8150859613864927\n", "100 0.7252854930644419\n", "120 0.5596733128944251\n", "140 0.49493466218342536\n", "160 0.49493466218342536\n", "180 0.44012459407140986\n", "200 0.44012459407140986\n", "220 0.41603703170757483\n", "240 0.36669514306882695\n", "260 0.3204032876378119\n", "280 0.3204032876378119\n", "\n", "diff evol\n", "--------------------------------------------------------\n", "executed in 16m 5s, finished 23:55:18 2018-10-05\n", "pop = 80, its = 600\n", "best = array([30., 64., 52., 36., 36., 64., 35., 62.])\n", "\n", "0 34.764084177464106\n", "25 8.340754312117314\n", "50 5.596934152569711\n", "75 2.4355046393850808\n", "100 2.4355046393850808\n", "125 2.4134250007110736\n", "150 1.7133162654256295\n", "175 1.7133162654256295\n", "200 1.657703207258774\n", "225 1.357276014324554\n", "250 1.2038289909480697\n", "275 1.2038289909480697\n", "300 1.0010963661625447\n", "325 0.9091072669949225\n", "350 0.8380571414952189\n", "375 0.6046218491740213\n", "400 0.6046218491740213\n", "425 0.5006209308298584\n", "450 0.45559701169843764\n", "475 0.4376195672622949\n", "500 0.3938599657695569\n", "525 0.25238263922875026\n", "550 0.16105660067589186\n", "575 0.16105660067589186\n", "\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "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.5.4" } }, "nbformat": 4, "nbformat_minor": 2 }