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
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.4.0)
2
+ Generator: setuptools (80.9.0)
3
3
  Root-Is-Purelib: false
4
4
  Tag: cp310-cp310-macosx_14_0_arm64
5
5
  Generator: delocate 0.13.0
Binary file
Binary file
@@ -788,7 +788,7 @@ class CliffordAlgebra(CombinatorialFreeModule):
788
788
  """
789
789
  return self._from_dict({FrozenBitset((i,)): self.base_ring().one()}, remove_zeros=False)
790
790
 
791
- def algebra_generators(self):
791
+ def algebra_generators(self) -> Family:
792
792
  """
793
793
  Return the algebra generators of ``self``.
794
794
 
@@ -802,7 +802,7 @@ class CliffordAlgebra(CombinatorialFreeModule):
802
802
  d = {x: self.gen(i) for i, x in enumerate(self.variable_names())}
803
803
  return Family(self.variable_names(), lambda x: d[x])
804
804
 
805
- def gens(self):
805
+ def gens(self) -> tuple:
806
806
  r"""
807
807
  Return the generators of ``self`` (as an algebra).
808
808
 
@@ -16,13 +16,15 @@ AUTHORS:
16
16
  # it under the terms of the GNU General Public License as published by
17
17
  # the Free Software Foundation, either version 2 of the License, or
18
18
  # (at your option) any later version.
19
- # http://www.gnu.org/licenses/
19
+ # https://www.gnu.org/licenses/
20
20
  # ****************************************************************************
21
+ from copy import copy
22
+
21
23
  from sage.structure.parent cimport Parent
22
24
  from sage.data_structures.bitset cimport Bitset
23
25
  from sage.algebras.weyl_algebra import repr_from_monomials
24
26
  from sage.data_structures.blas_dict cimport scal
25
- from copy import copy
27
+
26
28
 
27
29
  cdef class CliffordAlgebraElement(IndexedFreeModuleElement):
28
30
  """
@@ -439,6 +439,8 @@ cdef class GroebnerStrategy:
439
439
  """
440
440
  Convert the computed Gröbner basis to a reduced Gröbner basis.
441
441
 
442
+ EXAMPLES::
443
+
442
444
  sage: E.<x,y,z> = ExteriorAlgebra(QQ)
443
445
  sage: I = E.ideal([x+y*z])
444
446
  sage: I.groebner_basis(reduced=False)
@@ -10,7 +10,7 @@ Finite-Dimensional Algebras
10
10
  # Distributed under the terms of the GNU General Public License (GPL)
11
11
  # as published by the Free Software Foundation; either version 2 of
12
12
  # the License, or (at your option) any later version.
13
- # http:s//www.gnu.org/licenses/
13
+ # https://www.gnu.org/licenses/
14
14
  # ***************************************************************************
15
15
 
16
16
  from .finite_dimensional_algebra_element import FiniteDimensionalAlgebraElement
@@ -19,6 +19,7 @@ from .finite_dimensional_algebra_ideal import FiniteDimensionalAlgebraIdeal
19
19
  from sage.rings.integer_ring import ZZ
20
20
 
21
21
  from sage.categories.magmatic_algebras import MagmaticAlgebras
22
+ from sage.categories.algebras import Algebras
22
23
  from sage.matrix.constructor import matrix
23
24
  from sage.structure.element import Matrix
24
25
  from sage.structure.category_object import normalize_names
@@ -33,6 +34,9 @@ class FiniteDimensionalAlgebra(UniqueRepresentation, Parent):
33
34
  r"""
34
35
  Create a finite-dimensional `k`-algebra from a multiplication table.
35
36
 
37
+ This is a magmatic `k`-algebra, i.e., not necessarily
38
+ associative or unital.
39
+
36
40
  INPUT:
37
41
 
38
42
  - ``k`` -- a field
@@ -46,6 +50,10 @@ class FiniteDimensionalAlgebra(UniqueRepresentation, Parent):
46
50
  ``True``, then the category is set to ``category.Associative()``
47
51
  and methods requiring associativity assume this
48
52
 
53
+ - ``assume_unital`` -- boolean (default: ``False``); if
54
+ ``True``, then the category is set to ``category.Unital()``
55
+ and methods requiring unitality assume this
56
+
49
57
  - ``category`` -- (default:
50
58
  ``MagmaticAlgebras(k).FiniteDimensional().WithBasis()``)
51
59
  the category to which this algebra belongs
@@ -68,6 +76,49 @@ class FiniteDimensionalAlgebra(UniqueRepresentation, Parent):
68
76
  ....: Matrix([[0,0,0], [0,0,0], [0,0,1]])])
69
77
  sage: B
70
78
  Finite-dimensional algebra of degree 3 over Rational Field
79
+ sage: B.one()
80
+ e0 + e2
81
+ sage: B.is_associative()
82
+ True
83
+
84
+ A more complicated example (the descent algebra of `S_3` in
85
+ a slightly rescaled I-basis, see :class:`DescentAlgebra`)::
86
+
87
+ sage: Ma = Matrix([[6,0,0,0], [0,0,0,0], [0,0,0,0], [0,0,0,0]])
88
+ sage: Mb = Matrix([[0,0,0,0], [0,1,0,0], [0,1,0,0], [0,0,0,0]])
89
+ sage: Mc = Matrix([[0,0,0,0], [0,0,1,0], [0,0,1,0], [0,0,0,0]])
90
+ sage: Md = Matrix([[0,0,0,0], [0,1,-1,0], [0,-1,1,0], [0,0,0,2]])
91
+ sage: C = FiniteDimensionalAlgebra(QQ, [Ma, Mb, Mc, Md])
92
+ sage: C.one()
93
+ 1/6*e0 + 1/2*e1 + 1/2*e2 + 1/2*e3
94
+ sage: C.is_associative()
95
+ True
96
+ sage: C.is_commutative()
97
+ False
98
+
99
+ If we set both ``is_associative`` and ``is_unital`` to
100
+ ``True``, then this is an associative unital algebra and
101
+ belongs to the category of
102
+ :class:`sage.categories.finite_dimensional_algebras_with_basis.FiniteDimensionalAlgebrasWithBasis`::
103
+
104
+ sage: C = FiniteDimensionalAlgebra(QQ, [Ma, Mb, Mc, Md],
105
+ ....: assume_associative=True,
106
+ ....: assume_unital=True)
107
+ sage: C.radical_basis()
108
+ (e1 - e2,)
109
+ sage: C.radical()
110
+ Radical of Finite-dimensional algebra of degree 4 over Rational Field
111
+ sage: C.center_basis()
112
+ (e0, e1 + e2 + e3)
113
+ sage: C.center()
114
+ Center of Finite-dimensional algebra of degree 4 over Rational Field
115
+ sage: C.center().is_commutative()
116
+ True
117
+ sage: e = C.basis()
118
+ sage: C.annihilator_basis([e[1]])
119
+ (e0, e1 - e2, e3)
120
+ sage: C.annihilator_basis([e[1]], side='left')
121
+ (e0, e1 - e2 - e3)
71
122
 
72
123
  TESTS::
73
124
 
@@ -83,7 +134,7 @@ class FiniteDimensionalAlgebra(UniqueRepresentation, Parent):
83
134
  """
84
135
  @staticmethod
85
136
  def __classcall_private__(cls, k, table, names='e', assume_associative=False,
86
- category=None):
137
+ assume_unital=False, category=None):
87
138
  """
88
139
  Normalize input.
89
140
 
@@ -106,6 +157,26 @@ class FiniteDimensionalAlgebra(UniqueRepresentation, Parent):
106
157
  sage: A1 is A2
107
158
  True
108
159
 
160
+ Likewise for the ``assume_associative`` keyword::
161
+
162
+ sage: A3 = FiniteDimensionalAlgebra(GF(3), table,
163
+ ....: category=cat.Unital())
164
+ sage: A4 = FiniteDimensionalAlgebra(GF(3), table, assume_unital=True)
165
+ sage: A3 is A4
166
+ True
167
+
168
+ With both keywords on, the
169
+ :class:`sage.categories.algebras.Algebras` category
170
+ is used::
171
+
172
+ sage: cat_a = Algebras(GF(3)).FiniteDimensional().WithBasis()
173
+ sage: A5 = FiniteDimensionalAlgebra(GF(3), table,
174
+ ....: category=cat_a)
175
+ sage: A6 = FiniteDimensionalAlgebra(GF(3), table, assume_associative=True,
176
+ ....: assume_unital=True)
177
+ sage: A5 is A6
178
+ True
179
+
109
180
  Uniqueness depends on the category::
110
181
 
111
182
  sage: cat = Algebras(GF(3)).FiniteDimensional().WithBasis()
@@ -145,6 +216,12 @@ class FiniteDimensionalAlgebra(UniqueRepresentation, Parent):
145
216
  cat = cat.or_subcategory(category)
146
217
  if assume_associative:
147
218
  cat = cat.Associative()
219
+ if assume_unital:
220
+ # both unital and associative, so algebra in modern sense
221
+ cat = Algebras(k).FiniteDimensional().WithBasis()
222
+ cat = cat.or_subcategory(category)
223
+ elif assume_unital:
224
+ cat = cat.Unital()
148
225
 
149
226
  names = normalize_names(n, names)
150
227
 
@@ -611,10 +688,10 @@ class FiniteDimensionalAlgebra(UniqueRepresentation, Parent):
611
688
  v = matrix(k, 1, n**2, (n - 1) * ([kone] + n * [kzero]) + [kone])
612
689
  try:
613
690
  sol1 = B1.solve_left(v)
614
- sol2 = B2.solve_left(v)
615
691
  except ValueError:
616
692
  return False
617
- assert sol1 == sol2
693
+ if sol1 * B2 != v:
694
+ return False
618
695
  self._one = sol1
619
696
  return True
620
697
 
@@ -932,7 +1009,8 @@ class FiniteDimensionalAlgebra(UniqueRepresentation, Parent):
932
1009
  """
933
1010
  Return a list consisting of all maximal ideals of ``self``.
934
1011
 
935
- The algebra ``self`` has to be in the category of associative algebras.
1012
+ The algebra ``self`` has to be in the category of
1013
+ commutative, associative algebras.
936
1014
 
937
1015
  EXAMPLES::
938
1016
 
@@ -7,4 +7,6 @@ cdef class FiniteDimensionalAlgebraElement(AlgebraElement):
7
7
  cdef Matrix __matrix
8
8
  cdef FiniteDimensionalAlgebraElement __inverse
9
9
 
10
+ cpdef dict monomial_coefficients(self, bint copy=*)
11
+
10
12
  cpdef FiniteDimensionalAlgebraElement unpickle_FiniteDimensionalAlgebraElement(A, vec, mat)
@@ -132,6 +132,7 @@ cdef class FiniteDimensionalAlgebraElement(AlgebraElement):
132
132
  else:
133
133
  raise TypeError("elt should be a vector, a matrix, " +
134
134
  "or an element of the base field")
135
+ self._vector.set_immutable()
135
136
 
136
137
  def __reduce__(self):
137
138
  """
@@ -205,6 +206,7 @@ cdef class FiniteDimensionalAlgebraElement(AlgebraElement):
205
206
  table = <tuple> A.table()
206
207
  ret = sum(self._vector[0, i] * table[i] for i in range(A.degree()))
207
208
  self.__matrix = MatrixSpace(A.base_ring(), A.degree())(ret)
209
+ self.__matrix.set_immutable()
208
210
  return self.__matrix
209
211
 
210
212
  def vector(self):
@@ -240,7 +242,7 @@ cdef class FiniteDimensionalAlgebraElement(AlgebraElement):
240
242
  """
241
243
  return self._matrix
242
244
 
243
- def monomial_coefficients(self, copy=True):
245
+ cpdef dict monomial_coefficients(self, bint copy=True):
244
246
  """
245
247
  Return a dictionary whose keys are indices of basis elements in
246
248
  the support of ``self`` and whose values are the corresponding
@@ -257,9 +259,10 @@ cdef class FiniteDimensionalAlgebraElement(AlgebraElement):
257
259
  sage: elt = B(Matrix([[1,1], [-1,1]]))
258
260
  sage: elt.monomial_coefficients()
259
261
  {0: 1, 1: 1}
262
+ sage: B.one().monomial_coefficients()
263
+ {0: 1}
260
264
  """
261
- cdef Py_ssize_t i
262
- return {i: self._vector[0, i] for i in range(self._vector.ncols())}
265
+ return {k[1]: c for k, c in self._vector._dict().items()}
263
266
 
264
267
  def left_matrix(self):
265
268
  """
@@ -335,6 +338,23 @@ cdef class FiniteDimensionalAlgebraElement(AlgebraElement):
335
338
  from sage.misc.latex import latex
336
339
  return latex(self.matrix())
337
340
 
341
+ def __hash__(self):
342
+ """
343
+ Return the hash value for ``self``.
344
+
345
+ EXAMPLES::
346
+
347
+ sage: A = FiniteDimensionalAlgebra(GF(3), [Matrix([[1,0], [0,1]]),
348
+ ....: Matrix([[0,1], [0,0]])])
349
+ sage: a = A([1,2])
350
+ sage: b = A([2,3])
351
+ sage: hash(a) == hash(A([1,2]))
352
+ True
353
+ sage: hash(a) == hash(b)
354
+ False
355
+ """
356
+ return hash(self._vector)
357
+
338
358
  def __getitem__(self, m):
339
359
  """
340
360
  Return the `m`-th coefficient of ``self``.
@@ -351,6 +371,9 @@ cdef class FiniteDimensionalAlgebraElement(AlgebraElement):
351
371
 
352
372
  def __len__(self):
353
373
  """
374
+ Return the number of coefficients of ``self``,
375
+ including the zero coefficients.
376
+
354
377
  EXAMPLES::
355
378
 
356
379
  sage: A = FiniteDimensionalAlgebra(QQ, [Matrix([[1,0,0], [0,1,0], [0,0,0]]),
@@ -358,6 +381,8 @@ cdef class FiniteDimensionalAlgebraElement(AlgebraElement):
358
381
  ....: Matrix([[0,0,0], [0,0,0], [0,0,1]])])
359
382
  sage: len(A([2,1/4,3]))
360
383
  3
384
+ sage: len(A([2,0,3/4]))
385
+ 3
361
386
  """
362
387
  return self._vector.ncols()
363
388
 
@@ -161,7 +161,7 @@ class FiniteGCAlgebra(CombinatorialFreeModule):
161
161
  raise TypeError("max_degree must be specified")
162
162
  if names is None:
163
163
  if degrees is None:
164
- raise ValueError("You must specify names or degrees")
164
+ raise ValueError("you must specify names or degrees")
165
165
  else:
166
166
  n = len(degrees)
167
167
  names = tuple(f'x{i}' for i in range(n))
@@ -18,20 +18,25 @@ AUTHORS:
18
18
  # http://www.gnu.org/licenses/
19
19
  #*****************************************************************************
20
20
 
21
- from sage.misc.lazy_attribute import lazy_attribute
22
- from sage.misc.cachefunc import cached_method
21
+ try:
22
+ from typing import Self # type: ignore (Python >= 3.11)
23
+ except ImportError:
24
+ from typing_extensions import Self # type: ignore (Python 3.10)
25
+
26
+ from sage.algebras.lie_algebras.verma_module import ModulePrinting
23
27
  from sage.categories.enumerated_sets import EnumeratedSets
24
28
  from sage.categories.monoids import Monoids
25
- from sage.structure.parent import Parent
26
- from sage.structure.indexed_generators import IndexedGenerators
27
- from sage.monoids.indexed_free_monoid import IndexedFreeAbelianMonoid, IndexedMonoid
28
29
  from sage.combinat.free_module import CombinatorialFreeModule
29
- from sage.sets.family import Family
30
- from sage.sets.finite_enumerated_set import FiniteEnumeratedSet
30
+ from sage.data_structures.blas_dict import iaxpy
31
31
  from sage.matrix.constructor import matrix
32
+ from sage.misc.cachefunc import cached_method
33
+ from sage.misc.lazy_attribute import lazy_attribute
34
+ from sage.monoids.indexed_free_monoid import IndexedFreeAbelianMonoid, IndexedMonoid
32
35
  from sage.rings.integer_ring import ZZ
33
- from sage.data_structures.blas_dict import iaxpy
34
- from sage.algebras.lie_algebras.verma_module import ModulePrinting
36
+ from sage.sets.family import Family
37
+ from sage.sets.finite_enumerated_set import FiniteEnumeratedSet
38
+ from sage.structure.indexed_generators import IndexedGenerators
39
+ from sage.structure.parent import Parent
35
40
 
36
41
 
37
42
  class BGGDualModule(CombinatorialFreeModule):
@@ -781,7 +786,9 @@ class SimpleModuleIndices(IndexedFreeAbelianMonoid):
781
786
  P = Phi.weight_lattice()
782
787
  coroots = Phi.root_lattice().simple_coroots()
783
788
  la = P._from_dict({i: weight.scalar(ac) for i, ac in coroots.items()})
784
- from sage.combinat.crystals.monomial_crystals import CrystalOfNakajimaMonomials
789
+ from sage.combinat.crystals.monomial_crystals import (
790
+ CrystalOfNakajimaMonomials,
791
+ )
785
792
  return CrystalOfNakajimaMonomials(la).cardinality()
786
793
  from sage.rings.infinity import infinity
787
794
  return infinity
@@ -981,7 +988,7 @@ class SimpleModule(ModulePrinting, CombinatorialFreeModule):
981
988
  raise ValueError(f"{m} does not index a basis element")
982
989
  return self._indices._basis[m]
983
990
 
984
- def dual(self):
991
+ def dual(self) -> Self:
985
992
  r"""
986
993
  Return the dual module of ``self``, which is ``self`` since simple
987
994
  modules are self-dual.
@@ -1713,7 +1713,7 @@ class LieAlgebraChevalleyBasis(LieAlgebraWithStructureCoefficients):
1713
1713
 
1714
1714
  sage: sl3 = LieAlgebra(GF(3), cartan_type=['A',2])
1715
1715
  sage: sl3.center().basis()
1716
- Family (2*h1 + h2,)
1716
+ Finite family {alphacheck[2]: 2*h1 + h2}
1717
1717
  sage: sl4 = lie_algebras.sl(GF(3), 4)
1718
1718
  sage: sl4.center().dimension()
1719
1719
  0
@@ -1735,7 +1735,7 @@ class LieAlgebraChevalleyBasis(LieAlgebraWithStructureCoefficients):
1735
1735
 
1736
1736
  sage: sl4 = LieAlgebra(GF(2), cartan_type=['A',3])
1737
1737
  sage: sl4.center().basis()
1738
- Family (h1 + h3,)
1738
+ Finite family {alphacheck[3]: h1 + h3}
1739
1739
  sage: sp6 = LieAlgebra(GF(2), cartan_type=['C',3])
1740
1740
  sage: sp6.killing_form_matrix().det()
1741
1741
  0
@@ -2172,7 +2172,7 @@ class LieAlgebraChevalleyBasis(LieAlgebraWithStructureCoefficients):
2172
2172
  return Family(I, d.__getitem__)
2173
2173
 
2174
2174
  @cached_method
2175
- def gens(self):
2175
+ def gens(self) -> tuple:
2176
2176
  r"""
2177
2177
  Return the generators of ``self`` in the order of `e_i`, `f_i`,
2178
2178
  and `h_i`.
@@ -169,7 +169,7 @@ def three_dimensional_by_rank(R, n, a=None, names=['X', 'Y', 'Z']):
169
169
 
170
170
  if n == 2:
171
171
  if a is None:
172
- raise ValueError("The parameter 'a' must be specified")
172
+ raise ValueError("the parameter 'a' must be specified")
173
173
  X = names[0]
174
174
  Y = names[1]
175
175
  Z = names[2]
@@ -197,7 +197,7 @@ def three_dimensional_by_rank(R, n, a=None, names=['X', 'Y', 'Z']):
197
197
  L.rename("sl2 over {}".format(R))
198
198
  return L
199
199
 
200
- raise ValueError("Invalid rank")
200
+ raise ValueError("invalid rank")
201
201
 
202
202
 
203
203
  def affine_transformations_line(R, names=['X', 'Y'], representation='bracket'):
@@ -421,7 +421,7 @@ class FreeLieAlgebra(Parent, UniqueRepresentation):
421
421
  """
422
422
  return self.Lyndon().lie_algebra_generators()
423
423
 
424
- def gens(self):
424
+ def gens(self) -> tuple:
425
425
  """
426
426
  Return the generators of ``self`` in the Lyndon basis.
427
427
 
@@ -8,15 +8,15 @@ AUTHORS:
8
8
  - Travis Scrimshaw (2013-08-13): Initial version
9
9
  """
10
10
 
11
- #*****************************************************************************
11
+ # ***************************************************************************
12
12
  # Copyright (C) 2013-2017 Travis Scrimshaw <tcscrims at gmail.com>
13
13
  #
14
14
  # This program is free software: you can redistribute it and/or modify
15
15
  # it under the terms of the GNU General Public License as published by
16
16
  # the Free Software Foundation, either version 2 of the License, or
17
17
  # (at your option) any later version.
18
- # http://www.gnu.org/licenses/
19
- #*****************************************************************************
18
+ # https://www.gnu.org/licenses/
19
+ # ***************************************************************************
20
20
 
21
21
  from sage.misc.cachefunc import cached_method
22
22
  from sage.structure.indexed_generators import IndexedGenerators
@@ -236,7 +236,7 @@ class HeisenbergAlgebra_fd:
236
236
  return self._n
237
237
 
238
238
  @cached_method
239
- def gens(self):
239
+ def gens(self) -> tuple:
240
240
  """
241
241
  Return the Lie algebra generators of ``self``.
242
242
 
@@ -825,7 +825,7 @@ class LieAlgebraWithGenerators(LieAlgebra):
825
825
  return Family(self._indices, self.monomial, name="monomial map")
826
826
 
827
827
  @cached_method
828
- def gens(self):
828
+ def gens(self) -> tuple:
829
829
  """
830
830
  Return a tuple whose entries are the generators for this
831
831
  object, in some order.