Re: Simplifying algebraic expressions
- To: mathgroup at smc.vnet.net
- Subject: [mg66901] Re: [mg66839] Simplifying algebraic expressions
- From: "Carl K. Woll" <carlw at wolfram.com>
- Date: Sat, 3 Jun 2006 03:25:29 -0400 (EDT)
- References: <200606011054.GAA20566@smc.vnet.net> <44803200.7000104@wolfram.com> <21E4A437-213D-4201-A902-70BC331E2D01@cs.bc.edu>
- Sender: owner-wri-mathgroup at wolfram.com
Amitabha Roy wrote: > In Mathematica 5.2, > > this does not work > > Simplify[ (-1)^(2 x + 3 y), Element[{x, y}, Integers] ] > gives no simplication. Neither does Refine. > > I forgot to mention that I am only interested in the situation when the > variables > take on integer values. > Sorry, I forgot to check version 5.2. It works in the development version. A possible workaround: simp[expr_, assum_] := expr //. (-1)^(a_Integer b_?(Refine[Element[#,Integers],assum]&)+x_.):> ((-1)^a)^b (-1)^x For your example: In[14]:= simp[(-1)^(2x+3y),Element[{x,y},Integers]] Out[14]= y (-1) Carl Woll Wolfram Research > > > > > > On Jun 2, 2006, at 8:41 AM, Carl K. Woll wrote: > >> Amitabha Roy wrote: >> >>> Hello: >>> I would like Mathematica to be able to take an expression, say, >>> (-1)^{2 x + 3 y} and be able to simplify to (-1)^y. >>> Is there a way one can do this ? >>> Thanks >> >> >> I presume you want this simplification to occur assuming x and y are >> integers, as the simplification is not valid when either x or y are >> not integers. For example, with x==0 and y==.1, we have (-1)^ (3*.1) >> != (-1)^.1. Try: >> >> Simplify[ (-1)^(2 x + 3 y), Element[{x,y},Integers] ] >> >> y >> (-1) >> >> (you could also use Refine with the same syntax instead of Simplify) >> >> Carl Woll >> Wolfram Research
- References:
- Simplifying algebraic expressions
- From: Amitabha Roy <aroy@cs.bc.edu>
- Simplifying algebraic expressions