Message Boards Message Boards

3 Replies
0 Total Likes
View groups...
Share this post:

FullSimplify "not working" with a correct Assumption in this example, why ?

I tried to simplify the partition-function of a statistical model (the infinite Ising-chain) in Mathematica and discovered something weird. The attached notebook should talk for itself. Anyone an idea why additionally assuming "N" to be an Integer (which it definitively is, as it's the upper boundary in the sum appearing, and physically a particle number) makes FullSimplify fail?

3 Replies

Please disregard the below. I realized, upon further examination of the problem, that the function N has nothing to do with the behavior displayed. My apologies for the confusion.

I must confess that many of the mathematical elements of this problem fly over my head, since programming is more my forte, but I suspect your problem may have something to do with the fact the N is a predefined Mathematica function. See the below example, replacing N with d.

POSTED BY: Jesse Friedman

Same when writing "d" instead of "N" ...

But when writing Exp[-x]^(d - n)*Exp[x]^n instead of Exp[(2n - d)x] it works (see bug2.nb attached)


Writing Exp[-x (d - n)] Exp[x n] , which is also the same (or not ??) as Exp[-x]^(d - n)*Exp[x]^n does not work too...

any idea why the identities [ x^a * x^b == x^(a+b) ] and [ (x^a)^b == x^(a*b) ] (which are essentially the same) are not used in FullSimplify when assuming "d" from above to be an Integer ??


Even more interesting is, that " Exp[(2n - d)x] - Exp[-x]^(d - n)*Exp[x]^n // FullSimplify " gives 0 (as it should) with both assumptions (see bug3.nb).


I think this problem goes deeper than I originally thought, so i created a Notebook that should be easy to read and make the problem visible (attached bug.nb)

Here it can be seen that with the 2nd assumptions where "d" is an Integer, the expression

f1[n] - f2[n] //FullSimplify

is recognized to be 0 (which is true). The expression

a - Sum[ Binomial[d, n] f1[n] , {n,0,d} ] //FullSimplify

is not recognized to be 0, but

a - Sum[ Binomial[d, n] f2[n] , {n,0,d} ] //FullSimplify

is recognized to be 0.



a:= (Exp[x] + Exp[-x])^d
f1[n_] := Exp[(2 n - d) x]
f2[n_] := Exp[-x]^(d - n) Exp[x]^n

Assumptions 1 ( //FullSimplify correctly yields all zeros ):

d >= 1 && d >= n >= 0 && Element[x, Reals] && Element[n, Integers]

Assumptions 2 ( //FullSimplify does not yield a - Sum[ ... f1[n] ...] == 0 ):

d >= 1 && d >= n >= 0 && Element[x, Reals] && 
 Element[{n, d}, Integers]
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
or Discard

Group Abstract Group Abstract