FLINT3.7.0-dev

acb_dirichlet_gauss_sum, acb_dirichlet_gauss_sum_naive, acb_dirichlet_gauss_sum_factor, acb_dirichlet_gauss_sum_order2, acb_dirichlet_gauss_sum_theta

Synopsis#include <flint/acb_dirichlet.h>
void acb_dirichlet_gauss_sum(acb_t res, const dirichlet_group_t G, const dirichlet_char_t chi, slong prec)source
void acb_dirichlet_gauss_sum_naive(acb_t res, const dirichlet_group_t G, const dirichlet_char_t chi, slong prec)source
void acb_dirichlet_gauss_sum_factor(acb_t res, const dirichlet_group_t G, const dirichlet_char_t chi, slong prec)source
void acb_dirichlet_gauss_sum_order2(acb_t res, const dirichlet_group_t G, const dirichlet_char_t chi, slong prec)source
void acb_dirichlet_gauss_sum_theta(acb_t res, const dirichlet_group_t G, const dirichlet_char_t chi, slong prec)source

Set res to the Gauss sum G_q(\chi) = \sum_{x \bmod q} \chi(x) e^{2\pi i x/q}. The naive version sums the definition; factor writes the sum as a product of local Gauss sums by the Chinese remainder theorem; order2 assumes that \chi is real and primitive and returns i^\delta \sqrt{q}; theta assumes that \chi is primitive and obtains the sum from the functional equation of the theta series at t = 1. The default version reduces an imprimitive character to the primitive one inducing it and then chooses among the methods.

For an imprimitive \chi modulo q induced by \chi_0 of conductor q_0, G_q(\chi) = \mu(q/q_0) \chi_0(q/q_0) G_{q_0}(\chi_0).

The theta method fails when the theta series vanishes at t = 1. Only four characters are known with this property, \chi_{300}(71, \cdot), \chi_{300}(131, \cdot), \chi_{600}(11, \cdot) and \chi_{600}(491, \cdot), and none with prime power modulus; acb_dirichlet_gauss_sum_theta throws an exception for them and for imprimitive characters.

Cite this page

The FLINT team, “acb_dirichlet_gauss_sum, acb_dirichlet_gauss_sum_naive, acb_dirichlet_gauss_sum_factor, acb_dirichlet_gauss_sum_order2, acb_dirichlet_gauss_sum_theta (acb_dirichlet.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/acb_dirichlet/acb_dirichlet_gauss_sum.html (generated 2026-10-20).