`make build` finishes without an error but Sage crashes.
The attached file is Sage_crash_report.txt
2016年12月16日金曜日 11時04分41秒 UTC+9 Dima Pasechnik:
>
> does at least
>
> make build
>
> finish without an error?
> If yes, then the problem is in building the Sage docs.
>
> On Friday, December 16, 2016 at 1:41:59 AM UTC, Sho Takemori wrote:
>>
>> Thank you for the information. But I sill don't understand why this error
>> occurs.
>>
>> I build Sage in the Docker container using the Sage repo as follows.
>>
>> git checkout a83e25136481efb99d9cb8c00dde3065c0d04894
>> make
>>
>> Then I got the following error message
>> (if I use the commit f26b322f76034b8122603cbc4c7b02d4011f0cd9, then
>> building succeeds).
>>
>> cd ../.. && sage-logger -p './sage --docbuild --no-pdf-links all html '
>> logs/dochtml.log
>> [dochtml] Setting permissions of DOT_SAGE directory so only you can read
>> and write it.
>> [dochtml] /home/docker/sage/local/bin/python: No module named
>> interpreters.wrapper_rdf; 'sage_setup.docbuild' is a package and cannot be
>> directly executed
>> Makefile:1064: recipe for target 'doc-html' failed
>> make[2]: *** [doc-html] Error 1
>> make[2]: Leaving directory '/home/docker/sage/build/make'
>> Makefile:887: recipe for target 'all' failed
>> make[1]: *** [all] Error 2
>> make[1]: Leaving directory '/home/docker/sage/build/make'
>>
>> real 71m12.794s
>> user 232m3.108s
>> sys 19m54.532s
>> ***************************************************************
>> Error building Sage.
>>
>> The following package(s) may have failed to build (not necessarily
>> during this run of 'make all'):
>>
>> The build directory may contain configuration files and other potentially
>> helpful information. WARNING: if you now run 'make' again, the build
>> directory will, by default, be deleted. Set the environment variable
>> SAGE_KEEP_BUILT_SPKGS to 'yes' to prevent this.
>>
>> Makefile:16: recipe for target 'all' failed
>> make: *** [all] Error 1
>>
>
--
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': 'ANSI_X3.4-1968',
'ipython_path': '/home/docker/sage/local/lib/python2.7/site-packages/IPython',
'ipython_version': '5.1.0',
'os_name': 'posix',
'platform': 'Linux-4.4.0-53-generic-x86_64-with-debian-stretch-sid',
'sys_executable': '/home/docker/sage/local/bin/python',
'sys_platform': 'linux2',
'sys_version': '2.7.10 (default, Dec 16 2016, 02:51:52) \n[GCC 5.4.0]'}
***************************************************************************
***************************************************************************
Crash traceback:
---------------------------------------------------------------------------
---------------------------------------------------------------------------
ImportError Python 2.7.10: /home/docker/sage/local/bin/python
Fri Dec 16 04:28:13 2016
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.
/home/docker/sage/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 0x7fc8357fd850>>
11 app.start()
<decorator-gen-109> in initialize(self=<sage.repl.interpreter.SageTerminalApp
object>, argv=None)
/home/docker/sage/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={})
59
60
#-----------------------------------------------------------------------------
61 # Application class
62
#-----------------------------------------------------------------------------
63
64 @decorator
65 def catch_config_error(method, app, *args, **kwargs):
66 """Method decorator for catching invalid config
(Trait/ArgumentErrors) during init.
67
68 On a TraitError (generally caused by bad config), this will print
the trait's
69 message, and exit the app.
70
71 For use on init methods, to prevent invoking excepthook on invalid
input.
72 """
73 try:
---> 74 return method(app, *args, **kwargs)
method = <function initialize at 0x7fc830f79938>
app = <sage.repl.interpreter.SageTerminalApp object at 0x7fc8357fd850>
args = (None,)
kwargs = {}
75 except (TraitError, ArgumentError) as e:
76 app.print_help()
77 app.log.fatal("Bad config encountered during initialization:")
78 app.log.fatal(str(e))
79 app.log.debug("Config at the time: %s", app.config)
80 app.exit(1)
81
82
83 class ApplicationError(Exception):
84 pass
85
86
87 class LevelFormatter(logging.Formatter):
88 """Formatter with additional `highlevel` record
89
/home/docker/sage/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 0x7fc8357fd850>>
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,
/home/docker/sage/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 0x7fc82f2c7950>>
global SAGE_EXTENSION = 'sage'
763
764
/home/docker/sage/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 0x7fc82f2c7950>>
mod = <module 'sage' from
'/home/docker/sage/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:
/home/docker/sage/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
'/home/docker/sage/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
0x7fc836a8b578>
self.shell = <sage.repl.interpreter.SageTerminalInteractiveShell object
at 0x7fc830f73dd0>
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.
/home/docker/sage/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 0x7fc833dfe5f0>
args = (<sage.repl.interpreter.SageTerminalInteractiveShell object at
0x7fc830f73dd0>,)
/home/docker/sage/local/lib/python2.7/site-packages/sage/repl/ipython_extension.py
in wrapper(*args=(<sage.repl.interpreter.SageTerminalInteractiveShell
object>,), **kwargs={})
458 ....: if work:
459 ....: return 'foo worked'
460 ....: raise RuntimeError("foo didn't work")
461 sage: foo(False)
462 Traceback (most recent call last):
463 ...
464 RuntimeError: foo didn't work
465 sage: foo(True)
466 'foo worked'
467 sage: foo(False)
468 sage: foo(True)
469 """
470 @wraps(func)
471 def wrapper(*args, **kwargs):
472 if not wrapper.has_run:
--> 473 result = func(*args, **kwargs)
result = undefined
global func = undefined
args = (<sage.repl.interpreter.SageTerminalInteractiveShell object at
0x7fc830f73dd0>,)
kwargs = {}
474 wrapper.has_run = True
475 return result
476 wrapper.has_run = False
477 return wrapper
478
479
480 @run_once
481 def load_ipython_extension(ip):
482 """
483 Load the extension in IPython.
484 """
485 # this modifies ip
486 SageCustomizations(shell=ip)
/home/docker/sage/local/lib/python2.7/site-packages/sage/repl/ipython_extension.py
in
load_ipython_extension(ip=<sage.repl.interpreter.SageTerminalInteractiveShell
object>)
471 def wrapper(*args, **kwargs):
472 if not wrapper.has_run:
473 result = func(*args, **kwargs)
474 wrapper.has_run = True
475 return result
476 wrapper.has_run = False
477 return wrapper
478
479
480 @run_once
481 def load_ipython_extension(ip):
482 """
483 Load the extension in IPython.
484 """
485 # this modifies ip
--> 486 SageCustomizations(shell=ip)
global SageCustomizations = <class
'sage.repl.ipython_extension.SageCustomizations'>
global shell = undefined
ip = <sage.repl.interpreter.SageTerminalInteractiveShell object at
0x7fc830f73dd0>
/home/docker/sage/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)
/home/docker/sage/local/lib/python2.7/site-packages/sage/all.py in <module>()
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 *
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 *
global sage.modular.all = undefined
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 *
119 from sage.probability.all import *
120 from sage.interfaces.all import *
121
122 from sage.functions.all import *
123 from sage.calculus.all import *
124
125 from sage.server.all import *
126 import sage.tests.all as tests
/home/docker/sage/local/lib/python2.7/site-packages/sage/modular/all.py in
<module>()
1 from __future__ import absolute_import
----> 2 from .quatalg.all import *
global quatalg.all = undefined
3
4 from .modsym.all import *
5
6 from .modform.all import *
7
8 from .ssmod.all import *
9
10 from .abvar.all import *
11
12 from .dirichlet import (DirichletGroup,
13 kronecker_character,
kronecker_character_upside_down,
14 trivial_character)
15
16 from .arithgroup.all import (Gamma0, Gamma1, GammaH, Gamma, SL2Z,
17 ArithmeticSubgroup_Permutation,
18 CongruenceSubgroup, FareySymbol)
19
20 from .cusps import Cusp, Cusps
21
22 from .dims import (dimension_cusp_forms,
23 dimension_new_cusp_forms,
24 dimension_eis,
25 dimension_modular_forms,
26 sturm_bound)
27
28 from .buzzard import buzzard_tpslopes
29
30 from .etaproducts import *
31
/home/docker/sage/local/lib/python2.7/site-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
/home/docker/sage/local/lib/python2.7/site-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
/home/docker/sage/local/lib/python2.7/site-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, lcm
--> 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
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
/home/docker/sage/local/lib/python2.7/site-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
/home/docker/sage/local/lib/python2.7/site-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))
/home/docker/sage/local/lib/python2.7/site-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
/home/docker/sage/local/lib/python2.7/site-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
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
global arithgroup_perm = undefined
global ArithmeticSubgroup_Permutation = undefined
14
15 from .congroup import (degeneracy_coset_representatives_gamma0,
16 degeneracy_coset_representatives_gamma1)
17
18 from .farey_symbol import Farey as FareySymbol
19
/home/docker/sage/local/lib/python2.7/site-packages/sage/modular/arithgroup/arithgroup_perm.py
in <module>()
95 # The full text of the GPL is available at:
96 #
97 # http://www.gnu.org/licenses/
98 #
99
################################################################################
100 from __future__ import print_function, absolute_import
101 from six.moves import range
102
103 from .all import SL2Z
104 from .arithgroup_generic import ArithmeticSubgroup
105 from sage.rings.all import ZZ
106 from sage.misc.cachefunc import cached_method
107 from sage.misc.misc import verbose
108 import sage.arith.all as arith
109
--> 110 from sage.groups.perm_gps.permgroup_element import
PermutationGroupElement
global sage.groups.perm_gps.permgroup_element = undefined
global PermutationGroupElement = undefined
111
112 Idm = SL2Z([1,0,0,1]) # identity
113
114 Lm = SL2Z([1,1,0,1]) # parabolic that fixes infinity
115 Rm = SL2Z([1,0,1,1]) # parabolic that fixes 0
116 S2m = SL2Z([0,-1,1,0]) # elliptic of order 2 (fix i)
117 S3m = SL2Z([0,1,-1,1]) # elliptic of order 3 (fix j)
118
119 S2mi = SL2Z([0,1,-1,0]) # the inverse of S2m in SL(2,Z)
120 S3mi = SL2Z([1,-1,1,0]) # the inverse of S3m in SL(2,Z)
121 Lmi = SL2Z([1,-1,0,1]) # the inverse of Lm in SL(2,Z)
122 Rmi = SL2Z([1,0,-1,1]) # the inverse of Rm in SL(2,Z)
123
124 def sl2z_word_problem(A):
125 r"""
/home/docker/sage/local/lib/python2.7/site-packages/sage/groups/perm_gps/__init__.py
in <module>()
1 from __future__ import absolute_import
----> 2 from . import all
global all = undefined
/home/docker/sage/local/lib/python2.7/site-packages/sage/groups/perm_gps/all.py
in <module>()
3 DihedralGroup, SplitMetacyclicGroup,
SemidihedralGroup, CyclicPermutationGroup,
4 DiCyclicGroup, TransitiveGroup, PGL, PSL,
PSp,PSU,PGU,
5 MathieuGroup, KleinFourGroup, QuaternionGroup,
6 PrimitiveGroup, PrimitiveGroups,
7 SuzukiGroup, TransitiveGroups,
GeneralDihedralGroup)
8
9 from .permgroup import PermutationGroup, PermutationGroup_generic,
PermutationGroup_subgroup, direct_product_permgroups
10
11 from .permgroup_element import PermutationGroupElement
12
13 from .permgroup_morphism import (PermutationGroupMorphism as
PermutationGroupMap,
14 PermutationGroupMorphism_im_gens,
15 PermutationGroupMorphism_id)
16 PermutationGroupMorphism = PermutationGroupMorphism_im_gens
17
---> 18 from .cubegroup import CubeGroup, RubiksCube
global cubegroup = undefined
global CubeGroup = undefined
global RubiksCube = undefined
/home/docker/sage/local/lib/python2.7/site-packages/sage/groups/perm_gps/cubegroup.py
in <module>()
96
97 from sage.groups.perm_gps.permgroup import PermutationGroup,
PermutationGroup_generic
98 import random
99
100 from sage.structure.sage_object import SageObject
101
102 from sage.rings.all import RationalField, Integer, RDF
103 #from sage.matrix.all import MatrixSpace
104 from sage.interfaces.all import gap
105 from sage.groups.perm_gps.permgroup_element import
PermutationGroupElement
106 from sage.plot.polygon import polygon
107 from sage.plot.text import text
108 pi = RDF.pi()
109
110
--> 111 from sage.plot.plot3d.shapes import Box
global sage.plot.plot3d.shapes = undefined
global Box = undefined
112 from sage.plot.plot3d.texture import Texture
113
114 ####################### predefined colors ##################
115
116 named_colors = {
117 'red': (1,0,0), ## F face
118 'green': (0,1,0), ## R face
119 'blue': (0,0,1), ## D face
120 'yellow': (1,1,0), ## L face
121 'white': (1,1,1), ## none
122 'orange': (1,0.6,0.3), ## B face
123 'purple': (1,0,1), ## none
124 'lpurple': (1,0.63,1), ## U face
125 'lightblue': (0,1,1), ## none
126 'lgrey': (0.75,0.75,0.75), ## sagemath.org color
/home/docker/sage/src/sage/plot/plot3d/shapes.pyx in init
sage.plot.plot3d.shapes
(/home/docker/sage/src/build/cythonized/sage/plot/plot3d/shapes.c:13657)()
----> 1 """
2 Basic objects such as Sphere, Box, Cone, etc.
3
4 AUTHORS:
5
6 - Robert Bradshaw 2007-02: initial version
7 - Robert Bradshaw 2007-08: obj/tachon rendering, much updating
8 - Robert Bradshaw 2007-08: cythonization
9
10 EXAMPLES::
11
12 sage: from sage.plot.plot3d.shapes import *
13 sage: S = Sphere(.5, color='yellow')
14 sage: S += Cone(.5, .5, color='red').translate(0,0,.3)
15 sage: S += Sphere(.1, color='white').translate(.45,-.1,.15) +
Sphere(.05, color='black').translate(.51,-.1,.17)
16 sage: S += Sphere(.1, color='white').translate(.45, .1,.15) +
Sphere(.05, color='black').translate(.51, .1,.17)
17 sage: S += Sphere(.1, color='yellow').translate(.5, 0, -.2)
18 sage: S.show()
19 sage: S.scale(1,1,2).show()
20
21 .. PLOT::
22
23 from sage.plot.plot3d.shapes import *
24 S = Sphere(.5, color='yellow')
25 S += Cone(.5, .5, color='red').translate(0,0,.3)
26 S += Sphere(.1, color='white').translate(.45,-.1,.15) + Sphere(.05,
color='black').translate(.51,-.1,.17)
27 S += Sphere(.1, color='white').translate(.45, .1,.15) + Sphere(.05,
color='black').translate(.51, .1,.17)
28 S += Sphere(.1, color='yellow').translate(.5, 0, -.2)
29 sphinx_plot(S)
30
31 ::
/home/docker/sage/src/sage/ext/interpreters/wrapper_rdf.pxd in init
sage.plot.plot3d.parametric_surface
(/home/docker/sage/src/build/cythonized/sage/plot/plot3d/parametric_surface.c:12232)()
1 # Automatically generated by
/home/docker/sage/src/sage_setup/autogen/interpreters.py. Do not edit!
2
3 from cpython cimport PyObject
4
5 from sage.ext.fast_callable cimport Wrapper
6
----> 7 cdef class Wrapper_rdf(Wrapper):
global cdef = undefined
global Wrapper_rdf = undefined
global Wrapper = undefined
8 cdef int _n_args
9 cdef double* _args
10 cdef int _n_constants
11 cdef double* _constants
12 cdef object _list_py_constants
13 cdef int _n_py_constants
14 cdef PyObject** _py_constants
15 cdef int _n_stack
16 cdef double* _stack
17 cdef int _n_code
18 cdef int* _code
19 cdef object _domain
20 cdef bint call_c(self,
21 double* args,
22 double* result) except 0
ImportError: No module named interpreters.wrapper_rdf
***************************************************************************
History of session input:
*** Last line of input (may not be in above history):