# Solving a complicated exponential equation

L={{0,0, Exp[-l12], 0, Exp[-l12] ,0,0,0,0,0,0,0},{ 0,0,0,0,0,0,0,0, Exp[-l14], 0,0 ,Exp[-l14]},{0,0,0,0,0,0,0, Exp[-l24], 0,0,0 ,Exp[-l24]},   {0,0,0,0,0,0,0,0,0,0 ,Exp[-l13] ,Exp[-l13]},{ 0,0,0,0,0 ,Exp[-l23], 0,0,0 ,Exp[-l23], 0,0},   { 0,0,0,0,0,0,0 ,Exp[-l34], Exp[-l34], 0,0,0}, { 0, Exp[-l12] ,0, Exp[-l12], 0,0,0,0,0,0,0,0}, { Exp[-l14], 0,0, Exp[-l14], 0,0,0,0,0,0,0,0},{   0,0,0,0 ,Exp[-l24], 0, Exp[-l24], 0,0,0,0,0}, {Exp[-l13] ,Exp[-l13], 0,0,0,0,0,0,0,0,0,0},{   0,0, Exp[-l23], 0,0,0 ,Exp[-l23], 0,0,0,0,0},{  0,0,0,0,0,0,0,0,0, Exp[-l34], Exp[-l34], 0}}
L//MatrixForm
l12=0.8; l24=0.8; l14=0.8;
Det[IdentityMatrix[12] -L]
Solve[Det[IdentityMatrix[12] -L]==0,l13,Reals]


I would like to see the numerical solution of l13 in terms of l23 and l34. But it seems that this equation is too complicated to solve for Mathematica. Do you have any suggestion? If necessary I can restrict the range of three unknown variables in (0,1)(between 0 and 1). Thank you.

• (1) Could just do Eigenvalues[L]. Restricting to Reals might slow things considerably (and also makes this a nonlinear problem). – Daniel Lichtblau Mar 29 '17 at 15:31
• (2) It might make sense to change the symbolic exponentials into new variables, solve for one in terms of the others, take an appropriate logarithm to solve for the original variable. – Daniel Lichtblau Mar 29 '17 at 15:32

Do like @ Daniel Lichtblau proposes, use new variables for the symbolic exponentials

    l12 = 8/10; l24 = 8/10; l14 = 8/10;

rule = {Exp[-l13] -> a, Exp[-l23] -> b, Exp[-l34] -> c}

L = L /. rule


solve for the det and reinsert the old variables

    sol1 = Solve[Det[IdentityMatrix[12] - L] == 0, a] // Simplify

Plot3D[Evaluate[-Log[a] /. sol1 /. RotateLeft /@ rule], {l23, -2,
3}, {l34, -2, 3}, PlotStyle -> {Blue, Red}, MaxRecursion -> 5,
AxesLabel -> {l23, l34, l13}, PlotRange -> All]


When explicitly solving for Reals, you get the conditions for the parameters l23 and l34, and the same solution picture.