{"id":24208,"library":"passagemath-meataxe","title":"passagemath-meataxe","description":"Matrix arithmetic over small finite fields, implementing the meataxe algorithm for modular representation theory. Part of the passagemath ecosystem. Current version 10.8.4, requires Python >=3.11 and <3.15. Release cadence follows passagemath releases.","status":"active","version":"10.8.4","language":"python","source_language":"en","source_url":"https://github.com/passagemath/passagemath-meataxe","tags":["meataxe","finite field","matrix","modular representation","passagemath"],"install":[{"cmd":"pip install passagemath-meataxe","lang":"bash","label":"Standard install"}],"dependencies":[{"reason":"Core dependency for polynomials over finite fields","package":"passagemath-polybori","optional":false},{"reason":"Provides module categories used by meataxe","package":"passagemath-modules","optional":false}],"imports":[{"note":"SageMath style globals may not work; passagemath uses explicit namespaces","wrong":"from sage.all import *","symbol":"Meataxe","correct":"from passagemath.meataxe import Meataxe"}],"quickstart":{"code":"from passagemath.meataxe import Meataxe\n# Create a matrix over GF(2)\nm = Meataxe(2, [[1,0],[0,1]])\nprint(m.rank())","lang":"python","description":"Basic usage: create a matrix over GF(2) and compute its rank."},"warnings":[{"fix":"Use 'from passagemath.meataxe import ...' instead of 'from sage.all import ...'","message":"passagemath-meataxe 10.x is a standalone package, not part of SageMath. Import paths changed from sage.* to passagemath.*","severity":"breaking","affected_versions":"10.x"},{"fix":"Check your field is in the supported list before calling meataxe operations.","message":"The meataxe algorithm only works over small finite fields (characteristic 2,3,5,7,11,13). Attempting with other fields raises an error.","severity":"gotcha","affected_versions":"all"},{"fix":"Use 'random_matrix' and 'irreducible_matrix'.","message":"Functions named 'new_random_matrix' and 'new_irreducible_matrix' are deprecated in favor of 'random_matrix' and 'irreducible_matrix'.","severity":"deprecated","affected_versions":">=10.4"},{"fix":"Convert field elements to plain ints before constructing a meataxe matrix.","message":"Matrix elements must be integers (0 to q-1) within the field; using Python ints is mandatory. Passing elements from other packages (e.g., SageMath's FiniteField elements) may cause silent conversion errors.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Use 'from passagemath.meataxe import ...' instead of 'from sage.all import ...'","cause":"Trying to import from the old SageMath package, not supported in standalone passagemath-meataxe","error":"ImportError: No module named 'sage'"},{"fix":"Ensure the field characteristic is in {2,3,5,7,11,13} and that you pass an integer modulus, not a ring object.","cause":"Using a finite field that is not one of the small characteristic fields (2,3,5,7,11,13) or providing a non-field ring","error":"TypeError: no conversion of this ring to a meataxe field"},{"fix":"Convert all entries to plain ints with 'int(entry)' before constructing the matrix.","cause":"Passed non-integer entries (e.g., SageMath's FiniteFieldElement) or integers out of range","error":"ValueError: matrix entries must be integers in the range 0..q-1"},{"fix":"Use 'from passagemath.meataxe import Meataxe'","cause":"Incorrect import; common when using 'import passagemath' then 'passagemath.meataxe.Meataxe' but missing the explicit import","error":"AttributeError: module 'passagemath.meataxe' has no attribute 'Meataxe'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}