Integers mod n : detailed table of contents¶
- nmod.h – integers mod n (word-size n)
- Generic rings
- Modular reduction and arithmetic
nmod_init()NMOD_BITS()NMOD_CAN_USE_SHOUP()NMOD_RED2()NMOD_RED()NMOD2_RED2()NMOD_RED3()NMOD_MUL_PRENORM()NMOD_MUL_FULLWORD()NMOD_ADDMUL()_nmod_add()nmod_add()nmod_ui_add_ui()_nmod_sub()nmod_sub()nmod_neg()nmod_mul()_nmod_mul_fullword()nmod_ui_mul_ui()nmod_inv()nmod_div()nmod_divides()nmod_pow_ui()nmod_pow_fmpz()nmod_ui_pow_ui()nmod_2_pow_ui()
- Montgomery arithmetic
nmod_redc_ctx_structnmod_redc_ctx_tnmod_redc_ctx_init_nmod()nmod_redc_ctx_init_ui()nmod_redc_set_nmod()nmod_redc_set_ui()nmod_redc_get_nmod()nmod_redc_neg()nmod_redc_add()nmod_redc_sub()nmod_redc_mul()nmod_redc_can_use_fast()nmod_redc_fast_normalise()nmod_redc_fast_neg()nmod_redc_fast_add()nmod_redc_fast_sub()nmod_redc_fast_mul()nmod_redc_fast_mul_two()_nmod_redc_pow_ui()_nmod_redc_fast_pow_ui()_nmod_redc_2_pow_ui()_nmod_redc_fast_2_pow_ui()nmod_redc_half_ctx_init_nmod()nmod_redc_half_ctx_init_ui()nmod_redc_half_set_nmod()nmod_redc_half_set_ui()nmod_redc_half_get_nmod()nmod_redc_half_add()nmod_redc_half_sub()nmod_redc_half_mul()nmod_redc_half_can_use_fast()nmod_redc_half_fast_mul()nmod_redc_half_fast_add()nmod_redc_half_fast_sub()
- Discrete Logarithms via Pohlig-Hellman
- nmod_vec.h – vectors over integers mod n (word-size n)
- nmod_mat.h – matrices over integers mod n (word-size n)
- Types, macros and constants
- Memory management
- Basic properties and manipulation
- Window
- Concatenate
- Printing
- Random matrix generation
- Comparison
- Transposition and permutations
- Addition and subtraction
- Matrix-scalar arithmetic
- Matrix multiplication
nmod_mat_mul()_nmod_mat_mul_classical_op()nmod_mat_mul_classical()_nmod_mat_mul_classical_threaded_pool_op()_nmod_mat_mul_classical_threaded_op()nmod_mat_mul_classical_threaded()nmod_mat_mul_strassen()nmod_mat_mul_blas()nmod_mat_addmul()nmod_mat_submul()nmod_mat_mul_nmod_vec()nmod_mat_mul_nmod_vec_ptr()nmod_mat_nmod_vec_mul()nmod_mat_nmod_vec_mul_ptr()
- Matrix Exponentiation
- Trace
- Determinant and rank
- Inverse
- Triangular solving
- Nonsingular square solving
- LU decomposition
- Reduced row echelon form
- Nullspace
- Transforms
- Characteristic polynomial
- Minimal polynomial
- Strong echelon form and Howell form
- nmod_poly.h – univariate polynomials over integers mod n (word-size n)
- Simple example
- Types, macros and constants
- Memory management
- Polynomial properties
- Assignment and basic manipulation
- Randomization
- Construction of irreducible polynomials
- Getting and setting coefficients
- Input and output
- Comparison
- Shifting
- Addition and subtraction
- Scalar multiplication and division
- Bit packing and unpacking
- KS2/KS4 Reduction
- Multiplication
_nmod_poly_mul_classical()nmod_poly_mul_classical()_nmod_poly_mullow_classical()nmod_poly_mullow_classical()_nmod_poly_mulhigh_classical()nmod_poly_mulhigh_classical()_nmod_poly_mul_KS()nmod_poly_mul_KS()_nmod_poly_mul_KS2()nmod_poly_mul_KS2()_nmod_poly_mul_KS4()nmod_poly_mul_KS4()_nmod_poly_mullow_KS()nmod_poly_mullow_KS()_nmod_poly_mul()nmod_poly_mul()_nmod_poly_mullow()nmod_poly_mullow()_nmod_poly_mulhigh()nmod_poly_mulhigh()_nmod_poly_mullow_want_fft_small()_nmod_poly_mullow_fft_small_repack()_nmod_poly_mullow_fft_small()_nmod_poly_mulmod()nmod_poly_mulmod()_nmod_poly_mulmod_preinv()nmod_poly_mulmod_preinv()
- Preconditioned modular multiplication
- Powering
_nmod_poly_pow_binexp()nmod_poly_pow_binexp()_nmod_poly_pow()nmod_poly_pow()_nmod_poly_pow_trunc_binexp()nmod_poly_pow_trunc_binexp()_nmod_poly_pow_trunc()nmod_poly_pow_trunc()_nmod_poly_powmod_ui_binexp()nmod_poly_powmod_ui_binexp()_nmod_poly_powmod_fmpz_binexp()nmod_poly_powmod_fmpz_binexp()_nmod_poly_powmod_ui_binexp_preinv()nmod_poly_powmod_ui_binexp_preinv()_nmod_poly_powmod_fmpz_binexp_preinv()nmod_poly_powmod_fmpz_binexp_preinv()_nmod_poly_powmod_x_ui_preinv()nmod_poly_powmod_x_ui_preinv()_nmod_poly_powmod_x_fmpz_preinv()nmod_poly_powmod_x_fmpz_preinv()_nmod_poly_powers_mod_preinv_naive()nmod_poly_powers_mod_naive()_nmod_poly_powers_mod_preinv_threaded_pool()_nmod_poly_powers_mod_preinv_threaded()nmod_poly_powers_mod_bsgs()
- Division
_nmod_poly_divrem_basecase()nmod_poly_divrem_basecase()_nmod_poly_divrem()nmod_poly_divrem()_nmod_poly_div()nmod_poly_div()_nmod_poly_rem_q1()_nmod_poly_rem()nmod_poly_rem()_nmod_poly_divexact()nmod_poly_divexact()_nmod_poly_inv_series_basecase()nmod_poly_inv_series_basecase()_nmod_poly_inv_series_newton()nmod_poly_inv_series_newton()_nmod_poly_inv_series()nmod_poly_inv_series()_nmod_poly_div_series_basecase()nmod_poly_div_series_basecase()_nmod_poly_div_series()nmod_poly_div_series()_nmod_poly_div_newton_n_preinv()nmod_poly_div_newton_n_preinv()_nmod_poly_divrem_newton_n_preinv()nmod_poly_divrem_newton_n_preinv()_nmod_poly_div_root()nmod_poly_div_root()
- Divisibility testing
- Derivative and integral
- Evaluation
- Multipoint evaluation
_nmod_poly_evaluate_nmod_vec_iter()nmod_poly_evaluate_nmod_vec_iter()_nmod_poly_evaluate_nmod_vec_fast_precomp()_nmod_poly_evaluate_nmod_vec_fast()nmod_poly_evaluate_nmod_vec_fast()_nmod_poly_evaluate_nmod_vec()nmod_poly_evaluate_nmod_vec()_nmod_poly_evaluate_geometric_nmod_vec_iter()nmod_poly_evaluate_geometric_nmod_vec_iter()_nmod_poly_evaluate_geometric_nmod_vec_fast_precomp()_nmod_poly_evaluate_geometric_nmod_vec_fast()nmod_poly_evaluate_geometric_nmod_vec_fast()
- Interpolation
_nmod_poly_interpolate_nmod_vec()nmod_poly_interpolate_nmod_vec()_nmod_poly_interpolation_weights()_nmod_poly_interpolate_nmod_vec_fast_precomp()_nmod_poly_interpolate_nmod_vec_fast()nmod_poly_interpolate_nmod_vec_fast()_nmod_poly_interpolate_nmod_vec_newton()nmod_poly_interpolate_nmod_vec_newton()_nmod_poly_interpolate_nmod_vec_barycentric()nmod_poly_interpolate_nmod_vec_barycentric()_nmod_poly_interpolate_geometric_nmod_vec_fast_precomp()nmod_poly_interpolate_geometric_nmod_vec_fast_precomp()nmod_poly_interpolate_geometric_nmod_vec_fast()
- Composition
- Taylor shift
- Modular composition
_nmod_poly_compose_mod_horner()nmod_poly_compose_mod_horner()_nmod_poly_compose_mod_brent_kung()nmod_poly_compose_mod_brent_kung()_nmod_poly_compose_mod_brent_kung_preinv()nmod_poly_compose_mod_brent_kung_preinv()_nmod_poly_mod_matrix_rows_evaluate()_nmod_poly_reduce_matrix_mod_poly()_nmod_poly_precompute_matrix_worker()_nmod_poly_precompute_matrix()nmod_poly_precompute_matrix()_nmod_poly_compose_mod_brent_kung_precomp_preinv_worker()_nmod_poly_compose_mod_brent_kung_precomp_preinv()nmod_poly_compose_mod_brent_kung_precomp_preinv()_nmod_poly_compose_mod_brent_kung_vec_preinv()nmod_poly_compose_mod_brent_kung_vec_preinv()_nmod_poly_compose_mod_brent_kung_vec_preinv_threaded_pool()nmod_poly_compose_mod_brent_kung_vec_preinv_threaded_pool()nmod_poly_compose_mod_brent_kung_vec_preinv_threaded()_nmod_poly_compose_mod()nmod_poly_compose_mod()
- Greatest common divisor
_nmod_poly_gcd_euclidean()nmod_poly_gcd_euclidean()_nmod_poly_gcd_euclidean_redc_half()nmod_poly_gcd_euclidean_redc_half()_nmod_poly_hgcd()_nmod_poly_gcd_hgcd()nmod_poly_gcd_hgcd()_nmod_poly_gcd()nmod_poly_gcd()_nmod_poly_xgcd_euclidean()nmod_poly_xgcd_euclidean()_nmod_poly_xgcd_hgcd()nmod_poly_xgcd_hgcd()_nmod_poly_xgcd()nmod_poly_xgcd()_nmod_poly_resultant_euclidean()nmod_poly_resultant_euclidean()_nmod_poly_resultant_hgcd()nmod_poly_resultant_hgcd()_nmod_poly_resultant()nmod_poly_resultant()_nmod_poly_gcdinv()nmod_poly_gcdinv()_nmod_poly_invmod()nmod_poly_invmod()
- Discriminant
- Power series composition
- Power series reversion
- Square roots
- Power sums
_nmod_poly_power_sums_naive()nmod_poly_power_sums_naive()_nmod_poly_power_sums_schoenhage()nmod_poly_power_sums_schoenhage()_nmod_poly_power_sums()nmod_poly_power_sums()_nmod_poly_power_sums_to_poly_naive()nmod_poly_power_sums_to_poly_naive()_nmod_poly_power_sums_to_poly_schoenhage()nmod_poly_power_sums_to_poly_schoenhage()_nmod_poly_power_sums_to_poly()nmod_poly_power_sums_to_poly()
- Transcendental functions
_nmod_poly_log_series()nmod_poly_log_series()_nmod_poly_exp_series()_nmod_poly_exp_expinv_series()nmod_poly_exp_series()_nmod_poly_atan_series()nmod_poly_atan_series()_nmod_poly_atanh_series()nmod_poly_atanh_series()_nmod_poly_asin_series()nmod_poly_asin_series()_nmod_poly_asinh_series()nmod_poly_asinh_series()_nmod_poly_sin_series()nmod_poly_sin_series()_nmod_poly_cos_series()nmod_poly_cos_series()_nmod_poly_tan_series()nmod_poly_tan_series()_nmod_poly_sinh_series()nmod_poly_sinh_series()_nmod_poly_cosh_series()nmod_poly_cosh_series()_nmod_poly_tanh_series()nmod_poly_tanh_series()
- Special polynomials
- Products
- Subproduct trees
- Geometric progression
- Inflation and deflation
- Chinese Remaindering
- Berlekamp-Massey Algorithm
nmod_berlekamp_massey_init()nmod_berlekamp_massey_clear()nmod_berlekamp_massey_start_over()nmod_berlekamp_massey_set_prime()nmod_berlekamp_massey_add_points()nmod_berlekamp_massey_add_zeros()nmod_berlekamp_massey_add_point()nmod_berlekamp_massey_reduce()nmod_berlekamp_massey_point_count()nmod_berlekamp_massey_points()nmod_berlekamp_massey_V_poly()nmod_berlekamp_massey_R_poly()
- nmod_poly_mat.h – matrices of univariate polynomials over integers mod n (word-size n)
- Types, macros and constants
- Memory management
- Truncate, shift
- Basic properties
- Basic assignment and manipulation
- Window
- Concatenate
- Input and output
- Random matrix generation
- Special matrices
- Basic comparison and properties
- Transposition
- Norms
- Evaluation
- Arithmetic
nmod_poly_mat_scalar_mul_nmod_poly()nmod_poly_mat_scalar_mul_nmod()nmod_poly_mat_add()nmod_poly_mat_sub()nmod_poly_mat_neg()nmod_poly_mat_mul()nmod_poly_mat_mul_classical()nmod_poly_mat_mul_KS()nmod_poly_mat_mul_interpolate()nmod_poly_mat_sqr()nmod_poly_mat_sqr_classical()nmod_poly_mat_sqr_KS()nmod_poly_mat_sqr_interpolate()nmod_poly_mat_pow()
- Row reduction
- Trace
- Determinant and rank
- Inverse
- Nullspace
- Solving
- nmod_poly_factor.h – factorisation of univariate polynomials over integers mod n (word-size n)
- Types, macros and constants
- Factorisation
nmod_poly_factor_init()nmod_poly_factor_clear()nmod_poly_factor_realloc()nmod_poly_factor_fit_length()nmod_poly_factor_set()nmod_poly_factor_print()nmod_poly_factor_insert()nmod_poly_factor_concat()nmod_poly_factor_pow()nmod_poly_is_irreducible()nmod_poly_is_irreducible_ddf()nmod_poly_is_irreducible_rabin()_nmod_poly_is_squarefree()nmod_poly_is_squarefree()nmod_poly_factor_squarefree()nmod_poly_factor_equal_deg_prob()nmod_poly_factor_equal_deg()nmod_poly_factor_distinct_deg()nmod_poly_factor_distinct_deg_threaded()nmod_poly_factor_cantor_zassenhaus()nmod_poly_factor_berlekamp()nmod_poly_factor_kaltofen_shoup()nmod_poly_factor_with_berlekamp()nmod_poly_factor_with_cantor_zassenhaus()nmod_poly_factor_with_kaltofen_shoup()nmod_poly_factor()_nmod_poly_interval_poly_worker()
- nmod_mpoly.h – multivariate polynomials over integers mod n (word-size n)
- Types, macros and constants
- Context object
- Memory management
- Input/Output
- Basic manipulation
- Constants
- Degrees
- Coefficients
- Comparison
- Container operations
nmod_mpoly_term_coeff_ref()nmod_mpoly_is_canonical()nmod_mpoly_length()nmod_mpoly_resize()nmod_mpoly_get_term_coeff_ui()nmod_mpoly_set_term_coeff_ui()nmod_mpoly_term_exp_fits_si()nmod_mpoly_term_exp_fits_ui()nmod_mpoly_get_term_exp_fmpz()nmod_mpoly_get_term_exp_ui()nmod_mpoly_get_term_exp_si()nmod_mpoly_get_term_var_exp_ui()nmod_mpoly_get_term_var_exp_si()nmod_mpoly_set_term_exp_fmpz()nmod_mpoly_set_term_exp_ui()nmod_mpoly_get_term()nmod_mpoly_get_term_monomial()nmod_mpoly_push_term_ui_fmpz()nmod_mpoly_push_term_ui_ffmpz()nmod_mpoly_push_term_ui_ui()nmod_mpoly_sort_terms()nmod_mpoly_combine_like_terms()nmod_mpoly_reverse()
- Random generation
- Addition/Subtraction
- Scalar operations
- Differentiation
- Evaluation
- Multiplication
- Powering
- Division
- Greatest Common Divisor
- Square Root
- Univariate Functions
- Internal Functions
- nmod_mpoly_factor.h – factorisation of multivariate polynomials over integers mod n (word-size n)
- mpn_mod.h – integers mod n (packed multi-word n)
- Types, macros and constants
- Context objects
- Basic operations and arithmetic
mpn_mod_ctx_write()mpn_mod_ctx_clear()mpn_mod_ctx_is_field()mpn_mod_init()mpn_mod_clear()mpn_mod_swap()mpn_mod_set()mpn_mod_zero()mpn_mod_one()mpn_mod_set_ui()mpn_mod_set_si()mpn_mod_neg_one()mpn_mod_set_mpn()mpn_mod_set_fmpz()mpn_mod_set_other()mpn_mod_randtest()mpn_mod_write()mpn_mod_get_fmpz()mpn_mod_is_zero()mpn_mod_is_one()mpn_mod_is_neg_one()mpn_mod_equal()mpn_mod_neg()mpn_mod_add()mpn_mod_sub()mpn_mod_add_ui()mpn_mod_sub_ui()mpn_mod_add_si()mpn_mod_sub_si()mpn_mod_add_fmpz()mpn_mod_sub_fmpz()mpn_mod_mul()mpn_mod_mul_ui()mpn_mod_mul_si()mpn_mod_mul_fmpz()mpn_mod_addmul()mpn_mod_addmul_ui()mpn_mod_addmul_si()mpn_mod_addmul_fmpz()mpn_mod_submul()mpn_mod_submul_ui()mpn_mod_submul_si()mpn_mod_submul_fmpz()mpn_mod_fmma()mpn_mod_sqr()mpn_mod_inv()mpn_mod_div()
- Vector functions
_mpn_mod_vec_zero()_mpn_mod_vec_clear()_mpn_mod_vec_set()_mpn_mod_vec_swap()_mpn_mod_vec_neg()_mpn_mod_vec_add()_mpn_mod_vec_sub()_mpn_mod_vec_mul()_mpn_mod_vec_mul_scalar()_mpn_mod_scalar_mul_vec()_mpn_mod_vec_addmul_scalar()_mpn_mod_vec_submul_scalar()_mpn_mod_vec_dot()_mpn_mod_vec_dot_rev()
- Matrix algorithms
- Polynomial algorithms
- fmpz_mod.h – arithmetic modulo integers
- Types, macros and constants
- Context object
- Conversions
- Arithmetic
fmpz_mod_is_canonical()fmpz_mod_is_one()fmpz_mod_add()fmpz_mod_add_fmpz()fmpz_mod_add_ui()fmpz_mod_add_si()fmpz_mod_sub()fmpz_mod_sub_fmpz()fmpz_mod_sub_ui()fmpz_mod_sub_si()fmpz_mod_fmpz_sub()fmpz_mod_ui_sub()fmpz_mod_si_sub()fmpz_mod_neg()fmpz_mod_mul()fmpz_mod_inv()fmpz_mod_divides()fmpz_mod_pow_ui()fmpz_mod_pow_fmpz()
- Discrete Logarithms via Pohlig-Hellman
- fmpz_mod_vec.h – vectors over integers mod n
- fmpz_mod_mat.h – matrices over integers mod n
- Types, macros and constants
- Element access
- Memory management
- Random generation
- Windows and concatenation
- Input and output
- Comparison
- Set and transpose
- Conversions
- Addition and subtraction
- Scalar arithmetic
- Matrix multiplication
fmpz_mod_mat_mul()_fmpz_mod_mat_mul_classical_threaded_pool_op()_fmpz_mod_mat_mul_classical_threaded_op()fmpz_mod_mat_mul_classical_threaded()fmpz_mod_mat_sqr()fmpz_mod_mat_pow_ui()fmpz_mod_mat_mul_fmpz_vec()fmpz_mod_mat_mul_fmpz_vec_ptr()fmpz_mod_mat_fmpz_vec_mul()fmpz_mod_mat_fmpz_vec_mul_ptr()
- Trace
- Gaussian elimination
- Strong echelon form and Howell form
- Inverse
- LU decomposition
- Triangular solving
- Solving
- Transforms
- Characteristic polynomial
- Minimal polynomial
- fmpz_mod_poly.h – polynomials over integers mod n
- Simple example
- Types, macros and constants
- Memory management
- Randomisation
fmpz_mod_poly_randtest()fmpz_mod_poly_randtest_irreducible()fmpz_mod_poly_randtest_not_zero()fmpz_mod_poly_randtest_monic()fmpz_mod_poly_randtest_monic_irreducible()fmpz_mod_poly_randtest_monic_primitive()fmpz_mod_poly_randtest_trinomial()fmpz_mod_poly_randtest_trinomial_irreducible()fmpz_mod_poly_randtest_pentomial()fmpz_mod_poly_randtest_pentomial_irreducible()fmpz_mod_poly_randtest_sparse_irreducible()
- Attributes
- Assignment and basic manipulation
- Conversion
- Comparison
- Getting and setting coefficients
- Shifting
- Addition and subtraction
- Scalar multiplication and division
- Multiplication
- Products
_fmpz_mod_poly_product_roots_fmpz_vec()fmpz_mod_poly_product_roots_fmpz_vec()fmpz_mod_poly_find_distinct_nonzero_roots()_fmpz_mod_poly_pow()fmpz_mod_poly_pow()_fmpz_mod_poly_pow_trunc()fmpz_mod_poly_pow_trunc()_fmpz_mod_poly_pow_trunc_binexp()fmpz_mod_poly_pow_trunc_binexp()_fmpz_mod_poly_powmod_ui_binexp()fmpz_mod_poly_powmod_ui_binexp()_fmpz_mod_poly_powmod_ui_binexp_preinv()fmpz_mod_poly_powmod_ui_binexp_preinv()_fmpz_mod_poly_powmod_fmpz_binexp()fmpz_mod_poly_powmod_fmpz_binexp()_fmpz_mod_poly_powmod_fmpz_binexp_preinv()fmpz_mod_poly_powmod_fmpz_binexp_preinv()_fmpz_mod_poly_powmod_x_fmpz_preinv()fmpz_mod_poly_powmod_x_fmpz_preinv()_fmpz_mod_poly_powers_mod_preinv_naive()fmpz_mod_poly_powers_mod_naive()_fmpz_mod_poly_powers_mod_preinv_threaded_pool()fmpz_mod_poly_powers_mod_bsgs()fmpz_mod_poly_frobenius_powers_2exp_precomp()fmpz_mod_poly_frobenius_powers_2exp_clear()fmpz_mod_poly_frobenius_power()fmpz_mod_poly_frobenius_powers_precomp()fmpz_mod_poly_frobenius_powers_clear()
- Division
_fmpz_mod_poly_divrem_basecase()fmpz_mod_poly_divrem_basecase()_fmpz_mod_poly_divrem_newton_n_preinv()fmpz_mod_poly_divrem_newton_n_preinv()_fmpz_mod_poly_div_newton_n_preinv()fmpz_mod_poly_div_newton_n_preinv()fmpz_mod_poly_remove()_fmpz_mod_poly_rem_basecase()fmpz_mod_poly_rem_basecase()_fmpz_mod_poly_div()fmpz_mod_poly_div()_fmpz_mod_poly_divrem()fmpz_mod_poly_divrem()fmpz_mod_poly_divrem_f()_fmpz_mod_poly_rem()fmpz_mod_poly_rem_f()fmpz_mod_poly_rem()
- Divisibility testing
- Power series inversion
- Power series division
- Greatest common divisor
fmpz_mod_poly_make_monic()fmpz_mod_poly_make_monic_f()_fmpz_mod_poly_gcd()fmpz_mod_poly_gcd()_fmpz_mod_poly_gcd_euclidean_f()fmpz_mod_poly_gcd_euclidean_f()_fmpz_mod_poly_gcd_f()fmpz_mod_poly_gcd_f()_fmpz_mod_poly_hgcd()_fmpz_mod_poly_xgcd_euclidean_f()fmpz_mod_poly_xgcd_euclidean_f()_fmpz_mod_poly_xgcd()fmpz_mod_poly_xgcd()fmpz_mod_poly_xgcd_f()_fmpz_mod_poly_gcdinv_euclidean()fmpz_mod_poly_gcdinv_euclidean()_fmpz_mod_poly_gcdinv_euclidean_f()fmpz_mod_poly_gcdinv_euclidean_f()_fmpz_mod_poly_gcdinv()_fmpz_mod_poly_gcdinv_f()fmpz_mod_poly_gcdinv()fmpz_mod_poly_gcdinv_f()_fmpz_mod_poly_invmod()_fmpz_mod_poly_invmod_f()fmpz_mod_poly_invmod()fmpz_mod_poly_invmod_f()
- Minpoly
- Resultant
- Discriminant
- Derivative
- Evaluation
- Multipoint evaluation
- Composition
- Square roots
- Modular composition
_fmpz_mod_poly_compose_mod()fmpz_mod_poly_compose_mod()_fmpz_mod_poly_compose_mod_horner()fmpz_mod_poly_compose_mod_horner()_fmpz_mod_poly_compose_mod_brent_kung()fmpz_mod_poly_compose_mod_brent_kung()_fmpz_mod_poly_reduce_matrix_mod_poly()_fmpz_mod_poly_precompute_matrix_worker()_fmpz_mod_poly_precompute_matrix()fmpz_mod_poly_precompute_matrix()_fmpz_mod_poly_compose_mod_brent_kung_precomp_preinv_worker()_fmpz_mod_poly_compose_mod_brent_kung_precomp_preinv()fmpz_mod_poly_compose_mod_brent_kung_precomp_preinv()_fmpz_mod_poly_compose_mod_brent_kung_preinv()fmpz_mod_poly_compose_mod_brent_kung_preinv()_fmpz_mod_poly_compose_mod_brent_kung_vec_preinv()fmpz_mod_poly_compose_mod_brent_kung_vec_preinv()_fmpz_mod_poly_compose_mod_brent_kung_vec_preinv_threaded_pool()fmpz_mod_poly_compose_mod_brent_kung_vec_preinv_threaded_pool()fmpz_mod_poly_compose_mod_brent_kung_vec_preinv_threaded()
- Subproduct trees
- Radix conversion
- Input and output
- Inflation and deflation
- Berlekamp-Massey Algorithm
fmpz_mod_berlekamp_massey_init()fmpz_mod_berlekamp_massey_clear()fmpz_mod_berlekamp_massey_start_over()fmpz_mod_berlekamp_massey_add_points()fmpz_mod_berlekamp_massey_add_zeros()fmpz_mod_berlekamp_massey_add_point()fmpz_mod_berlekamp_massey_reduce()fmpz_mod_berlekamp_massey_point_count()fmpz_mod_berlekamp_massey_points()fmpz_mod_berlekamp_massey_V_poly()fmpz_mod_berlekamp_massey_R_poly()
- fmpz_mod_poly_factor.h – factorisation of polynomials over integers mod n
- Types, macros and constants
- Factorisation
fmpz_mod_poly_factor_init()fmpz_mod_poly_factor_clear()fmpz_mod_poly_factor_realloc()fmpz_mod_poly_factor_fit_length()fmpz_mod_poly_factor_set()fmpz_mod_poly_factor_print()fmpz_mod_poly_factor_insert()fmpz_mod_poly_factor_concat()fmpz_mod_poly_factor_pow()fmpz_mod_poly_is_irreducible()fmpz_mod_poly_is_irreducible_ddf()fmpz_mod_poly_is_irreducible_rabin()fmpz_mod_poly_is_irreducible_rabin_f()_fmpz_mod_poly_is_squarefree()_fmpz_mod_poly_is_squarefree_f()fmpz_mod_poly_is_squarefree()fmpz_mod_poly_is_squarefree_f()fmpz_mod_poly_factor_equal_deg_prob()fmpz_mod_poly_factor_equal_deg()fmpz_mod_poly_factor_distinct_deg()fmpz_mod_poly_factor_distinct_deg_threaded()fmpz_mod_poly_factor_squarefree()fmpz_mod_poly_factor()fmpz_mod_poly_factor_cantor_zassenhaus()fmpz_mod_poly_factor_kaltofen_shoup()fmpz_mod_poly_factor_berlekamp()_fmpz_mod_poly_interval_poly_worker()
- Root Finding
- fmpz_mod_mpoly.h – polynomials over the integers mod n
- Types, macros and constants
- Context object
- Memory management
- Input/Output
- Basic manipulation
- Constants
- Degrees
- Coefficients
fmpz_mod_mpoly_get_coeff_fmpz_monomial()fmpz_mod_mpoly_set_coeff_fmpz_monomial()fmpz_mod_mpoly_get_coeff_fmpz_fmpz()fmpz_mod_mpoly_get_coeff_fmpz_ui()fmpz_mod_mpoly_set_coeff_fmpz_fmpz()fmpz_mod_mpoly_set_coeff_ui_fmpz()fmpz_mod_mpoly_set_coeff_si_fmpz()fmpz_mod_mpoly_set_coeff_fmpz_ui()fmpz_mod_mpoly_set_coeff_ui_ui()fmpz_mod_mpoly_set_coeff_si_ui()fmpz_mod_mpoly_get_coeff_vars_ui()
- Comparison
- Container operations
fmpz_mod_mpoly_is_canonical()fmpz_mod_mpoly_length()fmpz_mod_mpoly_resize()fmpz_mod_mpoly_get_term_coeff_fmpz()fmpz_mod_mpoly_set_term_coeff_fmpz()fmpz_mod_mpoly_set_term_coeff_ui()fmpz_mod_mpoly_set_term_coeff_si()fmpz_mod_mpoly_term_exp_fits_si()fmpz_mod_mpoly_term_exp_fits_ui()fmpz_mod_mpoly_get_term_exp_fmpz()fmpz_mod_mpoly_get_term_exp_ui()fmpz_mod_mpoly_get_term_exp_si()fmpz_mod_mpoly_get_term_var_exp_ui()fmpz_mod_mpoly_get_term_var_exp_si()fmpz_mod_mpoly_set_term_exp_fmpz()fmpz_mod_mpoly_set_term_exp_ui()fmpz_mod_mpoly_get_term()fmpz_mod_mpoly_get_term_monomial()fmpz_mod_mpoly_push_term_fmpz_fmpz()fmpz_mod_mpoly_push_term_fmpz_ffmpz()fmpz_mod_mpoly_push_term_ui_fmpz()fmpz_mod_mpoly_push_term_ui_ffmpz()fmpz_mod_mpoly_push_term_si_fmpz()fmpz_mod_mpoly_push_term_si_ffmpz()fmpz_mod_mpoly_push_term_fmpz_ui()fmpz_mod_mpoly_push_term_ui_ui()fmpz_mod_mpoly_push_term_si_ui()fmpz_mod_mpoly_sort_terms()fmpz_mod_mpoly_combine_like_terms()fmpz_mod_mpoly_reverse()
- Random generation
- Addition/Subtraction
- Scalar operations
- Differentiation
- Evaluation
- Multiplication
- Powering
- Division
- Greatest Common Divisor
fmpz_mod_mpoly_term_content()fmpz_mod_mpoly_content_vars()fmpz_mod_mpoly_gcd()fmpz_mod_mpoly_gcd_cofactors()fmpz_mod_mpoly_gcd_brown()fmpz_mod_mpoly_gcd_hensel()fmpz_mod_mpoly_gcd_subresultant()fmpz_mod_mpoly_gcd_zippel()fmpz_mod_mpoly_gcd_zippel2()fmpz_mod_mpoly_resultant()fmpz_mod_mpoly_discriminant()
- Square Root
- Univariate Functions
fmpz_mod_mpoly_univar_init()fmpz_mod_mpoly_univar_clear()fmpz_mod_mpoly_univar_swap()fmpz_mod_mpoly_to_univar()fmpz_mod_mpoly_from_univar()fmpz_mod_mpoly_univar_degree_fits_si()fmpz_mod_mpoly_univar_length()fmpz_mod_mpoly_univar_get_term_exp_si()fmpz_mod_mpoly_univar_get_term_coeff()fmpz_mod_mpoly_univar_swap_term_coeff()fmpz_mod_mpoly_univar_set_coeff_ui()fmpz_mod_mpoly_univar_resultant()fmpz_mod_mpoly_univar_discriminant()
- Vectors
fmpz_mod_mpoly_vec_structfmpz_mod_mpoly_vec_tfmpz_mod_mpoly_vec_entry()fmpz_mod_mpoly_vec_init()fmpz_mod_mpoly_vec_clear()fmpz_mod_mpoly_vec_print()fmpz_mod_mpoly_vec_swap()fmpz_mod_mpoly_vec_fit_length()fmpz_mod_mpoly_vec_set()fmpz_mod_mpoly_vec_append()fmpz_mod_mpoly_vec_insert_unique()fmpz_mod_mpoly_vec_set_length()fmpz_mod_mpoly_vec_randtest_not_zero()
- Ideals and Gröbner bases
- Converting to/from other polynomial types
- Internal Functions
- fmpz_mod_mpoly_factor.h – factorisation of multivariate polynomials over the integers mod n
- fmpz_mod_mpoly_q.h – multivariate rational functions over Z/mZ
- Types and macros
- Memory management
- Assignment
- Canonicalisation
- Properties
- Special values
- Input and output
- Random generation
- Comparisons
- Arithmetic
fmpz_mod_mpoly_q_neg()fmpz_mod_mpoly_q_add()fmpz_mod_mpoly_q_add_fmpq()fmpz_mod_mpoly_q_add_fmpz()fmpz_mod_mpoly_q_add_fmpz_mod()fmpz_mod_mpoly_q_add_si()fmpz_mod_mpoly_q_sub()fmpz_mod_mpoly_q_sub_fmpq()fmpz_mod_mpoly_q_sub_fmpz()fmpz_mod_mpoly_q_sub_fmpz_mod()fmpz_mod_mpoly_q_sub_si()fmpz_mod_mpoly_q_mul()fmpz_mod_mpoly_q_mul_fmpq()fmpz_mod_mpoly_q_mul_fmpz()fmpz_mod_mpoly_q_mul_fmpz_mod()fmpz_mod_mpoly_q_mul_si()fmpz_mod_mpoly_q_div()fmpz_mod_mpoly_q_div_fmpq()fmpz_mod_mpoly_q_div_fmpz()fmpz_mod_mpoly_q_div_si()fmpz_mod_mpoly_q_inv()