Ask Your Question

Revision history [back]

Here is a different approach, not necessarily optimal but working:

R.<c1, c2, x, y, cos_beta, sin_beta, r> = PolynomialRing(QQ, order='lex')
C1 = cos(pi/12)
C2 = sin(pi/12)
a = (x+1/2-c1*2*r)^2+(y-c2*2*r)^2-(1/2-c1*r*2-x)^2-(-c2*r*2-y)^2-12*r^2
b = (1/2-c1*r*2-x)^2+(-c2*r*2-y)^2-((1/2-cos_beta*r-2*c2*r-x)^2+(1/2-sin_beta*r-2*c1*r-y)^2)
eq1 = a
eq2 = b
eq3 = (1/2-c1*r*2-x)^2+(-c2*r*2-y)^2-4*r^2
eq4 = ((cos_beta+2*-c2)*r)^2+(1/2+(sin_beta+2*-c1)*r)^2-4*r^2
I = R.ideal(eq1, eq2, eq3, eq4, AA(C1).minpoly()(c1), AA(C2).minpoly()(c2), c1^2 + c2^2 - 1, cos_beta^2 + sin_beta^2 - 1)
f_r = I.groebner_basis()[-1].polynomial(r).change_ring(QQ)

It takes some time to run, but in the end we get:

sage: f_r
r^128 - 48766335875856860/766928779123441*r^126 + 79954995549940293938521705645943567/75287008287714784234536407101568*r^124 - 290725032542122005235760772146876579/37643504143857392117268203550784*r^122 + 1196801299027237075935922001243116569299/38546948243309969528082640436002816*r^120 - 755345391601097085106494072200093736535/9636737060827492382020660109000704*r^118 + 664650284248022749468085712501512379890199/4934009375143676099594577975808360448*r^116 - 51453904419963463327264076564505766083983/308375585946479756224661123488022528*r^114 + 392449107043381637540867119192730057199334609/2526212800073562162992423923613880549376*r^112 - 8854566905395615087865086150442453503655825/78944150002298817593513247612933767168*r^110 + 1297907107225784073932361531250222238508377999/20209702400588497303939391388911044395008*r^108 - 37389679701021766661981098030295328240086451/1263106400036781081496211961806940274688*r^106 + 7160639601057108487250953116501681890039986187/646710476818831913726060524445153420640256*r^104 - 272113580977059871396062502484608423051469323/80838809602353989215757565555644177580032*r^102 + 2141942496850791409555495018202107306896174251/2586841907275327654904242097780613682561024*r^100 - 105723952638397808110678978888956475227008699/646710476818831913726060524445153420640256*r^98 + 72377713552578633949516733537808957089923635/2806065797722389320574093123016258909896704*r^96 - 3117826412948927187975386657363311437307945/940669784463755510874269853738404975476736*r^94 + 249504789874974919020829835599292856265787497/662231528262483879655485977031837102735622144*r^92 - 14595106525351343268813393368034523125925771/331115764131241939827742988515918551367811072*r^90 + 237117551596221040234306347005185544161064599/42382817808798968297951102530037574575079817216*r^88 - 899189887919052364055030945611144381020441/1324463056524967759310971954063674205471244288*r^86 + 24369515763542167728060690096064971434797407/339062542470391746383608820240300596600638537728*r^84 - 148199655615198397383748141315466232031843/21191408904399484148975551265018787287539908608*r^82 + 7652688975139735750236438777670244164486883/10850001359052535884275482247689619091220433207296*r^80 - 425905476997177962180948719167091344309/5746822753735453328535742715937298247468449792*r^78 + 318506791726417004994131086677025970289011/43400005436210143537101928990758476364881732829184*r^76 - 202469491499262572296214974611685973055/305633841100071433359872739371538565949871357952*r^74 + 80801412962943192234259873735828702968015/1388800173958724593187261727704271243676215450533888*r^72 - 1834887946967812671456566424988592123701/347200043489681148296815431926067810919053862633472*r^70 + 1334124551686783920122554687943917798809/2777600347917449186374523455408542487352430901067776*r^68 - 228040360430600710382124273274532610361/5555200695834898372749046910817084974704861802135552*r^66 + 1166624981825446576805183622919095923467/355532844533433495855939002292293438381111155336675328*r^64 - 22831338781422876020809555792869109115/88883211133358373963984750573073359595277788834168832*r^62 + 14512294705124964454176264072630612929/711065689066866991711878004584586876762222310673350656*r^60 - 2300609295850357076190282070794619407/1422131378133733983423756009169173753524444621346701312*r^58 + 11185368809050490354831907764079482535/91016408200558974939120384586827120225564455766188883968*r^56 - 200000792452492922675133326533497179/22754102050139743734780096146706780056391113941547220992*r^54 + 436555149314550239845030933945582713/728131265604471799512963076694616961804515646129511071744*r^52 - 14577659161552172538770624665036241/364065632802235899756481538347308480902257823064755535872*r^50 + 123777516295727263609227218034372451/46600400998686195168829636908455485555489001352288708591616*r^48 - 91653545501615900802587531325949/529550011348706763282154964868812335857829560821462597632*r^46 + 4018603281151353429931432873716639/372803207989489561350637095267643884443912010818309668732928*r^44 - 58237964340792255656045141933291/93200801997372390337659273816910971110978002704577417183232*r^42 + 395243543827607798808971899457511/11929702655663665963220387048564604302205184346185909399453696*r^40 - 593709629024402611272347908561/372803207989489561350637095267643884443912010818309668732928*r^38 + 3300166469411423921954266169469/47718810622654663852881548194258417208820737384743637597814784*r^36 - 64677586072966225413780125253/23859405311327331926440774097129208604410368692371818798907392*r^34 + 292881210473776331166875862081/3054003879849898486584419084432538701364527192623592806260146176*r^32 - 1168903015630081425296590043/381750484981237310823052385554067337670565899077949100782518272*r^30 + 1077226175750298788236369903/12216015519399593946337676337730154805458108770494371225040584704*r^28 - 6986385339477675211096277/3054003879849898486584419084432538701364527192623592806260146176*r^26 + 41703452418003996795480027/781824993241574012565611285614729907549318961311639758402597421056*r^24 - 108916621385451362896269/97728124155196751570701410701841238443664870163954969800324677632*r^22 + 129985147829525945030631/6254599945932592100524890284917839260394551690493118067220779368448*r^20 - 538159027852673546799/1563649986483148025131222571229459815098637922623279516805194842112*r^18 + 1006775360906867598417/200147198269842947216796489117370856332625654095779778151064939790336*r^16 - 1609927101579435109/25018399783730368402099561139671357041578206761972472268883117473792*r^14 + 285191187842448205/400294396539685894433592978234741712665251308191559556302129879580672*r^12 - 672301198878707/100073599134921473608398244558685428166312827047889889075532469895168*r^10 + 168698027730099/3202355172317487155468743825877933701322010465532476450417039036645376*r^8 - 132417102775/400294396539685894433592978234741712665251308191559556302129879580672*r^6 + 9993638125/6404710344634974310937487651755867402644020931064952900834078073290752*r^4 - 3921875/800588793079371788867185956469483425330502616383119112604259759161344*r^2 + 390625/51237682757079794487499901214046939221152167448519623206672624586326016

Factored:

sage: f_r.factor()
(r^32 - 13093/242*r^30 + 1918905151/3748096*r^28 - 5904092977/7496192*r^26 + 169815443665/959512576*r^24 - 12225373025/959512576*r^22 - 9336381/1919025152*r^20 + 152904847/7676100608*r^18 + 490815603/122817609728*r^16 - 4036823/5582618624*r^14 + 53313617/982540877824*r^12 - 4016713/1965081755648*r^10 + 270819/5716601470976*r^8 - 56451/62882616180736*r^6 + 3083/251530464722944*r^4 - 27/251530464722944*r^2 + 1/1006121858891776) * (r^32 - 33398/5041*r^30 + 5876439811/406586896*r^28 - 663235993/50823362*r^26 + 39334511659/6505390336*r^24 - 4714907137/3252695168*r^22 + 10731590793/104086245376*r^20 + 52193423/6505390336*r^18 + 22158771/13010780672*r^16 - 28083503/208172490752*r^14 - 34690087/26646078816256*r^12 - 2801773/13323039408128*r^10 + 25065867/426337261060096*r^8 - 91551/26646078816256*r^6 + 621971/6821396176961536*r^4 - 3975/3410698088480768*r^2 + 625/109142338831384576) * (r^32 - 13915/6962*r^30 + 4470491743/3102044416*r^28 - 2723146007/6204088832*r^26 + 38782249345/794123370496*r^24 - 1124280515/794123370496*r^22 + 153531079/1588246740992*r^20 - 142586385/6352986963968*r^18 + 247829459/101647791423488*r^16 - 1198335/6352986963968*r^14 + 9320217/813182331387904*r^12 - 853845/1626364662775808*r^10 + 952913/52043669208825856*r^8 - 26757/52043669208825856*r^6 + 2427/208174676835303424*r^4 - 37/208174676835303424*r^2 + 1/832698707341213696) * (r^32 - 310358/361201*r^30 + 865864865371/2087458598416*r^28 - 37393576973/260932324802*r^26 + 971479915699/33399337574656*r^24 - 50555503273/16699668787328*r^22 + 64193415569/534389401194496*r^20 + 7503021/8349834393664*r^18 + 258279745/534389401194496*r^16 - 140857965/1068778802388992*r^14 + 1691819649/136803686705790976*r^12 - 46435605/68401843352895488*r^10 + 57457715/2188858987292655616*r^8 - 105501/136803686705790976*r^6 + 566859/35021743796682489856*r^4 - 3575/17510871898341244928*r^2 + 625/560347900746919837696)

Approximate root:

sage: f_r(0.11605914696138518)
2.701438222952822e-81

Here is a different approach, not necessarily optimal but working:

R.<c1, c2, x, y, cos_beta, sin_beta, r> = PolynomialRing(QQ, order='lex')
C1 = cos(pi/12)
C2 = sin(pi/12)
a = (x+1/2-c1*2*r)^2+(y-c2*2*r)^2-(1/2-c1*r*2-x)^2-(-c2*r*2-y)^2-12*r^2
b = (1/2-c1*r*2-x)^2+(-c2*r*2-y)^2-((1/2-cos_beta*r-2*c2*r-x)^2+(1/2-sin_beta*r-2*c1*r-y)^2)
eq1 = a
eq2 = b
eq3 = (1/2-c1*r*2-x)^2+(-c2*r*2-y)^2-4*r^2
eq4 = ((cos_beta+2*-c2)*r)^2+(1/2+(sin_beta+2*-c1)*r)^2-4*r^2
I = R.ideal(eq1, eq2, eq3, eq4, AA(C1).minpoly()(c1), AA(C2).minpoly()(c2), c1^2 + c2^2 - 1, cos_beta^2 + sin_beta^2 - 1)
f_r = I.groebner_basis()[-1].polynomial(r).change_ring(QQ)

It takes some time to run, but in the end we get:

sage: f_r
r^128 - 48766335875856860/766928779123441*r^126 + 79954995549940293938521705645943567/75287008287714784234536407101568*r^124 - 290725032542122005235760772146876579/37643504143857392117268203550784*r^122 + 1196801299027237075935922001243116569299/38546948243309969528082640436002816*r^120 - 755345391601097085106494072200093736535/9636737060827492382020660109000704*r^118 + 664650284248022749468085712501512379890199/4934009375143676099594577975808360448*r^116 - 51453904419963463327264076564505766083983/308375585946479756224661123488022528*r^114 + 392449107043381637540867119192730057199334609/2526212800073562162992423923613880549376*r^112 - 8854566905395615087865086150442453503655825/78944150002298817593513247612933767168*r^110 + 1297907107225784073932361531250222238508377999/20209702400588497303939391388911044395008*r^108 - 37389679701021766661981098030295328240086451/1263106400036781081496211961806940274688*r^106 + 7160639601057108487250953116501681890039986187/646710476818831913726060524445153420640256*r^104 - 272113580977059871396062502484608423051469323/80838809602353989215757565555644177580032*r^102 + 2141942496850791409555495018202107306896174251/2586841907275327654904242097780613682561024*r^100 - 105723952638397808110678978888956475227008699/646710476818831913726060524445153420640256*r^98 + 72377713552578633949516733537808957089923635/2806065797722389320574093123016258909896704*r^96 - 3117826412948927187975386657363311437307945/940669784463755510874269853738404975476736*r^94 + 249504789874974919020829835599292856265787497/662231528262483879655485977031837102735622144*r^92 - 14595106525351343268813393368034523125925771/331115764131241939827742988515918551367811072*r^90 + 237117551596221040234306347005185544161064599/42382817808798968297951102530037574575079817216*r^88 - 899189887919052364055030945611144381020441/1324463056524967759310971954063674205471244288*r^86 + 24369515763542167728060690096064971434797407/339062542470391746383608820240300596600638537728*r^84 - 148199655615198397383748141315466232031843/21191408904399484148975551265018787287539908608*r^82 + 7652688975139735750236438777670244164486883/10850001359052535884275482247689619091220433207296*r^80 - 425905476997177962180948719167091344309/5746822753735453328535742715937298247468449792*r^78 + 318506791726417004994131086677025970289011/43400005436210143537101928990758476364881732829184*r^76 - 202469491499262572296214974611685973055/305633841100071433359872739371538565949871357952*r^74 + 80801412962943192234259873735828702968015/1388800173958724593187261727704271243676215450533888*r^72 - 1834887946967812671456566424988592123701/347200043489681148296815431926067810919053862633472*r^70 + 1334124551686783920122554687943917798809/2777600347917449186374523455408542487352430901067776*r^68 - 228040360430600710382124273274532610361/5555200695834898372749046910817084974704861802135552*r^66 + 1166624981825446576805183622919095923467/355532844533433495855939002292293438381111155336675328*r^64 - 22831338781422876020809555792869109115/88883211133358373963984750573073359595277788834168832*r^62 + 14512294705124964454176264072630612929/711065689066866991711878004584586876762222310673350656*r^60 - 2300609295850357076190282070794619407/1422131378133733983423756009169173753524444621346701312*r^58 + 11185368809050490354831907764079482535/91016408200558974939120384586827120225564455766188883968*r^56 - 200000792452492922675133326533497179/22754102050139743734780096146706780056391113941547220992*r^54 + 436555149314550239845030933945582713/728131265604471799512963076694616961804515646129511071744*r^52 - 14577659161552172538770624665036241/364065632802235899756481538347308480902257823064755535872*r^50 + 123777516295727263609227218034372451/46600400998686195168829636908455485555489001352288708591616*r^48 - 91653545501615900802587531325949/529550011348706763282154964868812335857829560821462597632*r^46 + 4018603281151353429931432873716639/372803207989489561350637095267643884443912010818309668732928*r^44 - 58237964340792255656045141933291/93200801997372390337659273816910971110978002704577417183232*r^42 + 395243543827607798808971899457511/11929702655663665963220387048564604302205184346185909399453696*r^40 - 593709629024402611272347908561/372803207989489561350637095267643884443912010818309668732928*r^38 + 3300166469411423921954266169469/47718810622654663852881548194258417208820737384743637597814784*r^36 - 64677586072966225413780125253/23859405311327331926440774097129208604410368692371818798907392*r^34 + 292881210473776331166875862081/3054003879849898486584419084432538701364527192623592806260146176*r^32 - 1168903015630081425296590043/381750484981237310823052385554067337670565899077949100782518272*r^30 + 1077226175750298788236369903/12216015519399593946337676337730154805458108770494371225040584704*r^28 - 6986385339477675211096277/3054003879849898486584419084432538701364527192623592806260146176*r^26 + 41703452418003996795480027/781824993241574012565611285614729907549318961311639758402597421056*r^24 - 108916621385451362896269/97728124155196751570701410701841238443664870163954969800324677632*r^22 + 129985147829525945030631/6254599945932592100524890284917839260394551690493118067220779368448*r^20 - 538159027852673546799/1563649986483148025131222571229459815098637922623279516805194842112*r^18 + 1006775360906867598417/200147198269842947216796489117370856332625654095779778151064939790336*r^16 - 1609927101579435109/25018399783730368402099561139671357041578206761972472268883117473792*r^14 + 285191187842448205/400294396539685894433592978234741712665251308191559556302129879580672*r^12 - 672301198878707/100073599134921473608398244558685428166312827047889889075532469895168*r^10 + 168698027730099/3202355172317487155468743825877933701322010465532476450417039036645376*r^8 - 132417102775/400294396539685894433592978234741712665251308191559556302129879580672*r^6 + 9993638125/6404710344634974310937487651755867402644020931064952900834078073290752*r^4 - 3921875/800588793079371788867185956469483425330502616383119112604259759161344*r^2 + 390625/51237682757079794487499901214046939221152167448519623206672624586326016

Factored:

sage: f_r.factor()
(r^32 - 13093/242*r^30 + 1918905151/3748096*r^28 - 5904092977/7496192*r^26 + 169815443665/959512576*r^24 - 12225373025/959512576*r^22 - 9336381/1919025152*r^20 + 152904847/7676100608*r^18 + 490815603/122817609728*r^16 - 4036823/5582618624*r^14 + 53313617/982540877824*r^12 - 4016713/1965081755648*r^10 + 270819/5716601470976*r^8 - 56451/62882616180736*r^6 + 3083/251530464722944*r^4 - 27/251530464722944*r^2 + 1/1006121858891776) * (r^32 - 33398/5041*r^30 + 5876439811/406586896*r^28 - 663235993/50823362*r^26 + 39334511659/6505390336*r^24 - 4714907137/3252695168*r^22 + 10731590793/104086245376*r^20 + 52193423/6505390336*r^18 + 22158771/13010780672*r^16 - 28083503/208172490752*r^14 - 34690087/26646078816256*r^12 - 2801773/13323039408128*r^10 + 25065867/426337261060096*r^8 - 91551/26646078816256*r^6 + 621971/6821396176961536*r^4 - 3975/3410698088480768*r^2 + 625/109142338831384576) * (r^32 - 13915/6962*r^30 + 4470491743/3102044416*r^28 - 2723146007/6204088832*r^26 + 38782249345/794123370496*r^24 - 1124280515/794123370496*r^22 + 153531079/1588246740992*r^20 - 142586385/6352986963968*r^18 + 247829459/101647791423488*r^16 - 1198335/6352986963968*r^14 + 9320217/813182331387904*r^12 - 853845/1626364662775808*r^10 + 952913/52043669208825856*r^8 - 26757/52043669208825856*r^6 + 2427/208174676835303424*r^4 - 37/208174676835303424*r^2 + 1/832698707341213696) * (r^32 - 310358/361201*r^30 + 865864865371/2087458598416*r^28 - 37393576973/260932324802*r^26 + 971479915699/33399337574656*r^24 - 50555503273/16699668787328*r^22 + 64193415569/534389401194496*r^20 + 7503021/8349834393664*r^18 + 258279745/534389401194496*r^16 - 140857965/1068778802388992*r^14 + 1691819649/136803686705790976*r^12 - 46435605/68401843352895488*r^10 + 57457715/2188858987292655616*r^8 - 105501/136803686705790976*r^6 + 566859/35021743796682489856*r^4 - 3575/17510871898341244928*r^2 + 625/560347900746919837696)

Approximate root:

sage: f_r(0.11605914696138518)
2.701438222952822e-81

Identifying the exact root and its minimal polynomial:

sage: exact_root = next(r for r in f_r.roots(AA, multiplicities=False) if abs(r-0.11605914696138518) < 10e-16)
sage: exact_root.minpoly()
x^32 - 33398/5041*x^30 + 5876439811/406586896*x^28 - 663235993/50823362*x^26 + 39334511659/6505390336*x^24 - 4714907137/3252695168*x^22 + 10731590793/104086245376*x^20 + 52193423/6505390336*x^18 + 22158771/13010780672*x^16 - 28083503/208172490752*x^14 - 34690087/26646078816256*x^12 - 2801773/13323039408128*x^10 + 25065867/426337261060096*x^8 - 91551/26646078816256*x^6 + 621971/6821396176961536*x^4 - 3975/3410698088480768*x^2 + 625/109142338831384576