{"version":9,"randomSeed":"46da739d2bbb70ca5417013c4be7fce6","graph":{"viewport":{"xmin":-4.999999999999999,"ymin":-5.000000000000001,"xmax":5.000000000000003,"ymax":5.000000000000001}},"expressions":{"list":[{"type":"text","id":"27","text":"input polynomial as a little-endian coefficient list"},{"type":"expression","id":"70","color":"#2d70b3","latex":"P_{0}=\\left[\\left(-6,2\\right),\\left(-1,-1\\right),\\left(-1,-2\\right),\\left(1,0\\right)\\right]","hidden":true},{"type":"text","id":"52","text":"reset"},{"type":"expression","id":"53","color":"#000000","latex":"\\left(R\\to\\left[\\right],\\Phi\\to\\left[\\right],a\\to\\left(0,0\\right),P\\to P_{0}\\right)","labelSize":"medium"},{"type":"text","id":"81","text":"threshold for approximate roots"},{"type":"expression","id":"82","color":"#6042a6","latex":"T=10^{-10}"},{"type":"expression","id":"14","color":"#6042a6","latex":"P=\\left[\\left(-6,2\\right),\\left(-1,-1\\right),\\left(-1,-2\\right),\\left(1,0\\right)\\right]","hidden":true},{"type":"folder","id":"117","title":"complex function domain colouring library","collapsed":true},{"type":"expression","id":"118","folderId":"117","color":"#2d70b3","latex":"C_{cp}=\\operatorname{hsv}\\left(\\operatorname{mod}\\left(\\left[0,\\frac{360}{N_{cps}},...360\\right]-60,360\\right),1,1\\right)"},{"type":"expression","id":"119","folderId":"117","color":"#c74440","latex":"A_{rg}\\left(z\\right)=\\arctan\\left(z.y,z.x\\right)"},{"type":"expression","id":"120","folderId":"117","color":"#2d70b3","latex":"\\left|A_{rg}\\left(F_{comp}\\left(\\left(x,y\\right)\\right)\\right)-\\frac{2\\pi}{N_{cps}}\\cdot\\left[-\\frac{N_{cps}}{2},-\\frac{N_{cps}}{2}+1,...\\frac{N_{cps}}{2}\\right]\\right|\\le\\frac{\\pi}{N_{cps}}","lines":true,"colorLatex":"C_{cp}","fillOpacity":"1"},{"type":"expression","id":"121","folderId":"117","color":"#000000","latex":"\\operatorname{distance}\\left(\\left(0,0\\right),F_{comp}\\left(\\left(x,y\\right)\\right)\\right)\\le e^{5\\cdot\\left[-1,-1+\\frac{1}{N_{cps}},...1\\right]}","lines":false,"labelSize":"medium","fillOpacity":"\\frac{1}{N_{cps}}"},{"type":"expression","id":"122","folderId":"117","color":"#388c46","latex":"N_{cps}=8","slider":{"hardMin":true,"hardMax":true,"min":"1","max":"100","step":"1"}},{"type":"folder","id":"100","title":"basic functions of complex numbers","collapsed":true},{"type":"text","id":"101","folderId":"100","text":"multiply"},{"type":"expression","id":"102","folderId":"100","color":"#c74440","latex":"M_{c}\\left(w,z\\right)=\\left(w.x\\cdot z.x-w.y\\cdot z.y,w.x\\cdot z.y+w.y\\cdot z.x\\right)"},{"type":"text","id":"103","folderId":"100","text":"reciprocate"},{"type":"expression","id":"104","folderId":"100","color":"#388c46","latex":"R_{c}\\left(z\\right)=\\frac{\\left(z.x,-z.y\\right)}{z.x^{2}+z.y^{2}}"},{"type":"text","id":"105","folderId":"100","text":"square"},{"type":"expression","id":"106","folderId":"100","color":"#2d70b3","latex":"Q_{c}\\left(z\\right)=M_{c}\\left(z,z\\right)"},{"type":"text","id":"107","folderId":"100","text":"cube"},{"type":"expression","id":"108","folderId":"100","color":"#000000","latex":"C_{c}\\left(z\\right)=M_{c}\\left(Q_{c}\\left(z\\right),z\\right)"},{"type":"text","id":"109","folderId":"100","text":"naturally exponentiate"},{"type":"expression","id":"110","folderId":"100","color":"#c74440","latex":"E_{c}\\left(z\\right)=\\left(e^{z.x}\\cos\\left(z.y\\right),e^{z.x}\\sin\\left(z.y\\right)\\right)"},{"type":"text","id":"111","folderId":"100","text":"naturally logarithmise"},{"type":"expression","id":"112","folderId":"100","color":"#2d70b3","latex":"L_{c}\\left(z\\right)=\\left(\\ln\\left(\\operatorname{distance}\\left(\\left(0,0\\right),z\\right)\\right),\\arctan\\left(z.y,z.x\\right)\\right)"},{"type":"text","id":"113","folderId":"100","text":"power (complex to real)"},{"type":"expression","id":"114","folderId":"100","color":"#2d70b3","latex":"P_{c}\\left(z,x\\right)=\\left(\\operatorname{distance}\\left(\\left(0,0\\right),z\\right)^{x}\\cos\\left(x\\arctan\\left(z.y,z.x\\right)\\right),\\operatorname{distance}\\left(\\left(0,0\\right),z\\right)^{x}\\sin\\left(x\\arctan\\left(z.y,z.x\\right)\\right)\\right)"},{"type":"folder","id":"55","title":"evaluate polynomial and derivative","collapsed":true},{"type":"expression","id":"83","folderId":"55","color":"#c74440","latex":"Z\\left(v\\right)=\\left(\\sum_{k=1}^{\\operatorname{length}\\left(v\\right)}v\\left[k\\right].x,\\sum_{k=1}^{\\operatorname{length}\\left(v\\right)}v\\left[k\\right].y\\right)","labelSize":"medium"},{"type":"expression","id":"16","folderId":"55","color":"#c74440","latex":"f\\left(Q,x\\right)=Z\\left(\\left[M_{c}\\left(Q\\left[k\\right],P_{c}\\left(x,k-1\\right)\\right)\\operatorname{for}k=\\left[1...\\operatorname{length}\\left(Q\\right)\\right]\\right]\\right)"},{"type":"expression","id":"24","folderId":"55","color":"#6042a6","latex":"g\\left(Q,x\\right)=Z\\left(\\left[M_{c}\\left(\\left(k-1\\right)Q\\left[k\\right],P_{c}\\left(x,k-2\\right)\\right)\\operatorname{for}k=\\left[2...\\operatorname{length}\\left(Q\\right)\\right]\\right]\\right)"},{"type":"expression","id":"17","folderId":"55","color":"#2d70b3","latex":"F_{comp}\\left(z\\right)=f\\left(P_{0},z\\right)"},{"type":"folder","id":"57","title":"find a root","collapsed":true},{"type":"expression","id":"19","folderId":"57","color":"#6042a6","latex":"a=\\left(0,0\\right)","colorLatex":"W"},{"type":"expression","id":"58","folderId":"57","color":"#388c46","latex":"S_{r}=\\left(a\\to a-M_{c}\\left(f\\left(P,a\\right),R_{c}\\left(K\\left(g\\left(P,a\\right)\\right)\\right)\\right)\\right)","labelSize":"medium"},{"type":"expression","id":"77","folderId":"57","color":"#388c46","latex":"K\\left(x\\right)=\\left\\{\\operatorname{distance}\\left(\\left(0,0\\right),x\\right)<T:\\left(1,0\\right),x\\right\\}","hidden":true},{"type":"folder","id":"61","title":"divide out root","collapsed":true},{"type":"text","id":"47","folderId":"61","text":"temporary divided polynomial"},{"type":"expression","id":"41","folderId":"61","color":"#2d70b3","latex":"\\Phi=\\left[\\right]"},{"type":"expression","id":"62","folderId":"61","color":"#c74440","latex":"S_{d}=\\left(\\Phi\\to\\operatorname{join}\\left(P\\left[L\\left(P\\right)\\right],\\Phi\\right),P\\to\\operatorname{join}\\left(P\\left[1...\\left(L\\left(P\\right)-2\\right)\\right],P\\left[L\\left(P\\right)-1\\right]+M_{c}\\left(a,P\\left[L\\left(P\\right)\\right]\\right)\\right)\\right)","labelSize":"medium"},{"type":"folder","id":"64","title":"move on to next root","collapsed":true},{"type":"expression","id":"123","folderId":"64","color":"#c74440","latex":"W=\\operatorname{hsv}\\left(0,0,100\\right)","labelSize":"medium"},{"type":"expression","id":"50","folderId":"64","color":"#388c46","latex":"R=\\left[\\right]","colorLatex":"W"},{"type":"expression","id":"65","folderId":"64","color":"#388c46","latex":"S_{a}=\\left(P\\to\\Phi,\\Phi\\to\\left[\\right],R\\to\\operatorname{join}\\left(R,a\\right),a\\to\\left(0,0\\right)\\right)"},{"type":"text","id":"67","text":"the full process"},{"type":"expression","id":"20","color":"#000000","latex":"S=\\left\\{L\\left(R\\right)<L\\left(P_{0}\\right)-1:\\left\\{\\operatorname{distance}\\left(\\left(0,0\\right),f\\left(P,a\\right)\\right)<T:\\left\\{L\\left(\\Phi\\right)<L\\left(P_{0}\\right)-L\\left(R\\right)-1:S_{d},S_{a}\\right\\},S_{r}\\right\\}\\right\\}"},{"type":"text","id":"44","text":"concision!"},{"type":"expression","id":"45","color":"#000000","latex":"L\\left(v\\right)=\\operatorname{length}\\left(v\\right)","hidden":true}],"ticker":{"handlerLatex":"S","minStepLatex":"50","open":true}}}