EvaluateAtRoot - Maple Help

RootFinding

 EvaluateAtRoot
 evaluate polynomials or relations on polynomials at a real root

 Calling Sequence EvaluateAtRoot( polys, box, sys, vars, threshold = t, digits = d, output = o, strategy = s, accuracy = a ) EvaluateAtRoot( polys, vbox, sys, threshold = t, digits = d, output = o, strategy = s, accuracy = a ) EvaluateAtRoot( lcons, box, sys, vars, threshold = t, digits = d, output = u, earlyterminate = e ) EvaluateAtRoot( lcons, vbox, sys, threshold = t, digits = d, output = u, earlyterminate = e ) EvaluateAtRoot( scons, box, sys, vars, threshold = t, digits = d, output = u ) EvaluateAtRoot( scons, vbox, sys, threshold = t, digits = d, output = u )

Parameters

 polys - list( polynom ); list of polynomials to evaluate the signs of at a real root box - non-empty list of intervals; isolating box for a real root of sys sys - nonemptylist( polynom ); system of polynomials vars - nonemptylist( name ); variables for the system sys, with ordering corresponding to the intervals of box vbox - non-empty list containing elements with type name = interval; simultaneously describes the isolating box for a real root of the system sys and the accompanying variables, where the name preceding each interval describes the associated variable for the interval of the isolating box lcons - list( relation( polynom ) ); list of relations to evaluate the truth of scons - set( relation( polynom ) ); set of relations to evaluate the truth of t - (optional) posint; threshold working precision that should not be exceeded (default infinity) d - (optional) posint; starting working precision to use (default maximum precision of any interval in box or vbox) o - (optional) nonemptylist( symbol ); non-empty list of symbols from among signs, refinement, and intervals defining the outputs returned and their sequential ordering (default [signs]) u - (optional) nonemptylist( symbol ); non-empty list of symbols from among truth and refinement defining the outputs returned and their sequential ordering (default [truth]) s - (optional) The symbol oracle or geometric; defines strategy to increase precision when there is scope for increased working precision to use in evaluation. (default oracle) a - (optional) posint; defines a request for accuracy to achieve (default $-\mathrm{\infty }$) e - (optional) truefalse; controls early termination behavior of the procedure when a meaningful truth value is achieved amongst the list of constraints. (default true)

Description

 • EvaluateAtRoot is a multipurpose procedure to evaluate collections of polynomials or relations on polynomials at a real root.
 • Throughout, any interval can be represented by either a list or range of two rational numbers, i.e. [ rational, rational ] or rational .. rational. In other words, EvaluateAtRoot accepts and returns intervals under both such representations. A list or range of rationals represents an open real interval with rational endpoints with respect to one variable in this way.
 • Given a collection of polynomial relations, by default EvaluateAtRoot terminates upon evaluating any relation in the collection as false. When a list of relations lcons is passed, this early termination criteria can be turned off by using the option earlyterminate = false, which forces evaluation of the full list of polynomials.
 • When the parameter lcons is passed and the output truth is requested, any polynomials such that a sign cannot or is not reliably deduced will yield a truth value of FAIL. One scenario for this is where polynomials are skipped due to early termination.
 • Because truth values can only be mapped to an original relation for a collection with a fixed ordering, early termination isn't available with usage of the parameter scons.
 • If a truth value cannot be reliably determined given the parameters, then the return value will be FAIL.

Examples

 > $\mathrm{lcons}≔\left[{x}^{2}-3<0,0<{x}^{2}-2,0
 ${\mathrm{lcons}}{≔}\left[{{x}}^{{2}}{<}{3}{,}{0}{<}{{x}}^{{2}}{-}{2}{,}{0}{<}{x}{+}{4}\right]$ (1)
 > $\mathrm{polys}≔\mathrm{map}\left(r→\mathrm{lhs}\left(r\right)-\mathrm{rhs}\left(r\right),\mathrm{lcons}\right)$
 ${\mathrm{polys}}{≔}\left[{{x}}^{{2}}{-}{3}{,}{-}{{x}}^{{2}}{+}{2}{,}{-}{4}{-}{x}\right]$ (2)
 > $\mathrm{sys}≔\left[{x}^{2}-2\right];$$\mathrm{vars}≔\left[x\right];$$\mathrm{box}≔\left[1..2\right]$
 ${\mathrm{sys}}{≔}\left[{{x}}^{{2}}{-}{2}\right]$
 ${\mathrm{vars}}{≔}\left[{x}\right]$
 ${\mathrm{box}}{≔}\left[{1}{..}{2}\right]$ (3)
 > $s,\mathrm{box}≔\mathrm{RootFinding}:-\mathrm{EvaluateAtRoot}\left(\mathrm{polys},\mathrm{box},\mathrm{sys},\mathrm{vars},'\mathrm{output}=\left[\mathrm{signs},\mathrm{refinement}\right]','\mathrm{accuracy}=20'\right)$
 ${s}{,}{\mathrm{box}}{≔}\left[{-1}{,}{0}{,}{-1}\right]{,}\left[\frac{{213709911250252303767135}}{{151115727451828646838272}}{..}\frac{{6678434726570384492723}}{{4722366482869645213696}}\right]$ (4)
 > $t,\mathrm{box}≔\mathrm{RootFinding}:-\mathrm{EvaluateAtRoot}\left(\mathrm{lcons},\mathrm{box},\mathrm{sys},\mathrm{vars},'\mathrm{output}=\left[\mathrm{truth},\mathrm{refinement}\right]','\mathrm{digits}=30'\right)$
 ${t}{,}{\mathrm{box}}{≔}\left[{\mathrm{true}}{,}{\mathrm{false}}{,}{\mathrm{FAIL}}\right]{,}\left[\frac{{1136276788042180458070828951474823657989790988021617205464301}}{{803469022129495137770981046170581301261101496891396417650688}}{..}\frac{{9090214304337443664566631611798589263918327904172937643714409}}{{6427752177035961102167848369364650410088811975131171341205504}}\right]$ (5)
 > $t,\mathrm{box}≔\mathrm{RootFinding}:-\mathrm{EvaluateAtRoot}\left(\mathrm{lcons},\mathrm{box},\mathrm{sys},\mathrm{vars},'\mathrm{output}=\left[\mathrm{truth},\mathrm{refinement}\right]','\mathrm{digits}=30','\mathrm{earlyterminate}=\mathrm{false}'\right)$
 ${t}{,}{\mathrm{box}}{≔}\left[{\mathrm{true}}{,}{\mathrm{false}}{,}{\mathrm{true}}\right]{,}\left[\frac{{14607411196107109545714734901623598842616724728364378331939917188797567081236544332721444764620638703549655696243476167589}}{{10328999512347634358623676688012047497318823171316894051322637426162590488067364778518581413120551325743612687890989973504}}{..}\frac{{7303705598053554772857367450811799421308362364182189165969958594398783540618272166360722382310319351774827848121738083795}}{{5164499756173817179311838344006023748659411585658447025661318713081295244033682389259290706560275662871806343945494986752}}\right]$ (6)
 > $\mathrm{sys}≔\left[{x}^{2}+y+z-1,{y}^{2}+x+z-1,{z}^{2}+x+y-1\right]$
 ${\mathrm{sys}}{≔}\left[{{x}}^{{2}}{+}{y}{+}{z}{-}{1}{,}{{y}}^{{2}}{+}{x}{+}{z}{-}{1}{,}{{z}}^{{2}}{+}{x}{+}{y}{-}{1}\right]$ (7)
 > $\mathrm{vars}≔\left[x,y,z\right]$
 ${\mathrm{vars}}{≔}\left[{x}{,}{y}{,}{z}\right]$ (8)
 > $\mathrm{lcons}≔\left[0\le -17{x}^{4}y-75{x}^{3}yz+80{x}^{2}{z}^{2}-44{y}^{3}z+71y{z}^{3}-82{y}^{3},-62{x}^{2}{z}^{3}+97x{y}^{3}z-73y{z}^{4}-56xy{z}^{2}+87xy<0,-23x{y}^{3}z+87x{z}^{4}+72{x}^{2}{z}^{2}+37xy{z}^{2}+74x{y}^{2}+6{y}^{2}\ne 0\right]$
 ${\mathrm{lcons}}{≔}\left[{0}{\le }{-}{17}{}{{x}}^{{4}}{}{y}{-}{75}{}{{x}}^{{3}}{}{y}{}{z}{+}{80}{}{{x}}^{{2}}{}{{z}}^{{2}}{-}{44}{}{{y}}^{{3}}{}{z}{+}{71}{}{y}{}{{z}}^{{3}}{-}{82}{}{{y}}^{{3}}{,}{-}{62}{}{{x}}^{{2}}{}{{z}}^{{3}}{+}{97}{}{x}{}{{y}}^{{3}}{}{z}{-}{73}{}{y}{}{{z}}^{{4}}{-}{56}{}{x}{}{y}{}{{z}}^{{2}}{+}{87}{}{x}{}{y}{<}{0}{,}{-}{23}{}{x}{}{{y}}^{{3}}{}{z}{+}{87}{}{x}{}{{z}}^{{4}}{+}{72}{}{{x}}^{{2}}{}{{z}}^{{2}}{+}{37}{}{x}{}{y}{}{{z}}^{{2}}{+}{74}{}{x}{}{{y}}^{{2}}{+}{6}{}{{y}}^{{2}}{\ne }{0}\right]$ (9)
 > $d≔50$
 ${d}{≔}{50}$ (10)
 > $\mathrm{iso}≔\mathrm{RootFinding}:-\mathrm{Isolate}\left(\mathrm{sys},\mathrm{vars},'\mathrm{output}=\mathrm{interval}','\mathrm{digits}'=d\right)$
 ${\mathrm{iso}}{≔}\left[\left[{x}{=}\left[{-}\frac{{924942879758680150910286902258589248300024263817316831}}{{383123885216472214589586756787577295904684780545900544}}{,}{-}\frac{{3699771519034720603641147609034356993200097055269267309}}{{1532495540865888858358347027150309183618739122183602176}}\right]{,}{y}{=}\left[{-}\frac{{1849885759517360301820573804517178496600048527634633661}}{{766247770432944429179173513575154591809369561091801088}}{,}{-}\frac{{1849885759517360301820573804517178496600048527634633657}}{{766247770432944429179173513575154591809369561091801088}}\right]{,}{z}{=}\left[{-}\frac{{462471439879340075455143451129294624150012131908658415}}{{191561942608236107294793378393788647952342390272950272}}{,}{-}\frac{{3699771519034720603641147609034356993200097055269267315}}{{1532495540865888858358347027150309183618739122183602176}}\right]\right]{,}\left[{x}{=}\left[{1}{,}{1}\right]{,}{y}{=}\left[{0}{,}{0}\right]{,}{z}{=}\left[{0}{,}{0}\right]\right]{,}\left[{x}{=}\left[{0}{,}{0}\right]{,}{y}{=}\left[{1}{,}{1}\right]{,}{z}{=}\left[{0}{,}{0}\right]\right]{,}\left[{x}{=}\left[\frac{{158695109325735721731113388683434656490654702725515741}}{{383123885216472214589586756787577295904684780545900544}}{,}\frac{{2539121749211771547697814218934954503850475243608251865}}{{6129982163463555433433388108601236734474956488734408704}}\right]{,}{y}{=}\left[\frac{{5078243498423543095395628437869909007700950487216503713}}{{12259964326927110866866776217202473468949912977468817408}}{,}\frac{{5078243498423543095395628437869909007700950487216503727}}{{12259964326927110866866776217202473468949912977468817408}}\right]{,}{z}{=}\left[\frac{{5078243498423543095395628437869909007700950487216503715}}{{12259964326927110866866776217202473468949912977468817408}}{,}\frac{{5078243498423543095395628437869909007700950487216503721}}{{12259964326927110866866776217202473468949912977468817408}}\right]\right]{,}\left[{x}{=}\left[{0}{,}{0}\right]{,}{y}{=}\left[{0}{,}{0}\right]{,}{z}{=}\left[{1}{,}{1}\right]\right]\right]$ (11)
 > $\mathrm{vbox}≔{\mathrm{iso}}_{1}$
 ${\mathrm{vbox}}{≔}\left[{x}{=}\left[{-}\frac{{924942879758680150910286902258589248300024263817316831}}{{383123885216472214589586756787577295904684780545900544}}{,}{-}\frac{{3699771519034720603641147609034356993200097055269267309}}{{1532495540865888858358347027150309183618739122183602176}}\right]{,}{y}{=}\left[{-}\frac{{1849885759517360301820573804517178496600048527634633661}}{{766247770432944429179173513575154591809369561091801088}}{,}{-}\frac{{1849885759517360301820573804517178496600048527634633657}}{{766247770432944429179173513575154591809369561091801088}}\right]{,}{z}{=}\left[{-}\frac{{462471439879340075455143451129294624150012131908658415}}{{191561942608236107294793378393788647952342390272950272}}{,}{-}\frac{{3699771519034720603641147609034356993200097055269267315}}{{1532495540865888858358347027150309183618739122183602176}}\right]\right]$ (12)
 > $\mathrm{RootFinding}:-\mathrm{EvaluateAtRoot}\left(\mathrm{lcons},\mathrm{vbox},\mathrm{sys},'\mathrm{digits}'=d\right)$
 $\left[{\mathrm{true}}{,}{\mathrm{false}}{,}{\mathrm{FAIL}}\right]$ (13)
 > $\mathrm{RootFinding}:-\mathrm{EvaluateAtRoot}\left(\mathrm{lcons},\mathrm{vbox},\mathrm{sys},'\mathrm{earlyterminate}=\mathrm{false}'\right)$
 $\left[{\mathrm{true}}{,}{\mathrm{false}}{,}{\mathrm{true}}\right]$ (14)
 > $\mathrm{polys}≔\mathrm{map}\left(r→\mathrm{lhs}\left(r\right)-\mathrm{rhs}\left(r\right),\mathrm{lcons}\right)$
 ${\mathrm{polys}}{≔}\left[{17}{}{{x}}^{{4}}{}{y}{+}{75}{}{{x}}^{{3}}{}{y}{}{z}{-}{80}{}{{x}}^{{2}}{}{{z}}^{{2}}{+}{44}{}{{y}}^{{3}}{}{z}{-}{71}{}{y}{}{{z}}^{{3}}{+}{82}{}{{y}}^{{3}}{,}{-}{62}{}{{x}}^{{2}}{}{{z}}^{{3}}{+}{97}{}{x}{}{{y}}^{{3}}{}{z}{-}{73}{}{y}{}{{z}}^{{4}}{-}{56}{}{x}{}{y}{}{{z}}^{{2}}{+}{87}{}{x}{}{y}{,}{-}{23}{}{x}{}{{y}}^{{3}}{}{z}{+}{87}{}{x}{}{{z}}^{{4}}{+}{72}{}{{x}}^{{2}}{}{{z}}^{{2}}{+}{37}{}{x}{}{y}{}{{z}}^{{2}}{+}{74}{}{x}{}{{y}}^{{2}}{+}{6}{}{{y}}^{{2}}\right]$ (15)
 > $\mathrm{RootFinding}:-\mathrm{EvaluateAtRoot}\left(\mathrm{polys},\mathrm{vbox},\mathrm{sys},'\mathrm{digits}'=d\right)$
 $\left[{-1}{,}{1}{,}{-1}\right]$ (16)
 > $\mathrm{constraints}≔\mathrm{convert}\left(\mathrm{lcons},'\mathrm{set}'\right)$
 ${\mathrm{constraints}}{≔}\left\{{-}{23}{}{x}{}{{y}}^{{3}}{}{z}{+}{87}{}{x}{}{{z}}^{{4}}{+}{72}{}{{x}}^{{2}}{}{{z}}^{{2}}{+}{37}{}{x}{}{y}{}{{z}}^{{2}}{+}{74}{}{x}{}{{y}}^{{2}}{+}{6}{}{{y}}^{{2}}{\ne }{0}{,}{0}{\le }{-}{17}{}{{x}}^{{4}}{}{y}{-}{75}{}{{x}}^{{3}}{}{y}{}{z}{+}{80}{}{{x}}^{{2}}{}{{z}}^{{2}}{-}{44}{}{{y}}^{{3}}{}{z}{+}{71}{}{y}{}{{z}}^{{3}}{-}{82}{}{{y}}^{{3}}{,}{-}{62}{}{{x}}^{{2}}{}{{z}}^{{3}}{+}{97}{}{x}{}{{y}}^{{3}}{}{z}{-}{73}{}{y}{}{{z}}^{{4}}{-}{56}{}{x}{}{y}{}{{z}}^{{2}}{+}{87}{}{x}{}{y}{<}{0}\right\}$ (17)
 > $\mathrm{RootFinding}:-\mathrm{EvaluateAtRoot}\left(\mathrm{constraints},\mathrm{vbox},\mathrm{sys},'\mathrm{digits}'=d\right)$
 ${\mathrm{false}}$ (18)
 > $\mathrm{box}≔\mathrm{map2}\left(\mathrm{op},2,\mathrm{vbox}\right)$
 ${\mathrm{box}}{≔}\left[\left[{-}\frac{{924942879758680150910286902258589248300024263817316831}}{{383123885216472214589586756787577295904684780545900544}}{,}{-}\frac{{3699771519034720603641147609034356993200097055269267309}}{{1532495540865888858358347027150309183618739122183602176}}\right]{,}\left[{-}\frac{{1849885759517360301820573804517178496600048527634633661}}{{766247770432944429179173513575154591809369561091801088}}{,}{-}\frac{{1849885759517360301820573804517178496600048527634633657}}{{766247770432944429179173513575154591809369561091801088}}\right]{,}\left[{-}\frac{{462471439879340075455143451129294624150012131908658415}}{{191561942608236107294793378393788647952342390272950272}}{,}{-}\frac{{3699771519034720603641147609034356993200097055269267315}}{{1532495540865888858358347027150309183618739122183602176}}\right]\right]$ (19)
 > $r,s,\mathrm{box}≔\mathrm{RootFinding}:-\mathrm{EvaluateAtRoot}\left(\mathrm{polys},\mathrm{box},\mathrm{sys},\mathrm{vars},'\mathrm{digits}'=2d,'\mathrm{output}=\left[\mathrm{refinement},\mathrm{signs},\mathrm{intervals}\right]'\right)$
 ${r}{,}{s}{,}{\mathrm{box}}{≔}\left[\left[{-}\frac{{1351805533204871503598658581291245321878330881470025723977137404661742974069835107134037625276089582993}}{{559936185544451052639360570142111069530411374308662383724997275240947967795040236345219373317901778944}}{,}{-}\frac{{1351805533204871503598658581291245321878330881470025723977137404661742974069835107134037625276089582991}}{{559936185544451052639360570142111069530411374308662383724997275240947967795040236345219373317901778944}}\right]{,}\left[{-}\frac{{10814444265638972028789268650329962575026647051760205791817099237293943792558680857072301002208716663937}}{{4479489484355608421114884561136888556243290994469299069799978201927583742360321890761754986543214231552}}{,}{-}\frac{{5407222132819486014394634325164981287513323525880102895908549618646971896279340428536150501104358331967}}{{2239744742177804210557442280568444278121645497234649534899989100963791871180160945380877493271607115776}}\right]{,}\left[{-}\frac{{10814444265638972028789268650329962575026647051760205791817099237293943792558680857072301002208716663937}}{{4479489484355608421114884561136888556243290994469299069799978201927583742360321890761754986543214231552}}{,}{-}\frac{{5407222132819486014394634325164981287513323525880102895908549618646971896279340428536150501104358331967}}{{2239744742177804210557442280568444278121645497234649534899989100963791871180160945380877493271607115776}}\right]\right]{,}\left[{-1}{,}{1}{,}{-1}\right]{,}\left[\left[{-}\frac{{3372139003113425169241267499784491383006157721118540276291232151559546893958534318090382154075429525623}}{{273406340597876490546562778389702670669146178861651554553221325801244124899921990402939147127881728}}{,}{-}\frac{{3372139003113425169241267499784491383006157721118540276291232151559546893958534318090382154075429525595}}{{273406340597876490546562778389702670669146178861651554553221325801244124899921990402939147127881728}}\right]{,}\left[\frac{{1882331560261587919956526587982983175197285241896628406644268116804808734117726536851076993846418507719}}{{1093625362391505962186251113558810682676584715446606218212885303204976499599687961611756588511526912}}{,}\frac{{1882331560261587919956526587982983175197285241896628406644268116804808734117726536851076993846418507861}}{{1093625362391505962186251113558810682676584715446606218212885303204976499599687961611756588511526912}}\right]{,}\left[{-}\frac{{697808848050458113512573868531122461914242153434816931632280514690666573609599752602267167852134429457}}{{273406340597876490546562778389702670669146178861651554553221325801244124899921990402939147127881728}}{,}{-}\frac{{1395617696100916227025147737062244923828484306869633863264561029381333147219199505204534335704268858869}}{{546812681195752981093125556779405341338292357723303109106442651602488249799843980805878294255763456}}\right]\right]$ (20)

Compatibility

 • The RootFinding[EvaluateAtRoot] command was introduced in Maple 2022.