0
$\begingroup$

I am trying to solve a coupled system of differential-algebraic equations as follows.

First define a list of 6 equations

eqn = {f2[1, 1][t] f2[2, 1][t] == 0, f2[1, 2][t] f2[2, 2][t] == 0, 
  f2[1, 2][t] f2[2, 1][t] - μ[1, 2][t] == 0, -1 + f2[1, 1][t] f2[2, 2][t] + μ[1, 2][t] == 0, -Derivative[1][μ[0]][t] == 0, 
  f2[1, 2][t] f2[2, 1][t] - f2[1, 1][t] f2[2, 2][t] + f2[1, 2][t] Derivative[1][f2[2, 1]][t] - 
    f2[1, 1][t] Derivative[1][f2[2, 2]][t] - Derivative[1][μ[1, 2]][t] == 0}

Then list the 6 unknown functions

vars = Union[Flatten@ Array[f2[#1, #2][t] &, {2, 2}], {μ[0][t], μ[1, 2][t]}]

Naive use of DSolve seems futile as the following flags an error

DSolve[Union[eqn,vars /. a_[b__][t] -> a[b][0] == c[a[b]]], vars, t]

where I am setting the initial values to be some arbitrary constants of the form c[_].

Reduce does help but it treates the derivatives as being independent functions and is not able to simplify as much as it could.

Reduce[eqn, vars]


    (*(Derivative[1][\[Mu][0]][t] == 0 && f2[1, 1][t] == 0 && Derivative[1][f2[2, 1]][t] != 0 && 
   f2[1, 2][t] == (-1 + Derivative[1][\[Mu][1, 2]][t])/Derivative[1][f2[2, 1]][t] && f2[1, 2][t] != 0 && 
   f2[2, 1][t] == 1/f2[1, 2][t] && f2[2, 2][t] == 0 && \[Mu][1, 2][t] == 1) || 
  (Derivative[1][\[Mu][0]][t] == 0 && Derivative[1][f2[2, 2]][t] != 0 && 
   f2[1, 1][t] == (-1 - Derivative[1][\[Mu][1, 2]][t])/Derivative[1][f2[2, 2]][t] && f2[1, 2][t] == 0 && f2[2, 1][t] == 0 && 
   f2[1, 1][t] != 0 && f2[2, 2][t] == 1/f2[1, 1][t] && \[Mu][1, 2][t] == 0) || 
  (Derivative[1][\[Mu][1, 2]][t] == -1 && Derivative[1][\[Mu][0]][t] == 0 && Derivative[1][f2[2, 2]][t] == 0 && f2[1, 2][t] == 0 && 
   f2[2, 1][t] == 0 && f2[1, 1][t] != 0 && f2[2, 2][t] == 1/f2[1, 1][t] && \[Mu][1, 2][t] == 0) || 
  (Derivative[1][\[Mu][1, 2]][t] == 1 && Derivative[1][\[Mu][0]][t] == 0 && Derivative[1][f2[2, 1]][t] == 0 && f2[1, 1][t] == 0 && 
   f2[1, 2][t] != 0 && f2[2, 1][t] == 1/f2[1, 2][t] && f2[2, 2][t] == 0 && \[Mu][1, 2][t] == 1)*)

There are a lot of simplifications it can still do, once it understands that the derivative functions are not independent. How can I make mathematica completely solve this system? (note: this system has very simple solutions I can get by hand, using this as a sample example for applying to more complicated systems)

Any help will be appreciated.

Update: initial conditions added

$\endgroup$
2
  • 2
    $\begingroup$ Initial conditions are missing. $\endgroup$ Commented Nov 28, 2021 at 19:44
  • $\begingroup$ @DanielHuber adding arbitrary initial conditions gives errors $\endgroup$
    – qreus
    Commented Nov 28, 2021 at 20:00

1 Answer 1

0
$\begingroup$

The fifth equation is not coupled to any of the others, so we have that $\mu_{0}(t)=c$, a constant.

Consider the expression $\mu_{12}(1-\mu_{12})$. Use the first four equations to obtain

asmptns = {f11*f21 == 0,
           f12*f22 == 0,
           f12*f21 - μ12 == 0,
      -1 + f11*f22 + μ12 == 0};
Simplify[μ12 (1 - μ12), asmptns]   (*  0  *)

So, if the first 4 equations hold, we must have $\mu_{12}(1-\mu_{12})=0$ for all values of $t$ (in some domain). For the derivative $\dot{\mu}_{12}$ to exist, we must have have $\dot{\mu}_{12}=0$, which eliminates one derivative from the 6th equation.

That leaves four AEs, in which $\mu_{12}$ is either 0 or 1 and one DE containing derivatives of 2 functions. We can make progress by (A) picking one of the functions $f_{11}$, etc, at a time, (B) assuming it is either zero or not zero, and (C) using Reduce to see where that assumption, along with $\mu_{12}=0 \text{ or} 1$, leads. We use an abbreviated notation for the 4 functions and the 2 derivatives. We use Tuples to determine the 16 different combinations of assumptions.

eqns = Append[asmptns, f12 f21 - f11 f22 + f12 Df21 - f11 Df22 == 0];
vars = {Df21, Df22};
bsmptns = Tuples[{{μ12 == 0, μ12 == 1}, 
                  {f11 == 0, f12 == 0, f21 == 0, f22 == 0, 
                   f11 != 0, f12 != 0, f21 != 0, f22 != 0}}];

DeleteDuplicates@DeleteCases[Table[
   Reduce[Flatten[{eqns, case}], vars], {case, bsmptns}],
  False]

The result is one possible solution for $\mu_{12}=0$ and another for $\mu_{12}=1$.

(*  {  μ12 == 0 && f21 == 0 && f12 == 0 && f22 != 0 && f11 == 1/f22 && 
       Df22 == -f22, 

       μ12 == 1 && f22 == 0 && f21 != 0 && f12 == 1/f21 &&
       f11 == 0 && Df21 == -f21  }  *)
$\endgroup$
0

Not the answer you're looking for? Browse other questions tagged or ask your own question.