[Date Index]
[Thread Index]
[Author Index]
Re: Why doesn't TrueQ return True here?
*To*: mathgroup at smc.vnet.net
*Subject*: [mg119763] Re: Why doesn't TrueQ return True here?
*From*: Bob Hanlon <hanlonr at cox.net>
*Date*: Tue, 21 Jun 2011 05:51:59 -0400 (EDT)
*Reply-to*: hanlonr at cox.net
If t is real then t^2 is nonnegative and the Sqrt is always real. Since the Sqrt of a nonnegative number is always nonnegative, it is not always equal to t but is always equal to Abs[t]. For t>0 then Abs[t] = t
Sqrt[#^2] & /@ {-3, 3}
{3, 3}
Simplify[Sqrt[t^2], #] & /@ {True, Element[t, Reals], t >= 0,
t > 0, ! t < 0}
{Sqrt[t^2], Abs[t], t, t, t}
Bob Hanlon
---- Jacare Omoplata <walkeystalkey at gmail.com> wrote:
=============
Thanks for the answers. I'll use Simplify in the future. I also
learned that TrueQ is just used to force a True or False answer out.
It gives True when the answer is explicitly true, and gives False in
all other instances. I guess this is useful in programming.
So, if I wanted Mathematica to work on t1 and t2 like real numbers I
should use "$Assumptions = Element[{t1,t2},Reals]" ?
It does SOMETHING, according to the following output, because Out[3],
where I've used t1 and t2, is different from Out[4], where I've used
the undeclared variables s1 and s2.
But it still doesn't give t2-t1 as the answer, but gives Abs[t1-t2]
instead. But I get t2-t1 as the answer in Out[6] and Out[7], where I
have declared that t2>t1 beforehand.
-----------output-below-------------
In[1]:= $Assumptions = Element[{t1, t2}, Reals]
Out[1]= (t1 | t2) \[Element] Reals
In[3]:= FullSimplify[Sqrt[(t2 - t1)^2]]
Out[3]= Abs[t1 - t2]
In[4]:= FullSimplify[Sqrt[(s2 - s1)^2]]
Out[4]= Sqrt[(s1 - s2)^2]
In[5]:= $Assumptions = t2 > t1
Out[5]= t2 > t1
In[6]:= FullSimplify[Sqrt[(t2 - t1)^2]]
Out[6]= -t1 + t2
In[7]:= FullSimplify[Sqrt[(t1 - t2)^2]]
Out[7]= -t1 + t2
In[10]:= $Assumptions = Element[{t1, t2}, Complexes]
Out[10]= (t1 | t2) \[Element] Complexes
In[11]:= FullSimplify[Sqrt[(t2 - t1)^2]]
Out[11]= Sqrt[(t1 - t2)^2]
In[12]:= FullSimplify[Sqrt[(s2 - s1)^2]]
Out[12]= Sqrt[(s1 - s2)^2]
On Jun 20, 8:05 am, Bob Hanlon <hanl... at cox.net> wrote:
> ??$Assumptions
>
> $Assumptions is the default setting for the Assumptions option used in such functions as Simplify, Refine and Integrate. >>
>
> $Assumptions=True
>
> TrueQ is not one of the functions that makes use of $Assumptions.
>
> $Assumptions = t2 > t1;
>
> Simplify[(t2 - t1) > 0]
>
> True
>
> TrueQ[Simplify[(t2 - t1) > 0]]
>
> True
>
> Bob Hanlon
>
> ---- Jacare Omoplata <walkeystal... at gmail.com> wrote:
>
> =============
> Here's the output.
> -------------------------------------------------------
> In[29]:= Element[{t1, t2}, Reals]
>
> Out[29]= (t1 | t2) \[Element] Reals
>
> In[30]:= $Assumptions = t2 > t1
>
> Out[30]= t2 > t1
>
> In[31]:= TrueQ[(t2 - t1) > 0]
>
> Out[31]= False
> ------------------------------------------------------
>
> I would expect TrueQ to return True, not False. Why does it return False?
>
> And how can I test whether t2-t1 is positive?
>
> Thanks.
--
Bob Hanlon
Prev by Date:
**Re: Why doesn't TrueQ return True here?**
Next by Date:
**Re: Why doesn't TrueQ return True here?**
Previous by thread:
**Re: Why doesn't TrueQ return True here?**
Next by thread:
**Re: Why doesn't TrueQ return True here?**
| |