sp2gz_embed, sp2gz_restrict
Synopsis
#include <flint/acb_theta.h>void sp2gz_embed(fmpz_mat_t res, const fmpz_mat_t mat)sourcevoid sp2gz_restrict(fmpz_mat_t res, const fmpz_mat_t mat)sourcesp2gz_embed sets the 2g \times 2g matrix res to the embedding of the 2r \times 2r symplectic matrix mat (r \le g) acting on the first r coordinates: \begin{pmatrix} \alpha & 0 & \beta & 0 \\ 0 & I_{g-r} & 0 & 0 \\ \gamma & 0 & \delta & 0 \\ 0 & 0 & 0 & I_{g-r} \end{pmatrix}. sp2gz_restrict sets the 2r \times 2r matrix res to the matrix whose r \times r blocks are the upper left corners of the blocks of mat; the result need not be symplectic.
Cite this page
The FLINT team, “sp2gz_embed, sp2gz_restrict (acb_theta.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/acb_theta/sp2gz_embed.html (generated 2026-10-20).
@misc{flint-doc-acb-theta-sp2gz-embed,
author = {{The FLINT team}},
title = {{sp2gz\_embed, sp2gz\_restrict (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/sp2gz_embed.html},
note = {Generated 2026-10-20}
}