# Full width at half maximum of the sum of two Lorentzian distributions

When I have a Lorentzian distribution (centered at xc and with area c1):

L1[x_] := c1*1/π*(1/2*S1)/((x - xc)^2 + (1/2*S1)^2)


then the full width at half maximum (FWHM) is simply S1. Suppose now that I have two Lorentzian distributions:

L1[x_] := c1*1/π*(1/2*S1)/((x - xc)^2 + (1/2*S1)^2)
L2[x_] := c2*1/π*(1/2*S2)/((x - xc)^2 + (1/2*S2)^2)


What is the FWHM of L[x], sum of L1 and L2?

L[x_] := L1[x] + L2[x]

• This seems more like a Mathematics question, rather than about the computing software Mathematica. Dec 15, 2016 at 21:00
• it is indeed a Mathematics question, but I am interested in how to compute it, symbolically, with Mathematica. I should have explained this... Dec 15, 2016 at 21:24

distr1 = CauchyDistribution[xc, S1/2];

PDF[distr1, x] // Simplify

(*  (2*S1)/(Pi*(S1^2 + 4*(x - xc)^2))  *)

distr2 = CauchyDistribution[xc, S2/2];

PDF[distr2, x] // Simplify

(*  (2*S2)/(Pi*(S2^2 + 4*(x - xc)^2))  *)


The constraints on the parameters are

assume = And[
DistributionParameterAssumptions[distr1],
DistributionParameterAssumptions[distr2]] // Simplify

(*  xc ∈ Reals && S1 > 0 && S2 > 0  *)


The distribution of the sum of two Lorentzian variates is

distrSum = TransformedDistribution[l1 + l2,
{l1  \[Distributed] distr1, l2  \[Distributed] distr2}]

(*  CauchyDistribution[2*xc, S1/2 + S2/2]  *)


The maximum value is

max = Assuming[assume,
Maximize[PDF[distrSum, x], x] //
Simplify]

(*  {2/(Pi*(S1 + S2)), {x -> 2*xc}}  *)


Verifying that this where the derivative is zero

D[PDF[distrSum, x], x] /. max[[2]]

(*  0  *)


The full width half maximum is

fwhm = Assuming[assume,
Abs[Subtract @@ (x /.
Solve[PDF[distrSum, x] == max[[1]]/2, x, Reals] //
Simplify)] //
Simplify]

(*  S1 + S2  *)


EDIT: The distribution of the weighted sum of two Lorentzian variates is

distrSum2 = Assuming[assume,
TransformedDistribution[a*l1 + b*l2,
{l1  \[Distributed] distr1, l2  \[Distributed] distr2}]]

(*  CauchyDistribution[a xc + b xc, (a S1)/2 + (b S2)/2]  *)


Assuming that the weights are positive

assume2 = assume && a > 0 && b > 0

(*  xc ∈ Reals && S1 > 0 && S2 > 0 && a > 0 && b > 0  *)


The maximum value is

max2 = Assuming[assume2,
Maximize[PDF[distrSum2, x], x] //
Simplify]

(*  {2/(a π S1 + b π S2), {x -> (a + b) xc}}  *)


Verifying that this where the derivative is zero

Assuming[assume2,
D[PDF[distrSum2, x], x] /. max2[[2]] //
Simplify]

(*  0  *)


The full width half maximum is

fwhm2 = Assuming[assume2,
Abs[Subtract @@ (x /.
Solve[PDF[distrSum2, x] == max2[[1]]/2, x, Reals] //
Simplify)] // Simplify]

(*  a S1 + b S2  *)

• Inserting values in the function, that doesn't seem to be the right answer. In my example that would be 3.4. Dec 15, 2016 at 21:55
• @Feyre - you cannot get the distribution for the sum of two random variates by adding their PDFs. Dec 15, 2016 at 22:24
• You're right, I misread this. I was confused as was with the weird solution. Dec 15, 2016 at 22:29
• is this result valid only for Cauchy distributions with area=1? What happens if I change their relative areas? Dec 15, 2016 at 22:31
• @Luigi - then presumably you went the distribution: distrSum = TransformedDistribution[a*l1 +b* l2, {l1 \[Distributed] distr1, l2 \[Distributed] distr2}] Dec 15, 2016 at 22:40