Set all instances of Exp[-x_] to zero?

To simplify a huge expression efficiently, which involves a variable in a bunch of exponential functions going to infinity, I have tried to substitute

/.Exp[-x_]->0

where my intention was to set to zero any exponential function featuring a minus sign in front of an arbitrary function.
Unfortunately this substitution had no effect.

How can I do what I intend? Please note, Simplify and FullSimplify functions involving any ComplexityFunction are not an option, since they take forever to evaluate.

EDIT

On a similar note, I noticed that oftentimes expressions of the same power appear as multipliers in numerator and denominator, like in the following example

af1+af2(af3+af4)f5\frac{a f_{1}+af_2}{(a f_3+af_4)f_5}

still the aa does not cancel out automatically. Is there a command to explicitly look for such cancellations and carry them out without attempting any other simplifications? I tried PowerExpand, Expand and ExpandAll. None of them work like this.

=================

2

 

Can you provide small snippet of your expression in which your substitution doesn’t work? Because it works fine for me here.
– swish
Apr 24 ’13 at 22:45

  

 

Do you have complex exponents? Because Mathematica distinguish between real and complex -1. So maybe you need to change your pattern to Exp[(-I | -1) x_]
– swish
Apr 24 ’13 at 22:52

  

 

Exp[- a ] /. Exp[- x_] :> 0 gives 0 but Exp[-4 a ] /. Exp[- x_] :> 0 gives Exp[-4 a ] and Exp[-4 a ] /. Exp[(-I | -1) x_] :> 0 gives Exp[-4 a ]
– Kagaratsch
Apr 24 ’13 at 22:56

1

 

On your second matter, this will do the trick: /. x_/y_ :> Collect[x, a]/Collect[y, a]
– swish
Apr 24 ’13 at 22:56

3

 

Try this /. Exp[n_?Negative x_] :> 0
– swish
Apr 24 ’13 at 23:00

=================

2 Answers
2

=================

Since this has been bumped by Community, I’ll post this in the hopes that either @swish will also post it and take credit, or at least @Kagaratsch will accept this so it won’t be left unanswered:

Try this /. Exp[n_?Negative x_] :> 0 – swish Apr 24 at 23:00

This should work
Exp[x_] /; x < 0 :> 0

Sticking a negative in front of a pattern variable will not accomplish what you want.

  

 

OP said that there is variable inside exponent, Mathematica generally can’t say whether it’s positive or not.
– swish
Apr 24 ’13 at 22:43

  

 

Exactly, swish. Evaluating Exp[-a] /. Exp[x_] /; x < 0 :> 0 gives E^-a
– Kagaratsch
Apr 24 ’13 at 22:44