# How can I get all the possible solutions using NSolve [closed]

How can I get all the possible solutions using NSolve. The following equation has eight analytic solutions. These analytic solutions are obtain using "Solve" as shown below. Now, I would like to use "NSolve" to solve the same equation, say for one point ub = 0.25 and 'k=1', and compare the analytic with the numerical solution. However. "NSolve gives me only one or two real solutions?!

SubPlus[λ] = (-k^2 + Sqrt[ϵ^2 - ub^2])^(1/2);
SubMinus[λ] = (-k^2 - Sqrt[ϵ^2 - ub^2])^(1/2);
SubPlus[f] = (I SubPlus[λ] - k)^2/(ϵ - ub);
SubMinus[f] = (I SubMinus[λ] - k)^2/(ϵ - ub);
SubPlus[g] = (I SubPlus[λ] + k)^2/(ϵ + ub);
SubMinus[g] = (I SubMinus[λ] + k)^2/(ϵ + ub);

FullSimplify[
Solve[
{Det[
MatrixForm[
{{1, 1, -1, -1},
{SubPlus[f], SubMinus[f], -SubPlus[g], -SubMinus[g]},
{SubPlus[λ], SubMinus[λ], SubPlus[λ], SubMinus[λ]},
{SubPlus[λ]*SubPlus[f], SubMinus[λ]*SubMinus[f],
SubPlus[λ]*SubPlus[g], SubMinus[λ]*SubMinus[g]}}]]
== 0},
{ϵ}]]

• Please post properly formatted, copy-and-paste-able code rather than this mess (choose Copy as Plain Text). As it is, no one can read and understand what's going on here. – march Mar 31 '16 at 2:21

Your problem stems from wrapping the matrix given to Det with MatrixForm. Correcting that gives

SubPlus[λ] = (-k^2 + Sqrt[ϵ^2 - ub^2])^(1/2);
SubMinus[λ] = (-k^2 - Sqrt[ϵ^2 - ub^2])^(1/2);
SubPlus[f] = (I SubPlus[λ] - k)^2/(ϵ - ub);
SubMinus[f] = (I SubMinus[λ] - k)^2/(ϵ - ub);
SubPlus[g] = (I SubPlus[λ] + k)^2/(ϵ + ub);
SubMinus[g] = (I SubMinus[λ] + k)^2/(ϵ + ub);

FullSimplify[
Solve[
Det[
{{1, 1, -1, -1},
{SubPlus[f], SubMinus[f], -SubPlus[g], -SubMinus[g]},
{SubPlus[λ], SubMinus[λ], SubPlus[λ], SubMinus[λ]},
{SubPlus[λ]*SubPlus[f], SubMinus[λ]*SubMinus[f],
SubPlus[λ]*SubPlus[g], SubMinus[λ]*SubMinus[g]}}] == 0,
ϵ]] 