acb_dirichlet_gauss_sum, acb_dirichlet_gauss_sum_naive, acb_dirichlet_gauss_sum_factor, acb_dirichlet_gauss_sum_order2, acb_dirichlet_gauss_sum_theta
#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)sourcevoid acb_dirichlet_gauss_sum_naive(acb_t res, const dirichlet_group_t G, const dirichlet_char_t chi, slong prec)sourcevoid acb_dirichlet_gauss_sum_factor(acb_t res, const dirichlet_group_t G, const dirichlet_char_t chi, slong prec)sourcevoid acb_dirichlet_gauss_sum_order2(acb_t res, const dirichlet_group_t G, const dirichlet_char_t chi, slong prec)sourcevoid acb_dirichlet_gauss_sum_theta(acb_t res, const dirichlet_group_t G, const dirichlet_char_t chi, slong prec)sourceSet 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.
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).
@misc{flint-doc-acb-dirichlet-acb-dirichlet-gauss-sum,
author = {{The FLINT team}},
title = {{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)}},
howpublished = {FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev},
year = {2026},
url = {https://flintlib.org/doc/acb_dirichlet/acb_dirichlet_gauss_sum.html},
note = {Generated 2026-10-20}
}