{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Topological Conjugacy for homeomorphisms of $\\mathbb R$."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let $f:I \\to I$ and $g: J \\to J$ be continuous maps. We say they are topologically conjugate if there is a homeomorphism $h:I \\to J$ so that $g \\circ h(x)=h \\circ f(x)$ for all $x \\in I$. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We will demonstrate the idea behind the following result:\n",
"\n",
"Theorem. Suppose $I=(a,b)$ and $J=(c,d)$ are intervals in $\\mathbb R$. Suppose $f:I \\to I$ and $g:J \\to J$ are orientation-preserving homeomorphisms so that\n",
"* $f(x)>x$ for each $x \\in I$, and\n",
"* $g(y)>y$ for each $y \\in J$.\n",
"Then $f$ and $g$ are topologically conjugate."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"To demonstrate this, we will consider two such maps."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"Graphics object consisting of 2 graphics primitives"
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"f(x) = sqrt(2*x-x^2) # Consider over the interval (0,pi)\n",
"plot(f, 0, 1, aspect_ratio=1) + plot(x,(x, 0, 1), color=\"red\")"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/plain": [
"[x == -sqrt(-y^2 + 1) + 1, x == sqrt(-y^2 + 1) + 1]"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Here we work out the inverse map\n",
"x=var(\"x\")\n",
"y=var(\"y\")\n",
"assume(y>0) # Used to help Sage find the solution we want below.\n",
"assume(y<1) \n",
"show((f(x)==y).solve(x))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Note that the inverse must be the first one since the second takes values greater than one."
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"# Here we define the inverse map\n",
"finv(y) = -sqrt(-y^2 + 1) + 1"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Lets plot $f^{-1}$ with $f$ to be sure."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYsAAAGDCAYAAADaszzmAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzt3XdclXX/x/EXooCTHEGKOCtHaCWOXJVlzhwNc+So9E6NctVdmpllqd1mtkRTs21paZopDlw5sByBI82RAwc4UAFBGedcvz+un5Y5gcO5zng/H4/zOHI65zpvruB8+I7r+/UxDMNARETkGgpYHUBERFyfioWIiFyXioWIiFyXioWIiFyXioWIiFyXioWIiFyXioWIiFyXioWIiFyXioWIiFyXioWIiFyXioWIiFyXWxQLwzBISUlBy1iJiFjDLYpFamoqgYGBpKamWh1FRMQruUWxEBERa6lYiIjIdTmlWKxevZp27dpRrlw5fHx8mDdvnjPeVkREHMQpxSItLY0777yTiRMnOuPtRETEwQo6401at25N69atb/j5GRkZZGRkXPw6JSUlP2KJiLgsux3S0+Hcub9v589f+nVGBthsl9/sdli1bzVd2panTcMqDsnjlGKRU2PHjuXNN9+0OoaISJ5lZ0NSEhw/fvnt9GlITr7yLSUF8na1wL3AGs8uFsOGDWPIkCEXv05JSSE0NNTCRCIilzIM80P90KG/b4cP//3vhASzIJw6dfmHfkAA3HwzlC4NgYHmrXLlv/8dGAg33QTFikHhwpfeAgL+/re/P/j6Xn7Dx47f277c32E60NQh369LFgt/f3/8/f2tjiEiXu78edi/H/bu/fv2119w8KBZGM6e/fu5BQpAuXIQGgrly0OtWhAUdOVb0aLg45N/ubPtdvCBAj6OG5Z2yWIhIuIshgHx8bBjB/zxB+ze/XdROHTo71ZB4cJw661QtSq0amUWhNDQv2+33AIFXeQT1W7YARULEZEcMwyzNbBtm1kULhSHnTv/biEULQq33w633QYNG5rF4cLtllvytzXgSG5bLM6ePcvevXsvfr1//37i4uIoVaoUFSpUcEYEEfEidrvZOvj9d4iNNW+//24ONINZFGrWhDvugE6dzPs77jBbCAU84FJlm90GuGGx2LRpE82aNbv49YXB6169evHF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\n",
"text/plain": [
"Graphics object consisting of 2 graphics primitives"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"plot(finv, 0, 1, color=\"green\", aspect_ratio=1) + plot(f,(x,0,1), color=\"blue\")"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"Graphics object consisting of 2 graphics primitives"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"g(x) = 1/2*(x*(3-x)) # Consider over the interval (0,pi)\n",
"\n",
"plot(g, 0, 1, aspect_ratio=1) + plot(x,(x,0,1), color=\"red\")"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[x == -1/2*sqrt(-8*y + 9) + 3/2, x == 1/2*sqrt(-8*y + 9) + 3/2]"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Here we work out the inverse map\n",
"x=var(\"x\")\n",
"y=var(\"y\")\n",
"assume(y>0) # Used to help Sage find the solution we want below.\n",
"assume(y<1)\n",
"(g(x)==y).solve(x)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"ginv(y) = -1/2*sqrt(-8*y + 9) + 3/2"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"Graphics object consisting of 3 graphics primitives"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"plot(ginv, 0, 1, color=\"green\", aspect_ratio=1) + plot(g,(x,0,1), color=\"blue\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Defining the topological conjugacy:"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"First we pick a points $a_f$ and $a_g$ in the domains of $f$ and $g$:"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"a_f = 1/2\n",
"a_g = 1/2"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We define $b_f = f(a_f)$ and $b_g = g (a_g)$:"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"b_f = 1/2*sqrt(3)\n",
"b_g = 5/8\n"
]
}
],
"source": [
"b_f = f(a_f)\n",
"print(\"b_f = %s\"%b_f)\n",
"b_g = g(a_g)\n",
"print(\"b_g = %s\"%b_g)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The intervals $[a_f, b_f)$ is a fundamental domains for $f$. This means for each $x \\in (0,1)$, there is a unique $n \\in \\mathbb Z$ so that $f^n(x) \\in [a_f, b_f)$. Similarly, $[a_g, b_g)$ is a fundamental domain for $g$."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We define a homeomorphism $h_0:[a_f,b_f) \\to [a_g, b_g).$"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/plain": [
"1/8*(2*x - 1)/(sqrt(3) - 1) + 1/2"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"h_0(x) = (b_g - a_g)/(b_f - a_f)*(x - a_f) + a_g\n",
"show(h_0(x))\n",
"assert h_0(a_f)==a_g # Prints errors if false.\n",
"assert h_0(b_f)==b_g "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Note that this function is more complex, so we define it using a Python\n",
"type function. This allows us to use any Python or Sage type expression we want, including if statements and loops."
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [],
"source": [
"def h(x):\n",
" assert 0 < x < 1 # Cause an error if not in the domain of f.\n",
" if a_f <= x < b_f:\n",
" # Use h_0:\n",
" return h_0(x)\n",
" if x >= b_f:\n",
" count = 0\n",
" while x >= b_f: # Apply f^-1 until we land in the fundamental\n",
" x = finv(x) # domain and count the number of times\n",
" count = count + 1 # we apply f^-1.\n",
" assert a_f <= x < b_f\n",
" y = h_0(x) # Move to the domain of g using h_0.\n",
" for i in range(count): # Now apply g to y, the same number of times.\n",
" y = g(y) \n",
" return y\n",
" if x < a_f:\n",
" count = 0\n",
" while x < a_f:\n",
" x = f(x)\n",
" count = count + 1\n",
" assert a_f <= x < b_f\n",
" y = h_0(x)\n",
" for i in range(count):\n",
" y = ginv(y)\n",
" return y"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"Graphics object consisting of 1 graphics primitive"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Plot h.\n",
"# Note that h is not defined at zero or at one, so\n",
"# we have shrunk the interval we are plotting slightly.\n",
"# Calling plot(h, 0, 1) will give rise to errors.\n",
"plot(h, 0.001, 0.999)"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/plain": [
"-1/3200*((sqrt(19) - 5)/(sqrt(3) - 1) + 100)*((sqrt(19) - 5)/(sqrt(3) - 1) - 20)"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Check one value larger than b_f:\n",
"show( h(9/10) )\n",
"# Check the conjugacy equation:\n",
"assert( h(f(9/10)) == g(h(9/10)) )"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/plain": [
"-1/2*sqrt(-1/2*(sqrt(7) - 2)/(sqrt(3) - 1) + 5) + 3/2"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Check one value larger than b_f:\n",
"show( h(1/4) )\n",
"# Check the conjugacy equation:\n",
"assert( h(f(1/4)) == g(h(1/4)) )"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can graphically check the conjugacy. For plot1 we will plot $h \\circ f$ and for plot2 we will plot $g \\circ h$."
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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m6b4+HiNHj1aknT11Vfr5MmTGjNmjKZOnap69dx2hQtqyG2faEBAgCIjI5WRkVHuekZGhrp3725TVb6nps9h9uzZevzxx/Xee++pc+fOdV2mz3L2+bRr105ffPGFcnJyzr4GDRqkvn37KicnR82bN3dV6T6jJr9DPXr00O7du88GWUnauXOnwsLCCEq1rCbP59SpUxUCkb+/vyyzaarOaoWN6mTZeC05s50zNTXV2rZtmzVhwgTrwgsvtPbt22d3aT7lt55DfHx8uV0j//znP62AgABrxYoVVl5e3tlXUVGRXT+CV3P2+fwau+HqnrPPKDc31/rd735n3XvvvdaOHTust99+22ratKn1j3/8w64fwas5+3weffRRq1GjRtayZcusPXv2WGvWrLFat25t3XnnnXb9CD6rqKjIys7OtrKzsy1J1pw5c6zs7OxabzHk1mHJsiwrKSnJCg8PtwICAqxOnTpZGzZssLskn1TVc+jdu7c1cuTIs5+Hh4dbkiq8Hn30UdcX7iOceT6/RlhyDWefUVZWlhUVFWUFBgZarVq1smbOnGmVlpa6uGrf4czz+emnn6zHHnvMat26tRUUFGQ1b97c+utf/2odO3bMhsp927p16875701V/5tXE36WxZghAABAZdx2zRIAAIA7ICwBAABUgbAEAABQBcISAABAFQhLAAAAVSAsAQAAVIGwBAAAUAXCEgAAQBUISwAAAFUgLAEAAFSBsAQAAFCF/w9uabq6dkQ++gAAAABJRU5ErkJggg==\n",
"text/plain": [
"Graphics object consisting of 1 graphics primitive"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"Graphics object consisting of 1 graphics primitive"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plot1 = plot(lambda x: h(f(x)), 0.001, 0.999)\n",
"show(plot1)\n",
"plot2 = plot(lambda x: g(h(x)), 0.001, 0.999, color=\"red\")\n",
"show(plot2)"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"Graphics object consisting of 2 graphics primitives"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Plot them on top of each other\n",
"plot1 + plot2"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [],
"source": [
"# Note that h is continuous but not differentiable:\n",
"def approximate_derivative_of_h(x, epsilon=0.0001):\n",
" return (h(x+epsilon)-h(x)) / epsilon"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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993nzG8uAEDooIfJQxdfbK78vXKldNllVlcTulwusyevfXvp3nulvXuluXPNzZABAM7ntFEYepg85HKZvUxvvHHqXg96RPzj9783h+ief1668Ubp+++trggA0BQRmLxw3XXS559L//nPqR/ntPRsV7/6lbnA5apV5orrFRVWVwQAaGoYkvPCgAFS69bmfmgXX2x1NU3D0KFSYaH574ABZng64wyrq4JT7NtnzoWjhxKwByeuZ0hg8kJEhHm33PLl0p/+dPLHMCTnf/36SevXm71MfftKa9ZIyclWVwUneP996dlnzWVBGrq7FUDgde0qDRxodRWesXVgys3NVW5urmpqaqwupY7rr5deflnasUM677yTP4YhOf+78ELp3XfNbWr69pVWr5Y6d7a6KjjFG2/QMwnAO7aew2SnzXd/atAgqXlzc24Nguucc6SNG6WzzpIuuYRNewEAgWfrwGRnP/uZOTREYLJG+/ZmUOrZ0wyvL75odUWwM4bIAfiKwOSD668350Z8+WXd/8cP6MBr1Up6801pzBjp5pulGTP4vOPUGCYH4C0Ckw+uusrcyuP110/+//nhHHjNmknz50uzZpkT8MeMkaqqrK4KABBqCEw+aNNGuvRShuWs5nJJU6ZIS5ZIf/mLOSH8m2+srgp2Qs8jAF8RmHx0/fXSunXmOi8/xg/o4MvMlNaulT76SOrdW9q50+qKYDf0+gLwFoHJR9ddZ4aj5cutrgSSudTA+++b/92rl7Rpk7X1AABCA4HJR+3bm5vwLllS9//x16w1OnQwg1JKijlk+uqrVlcEq9HjC8BXBCY/yMw0h+XKyqyuBMe1bWtupTJ8uPn+zJghHTtmdVWwGn/EAPAWgckPrrvOvFtu2bIfzvEXrfUiI6WXXpJmzpSys83wdOiQ1VUBAJyIwOQHp51m3pm1dGnt8/w1az2XS/rjH80tMQoLpT59pM8/t7oqBBt/wADwFYHJT0aMMPc427PH6kpwMkOHmpPBDx+WundnO5Wmij9iAHjL1oEpNzdXnTp1Uvfu3a0upUHXXCNFRTHB2M4uuEDavFnq0kW64gopL4+eBwBA49g6MNl5892fio6Whgz54W45fhHb02mnSatWSXfeKWVlSePHS9XVVleFQOP7EYCvbB2YnGbECOlf/5J27DA/pvvfnsLDpTlzpPx8acECc1mIvXutrgrB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gEA6vgcdAADAj3m6P21IB6aDBw8qJibG6jIAAIDNVFRUKDo6utGPD+nNdxvbw1RZWamEhATt2bOn0Z+87t27a8uWLR7V4+lzAn0Nb9rtTV12+1w11XZLfK3znvOe+7suO36ueM8b1256mH7E5XJ59I0SHR3d6Me73W6PXtub5wTjGpJn7fbmGnb9XDXVdkt8rQfqGnb9XEm854G6hl0/VxLvub8x6dtLWVlZAX9OMK7hDTu2g3YHjl3bYce22/Vz5Sm7tsOObbfr58pTdm1HMNreWCE9JNdYlZWViomJ8Xg80+lod9Nqt9R0295U2y013bY31XZLTbftgW63e8aMGTP8/qoO5Ha7NWDAAIWHh/QoZR20u2m1W2q6bW+q7Zaabtubarulptv2QLabHiYAAIAGMIcJAACgAQQmAACABhCYAAAAGkBgAgAAaECTCEx5eXlKSkpSVFSU0tLStGHDhnof+9FHH+mGG27QOeecI5fLpTlz5gSxUv/zpO3z589Xenq62rRpozZt2ujyyy/X5s2bg1it/3jS7uXLl6tbt25q3bq1WrRooc6dO+ull14KYrX+5Unbf2zJkiVyuVwaNmxYgCsMDE/avXDhQrlcrjrH999/H8SK/cfT9/zAgQPKyspSXFycoqKilJKSooKCgiBV6z+etHvAgAEnfc+vuuqqIFbsP56+53PmzNHPf/5zNW/eXAkJCbr77rsd+fXuSbuPHDmi7OxsJScnKyoqShdffLFWr17t/cWNELdkyRKjWbNmxvz5841t27YZEyZMMFq0aGH897//PenjN2/ebNxzzz3G4sWLjTPOOMN4/PHHg1yx/3ja9ptuusnIzc01iouLjY8//tgYO3asERMTY3zxxRdBrtw3nrb7nXfeMZYvX25s27bN+Oyzz4w5c+YYbrfbWL16dZAr952nbT9u9+7dRnx8vJGenm5ce+21QarWfzxt94IFC4zo6GijrKys1uFEnra9qqrK6NatmzFkyBBj48aNxu7du40NGzYYJSUlQa7cN562e//+/bXe661btxput9tYsGBBcAv3A0/b/vLLLxuRkZHGK6+8Ynz++efGW2+9ZcTFxRkTJ04McuW+8bTd9957r3HmmWcab775prFz504jLy/PiIqKMj744AOvrh/ygalHjx7G+PHja53r2LGjMXny5Aafm5iY6OjA5EvbDcMwjh49arRq1cp44YUXAlFewPjabsMwjC5duhj33Xefv0sLOG/afvToUaNv377Gc889Z9x8882ODEyetnvBggVGTExMMEoLOE/bPnfuXOPcc881qqurg1FewPj6ff74448brVq1Mg4dOhSI8gLK07ZnZWUZl156aa1zkyZNMvr16xewGgPB03bHxcUZTz/9dK1z1157rTFy5Eivrh/SQ3LV1dUqKipSRkZGrfMZGRnatGmTRVUFhz/afvjwYR05ckSnnXZaIEoMCF/bbRiG1q5dq+3bt6t///6BKjMgvG17dna2Tj/9dI0bNy7QJQaEt+0+dOiQEhMTddZZZ+nqq69WcXFxoEv1O2/avmLFCvXu3VtZWVmKjY1VamqqZs2apZqammCU7Bf++PmWn5+vESNGqEWLFoEoMWC8aXu/fv1UVFR0YorFrl27VFBQ4KjhSG/aXVVVpaioqFrnmjdvro0bN3pVQ0gvAbpv3z7V1NQoNja21vnY2FiVl5dbVFVw+KPtkydPVnx8vC6//PJAlBgQ3ra7oqJC8fHxqqqqktvtVl5enq644opAl+tX3rT93XffVX5+vkpKSoJRYkB40+6OHTtq4cKFuvDCC1VZWaknnnhCffv21b///W+dd955wSjbL7xp+65du/T3v/9dI0eOVEFBgXbs2KGsrCwdPXpU999/fzDK9pmvP982b96srVu3Kj8/P1AlBow3bR8xYoS+/vpr9evXT4Zh6OjRo7r99ts1efLkYJTsF960e9CgQXrsscfUv39/JScna+3atXrjjTe8/uMgpAPTcS6Xq9bHhmHUOReqvG377NmztXjxYq1bt65OQncCT9vdqlUrlZSU6NChQ1q7dq0mTZqkc889VwMGDAhwpf7X2LYfPHhQo0aN0vz589WuXbtglRcwnrznvXr1Uq9evU583LdvX3Xt2lVPPfWUnnzyyYDWGQietP3YsWNq37695s2bJ7fbrbS0NH311Vd6+OGHHROYjvP251t+fr5SU1PVo0ePQJUWcJ60fd26dZo5c6by8vLUs2dPffbZZ5owYYLi4uI0bdq0YJTrN560+4knntCtt96qjh07yuVyKTk5WWPHjtWCBQu8unZIB6Z27drJ7XbXSZ979+6tk1JDjS9tf+SRRzRr1iy9/fbbuuiiiwJZpt952+6wsDB16NBBktS5c2d9/PHHysnJcVRg8rTtO3fu1O7duzV06NAT544dOyZJCg8P1/bt25WcnBzYov3AH9/nYWFh6t69u3bs2BGIEgPGm7bHxcWpWbNmcrvdJ86lpKSovLxc1dXVioiICGjN/uDLe3748GEtWbJE2dnZgSwxYLxp+7Rp0zR69GjdcsstkqQLL7xQ3377rW677TZNnTpVYWH2n53jTbtPP/10vf766/r++++1f/9+nXnmmZo8ebKSkpK8qsH+nyUfREREKC0tTYWFhbXOFxYWqk+fPhZVFRzetv3hhx/WAw88oNWrV6tbt26BLtPv/PWeG4ahqqoqf5cXUJ62vWPHjvrwww9VUlJy4rjmmms0cOBAlZSUKCEhIVil+8Qf77lhGCopKVFcXFwgSgwYb9ret29fffbZZyfCsSR9+umniouLc0RYknx7z1999VVVVVVp1KhRgSwxYLxp++HDh+uEIrfbLcO88StgtfqTL+95VFSU4uPjdfToUb322mu69tprvSvCq6niDnL8NsT8/Hxj27ZtxsSJE40WLVoYu3fvNgzDMEaPHl1rhn1VVZVRXFxsFBcXG3FxccY999xjFBcXGzt27LCqCV7ztO0PPfSQERERYSxbtqzW7bcHDx60qgle8bTds2bNMtasWWPs3LnT+Pjjj41HH33UCA8PN+bPn29VE7zmadt/yql3yXna7hkzZhirV682du7caRQXFxtjx441wsPDjX/+859WNcFrnra9tLTUaNmypXHnnXca27dvN1auXGm0b9/e+POf/2xVE7zi7dd6v379jMzMzGCX61eetn369OlGq1atjMWLFxu7du0y1qxZYyQnJxu/+MUvrGqCVzxt9/vvv2+89tprxs6dO43169cbl156qZGUlGT873//8+r6IR+YDMMwcnNzjcTERCMiIsLo2rWr8Y9//OPE/7vkkkuMm2+++cTHn3/+uSGpznHJJZcEv3A/8KTtiYmJJ2379OnTg1+4jzxp99SpU40OHToYUVFRRps2bYzevXsbS5YssaBq//Ck7T/l1MBkGJ61e+LEicbZZ59tREREGKeffrqRkZFhbNq0yYKq/cPT93zTpk1Gz549jcjISOPcc881Zs6caRw9ejTIVfvO03Zv377dkGSsWbMmyJX6nydtP3LkiDFjxgwjOTnZiIqKMhISEow77rjD6+BgJU/avW7dOiMlJcWIjIw02rZta4wePdr48ssvvb62yzAc0h8HAABgkZCewwQAAOAPBCYAAIAGEJgAAAAaQGACAABoAIEJAACgAQQmAACABhCYAAAAGkBgAgAAaACBCQAAoAEEJgAAgAYQmAAAABpAYAIAAGjA/wONGR7Sz0DYowAAAABJRU5ErkJggg==\n",
"text/plain": [
"Graphics object consisting of 1 graphics primitive"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"plot(approximate_derivative_of_h,0.1,0.9)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"By fiddling appropriately with our function $h_0(x)$ we could get $h$ to be smooth. The main issue is derivatives at $a_f$. At other points, $h$ is defined to be $h_0$ or compositions of $h_0$ with powers of $f$ and $g$. Note that for values slightly bigger than $a_f$, $h$ is given by $h_0$. While for values slightly to the left of $a_f$, $h$ is given by $g^{-1} \\circ h_0 \\circ f$. Thus if we want the derivative to match at $a_f$, we would have to have\n",
"$$h_0'(a_f)=\n",
"(g^{-1})'\\big(h \\circ f(a_f)\\big) \\cdot h_0'\\big(f(a_f)\\big) \\cdot f'(a_f)=\n",
"(g^{-1})'(b_g) h_0'(b_f) f'(a_f)=\n",
"\\frac{f'(a_f)}{g'(a_g)} h_0'(b_f).\n",
"$$\n",
"So we would have to choose $h_0$ to satisfy $g'(a_g) h_0'(a_f) = f'(a_f) h_0'(b_f)$.\n"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "SageMath 8.6",
"language": "",
"name": "sagemath"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.15"
}
},
"nbformat": 4,
"nbformat_minor": 2
}