xreplace only does exact structural replacement (the "x" stands for "exact"). To get mathematical replacement, use subs:
>>> print(exp(5*x).subs(exp(x), sin(x))) sin(x)**5 Aaron Meurer On Fri, Aug 14, 2015 at 5:17 AM, AMiT Kumar <[email protected]> wrote: > I am also Interested in getting the solution for this. > > *AMiT Kumar* > > > On Friday, August 14, 2015 at 12:08:25 PM UTC+5:30, Gaurav Dhingra wrote: >> >> Do you want something like replacing some function f1 (say `exponential >> function` you mentioned `{exp(x): x}` ) with some other f2 (say linear >> function, you mentioned `{exp(x): x}` ) in your expression ? >> >> On Friday, August 14, 2015 at 12:03:08 PM UTC+5:30, Adrián Ashley wrote: >>> >>> Correction previous example: >>> >>> In [9]: sin(exp(a*x)).some_replace_func({exp(x): x}) >>> Out[9]: sin(x**a) >>> >>> >>> >>> >>> On Friday, August 14, 2015 at 11:55:55 AM UTC+5:30, Adrián Ashley wrote: >>>> >>>> Hi Sartaj, >>>> >>>> I think you didn't understood my point. I am looking for mathematical >>>> substitution, not exact >>>> substitution. >>>> >>>> exp(5*x).xreplace({exp(5*x): sin(5*x)}) is just a mere example of usage >>>> of xreplace. I am not >>>> looking for exact replacement. the exponent can be anything >>>> >>>> For example: >>>> >>>> >>> sin(exp(x)).some_replace_func({exp: x}) >>>> >>>> >>> sin(x) >>>> >>>> >>> exp(5*x).some_replace_func({exp(x): sin(x)}) >>>> >>> exp(5*x) >>>> >>>> >>>> Thanks, >>>> Best, >>>> >>>> Adrian >>>> >>>> On Friday, August 14, 2015 at 1:48:44 AM UTC+5:30, Sartaj Singh wrote: >>>>> >>>>> Try this, >>>>> >>>>> >>> exp(5*x).xreplace({exp(5*x): sin(5*x)}) >>>>> sin(5*x) >>>>> >>>>> On 14 August 2015 at 00:24, Adrián Ashley <[email protected]> wrote: >>>>> >>>>>> Hello, >>>>>> >>>>>> How can I substitute/replace something mathematically from an >>>>>> expression: >>>>>> >>>>>> For example: >>>>>> >>>>>> >>> exp(5*x).xreplace({exp(x): sin(x)}) >>>>>> >>> exp(5*x) # I would expect sin(x)**5 here >>>>>> >>>>>> >>>>>> In better way to do the above thing? >>>>>> >>>>>> Thanks, >>>>>> Best, >>>>>> >>>>>> -- >>>>>> Adrian >>>>>> >>>>>> -- >>>>>> You received this message because you are subscribed to the Google >>>>>> Groups "sympy" group. >>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>> send an email to [email protected]. >>>>>> To post to this group, send email to [email protected]. >>>>>> Visit this group at http://groups.google.com/group/sympy. >>>>>> To view this discussion on the web visit >>>>>> https://groups.google.com/d/msgid/sympy/4be0109e-a665-4c89-8774-0300163250f0%40googlegroups.com >>>>>> <https://groups.google.com/d/msgid/sympy/4be0109e-a665-4c89-8774-0300163250f0%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>>> . >>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> Regards >>>>> *Sartaj Singh* >>>>> >>>>> *Mathematics and Computing*, >>>>> Indian Institute of Technology, >>>>> Varanasi - 221 005 INDIA >>>>> >>>>> E-mail: [email protected], *[email protected]* >>>>> >>>> -- > You received this message because you are subscribed to the Google Groups > "sympy" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/sympy. > To view this discussion on the web visit > https://groups.google.com/d/msgid/sympy/f4f3b7a4-00ec-4d0c-85bd-86e6b4731c64%40googlegroups.com > <https://groups.google.com/d/msgid/sympy/f4f3b7a4-00ec-4d0c-85bd-86e6b4731c64%40googlegroups.com?utm_medium=email&utm_source=footer> > . > > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "sympy" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/sympy. To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/CAKgW%3D6KZEjtuA0w7NBGHVwnqyGQjtppWx4oZAeh69VJGb1qytQ%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
