Newbie Question -- Expression Evaluation



On 9/24/06, Bill Wood <william.wood3 at comcast.net> wrote:
> First, it appears there are no facilities specifically for solving
> inequalities, linear or otherwise, right?

Correct.  As others have said, you can try solving the equality and
working from there.

> Second, I have the expression "x + 4 < 2 * (x + 5)" bound to the label
> "ieq1".  I can't get it evaluated even after "assume( equal(x, 2) )".

Maxima's notion of value is a bit complicated, as is its notion of
"evaluation", which involves the distinct concepts of evaluation and
simplification.

A value assigned using the assignment operator ":" is used during
expression evaluation, but not during mathematical operations such as
simplification.

A value declared using the "assume" system is only used when part of
the system queries the range of a value, usually an operation like
integration, taking a limit, etc.  It is sometimes used in
simplification, but never in evaluation.

> ... which returned "4 < 10", which seemed like progress, but
> following that with "ev( % )" returned the same thing.

As far as Maxima is concerned, "4<10" is simply an expression that can
be manipulated, just like "x=y" or for that matter "x=x" (which you
might think was equivalent to True).  To get the truth-value of an
expression, use "is":

         1<0   =>   1<0
        is(1<0)  => false

Write again if you have further issues.

          -s