I’m solving a singular first-order, two dimensional ODE arising in reputation games (Faingold & Sannikov, 2011).
On \phi \in [0, 1], I have
u' = \frac{v}{\phi(1-\phi)} \\
v' = \frac{1}{\phi(1-\phi)} \left(v + 2\rho \frac{(u - w(\phi, v/\rho))}{\gamma(v / \rho)^2} \right)
with boundary conditions v(0) = v(1) = 0, u(0) = w(1, 0) and u(1) = w(0, 0). Here \gamma(\cdot) > 0. Hence, at the boundaries, I have integrable singularities.
My current approach has been to try and solve the problem numerically using a TwoPointBVProblem in the interior \phi \in [\varepsilon, 1 - \varepsilon] for some small \varepsilon, using the MIRK4 method. But unfortunately, I get instability.
Can anyone suggest an algorithm or a change of variable to solve this?
I am adding a simplified MWE of the problem below, to illustrate my current approach.
using DifferentialEquations
function w(ϕ, z)
0.1 * ϕ + 0.05 * z
end
function γ(z)
1.0 + z
end
function F!(dx, x, ρ, φ)
u, v = x
dx[1] = v / (φ * (1 - φ))
dx[2] = (v + 2ρ * (u - w(φ, v / ρ)) / γ(v / ρ)^2) / (φ * (1 - φ))
end
function leftbc!(res, x₀, p)
u₀, v₀ = x₀
res[1] = u₀ - w(0., 0.)
res[2] = v₀
end
function rightbc!(res, x₁, p)
u₁, v₁ = x₁
res[1] = u₁ - w(1., 0.)
res[2] = v₁
end
ρ = 0.05
x₀ = [w(0., 0.), 0.]
ε = 1e-2
bvp = TwoPointBVProblem(F!, (leftbc!, rightbc!), x₀, (ε, 1 - ε), ρ; bcresid_prototype = (zeros(2), zeros(2)))
sol = solve(bvp, MIRK4(), dt = 0.01)