passagemath-categories 10.6.32__cp314-cp314t-musllinux_1_2_aarch64.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.
Files changed (719) hide show
  1. passagemath_categories-10.6.32.dist-info/METADATA +156 -0
  2. passagemath_categories-10.6.32.dist-info/RECORD +719 -0
  3. passagemath_categories-10.6.32.dist-info/WHEEL +5 -0
  4. passagemath_categories-10.6.32.dist-info/top_level.txt +2 -0
  5. passagemath_categories.libs/libgcc_s-2d945d6c.so.1 +0 -0
  6. passagemath_categories.libs/libgmp-28992bcb.so.10.5.0 +0 -0
  7. passagemath_categories.libs/libstdc++-85f2cd6d.so.6.0.33 +0 -0
  8. sage/all__sagemath_categories.py +28 -0
  9. sage/arith/all.py +38 -0
  10. sage/arith/constants.pxd +27 -0
  11. sage/arith/functions.cpython-314t-aarch64-linux-musl.so +0 -0
  12. sage/arith/functions.pxd +4 -0
  13. sage/arith/functions.pyx +221 -0
  14. sage/arith/misc.py +6552 -0
  15. sage/arith/multi_modular.cpython-314t-aarch64-linux-musl.so +0 -0
  16. sage/arith/multi_modular.pxd +39 -0
  17. sage/arith/multi_modular.pyx +994 -0
  18. sage/arith/rational_reconstruction.cpython-314t-aarch64-linux-musl.so +0 -0
  19. sage/arith/rational_reconstruction.pxd +4 -0
  20. sage/arith/rational_reconstruction.pyx +115 -0
  21. sage/arith/srange.cpython-314t-aarch64-linux-musl.so +0 -0
  22. sage/arith/srange.pyx +571 -0
  23. sage/calculus/all__sagemath_categories.py +2 -0
  24. sage/calculus/functional.py +481 -0
  25. sage/calculus/functions.py +151 -0
  26. sage/categories/additive_groups.py +73 -0
  27. sage/categories/additive_magmas.py +1044 -0
  28. sage/categories/additive_monoids.py +114 -0
  29. sage/categories/additive_semigroups.py +184 -0
  30. sage/categories/affine_weyl_groups.py +238 -0
  31. sage/categories/algebra_ideals.py +95 -0
  32. sage/categories/algebra_modules.py +96 -0
  33. sage/categories/algebras.py +349 -0
  34. sage/categories/algebras_with_basis.py +377 -0
  35. sage/categories/all.py +160 -0
  36. sage/categories/aperiodic_semigroups.py +29 -0
  37. sage/categories/associative_algebras.py +47 -0
  38. sage/categories/bialgebras.py +101 -0
  39. sage/categories/bialgebras_with_basis.py +414 -0
  40. sage/categories/bimodules.py +206 -0
  41. sage/categories/chain_complexes.py +268 -0
  42. sage/categories/classical_crystals.py +480 -0
  43. sage/categories/coalgebras.py +405 -0
  44. sage/categories/coalgebras_with_basis.py +232 -0
  45. sage/categories/coercion_methods.cpython-314t-aarch64-linux-musl.so +0 -0
  46. sage/categories/coercion_methods.pyx +52 -0
  47. sage/categories/commutative_additive_groups.py +104 -0
  48. sage/categories/commutative_additive_monoids.py +45 -0
  49. sage/categories/commutative_additive_semigroups.py +48 -0
  50. sage/categories/commutative_algebra_ideals.py +87 -0
  51. sage/categories/commutative_algebras.py +94 -0
  52. sage/categories/commutative_ring_ideals.py +58 -0
  53. sage/categories/commutative_rings.py +736 -0
  54. sage/categories/complete_discrete_valuation.py +293 -0
  55. sage/categories/complex_reflection_groups.py +145 -0
  56. sage/categories/complex_reflection_or_generalized_coxeter_groups.py +1249 -0
  57. sage/categories/coxeter_group_algebras.py +186 -0
  58. sage/categories/coxeter_groups.py +3402 -0
  59. sage/categories/crystals.py +2628 -0
  60. sage/categories/cw_complexes.py +216 -0
  61. sage/categories/dedekind_domains.py +137 -0
  62. sage/categories/discrete_valuation.py +325 -0
  63. sage/categories/distributive_magmas_and_additive_magmas.py +100 -0
  64. sage/categories/division_rings.py +114 -0
  65. sage/categories/domains.py +95 -0
  66. sage/categories/drinfeld_modules.py +789 -0
  67. sage/categories/dual.py +42 -0
  68. sage/categories/enumerated_sets.py +1146 -0
  69. sage/categories/euclidean_domains.py +271 -0
  70. sage/categories/examples/algebras_with_basis.py +102 -0
  71. sage/categories/examples/all.py +1 -0
  72. sage/categories/examples/commutative_additive_monoids.py +130 -0
  73. sage/categories/examples/commutative_additive_semigroups.py +199 -0
  74. sage/categories/examples/coxeter_groups.py +8 -0
  75. sage/categories/examples/crystals.py +236 -0
  76. sage/categories/examples/cw_complexes.py +163 -0
  77. sage/categories/examples/facade_sets.py +187 -0
  78. sage/categories/examples/filtered_algebras_with_basis.py +204 -0
  79. sage/categories/examples/filtered_modules_with_basis.py +154 -0
  80. sage/categories/examples/finite_coxeter_groups.py +252 -0
  81. sage/categories/examples/finite_dimensional_algebras_with_basis.py +148 -0
  82. sage/categories/examples/finite_dimensional_lie_algebras_with_basis.py +495 -0
  83. sage/categories/examples/finite_enumerated_sets.py +208 -0
  84. sage/categories/examples/finite_monoids.py +150 -0
  85. sage/categories/examples/finite_semigroups.py +190 -0
  86. sage/categories/examples/finite_weyl_groups.py +191 -0
  87. sage/categories/examples/graded_connected_hopf_algebras_with_basis.py +152 -0
  88. sage/categories/examples/graded_modules_with_basis.py +168 -0
  89. sage/categories/examples/graphs.py +122 -0
  90. sage/categories/examples/hopf_algebras_with_basis.py +145 -0
  91. sage/categories/examples/infinite_enumerated_sets.py +190 -0
  92. sage/categories/examples/lie_algebras.py +352 -0
  93. sage/categories/examples/lie_algebras_with_basis.py +196 -0
  94. sage/categories/examples/magmas.py +162 -0
  95. sage/categories/examples/manifolds.py +94 -0
  96. sage/categories/examples/monoids.py +144 -0
  97. sage/categories/examples/posets.py +178 -0
  98. sage/categories/examples/semigroups.py +580 -0
  99. sage/categories/examples/semigroups_cython.cpython-314t-aarch64-linux-musl.so +0 -0
  100. sage/categories/examples/semigroups_cython.pyx +221 -0
  101. sage/categories/examples/semirings.py +249 -0
  102. sage/categories/examples/sets_cat.py +706 -0
  103. sage/categories/examples/sets_with_grading.py +101 -0
  104. sage/categories/examples/with_realizations.py +542 -0
  105. sage/categories/fields.py +991 -0
  106. sage/categories/filtered_algebras.py +63 -0
  107. sage/categories/filtered_algebras_with_basis.py +548 -0
  108. sage/categories/filtered_hopf_algebras_with_basis.py +138 -0
  109. sage/categories/filtered_modules.py +210 -0
  110. sage/categories/filtered_modules_with_basis.py +1209 -0
  111. sage/categories/finite_complex_reflection_groups.py +1506 -0
  112. sage/categories/finite_coxeter_groups.py +1138 -0
  113. sage/categories/finite_crystals.py +103 -0
  114. sage/categories/finite_dimensional_algebras_with_basis.py +1860 -0
  115. sage/categories/finite_dimensional_bialgebras_with_basis.py +33 -0
  116. sage/categories/finite_dimensional_coalgebras_with_basis.py +33 -0
  117. sage/categories/finite_dimensional_graded_lie_algebras_with_basis.py +231 -0
  118. sage/categories/finite_dimensional_hopf_algebras_with_basis.py +38 -0
  119. sage/categories/finite_dimensional_lie_algebras_with_basis.py +2774 -0
  120. sage/categories/finite_dimensional_modules_with_basis.py +1407 -0
  121. sage/categories/finite_dimensional_nilpotent_lie_algebras_with_basis.py +167 -0
  122. sage/categories/finite_dimensional_semisimple_algebras_with_basis.py +270 -0
  123. sage/categories/finite_enumerated_sets.py +769 -0
  124. sage/categories/finite_fields.py +252 -0
  125. sage/categories/finite_groups.py +256 -0
  126. sage/categories/finite_lattice_posets.py +242 -0
  127. sage/categories/finite_monoids.py +316 -0
  128. sage/categories/finite_permutation_groups.py +339 -0
  129. sage/categories/finite_posets.py +1994 -0
  130. sage/categories/finite_semigroups.py +136 -0
  131. sage/categories/finite_sets.py +93 -0
  132. sage/categories/finite_weyl_groups.py +39 -0
  133. sage/categories/finitely_generated_lambda_bracket_algebras.py +112 -0
  134. sage/categories/finitely_generated_lie_conformal_algebras.py +114 -0
  135. sage/categories/finitely_generated_magmas.py +57 -0
  136. sage/categories/finitely_generated_semigroups.py +214 -0
  137. sage/categories/function_fields.py +76 -0
  138. sage/categories/g_sets.py +77 -0
  139. sage/categories/gcd_domains.py +65 -0
  140. sage/categories/generalized_coxeter_groups.py +94 -0
  141. sage/categories/graded_algebras.py +85 -0
  142. sage/categories/graded_algebras_with_basis.py +258 -0
  143. sage/categories/graded_bialgebras.py +32 -0
  144. sage/categories/graded_bialgebras_with_basis.py +32 -0
  145. sage/categories/graded_coalgebras.py +65 -0
  146. sage/categories/graded_coalgebras_with_basis.py +51 -0
  147. sage/categories/graded_hopf_algebras.py +41 -0
  148. sage/categories/graded_hopf_algebras_with_basis.py +169 -0
  149. sage/categories/graded_lie_algebras.py +91 -0
  150. sage/categories/graded_lie_algebras_with_basis.py +44 -0
  151. sage/categories/graded_lie_conformal_algebras.py +74 -0
  152. sage/categories/graded_modules.py +133 -0
  153. sage/categories/graded_modules_with_basis.py +329 -0
  154. sage/categories/graphs.py +138 -0
  155. sage/categories/group_algebras.py +430 -0
  156. sage/categories/groupoid.py +94 -0
  157. sage/categories/groups.py +667 -0
  158. sage/categories/h_trivial_semigroups.py +64 -0
  159. sage/categories/hecke_modules.py +185 -0
  160. sage/categories/highest_weight_crystals.py +980 -0
  161. sage/categories/hopf_algebras.py +219 -0
  162. sage/categories/hopf_algebras_with_basis.py +309 -0
  163. sage/categories/infinite_enumerated_sets.py +115 -0
  164. sage/categories/integral_domains.py +203 -0
  165. sage/categories/j_trivial_semigroups.py +29 -0
  166. sage/categories/kac_moody_algebras.py +82 -0
  167. sage/categories/kahler_algebras.py +203 -0
  168. sage/categories/l_trivial_semigroups.py +63 -0
  169. sage/categories/lambda_bracket_algebras.py +280 -0
  170. sage/categories/lambda_bracket_algebras_with_basis.py +107 -0
  171. sage/categories/lattice_posets.py +89 -0
  172. sage/categories/left_modules.py +49 -0
  173. sage/categories/lie_algebras.py +1070 -0
  174. sage/categories/lie_algebras_with_basis.py +261 -0
  175. sage/categories/lie_conformal_algebras.py +350 -0
  176. sage/categories/lie_conformal_algebras_with_basis.py +147 -0
  177. sage/categories/lie_groups.py +73 -0
  178. sage/categories/loop_crystals.py +1290 -0
  179. sage/categories/magmas.py +1189 -0
  180. sage/categories/magmas_and_additive_magmas.py +149 -0
  181. sage/categories/magmatic_algebras.py +365 -0
  182. sage/categories/manifolds.py +352 -0
  183. sage/categories/matrix_algebras.py +40 -0
  184. sage/categories/metric_spaces.py +387 -0
  185. sage/categories/modular_abelian_varieties.py +78 -0
  186. sage/categories/modules.py +989 -0
  187. sage/categories/modules_with_basis.py +2794 -0
  188. sage/categories/monoid_algebras.py +38 -0
  189. sage/categories/monoids.py +739 -0
  190. sage/categories/noetherian_rings.py +87 -0
  191. sage/categories/number_fields.py +242 -0
  192. sage/categories/ore_modules.py +189 -0
  193. sage/categories/partially_ordered_monoids.py +49 -0
  194. sage/categories/permutation_groups.py +63 -0
  195. sage/categories/pointed_sets.py +42 -0
  196. sage/categories/polyhedra.py +74 -0
  197. sage/categories/poor_man_map.py +270 -0
  198. sage/categories/posets.py +722 -0
  199. sage/categories/principal_ideal_domains.py +270 -0
  200. sage/categories/quantum_group_representations.py +543 -0
  201. sage/categories/quotient_fields.py +728 -0
  202. sage/categories/r_trivial_semigroups.py +45 -0
  203. sage/categories/regular_crystals.py +898 -0
  204. sage/categories/regular_supercrystals.py +170 -0
  205. sage/categories/right_modules.py +49 -0
  206. sage/categories/ring_ideals.py +74 -0
  207. sage/categories/rings.py +1904 -0
  208. sage/categories/rngs.py +175 -0
  209. sage/categories/schemes.py +393 -0
  210. sage/categories/semigroups.py +1060 -0
  211. sage/categories/semirings.py +71 -0
  212. sage/categories/semisimple_algebras.py +114 -0
  213. sage/categories/sets_with_grading.py +235 -0
  214. sage/categories/shephard_groups.py +43 -0
  215. sage/categories/signed_tensor.py +120 -0
  216. sage/categories/simplicial_complexes.py +134 -0
  217. sage/categories/simplicial_sets.py +1206 -0
  218. sage/categories/super_algebras.py +149 -0
  219. sage/categories/super_algebras_with_basis.py +144 -0
  220. sage/categories/super_hopf_algebras_with_basis.py +126 -0
  221. sage/categories/super_lie_conformal_algebras.py +193 -0
  222. sage/categories/super_modules.py +229 -0
  223. sage/categories/super_modules_with_basis.py +193 -0
  224. sage/categories/supercommutative_algebras.py +99 -0
  225. sage/categories/supercrystals.py +406 -0
  226. sage/categories/tensor.py +110 -0
  227. sage/categories/topological_spaces.py +170 -0
  228. sage/categories/triangular_kac_moody_algebras.py +439 -0
  229. sage/categories/tutorial.py +58 -0
  230. sage/categories/unique_factorization_domains.py +318 -0
  231. sage/categories/unital_algebras.py +426 -0
  232. sage/categories/vector_bundles.py +159 -0
  233. sage/categories/vector_spaces.py +357 -0
  234. sage/categories/weyl_groups.py +853 -0
  235. sage/combinat/all__sagemath_categories.py +34 -0
  236. sage/combinat/backtrack.py +180 -0
  237. sage/combinat/combinat.py +2269 -0
  238. sage/combinat/combinat_cython.cpython-314t-aarch64-linux-musl.so +0 -0
  239. sage/combinat/combinat_cython.pxd +6 -0
  240. sage/combinat/combinat_cython.pyx +390 -0
  241. sage/combinat/combination.py +796 -0
  242. sage/combinat/combinatorial_map.py +416 -0
  243. sage/combinat/composition.py +2192 -0
  244. sage/combinat/dlx.py +510 -0
  245. sage/combinat/integer_lists/__init__.py +7 -0
  246. sage/combinat/integer_lists/base.cpython-314t-aarch64-linux-musl.so +0 -0
  247. sage/combinat/integer_lists/base.pxd +16 -0
  248. sage/combinat/integer_lists/base.pyx +713 -0
  249. sage/combinat/integer_lists/invlex.cpython-314t-aarch64-linux-musl.so +0 -0
  250. sage/combinat/integer_lists/invlex.pxd +4 -0
  251. sage/combinat/integer_lists/invlex.pyx +1650 -0
  252. sage/combinat/integer_lists/lists.py +328 -0
  253. sage/combinat/integer_lists/nn.py +48 -0
  254. sage/combinat/integer_vector.py +1818 -0
  255. sage/combinat/integer_vector_weighted.py +413 -0
  256. sage/combinat/matrices/all__sagemath_categories.py +5 -0
  257. sage/combinat/matrices/dancing_links.cpython-314t-aarch64-linux-musl.so +0 -0
  258. sage/combinat/matrices/dancing_links.pyx +1159 -0
  259. sage/combinat/matrices/dancing_links_c.h +380 -0
  260. sage/combinat/matrices/dlxcpp.py +136 -0
  261. sage/combinat/partition.py +10070 -0
  262. sage/combinat/partitions.cpython-314t-aarch64-linux-musl.so +0 -0
  263. sage/combinat/partitions.pyx +743 -0
  264. sage/combinat/permutation.py +10168 -0
  265. sage/combinat/permutation_cython.cpython-314t-aarch64-linux-musl.so +0 -0
  266. sage/combinat/permutation_cython.pxd +11 -0
  267. sage/combinat/permutation_cython.pyx +407 -0
  268. sage/combinat/q_analogues.py +1090 -0
  269. sage/combinat/ranker.py +268 -0
  270. sage/combinat/subset.py +1561 -0
  271. sage/combinat/subsets_hereditary.py +202 -0
  272. sage/combinat/subsets_pairwise.py +184 -0
  273. sage/combinat/tools.py +63 -0
  274. sage/combinat/tuple.py +348 -0
  275. sage/data_structures/all.py +2 -0
  276. sage/data_structures/all__sagemath_categories.py +2 -0
  277. sage/data_structures/binary_matrix.pxd +138 -0
  278. sage/data_structures/binary_search.cpython-314t-aarch64-linux-musl.so +0 -0
  279. sage/data_structures/binary_search.pxd +3 -0
  280. sage/data_structures/binary_search.pyx +66 -0
  281. sage/data_structures/bitset.cpython-314t-aarch64-linux-musl.so +0 -0
  282. sage/data_structures/bitset.pxd +40 -0
  283. sage/data_structures/bitset.pyx +2385 -0
  284. sage/data_structures/bitset_base.cpython-314t-aarch64-linux-musl.so +0 -0
  285. sage/data_structures/bitset_base.pxd +926 -0
  286. sage/data_structures/bitset_base.pyx +117 -0
  287. sage/data_structures/bitset_intrinsics.h +487 -0
  288. sage/data_structures/blas_dict.cpython-314t-aarch64-linux-musl.so +0 -0
  289. sage/data_structures/blas_dict.pxd +12 -0
  290. sage/data_structures/blas_dict.pyx +469 -0
  291. sage/data_structures/list_of_pairs.cpython-314t-aarch64-linux-musl.so +0 -0
  292. sage/data_structures/list_of_pairs.pxd +16 -0
  293. sage/data_structures/list_of_pairs.pyx +122 -0
  294. sage/data_structures/mutable_poset.py +3312 -0
  295. sage/data_structures/pairing_heap.cpython-314t-aarch64-linux-musl.so +0 -0
  296. sage/data_structures/pairing_heap.h +346 -0
  297. sage/data_structures/pairing_heap.pxd +88 -0
  298. sage/data_structures/pairing_heap.pyx +1464 -0
  299. sage/data_structures/sparse_bitset.pxd +62 -0
  300. sage/data_structures/stream.py +5070 -0
  301. sage/databases/all__sagemath_categories.py +7 -0
  302. sage/databases/sql_db.py +2236 -0
  303. sage/ext/all__sagemath_categories.py +3 -0
  304. sage/ext/fast_callable.cpython-314t-aarch64-linux-musl.so +0 -0
  305. sage/ext/fast_callable.pxd +4 -0
  306. sage/ext/fast_callable.pyx +2746 -0
  307. sage/ext/fast_eval.cpython-314t-aarch64-linux-musl.so +0 -0
  308. sage/ext/fast_eval.pxd +1 -0
  309. sage/ext/fast_eval.pyx +102 -0
  310. sage/ext/interpreters/__init__.py +1 -0
  311. sage/ext/interpreters/all__sagemath_categories.py +2 -0
  312. sage/ext/interpreters/wrapper_el.cpython-314t-aarch64-linux-musl.so +0 -0
  313. sage/ext/interpreters/wrapper_el.pxd +18 -0
  314. sage/ext/interpreters/wrapper_el.pyx +148 -0
  315. sage/ext/interpreters/wrapper_py.cpython-314t-aarch64-linux-musl.so +0 -0
  316. sage/ext/interpreters/wrapper_py.pxd +17 -0
  317. sage/ext/interpreters/wrapper_py.pyx +133 -0
  318. sage/functions/airy.py +937 -0
  319. sage/functions/all.py +97 -0
  320. sage/functions/bessel.py +2102 -0
  321. sage/functions/error.py +784 -0
  322. sage/functions/exp_integral.py +1529 -0
  323. sage/functions/gamma.py +1087 -0
  324. sage/functions/generalized.py +672 -0
  325. sage/functions/hyperbolic.py +747 -0
  326. sage/functions/hypergeometric.py +1156 -0
  327. sage/functions/jacobi.py +1705 -0
  328. sage/functions/log.py +1402 -0
  329. sage/functions/min_max.py +338 -0
  330. sage/functions/orthogonal_polys.py +3106 -0
  331. sage/functions/other.py +2303 -0
  332. sage/functions/piecewise.py +1505 -0
  333. sage/functions/prime_pi.cpython-314t-aarch64-linux-musl.so +0 -0
  334. sage/functions/prime_pi.pyx +262 -0
  335. sage/functions/special.py +1212 -0
  336. sage/functions/spike_function.py +278 -0
  337. sage/functions/transcendental.py +690 -0
  338. sage/functions/trig.py +1062 -0
  339. sage/functions/wigner.py +726 -0
  340. sage/geometry/abc.cpython-314t-aarch64-linux-musl.so +0 -0
  341. sage/geometry/abc.pyx +82 -0
  342. sage/geometry/all__sagemath_categories.py +1 -0
  343. sage/groups/all__sagemath_categories.py +11 -0
  344. sage/groups/generic.py +1733 -0
  345. sage/groups/groups_catalog.py +113 -0
  346. sage/groups/perm_gps/all__sagemath_categories.py +1 -0
  347. sage/groups/perm_gps/partn_ref/all.py +1 -0
  348. sage/groups/perm_gps/partn_ref/all__sagemath_categories.py +1 -0
  349. sage/groups/perm_gps/partn_ref/automorphism_group_canonical_label.cpython-314t-aarch64-linux-musl.so +0 -0
  350. sage/groups/perm_gps/partn_ref/automorphism_group_canonical_label.pxd +52 -0
  351. sage/groups/perm_gps/partn_ref/automorphism_group_canonical_label.pyx +906 -0
  352. sage/groups/perm_gps/partn_ref/canonical_augmentation.cpython-314t-aarch64-linux-musl.so +0 -0
  353. sage/groups/perm_gps/partn_ref/canonical_augmentation.pxd +85 -0
  354. sage/groups/perm_gps/partn_ref/canonical_augmentation.pyx +534 -0
  355. sage/groups/perm_gps/partn_ref/data_structures.cpython-314t-aarch64-linux-musl.so +0 -0
  356. sage/groups/perm_gps/partn_ref/data_structures.pxd +576 -0
  357. sage/groups/perm_gps/partn_ref/data_structures.pyx +1792 -0
  358. sage/groups/perm_gps/partn_ref/double_coset.cpython-314t-aarch64-linux-musl.so +0 -0
  359. sage/groups/perm_gps/partn_ref/double_coset.pxd +45 -0
  360. sage/groups/perm_gps/partn_ref/double_coset.pyx +739 -0
  361. sage/groups/perm_gps/partn_ref/refinement_lists.cpython-314t-aarch64-linux-musl.so +0 -0
  362. sage/groups/perm_gps/partn_ref/refinement_lists.pxd +18 -0
  363. sage/groups/perm_gps/partn_ref/refinement_lists.pyx +82 -0
  364. sage/groups/perm_gps/partn_ref/refinement_python.cpython-314t-aarch64-linux-musl.so +0 -0
  365. sage/groups/perm_gps/partn_ref/refinement_python.pxd +16 -0
  366. sage/groups/perm_gps/partn_ref/refinement_python.pyx +564 -0
  367. sage/groups/perm_gps/partn_ref/refinement_sets.cpython-314t-aarch64-linux-musl.so +0 -0
  368. sage/groups/perm_gps/partn_ref/refinement_sets.pxd +60 -0
  369. sage/groups/perm_gps/partn_ref/refinement_sets.pyx +858 -0
  370. sage/interfaces/abc.py +140 -0
  371. sage/interfaces/all.py +58 -0
  372. sage/interfaces/all__sagemath_categories.py +1 -0
  373. sage/interfaces/expect.py +1643 -0
  374. sage/interfaces/interface.py +1682 -0
  375. sage/interfaces/process.cpython-314t-aarch64-linux-musl.so +0 -0
  376. sage/interfaces/process.pxd +5 -0
  377. sage/interfaces/process.pyx +288 -0
  378. sage/interfaces/quit.py +167 -0
  379. sage/interfaces/sage0.py +604 -0
  380. sage/interfaces/sagespawn.cpython-314t-aarch64-linux-musl.so +0 -0
  381. sage/interfaces/sagespawn.pyx +308 -0
  382. sage/interfaces/tab_completion.py +101 -0
  383. sage/misc/all__sagemath_categories.py +78 -0
  384. sage/misc/allocator.cpython-314t-aarch64-linux-musl.so +0 -0
  385. sage/misc/allocator.pxd +6 -0
  386. sage/misc/allocator.pyx +47 -0
  387. sage/misc/binary_tree.cpython-314t-aarch64-linux-musl.so +0 -0
  388. sage/misc/binary_tree.pxd +29 -0
  389. sage/misc/binary_tree.pyx +537 -0
  390. sage/misc/callable_dict.cpython-314t-aarch64-linux-musl.so +0 -0
  391. sage/misc/callable_dict.pyx +89 -0
  392. sage/misc/citation.cpython-314t-aarch64-linux-musl.so +0 -0
  393. sage/misc/citation.pyx +159 -0
  394. sage/misc/converting_dict.py +293 -0
  395. sage/misc/defaults.py +129 -0
  396. sage/misc/derivative.cpython-314t-aarch64-linux-musl.so +0 -0
  397. sage/misc/derivative.pyx +223 -0
  398. sage/misc/functional.py +2005 -0
  399. sage/misc/html.py +589 -0
  400. sage/misc/latex.py +2673 -0
  401. sage/misc/latex_macros.py +236 -0
  402. sage/misc/latex_standalone.py +1833 -0
  403. sage/misc/map_threaded.py +38 -0
  404. sage/misc/mathml.py +76 -0
  405. sage/misc/method_decorator.py +88 -0
  406. sage/misc/mrange.py +755 -0
  407. sage/misc/multireplace.py +41 -0
  408. sage/misc/object_multiplexer.py +92 -0
  409. sage/misc/parser.cpython-314t-aarch64-linux-musl.so +0 -0
  410. sage/misc/parser.pyx +1107 -0
  411. sage/misc/random_testing.py +264 -0
  412. sage/misc/rest_index_of_methods.py +377 -0
  413. sage/misc/search.cpython-314t-aarch64-linux-musl.so +0 -0
  414. sage/misc/search.pxd +2 -0
  415. sage/misc/search.pyx +68 -0
  416. sage/misc/stopgap.cpython-314t-aarch64-linux-musl.so +0 -0
  417. sage/misc/stopgap.pyx +95 -0
  418. sage/misc/table.py +853 -0
  419. sage/monoids/all__sagemath_categories.py +1 -0
  420. sage/monoids/indexed_free_monoid.py +1071 -0
  421. sage/monoids/monoid.py +82 -0
  422. sage/numerical/all__sagemath_categories.py +1 -0
  423. sage/numerical/backends/all__sagemath_categories.py +1 -0
  424. sage/numerical/backends/generic_backend.cpython-314t-aarch64-linux-musl.so +0 -0
  425. sage/numerical/backends/generic_backend.pxd +61 -0
  426. sage/numerical/backends/generic_backend.pyx +1893 -0
  427. sage/numerical/backends/generic_sdp_backend.cpython-314t-aarch64-linux-musl.so +0 -0
  428. sage/numerical/backends/generic_sdp_backend.pxd +38 -0
  429. sage/numerical/backends/generic_sdp_backend.pyx +755 -0
  430. sage/parallel/all.py +6 -0
  431. sage/parallel/decorate.py +575 -0
  432. sage/parallel/map_reduce.py +1997 -0
  433. sage/parallel/multiprocessing_sage.py +76 -0
  434. sage/parallel/ncpus.py +35 -0
  435. sage/parallel/parallelism.py +364 -0
  436. sage/parallel/reference.py +47 -0
  437. sage/parallel/use_fork.py +333 -0
  438. sage/rings/abc.cpython-314t-aarch64-linux-musl.so +0 -0
  439. sage/rings/abc.pxd +31 -0
  440. sage/rings/abc.pyx +526 -0
  441. sage/rings/algebraic_closure_finite_field.py +1154 -0
  442. sage/rings/all__sagemath_categories.py +91 -0
  443. sage/rings/big_oh.py +227 -0
  444. sage/rings/continued_fraction.py +2754 -0
  445. sage/rings/continued_fraction_gosper.py +220 -0
  446. sage/rings/factorint.cpython-314t-aarch64-linux-musl.so +0 -0
  447. sage/rings/factorint.pyx +295 -0
  448. sage/rings/fast_arith.cpython-314t-aarch64-linux-musl.so +0 -0
  449. sage/rings/fast_arith.pxd +21 -0
  450. sage/rings/fast_arith.pyx +535 -0
  451. sage/rings/finite_rings/all__sagemath_categories.py +9 -0
  452. sage/rings/finite_rings/conway_polynomials.py +542 -0
  453. sage/rings/finite_rings/element_base.cpython-314t-aarch64-linux-musl.so +0 -0
  454. sage/rings/finite_rings/element_base.pxd +12 -0
  455. sage/rings/finite_rings/element_base.pyx +1176 -0
  456. sage/rings/finite_rings/finite_field_base.cpython-314t-aarch64-linux-musl.so +0 -0
  457. sage/rings/finite_rings/finite_field_base.pxd +7 -0
  458. sage/rings/finite_rings/finite_field_base.pyx +2171 -0
  459. sage/rings/finite_rings/finite_field_constructor.py +827 -0
  460. sage/rings/finite_rings/finite_field_prime_modn.py +372 -0
  461. sage/rings/finite_rings/galois_group.py +154 -0
  462. sage/rings/finite_rings/hom_finite_field.cpython-314t-aarch64-linux-musl.so +0 -0
  463. sage/rings/finite_rings/hom_finite_field.pxd +23 -0
  464. sage/rings/finite_rings/hom_finite_field.pyx +856 -0
  465. sage/rings/finite_rings/hom_prime_finite_field.cpython-314t-aarch64-linux-musl.so +0 -0
  466. sage/rings/finite_rings/hom_prime_finite_field.pxd +15 -0
  467. sage/rings/finite_rings/hom_prime_finite_field.pyx +164 -0
  468. sage/rings/finite_rings/homset.py +357 -0
  469. sage/rings/finite_rings/integer_mod.cpython-314t-aarch64-linux-musl.so +0 -0
  470. sage/rings/finite_rings/integer_mod.pxd +56 -0
  471. sage/rings/finite_rings/integer_mod.pyx +4586 -0
  472. sage/rings/finite_rings/integer_mod_limits.h +11 -0
  473. sage/rings/finite_rings/integer_mod_ring.py +2044 -0
  474. sage/rings/finite_rings/residue_field.cpython-314t-aarch64-linux-musl.so +0 -0
  475. sage/rings/finite_rings/residue_field.pxd +30 -0
  476. sage/rings/finite_rings/residue_field.pyx +1811 -0
  477. sage/rings/finite_rings/stdint.pxd +19 -0
  478. sage/rings/fraction_field.py +1452 -0
  479. sage/rings/fraction_field_element.cpython-314t-aarch64-linux-musl.so +0 -0
  480. sage/rings/fraction_field_element.pyx +1357 -0
  481. sage/rings/function_field/all.py +7 -0
  482. sage/rings/function_field/all__sagemath_categories.py +2 -0
  483. sage/rings/function_field/constructor.py +218 -0
  484. sage/rings/function_field/element.cpython-314t-aarch64-linux-musl.so +0 -0
  485. sage/rings/function_field/element.pxd +11 -0
  486. sage/rings/function_field/element.pyx +1008 -0
  487. sage/rings/function_field/element_rational.cpython-314t-aarch64-linux-musl.so +0 -0
  488. sage/rings/function_field/element_rational.pyx +513 -0
  489. sage/rings/function_field/extensions.py +230 -0
  490. sage/rings/function_field/function_field.py +1468 -0
  491. sage/rings/function_field/function_field_rational.py +1005 -0
  492. sage/rings/function_field/ideal.py +1155 -0
  493. sage/rings/function_field/ideal_rational.py +629 -0
  494. sage/rings/function_field/jacobian_base.py +826 -0
  495. sage/rings/function_field/jacobian_hess.py +1053 -0
  496. sage/rings/function_field/jacobian_khuri_makdisi.py +1027 -0
  497. sage/rings/function_field/maps.py +1039 -0
  498. sage/rings/function_field/order.py +281 -0
  499. sage/rings/function_field/order_basis.py +586 -0
  500. sage/rings/function_field/order_rational.py +576 -0
  501. sage/rings/function_field/place.py +426 -0
  502. sage/rings/function_field/place_rational.py +181 -0
  503. sage/rings/generic.py +320 -0
  504. sage/rings/homset.py +332 -0
  505. sage/rings/ideal.py +1885 -0
  506. sage/rings/ideal_monoid.py +215 -0
  507. sage/rings/infinity.py +1890 -0
  508. sage/rings/integer.cpython-314t-aarch64-linux-musl.so +0 -0
  509. sage/rings/integer.pxd +45 -0
  510. sage/rings/integer.pyx +7874 -0
  511. sage/rings/integer_ring.cpython-314t-aarch64-linux-musl.so +0 -0
  512. sage/rings/integer_ring.pxd +8 -0
  513. sage/rings/integer_ring.pyx +1693 -0
  514. sage/rings/laurent_series_ring.py +931 -0
  515. sage/rings/laurent_series_ring_element.cpython-314t-aarch64-linux-musl.so +0 -0
  516. sage/rings/laurent_series_ring_element.pxd +11 -0
  517. sage/rings/laurent_series_ring_element.pyx +1927 -0
  518. sage/rings/lazy_series.py +7815 -0
  519. sage/rings/lazy_series_ring.py +4356 -0
  520. sage/rings/localization.py +1043 -0
  521. sage/rings/morphism.cpython-314t-aarch64-linux-musl.so +0 -0
  522. sage/rings/morphism.pxd +39 -0
  523. sage/rings/morphism.pyx +3299 -0
  524. sage/rings/multi_power_series_ring.py +1145 -0
  525. sage/rings/multi_power_series_ring_element.py +2184 -0
  526. sage/rings/noncommutative_ideals.cpython-314t-aarch64-linux-musl.so +0 -0
  527. sage/rings/noncommutative_ideals.pyx +423 -0
  528. sage/rings/number_field/all__sagemath_categories.py +1 -0
  529. sage/rings/number_field/number_field_base.cpython-314t-aarch64-linux-musl.so +0 -0
  530. sage/rings/number_field/number_field_base.pxd +8 -0
  531. sage/rings/number_field/number_field_base.pyx +507 -0
  532. sage/rings/number_field/number_field_element_base.cpython-314t-aarch64-linux-musl.so +0 -0
  533. sage/rings/number_field/number_field_element_base.pxd +6 -0
  534. sage/rings/number_field/number_field_element_base.pyx +36 -0
  535. sage/rings/number_field/number_field_ideal.py +3550 -0
  536. sage/rings/padics/all__sagemath_categories.py +4 -0
  537. sage/rings/padics/local_generic.py +1670 -0
  538. sage/rings/padics/local_generic_element.cpython-314t-aarch64-linux-musl.so +0 -0
  539. sage/rings/padics/local_generic_element.pxd +5 -0
  540. sage/rings/padics/local_generic_element.pyx +1017 -0
  541. sage/rings/padics/misc.py +256 -0
  542. sage/rings/padics/padic_generic.py +1911 -0
  543. sage/rings/padics/pow_computer.cpython-314t-aarch64-linux-musl.so +0 -0
  544. sage/rings/padics/pow_computer.pxd +38 -0
  545. sage/rings/padics/pow_computer.pyx +671 -0
  546. sage/rings/padics/precision_error.py +24 -0
  547. sage/rings/polynomial/all__sagemath_categories.py +25 -0
  548. sage/rings/polynomial/commutative_polynomial.cpython-314t-aarch64-linux-musl.so +0 -0
  549. sage/rings/polynomial/commutative_polynomial.pxd +6 -0
  550. sage/rings/polynomial/commutative_polynomial.pyx +24 -0
  551. sage/rings/polynomial/cyclotomic.cpython-314t-aarch64-linux-musl.so +0 -0
  552. sage/rings/polynomial/cyclotomic.pyx +404 -0
  553. sage/rings/polynomial/flatten.py +711 -0
  554. sage/rings/polynomial/ideal.py +102 -0
  555. sage/rings/polynomial/infinite_polynomial_element.py +1768 -0
  556. sage/rings/polynomial/infinite_polynomial_ring.py +1653 -0
  557. sage/rings/polynomial/laurent_polynomial.cpython-314t-aarch64-linux-musl.so +0 -0
  558. sage/rings/polynomial/laurent_polynomial.pxd +18 -0
  559. sage/rings/polynomial/laurent_polynomial.pyx +2190 -0
  560. sage/rings/polynomial/laurent_polynomial_ideal.py +590 -0
  561. sage/rings/polynomial/laurent_polynomial_ring.py +832 -0
  562. sage/rings/polynomial/laurent_polynomial_ring_base.py +708 -0
  563. sage/rings/polynomial/multi_polynomial.cpython-314t-aarch64-linux-musl.so +0 -0
  564. sage/rings/polynomial/multi_polynomial.pxd +12 -0
  565. sage/rings/polynomial/multi_polynomial.pyx +3082 -0
  566. sage/rings/polynomial/multi_polynomial_element.py +2570 -0
  567. sage/rings/polynomial/multi_polynomial_ideal.py +5771 -0
  568. sage/rings/polynomial/multi_polynomial_ring.py +947 -0
  569. sage/rings/polynomial/multi_polynomial_ring_base.cpython-314t-aarch64-linux-musl.so +0 -0
  570. sage/rings/polynomial/multi_polynomial_ring_base.pxd +15 -0
  571. sage/rings/polynomial/multi_polynomial_ring_base.pyx +1855 -0
  572. sage/rings/polynomial/multi_polynomial_sequence.py +2204 -0
  573. sage/rings/polynomial/polydict.cpython-314t-aarch64-linux-musl.so +0 -0
  574. sage/rings/polynomial/polydict.pxd +45 -0
  575. sage/rings/polynomial/polydict.pyx +2701 -0
  576. sage/rings/polynomial/polynomial_compiled.cpython-314t-aarch64-linux-musl.so +0 -0
  577. sage/rings/polynomial/polynomial_compiled.pxd +59 -0
  578. sage/rings/polynomial/polynomial_compiled.pyx +509 -0
  579. sage/rings/polynomial/polynomial_element.cpython-314t-aarch64-linux-musl.so +0 -0
  580. sage/rings/polynomial/polynomial_element.pxd +64 -0
  581. sage/rings/polynomial/polynomial_element.pyx +13255 -0
  582. sage/rings/polynomial/polynomial_element_generic.py +1637 -0
  583. sage/rings/polynomial/polynomial_fateman.py +97 -0
  584. sage/rings/polynomial/polynomial_quotient_ring.py +2465 -0
  585. sage/rings/polynomial/polynomial_quotient_ring_element.py +779 -0
  586. sage/rings/polynomial/polynomial_ring.py +3784 -0
  587. sage/rings/polynomial/polynomial_ring_constructor.py +1051 -0
  588. sage/rings/polynomial/polynomial_ring_homomorphism.cpython-314t-aarch64-linux-musl.so +0 -0
  589. sage/rings/polynomial/polynomial_ring_homomorphism.pxd +5 -0
  590. sage/rings/polynomial/polynomial_ring_homomorphism.pyx +121 -0
  591. sage/rings/polynomial/polynomial_singular_interface.py +549 -0
  592. sage/rings/polynomial/symmetric_ideal.py +989 -0
  593. sage/rings/polynomial/symmetric_reduction.cpython-314t-aarch64-linux-musl.so +0 -0
  594. sage/rings/polynomial/symmetric_reduction.pxd +8 -0
  595. sage/rings/polynomial/symmetric_reduction.pyx +669 -0
  596. sage/rings/polynomial/term_order.py +2279 -0
  597. sage/rings/polynomial/toy_buchberger.py +449 -0
  598. sage/rings/polynomial/toy_d_basis.py +387 -0
  599. sage/rings/polynomial/toy_variety.py +362 -0
  600. sage/rings/power_series_mpoly.cpython-314t-aarch64-linux-musl.so +0 -0
  601. sage/rings/power_series_mpoly.pxd +9 -0
  602. sage/rings/power_series_mpoly.pyx +161 -0
  603. sage/rings/power_series_poly.cpython-314t-aarch64-linux-musl.so +0 -0
  604. sage/rings/power_series_poly.pxd +10 -0
  605. sage/rings/power_series_poly.pyx +1317 -0
  606. sage/rings/power_series_ring.py +1441 -0
  607. sage/rings/power_series_ring_element.cpython-314t-aarch64-linux-musl.so +0 -0
  608. sage/rings/power_series_ring_element.pxd +12 -0
  609. sage/rings/power_series_ring_element.pyx +3028 -0
  610. sage/rings/puiseux_series_ring.py +487 -0
  611. sage/rings/puiseux_series_ring_element.cpython-314t-aarch64-linux-musl.so +0 -0
  612. sage/rings/puiseux_series_ring_element.pxd +7 -0
  613. sage/rings/puiseux_series_ring_element.pyx +1055 -0
  614. sage/rings/qqbar_decorators.py +167 -0
  615. sage/rings/quotient_ring.py +1598 -0
  616. sage/rings/quotient_ring_element.py +979 -0
  617. sage/rings/rational.cpython-314t-aarch64-linux-musl.so +0 -0
  618. sage/rings/rational.pxd +20 -0
  619. sage/rings/rational.pyx +4284 -0
  620. sage/rings/rational_field.py +1730 -0
  621. sage/rings/real_double.cpython-314t-aarch64-linux-musl.so +0 -0
  622. sage/rings/real_double.pxd +16 -0
  623. sage/rings/real_double.pyx +2218 -0
  624. sage/rings/real_lazy.cpython-314t-aarch64-linux-musl.so +0 -0
  625. sage/rings/real_lazy.pxd +30 -0
  626. sage/rings/real_lazy.pyx +1773 -0
  627. sage/rings/ring.cpython-314t-aarch64-linux-musl.so +0 -0
  628. sage/rings/ring.pxd +30 -0
  629. sage/rings/ring.pyx +850 -0
  630. sage/rings/semirings/all.py +3 -0
  631. sage/rings/semirings/non_negative_integer_semiring.py +107 -0
  632. sage/rings/semirings/tropical_mpolynomial.py +972 -0
  633. sage/rings/semirings/tropical_polynomial.py +997 -0
  634. sage/rings/semirings/tropical_semiring.cpython-314t-aarch64-linux-musl.so +0 -0
  635. sage/rings/semirings/tropical_semiring.pyx +676 -0
  636. sage/rings/semirings/tropical_variety.py +1701 -0
  637. sage/rings/sum_of_squares.cpython-314t-aarch64-linux-musl.so +0 -0
  638. sage/rings/sum_of_squares.pxd +3 -0
  639. sage/rings/sum_of_squares.pyx +336 -0
  640. sage/rings/tests.py +504 -0
  641. sage/schemes/affine/affine_homset.py +508 -0
  642. sage/schemes/affine/affine_morphism.py +1574 -0
  643. sage/schemes/affine/affine_point.py +460 -0
  644. sage/schemes/affine/affine_rational_point.py +308 -0
  645. sage/schemes/affine/affine_space.py +1264 -0
  646. sage/schemes/affine/affine_subscheme.py +592 -0
  647. sage/schemes/affine/all.py +25 -0
  648. sage/schemes/all__sagemath_categories.py +5 -0
  649. sage/schemes/generic/algebraic_scheme.py +2092 -0
  650. sage/schemes/generic/all.py +5 -0
  651. sage/schemes/generic/ambient_space.py +400 -0
  652. sage/schemes/generic/divisor.py +465 -0
  653. sage/schemes/generic/divisor_group.py +313 -0
  654. sage/schemes/generic/glue.py +84 -0
  655. sage/schemes/generic/homset.py +820 -0
  656. sage/schemes/generic/hypersurface.py +234 -0
  657. sage/schemes/generic/morphism.py +2107 -0
  658. sage/schemes/generic/point.py +237 -0
  659. sage/schemes/generic/scheme.py +1190 -0
  660. sage/schemes/generic/spec.py +199 -0
  661. sage/schemes/product_projective/all.py +6 -0
  662. sage/schemes/product_projective/homset.py +236 -0
  663. sage/schemes/product_projective/morphism.py +517 -0
  664. sage/schemes/product_projective/point.py +568 -0
  665. sage/schemes/product_projective/rational_point.py +550 -0
  666. sage/schemes/product_projective/space.py +1301 -0
  667. sage/schemes/product_projective/subscheme.py +466 -0
  668. sage/schemes/projective/all.py +24 -0
  669. sage/schemes/projective/proj_bdd_height.py +453 -0
  670. sage/schemes/projective/projective_homset.py +718 -0
  671. sage/schemes/projective/projective_morphism.py +2792 -0
  672. sage/schemes/projective/projective_point.py +1484 -0
  673. sage/schemes/projective/projective_rational_point.py +569 -0
  674. sage/schemes/projective/projective_space.py +2571 -0
  675. sage/schemes/projective/projective_subscheme.py +1574 -0
  676. sage/sets/all.py +17 -0
  677. sage/sets/cartesian_product.py +376 -0
  678. sage/sets/condition_set.py +525 -0
  679. sage/sets/disjoint_set.cpython-314t-aarch64-linux-musl.so +0 -0
  680. sage/sets/disjoint_set.pxd +36 -0
  681. sage/sets/disjoint_set.pyx +998 -0
  682. sage/sets/disjoint_union_enumerated_sets.py +625 -0
  683. sage/sets/family.cpython-314t-aarch64-linux-musl.so +0 -0
  684. sage/sets/family.pxd +12 -0
  685. sage/sets/family.pyx +1556 -0
  686. sage/sets/finite_enumerated_set.py +406 -0
  687. sage/sets/finite_set_map_cy.cpython-314t-aarch64-linux-musl.so +0 -0
  688. sage/sets/finite_set_map_cy.pxd +34 -0
  689. sage/sets/finite_set_map_cy.pyx +708 -0
  690. sage/sets/finite_set_maps.py +591 -0
  691. sage/sets/image_set.py +448 -0
  692. sage/sets/integer_range.py +829 -0
  693. sage/sets/non_negative_integers.py +241 -0
  694. sage/sets/positive_integers.py +93 -0
  695. sage/sets/primes.py +188 -0
  696. sage/sets/real_set.py +2760 -0
  697. sage/sets/recursively_enumerated_set.cpython-314t-aarch64-linux-musl.so +0 -0
  698. sage/sets/recursively_enumerated_set.pxd +31 -0
  699. sage/sets/recursively_enumerated_set.pyx +2082 -0
  700. sage/sets/set.py +2083 -0
  701. sage/sets/set_from_iterator.py +1021 -0
  702. sage/sets/totally_ordered_finite_set.py +329 -0
  703. sage/symbolic/all__sagemath_categories.py +1 -0
  704. sage/symbolic/function.cpython-314t-aarch64-linux-musl.so +0 -0
  705. sage/symbolic/function.pxd +29 -0
  706. sage/symbolic/function.pyx +1488 -0
  707. sage/symbolic/symbols.py +56 -0
  708. sage/tests/all__sagemath_categories.py +1 -0
  709. sage/tests/cython.cpython-314t-aarch64-linux-musl.so +0 -0
  710. sage/tests/cython.pyx +37 -0
  711. sage/tests/stl_vector.cpython-314t-aarch64-linux-musl.so +0 -0
  712. sage/tests/stl_vector.pyx +171 -0
  713. sage/typeset/all.py +6 -0
  714. sage/typeset/ascii_art.py +295 -0
  715. sage/typeset/character_art.py +789 -0
  716. sage/typeset/character_art_factory.py +572 -0
  717. sage/typeset/symbols.py +334 -0
  718. sage/typeset/unicode_art.py +183 -0
  719. sage/typeset/unicode_characters.py +101 -0
@@ -0,0 +1,138 @@
1
+ # sage_setup: distribution = sagemath-categories
2
+ """
3
+ Graphs
4
+ """
5
+ #*****************************************************************************
6
+ # Copyright (C) 2015 Travis Scrimshaw <tscrim at ucdavis.edu>
7
+ #
8
+ # Distributed under the terms of the GNU General Public License (GPL)
9
+ # http://www.gnu.org/licenses/
10
+ #******************************************************************************
11
+
12
+ from sage.misc.abstract_method import abstract_method
13
+ from sage.misc.cachefunc import cached_method
14
+ from sage.categories.category_singleton import Category_singleton
15
+ from sage.categories.category_with_axiom import CategoryWithAxiom
16
+ from sage.categories.simplicial_complexes import SimplicialComplexes
17
+ from sage.categories.sets_cat import Sets
18
+
19
+
20
+ class Graphs(Category_singleton):
21
+ r"""
22
+ The category of graphs.
23
+
24
+ EXAMPLES::
25
+
26
+ sage: from sage.categories.graphs import Graphs
27
+ sage: C = Graphs(); C
28
+ Category of graphs
29
+
30
+ TESTS::
31
+
32
+ sage: TestSuite(C).run()
33
+ """
34
+ @cached_method
35
+ def super_categories(self):
36
+ """
37
+ EXAMPLES::
38
+
39
+ sage: from sage.categories.graphs import Graphs
40
+ sage: Graphs().super_categories()
41
+ [Category of simplicial complexes]
42
+ """
43
+ return [SimplicialComplexes()]
44
+
45
+ class ParentMethods:
46
+ @abstract_method
47
+ def vertices(self):
48
+ """
49
+ Return the vertices of ``self``.
50
+
51
+ EXAMPLES::
52
+
53
+ sage: from sage.categories.graphs import Graphs
54
+ sage: C = Graphs().example()
55
+ sage: C.vertices()
56
+ [0, 1, 2, 3, 4]
57
+ """
58
+
59
+ @abstract_method
60
+ def edges(self):
61
+ """
62
+ Return the edges of ``self``.
63
+
64
+ EXAMPLES::
65
+
66
+ sage: from sage.categories.graphs import Graphs
67
+ sage: C = Graphs().example()
68
+ sage: C.edges()
69
+ [(0, 1), (1, 2), (2, 3), (3, 4), (4, 0)]
70
+ """
71
+
72
+ def dimension(self):
73
+ """
74
+ Return the dimension of ``self`` as a CW complex.
75
+
76
+ EXAMPLES::
77
+
78
+ sage: from sage.categories.graphs import Graphs
79
+ sage: C = Graphs().example()
80
+ sage: C.dimension()
81
+ 1
82
+ """
83
+ if self.edges():
84
+ return 1
85
+ return 0
86
+
87
+ def facets(self):
88
+ """
89
+ Return the facets of ``self``.
90
+
91
+ EXAMPLES::
92
+
93
+ sage: from sage.categories.graphs import Graphs
94
+ sage: C = Graphs().example()
95
+ sage: C.facets()
96
+ [(0, 1), (1, 2), (2, 3), (3, 4), (4, 0)]
97
+ """
98
+ return self.edges()
99
+
100
+ def faces(self):
101
+ """
102
+ Return the faces of ``self``.
103
+
104
+ EXAMPLES::
105
+
106
+ sage: from sage.categories.graphs import Graphs
107
+ sage: C = Graphs().example()
108
+ sage: sorted(C.faces(), key=lambda x: (x.dimension(), x.value))
109
+ [0, 1, 2, 3, 4, (0, 1), (1, 2), (2, 3), (3, 4), (4, 0)]
110
+ """
111
+ return set(self.edges()).union(self.vertices())
112
+
113
+ class Connected(CategoryWithAxiom):
114
+ """
115
+ The category of connected graphs.
116
+
117
+ EXAMPLES::
118
+
119
+ sage: from sage.categories.graphs import Graphs
120
+ sage: C = Graphs().Connected()
121
+ sage: TestSuite(C).run()
122
+ """
123
+ def extra_super_categories(self):
124
+ """
125
+ Return the extra super categories of ``self``.
126
+
127
+ A connected graph is also a metric space.
128
+
129
+ EXAMPLES::
130
+
131
+ sage: from sage.categories.graphs import Graphs
132
+ sage: Graphs().Connected().super_categories() # indirect doctest
133
+ [Category of connected topological spaces,
134
+ Category of connected simplicial complexes,
135
+ Category of graphs,
136
+ Category of metric spaces]
137
+ """
138
+ return [Sets().Metric()]
@@ -0,0 +1,430 @@
1
+ # sage_setup: distribution = sagemath-categories
2
+ r"""
3
+ Group Algebras
4
+
5
+ This module implements the category of group algebras for arbitrary
6
+ groups over arbitrary commutative rings. For details, see
7
+ :mod:`sage.categories.algebra_functor`.
8
+
9
+ AUTHOR:
10
+
11
+ - David Loeffler (2008-08-24): initial version
12
+ - Martin Raum (2009-08): update to use new coercion model -- see
13
+ :issue:`6670`.
14
+ - John Palmieri (2011-07): more updates to coercion, categories, etc.,
15
+ group algebras constructed using CombinatorialFreeModule -- see
16
+ :issue:`6670`.
17
+ - Nicolas M. Thiéry (2010-2017), Travis Scrimshaw (2017):
18
+ generalization to a covariant functorial construction for
19
+ monoid algebras, and beyond -- see e.g. :issue:`18700`.
20
+ """
21
+
22
+ #*****************************************************************************
23
+ # Copyright (C) 2005 David Kohel <kohel@maths.usyd.edu>
24
+ # William Stein <wstein@math.ucsd.edu>
25
+ # 2008-2017 Nicolas M. Thiéry <nthiery at users.sf.net>
26
+ #
27
+ # Distributed under the terms of the GNU General Public License (GPL)
28
+ # http://www.gnu.org/licenses/
29
+ #******************************************************************************
30
+
31
+ from sage.misc.cachefunc import cached_method
32
+ from sage.categories.algebra_functor import AlgebrasCategory
33
+
34
+
35
+ class GroupAlgebras(AlgebrasCategory):
36
+ r"""
37
+ The category of group algebras over a given base ring.
38
+
39
+ EXAMPLES::
40
+
41
+ sage: C = Groups().Algebras(ZZ); C
42
+ Category of group algebras over Integer Ring
43
+ sage: C.super_categories()
44
+ [Category of Hopf algebras with basis over Integer Ring,
45
+ Category of monoid algebras over Integer Ring]
46
+
47
+ We can also construct this category with::
48
+
49
+ sage: C is GroupAlgebras(ZZ)
50
+ True
51
+
52
+ Here is how to create the group algebra of a group `G`::
53
+
54
+ sage: G = DihedralGroup(5) # needs sage.groups
55
+ sage: QG = G.algebra(QQ); QG # needs sage.groups sage.modules
56
+ Algebra of
57
+ Dihedral group of order 10 as a permutation group over Rational Field
58
+
59
+ and an example of computation::
60
+
61
+ sage: g = G.an_element(); g # needs sage.groups sage.modules
62
+ (1,4)(2,3)
63
+ sage: (QG.term(g) + 1)**3 # needs sage.groups sage.modules
64
+ 4*() + 4*(1,4)(2,3)
65
+
66
+ .. TODO::
67
+
68
+ - Check which methods would be better located in
69
+ ``Monoid.Algebras`` or ``Groups.Finite.Algebras``.
70
+
71
+ TESTS::
72
+
73
+ sage: # needs sage.groups sage.modules
74
+ sage: A = GroupAlgebras(QQ).example(GL(3, GF(11)))
75
+ sage: A.one_basis()
76
+ [1 0 0]
77
+ [0 1 0]
78
+ [0 0 1]
79
+ sage: A = SymmetricGroupAlgebra(QQ, 4) # needs sage.combinat
80
+ sage: x = Permutation([4,3,2,1])
81
+ sage: A.product_on_basis(x, x) # needs sage.combinat
82
+ [1, 2, 3, 4]
83
+
84
+ sage: C = GroupAlgebras(ZZ)
85
+ sage: TestSuite(C).run()
86
+ """
87
+ def extra_super_categories(self):
88
+ """
89
+ Implement the fact that the algebra of a group is a Hopf
90
+ algebra.
91
+
92
+ EXAMPLES::
93
+
94
+ sage: C = Groups().Algebras(QQ)
95
+ sage: C.extra_super_categories()
96
+ [Category of Hopf algebras over Rational Field]
97
+ sage: sorted(C.super_categories(), key=str)
98
+ [Category of Hopf algebras with basis over Rational Field,
99
+ Category of monoid algebras over Rational Field]
100
+ """
101
+ from sage.categories.hopf_algebras import HopfAlgebras
102
+ return [HopfAlgebras(self.base_ring())]
103
+
104
+ def example(self, G=None):
105
+ """
106
+ Return an example of group algebra.
107
+
108
+ EXAMPLES::
109
+
110
+ sage: GroupAlgebras(QQ['x']).example() # needs sage.groups sage.modules
111
+ Algebra of Dihedral group of order 8 as a permutation group
112
+ over Univariate Polynomial Ring in x over Rational Field
113
+
114
+ An other group can be specified as optional argument::
115
+
116
+ sage: GroupAlgebras(QQ).example(AlternatingGroup(4)) # needs sage.groups sage.modules
117
+ Algebra of
118
+ Alternating group of order 4!/2 as a permutation group over Rational Field
119
+ """
120
+ from sage.groups.perm_gps.permgroup_named import DihedralGroup
121
+ if G is None:
122
+ G = DihedralGroup(4)
123
+ return G.algebra(self.base_ring())
124
+
125
+ class ParentMethods:
126
+ def __init_extra__(self):
127
+ """
128
+ Enable coercion from the defining group.
129
+
130
+ EXAMPLES::
131
+
132
+ sage: # needs sage.combinat sage.groups sage.modules
133
+ sage: A = GroupAlgebra(SymmetricGroup(4), QQ)
134
+ sage: B = GroupAlgebra(SymmetricGroup(3), ZZ)
135
+ sage: A.has_coerce_map_from(B)
136
+ True
137
+ sage: B.has_coerce_map_from(A)
138
+ False
139
+ sage: A.has_coerce_map_from(ZZ)
140
+ True
141
+ sage: A.has_coerce_map_from(CC)
142
+ False
143
+ sage: A.has_coerce_map_from(SymmetricGroup(5))
144
+ False
145
+ sage: A.has_coerce_map_from(SymmetricGroup(2))
146
+ True
147
+ """
148
+ if not self.base_ring().has_coerce_map_from(self.group()):
149
+ ## some matrix groups assume that coercion is only valid to
150
+ ## other matrix groups. This is a workaround
151
+ ## call _element_constructor_ to coerce group elements
152
+ #try:
153
+ self._populate_coercion_lists_(coerce_list=[self.group()])
154
+
155
+ def _latex_(self):
156
+ r"""
157
+ Latex string of ``self``.
158
+
159
+ EXAMPLES::
160
+
161
+ sage: A = GroupAlgebra(KleinFourGroup(), ZZ) # needs sage.groups sage.modules
162
+ sage: latex(A) # indirect doctest # needs sage.groups sage.modules
163
+ \Bold{Z}[\langle (3,4), (1,2) \rangle]
164
+ """
165
+ from sage.misc.latex import latex
166
+ return "%s[%s]" % (latex(self.base_ring()), latex(self.group()))
167
+
168
+ def group(self):
169
+ r"""
170
+ Return the underlying group of the group algebra.
171
+
172
+ EXAMPLES::
173
+
174
+ sage: GroupAlgebras(QQ).example(GL(3, GF(11))).group() # needs sage.groups sage.modules
175
+ General Linear Group of degree 3 over Finite Field of size 11
176
+ sage: SymmetricGroup(10).algebra(QQ).group() # needs sage.combinat sage.groups sage.modules
177
+ Symmetric group of order 10! as a permutation group
178
+ """
179
+ return self.basis().keys()
180
+
181
+ @cached_method
182
+ def center_basis(self):
183
+ r"""
184
+ Return a basis of the center of the group algebra.
185
+
186
+ The canonical basis of the center of the group algebra
187
+ is the family `(f_\sigma)_{\sigma\in C}`, where `C` is
188
+ any collection of representatives of the conjugacy
189
+ classes of the group, and `f_\sigma` is the sum of the
190
+ elements in the conjugacy class of `\sigma`.
191
+
192
+ OUTPUT: tuple of elements of ``self``
193
+
194
+ .. WARNING::
195
+
196
+ - This method requires the underlying group to
197
+ have a method ``conjugacy_classes``
198
+ (every permutation group has one, thanks GAP!).
199
+
200
+ EXAMPLES::
201
+
202
+ sage: SymmetricGroup(3).algebra(QQ).center_basis() # needs sage.combinat sage.groups sage.modules
203
+ ((), (2,3) + (1,2) + (1,3), (1,2,3) + (1,3,2))
204
+
205
+ .. SEEALSO::
206
+
207
+ - :meth:`Groups.Algebras.ElementMethods.central_form`
208
+ - :meth:`Monoids.Algebras.ElementMethods.is_central`
209
+ """
210
+ return tuple([self.sum_of_monomials(conj) for conj in
211
+ self.basis().keys().conjugacy_classes()])
212
+
213
+ # Hopf algebra structure
214
+
215
+ def coproduct_on_basis(self, g):
216
+ r"""
217
+ Return the coproduct of the element ``g`` of the basis.
218
+
219
+ Each basis element ``g`` is group-like. This method is
220
+ used to compute the coproduct of any element.
221
+
222
+ EXAMPLES::
223
+
224
+ sage: # needs sage.groups sage.modules
225
+ sage: A = CyclicPermutationGroup(6).algebra(ZZ); A
226
+ Algebra of
227
+ Cyclic group of order 6 as a permutation group over Integer Ring
228
+ sage: g = CyclicPermutationGroup(6).an_element(); g
229
+ (1,2,3,4,5,6)
230
+ sage: A.coproduct_on_basis(g)
231
+ (1,2,3,4,5,6) # (1,2,3,4,5,6)
232
+ sage: a = A.an_element(); a
233
+ () + 3*(1,2,3,4,5,6) + 3*(1,3,5)(2,4,6)
234
+ sage: a.coproduct()
235
+ () # () + 3*(1,2,3,4,5,6) # (1,2,3,4,5,6) + 3*(1,3,5)(2,4,6) # (1,3,5)(2,4,6)
236
+ """
237
+ from sage.categories.tensor import tensor
238
+ g = self.term(g)
239
+ return tensor([g, g])
240
+
241
+ def antipode_on_basis(self, g):
242
+ r"""
243
+ Return the antipode of the element ``g`` of the basis.
244
+
245
+ Each basis element ``g`` is group-like, and so has
246
+ antipode `g^{-1}`. This method is used to compute the
247
+ antipode of any element.
248
+
249
+ EXAMPLES::
250
+
251
+ sage: # needs sage.groups sage.modules
252
+ sage: A = CyclicPermutationGroup(6).algebra(ZZ); A
253
+ Algebra of
254
+ Cyclic group of order 6 as a permutation group over Integer Ring
255
+ sage: g = CyclicPermutationGroup(6).an_element(); g
256
+ (1,2,3,4,5,6)
257
+ sage: A.antipode_on_basis(g)
258
+ (1,6,5,4,3,2)
259
+ sage: a = A.an_element(); a
260
+ () + 3*(1,2,3,4,5,6) + 3*(1,3,5)(2,4,6)
261
+ sage: a.antipode()
262
+ () + 3*(1,5,3)(2,6,4) + 3*(1,6,5,4,3,2)
263
+ """
264
+ return self.term(~g)
265
+
266
+ def counit_on_basis(self, g):
267
+ r"""
268
+ Return the counit of the element ``g`` of the basis.
269
+
270
+ Each basis element ``g`` is group-like, and so has
271
+ counit `1`. This method is used to compute the
272
+ counit of any element.
273
+
274
+ EXAMPLES::
275
+
276
+ sage: A = CyclicPermutationGroup(6).algebra(ZZ); A # needs sage.groups sage.modules
277
+ Algebra of
278
+ Cyclic group of order 6 as a permutation group over Integer Ring
279
+ sage: g = CyclicPermutationGroup(6).an_element(); g # needs sage.groups sage.modules
280
+ (1,2,3,4,5,6)
281
+ sage: A.counit_on_basis(g) # needs sage.groups sage.modules
282
+ 1
283
+ """
284
+ return self.base_ring().one()
285
+
286
+ def counit(self, x):
287
+ r"""
288
+ Return the counit of the element ``x`` of the group
289
+ algebra.
290
+
291
+ This is the sum of all coefficients of ``x`` with respect
292
+ to the standard basis of the group algebra.
293
+
294
+ EXAMPLES::
295
+
296
+ sage: A = CyclicPermutationGroup(6).algebra(ZZ); A # needs sage.groups sage.modules
297
+ Algebra of
298
+ Cyclic group of order 6 as a permutation group over Integer Ring
299
+ sage: a = A.an_element(); a # needs sage.groups sage.modules
300
+ () + 3*(1,2,3,4,5,6) + 3*(1,3,5)(2,4,6)
301
+ sage: a.counit() # needs sage.groups sage.modules
302
+ 7
303
+ """
304
+ return self.base_ring().sum(x.coefficients())
305
+
306
+ def is_integral_domain(self, proof=True):
307
+ r"""
308
+ Return ``True`` if ``self`` is an integral domain.
309
+
310
+ This is false unless ``self.base_ring()`` is an integral
311
+ domain, and even then it is false unless ``self.group()``
312
+ has no nontrivial elements of finite order. I don't know
313
+ if this condition suffices, but it obviously does if the
314
+ group is abelian and finitely generated.
315
+
316
+ EXAMPLES::
317
+
318
+ sage: # needs sage.groups sage.modules
319
+ sage: S2 = SymmetricGroup(2)
320
+ sage: GroupAlgebra(S2).is_integral_domain() # needs sage.combinat
321
+ False
322
+ sage: S1 = SymmetricGroup(1)
323
+ sage: GroupAlgebra(S1).is_integral_domain() # needs sage.combinat
324
+ True
325
+ sage: GroupAlgebra(S1, IntegerModRing(4)).is_integral_domain() # needs sage.combinat
326
+ False
327
+ sage: GroupAlgebra(AbelianGroup(1)).is_integral_domain()
328
+ True
329
+ sage: GroupAlgebra(AbelianGroup(2, [0,2])).is_integral_domain()
330
+ False
331
+ sage: GroupAlgebra(GL(2, ZZ)).is_integral_domain() # not implemented
332
+ False
333
+ """
334
+ from sage.sets.set import Set
335
+ ans = False
336
+ try:
337
+ if self.base_ring().is_integral_domain():
338
+ if self.group().is_finite():
339
+ if self.group().order() > 1:
340
+ ans = False
341
+ else:
342
+ ans = True
343
+ else:
344
+ if self.group().is_abelian():
345
+ invs = self.group().invariants()
346
+ if Set(invs) != Set([0]):
347
+ ans = False
348
+ else:
349
+ ans = True
350
+ else:
351
+ raise NotImplementedError
352
+ else:
353
+ ans = False
354
+ except (AttributeError, NotImplementedError):
355
+ if proof:
356
+ raise NotImplementedError("cannot determine whether self is an integral domain")
357
+
358
+ return ans
359
+
360
+ # I haven't written is_noetherian(), because I don't know when group
361
+ # algebras are Noetherian, and I haven't written is_prime_field(), because
362
+ # I don't know if that means "is canonically isomorphic to a prime field"
363
+ # or "is identical to a prime field".
364
+
365
+ class ElementMethods:
366
+
367
+ def central_form(self):
368
+ r"""
369
+ Return ``self`` expressed in the canonical basis of the center
370
+ of the group algebra.
371
+
372
+ INPUT:
373
+
374
+ - ``self`` -- an element of the center of the group algebra
375
+
376
+ OUTPUT:
377
+
378
+ - A formal linear combination of the conjugacy class
379
+ representatives representing its coordinates in the
380
+ canonical basis of the center. See
381
+ :meth:`Groups.Algebras.ParentMethods.center_basis` for
382
+ details.
383
+
384
+ .. WARNING::
385
+
386
+ - This method requires the underlying group to
387
+ have a method ``conjugacy_classes_representatives``
388
+ (every permutation group has one, thanks GAP!).
389
+ - This method does not check that the element is
390
+ indeed central. Use the method
391
+ :meth:`Monoids.Algebras.ElementMethods.is_central`
392
+ for this purpose.
393
+ - This function has a complexity linear in the
394
+ number of conjugacy classes of the group. One
395
+ could easily implement a function whose
396
+ complexity is linear in the size of the support
397
+ of ``self``.
398
+
399
+ EXAMPLES::
400
+
401
+ sage: # needs sage.combinat sage.groups sage.modules
402
+ sage: QS3 = SymmetricGroup(3).algebra(QQ)
403
+ sage: A = QS3([2,3,1]) + QS3([3,1,2])
404
+ sage: A.central_form()
405
+ B[(1,2,3)]
406
+ sage: QS4 = SymmetricGroup(4).algebra(QQ)
407
+ sage: B = sum(len(s.cycle_type()) * QS4(s) for s in Permutations(4))
408
+ sage: B.central_form()
409
+ 4*B[()] + 3*B[(1,2)] + 2*B[(1,2)(3,4)] + 2*B[(1,2,3)] + B[(1,2,3,4)]
410
+
411
+ The following test fails due to a bug involving combinatorial free modules and
412
+ the coercion system (see :issue:`28544`)::
413
+
414
+ sage: # needs sage.groups sage.modules
415
+ sage: G = PermutationGroup([[(1,2,3),(4,5)], [(3,4)]])
416
+ sage: QG = GroupAlgebras(QQ).example(G)
417
+ sage: s = sum(QG.basis())
418
+ sage: s.central_form() # not tested
419
+ B[()] + B[(4,5)] + B[(3,4,5)] + B[(2,3)(4,5)]
420
+ + B[(2,3,4,5)] + B[(1,2)(3,4,5)] + B[(1,2,3,4,5)]
421
+
422
+ .. SEEALSO::
423
+
424
+ - :meth:`Groups.Algebras.ParentMethods.center_basis`
425
+ - :meth:`Monoids.Algebras.ElementMethods.is_central`
426
+ """
427
+ from sage.combinat.free_module import CombinatorialFreeModule
428
+ conj_classes_reps = self.parent().basis().keys().conjugacy_classes_representatives()
429
+ Z = CombinatorialFreeModule(self.base_ring(), conj_classes_reps)
430
+ return sum(self[i] * Z.basis()[i] for i in Z.basis().keys())
@@ -0,0 +1,94 @@
1
+ # sage_setup: distribution = sagemath-categories
2
+ # sage.doctest: needs sage.groups
3
+ r"""
4
+ Groupoid
5
+ """
6
+ #*****************************************************************************
7
+ # Copyright (C) 2008 David Kohel <kohel@maths.usyd.edu> and
8
+ # William Stein <wstein@math.ucsd.edu>
9
+ # Nicolas M. Thiery <nthiery at users.sf.net>
10
+ #
11
+ # Distributed under the terms of the GNU General Public License (GPL)
12
+ # http://www.gnu.org/licenses/
13
+ #******************************************************************************
14
+
15
+ from sage.categories.category import CategoryWithParameters
16
+ from sage.categories.sets_cat import Sets
17
+
18
+
19
+ class Groupoid(CategoryWithParameters):
20
+ """
21
+ The category of groupoids, for a set (usually a group) `G`.
22
+
23
+ FIXME:
24
+
25
+ - Groupoid or Groupoids ?
26
+ - definition and link with :wikipedia:`Groupoid`
27
+ - Should Groupoid inherit from Category_over_base?
28
+
29
+ EXAMPLES::
30
+
31
+ sage: Groupoid(DihedralGroup(3))
32
+ Groupoid with underlying set Dihedral group of order 6 as a permutation group
33
+ """
34
+
35
+ def __init__(self, G=None):
36
+ """
37
+ TESTS::
38
+
39
+ sage: S8 = SymmetricGroup(8)
40
+ sage: C = Groupoid(S8)
41
+ sage: TestSuite(C).run()
42
+ """
43
+ CategoryWithParameters.__init__(self) # "Groupoid")
44
+ if G is None:
45
+ from sage.groups.perm_gps.permgroup_named import SymmetricGroup
46
+ G = SymmetricGroup(8)
47
+ self.__G = G
48
+
49
+ def _repr_(self):
50
+ """
51
+ EXAMPLES::
52
+
53
+ sage: S8 = SymmetricGroup(8)
54
+ sage: Groupoid(S8)
55
+ Groupoid with underlying set Symmetric group of order 8! as a permutation group
56
+ """
57
+ return "Groupoid with underlying set %s" % self.__G
58
+
59
+ # def construction(self):
60
+ # return (self.__class__, self.__G)
61
+
62
+ def _make_named_class_key(self, name):
63
+ """
64
+ The parent/element classes of all groupoids coincide.
65
+
66
+ EXAMPLES::
67
+
68
+ sage: Groupoid(DihedralGroup(3)).parent_class is Groupoid(ZZ).parent_class
69
+ True
70
+ """
71
+ return None
72
+
73
+ def super_categories(self):
74
+ """
75
+ EXAMPLES::
76
+
77
+ sage: Groupoid(DihedralGroup(3)).super_categories()
78
+ [Category of sets]
79
+ """
80
+ return [Sets()] # ???
81
+
82
+ @classmethod
83
+ def an_instance(cls):
84
+ """
85
+ Return an instance of this class.
86
+
87
+ EXAMPLES::
88
+
89
+ sage: Groupoid.an_instance() # indirect doctest
90
+ Groupoid with underlying set Symmetric group of order 8! as a permutation group
91
+ """
92
+ from sage.groups.perm_gps.permgroup_named import SymmetricGroup
93
+ G = SymmetricGroup(8)
94
+ return cls(G)