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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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