doubt about conjugate



I don't know if this is the right place for this mail, so first off
all excuse me if it isn't. When computing the unit eigenvectors for
the matrix (depending on the real non-negative parameter c)

declare(c, real); assume (c>=0);
Ap : matrix(
           [0,1,0],
           [0,0,1],
           [-c,-1,0]);

appears the conjugate of the expresion

exp : ( sqrt(3)*sqrt(27*c^2+4)-9*c )^1/3;

conjugate(exp); /* --> conjugate( ( sqrt(3)*sqrt(27*c^2+4)-9*c )^1/3 )

I would like to know if the conjugate is not computed because of the
three possible third roots (1 real and 2 complex) of the expression.
It is possible to get Maxima or the conjugate function to take into
account only the real solutions of a root, to make conjugate(exp) to
return the expression unchanged?

I would be interested in how the conjugate function is implemented, to
examine it, learn and maybe do some suggestions. I found the
conjugate.lisp file under /src, but the function definition is not
there (or probably I didn't understand how the function works).

Thanks!

-- 
Joan Pau Beltran