Problems with DSolve[] funtion

I'm trying to solve a differential equation but Mathematica doesn't do it. Can you Help me please? Why doesn't Mathematica do it? this is my code

DSolve[{M'[t] == -(a + I b) M[t] - I o Exp[-I b t] Z[t]
, P'[t] == -(a - I b) M[t] + I o Exp[I b t] Z[t],
Z'[t] == -2 a Z[t] + 2 I o Exp[-I b t] P[t] -
2 I O Exp[I b t] M[t]}, {M[t], P[t], Z[t]}, t]


but Mathematica doesn't do it

Im following this book and the equation and its solution

• O is a built-in symbol. Don't use it. Aug 3, 2016 at 16:51
• Do you have reason to believe that this set of differential equations admits an analytic solution? Otherwise, specify numerical parameters and use NDSolve. Aug 3, 2016 at 17:49
• I'm following a book and in this the system is solved Aug 3, 2016 at 19:24
• I change the symbol O by o but nothing Aug 3, 2016 at 21:05
• Which book is the system solved in? Aug 4, 2016 at 10:54

While I don't know why mathematica won't solve the eqn. system as it is, mathematica does solve it if you make a change of variables. You can change the eqns into a first order linear systems of ODE using M(t)=Exp[-I b t] m(t) and P(t)=Exp[I b t] p(t)
DSolve[{m'[t] - I b m[t] == -(a + I b) m[t] - I o Z[t],

works. Also I think your second eqn has a mistake, M(t) should be P(t).