fmpz_lucas_chain_double, fmpz_lucas_chain_add, fmpz_lucas_chain_mul
Synopsis
#include <flint/fmpz.h>void fmpz_lucas_chain_double(fmpz_t U2m, fmpz_t U2m1, const fmpz_t Um, const fmpz_t Um1, const fmpz_t A, const fmpz_t B, const fmpz_t n)sourcevoid fmpz_lucas_chain_add(fmpz_t Umn, fmpz_t Umn1, const fmpz_t Um, const fmpz_t Um1, const fmpz_t Un, const fmpz_t Un1, const fmpz_t A, const fmpz_t B, const fmpz_t n)sourcevoid fmpz_lucas_chain_mul(fmpz_t Ukm, fmpz_t Ukm1, const fmpz_t Um, const fmpz_t Um1, const fmpz_t A, const fmpz_t B, const fmpz_t k, const fmpz_t n)sourceFor the Lucas sequence U_0 = 0, U_1 = 1, U_j = A U_{j-1} - B U_{j-2} modulo n: given U_m, U_{m+1} (and U_n, U_{n+1}), compute U_{2m}, U_{2m+1}, respectively U_{m+n}, U_{m+n+1}, respectively U_{km}, U_{km+1}. Each output may alias the corresponding input (U_{2m} with U_m, and so on); no other aliasing is allowed.
Cite this page
The FLINT team, “fmpz_lucas_chain_double, fmpz_lucas_chain_add, fmpz_lucas_chain_mul (fmpz.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/fmpz/fmpz_lucas_chain_double.html (generated 2026-10-20).
@misc{flint-doc-fmpz-fmpz-lucas-chain-double,
author = {{The FLINT team}},
title = {{fmpz\_lucas\_chain\_double, fmpz\_lucas\_chain\_add, fmpz\_lucas\_chain\_mul (fmpz.h)}},
howpublished = {FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev},
year = {2026},
url = {https://flintlib.org/doc/fmpz/fmpz_lucas_chain_double.html},
note = {Generated 2026-10-20}
}