passagemath-modules 10.5.32__cp310-cp310-macosx_14_0_arm64.whl → 10.6.20__cp310-cp310-macosx_14_0_arm64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of passagemath-modules might be problematic. Click here for more details.

Files changed (334) hide show
  1. {passagemath_modules-10.5.32.dist-info → passagemath_modules-10.6.20.dist-info}/METADATA +51 -46
  2. {passagemath_modules-10.5.32.dist-info → passagemath_modules-10.6.20.dist-info}/RECORD +333 -323
  3. {passagemath_modules-10.5.32.dist-info → passagemath_modules-10.6.20.dist-info}/WHEEL +1 -1
  4. passagemath_modules.dylibs/libgcc_s.1.1.dylib +0 -0
  5. passagemath_modules.dylibs/libgfortran.5.dylib +0 -0
  6. passagemath_modules.dylibs/libgsl.28.dylib +0 -0
  7. passagemath_modules.dylibs/libmpc.3.dylib +0 -0
  8. passagemath_modules.dylibs/libopenblasp-r0.3.29.dylib +0 -0
  9. passagemath_modules.dylibs/libquadmath.0.dylib +0 -0
  10. sage/algebras/clifford_algebra.py +2 -2
  11. sage/algebras/clifford_algebra_element.cpython-310-darwin.so +0 -0
  12. sage/algebras/clifford_algebra_element.pyx +4 -2
  13. sage/algebras/exterior_algebra_groebner.cpython-310-darwin.so +0 -0
  14. sage/algebras/exterior_algebra_groebner.pyx +2 -0
  15. sage/algebras/finite_dimensional_algebras/finite_dimensional_algebra.py +83 -5
  16. sage/algebras/finite_dimensional_algebras/finite_dimensional_algebra_element.cpython-310-darwin.so +0 -0
  17. sage/algebras/finite_dimensional_algebras/finite_dimensional_algebra_element.pxd +2 -0
  18. sage/algebras/finite_dimensional_algebras/finite_dimensional_algebra_element.pyx +28 -3
  19. sage/algebras/finite_gca.py +1 -1
  20. sage/algebras/lie_algebras/bgg_dual_module.py +18 -11
  21. sage/algebras/lie_algebras/classical_lie_algebra.py +3 -3
  22. sage/algebras/lie_algebras/examples.py +2 -2
  23. sage/algebras/lie_algebras/free_lie_algebra.py +1 -1
  24. sage/algebras/lie_algebras/heisenberg.py +4 -4
  25. sage/algebras/lie_algebras/lie_algebra.py +1 -1
  26. sage/algebras/lie_algebras/lie_algebra_element.cpython-310-darwin.so +0 -0
  27. sage/algebras/lie_algebras/lie_algebra_element.pyx +65 -28
  28. sage/algebras/lie_algebras/quotient.py +40 -29
  29. sage/algebras/lie_algebras/subalgebra.py +76 -53
  30. sage/algebras/lie_algebras/verma_module.py +1 -3
  31. sage/algebras/octonion_algebra.cpython-310-darwin.so +0 -0
  32. sage/algebras/octonion_algebra.pyx +1 -1
  33. sage/algebras/orlik_solomon.py +4 -4
  34. sage/algebras/orlik_terao.py +4 -4
  35. sage/algebras/steenrod/steenrod_algebra.py +37 -30
  36. sage/algebras/steenrod/steenrod_algebra_bases.py +2 -2
  37. sage/algebras/steenrod/steenrod_algebra_misc.py +4 -4
  38. sage/algebras/steenrod/steenrod_algebra_mult.py +2 -2
  39. sage/all__sagemath_modules.py +1 -0
  40. sage/calculus/integration.cpython-310-darwin.so +0 -0
  41. sage/calculus/integration.pyx +6 -5
  42. sage/calculus/interpolation.cpython-310-darwin.so +0 -0
  43. sage/calculus/interpolators.cpython-310-darwin.so +0 -0
  44. sage/calculus/ode.cpython-310-darwin.so +0 -0
  45. sage/calculus/ode.pxd +2 -2
  46. sage/calculus/ode.pyx +6 -4
  47. sage/calculus/riemann.cpython-310-darwin.so +0 -0
  48. sage/calculus/riemann.pyx +68 -48
  49. sage/calculus/transforms/dwt.cpython-310-darwin.so +0 -0
  50. sage/calculus/transforms/fft.cpython-310-darwin.so +0 -0
  51. sage/coding/ag_code_decoders.cpython-310-darwin.so +0 -0
  52. sage/coding/ag_code_decoders.pyx +31 -31
  53. sage/coding/binary_code.cpython-310-darwin.so +0 -0
  54. sage/coding/binary_code.pxd +6 -6
  55. sage/coding/binary_code.pyx +212 -173
  56. sage/coding/guruswami_sudan/utils.py +3 -5
  57. sage/coding/kasami_codes.cpython-310-darwin.so +0 -0
  58. sage/coding/kasami_codes.pyx +20 -24
  59. sage/coding/linear_code.py +2 -2
  60. sage/coding/linear_code_no_metric.py +5 -5
  61. sage/coding/linear_rank_metric.py +81 -19
  62. sage/combinat/cartesian_product.py +1 -1
  63. sage/combinat/free_module.py +22 -2
  64. sage/combinat/root_system/all.py +1 -1
  65. sage/combinat/root_system/ambient_space.py +1 -1
  66. sage/combinat/root_system/associahedron.py +4 -4
  67. sage/combinat/root_system/braid_move_calculator.py +2 -2
  68. sage/combinat/root_system/braid_orbit.cpython-310-darwin.so +0 -0
  69. sage/combinat/root_system/braid_orbit.pyx +1 -1
  70. sage/combinat/root_system/branching_rules.py +3 -3
  71. sage/combinat/root_system/cartan_type.py +14 -14
  72. sage/combinat/root_system/coxeter_group.py +3 -3
  73. sage/combinat/root_system/coxeter_matrix.py +1 -1
  74. sage/combinat/root_system/coxeter_type.py +12 -1
  75. sage/combinat/root_system/extended_affine_weyl_group.py +9 -9
  76. sage/combinat/root_system/fundamental_group.py +3 -5
  77. sage/combinat/root_system/hecke_algebra_representation.py +1 -1
  78. sage/combinat/root_system/integrable_representations.py +1 -1
  79. sage/combinat/root_system/pieri_factors.py +3 -3
  80. sage/combinat/root_system/root_lattice_realization_algebras.py +1 -1
  81. sage/combinat/root_system/root_lattice_realizations.py +1 -1
  82. sage/combinat/root_system/type_folded.py +3 -3
  83. sage/combinat/root_system/type_reducible.py +8 -7
  84. sage/combinat/root_system/type_super_A.py +2 -2
  85. sage/combinat/root_system/weight_lattice_realizations.py +9 -8
  86. sage/combinat/root_system/weyl_characters.py +2 -2
  87. sage/crypto/__init__.py +1 -0
  88. sage/crypto/block_cipher/des.py +1 -1
  89. sage/crypto/block_cipher/miniaes.py +3 -3
  90. sage/crypto/block_cipher/present.py +3 -3
  91. sage/crypto/block_cipher/sdes.py +3 -3
  92. sage/crypto/boolean_function.cpython-310-darwin.so +0 -0
  93. sage/crypto/boolean_function.pyx +22 -23
  94. sage/crypto/key_exchange/diffie_hellman.py +4 -9
  95. sage/crypto/mq/sr.py +1 -1
  96. sage/crypto/public_key/blum_goldwasser.py +3 -3
  97. sage/crypto/sbox.cpython-310-darwin.so +0 -0
  98. sage/crypto/sbox.pyx +1 -1
  99. sage/crypto/sboxes.py +22 -0
  100. sage/crypto/util.py +4 -6
  101. sage/ext/interpreters/__init__.py +1 -1
  102. sage/ext/interpreters/all__sagemath_modules.py +1 -1
  103. sage/ext/interpreters/wrapper_cc.cpython-310-darwin.so +0 -0
  104. sage/ext/interpreters/wrapper_cc.pxd +5 -5
  105. sage/ext/interpreters/wrapper_cc.pyx +1 -1
  106. sage/ext/interpreters/wrapper_cdf.cpython-310-darwin.so +0 -0
  107. sage/ext/interpreters/wrapper_cdf.pxd +5 -7
  108. sage/ext/interpreters/wrapper_cdf.pyx +4 -10
  109. sage/ext/interpreters/wrapper_rdf.cpython-310-darwin.so +0 -0
  110. sage/ext/interpreters/wrapper_rdf.pxd +1 -1
  111. sage/ext/interpreters/wrapper_rdf.pyx +1 -1
  112. sage/ext/interpreters/wrapper_rr.cpython-310-darwin.so +0 -0
  113. sage/ext/interpreters/wrapper_rr.pxd +5 -5
  114. sage/ext/interpreters/wrapper_rr.pyx +1 -2
  115. sage/geometry/toric_lattice.py +3 -3
  116. sage/geometry/toric_lattice_element.cpython-310-darwin.so +0 -0
  117. sage/groups/additive_abelian/additive_abelian_group.py +1 -1
  118. sage/groups/additive_abelian/qmodnz.py +4 -4
  119. sage/groups/matrix_gps/coxeter_group.py +17 -4
  120. sage/groups/matrix_gps/group_element.cpython-310-darwin.so +0 -0
  121. sage/groups/misc_gps/argument_groups.py +2 -2
  122. sage/groups/misc_gps/imaginary_groups.py +4 -4
  123. sage/groups/perm_gps/partn_ref/refinement_binary.cpython-310-darwin.so +0 -0
  124. sage/groups/perm_gps/partn_ref/refinement_matrices.cpython-310-darwin.so +0 -0
  125. sage/homology/chain_complex.py +0 -2
  126. sage/homology/hochschild_complex.py +3 -3
  127. sage/homology/homology_morphism.py +6 -6
  128. sage/homology/homology_vector_space_with_basis.py +1 -1
  129. sage/libs/gsl/array.cpython-310-darwin.so +0 -0
  130. sage/libs/mpmath/utils.cpython-310-darwin.so +0 -0
  131. sage/matrix/action.cpython-310-darwin.so +0 -0
  132. sage/matrix/args.cpython-310-darwin.so +0 -0
  133. sage/matrix/args.pyx +25 -10
  134. sage/matrix/benchmark.py +8 -4
  135. sage/matrix/compute_J_ideal.py +2 -2
  136. sage/matrix/constructor.cpython-310-darwin.so +0 -0
  137. sage/matrix/echelon_matrix.cpython-310-darwin.so +0 -0
  138. sage/matrix/echelon_matrix.pyx +1 -1
  139. sage/matrix/matrix0.cpython-310-darwin.so +0 -0
  140. sage/matrix/matrix0.pxd +3 -3
  141. sage/matrix/matrix0.pyx +7 -5
  142. sage/matrix/matrix1.cpython-310-darwin.so +0 -0
  143. sage/matrix/matrix1.pyx +87 -48
  144. sage/matrix/matrix2.cpython-310-darwin.so +0 -0
  145. sage/matrix/matrix2.pxd +3 -3
  146. sage/matrix/matrix2.pyx +1261 -63
  147. sage/matrix/matrix_cdv.cpython-310-darwin.so +0 -0
  148. sage/matrix/matrix_complex_double_dense.cpython-310-darwin.so +0 -0
  149. sage/matrix/matrix_complex_double_dense.pyx +1 -1
  150. sage/matrix/matrix_dense.cpython-310-darwin.so +0 -0
  151. sage/matrix/matrix_dense.pyx +2 -3
  152. sage/matrix/matrix_double_dense.cpython-310-darwin.so +0 -0
  153. sage/matrix/matrix_double_dense.pyx +11 -5
  154. sage/matrix/matrix_double_sparse.cpython-310-darwin.so +0 -0
  155. sage/matrix/matrix_generic_dense.cpython-310-darwin.so +0 -0
  156. sage/matrix/matrix_generic_sparse.cpython-310-darwin.so +0 -0
  157. sage/matrix/matrix_generic_sparse.pyx +1 -1
  158. sage/matrix/matrix_laurent_mpolynomial_dense.cpython-310-darwin.so +0 -0
  159. sage/matrix/matrix_numpy_dense.cpython-310-darwin.so +0 -0
  160. sage/matrix/matrix_numpy_integer_dense.cpython-310-darwin.so +0 -0
  161. sage/matrix/matrix_polynomial_dense.cpython-310-darwin.so +0 -0
  162. sage/matrix/matrix_polynomial_dense.pyx +952 -261
  163. sage/matrix/matrix_real_double_dense.cpython-310-darwin.so +0 -0
  164. sage/matrix/matrix_sparse.cpython-310-darwin.so +0 -0
  165. sage/matrix/matrix_sparse.pyx +6 -7
  166. sage/matrix/matrix_window.cpython-310-darwin.so +0 -0
  167. sage/matrix/matrix_window.pyx +2 -2
  168. sage/matrix/misc_mpfr.cpython-310-darwin.so +0 -0
  169. sage/matrix/operation_table.py +0 -2
  170. sage/matrix/special.py +5 -1
  171. sage/matrix/strassen.cpython-310-darwin.so +0 -0
  172. sage/matrix/strassen.pyx +1 -1
  173. sage/matroids/basis_exchange_matroid.cpython-310-darwin.so +0 -0
  174. sage/matroids/basis_matroid.cpython-310-darwin.so +0 -0
  175. sage/matroids/chow_ring.py +68 -65
  176. sage/matroids/chow_ring_ideal.py +41 -38
  177. sage/matroids/circuit_closures_matroid.cpython-310-darwin.so +0 -0
  178. sage/matroids/circuits_matroid.cpython-310-darwin.so +0 -0
  179. sage/matroids/database_matroids.py +16 -5
  180. sage/matroids/dual_matroid.py +2 -2
  181. sage/matroids/extension.cpython-310-darwin.so +0 -0
  182. sage/matroids/flats_matroid.cpython-310-darwin.so +0 -0
  183. sage/matroids/gammoid.py +1 -1
  184. sage/matroids/graphic_matroid.cpython-310-darwin.so +0 -0
  185. sage/matroids/graphic_matroid.pyx +3 -3
  186. sage/matroids/lean_matrix.cpython-310-darwin.so +0 -0
  187. sage/matroids/lean_matrix.pyx +22 -22
  188. sage/matroids/linear_matroid.cpython-310-darwin.so +0 -0
  189. sage/matroids/linear_matroid.pyx +13 -13
  190. sage/matroids/matroid.cpython-310-darwin.so +0 -0
  191. sage/matroids/matroid.pyx +15 -15
  192. sage/matroids/matroids_plot_helpers.py +48 -46
  193. sage/matroids/minor_matroid.py +2 -2
  194. sage/matroids/set_system.cpython-310-darwin.so +0 -0
  195. sage/matroids/transversal_matroid.cpython-310-darwin.so +0 -0
  196. sage/matroids/transversal_matroid.pyx +3 -3
  197. sage/matroids/union_matroid.cpython-310-darwin.so +0 -0
  198. sage/matroids/union_matroid.pyx +3 -0
  199. sage/matroids/unpickling.cpython-310-darwin.so +0 -0
  200. sage/matroids/utilities.py +2 -2
  201. sage/misc/c3.cpython-310-darwin.so +0 -0
  202. sage/misc/compat.py +1 -2
  203. sage/misc/pickle_old.cpython-310-darwin.so +0 -0
  204. sage/modules/diamond_cutting.py +117 -30
  205. sage/modules/fg_pid/fgp_module.py +3 -3
  206. sage/modules/filtered_vector_space.py +4 -4
  207. sage/modules/finite_submodule_iter.cpython-310-darwin.so +0 -0
  208. sage/modules/fp_graded/free_module.py +2 -2
  209. sage/modules/fp_graded/module.py +2 -2
  210. sage/modules/fp_graded/morphism.py +4 -4
  211. sage/modules/fp_graded/steenrod/morphism.py +1 -1
  212. sage/modules/free_module.py +162 -26
  213. sage/modules/free_module_element.cpython-310-darwin.so +0 -0
  214. sage/modules/free_module_element.pyx +4 -4
  215. sage/modules/free_module_integer.py +2 -2
  216. sage/modules/free_module_morphism.py +3 -3
  217. sage/modules/free_module_pseudohomspace.py +352 -0
  218. sage/modules/free_module_pseudomorphism.py +578 -0
  219. sage/modules/free_quadratic_module_integer_symmetric.py +24 -13
  220. sage/modules/matrix_morphism.py +9 -9
  221. sage/modules/multi_filtered_vector_space.py +4 -4
  222. sage/modules/ore_module.py +2208 -0
  223. sage/modules/ore_module_element.py +178 -0
  224. sage/modules/ore_module_homspace.py +147 -0
  225. sage/modules/ore_module_morphism.py +968 -0
  226. sage/modules/quotient_module.py +11 -1
  227. sage/modules/submodule.py +1 -1
  228. sage/modules/torsion_quadratic_module.py +1 -1
  229. sage/modules/vector_complex_double_dense.cpython-310-darwin.so +0 -0
  230. sage/modules/vector_double_dense.cpython-310-darwin.so +0 -0
  231. sage/modules/vector_integer_dense.cpython-310-darwin.so +0 -0
  232. sage/modules/vector_integer_sparse.cpython-310-darwin.so +0 -0
  233. sage/modules/vector_integer_sparse.pyx +4 -4
  234. sage/modules/vector_modn_dense.cpython-310-darwin.so +0 -0
  235. sage/modules/vector_modn_sparse.cpython-310-darwin.so +0 -0
  236. sage/modules/vector_numpy_dense.cpython-310-darwin.so +0 -0
  237. sage/modules/vector_numpy_integer_dense.cpython-310-darwin.so +0 -0
  238. sage/modules/vector_rational_dense.cpython-310-darwin.so +0 -0
  239. sage/modules/vector_rational_dense.pyx +1 -1
  240. sage/modules/vector_rational_sparse.cpython-310-darwin.so +0 -0
  241. sage/modules/vector_rational_sparse.pyx +5 -5
  242. sage/modules/vector_real_double_dense.cpython-310-darwin.so +0 -0
  243. sage/modules/vector_space_morphism.py +2 -2
  244. sage/modules/with_basis/cell_module.py +17 -0
  245. sage/modules/with_basis/indexed_element.cpython-310-darwin.so +0 -0
  246. sage/modules/with_basis/indexed_element.pyx +1 -1
  247. sage/modules/with_basis/invariant.py +1 -1
  248. sage/modules/with_basis/representation.py +0 -1
  249. sage/modules/with_basis/subquotient.py +2 -2
  250. sage/numerical/gauss_legendre.cpython-310-darwin.so +0 -0
  251. sage/probability/probability_distribution.cpython-310-darwin.so +0 -0
  252. sage/quadratic_forms/binary_qf.py +11 -11
  253. sage/quadratic_forms/bqf_class_group.py +26 -92
  254. sage/quadratic_forms/count_local_2.cpython-310-darwin.so +0 -0
  255. sage/quadratic_forms/extras.py +1 -1
  256. sage/quadratic_forms/quadratic_form.py +5 -4
  257. sage/quadratic_forms/quadratic_form__equivalence_testing.py +7 -4
  258. sage/quadratic_forms/quadratic_form__evaluate.cpython-310-darwin.so +0 -0
  259. sage/quadratic_forms/quadratic_form__local_field_invariants.py +10 -10
  260. sage/quadratic_forms/quadratic_form__ternary_Tornaria.py +2 -2
  261. sage/quadratic_forms/ternary.cpython-310-darwin.so +0 -0
  262. sage/quadratic_forms/ternary_qf.py +50 -83
  263. sage/rings/cfinite_sequence.py +16 -17
  264. sage/rings/complex_conversion.cpython-310-darwin.so +0 -0
  265. sage/rings/complex_double.cpython-310-darwin.so +0 -0
  266. sage/rings/complex_double.pxd +1 -0
  267. sage/rings/complex_double.pyx +37 -32
  268. sage/rings/complex_mpc.cpython-310-darwin.so +0 -0
  269. sage/rings/complex_mpc.pyx +27 -23
  270. sage/rings/complex_mpfr.cpython-310-darwin.so +0 -0
  271. sage/rings/complex_mpfr.pyx +11 -11
  272. sage/rings/function_field/drinfeld_modules/charzero_drinfeld_module.py +277 -21
  273. sage/rings/function_field/drinfeld_modules/drinfeld_module.py +10 -1
  274. sage/rings/function_field/drinfeld_modules/finite_drinfeld_module.py +1 -1
  275. sage/rings/function_field/drinfeld_modules/homset.py +1 -2
  276. sage/rings/function_field/drinfeld_modules/morphism.py +2 -2
  277. sage/rings/function_field/hermite_form_polynomial.cpython-310-darwin.so +0 -0
  278. sage/rings/function_field/khuri_makdisi.cpython-310-darwin.so +0 -0
  279. sage/rings/function_field/khuri_makdisi.pyx +27 -25
  280. sage/rings/invariants/invariant_theory.py +61 -60
  281. sage/rings/invariants/reconstruction.py +8 -8
  282. sage/rings/polynomial/laurent_polynomial_mpair.cpython-310-darwin.so +0 -0
  283. sage/rings/polynomial/ore_function_element.py +1 -1
  284. sage/rings/polynomial/ore_polynomial_element.cpython-310-darwin.so +0 -0
  285. sage/rings/polynomial/ore_polynomial_element.pyx +8 -8
  286. sage/rings/polynomial/ore_polynomial_ring.py +134 -17
  287. sage/rings/polynomial/polynomial_real_mpfr_dense.cpython-310-darwin.so +0 -0
  288. sage/rings/polynomial/skew_polynomial_element.cpython-310-darwin.so +0 -0
  289. sage/rings/polynomial/skew_polynomial_finite_field.cpython-310-darwin.so +0 -0
  290. sage/rings/polynomial/skew_polynomial_finite_field.pyx +3 -4
  291. sage/rings/polynomial/skew_polynomial_finite_order.cpython-310-darwin.so +0 -0
  292. sage/rings/polynomial/skew_polynomial_finite_order.pyx +2 -5
  293. sage/rings/real_double_element_gsl.cpython-310-darwin.so +0 -0
  294. sage/rings/real_mpfr.cpython-310-darwin.so +0 -0
  295. sage/rings/real_mpfr.pyx +25 -7
  296. sage/rings/ring_extension.cpython-310-darwin.so +0 -0
  297. sage/rings/ring_extension.pyx +4 -2
  298. sage/rings/ring_extension_conversion.cpython-310-darwin.so +0 -0
  299. sage/rings/ring_extension_element.cpython-310-darwin.so +0 -0
  300. sage/rings/ring_extension_element.pyx +42 -0
  301. sage/rings/ring_extension_morphism.cpython-310-darwin.so +0 -0
  302. sage/schemes/all__sagemath_modules.py +1 -0
  303. sage/schemes/projective/all__sagemath_modules.py +1 -0
  304. sage/schemes/projective/coherent_sheaf.py +300 -0
  305. sage/schemes/projective/cohomology.py +510 -0
  306. sage/stats/basic_stats.py +17 -15
  307. sage/stats/distributions/dgs_misc.h +11 -4
  308. sage/stats/distributions/discrete_gaussian_integer.cpython-310-darwin.so +0 -0
  309. sage/stats/distributions/discrete_gaussian_integer.pyx +9 -7
  310. sage/stats/hmm/chmm.cpython-310-darwin.so +0 -0
  311. sage/stats/hmm/chmm.pyx +13 -13
  312. sage/stats/hmm/distributions.cpython-310-darwin.so +0 -0
  313. sage/stats/hmm/distributions.pxd +3 -3
  314. sage/stats/hmm/distributions.pyx +3 -3
  315. sage/stats/hmm/hmm.cpython-310-darwin.so +0 -0
  316. sage/stats/hmm/hmm.pxd +3 -3
  317. sage/stats/hmm/hmm.pyx +6 -6
  318. sage/stats/hmm/util.cpython-310-darwin.so +0 -0
  319. sage/stats/hmm/util.pyx +6 -6
  320. sage/stats/intlist.cpython-310-darwin.so +0 -0
  321. sage/stats/intlist.pxd +3 -3
  322. sage/stats/time_series.cpython-310-darwin.so +0 -0
  323. sage/tensor/modules/alternating_contr_tensor.py +3 -3
  324. sage/tensor/modules/comp.py +3 -3
  325. sage/tensor/modules/ext_pow_free_module.py +3 -3
  326. sage/tensor/modules/format_utilities.py +3 -3
  327. sage/tensor/modules/free_module_linear_group.py +3 -3
  328. sage/tensor/modules/free_module_morphism.py +0 -1
  329. sage/tensor/modules/tensor_free_module.py +3 -3
  330. sage/tensor/modules/tensor_free_submodule.py +1 -1
  331. sage/tensor/modules/tensor_free_submodule_basis.py +1 -1
  332. sage/tensor/modules/tensor_with_indices.py +5 -5
  333. passagemath_modules.dylibs/libopenblas_armv8p-r0.3.28.dylib +0 -0
  334. {passagemath_modules-10.5.32.dist-info → passagemath_modules-10.6.20.dist-info}/top_level.txt +0 -0
@@ -414,7 +414,7 @@ def normalize_profile(profile, precision=None, truncation_type='auto', p=2, gene
414
414
  sage: normalize_profile(lambda n: 3, precision=4, truncation_type=0)
415
415
  Traceback (most recent call last):
416
416
  ...
417
- ValueError: Invalid profile
417
+ ValueError: invalid profile
418
418
  sage: normalize_profile(lambda n: 3, precision=4, truncation_type = Infinity)
419
419
  ((3, 3, 3), +Infinity)
420
420
 
@@ -458,7 +458,7 @@ def normalize_profile(profile, precision=None, truncation_type='auto', p=2, gene
458
458
  sage: normalize_profile([[0,0,0], [1,2,3,2,1]], p=11)
459
459
  Traceback (most recent call last):
460
460
  ...
461
- ValueError: Invalid profile
461
+ ValueError: invalid profile
462
462
  """
463
463
  from sage.rings.infinity import Infinity
464
464
  if truncation_type == 'zero':
@@ -501,7 +501,7 @@ def normalize_profile(profile, precision=None, truncation_type='auto', p=2, gene
501
501
  if is_valid_profile(new_profile, truncation_type, p):
502
502
  return new_profile, truncation_type
503
503
  else:
504
- raise ValueError("Invalid profile")
504
+ raise ValueError("invalid profile")
505
505
  else: # p odd
506
506
  if profile is None or profile == Infinity:
507
507
  # no specified profile or infinite profile: return profile
@@ -561,7 +561,7 @@ def normalize_profile(profile, precision=None, truncation_type='auto', p=2, gene
561
561
  if is_valid_profile(new_profile, truncation_type, p, generic=True):
562
562
  return new_profile, truncation_type
563
563
  else:
564
- raise ValueError("Invalid profile")
564
+ raise ValueError("invalid profile")
565
565
 
566
566
  ######################################################
567
567
  # string representations for elements
@@ -195,10 +195,10 @@ squares or `p`-th power operations and Bocksteins into a dictionary
195
195
  representing a sum of admissible monomials.
196
196
  """
197
197
 
198
- #*****************************************************************************
198
+ # ****************************************************************************
199
199
  # Copyright (C) 2008-2010 John H. Palmieri <palmieri@math.washington.edu>
200
200
  # Distributed under the terms of the GNU General Public License (GPL)
201
- #*****************************************************************************
201
+ # ****************************************************************************
202
202
 
203
203
  from sage.misc.cachefunc import cached_function
204
204
 
@@ -1,4 +1,5 @@
1
1
  # sage_setup: distribution = sagemath-modules
2
+ # delvewheel: patch
2
3
  r"""
3
4
  Top level of the distribution package sagemath-modules
4
5
 
@@ -74,7 +74,7 @@ cdef double c_f(double t, void *params) noexcept:
74
74
 
75
75
  def numerical_integral(func, a, b=None,
76
76
  algorithm='qag',
77
- max_points=87, params=[], eps_abs=1e-6,
77
+ max_points=87, params=None, eps_abs=1e-6,
78
78
  eps_rel=1e-6, rule=6):
79
79
  r"""
80
80
  Return the numerical integral of the function on the interval
@@ -268,8 +268,6 @@ def numerical_integral(func, a, b=None,
268
268
  """
269
269
  cdef double abs_err # step size
270
270
  cdef double result
271
- cdef int i
272
- cdef int j
273
271
  cdef double _a, _b
274
272
  cdef PyFunctionWrapper wrapper # struct to pass information into GSL C function
275
273
 
@@ -289,6 +287,9 @@ def numerical_integral(func, a, b=None,
289
287
  cdef gsl_integration_workspace* W
290
288
  W = NULL
291
289
 
290
+ if params is None:
291
+ params = []
292
+
292
293
  if True:
293
294
  from sage.rings.infinity import Infinity
294
295
  try:
@@ -620,7 +621,7 @@ def monte_carlo_integral(func, xl, xu, size_t calls, algorithm='plain',
620
621
  if len(vars) < target_dim:
621
622
  raise ValueError(("The function to be integrated depends on "
622
623
  "{} variables {}, and so cannot be "
623
- "integrated in {} dimensions. Please fix "
624
+ "integrated in {} dimensions. Please fix "
624
625
  "additional variables with the 'params' "
625
626
  "argument").format(len(vars), tuple(vars),
626
627
  target_dim))
@@ -629,7 +630,7 @@ def monte_carlo_integral(func, xl, xu, size_t calls, algorithm='plain',
629
630
  "{} variables {}, and so cannot be "
630
631
  "integrated in {} dimensions. Please add "
631
632
  "more items in upper and lower limits"
632
- ).format(len(vars), tuple(vars), target_dim))
633
+ ).format(len(vars), tuple(vars), target_dim))
633
634
 
634
635
  from sage.structure.element import Expression
635
636
  if isinstance(func, Expression):
Binary file
sage/calculus/ode.pxd CHANGED
@@ -1,5 +1,5 @@
1
1
  # sage_setup: distribution = sagemath-modules
2
2
  cdef class ode_system:
3
- cdef int c_j(self, double , double *, double *, double *) noexcept
3
+ cdef int c_j(self, double , double *, double *, double *) noexcept
4
4
 
5
- cdef int c_f(self, double t, double* , double* ) noexcept
5
+ cdef int c_f(self, double t, double* , double*) noexcept
sage/calculus/ode.pyx CHANGED
@@ -343,7 +343,9 @@ class ode_solver():
343
343
  sage: with NamedTemporaryFile(suffix='.png') as f:
344
344
  ....: T.plot_solution(i=0, filename=f.name)
345
345
  """
346
- def __init__(self, function=None, jacobian=None, h=1e-2, error_abs=1e-10, error_rel=1e-10, a=False, a_dydt=False, scale_abs=False, algorithm='rkf45', y_0=None, t_span=None, params=[]):
346
+ def __init__(self, function=None, jacobian=None, h=1e-2, error_abs=1e-10,
347
+ error_rel=1e-10, a=False, a_dydt=False, scale_abs=False,
348
+ algorithm='rkf45', y_0=None, t_span=None, params=None):
347
349
  self.function = function
348
350
  self.jacobian = jacobian
349
351
  self.h = h
@@ -355,7 +357,7 @@ class ode_solver():
355
357
  self.algorithm = algorithm
356
358
  self.y_0 = y_0
357
359
  self.t_span = t_span
358
- self.params = params
360
+ self.params = [] if params is None else params
359
361
  self.solution = []
360
362
 
361
363
  def __setattr__(self, name, value):
@@ -408,7 +410,7 @@ class ode_solver():
408
410
  else:
409
411
  G.save(filename=filename)
410
412
 
411
- def ode_solve(self, t_span=False, y_0=False, num_points=False, params=[]):
413
+ def ode_solve(self, t_span=False, y_0=False, num_points=False, params=None):
412
414
  cdef double h # step size
413
415
  h = self.h
414
416
  cdef int i
@@ -416,7 +418,7 @@ class ode_solver():
416
418
  cdef int type
417
419
  cdef int dim
418
420
  cdef PyFunctionWrapper wrapper # struct to pass information into GSL C function
419
- self.params = params
421
+ self.params = [] if params is None else params
420
422
 
421
423
  if t_span:
422
424
  self.t_span = t_span
Binary file
sage/calculus/riemann.pyx CHANGED
@@ -52,7 +52,7 @@ from math import pi
52
52
  from math import sin
53
53
  from math import cos
54
54
 
55
- from math import log # used for complex plot lightness
55
+ from math import log # used for complex plot lightness
56
56
  from math import atan
57
57
 
58
58
  from cmath import exp
@@ -202,7 +202,7 @@ cdef class Riemann_Map:
202
202
  cdef exterior
203
203
 
204
204
  def __init__(self, fs, fprimes, COMPLEX_T a, int N=500, int ncorners=4,
205
- opp=False, exterior = False):
205
+ opp=False, exterior=False):
206
206
  """
207
207
  Initialize the ``Riemann_Map`` class. See the class :class:`Riemann_Map`
208
208
  for full documentation on the input of this initialization method.
@@ -228,7 +228,7 @@ cdef class Riemann_Map:
228
228
  self.f = fs[0]
229
229
  self.a = a
230
230
  self.ncorners = ncorners
231
- self.N = N # Number of collocation pts
231
+ self.N = N # Number of collocation pts
232
232
  self.opp = opp
233
233
  self.exterior = exterior
234
234
  self.tk = np.array(np.arange(N) * TWOPI / N + 0.001 / N,
@@ -237,14 +237,14 @@ cdef class Riemann_Map:
237
237
  for i in range(N):
238
238
  self.tk2[i] = self.tk[i]
239
239
  self.tk2[N] = TWOPI
240
- self.B = len(fs) # number of boundaries of the figure
240
+ self.B = len(fs) # number of boundaries of the figure
241
241
  if self.exterior and (self.B > 1):
242
242
  raise ValueError(
243
243
  "The exterior map is undefined for multiply connected domains")
244
244
  cdef np.ndarray[COMPLEX_T,ndim=2] cps = np.zeros([self.B, N],
245
- dtype=COMPLEX)
245
+ dtype=COMPLEX)
246
246
  cdef np.ndarray[COMPLEX_T,ndim=2] dps = np.zeros([self.B, N],
247
- dtype=COMPLEX)
247
+ dtype=COMPLEX)
248
248
  # Find the points on the boundaries and their derivatives.
249
249
  if self.exterior:
250
250
  for k in range(self.B):
@@ -322,14 +322,14 @@ cdef class Riemann_Map:
322
322
  hconj = h.conjugate()
323
323
  g = -sadp * hconj
324
324
  normalized_dp=dp/adp
325
- C = I / N * sadp # equivalent to -TWOPI / N * 1 / (TWOPI * I) * sadp
326
- errinvalid = np.geterr()['invalid'] # checks the current error handling for invalid
327
- errdivide = np.geterr()['divide'] # checks the current error handling for divide
325
+ C = I / N * sadp # equivalent to -TWOPI / N * 1 / (TWOPI * I) * sadp
326
+ errinvalid = np.geterr()['invalid'] # checks the current error handling for invalid
327
+ errdivide = np.geterr()['divide'] # checks the current error handling for divide
328
328
  np.seterr(divide='ignore',invalid='ignore')
329
329
  K = np.array([C * sadp[t] * (normalized_dp/(cp-cp[t]) -
330
- (normalized_dp[t]/(cp-cp[t])).conjugate())
331
- for t in np.arange(NB)], dtype=np.complex128)
332
- np.seterr(divide=errdivide,invalid=errinvalid) # resets the error handling
330
+ (normalized_dp[t]/(cp-cp[t])).conjugate())
331
+ for t in np.arange(NB)], dtype=np.complex128)
332
+ np.seterr(divide=errdivide,invalid=errinvalid) # resets the error handling
333
333
  for i in range(NB):
334
334
  K[i, i] = 1
335
335
  # Nystrom Method for solving 2nd kind integrals
@@ -337,7 +337,6 @@ cdef class Riemann_Map:
337
337
  # the all-important Szego kernel
338
338
  szego = np.array(phi.flatten() / np.sqrt(dp), dtype=COMPLEX)
339
339
  self.szego = szego.reshape([B, N])
340
- start = 0
341
340
  # Finding the theta correspondence using phase. Misbehaves for some
342
341
  # regions.
343
342
  if B != 1:
@@ -432,7 +431,6 @@ cdef class Riemann_Map:
432
431
  sage: sz0 = m.get_szego(boundary=0)
433
432
  sage: sz1 = m.get_szego(boundary=1)
434
433
  """
435
- cdef int k, B
436
434
  if boundary < 0:
437
435
  temptk = self.tk
438
436
  for i in range(self.B - 1):
@@ -707,10 +705,11 @@ cdef class Riemann_Map:
707
705
  else:
708
706
  return mapped
709
707
 
710
- def plot_boundaries(self, plotjoined=True, rgbcolor=[0,0,0], thickness=1):
708
+ def plot_boundaries(self, plotjoined=True, rgbcolor=None, thickness=1):
711
709
  """
712
- Plots the boundaries of the region for the Riemann map. Note that
713
- this method DOES work for multiply connected domains.
710
+ Plot the boundaries of the region for the Riemann map.
711
+
712
+ Note that this method DOES work for multiply connected domains.
714
713
 
715
714
  INPUT:
716
715
 
@@ -748,6 +747,9 @@ cdef class Riemann_Map:
748
747
  """
749
748
  from sage.plot.all import list_plot
750
749
 
750
+ if rgbcolor is None:
751
+ rgbcolor = [0, 0, 0]
752
+
751
753
  plots = list(range(self.B))
752
754
  for k in range(self.B):
753
755
  # This conditional should be eliminated when the thickness/pointsize
@@ -828,8 +830,9 @@ cdef class Riemann_Map:
828
830
 
829
831
  @options(interpolation='catrom')
830
832
  def plot_spiderweb(self, spokes=16, circles=4, pts=32, linescale=0.99,
831
- rgbcolor=[0, 0, 0], thickness=1, plotjoined=True, withcolor=False,
832
- plot_points=200, min_mag=0.001, **options):
833
+ rgbcolor=None, thickness=1,
834
+ plotjoined=True, withcolor=False,
835
+ plot_points=200, min_mag=0.001, **options):
833
836
  """
834
837
  Generate a traditional "spiderweb plot" of the Riemann map.
835
838
 
@@ -945,12 +948,16 @@ cdef class Riemann_Map:
945
948
  cdef int k, i
946
949
  if self.exterior:
947
950
  raise ValueError(
948
- "Spiderwebs for exterior maps are not currently supported")
951
+ "Spiderwebs for exterior maps are not currently supported")
952
+
953
+ if rgbcolor is None:
954
+ rgbcolor = [0, 0, 0]
955
+
949
956
  if self.B == 1: # The efficient simply connected
950
957
  edge = self.plot_boundaries(plotjoined=plotjoined,
951
- rgbcolor=rgbcolor, thickness=thickness)
958
+ rgbcolor=rgbcolor,
959
+ thickness=thickness)
952
960
  circle_list = list(range(circles))
953
- theta_array = self.theta_array[0]
954
961
  s = spline(np.column_stack([self.theta_array[0], self.tk2]).tolist())
955
962
  tmax = self.theta_array[0, self.N]
956
963
  tmin = self.theta_array[0, 0]
@@ -961,10 +968,13 @@ cdef class Riemann_Map:
961
968
  (k + 1) / (circles + 1.0) * exp(I*i * TWOPI / (2*pts)))
962
969
  if plotjoined:
963
970
  circle_list[k] = list_plot(comp_pt(temp, 1),
964
- rgbcolor=rgbcolor, thickness=thickness, plotjoined=True)
971
+ rgbcolor=rgbcolor,
972
+ thickness=thickness,
973
+ plotjoined=True)
965
974
  else:
966
975
  circle_list[k] = list_plot(comp_pt(temp, 1),
967
- rgbcolor=rgbcolor, pointsize=thickness)
976
+ rgbcolor=rgbcolor,
977
+ pointsize=thickness)
968
978
  line_list = list(range(spokes))
969
979
  for k in range(spokes):
970
980
  temp = list(range(pts))
@@ -990,24 +1000,31 @@ cdef class Riemann_Map:
990
1000
  self.plot_colored(plot_points=plot_points)
991
1001
  else:
992
1002
  return edge + sum(circle_list) + sum(line_list)
993
- else: # The more difficult multiply connected
1003
+ else: # The more difficult multiply connected
994
1004
  z_values, xmin, xmax, ymin, ymax = self.compute_on_grid([],
995
- plot_points)
1005
+ plot_points)
996
1006
  xstep = (xmax-xmin)/plot_points
997
1007
  ystep = (ymax-ymin)/plot_points
998
- dr, dtheta= get_derivatives(z_values, xstep, ystep) # clean later
1008
+ dr, dtheta= get_derivatives(z_values, xstep, ystep) # clean later
999
1009
 
1000
1010
  g = Graphics()
1001
- g.add_primitive(ComplexPlot(complex_to_spiderweb(z_values,dr,dtheta,
1002
- spokes, circles, rgbcolor,thickness, withcolor, min_mag),
1003
- (xmin, xmax), (ymin, ymax),options))
1011
+ g.add_primitive(ComplexPlot(complex_to_spiderweb(z_values, dr,
1012
+ dtheta, spokes,
1013
+ circles,
1014
+ rgbcolor,
1015
+ thickness,
1016
+ withcolor,
1017
+ min_mag),
1018
+ (xmin, xmax), (ymin, ymax),options))
1004
1019
  return g + self.plot_boundaries(thickness = thickness)
1005
1020
 
1006
1021
  @options(interpolation='catrom')
1007
- def plot_colored(self, plot_range=[], int plot_points=100, **options):
1022
+ def plot_colored(self, plot_range=None, int plot_points=100, **options):
1008
1023
  """
1009
- Generates a colored plot of the Riemann map. A red point on the
1010
- colored plot corresponds to a red point on the unit disc.
1024
+ Generate a colored plot of the Riemann map.
1025
+
1026
+ A red point on the colored plot corresponds to a red point on
1027
+ the unit disc.
1011
1028
 
1012
1029
  INPUT:
1013
1030
 
@@ -1054,11 +1071,14 @@ cdef class Riemann_Map:
1054
1071
  from sage.plot.complex_plot import ComplexPlot
1055
1072
  from sage.plot.all import Graphics
1056
1073
 
1074
+ if plot_range is None:
1075
+ plot_range = []
1076
+
1057
1077
  z_values, xmin, xmax, ymin, ymax = self.compute_on_grid(plot_range,
1058
- plot_points)
1078
+ plot_points)
1059
1079
  g = Graphics()
1060
1080
  g.add_primitive(ComplexPlot(complex_to_rgb(z_values), (xmin, xmax),
1061
- (ymin, ymax),options))
1081
+ (ymin, ymax), options))
1062
1082
  return g
1063
1083
 
1064
1084
  cdef comp_pt(clist, loop=True):
@@ -1090,8 +1110,8 @@ cdef comp_pt(clist, loop=True):
1090
1110
  list2.append(list2[0])
1091
1111
  return list2
1092
1112
 
1093
- cpdef get_derivatives(np.ndarray[COMPLEX_T, ndim=2] z_values, FLOAT_T xstep,
1094
- FLOAT_T ystep):
1113
+ cpdef get_derivatives(np.ndarray[COMPLEX_T, ndim=2] z_values,
1114
+ FLOAT_T xstep, FLOAT_T ystep):
1095
1115
  """
1096
1116
  Compute the r*e^(I*theta) form of derivatives from the grid of points. The
1097
1117
  derivatives are computed using quick-and-dirty taylor expansion and
@@ -1133,8 +1153,6 @@ cpdef get_derivatives(np.ndarray[COMPLEX_T, ndim=2] z_values, FLOAT_T xstep,
1133
1153
  """
1134
1154
  cdef np.ndarray[COMPLEX_T, ndim=2] xderiv
1135
1155
  cdef np.ndarray[FLOAT_T, ndim = 2] dr, dtheta, zabs
1136
- imax = len(z_values)-2
1137
- jmax = len(z_values[0])-2
1138
1156
  # (f(x+delta)-f(x-delta))/2delta
1139
1157
  xderiv = (z_values[1:-1,2:]-z_values[1:-1,:-2])/(2*xstep)
1140
1158
  # b/c the function is analytic, we know the magnitude of its
@@ -1142,12 +1160,14 @@ cpdef get_derivatives(np.ndarray[COMPLEX_T, ndim=2] z_values, FLOAT_T xstep,
1142
1160
  dr = np.abs(xderiv)
1143
1161
  # the abs(derivative) scaled by distance from origin
1144
1162
  zabs = np.abs(z_values[1:-1,1:-1])
1145
- dtheta = np.divide(dr,zabs)
1163
+ dtheta = np.divide(dr, zabs)
1146
1164
  return dr, dtheta
1147
1165
 
1148
1166
  cpdef complex_to_spiderweb(np.ndarray[COMPLEX_T, ndim = 2] z_values,
1149
- np.ndarray[FLOAT_T, ndim = 2] dr, np.ndarray[FLOAT_T, ndim = 2] dtheta,
1150
- spokes, circles, rgbcolor, thickness, withcolor, min_mag):
1167
+ np.ndarray[FLOAT_T, ndim = 2] dr,
1168
+ np.ndarray[FLOAT_T, ndim = 2] dtheta,
1169
+ spokes, circles, rgbcolor, thickness,
1170
+ withcolor, min_mag):
1151
1171
  """
1152
1172
  Convert a grid of complex numbers into a matrix containing rgb data
1153
1173
  for the Riemann spiderweb plot.
@@ -1222,9 +1242,9 @@ cpdef complex_to_spiderweb(np.ndarray[COMPLEX_T, ndim = 2] z_values,
1222
1242
  [1. , 1. , 1. ]]])
1223
1243
  """
1224
1244
  cdef Py_ssize_t i, j, imax, jmax
1225
- cdef FLOAT_T x, y, mag, arg, width, target, precision, dmag, darg
1245
+ cdef FLOAT_T mag, arg, target, precision, dmag, darg
1226
1246
  cdef COMPLEX_T z
1227
- cdef FLOAT_T DMAX = 70 # change to adjust rate_of_change cutoff below
1247
+ cdef FLOAT_T DMAX = 70 # change to adjust rate_of_change cutoff below
1228
1248
  precision = thickness/150.0
1229
1249
  imax = len(z_values)
1230
1250
  jmax = len(z_values[0])
@@ -1235,7 +1255,7 @@ cpdef complex_to_spiderweb(np.ndarray[COMPLEX_T, ndim = 2] z_values,
1235
1255
  rgb = np.zeros(dtype=FLOAT, shape=(imax, jmax, 3))
1236
1256
  rgb += 1
1237
1257
  if circles != 0:
1238
- circ_radii = srange(0,1.0,1.0/circles)
1258
+ circ_radii = srange(0, 1.0, 1.0/circles)
1239
1259
  else:
1240
1260
  circ_radii = []
1241
1261
  if spokes != 0:
@@ -1302,7 +1322,7 @@ cpdef complex_to_rgb(np.ndarray[COMPLEX_T, ndim=2] z_values):
1302
1322
  TypeError: Argument 'z_values' has incorrect type (expected numpy.ndarray, got list)
1303
1323
  """
1304
1324
  cdef Py_ssize_t i, j, imax, jmax
1305
- cdef FLOAT_T x, y, mag, arg
1325
+ cdef FLOAT_T mag, arg
1306
1326
  cdef FLOAT_T lightness, hue, top, bot
1307
1327
  cdef FLOAT_T r, g, b
1308
1328
  cdef int ihue
@@ -1495,7 +1515,7 @@ cpdef analytic_interior(COMPLEX_T z, int n, FLOAT_T epsilon):
1495
1515
  # evaluates the Cauchy integral of the boundary, split into the real
1496
1516
  # and imaginary results because numerical_integral can't handle complex data.
1497
1517
  rp = 1/(TWOPI)*numerical_integral(cauchy_kernel,0,2*pi,
1498
- params = [epsilon,z,n,'i'])[0]
1518
+ params = [epsilon,z,n,'i'])[0]
1499
1519
  ip = 1/(TWOPI*I)*numerical_integral(cauchy_kernel,0,2*pi,
1500
- params = [epsilon,z,n,'r'])[0]
1520
+ params = [epsilon,z,n,'r'])[0]
1501
1521
  return rp + ip
@@ -605,15 +605,16 @@ class EvaluationAGCodeUniqueDecoder(Decoder):
605
605
 
606
606
  if Q.degree() > 1:
607
607
  circuit = EvaluationAGCodeDecoder_K_extension(code._pls, code._G, Q,
608
- verbose=verbose)
608
+ verbose=verbose)
609
609
  else:
610
610
  circuit = EvaluationAGCodeDecoder_K(code._pls, code._G, Q,
611
- verbose=verbose)
611
+ verbose=verbose)
612
612
 
613
613
  if basis is None:
614
614
  basis = code._basis_functions
615
615
 
616
- C = matrix([circuit.decode(vector(K, [f.evaluate(p) for p in code._pls]))
616
+ C = matrix([circuit.decode(vector(K,
617
+ [f.evaluate(p) for p in code._pls]))
617
618
  for f in basis])
618
619
 
619
620
  self._extension = Q.degree() > 1
@@ -648,7 +649,7 @@ class EvaluationAGCodeUniqueDecoder(Decoder):
648
649
  """
649
650
  return hash((self.code(), self._Q))
650
651
 
651
- def __eq__(self, other):
652
+ def __eq__(self, other) -> bool:
652
653
  """
653
654
  Check whether ``other`` equals ``self``.
654
655
 
@@ -678,7 +679,7 @@ class EvaluationAGCodeUniqueDecoder(Decoder):
678
679
  return (self.code() == other.code() and self._Q == other._Q
679
680
  and self._basis == other._basis)
680
681
 
681
- def _repr_(self):
682
+ def _repr_(self) -> str:
682
683
  r"""
683
684
  Return the string representation of ``self``.
684
685
 
@@ -700,7 +701,7 @@ class EvaluationAGCodeUniqueDecoder(Decoder):
700
701
  """
701
702
  return "Unique decoder for {}".format(self.code())
702
703
 
703
- def _latex_(self):
704
+ def _latex_(self) -> str:
704
705
  r"""
705
706
  Return the latex representation of ``self``.
706
707
 
@@ -758,13 +759,13 @@ class EvaluationAGCodeUniqueDecoder(Decoder):
758
759
  else:
759
760
  return circuit.encode(vector(K, message) * C)
760
761
 
761
- def _decode(self, vector, **kwargs):
762
+ def _decode(self, vect, **kwargs):
762
763
  r"""
763
- Return the message decoded from ``vector``.
764
+ Return the message decoded from the vector ``vect``.
764
765
 
765
766
  INPUT:
766
767
 
767
- - ``vector`` -- a vector to be decoded to a message
768
+ - ``vect`` -- a vector to be decoded to a message
768
769
 
769
770
  TESTS::
770
771
 
@@ -788,10 +789,10 @@ class EvaluationAGCodeUniqueDecoder(Decoder):
788
789
  circuit = self._circuit
789
790
 
790
791
  if self._extension:
791
- internal_message = circuit.decode(circuit._lift(vector), **kwargs) * Cinv
792
+ internal_message = circuit.decode(circuit._lift(vect), **kwargs) * Cinv
792
793
  return circuit._pull_back(internal_message)
793
- else:
794
- return circuit.decode(vector, **kwargs) * Cinv
794
+
795
+ return circuit.decode(vect, **kwargs) * Cinv
795
796
 
796
797
  def connected_encoder(self, *args, **kwargs):
797
798
  r"""
@@ -1012,10 +1013,10 @@ class DifferentialAGCodeUniqueDecoder(Decoder):
1012
1013
 
1013
1014
  if Q.degree() > 1:
1014
1015
  circuit = DifferentialAGCodeDecoder_K_extension(code._pls, code._G, Q,
1015
- verbose=verbose)
1016
+ verbose=verbose)
1016
1017
  else:
1017
1018
  circuit = DifferentialAGCodeDecoder_K(code._pls, code._G, Q,
1018
- verbose=verbose)
1019
+ verbose=verbose)
1019
1020
 
1020
1021
  if basis is None:
1021
1022
  basis = code._basis_differentials
@@ -1055,7 +1056,7 @@ class DifferentialAGCodeUniqueDecoder(Decoder):
1055
1056
  """
1056
1057
  return hash((self.code(), self._Q))
1057
1058
 
1058
- def __eq__(self, other):
1059
+ def __eq__(self, other) -> bool:
1059
1060
  """
1060
1061
  Check whether ``other`` equals ``self``.
1061
1062
 
@@ -1085,7 +1086,7 @@ class DifferentialAGCodeUniqueDecoder(Decoder):
1085
1086
  return (self.code() == other.code() and self._Q == other._Q
1086
1087
  and self._basis == other._basis)
1087
1088
 
1088
- def _repr_(self):
1089
+ def _repr_(self) -> str:
1089
1090
  r"""
1090
1091
  Return the string representation of ``self``.
1091
1092
 
@@ -1107,7 +1108,7 @@ class DifferentialAGCodeUniqueDecoder(Decoder):
1107
1108
  """
1108
1109
  return "Unique decoder for {}".format(self.code())
1109
1110
 
1110
- def _latex_(self):
1111
+ def _latex_(self) -> str:
1111
1112
  r"""
1112
1113
  Return the latex representation of ``self``.
1113
1114
 
@@ -1165,13 +1166,13 @@ class DifferentialAGCodeUniqueDecoder(Decoder):
1165
1166
  else:
1166
1167
  return circuit.encode(vector(K, message) * C)
1167
1168
 
1168
- def _decode(self, vector, **kwargs):
1169
+ def _decode(self, vect, **kwargs):
1169
1170
  r"""
1170
- Return the message decoded from ``vector``.
1171
+ Return the message decoded from the vector ``vect``.
1171
1172
 
1172
1173
  INPUT:
1173
1174
 
1174
- - ``vector`` -- a vector to be decoded to a message
1175
+ - ``vect`` -- a vector to be decoded to a message
1175
1176
 
1176
1177
  TESTS::
1177
1178
 
@@ -1195,10 +1196,10 @@ class DifferentialAGCodeUniqueDecoder(Decoder):
1195
1196
  circuit = self._circuit
1196
1197
 
1197
1198
  if self._extension:
1198
- internal_message = circuit.decode(circuit._lift(vector), **kwargs) * Cinv
1199
+ internal_message = circuit.decode(circuit._lift(vect), **kwargs) * Cinv
1199
1200
  return circuit._pull_back(internal_message)
1200
- else:
1201
- return circuit.decode(vector, **kwargs) * Cinv
1201
+
1202
+ return circuit.decode(vect, **kwargs) * Cinv
1202
1203
 
1203
1204
  def connected_encoder(self, *args, **kwargs):
1204
1205
  r"""
@@ -1424,7 +1425,7 @@ cdef class Decoder_K():
1424
1425
  This modified the ``vec`` input.
1425
1426
  """
1426
1427
  cdef Py_ssize_t j, m
1427
- cdef list a, d, s
1428
+ cdef list a, s
1428
1429
  cdef FreeModuleElement temp
1429
1430
  cdef Polynomial c
1430
1431
 
@@ -1508,7 +1509,6 @@ cdef class Decoder_K():
1508
1509
  coeff_mat = self.coeff_mat
1509
1510
 
1510
1511
  cdef list message_index = self.message_index
1511
- cdef list code_basis = self.code_basis
1512
1512
 
1513
1513
  cdef int s0 = self.s0
1514
1514
  cdef int tau = self.tau
@@ -1801,7 +1801,7 @@ cdef class Decoder_K():
1801
1801
  h = [W.zero() for k in range(gamma)]
1802
1802
  for j in range(code_length):
1803
1803
  t = delta[j]
1804
- h[<Py_ssize_t> t[1]] += matinv[i,j] * x**(<int> t[0])
1804
+ h[<Py_ssize_t> t[1]] += matinv[i, j] * x**(<int> t[0])
1805
1805
  vecs[i] = vector(h)
1806
1806
 
1807
1807
 
@@ -1859,7 +1859,7 @@ cdef class EvaluationAGCodeDecoder_K(Decoder_K):
1859
1859
  sage: circuit = EvaluationAGCodeDecoder_K(D, G, Q) # long time
1860
1860
  sage: TestSuite(circuit).run(skip='_test_pickling') # long time
1861
1861
  """
1862
- cdef int i, j, s, s0, sk, si, n, r, d, num
1862
+ cdef int i, j, s, s0, sk, si, n, r, d
1863
1863
  cdef int code_length, genus, gamma, dLO, tau
1864
1864
  cdef list gaps, dR, yR, dRbar, yRbar, evyRbar, nus, mul_mat
1865
1865
  cdef list message_index, code_basis
@@ -2033,7 +2033,7 @@ cdef class EvaluationAGCodeDecoder_K(Decoder_K):
2033
2033
  f = yR[i] * yRbar[j]
2034
2034
  v = vec_form(f)
2035
2035
  self._exponents((<int> dR[i]) + (<int> dRbar[j]), &sk, &si)
2036
- coeff_mat[i,j] = v[si][sk]
2036
+ coeff_mat[i, j] = v[si][sk]
2037
2037
  (<list> mul_mat[i])[j] = v
2038
2038
 
2039
2039
  if verbose:
@@ -2114,7 +2114,7 @@ cdef class DifferentialAGCodeDecoder_K(Decoder_K):
2114
2114
  sage: circuit = DifferentialAGCodeDecoder_K(D, G, Q) # long time
2115
2115
  sage: TestSuite(circuit).run(skip='_test_pickling') # long time
2116
2116
  """
2117
- cdef int i, j, s, s0, sk, si, n, r, d, num
2117
+ cdef int i, j, s, s0, sk, si, n, r, d
2118
2118
  cdef int code_length, genus, gamma, dLO, tau
2119
2119
  cdef list gaps, dR, yR, dWbar, wWbar, reswWbar, nus, mul_mat
2120
2120
  cdef list message_index, code_basis
@@ -2288,7 +2288,7 @@ cdef class DifferentialAGCodeDecoder_K(Decoder_K):
2288
2288
  f = yR[i] * wWbar[j]
2289
2289
  v = vec_form(f)
2290
2290
  self._exponents((<int> dR[i]) + (<int> dWbar[j]), &sk, &si)
2291
- coeff_mat[i,j] = v[si][sk]
2291
+ coeff_mat[i, j] = v[si][sk]
2292
2292
  (<list> mul_mat[i])[j] = v
2293
2293
 
2294
2294
  if verbose:
@@ -2388,7 +2388,7 @@ cdef class Decoder_K_extension():
2388
2388
  # construct constant field extension F_ext of F
2389
2389
  def_poly = F.polynomial().base_extend(F_ext_base)
2390
2390
  F_ext = F_ext_base.extension(def_poly, names=def_poly.variable_name())
2391
- else: # rational function field
2391
+ else: # rational function field
2392
2392
  F_ext = F_ext_base
2393
2393
 
2394
2394
  O_ext = F_ext.maximal_order()