1
$\begingroup$

I need to divide a Gaussian Mixture by it's widest component. When I do this, the exponents of the output end up a mess of terms in need of simplification, but Simplify[] doesn't do it. How can I make this work?

gauMix[x_, means_, vars_] := 
  (1/Length[vars])*Total[(E^-(((x -means)^2)/(2*vars)))/Sqrt[2*Pi*vars]];
means = {-2, 2, 5};
vars = {1, 2, 2};
widest = Flatten[Position[vars, _?(# == Max[vars] &)]];
h[x_, v_] := 
  gauMix[x, means, vars + v]/gauMix[x, {Mean[means[[widest]]]},{vars[[Min[widest]]] + v}];
Expand[h[x, v]]

$$\frac{\sqrt{v+2} \exp \left(\frac{\left(x-\frac{7}{2}\right)^2}{2 (v+2)}-\frac{(x+2)^2}{2 (v+1)}\right)}{3 \sqrt{v+1}}+\frac{1}{3} \exp \left(\frac{\left(x-\frac{7}{2}\right)^2}{2 (v+2)}-\frac{(x-5)^2}{2 (v+2)}\right)+\frac{1}{3} \exp \left(\frac{\left(x-\frac{7}{2}\right)^2}{2 (v+2)}-\frac{(x-2)^2}{2 (v+2)}\right)$$

I would like to see, the exponents individually Simplify[]'d and Together[]'d into something like this:

$$\frac{\sqrt{v+2} \exp \left(\frac{-44 v x+33 v-4 x^2-60 x+17}{8 (v+1) (v+2)}\right)}{3 \sqrt{v+1}}+\frac{1}{3} e^{\frac{33-12 x}{8 v+16}}+\frac{1}{3} e^{\frac{3 (4 x-17)}{8 (v+2)}}$$

$\endgroup$
  • $\begingroup$ h[x, v] // Simplify ? $\endgroup$ – Dr. belisarius Feb 21 '15 at 0:34
  • $\begingroup$ $\frac{1}{3} e^{\frac{(7-2 x)^2}{8 (v+2)}} \left(e^{-\frac{(x-5)^2}{2 (v+2)}}+e^{-\frac{(x-2)^2}{2 (v+2)}}+\frac{e^{-\frac{(x+2)^2}{2 (v+1)}}}{\sqrt{\frac{v+1}{v+2}}}\right)$ $\endgroup$ – Dr. belisarius Feb 21 '15 at 0:36
  • $\begingroup$ @belisarius No, that's just dividing back out the wide gaussian that I just multiplied in. What I want is for each of those exponents to get individually simplified. For example, in the 2nd and 3rd terms, the x^2 term of the exponent polynomials will cancel out. $\endgroup$ – Jerry Guern Feb 21 '15 at 0:41
  • $\begingroup$ perhaps you should write down the expected result $\endgroup$ – Dr. belisarius Feb 21 '15 at 0:46
  • $\begingroup$ @belisarius Okay, I did that. $\endgroup$ – Jerry Guern Feb 21 '15 at 1:16
8
$\begingroup$

Explicitly replacing the exponents with simplifications:

expr /. {Exp[x_] :> Exp[Together@FullSimplify[x]]}

This results in:

$$ \frac{\sqrt{v+2} \exp \left(\frac{-44 v x+33 v-4 x^2-60 x+17}{8 (v+1) (v+2)}\right)}{3 \sqrt{v+1}}+\frac{1}{3} e^{\frac{3 (4 x-17)}{8 (v+2)}}+\frac{1}{3} e^{-\frac{3 (4 x-11)}{8 (v+2)}} $$

| improve this answer | |
$\endgroup$
  • $\begingroup$ P.S. A simpler way to find the parameters of the widest gaussian: Mean@MaximalBy[Transpose[{means, vars}], Last]. You can apply Sequence to put it into your function without extracting the parts separately. $\endgroup$ – 2012rcampion Feb 21 '15 at 2:28
  • $\begingroup$ I didn't really understand you PS comment, but thank you for this answer. $\endgroup$ – Jerry Guern Apr 10 '16 at 7:38
-1
$\begingroup$
gauMix[x_, means_, vars_] := (1/Length[vars])*
   Total[(E^-(((x - means)^2)/(2*vars)))/Sqrt[2*Pi*vars]];
means = {-2, 2, 5};
vars = {1, 2, 2};
widest = Flatten[Position[vars, _?(# == Max[vars] &)]];
h[x_, v_] := 
  gauMix[x, means, vars + v]/
   gauMix[x, {Mean[means[[widest]]]}, {vars[[Min[widest]]] + v}];
Simplify[Expand[h[x, v]] /. E^(a__ /b__ + c__ /b__) -> E^((a + c)/b)]

$ \frac{1}{3} e^{\frac{8 x^2-44 x+65}{4 v+8}}+\frac{1}{3} e^{\frac{(x-5)^2+\left(x-\frac{7}{2}\right)^2}{v+2}}+\frac{e^{\frac{1}{2} \left(\frac{\left(x-\frac{7}{2}\right)^2}{v+2}-\frac{(x+2)^2}{v+1}\right)}}{3 \sqrt{\frac{v+1}{v+2}}} $

| improve this answer | |
$\endgroup$
  • 1
    $\begingroup$ This gives wrong results. The x^2 terms should be cancelling out of the exponents of two of the terms. $\endgroup$ – Jerry Guern Feb 21 '15 at 1:15

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.