# Why DSolve doesn't handle duplicate boundary condition

This code works well.

DSolve[{y''[x] + 10 y'[x] == 0, y[0] == 0}, y[x], x]
(*{{y[x] -> 1/10 E^(-10 x) (-1 + E^(10 x)) C[1]}}*)


But why mma gives warnings when I add one duplicate condition?

DSolve[{y''[x] + 10 y'[x] == 0, y[0] == 0, y[0] == 0}, y[x], x]


DSolve::bvsing: Unable to resolve some of the arbitrary constants in the general solution using the given boundary conditions. It is possible that some of the conditions have been specified at a singular point for the equation. >>

{{y[x] -> 1/10 E^(-10 x) (-1 + E^(10 x)) C[1]}}


I notice that this code doesn't give warnings though there are duplicate conditions:

DSolveValue[{10 y'[x] == 10, y[0] == 1, y[0] == 1}, y[x], x]
(*{{y[x] -> 1 + x}}*)


Could I conclude that mma never deletes duplicate conditions while evaluating?

• interesting observation, but it is just a warning. You could do Quiet@DSolve ... Jun 12 '15 at 14:14
• By trial and error, I have observed that this warning message occurs if and only if the number of BCs equals the order of the equation and one or more of the BCs are redundant. For instance, the error message occurs for DSolve[{y''''[x] == 0, y''[0] == 0, y'[0] == 0, y[0] == 0, y[0] + y'[0] == 0}, y[x], x] but not for DSolve[{y''''[x] == 0, y''[0] == 0, y''[0] == 0, y'[0] == 0, y[0] == 0, y[0] + y'[0] == 0}, y[x], x] or DSolve[{y''''[x] == 0, y'[0] == 0, y[0] == 0, y[0] + y'[0] == 0}, y[x], x]. Jun 13 '15 at 4:25

As of Version 10.3, the DSolve::bvsing warning is no longer emitted for

DSolve[{y''[x] + 10 y'[x] == 0, y[0] == 0, y[0] == 0}, y[x], x]


One can surmise that two conditions for a second-order ODE made Mathematica try to solve for both constants of integration, as well as complain when it could not. I don't know if that's true. As @george2079 remarked, it was only a warning in any case. I would say it was a bug, which has been fixed.

I wouldn't have called this a bug. My guess is that, when Mathematica is given two additional equations, it will try to solve for the two integration constants using these equations. It realizes the resulting system is singular and issues a corresponding warning. It doesn't do this if only one, or no BCs are given, since in that case the intention of obtaining a general solution with unresolved integration constant(s) is clear. Makes sense to me. Of course, the warning is perhaps not strictly necessary, so the decision not to issue a warning in Mma 11 is fine, too.

• Your guess is the same as mine....I suggested "bug" because WRI changed the behavior, since it's a bit ridiculous to suggest the equation has a singularity when it is merely that the user has given a redundant system of BCs, something quite easily detectable. I would argue, though, that the present state is not entirely satisfactory either: The user probably ought to be warned that the BCs are redundant. (Maybe there is a message that is off by default, but probably not.) Sep 2 '16 at 1:34
• Yeah, we're in agreement I think.
– Pirx
Sep 2 '16 at 11:25