Seconds after install of version 7.6, on MacOS 10.11.6
on a MacBook Pro (Core 2 duo, 4GB RAM)
On initially installing Sage, there was one warning
***
/Applications/SageMath/src/bin/sage-env: line 291: /sw/bin/sed: Bad CPU
type in executable
**
then this crash happened seconds after it seemed to complete, after
the prompt
***
│ SageMath version 7.6, Release Date: 2017-03-25 │
│ Type "notebook()" for the browser-based notebook interface. │
│ Type "help()" for help. │
***
--
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 [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sage-support.
For more options, visit https://groups.google.com/d/optout.
***************************************************************************
IPython post-mortem report
{'commit_hash': u'5c9c918',
'commit_source': 'installation',
'default_encoding': 'UTF-8',
'ipython_path':
'/Applications/SageMath/local/lib/python2.7/site-packages/IPython',
'ipython_version': '5.1.0',
'os_name': 'posix',
'platform': 'Darwin-15.6.0-x86_64-i386-64bit',
'sys_executable': '/Applications/SageMath/local/bin/python',
'sys_platform': 'darwin',
'sys_version': '2.7.13 (default, Mar 31 2017, 15:02:06) \n[GCC 5.4.0]'}
***************************************************************************
***************************************************************************
Crash traceback:
---------------------------------------------------------------------------
---------------------------------------------------------------------------
ImportError Python 2.7.13: /Applications/SageMath/local/bin/python
Tue Jun 20 14:53:18 2017
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.
/Applications/SageMath/src/bin/sage-ipython in <module>()
1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
3 """
4 Sage IPython startup script.
5 """
6
7 from sage.repl.interpreter import SageTerminalApp
8
9 app = SageTerminalApp.instance()
---> 10 app.initialize()
global app.initialize = <bound method SageTerminalApp.initialize of
<sage.repl.interpreter.SageTerminalApp object at 0x1013bcad0>>
11 app.start()
<decorator-gen-109> in initialize(self=<sage.repl.interpreter.SageTerminalApp
object>, argv=None)
/Applications/SageMath/local/lib/python2.7/site-packages/traitlets/config/application.py
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 0x1024391b8>
app = <sage.repl.interpreter.SageTerminalApp object at 0x1013bcad0>
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
/Applications/SageMath/local/lib/python2.7/site-packages/IPython/terminal/ipapp.py
in initialize(self=<sage.repl.interpreter.SageTerminalApp object>, argv=None)
294
295 return super(TerminalIPythonApp, self).parse_command_line(argv)
296
297 @catch_config_error
298 def initialize(self, argv=None):
299 """Do actions after construct, but before starting the app."""
300 super(TerminalIPythonApp, self).initialize(argv)
301 if self.subapp is not None:
302 # don't bother initializing further, starting subapp
303 return
304 # print self.extra_args
305 if self.extra_args and not self.something_to_run:
306 self.file_to_run = self.extra_args[0]
307 self.init_path()
308 # create the shell
--> 309 self.init_shell()
self.init_shell = <bound method SageTerminalApp.init_shell of
<sage.repl.interpreter.SageTerminalApp object at 0x1013bcad0>>
310 # and draw the banner
311 self.init_banner()
312 # Now a variety of things that happen after the banner is
printed.
313 self.init_gui_pylab()
314 self.init_extensions()
315 self.init_code()
316
317 def init_shell(self):
318 """initialize the InteractiveShell instance"""
319 # Create an InteractiveShell instance.
320 # shell.display_banner should always be False for the terminal
321 # based app, because we call shell.show_banner() by hand below
322 # so the banner shows *before* all extension loading stuff.
323 self.shell = TerminalInteractiveShell.instance(parent=self,
324 profile_dir=self.profile_dir,
/Applications/SageMath/local/lib/python2.7/site-packages/sage/repl/interpreter.py
in init_shell(self=<sage.repl.interpreter.SageTerminalApp object>)
747 self.shell.has_sage_extensions = SAGE_EXTENSION in
self.extensions
748
749 # Load the %lprun extension if available
750 try:
751 import line_profiler
752 except ImportError:
753 pass
754 else:
755 self.extensions.append('line_profiler')
756
757 if self.shell.has_sage_extensions:
758 self.extensions.remove(SAGE_EXTENSION)
759
760 # load sage extension here to get a crash if
761 # something is wrong with the sage library
--> 762 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 0x10296d490>>
global SAGE_EXTENSION = 'sage'
763
764
/Applications/SageMath/local/lib/python2.7/site-packages/IPython/core/extensions.py
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 0x10296d490>>
mod = <module 'sage' from
'/Applications/SageMath/local/lib/python2.7/site-packages/sage/__init__.py'>
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:
/Applications/SageMath/local/lib/python2.7/site-packages/IPython/core/extensions.py
in _call_load_ipython_extension(self=<IPython.core.extensions.ExtensionManager
object>, mod=<module 'sage' from
'/Applications/SageMath/local/lib/python2.7/site-packages/sage/__init__.py'>)
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
0x1013c0320>
self.shell = <sage.repl.interpreter.SageTerminalInteractiveShell object
at 0x10243a6d0>
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.
/Applications/SageMath/local/lib/python2.7/site-packages/sage/__init__.py in
load_ipython_extension(*args=(<sage.repl.interpreter.SageTerminalInteractiveShell
object>,))
1 __all__ = ['all']
2
3 # IPython calls this when starting up
4 def load_ipython_extension(*args):
5 import sage.repl.ipython_extension
----> 6 sage.repl.ipython_extension.load_ipython_extension(*args)
sage.repl.ipython_extension.load_ipython_extension = <function
load_ipython_extension at 0x102aba410>
args = (<sage.repl.interpreter.SageTerminalInteractiveShell object at
0x10243a6d0>,)
/Applications/SageMath/local/lib/python2.7/site-packages/sage/repl/ipython_extension.py
in wrapper(*args=(<sage.repl.interpreter.SageTerminalInteractiveShell
object>,), **kwargs={})
490 ....: if work:
491 ....: return 'foo worked'
492 ....: raise RuntimeError("foo didn't work")
493 sage: foo(False)
494 Traceback (most recent call last):
495 ...
496 RuntimeError: foo didn't work
497 sage: foo(True)
498 'foo worked'
499 sage: foo(False)
500 sage: foo(True)
501 """
502 @wraps(func)
503 def wrapper(*args, **kwargs):
504 if not wrapper.has_run:
--> 505 result = func(*args, **kwargs)
result = undefined
global func = undefined
args = (<sage.repl.interpreter.SageTerminalInteractiveShell object at
0x10243a6d0>,)
kwargs = {}
506 wrapper.has_run = True
507 return result
508 wrapper.has_run = False
509 return wrapper
510
511
512 @run_once
513 def load_ipython_extension(ip):
514 """
515 Load the extension in IPython.
516 """
517 # this modifies ip
518 SageCustomizations(shell=ip)
/Applications/SageMath/local/lib/python2.7/site-packages/sage/repl/ipython_extension.py
in
load_ipython_extension(ip=<sage.repl.interpreter.SageTerminalInteractiveShell
object>)
503 def wrapper(*args, **kwargs):
504 if not wrapper.has_run:
505 result = func(*args, **kwargs)
506 wrapper.has_run = True
507 return result
508 wrapper.has_run = False
509 return wrapper
510
511
512 @run_once
513 def load_ipython_extension(ip):
514 """
515 Load the extension in IPython.
516 """
517 # this modifies ip
--> 518 SageCustomizations(shell=ip)
global SageCustomizations = <class
'sage.repl.ipython_extension.SageCustomizations'>
global shell = undefined
ip = <sage.repl.interpreter.SageTerminalInteractiveShell object at
0x10243a6d0>
/Applications/SageMath/local/lib/python2.7/site-packages/sage/repl/ipython_extension.py
in __init__(self=<sage.repl.ipython_extension.SageCustomizations object>,
shell=<sage.repl.interpreter.SageTerminalInteractiveShell object>)
361 def __init__(self, shell=None):
362 """
363 Initialize the Sage plugin.
364 """
365 self.shell = shell
366
367 self.auto_magics = SageMagics(shell)
368 self.shell.register_magics(self.auto_magics)
369
370 import sage.misc.edit_module as edit_module
371 self.shell.set_hook('editor', edit_module.edit_devel)
372
373 self.init_inspector()
374 self.init_line_transforms()
375
--> 376 import sage.all # until sage's import hell is fixed
sage.all = undefined
377
378 self.shell.verbose_quit = True
379 self.set_quit_hook()
380
381 self.register_interface_magics()
382
383 if SAGE_IMPORTALL == 'yes':
384 self.init_environment()
385
386 def register_interface_magics(self):
387 """
388 Register magics for each of the Sage interfaces
389 """
390 from sage.repl.interface_magic import InterfaceMagic
391 InterfaceMagic.register_all(self.shell)
/Applications/SageMath/local/lib/python2.7/site-packages/sage/all.py in
<module>()
88
89 from time import sleep
90
91 import sage.misc.lazy_import
92 from sage.misc.all import * # takes a while
93 from sage.typeset.all import *
94 from sage.repl.all import *
95
96 from sage.misc.sh import sh
97
98 from sage.libs.all import *
99 from sage.data_structures.all import *
100 from sage.doctest.all import *
101
102 from sage.structure.all import *
--> 103 from sage.rings.all import *
global sage.rings.all = undefined
104 from sage.arith.all import *
105 from sage.matrix.all import *
106
107 from sage.symbolic.all import *
108 from sage.modules.all import *
109 from sage.monoids.all import *
110 from sage.algebras.all import *
111 from sage.modular.all import *
112 from sage.sat.all import *
113 from sage.schemes.all import *
114 from sage.graphs.all import *
115 from sage.groups.all import *
116 from sage.databases.all import *
117 from sage.categories.all import *
118 from sage.sets.all import *
/Applications/SageMath/local/lib/python2.7/site-packages/sage/rings/all.py in
<module>()
39
40 # Rational numbers
41 from .rational_field import RationalField, QQ
42 from .rational import Rational
43 Rationals = RationalField
44
45 # Integers modulo n.
46 from sage.rings.finite_rings.integer_mod_ring import IntegerModRing,
Zmod
47 from sage.rings.finite_rings.integer_mod import IntegerMod, Mod, mod
48 Integers = IntegerModRing
49
50 # Finite fields
51 from .finite_rings.all import *
52
53 # Number field
---> 54 from .number_field.all import *
global number_field.all = undefined
55
56 # Function field
57 from .function_field.all import *
58
59 # Finite residue fields
60 from .finite_rings.residue_field import ResidueField
61
62 # p-adic field
63 from .padics.all import *
64 from .padics.padic_printing import _printer_defaults as padic_printing
65
66 # Semirings
67 from .semirings.all import *
68
69 # Real numbers
/Applications/SageMath/local/lib/python2.7/site-packages/sage/rings/number_field/all.py
in <module>()
1 from __future__ import absolute_import
2
3 from .number_field import (NumberField, NumberFieldTower,
CyclotomicField, QuadraticField,
4 is_fundamental_discriminant)
5 from .number_field_element import NumberFieldElement
6
7 from .order import EquationOrder, GaussianIntegers, EisensteinIntegers
8
----> 9 from .totallyreal import enumerate_totallyreal_fields_prim
global totallyreal = undefined
global enumerate_totallyreal_fields_prim = undefined
10 from .totallyreal_data import hermite_constant
11 from .totallyreal_rel import enumerate_totallyreal_fields_all,
enumerate_totallyreal_fields_rel
12
13 from .unit_group import UnitGroup
/Applications/SageMath/local/lib/python2.7/site-packages/sage/rings/number_field/totallyreal_data.pxd
in init sage.rings.number_field.totallyreal
(build/cythonized/sage/rings/number_field/totallyreal.c:12570)()
1 cdef double eval_seq_as_poly(int *f, int n, double x)
2 cdef double newton(int *f, int *df, int n, double x0, double eps)
3 cdef void newton_in_intervals(int *f, int *df, int n, double *beta,
double eps, double *rts)
4 cpdef lagrange_degree_3(int n, int an1, int an2, int an3)
5
6 cimport sage.rings.integer
7
8 cdef int eval_seq_as_poly_int(int *f, int n, int x)
9
10 cdef int easy_is_irreducible(int *a, int n)
11
---> 12 cdef class tr_data:
global cdef = undefined
global tr_data = undefined
13
14 cdef int n, k
15 cdef double B
16 cdef double b_lower, b_upper, gamma
17
18 cdef int *a
19 cdef int *amax
20 cdef double *beta
21 cdef int *gnk
22
23 cdef int *df
24
25 cdef void incr(self, int *f_out, int verbose, int haltk, int phc)
26
/Applications/SageMath/src/sage/rings/number_field/totallyreal_data.pyx in init
sage.rings.number_field.totallyreal_data
(build/cythonized/sage/rings/number_field/totallyreal_data.c:13279)()
24
#*****************************************************************************
25 from __future__ import print_function
26
27 include "sage/ext/cdefs.pxi"
28 include "cysignals/memory.pxi"
29
30 from sage.arith.all import binomial, gcd
31 from sage.rings.rational_field import RationalField
32 from sage.rings.polynomial.polynomial_ring_constructor import
PolynomialRing
33 from sage.rings.real_mpfi import RealIntervalField
34 from sage.rings.real_mpfr import RealField
35 from sage.rings.integer_ring import ZZ
36 from sage.rings.integer cimport Integer
37
38 # Other global variables
---> 39 ZZx = PolynomialRing(ZZ, 'x')
global ZZx = undefined
global PolynomialRing = <function PolynomialRing at 0x156e83a28>
global ZZ = Integer Ring
40
41 from libc.math cimport lrint, floor, ceil, fabs, round
42
43
44 #*********************************************************************
45 # Auxiliary routine
46 # Hermite constant, naive Newton-Raphson, and a specialized Lagrange
47 # multiplier solver.
48 #*********************************************************************
49
50 def hermite_constant(n):
51 r"""
52 This function returns the nth Hermite constant
53
54 The nth Hermite constant (typically denoted `\gamma_n`), is defined
/Applications/SageMath/local/lib/python2.7/site-packages/sage/rings/polynomial/polynomial_ring_constructor.py
in PolynomialRing(base_ring=Integer Ring, arg1='x', arg2=None, sparse=False,
order='degrevlex', names=None, name='x', var_array=None, implementation=None)
446 arg2 = [str(x) for x in arg2]
447 if isinstance(arg2, (int, long, Integer)):
448 # 3. PolynomialRing(base_ring, names, n, order='degrevlex'):
449 if not isinstance(arg1, (list, tuple, str)):
450 raise TypeError("You *must* specify the names of the
variables.")
451 n = int(arg2)
452 names = arg1
453 R = _multi_variate(base_ring, names, n, sparse, order,
implementation)
454
455 elif isinstance(arg1, str) or (isinstance(arg1, (list,tuple)) and
len(arg1) == 1):
456 if not ',' in arg1:
457 # 1. PolynomialRing(base_ring, name, sparse=False):
458 if not arg2 is None:
459 raise TypeError("if second arguments is a string with
no commas, then there must be no other non-optional arguments")
460 name = arg1
--> 461 R = _single_variate(base_ring, name, sparse, implementation)
R = None
global _single_variate = <function _single_variate at 0x156e93578>
base_ring = Integer Ring
name = 'x'
sparse = False
implementation = None
462 else:
463 # 2-4. PolynomialRing(base_ring, names, order='degrevlex'):
464 if not arg2 is None:
465 raise TypeError("invalid input to PolynomialRing
function; please see the docstring for that function")
466 names = arg1.split(',')
467 R = _multi_variate(base_ring, names, -1, sparse, order,
implementation)
468 elif isinstance(arg1, (list, tuple)):
469 # PolynomialRing(base_ring, names (list or tuple),
order='degrevlex'):
470 names = arg1
471 R = _multi_variate(base_ring, names, -1, sparse, order,
implementation)
472
473 if arg1 is None and arg2 is None:
474 raise TypeError("you *must* specify the indeterminates (as not
None).")
475 if R is None:
476 raise TypeError("invalid input (%s, %s, %s) to PolynomialRing
function; please see the docstring for that function"%(
/Applications/SageMath/local/lib/python2.7/site-packages/sage/rings/polynomial/polynomial_ring_constructor.py
in _single_variate(base_ring=Integer Ring, name=('x',), sparse=False,
implementation=None)
524 R =
m.PolynomialRing_dense_padic_ring_capped_absolute(base_ring, name)
525
526 elif isinstance(base_ring, padic_base_leaves.pAdicRingFixedMod):
527 R = m.PolynomialRing_dense_padic_ring_fixed_mod(base_ring,
name)
528
529 elif base_ring in _CompleteDiscreteValuationRings:
530 R = m.PolynomialRing_cdvr(base_ring, name, sparse)
531
532 elif base_ring in _CompleteDiscreteValuationFields:
533 R = m.PolynomialRing_cdvf(base_ring, name, sparse)
534
535 elif base_ring.is_field(proof = False):
536 R = m.PolynomialRing_field(base_ring, name, sparse)
537
538 elif base_ring.is_integral_domain(proof = False):
--> 539 R = m.PolynomialRing_integral_domain(base_ring, name,
sparse, implementation)
R = None
m.PolynomialRing_integral_domain = <class
'sage.rings.polynomial.polynomial_ring.PolynomialRing_integral_domain'>
base_ring = Integer Ring
name = ('x',)
sparse = False
implementation = None
540 else:
541 R = m.PolynomialRing_commutative(base_ring, name, sparse)
542 else:
543 R = m.PolynomialRing_general(base_ring, name, sparse)
544
545 if hasattr(R, '_implementation_names'):
546 for name in R._implementation_names:
547 real_key = key[0:3] + (name,)
548 _save_in_cache(real_key, R)
549 else:
550 _save_in_cache(key, R)
551 return R
552
553 def _multi_variate(base_ring, names, n, sparse, order, implementation):
554 # if not sparse:
/Applications/SageMath/local/lib/python2.7/site-packages/sage/rings/polynomial/polynomial_ring.py
in __init__(self=Univariate Polynomial Ring in x over Integer Ring,
base_ring=Integer Ring, name=('x',), sparse=False, implementation=None,
element_class=<type
'sage.rings.polynomial.polynomial_integer_dense_flint.Polynomial_integer_dense_flint'>,
category=None)
1588 if is_IntegerRing(base_ring) and not sparse:
1589 if implementation == 'NTL':
1590 from
sage.rings.polynomial.polynomial_integer_dense_ntl \
1591 import Polynomial_integer_dense_ntl
1592 element_class = Polynomial_integer_dense_ntl
1593 self._implementation_names = ('NTL',)
1594 self._implementation_repr = ' (using NTL)'
1595 elif implementation == 'FLINT' or implementation is
None:
1596 from
sage.rings.polynomial.polynomial_integer_dense_flint \
1597 import Polynomial_integer_dense_flint
1598 element_class = Polynomial_integer_dense_flint
1599 self._implementation_names = (None, 'FLINT')
1600 else:
1601 raise ValueError("Unknown implementation %s for
ZZ[x]"%implementation)
1602 PolynomialRing_commutative.__init__(self, base_ring, name=name,
-> 1603 sparse=sparse, element_class=element_class,
category=category)
sparse = False
element_class = <type
'sage.rings.polynomial.polynomial_integer_dense_flint.Polynomial_integer_dense_flint'>
category = None
1604
1605 def _repr_(self):
1606 """
1607 TESTS::
1608
1609 sage: from sage.rings.polynomial.polynomial_ring import
PolynomialRing_integral_domain as PRing
1610 sage: R = PRing(ZZ, 'x', implementation='NTL'); R
1611 Univariate Polynomial Ring in x over Integer Ring (using
NTL)
1612 """
1613 s = PolynomialRing_commutative._repr_(self)
1614 return s + self._implementation_repr
1615
1616
1617 class PolynomialRing_field(PolynomialRing_integral_domain,
1618 PolynomialRing_singular_repr,
/Applications/SageMath/local/lib/python2.7/site-packages/sage/rings/polynomial/polynomial_ring.py
in __init__(self=Univariate Polynomial Ring in x over Integer Ring,
base_ring=Integer Ring, name=('x',), sparse=False, element_class=<type
'sage.rings.polynomial.polynomial_integer_dense_flint.Polynomial_integer_dense_flint'>,
category=Join of Category of unique factorization domains...s and infinite
enumerated sets and metric spaces))
1459 if max_degree is not None and of_degree is None:
1460 return self._monics_max( max_degree )
1461 raise ValueError("you should pass exactly one of of_degree and
max_degree")
1462
1463 class PolynomialRing_commutative(PolynomialRing_general,
commutative_algebra.CommutativeAlgebra):
1464 """
1465 Univariate polynomial ring over a commutative ring.
1466 """
1467 def __init__(self, base_ring, name=None, sparse=False,
element_class=None, category=None):
1468 if base_ring not in _CommutativeRings:
1469 raise TypeError("Base ring %s must be a commutative
ring."%repr(base_ring))
1470 # We trust that, if a category is given, that it is useful.
1471 if category is None:
1472 category =
polynomial_default_category(base_ring.category(),False)
1473 PolynomialRing_general.__init__(self, base_ring, name=name,
-> 1474 sparse=sparse, element_class=element_class,
category=category)
sparse = False
element_class = <type
'sage.rings.polynomial.polynomial_integer_dense_flint.Polynomial_integer_dense_flint'>
category = Join of Category of unique factorization domains and
Category of commutative algebras over (euclidean domains and infinite
enumerated sets and metric spaces)
1475
1476 def quotient_by_principal_ideal(self, f, names=None):
1477 """
1478 Return the quotient of this polynomial ring by the principal
1479 ideal (generated by) `f`.
1480
1481 INPUT:
1482
1483 - ``f`` - either a polynomial in ``self``, or a principal
1484 ideal of ``self``.
1485
1486 EXAMPLES::
1487
1488 sage: R.<x> = QQ[]
1489 sage: I = (x^2-1)*R
/Applications/SageMath/local/lib/python2.7/site-packages/sage/rings/polynomial/polynomial_ring.py
in __init__(self=Univariate Polynomial Ring in x over Integer Ring,
base_ring=Integer Ring, name=('x',), sparse=False, element_class=<type
'sage.rings.polynomial.polynomial_integer_dense_flint.Polynomial_integer_dense_flint'>,
category=Join of Category of unique factorization domains...s and infinite
enumerated sets and metric spaces))
275 self._has_singular = False
276 # Algebra.__init__ also calls __init_extra__ of
Algebras(...).parent_class, which
277 # tries to provide a conversion from the base ring, if it does
not exist.
278 # This is for algebras that only do the generic stuff in their
initialisation.
279 # But the attribute _no_generic_basering_coercion prevents that
from happening,
280 # since we want to use PolynomialBaseringInjection.
281 sage.algebras.algebra.Algebra.__init__(self, base_ring,
names=name, normalize=True, category=category)
282 self.__generator = self.element_class(self, [0,1], is_gen=True)
283 self._populate_coercion_lists_(
284 #coerce_list = [base_inject],
285 #convert_list = [list, base_inject],
286 convert_method_name = '_polynomial_')
287 if is_PolynomialRing(base_ring):
288 self._Karatsuba_threshold = 0
289 else:
--> 290 from sage.matrix.matrix_space import MatrixSpace
global sage.matrix.matrix_space = undefined
MatrixSpace = undefined
291 if isinstance(base_ring, MatrixSpace):
292 self._Karatsuba_threshold = 0
293 else:
294 self._Karatsuba_threshold = 8
295
296 def __reduce__(self):
297 import sage.rings.polynomial.polynomial_ring_constructor
298 return
(sage.rings.polynomial.polynomial_ring_constructor.PolynomialRing,
299 (self.base_ring(), self.variable_name(), None,
self.is_sparse()))
300
301
302 def _element_constructor_(self, x=None, check=True, is_gen=False,
303 construct=False, **kwds):
304 r"""
305 Convert ``x`` into this univariate polynomial ring,
/Applications/SageMath/local/lib/python2.7/site-packages/sage/matrix/matrix_space.py
in <module>()
45 from . import matrix_generic_dense
46 from . import matrix_generic_sparse
47
48 from . import matrix_modn_sparse
49
50 from . import matrix_mod2_dense
51 from . import matrix_gf2e_dense
52
53 from . import matrix_integer_dense
54 from . import matrix_integer_sparse
55
56 from . import matrix_rational_dense
57 from . import matrix_rational_sparse
58
59 from . import matrix_polynomial_dense
---> 60 from . import matrix_mpolynomial_dense
global matrix_mpolynomial_dense = undefined
61
62 # Sage imports
63 from sage.misc.superseded import deprecation
64 import sage.structure.coerce
65 import sage.structure.parent_gens as parent_gens
66 from sage.structure.unique_representation import UniqueRepresentation
67 import sage.rings.integer as integer
68 import sage.rings.number_field.all
69 import sage.rings.finite_rings.integer_mod_ring
70 import sage.rings.finite_rings.finite_field_constructor
71 import sage.rings.polynomial.multi_polynomial_ring_generic
72 import sage.misc.latex as latex
73 import sage.modules.free_module
74 from sage.structure.sequence import Sequence
75
/Applications/SageMath/local/lib/python2.7/site-packages/sage/rings/polynomial/multi_polynomial_libsingular.pxd
in init sage.matrix.matrix_mpolynomial_dense
(build/cythonized/sage/matrix/matrix_mpolynomial_dense.cpp:9570)()
1 from sage.libs.singular.decl cimport poly, ring
2
3 from sage.rings.polynomial.multi_polynomial cimport MPolynomial
4 from sage.rings.polynomial.multi_polynomial_ring_generic cimport
MPolynomialRing_generic
5
----> 6 cdef class MPolynomialRing_libsingular
global cdef = undefined
global MPolynomialRing_libsingular = undefined
7
8 cdef class MPolynomial_libsingular(MPolynomial):
9 cdef poly *_poly
10 cdef ring *_parent_ring
11 cpdef _repr_short_(self)
12 cpdef is_constant(self)
13 cpdef _homogenize(self, int var)
14 cpdef MPolynomial_libsingular _new_constant_poly(self, x,
MPolynomialRing_libsingular P)
15 cpdef long number_of_terms(self)
16
17 cdef class MPolynomialRing_libsingular(MPolynomialRing_generic):
18 cdef object __singular
19 cdef object __macaulay2
20 cdef object __m2_set_ring_cache
21 cdef object __minpoly
22 cdef poly *_one_element_poly
23 cdef ring *_ring
24
25 # new polynomials
26 cdef MPolynomial_libsingular new_MP(MPolynomialRing_libsingular parent,
poly *p)
/Applications/SageMath/src/sage/rings/polynomial/multi_polynomial_libsingular.pyx
in init sage.rings.polynomial.multi_polynomial_libsingular
(build/cythonized/sage/rings/polynomial/multi_polynomial_libsingular.cpp:51083)()
----> 1 r"""
2 Multivariate Polynomials via libSINGULAR
3
4 This module implements specialized and optimized implementations for
5 multivariate polynomials over many coefficient rings, via a shared
library
6 interface to SINGULAR. In particular, the following coefficient rings
are
7 supported by this implementation:
8
9 - the rational numbers `\QQ`,
10
11 - the ring of integers `\ZZ`,
12
13 - `\ZZ/n\ZZ` for any integer `n`,
14
15 - finite fields `\GF{p^n}` for `p` prime and `n > 0`,
16
17 - and absolute number fields `\QQ(a)`.
18
19 AUTHORS:
20
21 The libSINGULAR interface was implemented by
22
23 - Martin Albrecht (2007-01): initial implementation
24
25 - Joel Mohler (2008-01): misc improvements, polishing
26
27 - Martin Albrecht (2008-08): added `\QQ(a)` and `\ZZ` support
28
29 - Simon King (2009-04): improved coercion
30
31 - Martin Albrecht (2009-05): added `\ZZ/n\ZZ` support, refactoring
/Applications/SageMath/src/sage/libs/singular/singular.pyx in init
sage.libs.singular.singular
(build/cythonized/sage/libs/singular/singular.cpp:11006)()
788 singular_options = singular_options | Sy_bit(OPT_REDSB) |
Sy_bit(OPT_INTSTRATEGY) | Sy_bit(OPT_REDTAIL) | Sy_bit(OPT_REDTHROUGH)
789 global _saved_options
790 global _saved_verbose_options
791 _saved_options = (int(singular_options), 0, 0)
792 _saved_verbose_options = int(singular_verbose_options)
793
794 #On(SW_USE_NTL)
795 On(SW_USE_EZGCD)
796 Off(SW_USE_NTL_SORT)
797
798 WerrorS_callback = libsingular_error_callback
799
800 error_messages = []
801
802 # call the init routine
--> 803 init_libsingular()
global init_libsingular = undefined
804
805 cdef void libsingular_error_callback(const_char_ptr s):
806 _s = s
807 error_messages.append(_s)
/Applications/SageMath/src/sage/libs/singular/singular.pyx in
sage.libs.singular.singular.init_libsingular
(build/cythonized/sage/libs/singular/singular.cpp:8506)()
760 the main program. However, SINGULAR is a shared library in this
761 context these symbols are not known globally. The work around so
762 far is to load the library again and to specify ``RTLD_GLOBAL``.
763 """
764 global singular_options
765 global singular_verbose_options
766 global WerrorS_callback
767 global error_messages
768
769 cdef void *handle = NULL
770
771 from sage.env import SINGULAR_SO
772 lib = SINGULAR_SO
773
774 if not os.path.exists(lib):
--> 775 raise ImportError("cannot locate Singular library
({})".format(lib))
global ImportError.format = undefined
global lib = undefined
776
777 handle = dlopen(lib, RTLD_GLOBAL|RTLD_LAZY)
778 if not handle:
779 err = dlerror()
780 raise ImportError("cannot load Singular library
({})".format(err))
781
782 # load SINGULAR
783 siInit(lib)
784
785 dlclose(handle)
786
787 # we set and save some global Singular options
788 singular_options = singular_options | Sy_bit(OPT_REDSB) |
Sy_bit(OPT_INTSTRATEGY) | Sy_bit(OPT_REDTAIL) | Sy_bit(OPT_REDTHROUGH)
789 global _saved_options
790 global _saved_verbose_options
ImportError: cannot locate Singular library
(/Applications/SageMath/local/lib/libSingular.so)
***************************************************************************
History of session input:
*** Last line of input (may not be in above history):