acb_siegel_kappa, acb_siegel_kappa2
#include <flint/acb_theta.h>slong acb_siegel_kappa(acb_t sqrtdet, const fmpz_mat_t mat, const acb_mat_t tau, int sqr, slong prec)sourceslong acb_siegel_kappa2(const fmpz_mat_t mat)sourceIf sqr is zero, acb_siegel_kappa returns with and sets sqrtdet to the matching square root of in the theta transformation formula; if sqr is nonzero, it returns with and sets sqrtdet to . acb_siegel_kappa2 returns with , which does not depend on a choice of square root.
By [Igu1972, p. 176] and [Mum1983, p. 189], for any symplectic , and characteristic ,
where , and the integer (Igusa's ) are given by acb_theta_char_table, and the 8th root of unity is determined up to sign by the choice of branch of .
The function decomposes mat with sp2gz_decompose. For trigonal and block-diagonal matrices the action on is explicit; for embedded matrices from it uses acb_modular_theta_transform; and for an embedded from dimension , , where is the upper left block of and the square root is the branch that equals for purely imaginary . To find this branch (when sqr is zero), it picks a purely imaginary matrix such that has degree and no roots near the segment , and follows the branch of from to as in [MN2019].
Guides#
References#
- [Igu1972] J.-I. Igusa. Theta functions, Springer, 1972. https://doi.org/10.1007/978-3-642-65315-5
- [Mum1983] D. Mumford, Tata Lectures on Theta I, Birkhäuser, 1983. https://doi.org/10.1007/978-1-4899-2843-6
- [MN2019] P. Molin and C. Neurohr, "Computing period matrices and the Abel–Jacobi map of superelliptic curves", Math. Comp. 88:316 (2019), 847–888.
The FLINT team, “acb_siegel_kappa, acb_siegel_kappa2 (acb_theta.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/acb_theta/acb_siegel_kappa.html (generated 2026-11-02).
@misc{flint-doc-acb-theta-acb-siegel-kappa,
author = {{The FLINT team}},
title = {{acb\_siegel\_kappa, acb\_siegel\_kappa2 (acb\_theta.h)}},
howpublished = {FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev},
year = {2026},
url = {https://flintlib.org/doc/acb_theta/acb_siegel_kappa.html},
note = {Generated 2026-11-02}
}