SolveTools/AbstractRootOfSolution - Help

SolveTools

 AbstractRootOfSolution
 returns the solution to a system of equations as a group of abstract RootOfs

 Calling Sequence AbstractRootOfSolution(eqns, vars)

Parameters

 eqns - list or set of equations to solve vars - list or set of variables for which to solve approx - (optional) bounding boxes for the variables for a specific solution. options - (optional) equation(s) of the form keyword = value, where keyword is one of 'simplified' or 'removemultiplicities'.

Options

 • If the option 'simplify'=false is given, then the resulting RootOfs in the output will not be simplified.  The default is 'simplify'=true, in which case a call to simplify/RootOf will be performed.
 • If the option 'removemultiplicities'=true is given, then the :-remove_multiplicities flag will be passed to simplify, if simplification is performed.

Description

 • The AbstractRootOfSolution command takes a system of equations in multiple variables, rewrites each equation as an abstract function of one or more variables, solves the resulting system to obtain a solution in RootOf form, and then back-substitutes the original equation into the result and simplifies.
 • The number of variables in vars must be greater than or equal to the number of equations in eqns (this method does not work with overdetermined systems, since each variable can be expressed as at most one RootOf in the output).
 • If the solution to the system of abstract functions cannot be expressed as a group of RootOfs (because there are not enough indeterminates, or the system cannot be triangularized) then NULL is returned and the global variable _SolutionsMayBeLost is set to true.

Examples

 > $\mathrm{SolveTools}:-\mathrm{AbstractRootOfSolution}\left(\left[h\left(x,t\right),g\left(t,u\right),f\left(x\right)\right],\left\{t,u,x\right\}\right)$
 $\left\{{t}{=}{\mathrm{RootOf}}{}\left({h}{}\left({\mathrm{RootOf}}{}\left({f}{}\left({\mathrm{_Z}}\right)\right){,}{\mathrm{_Z}}\right)\right){,}{u}{=}{\mathrm{RootOf}}{}\left({g}{}\left({\mathrm{RootOf}}{}\left({h}{}\left({\mathrm{RootOf}}{}\left({f}{}\left({\mathrm{_Z}}\right)\right){,}{\mathrm{_Z}}\right)\right){,}{\mathrm{_Z}}\right)\right){,}{x}{=}{\mathrm{RootOf}}{}\left({f}{}\left({\mathrm{_Z}}\right)\right)\right\}$ (1)
 > $\mathrm{SolveTools}:-\mathrm{AbstractRootOfSolution}\left(\left\{r=f\left(x,t\right),s=uh\left(t\right)+\mathrm{h2}\left(t\right),v=m\left(x\right)\right\},\left[x,t,u\right]\right)$
 $\left[{x}{=}{\mathrm{RootOf}}{}\left({v}{-}{m}{}\left({\mathrm{_Z}}\right)\right){,}{t}{=}{\mathrm{RootOf}}{}\left({r}{-}{f}{}\left({\mathrm{RootOf}}{}\left({v}{-}{m}{}\left({\mathrm{_Z}}\right)\right){,}{\mathrm{_Z}}\right)\right){,}{u}{=}\frac{{-}{\mathrm{h2}}{}\left({\mathrm{RootOf}}{}\left({r}{-}{f}{}\left({\mathrm{RootOf}}{}\left({v}{-}{m}{}\left({\mathrm{_Z}}\right)\right){,}{\mathrm{_Z}}\right)\right)\right){+}{s}}{{h}{}\left({\mathrm{RootOf}}{}\left({r}{-}{f}{}\left({\mathrm{RootOf}}{}\left({v}{-}{m}{}\left({\mathrm{_Z}}\right)\right){,}{\mathrm{_Z}}\right)\right)\right)}\right]$ (2)
 > $\mathrm{SolveTools}:-\mathrm{AbstractRootOfSolution}\left(\left\{f\left(x\right),f\left(x,y,z\right)\right\},\left\{x,y,z\right\}\right)$
 $\left\{{x}{=}{\mathrm{RootOf}}{}\left({f}{}\left({\mathrm{_Z}}\right)\right){,}{y}{=}{y}{,}{z}{=}{\mathrm{RootOf}}{}\left({f}{}\left({\mathrm{RootOf}}{}\left({f}{}\left({\mathrm{_Z}}\right)\right){,}{y}{,}{\mathrm{_Z}}\right)\right)\right\}$ (3)
 > $\mathrm{SolveTools}:-\mathrm{AbstractRootOfSolution}\left(\left\{{y}^{2}+y=6,{x}^{2}=y\right\},\left[x,y\right]\right)$
 $\left[{x}{=}{\mathrm{RootOf}}{}\left({{\mathrm{_Z}}}^{{2}}{-}{\mathrm{RootOf}}{}\left({{\mathrm{_Z}}}^{{2}}{+}{\mathrm{_Z}}{-}{6}\right)\right){,}{y}{=}{\mathrm{RootOf}}{}\left({{\mathrm{_Z}}}^{{2}}{+}{\mathrm{_Z}}{-}{6}\right)\right]$ (4)