gr_ctx_init_gr_poly_transformed_repr
#include <flint/gr.h>int gr_ctx_init_gr_poly_transformed_repr(gr_ctx_t ctx, gr_ctx_t base, slong len_bound, slong terms_bound, const gr_transformed_poly_workload_struct * workload)sourceConstructs a ring of transformed polynomials over base admitting lengths up to len_bound and up to terms_bound accumulated elementary products per element, for the estimated workload (which may be NULL, though implementations then usually judge the switch unprofitable). Returns GR_UNABLE if the base ring provides no transformed representation (the method GR_METHOD_CTX_INIT_TRANSFORMED_POLY_REPR, implemented for nmod and mpn_mod base rings) or judges the switch unprofitable.
Conversions are performed by the SET_GR_POLY, GET_GR_POLY and GET_GR_POLY_WINDOW methods of the constructed context; the window variant writes the coefficients [z_l, z_h) of the represented polynomial, with zeros beyond its length. _gr_get_gr_poly_destructive converts out through the GET_GR_POLY_DESTRUCTIVE method where the representation provides it: the inverse transforms then run on the element's own storage, skipping a transform-sized copy, and the element may only be cleared or fully overwritten afterwards; representations without the method fall back to the copying conversion.
The FLINT team, “gr_ctx_init_gr_poly_transformed_repr (gr.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/gr/gr_ctx_init_gr_poly_transformed_repr.html (generated 2026-10-20).
@misc{flint-doc-gr-gr-ctx-init-gr-poly-transformed-repr,
author = {{The FLINT team}},
title = {{gr\_ctx\_init\_gr\_poly\_transformed\_repr (gr.h)}},
howpublished = {FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev},
year = {2026},
url = {https://flintlib.org/doc/gr/gr_ctx_init_gr_poly_transformed_repr.html},
note = {Generated 2026-10-20}
}