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
@@ -985,7 +985,7 @@ class Module_free_ambient(Module):
985
985
  """
986
986
  return self.__degree
987
987
 
988
- def is_sparse(self):
988
+ def is_sparse(self) -> bool:
989
989
  """
990
990
  Return ``True`` if the underlying representation of this module uses
991
991
  sparse vectors, and ``False`` otherwise.
@@ -999,7 +999,7 @@ class Module_free_ambient(Module):
999
999
  """
1000
1000
  return self.__is_sparse
1001
1001
 
1002
- def is_exact(self):
1002
+ def is_exact(self) -> bool:
1003
1003
  """
1004
1004
  Test whether elements of this module are represented exactly.
1005
1005
 
@@ -1518,7 +1518,7 @@ class Module_free_ambient(Module):
1518
1518
  # in the same ambient space
1519
1519
  return self.is_submodule(other) and other.is_submodule(self)
1520
1520
 
1521
- def is_submodule(self, other):
1521
+ def is_submodule(self, other) -> bool:
1522
1522
  r"""
1523
1523
  Return ``True`` if ``self`` is a submodule of ``other``.
1524
1524
 
@@ -2092,6 +2092,7 @@ class FreeModule_generic(Module_free_ambient):
2092
2092
 
2093
2093
  Next we create a subspace::
2094
2094
 
2095
+ sage: # needs sage.libs.pari
2095
2096
  sage: M = FreeModule(QQ, 3, sparse=True)
2096
2097
  sage: V = M.span([ [1,2,3] ] ); V
2097
2098
  Sparse vector space of degree 3 and dimension 1 over Rational Field
@@ -2149,6 +2150,7 @@ class FreeModule_generic(Module_free_ambient):
2149
2150
 
2150
2151
  Next we convert a subspace::
2151
2152
 
2153
+ sage: # needs sage.libs.pari
2152
2154
  sage: M = FreeModule(QQ,3)
2153
2155
  sage: V = M.span([ [1,2,3] ] ); V
2154
2156
  Vector space of degree 3 and dimension 1 over Rational Field
@@ -2305,7 +2307,7 @@ class FreeModule_generic(Module_free_ambient):
2305
2307
  return self.echelonized_basis_matrix() == other.echelonized_basis_matrix()
2306
2308
  return self.is_submodule(other) and other.is_submodule(self)
2307
2309
 
2308
- def is_submodule(self, other):
2310
+ def is_submodule(self, other) -> bool:
2309
2311
  r"""
2310
2312
  Return ``True`` if ``self`` is a submodule of ``other``.
2311
2313
 
@@ -3115,6 +3117,135 @@ class FreeModule_generic(Module_free_ambient):
3115
3117
  codomain = R**n
3116
3118
  return super().hom(im_gens, codomain, **kwds)
3117
3119
 
3120
+ def pseudoHom(self, twist, codomain=None):
3121
+ r"""
3122
+ Return the pseudo-Hom space corresponding to given data.
3123
+
3124
+ INPUT:
3125
+
3126
+ - ``twist`` -- the twisting morphism or the twisting derivation
3127
+
3128
+ - ``codomain`` -- (default: ``None``) the codomain of the pseudo
3129
+ morphisms; if ``None``, the codomain is the same as the domain
3130
+
3131
+ EXAMPLES::
3132
+
3133
+ sage: # needs sage.rings.finite_rings
3134
+ sage: F = GF(25)
3135
+ sage: Frob = F.frobenius_endomorphism()
3136
+ sage: M = F^2
3137
+ sage: M.pseudoHom(Frob)
3138
+ Set of Pseudoendomorphisms (twisted by z2 |--> z2^5) of Vector space of dimension 2 over Finite Field in z2 of size 5^2
3139
+
3140
+ .. SEEALSO::
3141
+
3142
+ :meth:`pseudohom`
3143
+ """
3144
+ from sage.modules.free_module_pseudohomspace import FreeModulePseudoHomspace
3145
+ if codomain is None:
3146
+ codomain = self
3147
+ return FreeModulePseudoHomspace(self, codomain, twist)
3148
+
3149
+ def pseudohom(self, f, twist, codomain=None, side="left"):
3150
+ r"""
3151
+ Return the pseudohomomorphism corresponding to the given data.
3152
+
3153
+ We recall that, given two `R`-modules `M` and `M'` together with
3154
+ a ring homomorphism `\theta: R \to R` and a `\theta`-derivation,
3155
+ `\delta: R \to R` (that is, a map such that
3156
+ `\delta(xy) = \theta(x)\delta(y) + \delta(x)y`), a
3157
+ pseudomorphism `f : M \to M'` is an additive map such that
3158
+
3159
+ .. MATH::
3160
+
3161
+ f(\lambda x) = \theta(\lambda) f(x) + \delta(\lambda) x
3162
+
3163
+ When `\delta` is nonzero, this requires that `M` coerces into `M'`.
3164
+
3165
+ .. NOTE::
3166
+
3167
+ Internally, pseudomorphisms are represented by matrices with
3168
+ coefficient in the base ring `R`. See class
3169
+ :class:`sage.modules.free_module_pseudomorphism.FreeModulePseudoMorphism`
3170
+ for details.
3171
+
3172
+ INPUT:
3173
+
3174
+ - ``f`` -- a matrix (or any other data) defining the
3175
+ pseudomorphism
3176
+
3177
+ - ``twist`` -- the twisting morphism or the twisting derivation
3178
+ (if a derivation is given, the corresponding morphism `\theta`
3179
+ is automatically infered;
3180
+ see also :class:`sage.rings.polynomial.ore_polynomial_ring.OrePolynomialRing`)
3181
+
3182
+ - ``codomain`` -- (default: ``None``) the codomain of the pseudo
3183
+ morphisms; if ``None``, the codomain is the same than the domain
3184
+
3185
+ - ``side`` -- (default: ``left``) side of the vectors acted on by
3186
+ the matrix
3187
+
3188
+ EXAMPLES::
3189
+
3190
+ sage: # needs sage.rings.finite_rings
3191
+ sage: K.<z> = GF(5^5)
3192
+ sage: Frob = K.frobenius_endomorphism()
3193
+ sage: V = K^2; W = K^3
3194
+ sage: f = V.pseudohom([[1, z, z^2], [1, z^2, z^4]], Frob, codomain=W)
3195
+ sage: f
3196
+ Free module pseudomorphism (twisted by z |--> z^5) defined by the matrix
3197
+ [ 1 z z^2]
3198
+ [ 1 z^2 z^4]
3199
+ Domain: Vector space of dimension 2 over Finite Field in z of size 5^5
3200
+ Codomain: Vector space of dimension 3 over Finite Field in z of size 5^5
3201
+
3202
+ We check that `f` is indeed semi-linear::
3203
+
3204
+ sage: # needs sage.rings.finite_rings
3205
+ sage: v = V([z+1, z+2])
3206
+ sage: f(z*v)
3207
+ (2*z^2 + z + 4, z^4 + 2*z^3 + 3*z^2 + z, 4*z^4 + 2*z^2 + 3*z + 2)
3208
+ sage: z^5 * f(v)
3209
+ (2*z^2 + z + 4, z^4 + 2*z^3 + 3*z^2 + z, 4*z^4 + 2*z^2 + 3*z + 2)
3210
+
3211
+ An example with a derivation::
3212
+
3213
+ sage: # needs sage.rings.finite_rings
3214
+ sage: R.<t> = ZZ[]
3215
+ sage: d = R.derivation()
3216
+ sage: M = R^2
3217
+ sage: Nabla = M.pseudohom([[1, t], [t^2, t^3]], d, side='right')
3218
+ sage: Nabla
3219
+ Free module pseudomorphism (twisted by d/dt) defined as left-multiplication by the matrix
3220
+ [ 1 t]
3221
+ [t^2 t^3]
3222
+ Domain: Ambient free module of rank 2 over the integral domain Univariate Polynomial Ring in t over Integer Ring
3223
+ Codomain: Ambient free module of rank 2 over the integral domain Univariate Polynomial Ring in t over Integer Ring
3224
+ sage: v = M([1,1])
3225
+ sage: Nabla(v)
3226
+ (t + 1, t^3 + t^2)
3227
+ sage: Nabla(t*v)
3228
+ (t^2 + t + 1, t^4 + t^3 + 1)
3229
+ sage: Nabla(t*v) == t * Nabla(v) + v
3230
+ True
3231
+
3232
+ If the twisting derivation is not zero, the domain must
3233
+ coerce into the codomain::
3234
+
3235
+ sage: # needs sage.rings.finite_rings
3236
+ sage: N = R^3
3237
+ sage: M.pseudohom([[1, t, t^2], [1, t^2, t^4]], d, codomain=N)
3238
+ Traceback (most recent call last):
3239
+ ...
3240
+ ValueError: the domain does not coerce into the codomain
3241
+
3242
+ .. SEEALSO::
3243
+
3244
+ :meth:`pseudoHom`
3245
+ """
3246
+ H = self.pseudoHom(twist, codomain)
3247
+ return H(f, side)
3248
+
3118
3249
  def inner_product_matrix(self):
3119
3250
  """
3120
3251
  Return the default identity inner product matrix associated to this
@@ -3162,7 +3293,7 @@ class FreeModule_generic(Module_free_ambient):
3162
3293
  """
3163
3294
  return True
3164
3295
 
3165
- def is_ambient(self):
3296
+ def is_ambient(self) -> bool:
3166
3297
  """
3167
3298
  Return ``False`` since this is not an ambient free module.
3168
3299
 
@@ -3187,7 +3318,7 @@ class FreeModule_generic(Module_free_ambient):
3187
3318
  """
3188
3319
  return False
3189
3320
 
3190
- def is_dense(self):
3321
+ def is_dense(self) -> bool:
3191
3322
  """
3192
3323
  Return ``True`` if the underlying representation of
3193
3324
  this module uses dense vectors, and ``False`` otherwise.
@@ -3201,7 +3332,7 @@ class FreeModule_generic(Module_free_ambient):
3201
3332
  """
3202
3333
  return not self.is_sparse()
3203
3334
 
3204
- def is_full(self):
3335
+ def is_full(self) -> bool:
3205
3336
  """
3206
3337
  Return ``True`` if the rank of this module equals its
3207
3338
  degree.
@@ -3216,7 +3347,7 @@ class FreeModule_generic(Module_free_ambient):
3216
3347
  """
3217
3348
  return self.rank() == self.degree()
3218
3349
 
3219
- def is_finite(self):
3350
+ def is_finite(self) -> bool:
3220
3351
  """
3221
3352
  Return ``True`` if the underlying set of this free module is finite.
3222
3353
 
@@ -4632,7 +4763,7 @@ class FreeModule_generic_field(FreeModule_generic_pid):
4632
4763
  B = [A1.linear_combination_of_rows(v.list()[:n]) for v in K.basis()]
4633
4764
  return self.ambient_vector_space().submodule(B, check=False)
4634
4765
 
4635
- def is_subspace(self, other):
4766
+ def is_subspace(self, other) -> bool:
4636
4767
  """
4637
4768
  ``True`` if this vector space is a subspace of ``other``.
4638
4769
 
@@ -5679,7 +5810,7 @@ class FreeModule_ambient(FreeModule_generic):
5679
5810
  t = "(%s)" % t
5680
5811
  return "%s^{%s}" % (t, self.rank())
5681
5812
 
5682
- def is_ambient(self):
5813
+ def is_ambient(self) -> bool:
5683
5814
  """
5684
5815
  Return ``True`` since this module is an ambient
5685
5816
  module.
@@ -6807,9 +6938,10 @@ class FreeModule_submodule_with_basis_pid(FreeModule_generic_pid):
6807
6938
 
6808
6939
  ::
6809
6940
 
6810
- sage: M = FreeModule(ZZ,8,sparse=True)
6811
- sage: N = M.submodule_with_basis([ M.gen(i) - M.gen(0) for i in range(1,8) ])
6812
- sage: N # indirect doctest
6941
+ sage: # needs sage.libs.pari
6942
+ sage: M = FreeModule(ZZ, 8, sparse=True)
6943
+ sage: N = M.submodule_with_basis([M.gen(i) - M.gen(0) for i in range(1,8)])
6944
+ sage: N # indirect doctest
6813
6945
  Sparse free module of degree 8 and rank 7 over Integer Ring
6814
6946
  User basis matrix:
6815
6947
  [-1 1 0 0 0 0 0 0]
@@ -7037,7 +7169,8 @@ class FreeModule_submodule_with_basis_pid(FreeModule_generic_pid):
7037
7169
 
7038
7170
  We do an example with a sparse vector space::
7039
7171
 
7040
- sage: V = VectorSpace(QQ,5, sparse=True)
7172
+ sage: # needs sage.libs.pari
7173
+ sage: V = VectorSpace(QQ, 5, sparse=True)
7041
7174
  sage: W = V.subspace_with_basis([[0,1,2,0,0], [0,-1,0,0,-1/2]])
7042
7175
  sage: W.echelonized_basis()
7043
7176
  [(0, 1, 0, 0, 1/2), (0, 0, 1, 0, -1/4)]
@@ -7509,7 +7642,7 @@ class FreeModule_submodule_with_basis_pid(FreeModule_generic_pid):
7509
7642
  """
7510
7643
  return FreeModule(self.base_ring().fraction_field(), self.rank())(self.echelon_coordinates(v, check=check))
7511
7644
 
7512
- def has_user_basis(self):
7645
+ def has_user_basis(self) -> bool:
7513
7646
  """
7514
7647
  Return ``True`` if the basis of this free module is
7515
7648
  specified by the user, as opposed to being the default echelon
@@ -7659,7 +7792,7 @@ class FreeModule_submodule_pid(FreeModule_submodule_with_basis_pid):
7659
7792
  """
7660
7793
  return self.echelon_coordinate_vector(v, check=check)
7661
7794
 
7662
- def has_user_basis(self):
7795
+ def has_user_basis(self) -> bool:
7663
7796
  r"""
7664
7797
  Return ``True`` if the basis of this free module is
7665
7798
  specified by the user, as opposed to being the default echelon
@@ -7800,9 +7933,10 @@ class FreeModule_submodule_with_basis_field(FreeModule_generic_field, FreeModule
7800
7933
 
7801
7934
  ::
7802
7935
 
7803
- sage: VV = VectorSpace(QQ,5,sparse=True)
7804
- sage: UU = VV.submodule([ VV.gen(i) - VV.gen(0) for i in range(1,5) ])
7805
- sage: UU # indirect doctest
7936
+ sage: # needs sage.libs.pari
7937
+ sage: VV = VectorSpace(QQ, 5, sparse=True)
7938
+ sage: UU = VV.submodule([VV.gen(i) - VV.gen(0) for i in range(1,5)])
7939
+ sage: UU # indirect doctest
7806
7940
  Sparse vector space of degree 5 and dimension 4 over Rational Field
7807
7941
  Basis matrix:
7808
7942
  [ 1 0 0 0 -1]
@@ -7890,9 +8024,9 @@ class FreeModule_submodule_with_basis_field(FreeModule_generic_field, FreeModule
7890
8024
  # Return the first rank rows (i.e., the nonzero rows).
7891
8025
  return E.rows()[:E.rank()]
7892
8026
 
7893
- def is_ambient(self):
8027
+ def is_ambient(self) -> bool:
7894
8028
  """
7895
- Return False since this is not an ambient module.
8029
+ Return ``False`` since this is not an ambient module.
7896
8030
 
7897
8031
  EXAMPLES::
7898
8032
 
@@ -8001,9 +8135,10 @@ class FreeModule_submodule_field(FreeModule_submodule_with_basis_field):
8001
8135
 
8002
8136
  ::
8003
8137
 
8004
- sage: VV = VectorSpace(QQ,5,sparse=True)
8005
- sage: UU = VV.submodule([ VV.gen(i) - VV.gen(0) for i in range(1,5) ])
8006
- sage: UU # indirect doctest
8138
+ sage: # needs sage.libs.pari
8139
+ sage: VV = VectorSpace(QQ, 5, sparse=True)
8140
+ sage: UU = VV.submodule([VV.gen(i) - VV.gen(0) for i in range(1,5)])
8141
+ sage: UU # indirect doctest
8007
8142
  Sparse vector space of degree 5 and dimension 4 over Rational Field
8008
8143
  Basis matrix:
8009
8144
  [ 1 0 0 0 -1]
@@ -8136,14 +8271,15 @@ class FreeModule_submodule_field(FreeModule_submodule_with_basis_field):
8136
8271
 
8137
8272
  ::
8138
8273
 
8139
- sage: V = VectorSpace(QQ,5, sparse=True)
8274
+ sage: # needs sage.libs.pari
8275
+ sage: V = VectorSpace(QQ, 5, sparse=True)
8140
8276
  sage: W = V.subspace([[0,1,2,0,0], [0,-1,0,0,-1/2]])
8141
8277
  sage: W.coordinate_vector([0,0,2,0,-1/2])
8142
8278
  (0, 2)
8143
8279
  """
8144
8280
  return self.echelon_coordinate_vector(v, check=check)
8145
8281
 
8146
- def has_user_basis(self):
8282
+ def has_user_basis(self) -> bool:
8147
8283
  """
8148
8284
  Return ``True`` if the basis of this free module is
8149
8285
  specified by the user, as opposed to being the default echelon
@@ -3620,9 +3620,9 @@ cdef class FreeModuleElement(Vector): # abstract base class
3620
3620
  ...
3621
3621
  ArithmeticError: degrees (1 and 2) must be the same
3622
3622
  """
3623
- return (self.conjugate()).dot_product(right)
3623
+ return self.conjugate().dot_product(right)
3624
3624
 
3625
- def is_dense(self):
3625
+ def is_dense(self) -> bool:
3626
3626
  """
3627
3627
  Return ``True`` if this is a dense vector, which is just a
3628
3628
  statement about the data structure, not the number of nonzero
@@ -3640,7 +3640,7 @@ cdef class FreeModuleElement(Vector): # abstract base class
3640
3640
  cdef bint is_dense_c(self) noexcept:
3641
3641
  return self.parent().is_dense()
3642
3642
 
3643
- def is_sparse(self):
3643
+ def is_sparse(self) -> bool:
3644
3644
  """
3645
3645
  Return ``True`` if this is a sparse vector, which is just a
3646
3646
  statement about the data structure, not the number of nonzero
@@ -3658,7 +3658,7 @@ cdef class FreeModuleElement(Vector): # abstract base class
3658
3658
  cdef bint is_sparse_c(self) noexcept:
3659
3659
  return self.parent().is_sparse()
3660
3660
 
3661
- def is_vector(self):
3661
+ def is_vector(self) -> bool:
3662
3662
  """
3663
3663
  Return ``True``, since this is a vector.
3664
3664
 
@@ -319,7 +319,7 @@ class FreeModule_submodule_with_basis_integer(FreeModule_submodule_with_basis_pi
319
319
  True
320
320
 
321
321
  sage: LLL = L.LLL()
322
- sage: LLL == L.reduced_basis or bool(LLL[0].norm() >= M[0].norm())
322
+ sage: LLL == L.reduced_basis or bool(LLL[0].norm() >= M[0].norm()) # needs sage.symbolic
323
323
  True
324
324
  """
325
325
  return self._reduced_basis
@@ -511,7 +511,7 @@ class FreeModule_submodule_with_basis_integer(FreeModule_submodule_with_basis_pi
511
511
  return abs(self.gram_matrix().determinant())
512
512
 
513
513
  @cached_method
514
- def is_unimodular(self):
514
+ def is_unimodular(self) -> bool:
515
515
  """
516
516
  Return ``True`` if this lattice is unimodular.
517
517
 
@@ -659,7 +659,7 @@ class BaseIsomorphism1D(Morphism):
659
659
  Multivariate Polynomial Ring in x, y over Rational Field
660
660
  To: Multivariate Polynomial Ring in x, y over Rational Field
661
661
  """
662
- def _repr_type(self):
662
+ def _repr_type(self) -> str:
663
663
  r"""
664
664
  EXAMPLES::
665
665
 
@@ -670,7 +670,7 @@ class BaseIsomorphism1D(Morphism):
670
670
  """
671
671
  return "Isomorphism"
672
672
 
673
- def is_injective(self):
673
+ def is_injective(self) -> bool:
674
674
  r"""
675
675
  EXAMPLES::
676
676
 
@@ -681,7 +681,7 @@ class BaseIsomorphism1D(Morphism):
681
681
  """
682
682
  return True
683
683
 
684
- def is_surjective(self):
684
+ def is_surjective(self) -> bool:
685
685
  r"""
686
686
  EXAMPLES::
687
687