[TI-M] Re: Error/Too bad?


[Prev][Next][Index][Thread]

[TI-M] Re: Error/Too bad?




> In fact, I think this behavior is a lot more sensical than just blurting
> out an answer.  It happens a lot when there is some ambiguity in the
> equation.  That is to say, it may depend on a piece of information
> about the value of a variable.  A lot of times we implicitly assume
> something is greater than zero, or is non-zero, etc.

Exactly.  A good example is when you try to set two equations equal to each
other.

If they're always equal, the CAS returns true:
    sqrt(x^2) = abs(x)    ->    true

If they're never equal, the CAS returns false:
    sqrt(x^2) = -1        ->    false

But if they're sometimes equal, it returns the input.  For instance, your
typical algebra student may incorrectly expect this to be true:
    sqrt(x^2) = x
But it's only true if x is non-negative, so the CAS returns the input.  But
the CAS is smart enough that if you give it the proper restrictions, it
works fine:
    sqrt(x^2) = x | x>0    ->    true
(That should really be greater than or equal to above, but I can't exactly
type that out clearly in ASCII =)

Granted, most advanced students wouldn't make that mistake.  But I do very
often encounter similar situations when trying to see if the answer I got by
hand is the same as the one that the CAS got, particularly with trig.  If I
run into a better example, I'll bring it up.

Another example of restricting bounds:
    solve(cos(x)=0,x)        ->    (2*@n1-1)/PI
Many people think that if they only want the answers between, say, 0 and
4*PI, they need to find all that fit that formula themselves.  But give TIOS
retrictions and it will give every value, rather than the generalization:
    solve(cos(x)=0,x) | x>0 and x<4*PI
        -> {PI/2, 3*PI/2, 5*PI/2, 7*PI/2}


> The CAS shouldn't
> make these same implicit assumptions.

Yup.  As Andy said, we often make assumptions that seem reasonable to us,
but the CAS knows better.  If you give it ALL the information, particularly
about the bounds of each variable, it will return the useful, expected
result.  Understanding how the CAS thinks is very helpful in getting the
result you desire.

    -Scott