The appropriate function for symbolic representation of complex functions and numbers is ComplexExpand, e.g.
ComplexExpand @ Table[(-1)^(k/3), {k, 3}]
{1/2 + (I Sqrt[3])/2, -(1/2) + (I Sqrt[3])/2, -1}
For this specific task ExpToTrig yields the expected result, but for more general cases I recommend using ComplexExpand instead of ExpToTrig, for F (defined in the question) it yields the same :
ComplexExpand @ Eigenvalues @ F == ExpToTrig @ Eigenvalues @ F
True
Consider for example this matrix :
m = Array[GCD, {3, 3}];
it yields eigenvalues of m in terms of Root objects, to get the result in terms of radicals one could add this option Cubics->True to Eigenvalues, Eigensystem etc. (this answer would be helpful as well).
Let's compare how ExpToTrig and ComplexExpand deal with Eigenvalues in this case :
ExpToTrig @ Eigenvalues[ m, Cubics -> True] // TraditionalForm

Therefore we can't even be sure that the eigenvalues are real numbers until we don't evaluate e.g. :
# ∈ Reals & /@ Eigenvalues[ m]
{True, True, True}
we can see that ExpToTrig is not really helpful here, unlike ComplexExpand yielding symbolic eigenvalues, manifestly real:
ComplexExpand @ Eigenvalues[ m, Cubics -> True] // TraditionalForm

N@Eigenvalues@F. – rm -rf♦ Nov 16 '12 at 7:11F-Transpose[F]you will find out that your matrix is not symmetric so its eigenvalues need not be real. And indeed they are not. – chris Nov 16 '12 at 7:29N @ Eigenvalues @ Fis the same asN[ Eigenvalues[ F ] ]and the same asF // Eigenvalues // N. So these are the three ways of using functions on some arguments. – au700 Nov 16 '12 at 7:36