The motivation of the question is that I try to test when a real number is not an cyclotomic integers. Or more specifically, when a positive real number is not a quantum dimension of a unitary fusion category?


We know that when $1\leq d<2$, $d$ is not a quantum dimension of a unitary fusion category if $d \neq 2\cos(\pi/n), \ n=3,4,5,\cdots$


One possible answer is an efficient algorithm to find an approximation of a number in terms of a cyclotomic integer. Just like there is an efficient algorithm to find an approximation of a real number in terms of a rational number.



What are the necessary conditions for a real number to be a cyclotomic integers？
I suspect you might be looking for the following fact:



> 
> If $x$ is a cyclotomic integer, and $p$ a prime does not divide the discriminant, then the minimal polynomial of $x$ factors modulo $p$ into irreducible components *all of the same degree*.
> 
> 
> 


See for example Theorem 4.6 in [**Elementary and analytic theory of algebraic numbers**](http://www.ams.org/mathscinet-getitem?mr=2078267) by Władysław Narkiewicz.


In practice, this very effectively detects algebraic integers which are not cyclotomic, as used for example in Algorithm 3.6 of *David Penneys and James E. Tener*, [**Subfactors of index less than 5, Part 4: Vines**](http://dx.doi.org/10.1142/S0129167X11007641), *Internat. J. Math.* **23** (2012), no. 3, 1250017, 18.


