passagemath-meataxe 10.6.33__cp312-cp312-macosx_13_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-meataxe might be problematic. Click here for more details.

Files changed (84) hide show
  1. passagemath_meataxe-10.6.33.dist-info/METADATA +97 -0
  2. passagemath_meataxe-10.6.33.dist-info/METADATA.bak +98 -0
  3. passagemath_meataxe-10.6.33.dist-info/RECORD +84 -0
  4. passagemath_meataxe-10.6.33.dist-info/WHEEL +6 -0
  5. passagemath_meataxe-10.6.33.dist-info/top_level.txt +2 -0
  6. passagemath_meataxe.dylibs/libmtx.0.0.0.dylib +0 -0
  7. sage/all__sagemath_meataxe.py +2 -0
  8. sage/libs/all__sagemath_meataxe.py +1 -0
  9. sage/libs/meataxe.cpython-312-darwin.so +0 -0
  10. sage/libs/meataxe.pxd +156 -0
  11. sage/libs/meataxe.pyx +95 -0
  12. sage/matrix/all__sagemath_meataxe.py +1 -0
  13. sage/matrix/matrix_gfpn_dense.cpython-312-darwin.so +0 -0
  14. sage/matrix/matrix_gfpn_dense.pxd +37 -0
  15. sage/matrix/matrix_gfpn_dense.pyx +1960 -0
  16. sage_wheels/share/meataxe/p002.zzz +0 -0
  17. sage_wheels/share/meataxe/p003.zzz +0 -0
  18. sage_wheels/share/meataxe/p004.zzz +0 -0
  19. sage_wheels/share/meataxe/p005.zzz +0 -0
  20. sage_wheels/share/meataxe/p007.zzz +0 -0
  21. sage_wheels/share/meataxe/p008.zzz +0 -0
  22. sage_wheels/share/meataxe/p009.zzz +0 -0
  23. sage_wheels/share/meataxe/p011.zzz +0 -0
  24. sage_wheels/share/meataxe/p013.zzz +0 -0
  25. sage_wheels/share/meataxe/p016.zzz +0 -0
  26. sage_wheels/share/meataxe/p017.zzz +0 -0
  27. sage_wheels/share/meataxe/p019.zzz +0 -0
  28. sage_wheels/share/meataxe/p023.zzz +0 -0
  29. sage_wheels/share/meataxe/p025.zzz +0 -0
  30. sage_wheels/share/meataxe/p027.zzz +0 -0
  31. sage_wheels/share/meataxe/p029.zzz +0 -0
  32. sage_wheels/share/meataxe/p031.zzz +0 -0
  33. sage_wheels/share/meataxe/p032.zzz +0 -0
  34. sage_wheels/share/meataxe/p037.zzz +0 -0
  35. sage_wheels/share/meataxe/p041.zzz +0 -0
  36. sage_wheels/share/meataxe/p043.zzz +0 -0
  37. sage_wheels/share/meataxe/p047.zzz +0 -0
  38. sage_wheels/share/meataxe/p049.zzz +0 -0
  39. sage_wheels/share/meataxe/p053.zzz +0 -0
  40. sage_wheels/share/meataxe/p059.zzz +0 -0
  41. sage_wheels/share/meataxe/p061.zzz +0 -0
  42. sage_wheels/share/meataxe/p064.zzz +0 -0
  43. sage_wheels/share/meataxe/p067.zzz +0 -0
  44. sage_wheels/share/meataxe/p071.zzz +0 -0
  45. sage_wheels/share/meataxe/p073.zzz +0 -0
  46. sage_wheels/share/meataxe/p079.zzz +0 -0
  47. sage_wheels/share/meataxe/p081.zzz +0 -0
  48. sage_wheels/share/meataxe/p083.zzz +0 -0
  49. sage_wheels/share/meataxe/p089.zzz +0 -0
  50. sage_wheels/share/meataxe/p097.zzz +0 -0
  51. sage_wheels/share/meataxe/p101.zzz +0 -0
  52. sage_wheels/share/meataxe/p103.zzz +0 -0
  53. sage_wheels/share/meataxe/p107.zzz +0 -0
  54. sage_wheels/share/meataxe/p109.zzz +0 -0
  55. sage_wheels/share/meataxe/p113.zzz +0 -0
  56. sage_wheels/share/meataxe/p121.zzz +0 -0
  57. sage_wheels/share/meataxe/p125.zzz +0 -0
  58. sage_wheels/share/meataxe/p127.zzz +0 -0
  59. sage_wheels/share/meataxe/p128.zzz +0 -0
  60. sage_wheels/share/meataxe/p131.zzz +0 -0
  61. sage_wheels/share/meataxe/p137.zzz +0 -0
  62. sage_wheels/share/meataxe/p139.zzz +0 -0
  63. sage_wheels/share/meataxe/p149.zzz +0 -0
  64. sage_wheels/share/meataxe/p151.zzz +0 -0
  65. sage_wheels/share/meataxe/p157.zzz +0 -0
  66. sage_wheels/share/meataxe/p163.zzz +0 -0
  67. sage_wheels/share/meataxe/p167.zzz +0 -0
  68. sage_wheels/share/meataxe/p169.zzz +0 -0
  69. sage_wheels/share/meataxe/p173.zzz +0 -0
  70. sage_wheels/share/meataxe/p179.zzz +0 -0
  71. sage_wheels/share/meataxe/p181.zzz +0 -0
  72. sage_wheels/share/meataxe/p191.zzz +0 -0
  73. sage_wheels/share/meataxe/p193.zzz +0 -0
  74. sage_wheels/share/meataxe/p197.zzz +0 -0
  75. sage_wheels/share/meataxe/p199.zzz +0 -0
  76. sage_wheels/share/meataxe/p211.zzz +0 -0
  77. sage_wheels/share/meataxe/p223.zzz +0 -0
  78. sage_wheels/share/meataxe/p227.zzz +0 -0
  79. sage_wheels/share/meataxe/p229.zzz +0 -0
  80. sage_wheels/share/meataxe/p233.zzz +0 -0
  81. sage_wheels/share/meataxe/p239.zzz +0 -0
  82. sage_wheels/share/meataxe/p241.zzz +0 -0
  83. sage_wheels/share/meataxe/p243.zzz +0 -0
  84. sage_wheels/share/meataxe/p251.zzz +0 -0
@@ -0,0 +1,97 @@
1
+ Metadata-Version: 2.4
2
+ Name: passagemath-meataxe
3
+ Version: 10.6.33
4
+ Summary: passagemath: Matrices over small finite fields with meataxe
5
+ Author-email: The Sage Developers <sage-support@googlegroups.com>
6
+ Maintainer: Matthias Köppe, passagemath contributors
7
+ License-Expression: GPL-2.0-or-later
8
+ Project-URL: release notes, https://github.com/passagemath/passagemath/releases
9
+ Project-URL: repo (upstream), https://github.com/sagemath/sage
10
+ Project-URL: repo, https://github.com/passagemath/passagemath
11
+ Project-URL: documentation, https://passagemath.org/docs/latest
12
+ Project-URL: homepage (upstream), https://www.sagemath.org
13
+ Project-URL: discourse, https://passagemath.discourse.group
14
+ Project-URL: tracker (upstream), https://github.com/sagemath/sage/issues
15
+ Project-URL: tracker, https://github.com/passagemath/passagemath/issues
16
+ Classifier: Development Status :: 6 - Mature
17
+ Classifier: Intended Audience :: Education
18
+ Classifier: Intended Audience :: Science/Research
19
+ Classifier: Operating System :: POSIX
20
+ Classifier: Operating System :: POSIX :: Linux
21
+ Classifier: Operating System :: MacOS :: MacOS X
22
+ Classifier: Programming Language :: Python :: 3 :: Only
23
+ Classifier: Programming Language :: Python :: 3.10
24
+ Classifier: Programming Language :: Python :: 3.11
25
+ Classifier: Programming Language :: Python :: 3.12
26
+ Classifier: Programming Language :: Python :: 3.13
27
+ Classifier: Programming Language :: Python :: 3.14
28
+ Classifier: Programming Language :: Python :: Implementation :: CPython
29
+ Classifier: Topic :: Scientific/Engineering :: Mathematics
30
+ Requires-Python: <3.15,>=3.10
31
+ Description-Content-Type: text/x-rst
32
+ Requires-Dist: passagemath-modules~=10.6.33.0
33
+ Provides-Extra: test
34
+ Requires-Dist: passagemath-pari; extra == "test"
35
+ Requires-Dist: passagemath-repl; extra == "test"
36
+
37
+ ========================================================================================
38
+ passagemath: Matrices over small finite fields with meataxe
39
+ ========================================================================================
40
+
41
+ `passagemath <https://github.com/passagemath/passagemath>`__ is open
42
+ source mathematical software in Python, released under the GNU General
43
+ Public Licence GPLv2+.
44
+
45
+ It is a fork of `SageMath <https://www.sagemath.org/>`__, which has been
46
+ developed 2005-2025 under the motto “Creating a Viable Open Source
47
+ Alternative to Magma, Maple, Mathematica, and MATLAB”.
48
+
49
+ The passagemath fork uses the motto "Creating a Free Passage Between the
50
+ Scientific Python Ecosystem and Mathematical Software Communities."
51
+ It was created in October 2024 with the following goals:
52
+
53
+ - providing modularized installation with pip,
54
+ - establishing first-class membership in the scientific Python
55
+ ecosystem,
56
+ - giving `clear attribution of upstream
57
+ projects <https://groups.google.com/g/sage-devel/c/6HO1HEtL1Fs/m/G002rPGpAAAJ>`__,
58
+ - providing independently usable Python interfaces to upstream
59
+ libraries,
60
+ - offering `platform portability and integration testing
61
+ services <https://github.com/passagemath/passagemath/issues/704>`__
62
+ to upstream projects,
63
+ - inviting collaborations with upstream projects,
64
+ - `building a professional, respectful, inclusive
65
+ community <https://groups.google.com/g/sage-devel/c/xBzaINHWwUQ>`__,
66
+ - `empowering Sage users to participate in the scientific Python ecosystem
67
+ <https://github.com/passagemath/passagemath/issues/248>`__ by publishing packages,
68
+ - developing a port to `Pyodide <https://pyodide.org/en/stable/>`__ for
69
+ serverless deployment with Javascript,
70
+ - developing a native Windows port.
71
+
72
+ `Full documentation <https://passagemath.org/docs/latest/html/en/index.html>`__ is
73
+ available online.
74
+
75
+ passagemath attempts to support and provides binary wheels suitable for
76
+ all major Linux distributions and recent versions of macOS.
77
+
78
+ Binary wheels for native Windows (x86_64) are are available for a subset of
79
+ the passagemath distributions. Use of the full functionality of passagemath
80
+ on Windows currently requires the use of Windows Subsystem for Linux (WSL)
81
+ or virtualization.
82
+
83
+ The supported Python versions in the passagemath 10.6.x series are 3.10.x-3.13.x.
84
+
85
+
86
+ About this pip-installable distribution package
87
+ -----------------------------------------------
88
+
89
+ This pip-installable distribution ``passagemath-meataxe`` is a small
90
+ optional distribution for use with ``passagemath-standard``.
91
+
92
+ This distribution provides the SageMath modules ``sage.libs.meataxe``
93
+ and ``sage.matrix.matrix_gfpn_dense``.
94
+
95
+ It provides a specialized implementation of matrices over the finite field F_q, where
96
+ q <= 255, using the `SharedMeatAxe <http://users.minet.uni-jena.de/~king/SharedMeatAxe/>`_
97
+ library.
@@ -0,0 +1,98 @@
1
+ Metadata-Version: 2.4
2
+ Name: passagemath-meataxe
3
+ Version: 10.6.33
4
+ Summary: passagemath: Matrices over small finite fields with meataxe
5
+ Author-email: The Sage Developers <sage-support@googlegroups.com>
6
+ Maintainer: Matthias Köppe, passagemath contributors
7
+ License-Expression: GPL-2.0-or-later
8
+ Project-URL: release notes, https://github.com/passagemath/passagemath/releases
9
+ Project-URL: repo (upstream), https://github.com/sagemath/sage
10
+ Project-URL: repo, https://github.com/passagemath/passagemath
11
+ Project-URL: documentation, https://passagemath.org/docs/latest
12
+ Project-URL: homepage (upstream), https://www.sagemath.org
13
+ Project-URL: discourse, https://passagemath.discourse.group
14
+ Project-URL: tracker (upstream), https://github.com/sagemath/sage/issues
15
+ Project-URL: tracker, https://github.com/passagemath/passagemath/issues
16
+ Classifier: Development Status :: 6 - Mature
17
+ Classifier: Intended Audience :: Education
18
+ Classifier: Intended Audience :: Science/Research
19
+ Classifier: Operating System :: POSIX
20
+ Classifier: Operating System :: POSIX :: Linux
21
+ Classifier: Operating System :: MacOS :: MacOS X
22
+ Classifier: Programming Language :: Python :: 3 :: Only
23
+ Classifier: Programming Language :: Python :: 3.10
24
+ Classifier: Programming Language :: Python :: 3.11
25
+ Classifier: Programming Language :: Python :: 3.12
26
+ Classifier: Programming Language :: Python :: 3.13
27
+ Classifier: Programming Language :: Python :: 3.14
28
+ Classifier: Programming Language :: Python :: Implementation :: CPython
29
+ Classifier: Topic :: Scientific/Engineering :: Mathematics
30
+ Requires-Python: <3.15,>=3.10
31
+ Description-Content-Type: text/x-rst
32
+ Requires-Dist: passagemath-conf~=10.6.33.0; sys_platform != "win32"
33
+ Requires-Dist: passagemath-modules~=10.6.33.0
34
+ Provides-Extra: test
35
+ Requires-Dist: passagemath-pari; extra == "test"
36
+ Requires-Dist: passagemath-repl; extra == "test"
37
+
38
+ ========================================================================================
39
+ passagemath: Matrices over small finite fields with meataxe
40
+ ========================================================================================
41
+
42
+ `passagemath <https://github.com/passagemath/passagemath>`__ is open
43
+ source mathematical software in Python, released under the GNU General
44
+ Public Licence GPLv2+.
45
+
46
+ It is a fork of `SageMath <https://www.sagemath.org/>`__, which has been
47
+ developed 2005-2025 under the motto “Creating a Viable Open Source
48
+ Alternative to Magma, Maple, Mathematica, and MATLAB”.
49
+
50
+ The passagemath fork uses the motto "Creating a Free Passage Between the
51
+ Scientific Python Ecosystem and Mathematical Software Communities."
52
+ It was created in October 2024 with the following goals:
53
+
54
+ - providing modularized installation with pip,
55
+ - establishing first-class membership in the scientific Python
56
+ ecosystem,
57
+ - giving `clear attribution of upstream
58
+ projects <https://groups.google.com/g/sage-devel/c/6HO1HEtL1Fs/m/G002rPGpAAAJ>`__,
59
+ - providing independently usable Python interfaces to upstream
60
+ libraries,
61
+ - offering `platform portability and integration testing
62
+ services <https://github.com/passagemath/passagemath/issues/704>`__
63
+ to upstream projects,
64
+ - inviting collaborations with upstream projects,
65
+ - `building a professional, respectful, inclusive
66
+ community <https://groups.google.com/g/sage-devel/c/xBzaINHWwUQ>`__,
67
+ - `empowering Sage users to participate in the scientific Python ecosystem
68
+ <https://github.com/passagemath/passagemath/issues/248>`__ by publishing packages,
69
+ - developing a port to `Pyodide <https://pyodide.org/en/stable/>`__ for
70
+ serverless deployment with Javascript,
71
+ - developing a native Windows port.
72
+
73
+ `Full documentation <https://passagemath.org/docs/latest/html/en/index.html>`__ is
74
+ available online.
75
+
76
+ passagemath attempts to support and provides binary wheels suitable for
77
+ all major Linux distributions and recent versions of macOS.
78
+
79
+ Binary wheels for native Windows (x86_64) are are available for a subset of
80
+ the passagemath distributions. Use of the full functionality of passagemath
81
+ on Windows currently requires the use of Windows Subsystem for Linux (WSL)
82
+ or virtualization.
83
+
84
+ The supported Python versions in the passagemath 10.6.x series are 3.10.x-3.13.x.
85
+
86
+
87
+ About this pip-installable distribution package
88
+ -----------------------------------------------
89
+
90
+ This pip-installable distribution ``passagemath-meataxe`` is a small
91
+ optional distribution for use with ``passagemath-standard``.
92
+
93
+ This distribution provides the SageMath modules ``sage.libs.meataxe``
94
+ and ``sage.matrix.matrix_gfpn_dense``.
95
+
96
+ It provides a specialized implementation of matrices over the finite field F_q, where
97
+ q <= 255, using the `SharedMeatAxe <http://users.minet.uni-jena.de/~king/SharedMeatAxe/>`_
98
+ library.
@@ -0,0 +1,84 @@
1
+ passagemath_meataxe-10.6.33.dist-info/RECORD,,
2
+ passagemath_meataxe-10.6.33.dist-info/METADATA.bak,sha256=KIKWmKv740pW7W2-e_zcwKtOx8v7SG2R5i7rHmCJR-I,4706
3
+ passagemath_meataxe-10.6.33.dist-info/WHEEL,sha256=NyQG50tNDZ_APPDUcZDEpRLmYPHu-yiqQLzBIWZNamQ,153
4
+ passagemath_meataxe-10.6.33.dist-info/top_level.txt,sha256=Kmzulf9WsphADFQuqgvdy5mvTLDj_V2zkFHU2s3UXos,6
5
+ passagemath_meataxe-10.6.33.dist-info/METADATA,sha256=lZi_cKfuBxm6TXp_hawOcRS80m7OqaxuBAFyOGXKYFc,4638
6
+ passagemath_meataxe.dylibs/libmtx.0.0.0.dylib,sha256=OtLM_VxBXowgJKr6kiyfPyoi1d65ULptj2d_6uGsW0s,237808
7
+ sage_wheels/share/meataxe/p083.zzz,sha256=alRj4tMluCnauXxtF8Jn_c7xSimZXY_PZIM0BMLgD14,139364
8
+ sage_wheels/share/meataxe/p097.zzz,sha256=WujJaudChwHmaTbbwV5esr2mPBmj-h3jiZpNeDZvElA,139364
9
+ sage_wheels/share/meataxe/p121.zzz,sha256=oovI2NDRL1bKr2MvtUEmT9Sa0a1lwJZPIhsqhd2mSI0,139364
10
+ sage_wheels/share/meataxe/p109.zzz,sha256=DVOON6wHJ1oFICKKSbFV3sKTFV6aTQyWW_IYTmwsR-o,139364
11
+ sage_wheels/share/meataxe/p243.zzz,sha256=YNOG_95t1BIY7DZ8srmkzB8ANyuaiMNv51AHenIYNk4,139364
12
+ sage_wheels/share/meataxe/p041.zzz,sha256=uJcUgOmvMIr7cGCssOovt-LtfUqoS5EemGQCjkbOLog,139364
13
+ sage_wheels/share/meataxe/p043.zzz,sha256=94kp8dR8Lw9uzzWgxoNQIQ_CdUrwLLltXWlyfFRBcg4,139364
14
+ sage_wheels/share/meataxe/p241.zzz,sha256=4ssYAeL4IHtvc8YWDgsqrirKBGVxEpVzv-tHUxBqdQg,139364
15
+ sage_wheels/share/meataxe/p137.zzz,sha256=Ad75UxaHagaDEBeR-Vl-1aPMySB_EPBb9zEMcGg9BT8,139364
16
+ sage_wheels/share/meataxe/p081.zzz,sha256=BawZwl3vJaruMtssCYiNEKYh8sTxtX8m-o-oni53e5s,139364
17
+ sage_wheels/share/meataxe/p127.zzz,sha256=CZISNuGrfbzqAK_M6n-sWhixaH9i71EEvAaK-Zno4S8,139364
18
+ sage_wheels/share/meataxe/p251.zzz,sha256=Fs3mSfrNnC9q_aIssMh9mDnPGvRg0Gs5NFbRrt1H-xI,139364
19
+ sage_wheels/share/meataxe/p047.zzz,sha256=tC1u2uRE1zfY7nRZywfXCxFj-33HbbiEcDBnlzOwg28,139364
20
+ sage_wheels/share/meataxe/p053.zzz,sha256=eAdyWnCS6Pfs4TvgT0WlFP-b8ZTDJG1WTyRCSjLy0fg,139364
21
+ sage_wheels/share/meataxe/p079.zzz,sha256=RycGOWy_bdalFZXdjLOC-8CfPlT_JKuFJ8FdvW-fD6s,139364
22
+ sage_wheels/share/meataxe/p131.zzz,sha256=VJg7bSEversM7uk6YHNeP8J3HBwJV7_ssXx28ZWOeYM,139364
23
+ sage_wheels/share/meataxe/p125.zzz,sha256=tZqwcGSYGeYvHQf7M_0mBLn2wrOFOd5avnQp52Z0eBE,139364
24
+ sage_wheels/share/meataxe/p023.zzz,sha256=0JU98_n_mow5FrqwD9ePT_uEZGpsS3qzcsYrQ7fsEYo,139364
25
+ sage_wheels/share/meataxe/p037.zzz,sha256=gz7mQARVlSoo5TNFhaQUWOkHy5XT3mHg7evaG1G_tUE,139364
26
+ sage_wheels/share/meataxe/p157.zzz,sha256=SGpGsBJNQw__4NN6Jpg-JhVc9puVrrge6IgUa2e2uE0,139364
27
+ sage_wheels/share/meataxe/p181.zzz,sha256=ucsssRKhEE7bjGtbAPHh_qUBtU8XAcz6ayqdC-FOick,139364
28
+ sage_wheels/share/meataxe/p008.zzz,sha256=0e4HVcZdvdiyV7EsfZhShsmkKze3Eto541Slzy9Edi0,139364
29
+ sage_wheels/share/meataxe/p197.zzz,sha256=5g_8oDP_O-yaBRxyWVd20BQ5XI31bUQ4eSZWHhH9ZyE,139364
30
+ sage_wheels/share/meataxe/p169.zzz,sha256=Tg4V61ukyQQuk-cHy9Epc_0VtPZx1YkbSBaOGAfKVyQ,139364
31
+ sage_wheels/share/meataxe/p223.zzz,sha256=eoKOMBSj10UHkkrEgXTe3_8MAnyqW-CtWzCF_qkAj8U,139364
32
+ sage_wheels/share/meataxe/p009.zzz,sha256=YnZm7m8pt97gOQtHu3kCSfnJSYU6mZWoU42qIBAGOmU,139364
33
+ sage_wheels/share/meataxe/p031.zzz,sha256=CWjg7nm4D9bvVifZ3yChplPJ1oddexCibdmGhbCM08Y,139364
34
+ sage_wheels/share/meataxe/p025.zzz,sha256=2vBB8rBxmrg9XJoX5cqMdn3Gcs0yI1NNi9j2R02ezP0,139364
35
+ sage_wheels/share/meataxe/p019.zzz,sha256=LXGzTIhCcng18pAunh05nKBxhn7VtTN5T6hLE_Phlxg,139364
36
+ sage_wheels/share/meataxe/p233.zzz,sha256=nmVwtbhn0ce09NgIrtvm-Ajvvlx7QSfBMJHyflZho_I,139364
37
+ sage_wheels/share/meataxe/p227.zzz,sha256=PejLCI3oBvPvO-26CPfek4T01fYUJ4Iok1MJst4TQEo,139364
38
+ sage_wheels/share/meataxe/p151.zzz,sha256=jN1tBIlgK2_VoC6yr4DBUBsxcozDYRTkYNQNVVWVz10,139364
39
+ sage_wheels/share/meataxe/p179.zzz,sha256=2R89L0Z5-ukDVUnWDCSXZWg2pxaWvDwpe3O0kwm5Dbs,139364
40
+ sage_wheels/share/meataxe/p193.zzz,sha256=ZBwie1-ZyduMwCIjBFlYLJqIyLvEkPEWdOO96V4ew6o,139364
41
+ sage_wheels/share/meataxe/p032.zzz,sha256=VdII0ruLvoc723N7dmnKgv3FMR_PBDX8NM1YZUJ-Etw,139364
42
+ sage_wheels/share/meataxe/p191.zzz,sha256=vRRXc92RlJl1b3W9aJF_etp8MSio7-MAqV-58NP2mrg,139364
43
+ sage_wheels/share/meataxe/p027.zzz,sha256=pezUgJNd49Y-NwAT-Dva_kiAFYv1MCQB2fbpgFGpvWw,139364
44
+ sage_wheels/share/meataxe/p002.zzz,sha256=S3bMn2DAypZmm95Zty0sJ7b8fX9D8PXtUW_AKwRSINw,139364
45
+ sage_wheels/share/meataxe/p016.zzz,sha256=04P9EKjMRI94u9B8HoarIvtqyAOZBcjon13cZSnhZJA,139364
46
+ sage_wheels/share/meataxe/p163.zzz,sha256=8mvI6PZhihw3hw2n4Yut_hWiJwv3fwdUC0Q6gfXu9Qk,139364
47
+ sage_wheels/share/meataxe/p229.zzz,sha256=fV21gpIsdOpRw9tUr0p7_lwzCxW8azj5z0GbzA-aC3E,139364
48
+ sage_wheels/share/meataxe/p017.zzz,sha256=D_ZpzKVDd2w_lsiX0KcegaQ0ROfx1Z3PjzTdzgc85xY,139364
49
+ sage_wheels/share/meataxe/p003.zzz,sha256=nyiCOKB9ilbbNNRn-2XDTdeOV0KY_Ra4MLluLHsFeT8,139364
50
+ sage_wheels/share/meataxe/p029.zzz,sha256=HPzhswclA8ytgARX8QnGaW7kHYtL92prLlyATaGN1mU,139364
51
+ sage_wheels/share/meataxe/p149.zzz,sha256=KlWQR3fHqXQANIJ-tJdmCyMEf-0_oTnXoFhnPbLPkPk,139364
52
+ sage_wheels/share/meataxe/p004.zzz,sha256=L_p8pJtHZCA-hiCY-mMmExkkfpEkOruDctVa12WpxvY,139364
53
+ sage_wheels/share/meataxe/p005.zzz,sha256=aROjBKVxwmfPGBbf8swTERIN3N_BWB7IN2jonOKSA2s,139364
54
+ sage_wheels/share/meataxe/p011.zzz,sha256=qwAn4c_IvgSlFK2sYn8ZAFd94v0IjsP0HxDplROqq2Y,139364
55
+ sage_wheels/share/meataxe/p007.zzz,sha256=6H_B0w_AYXsK3AJekZUmeNS57s890ynMt35tRxVa1oM,139364
56
+ sage_wheels/share/meataxe/p013.zzz,sha256=0yCKIkUzlyotDMxg-Xf2m9M7nvL6Np21Dm0mjR38rJs,139364
57
+ sage_wheels/share/meataxe/p211.zzz,sha256=_1Mh9P2RFcWwxY4RhxkbXRbBh0TSK4F-_COoKjrbLHo,139364
58
+ sage_wheels/share/meataxe/p239.zzz,sha256=XxDTOGLG8CBMKhNX-VaN_EWbVajNL1Cf7anJ-ZWoPRc,139364
59
+ sage_wheels/share/meataxe/p173.zzz,sha256=f42XaqOFdLnLgK0aepEsFJV-de1EnodKA1YAP9RNY-k,139364
60
+ sage_wheels/share/meataxe/p167.zzz,sha256=AYfq23Er0NCvxR6-Pha4OI5kOA5MukX3WJJ5NbgGe3E,139364
61
+ sage_wheels/share/meataxe/p199.zzz,sha256=bKhErsPX_sO27tnYKDyfXINBZDFWmMIGIAX6rhcTtDU,139364
62
+ sage_wheels/share/meataxe/p049.zzz,sha256=pcxDfAcJpZvc82eX3cD9TdQtwABCITLCEfvl1CWrf2M,139364
63
+ sage_wheels/share/meataxe/p061.zzz,sha256=oEEseGO71h_HV5bsl9sjRlnwe2aIw4BcF-U3NKlj_8w,139364
64
+ sage_wheels/share/meataxe/p101.zzz,sha256=zdMm_zAULW8v8mWurXAyNAS_fsPks5ahdrxIw3Z8v5Y,139364
65
+ sage_wheels/share/meataxe/p128.zzz,sha256=ELJfWRn73P6xFyP-dfjtiKg2bYxNzY1sLMlzCKBxmbA,139364
66
+ sage_wheels/share/meataxe/p089.zzz,sha256=3Ew4qLtyuIvjSTXjzAVLpwunKIAEQA9JSzTkwbcHIaA,139364
67
+ sage_wheels/share/meataxe/p103.zzz,sha256=QWGS8TGibXUYrHFuEBCDWL298xDJ6-90CrLBdVFn0iY,139364
68
+ sage_wheels/share/meataxe/p073.zzz,sha256=WfICRVDxKA4gkQb0JpTHA_QmbyoJBuqm6cDB4leVLeY,139364
69
+ sage_wheels/share/meataxe/p067.zzz,sha256=1xnLQ6qw2OQsb8OhLrPw6dzR68F2oDI7GEosMGtVW1k,139364
70
+ sage_wheels/share/meataxe/p107.zzz,sha256=1-SdHDayM0LOBd6sdm8nAZv3DxWbFsuVlW9Xqg7-rlQ,139364
71
+ sage_wheels/share/meataxe/p113.zzz,sha256=e0swVu3QgO6NjjVVobARd1dvor8YNXzJNREF5921lC8,139364
72
+ sage_wheels/share/meataxe/p064.zzz,sha256=fz-V7xPwTogb4rsOhXGjOD0pWV0C5ZME5sf0xn5E3OI,139364
73
+ sage_wheels/share/meataxe/p139.zzz,sha256=isWwtB9ziyuM0rRIfqzmWOyvdaaZrKTKP5B9xjZhuvo,139364
74
+ sage_wheels/share/meataxe/p059.zzz,sha256=1OSpEtnAAsDMkjRKEzdAR-X5V2O-c0WT6JgAifW_hy4,139364
75
+ sage_wheels/share/meataxe/p071.zzz,sha256=4qIDT2axNMzbXQU0CLIKWHGblCGvz7uIU_4NBR4k1FE,139364
76
+ sage/all__sagemath_meataxe.py,sha256=bJKIZgWmLYLh-2IhrpKDQMoVtc2ryVmIVkPfzZk7-og,66
77
+ sage/libs/meataxe.pxd,sha256=FqAwBUCWeeJpp4UjeWxWWhRgStywZP8jmCK0tTvxhTs,6643
78
+ sage/libs/meataxe.cpython-312-darwin.so,sha256=MyMmPSgjqNRGtrqlp-U9eGU2ue9JuU4xixaDC2TGJRQ,80864
79
+ sage/libs/all__sagemath_meataxe.py,sha256=isUgdlh6SqmFirYA2LvA-IFIJXW-fyhZrXsbt3PifDY,46
80
+ sage/libs/meataxe.pyx,sha256=fRhRX3270t1cC1dRab1H2UHeCRTeMi0WjT9521gblmE,3585
81
+ sage/matrix/matrix_gfpn_dense.pyx,sha256=uzHJUxykYsu5-nd2OZ8_Pp6InnD1N70tTCjpQsRCqBI,71634
82
+ sage/matrix/all__sagemath_meataxe.py,sha256=isUgdlh6SqmFirYA2LvA-IFIJXW-fyhZrXsbt3PifDY,46
83
+ sage/matrix/matrix_gfpn_dense.cpython-312-darwin.so,sha256=i2Hzbvi9dBlbS4Y3CDC9dbYD9Bp8F_aU3LFdc70MqVc,283368
84
+ sage/matrix/matrix_gfpn_dense.pxd,sha256=IMkNNnShKEOvkr-5khmC17O0f4c6PiXvmtYc4Ka62rQ,1708
@@ -0,0 +1,6 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (80.9.0)
3
+ Root-Is-Purelib: false
4
+ Tag: cp312-cp312-macosx_13_0_arm64
5
+ Generator: delocate 0.13.1.dev42+ga0af70b54
6
+
@@ -0,0 +1,2 @@
1
+
2
+ sage
@@ -0,0 +1,2 @@
1
+ # sage_setup: distribution = sagemath-meataxe
2
+ # delvewheel: patch
@@ -0,0 +1 @@
1
+ # sage_setup: distribution = sagemath-meataxe
Binary file
sage/libs/meataxe.pxd ADDED
@@ -0,0 +1,156 @@
1
+ # sage_setup: distribution = sagemath-meataxe
2
+
3
+ #*****************************************************************************
4
+ # Copyright (C) 2015 Simon King <simon.king@uni-jena.de>
5
+ #
6
+ # This program is free software: you can redistribute it and/or modify
7
+ # it under the terms of the GNU General Public License as published by
8
+ # the Free Software Foundation, either version 2 of the License, or
9
+ # (at your option) any later version.
10
+ # http://www.gnu.org/licenses/
11
+ #*****************************************************************************
12
+
13
+ #
14
+ # Import SOME features from meataxe.h
15
+ # (most types are not needed, but listed here
16
+ # in the comments, for completeness)
17
+ #
18
+ cdef extern from "meataxe.h":
19
+ # general ctype emulations
20
+ # ctypedef int size_t # size_t should be a standard type!
21
+ # ctypedef unsigned long Ulong
22
+ # ctypedef unsigned short Ushort
23
+ # ctypedef unsigned char Uchar
24
+ ctypedef unsigned char FEL
25
+ ctypedef FEL *PTR
26
+
27
+ # global constants
28
+ cdef extern int FfOrder # Current field order
29
+ cdef extern int FfChar # Current characteristic
30
+ cdef extern FEL FfGen # Generator
31
+ cdef extern int FfNoc # Number of columns for row ops
32
+ cdef extern int MPB # Number of marks stored in a single byte
33
+ cdef extern size_t FfCurrentRowSize # The byte size of a single row in memory,
34
+ # always a multiple of sizeof(long)
35
+ cdef extern size_t FfCurrentRowSizeIo # The number of bytes actually used in a row
36
+ cdef extern char MtxLibDir[1024] # Where to search/create multiplication tables
37
+
38
+ # we only wrap MeatAxe for small fields (size < 255)
39
+ cdef extern FEL mtx_tmult[256][256]
40
+ cdef extern FEL mtx_tadd[256][256]
41
+ cdef extern FEL mtx_taddinv[256]
42
+ cdef extern FEL mtx_tmultinv[256]
43
+ cdef extern FEL mtx_tinsert[8][256]
44
+ cdef extern FEL mtx_textract[8][256]
45
+ cdef extern FEL FF_ONE, FF_ZERO
46
+
47
+ #########################################
48
+ # function prototypes
49
+ ## global parameters
50
+ size_t FfRowSize(int noc)
51
+ size_t FfTrueRowSize(int noc) # Difference to FfRowSize: Doesn't count padding bytes
52
+ int FfSetField(int field) except -1
53
+ int FfSetNoc(int ncols) except -1
54
+
55
+ ## Finite Fields
56
+ FEL FfAdd(FEL a, FEL b)
57
+ FEL FfSub(FEL a, FEL b)
58
+ FEL FfNeg(FEL a)
59
+ FEL FfMul(FEL a, FEL b)
60
+ FEL FfDiv(FEL a, FEL b)
61
+ FEL FfInv(FEL a)
62
+ # FEL FfEmbed(FEL a, int subfield) except 255
63
+ # FEL FfRestrict(FEL a, int subfield) except 255
64
+ FEL FfFromInt(int l)
65
+ int FfToInt(FEL f)
66
+
67
+ ## Rows
68
+ void FfMulRow(PTR row, FEL mark)
69
+ void FfAddMulRow(PTR dest, PTR src, FEL f)
70
+ void FfAddMulRowPartial(PTR dest, PTR src, FEL f, int first, int len)
71
+ PTR FfAddRow(PTR dest, PTR src)
72
+ PTR FfAddRowPartial(PTR dest, PTR src, int first, int len)
73
+ PTR FfSubRow(PTR dest, PTR src)
74
+ PTR FfSubRowPartial(PTR dest, PTR src, int first, int len)
75
+ FEL FfExtract(PTR row, int col)
76
+ void FfInsert(PTR row, int col, FEL mark)
77
+ int FfFindPivot(PTR row, FEL *mark)
78
+ FEL FfScalarProduct(PTR a, PTR b)
79
+ void FfSwapRows(PTR dest, PTR src)
80
+ void FfPermRow(PTR row, long *perm, PTR result)
81
+ int FfCmpRows(PTR p1, PTR p2)
82
+
83
+ ## multiple rows
84
+ PTR FfAlloc(int nor) except NULL
85
+ void FfExtractColumn(PTR mat,int nor,int col,PTR result)
86
+ int FfStepPtr(PTR *x) # Advance to next row
87
+ PTR FfGetPtr(PTR base, int row) # Advance to "row" rows after base
88
+ void FfInsert(PTR row, int col, FEL mark)
89
+ void FfMapRow(PTR row, PTR matrix, int nor, PTR result)
90
+
91
+ ############
92
+ ## Skip: Application, error handling, i/o
93
+
94
+ ############
95
+ ## Matrices
96
+ ############
97
+ ctypedef struct Matrix_t:
98
+ int Field, Nor, Noc # Field, #rows, #columns
99
+ PTR Data # Pointer to data area
100
+ int RowSize # Size (in bytes) of one row
101
+ int *PivotTable # Pivot table (if matrix is in echelon form)
102
+
103
+ ## Basic memory operations
104
+ Matrix_t *MatAlloc(int field, int nor, int noc) except NULL
105
+ int MatFree(Matrix_t *mat)
106
+ PTR MatGetPtr(Matrix_t *mat, int row) except NULL
107
+ int MatCompare(Matrix_t *a, Matrix_t *b) except -2
108
+ int MatCopyRegion(Matrix_t *dest, int destrow, int destcol, Matrix_t *src, int row1, int col1, int nrows, int ncols) except -1
109
+ Matrix_t *MatCut(Matrix_t *src, int row1, int col1, int nrows, int ncols) except NULL
110
+ Matrix_t *MatCutRows(Matrix_t *src, int row1, int nrows) except NULL
111
+ Matrix_t *MatDup(Matrix_t *src) except NULL
112
+ Matrix_t *MatId(int fl, int nor) except NULL
113
+ Matrix_t *MatLoad(char *fn) except? NULL
114
+ int MatSave(Matrix_t *mat, char *fn) except -1
115
+
116
+ ## Basic Arithmetic ## general rule: dest is changed, src/mat are unchanged!
117
+ Matrix_t *MatTransposed(Matrix_t *src) except NULL
118
+ Matrix_t *MatAdd(Matrix_t *dest, Matrix_t *src) except NULL
119
+ Matrix_t *MatAddMul(Matrix_t *dest, Matrix_t *src, FEL coeff) except NULL
120
+ Matrix_t *MatMul(Matrix_t *dest, Matrix_t *src) except NULL
121
+ Matrix_t *MatMulScalar(Matrix_t *dest, FEL coeff) except NULL
122
+ Matrix_t *MatPower(Matrix_t *mat, long n) except NULL
123
+ int StablePower(Matrix_t *mat, int *pwr, Matrix_t **ker) except -1
124
+ FEL MatTrace(Matrix_t *mat) except 255
125
+ Matrix_t *MatMulStrassen(Matrix_t *dest, Matrix_t *A, Matrix_t *B) except NULL
126
+ void StrassenSetCutoff(size_t size)
127
+
128
+ ## "Higher" Arithmetic
129
+ Matrix_t *MatTensor(Matrix_t *m1, Matrix_t *m2) except NULL
130
+ Matrix_t *TensorMap(Matrix_t *vec, Matrix_t *a, Matrix_t *b) except NULL
131
+
132
+ int MatClean(Matrix_t *mat, Matrix_t *sub) except -1
133
+ int MatEchelonize(Matrix_t *mat) except -1
134
+ int MatOrder(Matrix_t *mat) except? -1
135
+ long MatNullity(Matrix_t *mat)
136
+ Matrix_t *MatInverse(Matrix_t *src) except NULL
137
+ Matrix_t *MatNullSpace(Matrix_t *mat) except NULL
138
+ Matrix_t *MatNullSpace__(Matrix_t *mat) except NULL
139
+
140
+ ## Error handling
141
+ cdef extern int MTX_ERR_NOMEM, MTX_ERR_GAME_OVER, MTX_ERR_DIV0, MTX_ERR_FILEFMT, MTX_ERR_BADARG
142
+ cdef extern int MTX_ERR_RANGE, MTX_ERR_NOTECH, MTX_ERR_NOTSQUARE, MTX_ERR_INCOMPAT
143
+ cdef extern int MTX_ERR_BADUSAGE, MTX_ERR_OPTION, MTX_ERR_NARGS, MTX_ERR_NOTMATRIX, MTX_ERR_NOTPERM
144
+ ctypedef struct MtxFileInfo_t:
145
+ char *Name
146
+ char *BaseName
147
+
148
+ ctypedef struct MtxErrorRecord_t:
149
+ MtxFileInfo_t *FileInfo
150
+ int LineNo
151
+ char *Text
152
+
153
+ ctypedef void MtxErrorHandler_t(MtxErrorRecord_t*)
154
+ MtxErrorHandler_t *MtxSetErrorHandler(MtxErrorHandler_t *h)
155
+
156
+ cdef Matrix_t *rawMatrix(int Field, list entries) except NULL
sage/libs/meataxe.pyx ADDED
@@ -0,0 +1,95 @@
1
+ # distutils: libraries = mtx
2
+ # sage_setup: distribution = sagemath-meataxe
3
+
4
+ # ****************************************************************************
5
+ # Copyright (C) 2017 Simon King <simon.king@uni-jena.de>
6
+ #
7
+ # This program is free software: you can redistribute it and/or modify
8
+ # it under the terms of the GNU General Public License as published by
9
+ # the Free Software Foundation, either version 2 of the License, or
10
+ # (at your option) any later version.
11
+ # https://www.gnu.org/licenses/
12
+ # ****************************************************************************
13
+
14
+ from cpython.exc cimport PyErr_SetObject
15
+ from cysignals.signals cimport sig_block, sig_unblock
16
+ cdef dict ErrMsg = {
17
+ "Not enough memory": MemoryError,
18
+ "Time limit exceeded": RuntimeError,
19
+ "Division by zero": ZeroDivisionError,
20
+ "Bad file format": OSError,
21
+ "No such file or directory": OSError,
22
+ "Bad argument": ValueError,
23
+ "Argument out of range": IndexError,
24
+
25
+ "Matrix not in echelon form": ValueError,
26
+ "Matrix not square": ArithmeticError,
27
+ "Incompatible objects": TypeError,
28
+
29
+ "Bad syntax, try `-help'": SyntaxError,
30
+ "Bad usage of option, try `-help'": ValueError,
31
+ "Bad number of arguments, try `-help'": ValueError,
32
+
33
+ "Not a matrix": TypeError,
34
+ "Not a permutation": TypeError
35
+ }
36
+
37
+
38
+ cdef Matrix_t *rawMatrix(int Field, list entries) except NULL:
39
+ """
40
+ Return a meataxe matrix.
41
+
42
+ INPUT:
43
+
44
+ - ``Field`` -- integer; the field size
45
+ - ``entries`` -- list of lists, the entries of the matrix, also
46
+ defining the matrix dimensions. It is *not* tested that all rows
47
+ in ``entries`` have the same length, and it is assumed that both
48
+ the number of rows and the number of columns is positive. All
49
+ elements are given by ints, they are automatically interpreted as
50
+ field elements.
51
+ """
52
+ cdef Matrix_t *M = MatAlloc(Field, len(entries), len(entries[0]))
53
+ cdef PTR x = M.Data
54
+ cdef int idx, i, j
55
+ cdef list dt_i
56
+ for i in range(M.Nor):
57
+ idx = 0
58
+ dt_i = entries[i]
59
+ for j in range(M.Noc):
60
+ FfInsert(x, j, FfFromInt(dt_i[j]))
61
+ FfStepPtr(&(x))
62
+ return M
63
+
64
+ ###############################################################
65
+ ## It is needed to do some initialisation. Since the meataxe
66
+ ## version used in Sage (SharedMeatAxe) is a dynamic (shared)
67
+ ## library, it sufficed to do this initialisation only once.
68
+ ## For convenience, the meataxe_init() function is called in
69
+ ## this module. Hence, `import sage.libs.meataxe` is enough
70
+ ## to make sure that MeatAxe is initialised.
71
+
72
+ from sage.cpython.string cimport str_to_bytes, char_to_str
73
+
74
+ cdef void sage_meataxe_error_handler(const MtxErrorRecord_t *err) noexcept:
75
+ sig_block()
76
+ ErrText = char_to_str(err.Text)
77
+ BaseName = char_to_str(err.FileInfo.BaseName)
78
+ LineNo = err.LineNo
79
+ PyErr_SetObject(ErrMsg.get(ErrText.split(': ')[-1], RuntimeError), f"{ErrText} in file {BaseName} (line {LineNo})")
80
+ sig_unblock()
81
+
82
+ cdef inline meataxe_init() noexcept:
83
+ ## Assign to a variable that enables MeatAxe to find
84
+ ## its multiplication tables.
85
+ global MtxLibDir
86
+ from sage import env
87
+ mtxdir = str_to_bytes(env.MTXLIB)
88
+ if len(mtxdir) >= 1024:
89
+ raise RuntimeError(f"the path for the meataxe library {mtxdir!r} is too long, it needs to be of length < 1024")
90
+ MtxLibDir[:len(mtxdir)] = mtxdir
91
+ MtxLibDir[len(mtxdir)] = c'\0'
92
+ ## Error handling for MeatAxe, to prevent immediate exit of the program
93
+ MtxSetErrorHandler(sage_meataxe_error_handler)
94
+
95
+ meataxe_init()
@@ -0,0 +1 @@
1
+ # sage_setup: distribution = sagemath-meataxe
@@ -0,0 +1,37 @@
1
+ # sage_setup: distribution = sagemath-meataxe
2
+
3
+ # ***************************************************************************
4
+ # Copyright (C) 2015 Simon King <simon.king@uni-jena.de>
5
+ #
6
+ # This program is free software: you can redistribute it and/or modify
7
+ # it under the terms of the GNU General Public License as published by
8
+ # the Free Software Foundation, either version 2 of the License, or
9
+ # (at your option) any later version.
10
+ # https://www.gnu.org/licenses/
11
+ # ***************************************************************************
12
+
13
+ from sage.matrix.matrix_dense cimport Matrix_dense
14
+ from sage.structure.element cimport Matrix
15
+ from sage.libs.meataxe cimport *
16
+
17
+
18
+ cdef class FieldConverter_class:
19
+ cdef field # A function converting an int to a field element
20
+ cdef FEL zero_FEL # the FEL representation of zero
21
+ cpdef fel_to_field(self, FEL x) noexcept
22
+ cpdef FEL field_to_fel(self, x) except 255
23
+
24
+ cdef FieldConverter_class FieldConverter(field) noexcept
25
+
26
+ cdef class Matrix_gfpn_dense(Matrix_dense):
27
+ cdef Matrix_t *Data
28
+ cdef readonly FieldConverter_class _converter
29
+
30
+ cdef set_slice_unsafe(self, Py_ssize_t i, Matrix_gfpn_dense S) noexcept
31
+ cdef inline int get_unsafe_int(self, Py_ssize_t i, Py_ssize_t j) noexcept
32
+ cpdef Matrix_gfpn_dense get_slice(self, Py_ssize_t i, Py_ssize_t j) noexcept
33
+ cpdef list _rowlist_(self, i, j=*) noexcept
34
+ cpdef Matrix_gfpn_dense _multiply_classical(Matrix_gfpn_dense self, Matrix_gfpn_dense right) noexcept
35
+ cpdef Matrix_gfpn_dense _multiply_strassen(Matrix_gfpn_dense self, Matrix_gfpn_dense right, cutoff=*) noexcept
36
+
37
+ cdef Matrix_gfpn_dense new_mtx(Matrix_t* mat, Matrix_gfpn_dense template) noexcept