Re: Re: General--Exponential simplifications by default
- To: mathgroup at smc.vnet.net
- Subject: [mg69048] Re: [mg69039] Re: General--Exponential simplifications by default
- From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
- Date: Mon, 28 Aug 2006 02:54:53 -0400 (EDT)
- References: <200608250935.FAA09304@smc.vnet.net><ecoqnr$3bb$1@smc.vnet.net> <200608270524.BAA25573@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
I do not consider any of these examples "a contradiction". What needs to be understood is the difference between certain Mathematica expressions before and after they are evaluated. In the case of your examples consider: Numerator[Unevaluated[Exp[-x]]] E^(-x) vs Numerator[Exp[-x]] 1 Numerator[Unevaluated[1/Sqrt[2]]] 1 vs Numerator[1/Sqrt[2]] Sqrt[2] The cause of the apparent problem is that Numerator does not hold its argument, so whiteout Unevaluated you are getting the numerator of the whatever your expression evaluates to, not of your actual input. TO get the latter you simply need to use Unevaluated. This is no different from: Numerator[3/6] 1 Numerator[Unevaluated[3/6]] 3 If this is not a contradiction than neither are the other examples. Understanding the process of evaluation is perhaps the most important thing when using functional languages (not just Mathematica, the same sort of things occur, perhaps in an even more striking way, in languages like Lisp ). Andrzej Kozlowski On 27 Aug 2006, at 07:24, p-valko at tamu.edu wrote: > Daniel, > Could you tell me why the contradiction?: > > In[14]:=Exp[-x]//InputForm > Out[14]//InputForm=E^(-x) > > In[15]:=Numerator[Exp[-x]]//InputForm > Out[15]//InputForm=1 > > Mathematica automatically turns it into Power[E, Times[-1, x]], but > the user > beleives that the exponent is in the numerator. > What you see is not what you get! > > > My favorite contradiction is the following: > > In[24]:=Numerator[1/Sqrt[2]]//InputForm > Out[24]//InputForm=Sqrt[2] > > In[25]:=Denominator[1/Sqrt[2]]//InputForm > Out[25]//InputForm=2 > > I think "Numerator" and "Denominator" should not be allowed to do > whatever they want. Too much liberty here... > > Peter > > > Daniel Lichtblau wrote: >> guillaume_evin at yahoo.fr wrote: >>> Hi ! >>> >>> I want to avoid simplifications when Mathematica integrates >>> expressions with exponential terms. For example, I have : >>> >>> In[8]= Espcond[y_] = Integrate[x*Densx[x, y], {x, 0, >>> Infinity}, Assumptions -> alpha > 0] >>> Out[8]= E^(-2eta y)(-theta + E^(eta y)(2+theta))/(2alpha) >>> >>> I do not want to have a factorization by E^(-2eta y). More >>> precisely I would like to have the following result: >>> Out[8]= (-theta E^(-2eta y)+ E^(-eta y)(2+theta))/(2alpha) >>> >>> I guess there is a way to tackle this problem with >>> "ComplexityFunction" and "Simplify", but I tried different things >>> such as "ComplexityFunction -> (Count[{#1}, Exp_, ∞] &)" in >>> the "Simplify" function but no change appears. >>> >>> Is someone could give me some tricks on how tu use the >>> "ComplexityFunction" ? >>> >>> Thank you in advance. >>> >>> Guillaume >>> >>> Link to the forum page for this post: >>> http://www.mathematica-users.org/webMathematica/wiki/wiki.jsp? >>> pageName=Special:Forum_ViewTopic&pid=12974#p12974 >>> Posted through http://www.mathematica-users.org [[postId=12974]] >> >> >> Could Collect with respect to powers of the exponential. >> >> In[59]:= ee = E^(-2eta*y)*(-theta + E^(eta*y)(2+theta))/(2*alpha); >> >> In[60]:= InputForm[Collect[ee, Exp[eta*y]]] >> Out[60]//InputForm= >> -theta/(2*alpha*E^(2*eta*y)) + (2 + theta)/(2*alpha*E^(eta*y)) >> >> Daniel Lichtblau >> Wolfram Research >
- References:
- General--Exponential simplifications by default
- From: guillaume_evin@yahoo.fr
- Re: General--Exponential simplifications by default
- From: p-valko@tamu.edu
- General--Exponential simplifications by default