How to solve a system of partial differential equations?
One can get a hint of the issue by seeing that
DSolve[{1/a D[f[a, b], a] == 1, D[f[a, b], b] == 1}, f[a, b], {a, b}]
can't be solved, but
DSolve[{ D[f[a, b], a] == a, D[f[a, b], b] == 1}, f[a, b], {a, b}]
(* {f[a, b] -> a^2/2 + b + C[1]}} *)
can. But there are the same system! (multiplying by a
both sides of the first equation in the first case gives the second system). The first system, as written, is consistent. There is a test one can use to check the system of PDE's is consistent. Using Maple:
with(PDEtools):
eq1 := 1/a*diff(f(a,b),a) = 1:
eq2 := diff(f(a,b),b) = 1:
ConsistencyTest({eq1,eq2});
(* true *)
dsolve({eq1,eq2},f(a,b));
(* f(a, b) = (1/2)*a^2+b+_C1 *)
May be DSolve
got worried about singularity when a=0
? I do not know. But noticing the above gives a hint on the solution. Simply rearrange terms so that the leading derivative term has unity as factor.
DSolve[{
D[f[a, b, c], a] == 4 Sin[b]^2 Cos[c],
D[f[a, b, c], b] == a 4 Cos[c] Sin[2 b],
D[f[a, b, c], c] == -a Sin[b] 4 Sin[b] Sin[c]},
f[a, b, c], {a, b, c}
]
(* {{f[a, b, c] -> C[1] + 4 a Cos[c] Sin[b]^2}} *)
By the way, there really should not be a need to do this rearrangement. Maple 17 can solve this as is
The real question is: Why is the rearrangement needed? that is what the inquiring minds want to know :)