{"version":9,"randomSeed":"9f8855dcc7cbab95e67eafe21a86f6e4","graph":{"viewport":{"xmin":-6.515588366969437,"ymin":-5.268382756782124,"xmax":7.0252231717268785,"ymax":6.9375986220406}},"expressions":{"list":[{"type":"folder","id":"6","title":"setup","collapsed":true},{"type":"text","id":"10","folderId":"6","text":"parametric (R -> R^2) functions to define curves"},{"type":"expression","id":"1","folderId":"6","color":"#c74440","latex":"f\\left(t\\right)=\\left(t,t^{2}\\right)"},{"type":"expression","id":"7","folderId":"6","color":"#000000","latex":"g\\left(t\\right)=\\left(\\cos t,2+\\sin t\\right)"},{"type":"folder","id":"15","title":"gradient descent functions","collapsed":true},{"type":"text","id":"19","folderId":"15","text":"distance between curves at pair of parametric inputs"},{"type":"expression","id":"20","folderId":"15","color":"#388c46","latex":"D_{c}\\left(x,y\\right)=\\operatorname{distance}\\left(f\\left(x\\right),g\\left(y\\right)\\right)"},{"type":"text","id":"37","folderId":"15","text":"partial derivatives of parametric distance"},{"type":"expression","id":"38","folderId":"15","color":"#388c46","latex":"D_{cx}\\left(x,y\\right)=\\frac{2\\left(f\\left(x\\right).x-g\\left(y\\right).x\\right)\\cdot f'\\left(x\\right).x+2\\left(f\\left(x\\right).y-g\\left(y\\right).y\\right)\\cdot f'\\left(x\\right).y}{2\\operatorname{distance}\\left(f\\left(x\\right),g\\left(y\\right)\\right)}"},{"type":"expression","id":"39","folderId":"15","color":"#6042a6","latex":"D_{cy}\\left(x,y\\right)=-\\frac{2\\left(f\\left(x\\right).x-g\\left(y\\right).x\\right)\\cdot g'\\left(y\\right).x+2\\left(f\\left(x\\right).y-g\\left(y\\right).y\\right)\\cdot g'\\left(y\\right).y}{2\\operatorname{distance}\\left(f\\left(x\\right),g\\left(y\\right)\\right)}"},{"type":"text","id":"46","folderId":"15","text":"gradient descent: better approximation to the minimum, given some approximation"},{"type":"expression","id":"47","folderId":"15","color":"#c74440","latex":"D\\left(x,y,q\\right)=\\left(x,y\\right)-q\\cdot\\left(D_{cx}\\left(x,y\\right),D_{cy}\\left(x,y\\right)\\right)"},{"type":"text","id":"62","folderId":"15","text":"TODO: GD technically works, but it converges very poorly"},{"type":"folder","id":"51","title":"gradient descent steps","collapsed":true},{"type":"expression","id":"60","folderId":"51","color":"#388c46","latex":"Q\\left(n\\right)=\\max\\left(1-0.1n,0.5-0.02n\\right)"},{"type":"expression","id":"52","folderId":"51","color":"#fa7e19","latex":"A_{1}=D\\left(A_{0}.x,A_{0}.y,Q\\left(1\\right)\\right)"},{"type":"expression","id":"54","folderId":"51","color":"#2d70b3","latex":"A_{2}=D\\left(A_{1}.x,A_{1}.y,Q\\left(2\\right)\\right)"},{"type":"expression","id":"55","folderId":"51","color":"#388c46","latex":"A_{3}=D\\left(A_{2}.x,A_{2}.y,Q\\left(3\\right)\\right)"},{"type":"expression","id":"56","folderId":"51","color":"#c74440","latex":"A_{4}=D\\left(A_{3}.x,A_{3}.y,Q\\left(4\\right)\\right)"},{"type":"expression","id":"57","folderId":"51","color":"#c74440","latex":"A_{5}=D\\left(A_{4}.x,A_{4}.y,Q\\left(5\\right)\\right)"},{"type":"expression","id":"58","folderId":"51","color":"#fa7e19","latex":"A_{6}=D\\left(A_{5}.x,A_{5}.y,Q\\left(6\\right)\\right)"},{"type":"expression","id":"59","folderId":"51","color":"#fa7e19","latex":"A_{7}=D\\left(A_{6}.x,A_{6}.y,Q\\left(7\\right)\\right)"},{"type":"folder","id":"70","title":"secant-method extremum finding"},{"type":"text","id":"72","folderId":"70","text":"see https://www.desmos.com/calculator/8hlutduixv"},{"type":"expression","id":"75","folderId":"70","color":"#c74440","latex":"S\\left(x,a,b,c\\right)=\\frac{b+c}{2}-\\frac{\\left(c-a\\right)\\left(D_{c}\\left(x,c\\right)-D_{c}\\left(x,b\\right)\\right)}{2\\left(D_{c}\\left(x,c\\right)-D_{c}\\left(x,b\\right)-\\left(c-b\\right)\\frac{D_{c}\\left(x,b\\right)-D_{c}\\left(x,a\\right)}{b-a}\\right)}"},{"type":"expression","id":"79","folderId":"70","color":"#6042a6","latex":"S_{p}\\left(x,v\\right)=\\left[v\\left[2\\right],v\\left[3\\right],S\\left(x,v\\left[1\\right],v\\left[2\\right],v\\left[3\\right]\\right)\\right]"},{"type":"text","id":"77","folderId":"70","text":"several iterations"},{"type":"expression","id":"78","folderId":"70","color":"#388c46","latex":"E\\left(x\\right)=S_{p}\\left(x,S_{p}\\left(x,S_{p}\\left(x,S_{p}\\left(x,S_{p}\\left(x,\\left[-1,0,1\\right]\\right)\\right)\\right)\\right)\\right)","hidden":true},{"type":"expression","id":"80","folderId":"70","color":"#000000","latex":"S_{p}\\left(x,S_{p}\\left(x,\\left[-1,0,1\\right]\\right)\\right)\\left[3\\right]"},{"type":"expression","id":"81","folderId":"70","color":"#c74440","latex":"E\\left(x\\right)\\left[3\\right]"},{"type":"text","id":"84","folderId":"70","text":"first derivative test to get type of extremum"},{"type":"expression","id":"85","folderId":"70","color":"#6042a6","latex":"T_{e}\\left(x,y\\right)=\\frac{D_{cy}\\left(x,y-h\\right)-D_{cy}\\left(x,y+h\\right)}{h}"},{"type":"text","id":"90","folderId":"70","text":"for what values of the first parameter does this extremum finder find the local min vs the local max?"},{"type":"expression","id":"86","folderId":"70","color":"#000000","latex":"\\operatorname{sign}\\left(T_{e}\\left(A_{0}.x,S_{p}\\left(x,S_{p}\\left(x,E\\left(x\\right)\\right)\\right)\\left[3\\right]\\right)\\right)"},{"type":"expression","id":"87","folderId":"70","color":"#c74440","latex":"h=0.001"},{"type":"folder","id":"12","title":"display (concrete curves and distances)","hidden":true,"collapsed":true},{"type":"expression","id":"31","folderId":"12","color":"#388c46","latex":"f\\left(t\\right)","parametricDomain":{"min":"-10","max":"10"},"domain":{"min":"-10","max":"10"}},{"type":"expression","id":"33","folderId":"12","color":"#6042a6","latex":"g\\left(t\\right)","parametricDomain":{"min":"-10","max":"10"},"domain":{"min":"-10","max":"10"}},{"type":"expression","id":"13","folderId":"12","color":"#6042a6","latex":"\\operatorname{polygon}\\left(f\\left(A_{0}.x\\right),g\\left(A_{0}.y\\right)\\right)"},{"type":"expression","id":"21","folderId":"12","color":"#6042a6","latex":"D_{c}\\left(A_{0}.x,A_{0}.y\\right)"},{"type":"folder","id":"32","title":"display (abstract parameter space, 2D)","hidden":true},{"type":"expression","id":"28","folderId":"32","color":"#000000","latex":"D_{c}\\left(x,y\\right)\\ge\\left[0,0.5,...10\\right]","fillOpacity":"0.05"},{"type":"expression","id":"64","folderId":"32","color":"#2d70b3","latex":"D_{cx}\\left(x,y\\right)\\ge\\left[-10,-9.5,...10\\right]","hidden":true,"fillOpacity":"0.02"},{"type":"expression","id":"65","folderId":"32","color":"#c74440","latex":"D_{cy}\\left(x,y\\right)\\ge\\left[-10,-9.5,...10\\right]","hidden":true,"fillOpacity":"0.02"},{"type":"expression","id":"23","folderId":"32","color":"#c74440","latex":"A_{0}=\\left(0,0\\right)"},{"type":"expression","id":"40","folderId":"32","color":"#fa7e19","latex":"\\operatorname{polygon}\\left(A_{0},A_{0}-\\left(D_{cx}\\left(A_{0}.x,A_{0}.y\\right),D_{cy}\\left(A_{0}.x,A_{0}.y\\right)\\right)\\right)"},{"type":"folder","id":"67","title":"display (abstract parameter space, 1D)"},{"type":"expression","id":"68","folderId":"67","color":"#2d70b3","latex":"D_{c}\\left(A_{0}.x,x\\right)"}]}}