Appendix A: System Routines — Solver
947
TI
-
89 / TI
-
92 Plus Developer Guide
Not for Distribution
Beta Version January 26, 2001
push_zeros
Declaration:
void
push_zeros
(EStackIndex
i
, EStackIndex
vi
)
Category(ies):
Solver
Description:
If invoked via
push_internal_simplify
,
vi
and
i
are simplified to deepest
variable(s).
If
vi
is not a list, pushes onto the estack a list of zero or more real values
that make
i
or all of the expressions in list
i
zero when substituted for the
variable in
vi
.
Otherwise pushes an empty list if the function could not find simultaneous
real values of the variables in
vi
that make the expressions in
i
simultaneously zero.
Otherwise pushes a matrix of real values with each column representing
the corresponding element variable of
vi
, and each row representing an
alternate list of corresponding real values that make
i
or all of the
expressions in list
i
zero.
All fractional powers are interpreted using the real branch.
Issues XR_USE_SOLVE_WARN when there are additional zeros that
cannot be expressed in this form.
Inputs:
i
— Indexes the top tag of an algebraic expression or a list thereof.
vi
— Indexes a variable, an equation of the form variable = constant
representing an initial guess, or a list of variables and/or such
initial guesses.
Outputs:
None
Assumptions:
None
Side Effects:
None
Availability:
On AMS 2.02 and higher.
TI
-
89 / TI
-
92 Plus
Differences:
None
See Also: push_czeros, push_solve, push_csolve, push_nSolve
Example:
push_quantum_as_nonnegative_int (2u);
exponent = top_estack;
push_quantum (8u); /* Push variable x */
replace_top2_with_pow (exponent); /* top_estack -> x^2 */
subtract1_from_top () i = top_estack; /* x^2 - 1 */
push_quantum (8u); /* Push variable x */
push_zeros(i, top_estack); /* Pushes {-1, 1} */