MathGroup Archive 2010

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Re: Re: May we trust IntegerQ ?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg107563] Re: [mg107536] Re: [mg107504] Re: [mg107488] May we trust IntegerQ ?
  • From: Andrzej Kozlowski <akozlowski at gmail.com>
  • Date: Wed, 17 Feb 2010 07:02:43 -0500 (EST)
  • References: <201002160853.DAA01363@smc.vnet.net>

This approach can, unfortunately, produce misleading results in 
situations when FullSimplify is unable to reduce an expression to an 
integer. Take for example this:

IntegerQ[
FullSimplify[ArcCosh[1 + Abs[z]^2/2]/ArcSinh[Abs[z]/2]]]

False

But this is just plain wrong. The expression is in fact equal to 2 (for 
z!=0, adding this condition to FullSimplify won't make any difference 
of course). Its much better to use

FullSimplify[
Element[ArcCosh[1 + Abs[z]^2/2]/ArcSinh[Abs[z]/2], Integers]]

You won't get the right answer but you won't get the wrong one either - 
so you will see that Mathematica is simply unable to settle this. In 
fact, FullSimplify can show that the numerator is equal to twice the 
denominator:
FullSimplify[(ArcCosh[1 + Abs[z]^2/2] ==
   2 ArcSinh[Abs[z]/2]) // TrigToExp]

True

so the quotient is, indeed, the integer 2.

Andrzej Kozlowski




On 16 Feb 2010, at 09:53, Bob Hanlon wrote:

>
> Use FullSimplify in this case
>
> Table[IntegerQ[
> FullSimplify[
>  1/2 (x - Sqrt[-1 + x^2])^(2 x) + 1/2 (x + Sqrt[-1 + x^2])^(2 x)]], 
{x, 0,
> 10}]
>
> {True,True,True,True,True,True,True,True,True,True,True}
>
>
> Bob Hanlon
>
> ---- Artur <grafix at csl.pl> wrote:
>
> =============
> Dear Daniel,
> What to do in following case:
> Table[IntegerQ[FunctionExpand[1/2 (x - Sqrt[-1 + x^2])^(2 x) + 1/2 (x 
+
> Sqrt[-1 + x^2])^(2 x)]], {x, 0, 10}]
> Best wishes
> Artur
>
>
> danl at wolfram.com pisze:
>>> Procedure: find such x that ChebyshevT[x/2, x] isn't integer
>>> aa = {}; Do[ If[IntegerQ[ChebyshevT[x/2, x]], , AppendTo[aa, x]], 
{x, 0,
>>> 20}]; aa
>>> and answer Mathematica is set:
>>> {3, 5, 7, 9, 11, 13, 15, 17, 19}
>>> where occered e.g. number 7
>>> N[ChebyshevT[7/2, 7],100]
>>>= 
5042.00000000000000000000000000000000000000000000000000000000000000000\
>>> 0000000000000000000000000000000
>>> evidently is integer 5042
>>> Some comments ?
>>>
>>> Best wishes
>>> Artur
>>>
>>
>> Trust IntegerQ? Mais oui.
>>
>> Documentation Center entry for IntegerQ, first item under More 
Information:
>>
>> "IntegerQ[expr] returns False unless expr is manifestly an integer 
(i.e.,
>> has head Integer)."
>>
>> Example:
>> In[16]:= IntegerQ[Sin[3]^2 + Cos[3]^2]
>> Out[16]= False
>>
>> For your example, it might be better to use
>> FunctionExpand[ChebyshevT[x/2,x]]. Then try to figure out which cases
>> involving half-integer powers (Puiseux polynomials) will still 
evaluate to
>> integers.
>>
>> Daniel Lichtblau
>> Wolfram Research
>
>



  • Prev by Date: Re: Poor choice in PiecewiseExpand ?
  • Next by Date: Re: Poor choice in PiecewiseExpand ?
  • Previous by thread: Re: Re: May we trust IntegerQ ?
  • Next by thread: Re: Re: May we trust IntegerQ ?