メモ

A:matrix([0,0,0,-(L+2*M),0],[0,0,0,-L,0],[0,0,0,0,-M],[-1/P,0,0,0,0],[0,0,-1/P,0,0]);
B:matrix([0,0,0,0,-L],[0,0,0,0,-(L+2*M)],[0,0,0,-M,0],[0,0,-1/P,0,0],[0,-1/P,0,0,0]);
C:A*cos(x)+B*sin(x);
[vals,vecs]:trigsimp(eigenvectors(C));
vals;
                M        M          2 M + L        2 M + L
(%o) [[- sqrt(-), sqrt(-), - sqrt(-------), sqrt(-------), 0], 
                P        P             P              P
                                                               [1, 1, 1, 1, 1]]
a2:-vecs[1][1]*cos(x)*sin(x)*M*2;
a4:-vecs[2][1]*cos(x)*sin(x)*M*2;
a1:trigsimp(vecs[3][1]*(2*cos(x)^2*M+L));
a5:trigsimp(vecs[4][1]*(2*cos(x)^2*M+L));
a3:ratsubst(-cos(x)^2,cos(x)^2*sin(x)^2/(cos(x)^2-1),vecs[5][1]*sin(x)^2);
R:transpose(matrix(a1,a2,a3,a4,a5));
load("diag");
D:diag([-sqrt(L+2*M)/sqrt(P),-sqrt(M)/sqrt(P),0,sqrt(M)/sqrt(P),sqrt(L+2*M)/sqrt(P)]);
Dm:diag([-sqrt(L+2*M)/sqrt(P),-sqrt(M)/sqrt(P),0,0,0]);
Dp:diag([0,0,0,sqrt(M)/sqrt(P),sqrt(L+2*M)/sqrt(P)]);
fullratsimp(trigsimp(R^^(-1).C.R),M);
fullratsimp(trigsimp(R.D.R^^(-1)),M);
Cp:fullratsimp(trigsimp(R.Dp.R^^(-1)),M);
Cm:fullratsimp(trigsimp(R.Dm.R^^(-1)),M);
load(f90)
f90(Cp);
f90(Cm);