I am having 16 coupled equations that I try to solve using DSolve
.
However, when running my notebook, the Kernel keeps running for over 30 mins, so there might be an error somewhere. I know that there is an analytic solution to the set of equations, and I also know that I can't solve them by hand. I checked the equations for typos for multiple hours and I really think that there is no typo in there anymore.
What I tried:
- Specified that my input parameters are real
- Solved the coupled equations without the imaginary part, which gives the solution I am looking for.
- If I add the imaginary part, something goes wrong.
Maybe someone here immediately sees an error!
$Assumptions = \[Omega] \[Element] Reals && a \[Element] Reals
eqns = {r11'[t] == -1/2*a*(2*r11[t] - r22[t] - r33[t]),
r22'[t] == -1/2*a*(2*r22[t] - r11[t] - r44[t]),
r33'[t] == -1/2*a*(2*r33[t] - r44[t] - r11[t]),
r44'[t] == -1/2*a*(2*r44[t] - r33[t] - r22[t]),
r12'[t] ==
I*\[Omega]*r12[t] - 1/2*a*(2*r12[t] - r21[t] - r34[t]),
r13'[t] ==
I*\[Omega]*r13[t] - 1/2*a*(2*r13[t] - r24[t] - r31[t]),
r14'[t] ==
2*I*\[Omega]*r14[t] - 1/2*a*(2*r14[t] - r23[t] - r32[t]),
r21'[t] == -I*\[Omega]*r21[t] -
1/2*a*(2*r21[t] - r12[t] - r43[t]),
r23'[t] == -1/2*a*(2*r23[t] - r41[t] - r14[t]),
r24'[t] ==
I*\[Omega]*r24[t] - 1/2*a*(2*r24[t] - r13[t] - r42[t]),
r31'[t] == -I*\[Omega]*r31[t] -
1/2*a*(2*r31[t] - r42[t] - r13[t]),
r32'[t] == 1/2*a*(2*r32[t] - r41[t] - r14[t]),
r34'[t] ==
I*\[Omega]*r34[t] - 1/2*a*(2*r34[t] - r43[t] - r12[t]),
r41'[t] == -2*I*\[Omega]*r41[t] -
1/2*a*(2*r41[t] - r32[t] - r23[t]),
r42'[t] == -I*\[Omega]*r42[t] -
1/2*a*(2*r42[t] - r31[t] - r24[t]),
r43'[t] == -I*\[Omega]*r43[t] -
1/2*a*(2*r43[t] - r34[t] - r21[t]),
r11[0] == 0, r22[0] == 1/2, r33[0] == 1/2, r44[0] == 0,
r12[0] == 0, r13[0] == 0, r14[0] == 0, r21[0] == 0, r23[0] == 1/2,
r24[0] == 0, r31[0] == 0, r32[0] == 1/2, r34[0] == 0, r41[0] == 0,
r42[0] == 0, r43[0] == 0};
sol = DSolve[
eqns, {r11, r12, r13, r14, r22, r33, r44, r21, r23, r24, r31, r32,
r34, r41, r42, r43}, t]
```
\[Omega]
anda
to certain numbers (say, both are1
), thenDSolve
andNDSolve
work well. $\endgroup$