Good afternoon,

I have been blocked for a very long time on this so any help would really help me as I am completely stuck there. I am new to Julia so please pardon my errors.

I have a system of equations (very simplified below) and keep getting “domain error”. It works for certain initial values, or for some equations. I noticed that whenever the value of equations evaluated at the initial values are below zero, it seems to generate a domain error.

For instance, when i change equation F[1] of the sytem from `F[1]= x[2] * D`

, it works i.e. I do not get domain error (- the algorithm does not converge but as this is a simplified version of my true system, I am not concerned about that for now).

But when I change it to `F[1]= x[2] * D + 2`

, I get a domain error (so this is even before looking into convergence for a solution).

Would anyone know why? Understanding what is going on here would help me solve this error and the future ones. Many thanks for your help!

```
using QuantEcon
using NLsolve
using ForwardDiff
Re=5.0
Rl=2.0
E=4.0
D=0.1
function foc2(θlow::AbstractFloat,
D::AbstractFloat)
v(c) = 4 * c
c21(θ) = 1/ (1 - θ)
val2(θ) = θ * D * v(c21(θ))
val22 = quadgk(val2, 0, θlow)[1]
return val22
end
function f!(F ,x)
F[1]= x[2] * D
F[2]= foc2(x[9], D)
F[3]= D - x[3] - x[1]
F[4]= E - x[4] - D
F[5]= x[2] * D - x[5] * ((Re-Rl)/Rl)
F[6]= x[4] - x[6] - x[5]
F[7]= x[8] - x[5] / x[1]
F[8]= x[9] - x[3]/ (D * x[2])
F[9]= x[2] * D * x[7] + x[2] * D * (1 - x[7]) * (x[8]/Re) - x[3] - x[1] * x[8]
end
initial_x = [D; D; 0.0; E/2.0; 0.01; E/2.0; 0.3; 0.1; 0.1 ]
initial_F = similar(initial_x)
df = OnceDifferentiable(f!, initial_x, initial_F)
results1_bk = mcpsolve(df, [0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01 , 0.0],
[D, D, D, E, E, D, 0.9, 0.99, 0.9], initial_x )
```