# Solving within inverse function

I want to solve for the parameter $\rho$ within an inverse function, therefore I entered the following:

Remove["Global*"]
m = 30; (*number of banks*)
n = 5;(*number of defaults*)
AssetV = 100;(*asset value at T*)
DebtV = 80;(*debt value at T*)
μ = 0.2;(*annual drift*)
σ = 0.3;(*annual volatility*)
T = 5;(*years*)


The function:

Solve[CDF[
NormalDistribution[], ((1/
Sqrt[ρ])*(((Sqrt[
1 - ρ])*(InverseCDF[
NormalDistribution[], (n/m)]) + (InverseCDF[
NormalDistribution[], (CDF[
NormalDistribution[], -(Log[
AssetV/DebtV] + (μ - 0.5*σ^2)*
T)/(σ*Sqrt[T])])]))))] == 0.0158854, ρ]


I get the correct result, which is according to Mathematica: {{ρ -> 0.8}}

However, I also get the following error:

Solve::ifun: Inverse functions are being used by Solve, so some solutions may not be found; use Reduce for complete solution information. >>

Furthermore, I want to generate a table which shows me ρ when the result of the equation above is within the interval 0 to 1 by the steps 0.1.

In order to do this, i entered this code:

Table[Solve[CDF[
NormalDistribution[], ((1/
Sqrt[ρ])*(((Sqrt[
1 - ρ])*(InverseCDF[
NormalDistribution[], (n/m)]) + (InverseCDF[
NormalDistribution[], (CDF[
NormalDistribution[], -(Log[
AssetV/DebtV] + (μ - 0.5*σ^2)*
T)/(σ*Sqrt[T])])]))))] == x, ρ], {x, 0, 1, 0.1}]


This does not work, because I get the following output:

{{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}}


Furthermore I also get these errors:

Solve::ifun: Inverse functions are being used by Solve, so some solutions may not be found; use Reduce for complete solution information. >>

and

General::stop: Further output of Solve::ifun will be suppressed during this calculation. >>

Does anybody has a solution for my problem? Have I done something wrong, because I also tried it with NSolve which did not work neither.

Thank you

-
Add this option to Solve: InverseFunctions -> True. FindRoot[ ..., {ρ, 0.5}] provides the same result. –  Artes Jul 22 at 8:54
@Artes thanks, I don't get the error anymore. However, I still cannot generate a Table within the intervals 0 to 1 by 0.1. I again get just "{{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}}" –  Milan Ivica Jul 22 at 9:01
Look at the plot Plot[CDF[...], {ρ, 0, 3}, PlotRange -> All], it clarifies why there are no solutions. Instead of your input I'd have used e.g. Table[Solve[ ], {x, 0, 0.1, 0.01}]`, then I'd have got the expected results. –  Artes Jul 22 at 9:04
@Artes thank you a lot :) –  Milan Ivica Jul 22 at 9:18
@Artes I have just one more question, if I keep everything same. but just say that ρ=0.8 and I want to solve for σ. it does not work?. I get this error:"Solve was unable to solve the system with inexact coefficients or the \ system obtained by direct rationalization of inexact numbers present \ in the system. Since many of the methods used by Solve require exact \ input, providing Solve with an exact version of the system may help" ... do you know why? thanks –  Milan Ivica Jul 22 at 9:35