{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Exploration of sum of exponentials\n",
    "Not useful"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "using Plots"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "a1 = 1\n",
    "a2 = 2\n",
    "r1 = 3\n",
    "r2 = -2\n",
    "f = x -> a1 * exp(r1*x) + a2 * exp(r2*x)\n",
    "x = LinRange(-4,3,303)\n",
    "plot(x, f.(x))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "f0 = (x,a,r) -> a * exp(r*x)\n",
    "d0 = (x,a,r) -> a * r * exp(r*x)\n",
    "l0 = (x,z,a,r) -> f0(z,a,r) + d0(z,a,r) * (x - z)\n",
    "b1 = (x,z) -> f0(x,a1,r1) + l0(x,z,a2,r2)\n",
    "b2 = (x,z) -> f0(x,a2,r2) + l0(x,z,a1,r1)\n",
    "b3 = (x,z) -> max(b1(x,z), b2(x,z))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "plot(x, f.(x), label=\"f\")\n",
    "z = -2\n",
    "plot!(x, b1.(x,z), label=\"b1\")\n",
    "plot!(x, b2.(x,z), label=\"b2\")\n",
    "plot!(x, b3.(x,z), label=\"b3\")\n",
    "plot!(ylim=[0, 8000])"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Julia 1.1.0",
   "language": "julia",
   "name": "julia-1.1"
  },
  "language_info": {
   "file_extension": ".jl",
   "mimetype": "application/julia",
   "name": "julia",
   "version": "1.1.0"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
