FLINT3.7.0-dev

sp2gz_embed, sp2gz_restrict

Synopsis#include <flint/acb_theta.h>
void sp2gz_embed(fmpz_mat_t res, const fmpz_mat_t mat)source
void sp2gz_restrict(fmpz_mat_t res, const fmpz_mat_t mat)source

sp2gz_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).