Hi, I would like to report a crash: Operating System: Debian Linux Testing carlos@arroway:~$ uname -a Linux arroway 4.19.0-5-amd64 #1 SMP Debian 4.19.37-6 (2019-07-18) x86_64 GNU/Linux
SageMath was installed from Debian Repositories: apt-get install sagemath SageMath crashes right after intitialize: carlos@arroway:~$ sage ┌────────────────────────────────────────────────────────────────────┐ │ SageMath version 8.6, Release Date: 2019-01-15 │ │ Using Python 2.7.16. Type "help()" for help. │ └────────────────────────────────────────────────────────────────────┘ ********************************************************************** Oops, Sage crashed. We do our best to make it stable, but... Best Regards, Carlos -- Carlos Mauricio Silva Departamento de Física Instituto Politécnico Superior "Gral. San Martín" Universidad Nacional de Rosario ~ República Argentina -- You received this message because you are subscribed to the Google Groups "sage-support" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-support+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/sage-support/CALgKwyrf%3D6GJ4x%2BH41HmrhHspf-tk02Zu1MtSj8qo5_TAMWg8g%40mail.gmail.com.
*************************************************************************** IPython post-mortem report {'commit_hash': u'033ab93c7', 'commit_source': 'installation', 'default_encoding': 'UTF-8', 'ipython_path': '/usr/lib/python2.7/dist-packages/IPython', 'ipython_version': '5.8.0', 'os_name': 'posix', 'platform': 'Linux-4.19.0-5-amd64-x86_64-with-debian-bullseye-sid', 'sys_executable': '/usr/bin/python2', 'sys_platform': 'linux2', 'sys_version': '2.7.16+ (default, Jul 8 2019, 09:45:29) \n[GCC 8.3.0]'} *************************************************************************** *************************************************************************** Crash traceback: --------------------------------------------------------------------------- --------------------------------------------------------------------------- ImportError Python 2.7.16+: /usr/bin/python2 Sat Aug 17 12:13:21 2019 A problem occurred executing Python code. Here is the sequence of function calls leading up to the error, with the most recent (innermost) call last. /usr/share/sagemath/bin/sage-ipython in <module>() 1 #!/usr/bin/env sage-python23 2 # -*- coding: utf-8 -*- 3 """ 4 Sage IPython startup script. 5 """ 6 7 # Display startup banner. Do this before anything else to give the user 8 # early feedback that Sage is starting. 9 from sage.misc.banner import banner 10 banner() 11 12 from sage.repl.interpreter import SageTerminalApp 13 14 app = SageTerminalApp.instance() ---> 15 app.initialize() global app.initialize = <bound method SageTerminalApp.initialize of <sage.repl.interpreter.SageTerminalApp object at 0x7fcfbf49ab90>> 16 app.start() <decorator-gen-110> in initialize(self=<sage.repl.interpreter.SageTerminalApp object>, argv=None) /usr/lib/python2.7/dist-packages/traitlets/config/application.pyc in catch_config_error(method=<function initialize>, app=<sage.repl.interpreter.SageTerminalApp object>, *args=(None,), **kwargs={}) 72 TRAITLETS_APPLICATION_RAISE_CONFIG_FILE_ERROR = False 73 else: 74 raise ValueError("Unsupported value for environment variable: 'TRAITLETS_APPLICATION_RAISE_CONFIG_FILE_ERROR' is set to '%s' which is none of {'0', '1', 'false', 'true', ''}."% _envvar ) 75 76 77 @decorator 78 def catch_config_error(method, app, *args, **kwargs): 79 """Method decorator for catching invalid config (Trait/ArgumentErrors) during init. 80 81 On a TraitError (generally caused by bad config), this will print the trait's 82 message, and exit the app. 83 84 For use on init methods, to prevent invoking excepthook on invalid input. 85 """ 86 try: ---> 87 return method(app, *args, **kwargs) method = <function initialize at 0x7fcfbe7ef4d0> app = <sage.repl.interpreter.SageTerminalApp object at 0x7fcfbf49ab90> args = (None,) kwargs = {} 88 except (TraitError, ArgumentError) as e: 89 app.print_help() 90 app.log.fatal("Bad config encountered during initialization:") 91 app.log.fatal(str(e)) 92 app.log.debug("Config at the time: %s", app.config) 93 app.exit(1) 94 95 96 class ApplicationError(Exception): 97 pass 98 99 100 class LevelFormatter(logging.Formatter): 101 """Formatter with additional `highlevel` record 102 /usr/lib/python2.7/dist-packages/IPython/terminal/ipapp.pyc in initialize(self=<sage.repl.interpreter.SageTerminalApp object>, argv=None) 301 302 return super(TerminalIPythonApp, self).parse_command_line(argv) 303 304 @catch_config_error 305 def initialize(self, argv=None): 306 """Do actions after construct, but before starting the app.""" 307 super(TerminalIPythonApp, self).initialize(argv) 308 if self.subapp is not None: 309 # don't bother initializing further, starting subapp 310 return 311 # print self.extra_args 312 if self.extra_args and not self.something_to_run: 313 self.file_to_run = self.extra_args[0] 314 self.init_path() 315 # create the shell --> 316 self.init_shell() self.init_shell = <bound method SageTerminalApp.init_shell of <sage.repl.interpreter.SageTerminalApp object at 0x7fcfbf49ab90>> 317 # and draw the banner 318 self.init_banner() 319 # Now a variety of things that happen after the banner is printed. 320 self.init_gui_pylab() 321 self.init_extensions() 322 self.init_code() 323 324 def init_shell(self): 325 """initialize the InteractiveShell instance""" 326 # Create an InteractiveShell instance. 327 # shell.display_banner should always be False for the terminal 328 # based app, because we call shell.show_banner() by hand below 329 # so the banner shows *before* all extension loading stuff. 330 self.shell = self.interactive_shell_class.instance(parent=self, 331 profile_dir=self.profile_dir, /usr/lib/python2.7/dist-packages/sage/repl/interpreter.pyc in init_shell(self=<sage.repl.interpreter.SageTerminalApp object>) 745 self.shell.has_sage_extensions = SAGE_EXTENSION in self.extensions 746 747 # Load the %lprun extension if available 748 try: 749 import line_profiler 750 except ImportError: 751 pass 752 else: 753 self.extensions.append('line_profiler') 754 755 if self.shell.has_sage_extensions: 756 self.extensions.remove(SAGE_EXTENSION) 757 758 # load sage extension here to get a crash if 759 # something is wrong with the sage library --> 760 self.shell.extension_manager.load_extension(SAGE_EXTENSION) self.shell.extension_manager.load_extension = <bound method ExtensionManager.load_extension of <IPython.core.extensions.ExtensionManager object at 0x7fcfbdd5e790>> global SAGE_EXTENSION = 'sage' 761 762 /usr/lib/python2.7/dist-packages/IPython/core/extensions.pyc in load_extension(self=<IPython.core.extensions.ExtensionManager object>, module_str='sage') 70 71 Returns the string "already loaded" if the extension is already loaded, 72 "no load function" if the module doesn't have a load_ipython_extension 73 function, or None if it succeeded. 74 """ 75 if module_str in self.loaded: 76 return "already loaded" 77 78 from IPython.utils.syspathcontext import prepended_to_syspath 79 80 with self.shell.builtin_trap: 81 if module_str not in sys.modules: 82 with prepended_to_syspath(self.ipython_extension_dir): 83 __import__(module_str) 84 mod = sys.modules[module_str] ---> 85 if self._call_load_ipython_extension(mod): self._call_load_ipython_extension = <bound method ExtensionManager._call_load_ipython_extension of <IPython.core.extensions.ExtensionManager object at 0x7fcfbdd5e790>> mod = <module 'sage' from '/usr/lib/python2.7/dist-packages/sage/__init__.pyc'> 86 self.loaded.add(module_str) 87 else: 88 return "no load function" 89 90 def unload_extension(self, module_str): 91 """Unload an IPython extension by its module name. 92 93 This function looks up the extension's name in ``sys.modules`` and 94 simply calls ``mod.unload_ipython_extension(self)``. 95 96 Returns the string "no unload function" if the extension doesn't define 97 a function to unload itself, "not loaded" if the extension isn't loaded, 98 otherwise None. 99 """ 100 if module_str not in self.loaded: /usr/lib/python2.7/dist-packages/IPython/core/extensions.pyc in _call_load_ipython_extension(self=<IPython.core.extensions.ExtensionManager object>, mod=<module 'sage' from '/usr/lib/python2.7/dist-packages/sage/__init__.pyc'>) 117 """ 118 from IPython.utils.syspathcontext import prepended_to_syspath 119 120 if (module_str in self.loaded) and (module_str in sys.modules): 121 self.unload_extension(module_str) 122 mod = sys.modules[module_str] 123 with prepended_to_syspath(self.ipython_extension_dir): 124 reload(mod) 125 if self._call_load_ipython_extension(mod): 126 self.loaded.add(module_str) 127 else: 128 self.load_extension(module_str) 129 130 def _call_load_ipython_extension(self, mod): 131 if hasattr(mod, 'load_ipython_extension'): --> 132 mod.load_ipython_extension(self.shell) mod.load_ipython_extension = <function load_ipython_extension at 0x7fcfbfc13dd0> self.shell = <sage.repl.interpreter.SageTerminalInteractiveShell object at 0x7fcfbe78d590> 133 return True 134 135 def _call_unload_ipython_extension(self, mod): 136 if hasattr(mod, 'unload_ipython_extension'): 137 mod.unload_ipython_extension(self.shell) 138 return True 139 140 def install_extension(self, url, filename=None): 141 """Download and install an IPython extension. 142 143 If filename is given, the file will be so named (inside the extension 144 directory). Otherwise, the name from the URL will be used. The file must 145 have a .py or .zip extension; otherwise, a ValueError will be raised. 146 147 Returns the full path to the installed file. /usr/lib/python2.7/dist-packages/sage/__init__.pyc in load_ipython_extension(*args=(<sage.repl.interpreter.SageTerminalInteractiveShell object>,)) 1 __all__ = ['all'] 2 3 # Set sage.__version__ to the current version number. This is analogous 4 # to many other Python packages. 5 from sage.version import version as __version__ 6 7 # Make sure that the correct zlib library is loaded. This is needed 8 # to prevent the system zlib to be loaded instead of the Sage one. 9 # See https://trac.sagemath.org/ticket/23122 10 import zlib 11 12 # IPython calls this when starting up 13 def load_ipython_extension(*args): 14 import sage.repl.ipython_extension ---> 15 sage.repl.ipython_extension.load_ipython_extension(*args) sage.repl.ipython_extension.load_ipython_extension = <function load_ipython_extension at 0x7fcfbdb246d0> args = (<sage.repl.interpreter.SageTerminalInteractiveShell object at 0x7fcfbe78d590>,) 16 17 18 # Monkey-patch inspect.isfunction() to support Cython functions. 19 def isfunction(obj): 20 """ 21 Check whether something is a function. 22 23 We assume that anything which has a genuine ``__code__`` 24 attribute (not using ``__getattr__`` overrides) is a function. 25 This is meant to support Cython functions. 26 27 EXAMPLES:: 28 29 sage: from inspect import isfunction 30 sage: def f(): pass 31 sage: isfunction(f) /usr/lib/python2.7/dist-packages/sage/repl/ipython_extension.pyc in wrapper(*args=(<sage.repl.interpreter.SageTerminalInteractiveShell object>,), **kwargs={}) 547 ....: if work: 548 ....: return 'foo worked' 549 ....: raise RuntimeError("foo didn't work") 550 sage: foo(False) 551 Traceback (most recent call last): 552 ... 553 RuntimeError: foo didn't work 554 sage: foo(True) 555 'foo worked' 556 sage: foo(False) 557 sage: foo(True) 558 """ 559 @wraps(func) 560 def wrapper(*args, **kwargs): 561 if not wrapper.has_run: --> 562 result = func(*args, **kwargs) result = undefined global func = undefined args = (<sage.repl.interpreter.SageTerminalInteractiveShell object at 0x7fcfbe78d590>,) kwargs = {} 563 wrapper.has_run = True 564 return result 565 wrapper.has_run = False 566 return wrapper 567 568 569 @run_once 570 def load_ipython_extension(ip): 571 """ 572 Load the extension in IPython. 573 """ 574 # this modifies ip 575 SageCustomizations(shell=ip) /usr/lib/python2.7/dist-packages/sage/repl/ipython_extension.pyc in load_ipython_extension(ip=<sage.repl.interpreter.SageTerminalInteractiveShell object>) 560 def wrapper(*args, **kwargs): 561 if not wrapper.has_run: 562 result = func(*args, **kwargs) 563 wrapper.has_run = True 564 return result 565 wrapper.has_run = False 566 return wrapper 567 568 569 @run_once 570 def load_ipython_extension(ip): 571 """ 572 Load the extension in IPython. 573 """ 574 # this modifies ip --> 575 SageCustomizations(shell=ip) global SageCustomizations = <class 'sage.repl.ipython_extension.SageCustomizations'> global shell = undefined ip = <sage.repl.interpreter.SageTerminalInteractiveShell object at 0x7fcfbe78d590> /usr/lib/python2.7/dist-packages/sage/repl/ipython_extension.pyc in __init__(self=<sage.repl.ipython_extension.SageCustomizations object>, shell=<sage.repl.interpreter.SageTerminalInteractiveShell object>) 418 def __init__(self, shell=None): 419 """ 420 Initialize the Sage plugin. 421 """ 422 self.shell = shell 423 424 self.auto_magics = SageMagics(shell) 425 self.shell.register_magics(self.auto_magics) 426 427 import sage.misc.edit_module as edit_module 428 self.shell.set_hook('editor', edit_module.edit_devel) 429 430 self.init_inspector() 431 self.init_line_transforms() 432 --> 433 import sage.all # until sage's import hell is fixed sage.all = undefined 434 435 self.shell.verbose_quit = True 436 self.set_quit_hook() 437 438 self.register_interface_magics() 439 440 if SAGE_IMPORTALL == 'yes': 441 self.init_environment() 442 443 def register_interface_magics(self): 444 """ 445 Register magics for each of the Sage interfaces 446 """ 447 from sage.repl.interface_magic import InterfaceMagic 448 InterfaceMagic.register_all(self.shell) /usr/lib/python2.7/dist-packages/sage/all.py in <module>() 87 from sage.misc.sh import sh 88 89 from sage.libs.all import * 90 from sage.data_structures.all import * 91 from sage.doctest.all import * 92 93 from sage.structure.all import * 94 from sage.rings.all import * 95 from sage.arith.all import * 96 from sage.matrix.all import * 97 98 from sage.symbolic.all import * 99 from sage.modules.all import * 100 from sage.monoids.all import * 101 from sage.algebras.all import * --> 102 from sage.modular.all import * global sage.modular.all = undefined 103 from sage.sat.all import * 104 from sage.schemes.all import * 105 from sage.graphs.all import * 106 from sage.groups.all import * 107 from sage.arith.power import generic_power as power 108 from sage.databases.all import * 109 from sage.categories.all import * 110 from sage.sets.all import * 111 from sage.probability.all import * 112 from sage.interfaces.all import * 113 114 from sage.functions.all import * 115 from sage.calculus.all import * 116 117 import sage.tests.all as tests /usr/lib/python2.7/dist-packages/sage/modular/all.py in <module>() 1 from __future__ import absolute_import 2 from sage.misc.lazy_import import lazy_import 3 ----> 4 from .quatalg.all import * global quatalg.all = undefined 5 6 from .modsym.all import * 7 8 from .modform.all import * 9 10 from .ssmod.all import * 11 12 from .abvar.all import * 13 14 from .dirichlet import (DirichletGroup, 15 kronecker_character, kronecker_character_upside_down, 16 trivial_character) 17 18 from .arithgroup.all import (Gamma0, Gamma1, GammaH, Gamma, SL2Z, 19 ArithmeticSubgroup_Permutation, 20 CongruenceSubgroup, FareySymbol) 21 22 from .cusps import Cusp, Cusps 23 24 from .dims import (dimension_cusp_forms, 25 dimension_new_cusp_forms, 26 dimension_eis, 27 dimension_modular_forms, 28 sturm_bound) 29 30 from .buzzard import buzzard_tpslopes 31 /usr/lib/python2.7/dist-packages/sage/modular/quatalg/__init__.py in <module>() 1 from __future__ import absolute_import 2 # Modular forms using quaternion algebras -- initialization file 3 ----> 4 from . import all global all = undefined /usr/lib/python2.7/dist-packages/sage/modular/quatalg/all.py in <module>() 1 from __future__ import absolute_import 2 ----> 3 from .brandt import BrandtModule global brandt = undefined global BrandtModule = undefined /usr/lib/python2.7/dist-packages/sage/modular/quatalg/brandt.py in <module>() 191 # it under the terms of the GNU General Public License as published by 192 # the Free Software Foundation, either version 2 of the License, or 193 # (at your option) any later version. 194 # http://www.gnu.org/licenses/ 195 #***************************************************************************** 196 from __future__ import print_function 197 198 # imports 199 from sage.misc.all import prod, verbose 200 from sage.rings.all import Integer, ZZ, QQ, PolynomialRing, GF, CommutativeRing 201 202 from sage.algebras.quatalg.quaternion_algebra import QuaternionAlgebra, basis_for_quaternion_lattice 203 from sage.algebras.quatalg.quaternion_algebra_cython import rational_matrix_from_rational_quaternions 204 205 from sage.arith.all import gcd, factor, prime_divisors, kronecker, next_prime --> 206 from sage.modular.hecke.all import (AmbientHeckeModule, HeckeSubmodule, HeckeModuleElement) global sage.modular.hecke.all = undefined global AmbientHeckeModule = undefined global HeckeSubmodule = undefined global HeckeModuleElement = undefined 207 from sage.modular.dirichlet import TrivialCharacter 208 from sage.matrix.all import MatrixSpace, matrix 209 from sage.misc.mrange import cartesian_product_iterator 210 from sage.structure.richcmp import richcmp, richcmp_method 211 from sage.misc.cachefunc import cached_method 212 213 from copy import copy 214 215 cache = {} 216 217 def BrandtModule(N, M=1, weight=2, base_ring=QQ, use_cache=True): 218 """ 219 Return the Brandt module of given weight associated to the prime 220 power `p^r` and integer `M`, where `p` and `M` are coprime. 221 /usr/lib/python2.7/dist-packages/sage/modular/hecke/all.py in <module>() 5 6 from .hecke_operator import HeckeOperator, is_HeckeOperator 7 8 from .degenmap import DegeneracyMap 9 10 from .algebra import HeckeAlgebra, is_HeckeAlgebra 11 12 from .morphism import (HeckeModuleMorphism, HeckeModuleMorphism_matrix, 13 is_HeckeModuleMorphism, 14 is_HeckeModuleMorphism_matrix) 15 16 from .element import HeckeModuleElement, is_HeckeModuleElement 17 18 from .submodule import HeckeSubmodule, is_HeckeSubmodule 19 ---> 20 from .ambient_module import AmbientHeckeModule, is_AmbientHeckeModule global ambient_module = undefined global AmbientHeckeModule = undefined global is_AmbientHeckeModule = undefined /usr/lib/python2.7/dist-packages/sage/modular/hecke/ambient_module.py in <module>() 23 from . import degenmap 24 from . import module 25 from . import submodule 26 27 import sage.modules.all 28 29 import sage.rings.all 30 31 import sage.misc.misc as misc 32 33 import sage.arith.all as arith 34 35 import sage.matrix.matrix_space as matrix_space 36 from sage.matrix.constructor import matrix 37 ---> 38 from sage.modular.arithgroup.all import Gamma0 # for Sturm bound global sage.modular.arithgroup.all = undefined global Gamma0 = undefined 39 40 def is_AmbientHeckeModule(x): 41 r""" 42 Return True if x is of type AmbientHeckeModule. 43 44 EXAMPLES:: 45 46 sage: from sage.modular.hecke.ambient_module import is_AmbientHeckeModule 47 sage: is_AmbientHeckeModule(ModularSymbols(6)) 48 True 49 sage: is_AmbientHeckeModule(ModularSymbols(6).cuspidal_subspace()) 50 False 51 sage: is_AmbientHeckeModule(ModularForms(11)) 52 True 53 sage: is_AmbientHeckeModule(BrandtModule(2, 3)) /usr/lib/python2.7/dist-packages/sage/modular/arithgroup/__init__.py in <module>() 1 from __future__ import absolute_import 2 # do nothing 3 ----> 4 from . import all global all = undefined /usr/lib/python2.7/dist-packages/sage/modular/arithgroup/all.py in <module>() 1 from __future__ import absolute_import 2 # Note: the is_xxx functions are imported to here, but not from here up to sage.modular.all, so 3 # they are invisible to the user but easy to import all in one go by other code that needs them. 4 5 from .arithgroup_generic import is_ArithmeticSubgroup ----> 6 from .congroup_generic import is_CongruenceSubgroup, CongruenceSubgroup_constructor as CongruenceSubgroup global congroup_generic = undefined global is_CongruenceSubgroup = undefined global CongruenceSubgroup_constructor = undefined global CongruenceSubgroup = undefined 7 from .congroup_gammaH import GammaH_constructor as GammaH, is_GammaH 8 from .congroup_gamma1 import Gamma1_constructor as Gamma1, is_Gamma1 9 from .congroup_gamma0 import Gamma0_constructor as Gamma0, is_Gamma0 10 from .congroup_gamma import Gamma_constructor as Gamma, is_Gamma 11 from .congroup_sl2z import SL2Z, is_SL2Z 12 13 from .arithgroup_perm import ArithmeticSubgroup_Permutation 14 15 from .congroup import (degeneracy_coset_representatives_gamma0, 16 degeneracy_coset_representatives_gamma1) 17 18 from .farey_symbol import Farey as FareySymbol 19 /usr/lib/python2.7/dist-packages/sage/modular/arithgroup/congroup_generic.py in <module>() 13 # 14 # Copyright (C) 2004, 2006 William Stein <wst...@gmail.com> 15 # 16 # Distributed under the terms of the GNU General Public License (GPL) 17 # 18 # The full text of the GPL is available at: 19 # 20 # http://www.gnu.org/licenses/ 21 # 22 ################################################################################ 23 from __future__ import absolute_import 24 25 from sage.rings.all import QQ, ZZ, Zmod 26 from sage.arith.all import gcd 27 from sage.sets.set import Set ---> 28 from sage.groups.matrix_gps.all import MatrixGroup global sage.groups.matrix_gps.all = undefined global MatrixGroup = undefined 29 from sage.matrix.matrix_space import MatrixSpace 30 from sage.misc.misc_c import prod 31 from .arithgroup_generic import ArithmeticSubgroup 32 33 34 def CongruenceSubgroup_constructor(*args): 35 r""" 36 Attempt to create a congruence subgroup from the given data. 37 38 The allowed inputs are as follows: 39 40 - A :class:`~sage.groups.matrix_gps.matrix_group.MatrixGroup` object. This 41 must be a group of matrices over `\ZZ / N\ZZ` for some `N`, with 42 determinant 1, in which case the function will return the group of 43 matrices in `SL(2, \ZZ)` whose reduction mod `N` is in the given group. /usr/lib/python2.7/dist-packages/sage/groups/matrix_gps/all.py in <module>() 1 from sage.misc.lazy_import import lazy_import 2 3 lazy_import('sage.groups.matrix_gps.linear', 'GL') 4 lazy_import('sage.groups.matrix_gps.linear', 'SL') 5 lazy_import('sage.groups.matrix_gps.symplectic', 'Sp') 6 lazy_import('sage.groups.matrix_gps.unitary', 'SU') 7 lazy_import('sage.groups.matrix_gps.unitary', 'GU') 8 lazy_import('sage.groups.matrix_gps.orthogonal', 'GO') 9 lazy_import('sage.groups.matrix_gps.orthogonal', 'SO') 10 lazy_import('sage.groups.matrix_gps.finitely_generated', 'MatrixGroup') 11 lazy_import('sage.groups.matrix_gps.finitely_generated', 'QuaternionMatrixGroupGF3') 12 ---> 13 import sage.groups.matrix_gps.pickling_overrides global sage.groups.matrix_gps.pickling_overrides = undefined /usr/lib/python2.7/dist-packages/sage/groups/matrix_gps/pickling_overrides.py in <module>() 1 """ 2 Overrides to unpickle old matrix groups 3 """ 4 5 from sage.structure.sage_object import SageObject, register_unpickle_override 6 ----> 7 from sage.groups.matrix_gps.finitely_generated import FinitelyGeneratedMatrixGroup_gap global sage.groups.matrix_gps.finitely_generated = undefined global FinitelyGeneratedMatrixGroup_gap = undefined 8 from sage.groups.matrix_gps.group_element import MatrixGroupElement_gap 9 from sage.groups.matrix_gps.linear import GL, LinearMatrixGroup_generic 10 11 12 13 class LegacyMatrixGroup(FinitelyGeneratedMatrixGroup_gap): 14 15 def __setstate__(self, state): 16 """ 17 Restore from old pickle. 18 19 EXAMPLES:: 20 21 sage: from sage.groups.matrix_gps.pickling_overrides import LegacyMatrixGroup 22 sage: state = dict() 23 sage: state['_MatrixGroup_gap__n'] = 2 24 sage: state['_MatrixGroup_gap__R'] = GF(3) 25 sage: state['_gensG'] = [ matrix(GF(3), [[1,2],[0,1]]) ] 26 sage: M = LegacyMatrixGroup.__new__(LegacyMatrixGroup) 27 sage: M.__setstate__(state) 28 sage: M 29 Matrix group over Finite Field of size 3 with 1 generators ( 30 [1 2] 31 [0 1] /usr/lib/python2.7/dist-packages/sage/groups/matrix_gps/finitely_generated.py in <module>() 66 from sage.rings.all import QQbar 67 from sage.interfaces.gap import gap 68 from sage.structure.element import is_Matrix 69 from sage.matrix.matrix_space import MatrixSpace, is_MatrixSpace 70 from sage.matrix.all import matrix 71 from sage.structure.sequence import Sequence 72 from sage.misc.cachefunc import cached_method 73 from sage.modules.free_module_element import vector 74 from sage.rings.polynomial.polynomial_ring_constructor import PolynomialRing 75 from sage.rings.power_series_ring import PowerSeriesRing 76 from sage.rings.fraction_field import FractionField 77 from sage.misc.functional import cyclotomic_polynomial 78 from sage.rings.number_field.number_field import CyclotomicField 79 from sage.combinat.integer_vector import IntegerVectors 80 ---> 81 from sage.groups.matrix_gps.matrix_group import ( global sage.groups.matrix_gps.matrix_group = undefined global MatrixGroup_generic = undefined global MatrixGroup_gap = undefined 82 MatrixGroup_generic, MatrixGroup_gap ) 83 from sage.groups.matrix_gps.group_element import is_MatrixGroupElement 84 85 86 def normalize_square_matrices(matrices): 87 """ 88 Find a common space for all matrices. 89 90 OUTPUT: 91 92 A list of matrices, all elements of the same matrix space. 93 94 EXAMPLES:: 95 96 sage: from sage.groups.matrix_gps.finitely_generated import normalize_square_matrices /usr/lib/python2.7/dist-packages/sage/groups/matrix_gps/matrix_group.py in <module>() 46 # (at your option) any later version. 47 # https://www.gnu.org/licenses/ 48 # **************************************************************************** 49 50 from __future__ import absolute_import 51 52 from sage.rings.integer import is_Integer 53 from sage.rings.ring import is_Ring 54 from sage.rings.finite_rings.finite_field_constructor import is_FiniteField 55 from sage.matrix.matrix_space import MatrixSpace 56 from sage.misc.latex import latex 57 from sage.structure.richcmp import (richcmp_not_equal, rich_to_bool, 58 richcmp_method, richcmp) 59 from sage.misc.cachefunc import cached_method 60 from sage.groups.group import Group ---> 61 from sage.groups.libgap_wrapper import ParentLibGAP global sage.groups.libgap_wrapper = undefined global ParentLibGAP = undefined 62 from sage.groups.libgap_mixin import GroupMixinLibGAP 63 64 from sage.groups.matrix_gps.group_element import ( 65 MatrixGroupElement_generic, MatrixGroupElement_gap) 66 67 ################################################################# 68 69 def is_MatrixGroup(x): 70 """ 71 Test whether ``x`` is a matrix group. 72 73 EXAMPLES:: 74 75 sage: from sage.groups.matrix_gps.matrix_group import is_MatrixGroup 76 sage: is_MatrixGroup(MatrixSpace(QQ,3)) /usr/lib/python2.7/dist-packages/sage/libs/gap/element.pxd in init sage.groups.libgap_wrapper (build/cythonized/sage/groups/libgap_wrapper.c:9846)() 17 cdef Obj make_gap_integer(sage_dict) except NULL 18 cdef Obj make_gap_string(sage_string) except NULL 19 20 cdef GapElement make_any_gap_element(parent, Obj obj) 21 cdef GapElement make_GapElement(parent, Obj obj) 22 cdef GapElement_List make_GapElement_List(parent, Obj obj) 23 cdef GapElement_Record make_GapElement_Record(parent, Obj obj) 24 cdef GapElement_Integer make_GapElement_Integer(parent, Obj obj) 25 cdef GapElement_Rational make_GapElement_Rational(parent, Obj obj) 26 cdef GapElement_String make_GapElement_String(parent, Obj obj) 27 cdef GapElement_Boolean make_GapElement_Boolean(parent, Obj obj) 28 cdef GapElement_Function make_GapElement_Function(parent, Obj obj) 29 cdef char *crepr(Obj) 30 31 ---> 32 cdef class GapElement(RingElement): global cdef = undefined global GapElement = undefined global RingElement = undefined 33 34 # the pointer to the GAP object (memory managed by GASMAN) 35 cdef Obj value 36 37 # comparison 38 cdef bint _compare_by_id 39 cdef bint _compare_equal(self, Element other) except -2 40 cdef bint _compare_less(self, Element other) except -2 41 cpdef _set_compare_by_id(self) 42 cpdef _assert_compare_by_id(self) 43 44 cdef _initialize(self, parent, Obj obj) 45 cpdef _type_number(self) 46 cpdef is_bool(self) 47 cpdef _add_(self, other) ImportError: /usr/lib/python2.7/dist-packages/sage/libs/gap/element.x86_64-linux-gnu.so: undefined symbol: _GAP_SetEnterStackCount *************************************************************************** History of session input: *** Last line of input (may not be in above history):