FLINT3.7.0-dev

_qadic_log, _qadic_log_rectangular, _qadic_log_balanced

Synopsis#include <flint/qadic.h>
void _qadic_log(fmpz * z, const fmpz * y, slong v, slong len, const fmpz * a, const slong * j, slong lena, const fmpz_t p, slong N, const fmpz_t pN)source
void _qadic_log_rectangular(fmpz * z, const fmpz * y, slong v, slong len, const fmpz * a, const slong * j, slong lena, const fmpz_t p, slong N, const fmpz_t pN)source
void _qadic_log_balanced(fmpz * z, const fmpz * y, slong len, const fmpz * a, const slong * j, slong lena, const fmpz_t p, slong N, const fmpz_t pN)source

Set (z, d) to

log⁡(1−y)=−∑i=1∞yii mod pN\log(1 - y) = -\sum_{i = 1}^{\infty} \frac{y^i}{i} \bmod p^N

for a nonzero yy reduced modulo pNp^N, of valuation vv with 1≤v<N1 \le v < N. The array zz must have space for 2d−12d - 1 coefficients. _qadic_log_rectangular allows aliasing between yy and zz, _qadic_log_balanced does not. _qadic_log uses rectangular splitting for N<1024/bN < 1024/b, where bb is the bit length of pp, and the balanced algorithm otherwise.

Cite this page

The FLINT team, “_qadic_log, _qadic_log_rectangular, _qadic_log_balanced (qadic.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/qadic/_qadic_log.html (generated 2026-11-02).