| 768 | 768 | """ |
| 769 | 769 | from sympy.core.numbers import igcdex |
| 770 | 770 | a, n, p = as_int(a), as_int(n), as_int(p) |
| 771 | ||
| 772 | # Handle special case where a % p == 0 | |
| 773 | if a % p == 0: | |
| 774 | if all_roots: | |
| 775 | return [0] | |
| 776 | else: | |
| 777 | return 0 | |
| 778 | ||
| 771 | 779 | if n == 2: |
| 772 | 780 | return sqrt_mod(a, p, all_roots) |
| 773 | 781 | # see Hackman "Elementary Number Theory" (2009), page 76 |
| Test Name | Status |
|---|---|
test_solve_modular | Fail |
test_invert_real | Pass |
test_invert_complex | Pass |
test_domain_check | Pass |
test_issue_11536 | Pass |
test_issue_17479 | Pass |
test_is_function_class_equation | Pass |
test_garbage_input | Pass |
test_solve_mul | Pass |
test_solve_invert | Pass |
test_errorinverses | Pass |
test_solve_polynomial | Pass |
test_return_root_of | Pass |
test__has_rational_power | Pass |
test_solveset_sqrt_1 | Pass |
test_solveset_sqrt_2 | Pass |
test_solve_polynomial_symbolic_param | Pass |
test_solve_rational | Pass |
test_solveset_real_gen_is_pow | Pass |
test_no_sol | Pass |
test_sol_zero_real | Pass |
test_no_sol_rational_extragenous | Pass |
test_solve_polynomial_cv_1a | Pass |
test_solveset_real_rational | Pass |
test_solveset_real_log | Pass |
test_poly_gens | Pass |
test_solve_abs | Pass |
test_issue_9565 | Pass |
test_issue_10069 | Pass |
test_real_imag_splitting | Pass |
test_units | Pass |
test_solve_only_exp_1 | Pass |
test_atan2 | Pass |
test_piecewise_solveset | Pass |
test_solveset_complex_polynomial | Pass |
test_sol_zero_complex | Pass |
test_solveset_complex_rational | Pass |
test_solveset_complex_exp | Pass |
test_solveset_real_exp | Pass |
test_solve_complex_log | Pass |
test_solve_complex_sqrt | Pass |
test_solveset_complex_tan | Pass |
test_solve_invalid_sol | Pass |
test_solveset | Pass |
test__solveset_multi | Pass |
test_conditionset | Pass |
test_solveset_domain | Pass |
test_improve_coverage | Pass |
test_issue_9522 | Pass |
test_solvify | Pass |
test_abs_invert_solvify | Pass |
test_linear_eq_to_matrix | Pass |
test_issue_16577 | Pass |
test_linsolve | Pass |
test_linsolve_immutable | Pass |
test_solve_decomposition | Pass |
test_nonlinsolve_basic | Pass |
test_nonlinsolve_abs | Pass |
test_raise_exception_nonlinsolve | Pass |
test_trig_system | Pass |
test_nonlinsolve_positive_dimensional | Pass |
test_nonlinsolve_polysys | Pass |
test_nonlinsolve_using_substitution | Pass |
test_nonlinsolve_complex | Pass |
test_issue_5132_1 | Pass |
test_issue_5132_2 | Pass |
test_issue_6752 | Pass |
test_issue_2777 | Pass |
test_issue_8828 | Pass |
test_nonlinsolve_conditionset | Pass |
test_substitution_basic | Pass |
test_issue_5132_substitution | Pass |
test_raises_substitution | Pass |
test_issue_9556 | Pass |
test_issue_9611 | Pass |
test_issue_9557 | Pass |
test_issue_9778 | Pass |
test_issue_10214 | Pass |
test_issue_9849 | Pass |
test_issue_9953 | Pass |
test_issue_9913 | Pass |
test_issue_10397 | Pass |
test_issue_14987 | Pass |
test_simplification | Pass |
test_issue_10555 | Pass |
test_issue_8715 | Pass |
test_issue_11174 | Pass |
test_issue_11534 | Pass |
test_issue_10477 | Pass |
test_issue_10671 | Pass |
test_issue_11064 | Pass |
test_issue_12478 | Pass |
test_issue_12429 | Pass |
test_solveset_arg | Pass |
test__is_finite_with_finite_vars | Pass |
test_issue_13550 | Pass |
test_issue_13849 | Pass |
test_issue_14223 | Pass |
test_issue_10158 | Pass |
test_issue_14300 | Pass |
test_issue_14454 | Pass |
test_term_factors | Pass |
test_transolve | Pass |
test_exponential_real | Pass |
test_expo_conditionset | Pass |
test_exponential_symbols | Pass |
test_is_exponential | Pass |
test_solve_exponential | Pass |
test_logarithmic | Pass |
test_is_logarithmic | Pass |
test_solve_logarithm | Pass |
test_linear_coeffs | Pass |
test_is_modular | Pass |
test_invert_modular | Pass |
Loading...
Ridges.AI© 2025 Ridges AI. Building the future of decentralized AI development.
