[Date Index]
[Thread Index]
[Author Index]
Re: Hold and Simplify
*To*: mathgroup at smc.vnet.net
*Subject*: [mg77233] Re: Hold and Simplify
*From*: Jens-Peer Kuska <kuska at informatik.uni-leipzig.de>
*Date*: Wed, 6 Jun 2007 06:47:19 -0400 (EDT)
*Organization*: Uni Leipzig
*References*: <f43ds0$hu$1@smc.vnet.net>
*Reply-to*: kuska at informatik.uni-leipzig.de
Hi,
a) Simplify[] will simplify the expression and HoldForm[Exp[a]*Exp[b]]
is not simpler than Exp[a+b]
b)
f[Exp[a__Plus]] := (HoldForm @@ {Exp /@ somefunction @@ a}) /.
somefunction -> Times
will expand the sum of multiple exponents into products
and
Exp[a + b]*Sin[Exp[-a + c]] + a + g*Exp[d - e] /.
Exp[a_Plus] :> f[Exp[a]]
will do it for the expression with Exp[] somewhere.
Regards
Jens
news.inode.at wrote:
> Hi,
>
>
>
> I would like to change Exponential functions of sums to products of
>
> exponential functions. From reading postings from the year 2004 I tried
>
> the following:
>
>
>
> f[Exp[x_ + y_]] := Exp[x + y] /. Exp[a_ + b_] :> HoldForm[Exp[x]*Exp[y]];
>
>
>
> Simplify[Exp[a + b], TransformationFunctions -> f]
>
>
>
> Unfortunately this gave me
>
> Exp[a+b]
>
>
>
> I had more luck with
>
>
>
> rule = {Exp[a_ + b_] -> f[Exp[a + b]]}
>
>
>
> ReplaceRepeated[Exp[a + b], rule]
>
>
>
> which gave me Exp[a]Exp[b]
>
>
>
> Trying
>
>
>
>
>
> ReplaceRepeated[Exp[a + b + c], rule]
>
> gave me:
>
> Exp[a]Exp[b+c]
>
>
>
> Why doesn't the TransformationFunction trick work? Why does
>
> ReplacedRepeated stop?
>
>
>
>
>
> My ultimate goal would be the following: (I need to transfer large
>
> formulae into C code and would like to avoid use of exponential function
>
> as much as possible)
>
>
>
> myreplacelist={Exp[var1]->expvar1, Exp[var2]->expvar2}
>
> myformula=Exp[2 var1 - 3 var2 + a * Exp[var1]];
>
>
>
> ultimate rule applied to my formula gives:
>
>
>
> expvar1 * expvar1 / (expvar2 * expvar2 * expvar2) * Exp[a expvar1]
>
>
>
> Thanks for your time!
>
>
>
> best,
>
>
>
> Paul
>
>
>
>
>
>
>
Prev by Date:
**Re: NDSolve, Do loop, and Plot**
Next by Date:
**Re: Segregating the elements of a list based on given lower and upper**
Previous by thread:
**Re: Hold and Simplify**
Next by thread:
**early version notebook in Mathematica 6 Linux**
| |