FLINT3.7.0-dev

_fmpz_poly_cos_minpoly, fmpz_poly_cos_minpoly

Synopsis#include <flint/fmpz_poly.h>
void _fmpz_poly_cos_minpoly(fmpz * f, ulong n)source
void fmpz_poly_cos_minpoly(fmpz_poly_t f, ulong n)source

Set f to the minimal polynomial of 2 \cos(2\pi/n), which is monic with integer coefficients [WaktinsZeitlin1993]; substituting x \to 2x gives the minimal polynomial of \cos(2\pi/n) up to a constant. Its degree is \varphi(n)/2 for n > 2 and 1 for n = 1, 2; for n = 0 the result is defined to be 1. Suitable n give the minimal polynomials of 2 \cos(a\pi) and 2 \sin(a\pi) for all rational a.

References#

  • [WaktinsZeitlin1993] Watkins, W. and Zeitlin, J. : The minimal polynomial of \cos(2\pi/n) The American Mathematical Monthly 100:5 (1993) 471–474
Cite this page

The FLINT team, “_fmpz_poly_cos_minpoly, fmpz_poly_cos_minpoly (fmpz_poly.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/fmpz_poly/_fmpz_poly_cos_minpoly.html (generated 2026-10-20).