Re: Re: Re: May we trust IntegerQ
- To: mathgroup at smc.vnet.net
- Subject: [mg107604] Re: [mg107582] Re: [mg107504] Re: [mg107488] May we trust IntegerQ
- From: Bob Hanlon <hanlonr at cox.net>
- Date: Fri, 19 Feb 2010 03:34:48 -0500 (EST)
- Reply-to: hanlonr at cox.net
The issue would seem to be not whether you used Round[N[]] but rather whether you used it appropriately, i.e., conditionally.
f[x_] = (-1/2 (x - Sqrt[-1 + x^2])^(2 x) +
1/2 (x + Sqrt[-1 + x^2])^(2 x))^2;
If[FullSimplify[Element[f[#], Integers]],
Round[N[f[#]]], {#, "Failed"}] & /@ Range[0, 20] // Column
Bob Hanlon
---- Artur <grafix at csl.pl> wrote:
=============
Dear Bob,
Yes, I was see that Andrzej Kozlowski procedure work perfectly but
output is True/False type. I need procedure where output will be exact
integer number (and inside procedure will be not numerical functions
like Round[N[]]).
Your procedure realize this aim but only up to indexes 0..7 and not for
upper 8 and more.
Best wishes
Artur
Bob Hanlon pisze:
> As recommended by Andrzej Kozlowski in this thread, use Element to test
>
> And @@ Table[
> FullSimplify[
> Element[
> (-1/2 (x - Sqrt[-1 + x^2])^(2 x) + 1/2 (x + Sqrt[-1 + x^2])^(2 x))^2,
> Integers]],
> {x, 0, 20}]
>
> True
>
>
> Bob Hanlon
>
> ---- Artur <grafix at csl.pl> wrote:
>
> =============
> Dear Bob,
> Your procedure do full simplify only up to index x=7 (and not from 8 and up)
>
> Table[FullSimplify[(-1/2 (x - Sqrt[-1 + x^2])^(2 x) +
> 1/2 (x + Sqrt[-1 + x^2])^(2 x))^2], {x, 0, 10}]
>
> Do you know what to do more ?
> Best wishes
> Artur
>
> Bob Hanlon pisze:
>
>> 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
>>>
>>>