I'm trying to solve a system of nonlinear differential equations. As a minimal working example, Maple is able to solve this just fine:
restart: pde_sys :={diff(A(t1),t1)*cos(B(t1)) = 0, diff(A(t1),t1)*sin(B(t1)) = 0}: solving_vars := {A(t1), B(t1)}: dsolve(pde_sys, solving_vars);
This returns [{A(t1) = _C1}, {B(t1) = B(t1)}], as expected.
However, when simply adding an arbitrary dependence on a second variable, no solution is generated
restart: pde_sys :={diff(A(t1,t2),t1)*cos(B(t1,t2)) = 0, diff(A(t1,t2),t1)*sin(B(t1,t2)) = 0}: solving_vars := {A(t1,t2), B(t1,t2)}: dsolve(pde_sys, solving_vars);
Of course, this has a solution: [{A(t1,t2) = _F1(t2)}, {B(t1) = B(t1,t2)}].
Using printlevel to debug, it seems the behavior diverges when dsolve attempts to call type/ODEtools/F(x). The univariate case correctly determines that A(t1) is of the type F(x); then, these functions are correctly passed to PDEtools/assign and execution continues nominally.
For the multivariate case, A(t1,t2) is not recognized as type F(x), so no functions are passed to PDEtools/assign and execution is dominated by null sets.
Is there something I'm missing here? Or is there another way to approach this problem?
Thanks!