1
$\begingroup$

So I found in Approximating for $a \gg b$

that I can use big O notation to emulate a>>b behavior. However, when I try that with the following equation, I get an undesired result.

Expression:

Normal[((c + 2 b) a)/((c + d) (c + b)) /. {b -> b + O[c]}]

Expected:

2a/(c+d)

Actual return:

2a/d

Where in the above, I'm trying to state that b>>c. Therefore the b in the numerator and the b in the denominator should just cancel.

Is there something I'm missing?

$\endgroup$
3
  • $\begingroup$ This variant seems about right. Rewrite b as a function of c and some "small" epsilon, then expand in that epsilon. In[521]:= Normal[ Series[((c + 2 b) a)/((c + d) (c + b)) /. {b -> c/eps}, {eps, 0, 0}]] Out[521]= (2 a)/(c + d) $\endgroup$ – Daniel Lichtblau Apr 6 '19 at 14:29
  • $\begingroup$ Why not ((c + 2 b) a)/((c + d) (c + b)) + O[b, Infinity] // Normal? $\endgroup$ – Carl Woll Apr 6 '19 at 14:39
  • $\begingroup$ Those ways do work for this specific equation, but they don't capture the meaning of b>>c. If I use either of those methods on ((c + 2 b) a)/((c + d) (c + b) (b + e)) I get 0. Though in hindsight, I see that the method I found doesn't really capture the meaning either. $\endgroup$ – Vince McKinsey Apr 7 '19 at 4:40
1
$\begingroup$

I think you can just do a series expansion of b at infinity. For example:

Series[((c+2 b) a)/((c+d) (c+b)), {b, Infinity, 0}] //TeXForm

$\frac{2 a}{c+d}+O\left(\left(\frac{1}{b}\right)^1\right)$

For your example in the comments:

Series[((c+2 b) a)/((c+d) (c+b)(b+e)), {b, Infinity, 1}] //TeXForm

$\frac{2 a}{b (c+d)}+O\left(\left(\frac{1}{b}\right)^2\right)$

If only c is much smaller than b, you can use Daniel's answer in the comments:

Normal[Series[((c+2 b) a)/((c+d) (c+b)(b+\[Epsilon])) /. b -> c/\[Epsilon], {\[Epsilon], 0, 2}]] /. \[Epsilon]->c/b

(2 a)/(b (c + d)) - (a c)/(b^2 (c + d))

Compare this to the above approach where everything is smaller than b:

Normal @ Series[((c+2 b) a)/((c+d) (c+b)(b+e)), {b, Infinity, 2}]

(2 a)/(b (c + d)) + (-a c - 2 a e)/(b^2 (c + d))

$\endgroup$
1
$\begingroup$

Big $O$ notation is used to write a term to first order in a selected term. Here starting with the term

$$\frac{a\left(2b+c\right)}{\left(b+c\right)\left(c+d\right)}$$

and assuming that $b\gg c$, the goal is to write the fraction in first order in $\frac{b}{c}$. By multiplying the numerator and denominator by $1/b^2$ and making the substitutions $\tilde{a}\equiv a/b$, $\tilde{c}\equiv c/b$, and $\tilde{d}\equiv a/d$ we can rewrite the original term as

$$\frac{\tilde{a}\left(2+\tilde{c}\right)}{\left(1+\tilde{c}\right)\left(\tilde{c}+\tilde{d}\right)}$$

Now assuming that $b\gg c$ results in $\tilde{c}\approx 0$, thus we can do a Taylor expansion about the point $c=0$ using Series.

Series[(a (2 + c))/((1 + c) (c + d)), {c, 0, 0}]

this will give the output

2a/d + O[c]^1

Simplifying the original equation when $b\gg c$ is not as simple as just crossing out the $c$ terms in the numerator and the denominator due to the presence of the additional $c$ dependent cross terms resulting from the multiplication in the denominator.

$\endgroup$
1
  • $\begingroup$ Hi cphys, thank you for the explanation. I see now why my method was erroneous. Do you know of a method to accomplish b>>c? $\endgroup$ – Vince McKinsey Apr 7 '19 at 4:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.