You can use the Solve > Expression command1PET_XA and the SOLVE and SOLUTIONS functions to solve equations and inequalities exactly using algebraic methods.  The Solve > Expression command1PET_XA and the SOLVE function return solutions in the form of equations and/or inequalities.  The SOLUTIONS function returns solutions in the form of a vector of values that satisfy the equations or inequalities.


The first argument of SOLVE and SOLUTIONS is the equation or inequality to be solved.  If neither an equation nor inequality, it is assumed equal to 0.  The second argument is the solution variable.  If the third argument is the constant Real, only solutions not having an imaginary component are returned.  For example,

SOLVE(x^3 + x^2 + x + 1, x)

simplifies to

x = -î x = î x = -1

whereas,

SOLVE(x^3 + x^2 + x + 1, x, Real)

simplifies to

x = -1


Given an equation or inequality, the Solve > Expression command1PET_XA and the SOLVE function return the solutions as a Boolean expression logically equivalent to the input but in disjunctive normal form.  That is an expression of the form

relation1 OR relation2 OR ...

where relationi is an equation or inequality.  For example, the equation

SOLVE(x^2-1 = 0, x)

simplifies to

x = -1 x = 1

and the inequality

SOLVE(ABS(ABS(2·x + 1) - 5) > 2, x)

simplifies to

x < -4 -2 < x < 1 x > 3


Given a 1-element vector whose element is an equation or inequality, the Solve > Expression command1PET_XA and the SOLVE function return a vector of solutions, each in the form of a relation.  For example,

SOLVE([x^2-1 = 0], x)

simplifies to

[x = -1, x = 1]


Given an equation or inequality or a 1-element vector whose element is an equation or inequality, SOLUTIONS returns a vector of values that satisfy the equation or inequality.  For example,

SOLUTIONS(x^2-1 = 0, x)

simplifies to

[1, -1]


Unless restricted to the real domain, the solve commands and functions attempt to find all the real and complex solutions of the equation or inequality.  The set of solutions returned is not restricted by the declared domains of the solution variables (see Author > Variable Domain command8MNT4Y).  


The solve commands and functions can directly solve binomial, linear, quadratic, cubic, and quartic polynomial equations.  They can also solve higher degree polynomial equations that can be exactly factored into such equations.


To help solve equations involving trigonometric functions, try various settings of the trigonometry field of the Options > Mode Settings > Simplification command19_L5FP.


Often equations involving trigonometric functions have infinitely many solutions.  For example, the solution to the equation  sin(x)=0  is  x = 0 x = π x = -π x = 2·π x = -2·π ... .  Since Derive has no way to represent an infinite number of disjuncts, the solve commands and functions return a representative sample of several solutions near the origin.  For example,

SOLVE(SIN(x) = 0, x)

simplifies to

x = -π x = π x = 0


If the given equation or inequality is too difficult to solve completely, one or more implicit relations are displayed as an equation or an inequality with an expression containing the variable in an inextricable way on the left and a zero on the right.  For example,

SOLVE(3^x = x^2, x)

simplifies to

 x    2     
3  - x  = 0 


Equations and inequalities can have any number of solutions, including none.  When there are no solutions, the truth-value false or the empty vector [ ] is returned, as appropriate.  For example,

SOLVE(x = x + 1, x)

simplifies to false.


An equation or inequality is degenerate if it is true for all values of the solution variable.  Given a degenerate equation or inequality, both the Solve > Expression command1PET_XA and the SOLVE function return the truth-value true.  For example,

SOLVE(|x - 2| >= 0, x)

simplifies to true.  Given a degenerate equation or inequality, the SOLUTIONS function returns a 1-element vector of the form [@n] where n is an integer.  You can think of "@" as an abbreviation for "arbitrary" or "anything".  n starts at 1 and increments by 1 each time a new variable is required.  For example,

SOLUTIONS(|x - 2| >= 0, x)

simplifies to [@1].

Created with the Personal Edition of HelpNDoc: Free EPub and documentation generator