assume(alpha>0, g_xx>0, f>0, m>0);

A : matrix(
    [0, 0, f*alpha/g_xx^(3/2), -f*alpha*m, 0],
    [0, 0, 2*alpha*g_xx^(3/2), 0, 0],
    [alpha*sqrt(g_xx), 0, 0, 0, -2*alpha*sqrt(g_xx)],
    [0, 0, 0, 0, -alpha / g_xx],
    [0, 0, 0, -alpha, 0]
);

A . transpose(matrix([v1,v2,v3,v4,v5]));

load("eigen");

results : eigenvectors(A);

lambdas : matrix(
    [results[1][1][1],0,0,0,0],
    [0,results[1][1][3],0,0,0],
    [0,0,results[1][1][5],0,0],
    [0,0,0,results[1][1][4],0],
    [0,0,0,0,results[1][1][2]]
);

transpose(matrix(
        results[2][1][1]*f,
        results[2][3][1]*f*(m-2),
        results[2][5][1],
        results[2][4][1]*f*(m-2),
        results[2][2][1]*f))$
ratsimp(%)$
evR : %;

evR . transpose(matrix([v1,v2,v3,v4,v5]))$ ratsimp(%);

evL : ratsimp(invert(evR));

evL . transpose(matrix([v1,v2,v3,v4,v5]));

evR . lambdas . evL - A$ ratsimp(%);