Coder Social home page Coder Social logo

sagemath / sage-archive-2023-02-01 Goto Github PK

View Code? Open in Web Editor NEW
2.0K 130.0 415.0 317.67 MB

This repository used to be the user-facing mirror of the Sage source tree. As Sage development migrated on 2023-02-01 from https://trac.sagemath.org/ to our new repository on GitHub, https://github.com/sagemath/sage, we have renamed and archived this repository.

Home Page: https://www.sagemath.org

License: Other

Makefile 0.05% Shell 0.32% Python 71.57% C 0.21% C++ 1.79% HTML 0.85% GAP 0.04% Gnuplot 0.21% TeX 0.01% Batchfile 0.01% M4 0.41% JavaScript 0.02% Ruby 0.01% Emacs Lisp 0.01% MATLAB 0.03% Smarty 0.01% Dockerfile 0.02% CSS 0.01% Common Lisp 0.01% Cython 24.47%
math sage python mathematics algorithms computer-algebra science

sage-archive-2023-02-01's Issues

Not able to install with apt-get

I tried to run sudo apt-get install sagemath. It gives below error under ubuntu 16.04:

Reading package lists... Done
Building dependency tree
Reading state information... Done
Package sagemath is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'sagemath' has no installation candidate

bug in the matrix.pseudoinverse()

Sorry for the title:

I find a bug in the matrix.pseudoinverse()

https://github.com/sagemath/sage/blob/9db4320e485ed0aeae56d2c9dfc91fabe14659b1/src/sage/matrix/matrix2.pyx#L1199

Basically, one first decomposes S = AB where rank(A) = rank(B) = rank(S).
But in certain circumstances, B could be an identity matrix, which makes S = A,
S^+ = (St * S)^(-1) * At and sometimes St*S is not full rank.

For example, the following matrix over GF(2) will fail over this implementation matrix.pseudoinverse()

[1 0 0 0 1 0 0 0 0 1]
[0 0 0 0 1 1 0 0 0 0]
[1 0 0 0 1 0 0 0 0 0]
[0 1 1 0 1 1 1 0 1 0]
[0 0 0 1 0 0 1 0 0 0]
[0 1 1 0 1 1 0 0 0 0]
[0 1 0 0 1 0 1 0 0 0]
[0 0 0 0 1 0 0 0 0 0]
[0 0 0 0 0 0 1 0 1 0]
[0 0 0 1 0 0 1 0 0 1]
[0 0 0 0 1 0 0 1 0 0]
[0 0 0 0 0 0 1 0 0 0]

How to install Sage on Google Colab?

I am trying to install "Sage" on Google Colab via the command:

!pip install git+https://github.com/sagemath/sage.git

I get the error:

Collecting git+https://github.com/sagemath/sage.git
  Cloning https://github.com/sagemath/sage.git to /tmp/pip-req-build-ozlqhlkb
  Running command git clone -q https://github.com/sagemath/sage.git /tmp/pip-req-build-ozlqhlkb
ERROR: File "setup.py" not found for legacy project git+https://github.com/sagemath/sage.git.

No module named 'sage.all_cmdline'

Traceback (most recent call last):
  File "script.py", line 11, in <module>
    from sage.all_cmdline import *   
ModuleNotFoundError: No module named 'sage.all_cmdline'

Google Colab works on
Description: Ubuntu 18.04.5 LTS
Codename: bionic
model name: AMD EPYC 7B12

pip3 --version
pip 21.1.3 from /usr/local/lib/python3.7/dist-packages/pip (python 3.7)

Why can't I install "Sage" ? What could be the reasons for this error?

Doesn't compile on MacOS

Perhaps it doesn't work with LLVM?

~/sage (master ✓) make
cd spkg &&
"../spkg/pipestatus"
"env SAGE_PARALLEL_SPKG_BUILD='' ./install all 2>&1"
"tee -a ../logs/install.log"
/bin/sh: line 0: cd: spkg: No such file or directory
make: *** [build] Error 1
~/sage (master ✓) gcc -v
Configured with: --prefix=/Applications/Xcode5-DP.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 5.0 (clang-500.1.58) (based on LLVM 3.3svn)
Target: x86_64-apple-darwin12.4.0
Thread model: posix

~/sage (master ✓) system_profiler SPSoftwareDataType
Software:

System Software Overview:

  System Version: OS X 10.8.4 (12E55)
  Kernel Version: Darwin 12.4.0
  Boot Volume: Macintosh HD
  Boot Mode: Normal
  Secure Virtual Memory: Enabled
  Time since boot: 4:46

Make it clear what this mirror is for

I am watching this repository and there were several new issues/PRs recently- it seems not obvious that this is not a place where they should be submitted, moreover there are already other open issues and PRs. If this is a mirror of the repository and modifying the README file here is not an option, do you think it could help to change the description from "Mirror of the Sage source tree" to something like "Mirror of the Sage source tree (only a mirror - everything must be submitted via https://trac.sagemath.org/)" ?

Sage 8 failed to run for the first time on Fedora Cinnamon 26

Hi,

I'm interested in the Sage software. However, I installed it into my computer and run for the first time. Here is the result:


***************************************************************************

IPython post-mortem report

{'commit_hash': u'5c9c918',
 'commit_source': 'installation',
 'default_encoding': 'UTF-8',
 'ipython_path': '/home/wn/Documents/SageMath/local/lib/python2.7/site-packages/IPython',
 'ipython_version': '5.1.0',
 'os_name': 'posix',
 'platform': 'Linux-4.11.11-300.fc26.x86_64-x86_64-with-fedora-26-Twenty_Six',
 'sys_executable': '/home/wn/Documents/SageMath/local/bin/python',
 'sys_platform': 'linux2',
 'sys_version': '2.7.13 (default, Jul 22 2017, 00:49:06) \n[GCC 6.3.1 20161221 (Red Hat 6.3.1-1)]'}

***************************************************************************



***************************************************************************

Crash traceback:

---------------------------------------------------------------------------
---------------------------------------------------------------------------
ImportError     Python 2.7.13: /home/wn/Documents/SageMath/local/bin/python
                                                   Tue Aug  8 21:49:30 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.
/home/wn/Documents/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 0x7fe0caf2d1d0>>
     11 app.start()

<decorator-gen-109> in initialize(self=<sage.repl.interpreter.SageTerminalApp object>, argv=None)

/home/wn/Documents/SageMath/local/lib/python2.7/site-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 0x7fe0bd3c7d70>
        app = <sage.repl.interpreter.SageTerminalApp object at 0x7fe0caf2d1d0>
        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 

/home/wn/Documents/SageMath/local/lib/python2.7/site-packages/IPython/terminal/ipapp.pyc 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 0x7fe0caf2d1d0>>
    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/wn/Documents/SageMath/local/lib/python2.7/site-packages/sage/repl/interpreter.pyc 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 0x7fe0bc033510>>
        global SAGE_EXTENSION = 'sage'
    763 
    764 

/home/wn/Documents/SageMath/local/lib/python2.7/site-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 0x7fe0bc033510>>
        mod = <module 'sage' from '/home/wn/Documents/SageMath/local/lib/python2.7/site-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:

/home/wn/Documents/SageMath/local/lib/python2.7/site-packages/IPython/core/extensions.pyc in _call_load_ipython_extension(self=<IPython.core.extensions.ExtensionManager object>, mod=<module 'sage' from '/home/wn/Documents/SageMath...l/lib/python2.7/site-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 0x7fe0caf1e7d0>
        self.shell = <sage.repl.interpreter.SageTerminalInteractiveShell object at 0x7fe0bd3efa10>
    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/wn/Documents/SageMath/local/lib/python2.7/site-packages/sage/__init__.pyc in load_ipython_extension(*args=(<sage.repl.interpreter.SageTerminalInteractiveShell object>,))
      1 __all__ = ['all']
      2 
      3 # Make sure that the correct zlib library is loaded. This is needed
      4 # to prevent the system zlib to be loaded instead of the Sage one.
      5 # See https://trac.sagemath.org/ticket/23122
      6 import zlib
      7 
      8 # IPython calls this when starting up
      9 def load_ipython_extension(*args):
     10     import sage.repl.ipython_extension
---> 11     sage.repl.ipython_extension.load_ipython_extension(*args)
        sage.repl.ipython_extension.load_ipython_extension = <function load_ipython_extension at 0x7fe0b7b868c0>
        args = (<sage.repl.interpreter.SageTerminalInteractiveShell object at 0x7fe0bd3efa10>,)

/home/wn/Documents/SageMath/local/lib/python2.7/site-packages/sage/repl/ipython_extension.pyc in wrapper(*args=(<sage.repl.interpreter.SageTerminalInteractiveShell object>,), **kwargs={})
    546         ....:     if work:
    547         ....:         return 'foo worked'
    548         ....:     raise RuntimeError("foo didn't work")
    549         sage: foo(False)
    550         Traceback (most recent call last):
    551         ...
    552         RuntimeError: foo didn't work
    553         sage: foo(True)
    554         'foo worked'
    555         sage: foo(False)
    556         sage: foo(True)
    557     """
    558     @wraps(func)
    559     def wrapper(*args, **kwargs):
    560         if not wrapper.has_run:
--> 561             result = func(*args, **kwargs)
        result = undefined
        global func = undefined
        args = (<sage.repl.interpreter.SageTerminalInteractiveShell object at 0x7fe0bd3efa10>,)
        kwargs = {}
    562             wrapper.has_run = True
    563             return result
    564     wrapper.has_run = False
    565     return wrapper
    566 
    567 
    568 @run_once
    569 def load_ipython_extension(ip):
    570     """
    571     Load the extension in IPython.
    572     """
    573     # this modifies ip
    574     SageCustomizations(shell=ip)

/home/wn/Documents/SageMath/local/lib/python2.7/site-packages/sage/repl/ipython_extension.pyc in load_ipython_extension(ip=<sage.repl.interpreter.SageTerminalInteractiveShell object>)
    559     def wrapper(*args, **kwargs):
    560         if not wrapper.has_run:
    561             result = func(*args, **kwargs)
    562             wrapper.has_run = True
    563             return result
    564     wrapper.has_run = False
    565     return wrapper
    566 
    567 
    568 @run_once
    569 def load_ipython_extension(ip):
    570     """
    571     Load the extension in IPython.
    572     """
    573     # this modifies ip
--> 574     SageCustomizations(shell=ip)
        global SageCustomizations = <class 'sage.repl.ipython_extension.SageCustomizations'>
        global shell = undefined
        ip = <sage.repl.interpreter.SageTerminalInteractiveShell object at 0x7fe0bd3efa10>

/home/wn/Documents/SageMath/local/lib/python2.7/site-packages/sage/repl/ipython_extension.pyc in __init__(self=<sage.repl.ipython_extension.SageCustomizations object>, shell=<sage.repl.interpreter.SageTerminalInteractiveShell object>)
    417     def __init__(self, shell=None):
    418         """
    419         Initialize the Sage plugin.
    420         """
    421         self.shell = shell
    422 
    423         self.auto_magics = SageMagics(shell)
    424         self.shell.register_magics(self.auto_magics)
    425 
    426         import sage.misc.edit_module as edit_module
    427         self.shell.set_hook('editor', edit_module.edit_devel)
    428 
    429         self.init_inspector()
    430         self.init_line_transforms()
    431 
--> 432         import sage.all # until sage's import hell is fixed
        sage.all = undefined
    433 
    434         self.shell.verbose_quit = True
    435         self.set_quit_hook()
    436 
    437         self.register_interface_magics()
    438 
    439         if SAGE_IMPORTALL == 'yes':
    440             self.init_environment()
    441 
    442     def register_interface_magics(self):
    443         """
    444         Register magics for each of the Sage interfaces
    445         """
    446         from sage.repl.interface_magic import InterfaceMagic
    447         InterfaceMagic.register_all(self.shell)

/home/wn/Documents/SageMath/local/lib/python2.7/site-packages/sage/all.py in <module>()
     72 
     73 # Add SAGE_SRC at the end of sys.path to enable Cython tracebacks
     74 # (which use paths relative to SAGE_SRC)
     75 sys.path.append(SAGE_SRC)
     76 
     77 
     78 ###################################################################
     79 
     80 # This import also setups the interrupt handler
     81 from cysignals.signals import (AlarmInterrupt, SignalError,
     82         sig_on_reset as sig_on_count)
     83 
     84 from time                import sleep
     85 
     86 import sage.misc.lazy_import
---> 87 from sage.misc.all       import *         # takes a while
        global sage.misc.all = undefined
     88 from sage.typeset.all    import *
     89 from sage.repl.all       import *
     90 
     91 from sage.misc.sh import sh
     92 
     93 from sage.libs.all       import *
     94 from sage.data_structures.all import *
     95 from sage.doctest.all    import *
     96 
     97 from sage.structure.all  import *
     98 from sage.rings.all      import *
     99 from sage.arith.all      import *
    100 from sage.matrix.all     import *
    101 
    102 from sage.symbolic.all   import *

/home/wn/Documents/SageMath/local/lib/python2.7/site-packages/sage/misc/all.py in <module>()
     69 
     70 from .defaults import (set_default_variable_name,
     71                         series_precision, set_series_precision)
     72 
     73 from .sage_eval import sage_eval, sageobj
     74 
     75 from .sage_input import sage_input
     76 
     77 lazy_import("sage.misc.cython", ["cython_lambda", "cython_create_local_so"]) 
     78 lazy_import("sage.misc.cython_c", "cython_compile", "cython")
     79 
     80 from .persist import save, load, dumps, loads, db, db_save
     81 
     82 from .func_persist import func_persist
     83 
---> 84 from .functional import (additive_order,
        global functional = undefined
        global additive_order = undefined
        global base_ring = undefined
        global base_field = undefined
        global basis = undefined
        global category = undefined
        global charpoly = undefined
        global characteristic_polynomial = undefined
        global coerce = undefined
        global cyclotomic_polynomial = undefined
        global decomposition = undefined
        global denominator = undefined
        global det = undefined
        global dimension = undefined
        global dim = undefined
        global discriminant = undefined
        global disc = undefined
        global eta = undefined
        global fcp = undefined
        global gen = undefined
        global gens = undefined
        global hecke_operator = undefined
        global image = undefined
        global integral = undefined
        global integrate = undefined
        global integral_closure = undefined
        global interval = undefined
        global xinterval = undefined
        global is_commutative = undefined
        global is_even = undefined
        global is_integrally_closed = undefined
        global is_field = undefined
        global is_odd = undefined
        global kernel = undefined
        global krull_dimension = undefined
        global lift = undefined
        global log = undefined
        global log_b = undefined
        global minimal_polynomial = undefined
        global minpoly = undefined
        global multiplicative_order = undefined
        global ngens = undefined
        global norm = undefined
        global numerator = undefined
        global numerical_approx = undefined
        global n = undefined
        global N = undefined
        global objgens = undefined
        global objgen = undefined
        global order = undefined
        global rank = undefined
        global regulator = undefined
        global round = undefined
        global quotient = undefined
        global quo = undefined
        global isqrt = undefined
        global squarefree_part = undefined
        global symbolic_sum = undefined
        global sum = undefined
        global symbolic_prod = undefined
        global product = undefined
        global transpose = undefined
     85                         base_ring,
     86                         base_field,
     87                         basis,
     88                         category,
     89                         charpoly,
     90                         characteristic_polynomial,
     91                         coerce,
     92                         cyclotomic_polynomial,
     93                         decomposition,
     94                         denominator,
     95                         det,
     96                         dimension,
     97                         dim,
     98                         discriminant,
     99                         disc,

/home/wn/Documents/SageMath/local/lib/python2.7/site-packages/sage/misc/functional.py in <module>()
     17 #
     18 # This program is free software: you can redistribute it and/or modify
     19 # it under the terms of the GNU General Public License as published by
     20 # the Free Software Foundation, either version 2 of the License, or
     21 # (at your option) any later version.
     22 #                  http://www.gnu.org/licenses/
     23 #*****************************************************************************
     24 from __future__ import absolute_import
     25 from six.moves import range, builtins
     26 from six import integer_types
     27 
     28 import sage.misc.latex
     29 import sage.interfaces.expect
     30 import sage.interfaces.mathematica
     31 
---> 32 from sage.rings.complex_double import CDF
        global sage.rings.complex_double = undefined
        global CDF = undefined
     33 from sage.rings.real_double import RDF, RealDoubleElement
     34 
     35 import sage.rings.real_mpfr
     36 import sage.rings.complex_field
     37 import sage.rings.integer
     38 
     39 ##############################################################################
     40 # There are many functions on elements of a ring, which mathematicians
     41 # usually write f(x), e.g., it is weird to write x.log() and natural
     42 # to write log(x).  The functions below allow for the more familiar syntax.
     43 ##############################################################################
     44 def additive_order(x):
     45     """
     46     Returns the additive order of `x`.
     47 

ImportError: libgfortran.so.3: cannot open shared object file: No such file or directory

***************************************************************************

History of session input:
*** Last line of input (may not be in above history):

Including a IRC for the community

The community experience would be enriched with the addition of a Internet Relay Chat . I would be really glad if someone would guide me to build a IRC for the sage community.

sage 8.1 crashes

i have a weird issue where sage crashes on one machine and not on another one even thought they have the same version of OS.
i installed the gdb for more report, please see attached.
sage_report.txt

sage -t --warn-long 25.2 src/sage/repl/image.py make sagmentation fault

I build sage 8.2 from source. using gcc 7.3.0 compiler. [I'm using ubuntu 18.04 LTS]
When I test my sage I got "sage -t --warn-long 25.2 src/sage/repl/image.py # Killed due to segmentation fault" message.
How can I solve it?
Thank you.

ps. when I test image.py manually this error only occurs when I test below example.

   EXAMPLES::

        sage: from sage.repl.image import Image
        sage: img = Image('1', (16, 16), 'white')
        sage: from sage.repl.rich_output import get_display_manager
        sage: dm = get_display_manager()
        sage: img._rich_repr_(dm)
        OutputImagePng container

        sage: img = Image('F', (16, 16), 'white')   # not supported in PNG
        sage: img._rich_repr_(dm) #This causes sagementation fault
        OutputImageGif container

Here is my log file.
crash_At5_GT.log

Mode does not follow described behaviour.

The stats.mode(v) function gives result not complying to documentation when given the list
[0, 2, 7, 7, 13, 20, 2, 13].

The doctsring specifies

Return the mode of v. The mode is the sorted list of the most
frequently occuring elements in v. If n is the most times
that any element occurs in v, then the mode is the sorted list
of elements of v that occur n times.

sage: mode([0, 2, 7, 7, 13, 20, 2, 13])
[2,13,7]

This list returned in this instance is not sorted and therefore mode(v) does not meet specification.

Upgrade to 5.10.beta1 stuck at "hg id -i ." in python-2.7.4 build directory

I am trying to upgrade my sage-5.9.rc0 to sage-5.10.beta1. However the upgrade is stuck at a command for over 5 minutes: /usr/bin/python2.7 /usr/bin/hg id -i .. First of all, why is it not using the (already present) python from sage and secondly, why is it stuck in that?

Doing that exact command manually in the python2.7.4 build directory exits immediately when run outside the sage shell. But when it is run inside the sage shell, it is stuck just as in the build.

Attached screenshot might help in seeing what I am seeing.
s

simplify removes conjugate

The conjugate from complex_var should not be removed by simplify. Can someone explain this behaviour to me?

var('real_var', domain='real')
var('complex_var', domain='complex')
print(simplify(conjugate(real_var)))
print(simplify(conjugate(complex_var)))

Sage Version 5.11, Release Date: 2013-08-13

Sage Make error

When i install Sage from source code, i encountered the following problem. I guess the reason is that I have installed a python 3.6.5 using anaconda and there is a conflict when make Sage. But i'm not sure. How can i solve this problem? Does anyone face with this issue.

The following is the errors logged in the log file.

python -E ./setup.py build
running build
running build_ext
Traceback (most recent call last):
File "./setup.py", line 2402, in
main()
File "./setup.py", line 2397, in main
"Tools/scripts/2to3", "Tools/scripts/pyvenv"]
File "/home/woshibutian/\udce4\udcb8\udc8b\udce8\udcbd\udcbd/sage-8.3/local/var/tmp/sage/build/python3-3.6.6/src/Lib/distutils/core.py", line 148, in setup
dist.run_commands()
File "/home/woshibutian/\udce4\udcb8\udc8b\udce8\udcbd\udcbd/sage-8.3/local/var/tmp/sage/build/python3-3.6.6/src/Lib/distutils/dist.py", line 955, in run_commands
self.run_command(cmd)
File "/home/woshibutian/\udce4\udcb8\udc8b\udce8\udcbd\udcbd/sage-8.3/local/var/tmp/sage/build/python3-3.6.6/src/Lib/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/home/woshibutian/\udce4\udcb8\udc8b\udce8\udcbd\udcbd/sage-8.3/local/var/tmp/sage/build/python3-3.6.6/src/Lib/distutils/command/build.py", line 135, in run
self.run_command(cmd_name)
File "/home/woshibutian/\udce4\udcb8\udc8b\udce8\udcbd\udcbd/sage-8.3/local/var/tmp/sage/build/python3-3.6.6/src/Lib/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/home/woshibutian/\udce4\udcb8\udc8b\udce8\udcbd\udcbd/sage-8.3/local/var/tmp/sage/build/python3-3.6.6/src/Lib/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/home/woshibutian/\udce4\udcb8\udc8b\udce8\udcbd\udcbd/sage-8.3/local/var/tmp/sage/build/python3-3.6.6/src/Lib/distutils/command/build_ext.py", line 339, in run
self.build_extensions()
File "./setup.py", line 228, in build_extensions
missing = self.detect_modules()
File "./setup.py", line 764, in detect_modules
for ln in fp:
File "/home/woshibutian/\udce4\udcb8\udc8b\udce8\udcbd\udcbd/sage-8.3/local/var/tmp/sage/build/python3-3.6.6/src/Lib/encodings/ascii.py", line 26, in decode
return codecs.ascii_decode(input, self.errors)[0]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe4 in position 74: ordinal not in range(128)
Makefile:597: recipe for target 'sharedmods' failed
make[4]: *** [sharedmods] Error 1
make[4]: Leaving directory '/home/woshibutian/下载/sage-8.3/local/var/tmp/sage/build/python3-3.6.6/src'
Error building Python.

real 1m49.177s
user 1m39.165s
sys 0m9.991s


Error building package python3-3.6.6


Please email sage-devel (http://groups.google.com/group/sage-devel)
explaining the problem and including the log file
/home/woshibutian/下载/sage-8.3/logs/pkgs/python3-3.6.6.log
Describe your computer, operating system, etc.
If you want to try to fix the problem yourself, don't just cd to
/home/woshibutian/下载/sage-8.3/local/var/tmp/sage/build/python3-3.6.6 and type 'make' or whatever is appropriate.
Instead, the following commands setup all environment variables
correctly and load a subshell for you to debug the error:
(cd '/home/woshibutian/下载/sage-8.3/local/var/tmp/sage/build/python3-3.6.6' && '/home/woshibutian/下载/sage-8.3/sage' --sh)
When you are done debugging, you can type "exit" to leave the subshell.

Export worksheets and data from Sage Notebook 6.5 and possible upgrade to latest version

Hello,
I am running an old Sage notebook (version 6.5) on a Redhat Linux 6 server. I do not have the admin password to log into the notebook. I would like to understand how to

  1. Log into sage dashboard without a password.
  2. export worksheets and any other data in this sage notebook
  3. upgrade to latest version of sage notebook (version 8.2 ?)
  4. Use a CAPTCHA or throttle invalid login attempts in SAGE notebook
    Can anyone please provide me some guidance on how I can tackle these tasks. Would be greatly appreciated.

sage.rings.polynomial.pbori fails to build

I ran into the following problem when building the repository. Is this a known problem?

gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/dev/shm/sage/local/include -Isage/libs/polybori -I/dev/shm/sage/local/include -I/dev/shm/sage/local/include/csage -I/dev/shm/sage/src -I/dev/shm/sage/src/sage/ext -I/dev/shm/sage/local/include -I/dev/shm/sage/local/include/csage -I/dev/shm/sage/src -I/dev/shm/sage/src/sage/ext -I/dev/shm/sage/local/include/python2.7 -c sage/rings/polynomial/pbori.cpp -o build/temp.linux-x86_64-2.7/sage/rings/polynomial/pbori.o -std=c99 -mmmx -msse -msse2 -msse3 -w -fno-tree-dominator-opto
In file included from /dev/shm/sage/local/include/polybori/pbori_defs.h:27:0,
                 from /dev/shm/sage/local/include/polybori/BoolePolyRing.h:21,
                 from /dev/shm/sage/local/include/polybori/BoolePolynomial.h:30,
                 from /dev/shm/sage/local/include/csage/pb_wrap.h:2,
                 from sage/rings/polynomial/pbori.cpp:314:
/dev/shm/sage/local/include/polybori/cudd/cudd.h:74:29: fatal error: polybori/config.h: No such file or directory
 #include <polybori/config.h>
                             ^
compilation terminated.
error: command 'gcc' failed with exit status 1

zenodo settings

Could the person who set up zenodo for sagemath please step forward and either remove it from zenodo, or, better fix it so that it works again (the easiest might be to deactivate/activate it).
Unfortunately zenodo does not allow "repo team members" to change the repo settings, it must be done by the same person who set it up.

sage script multiline parameter parsed error

SageMath version 7.6

for example, I have this in file x.sage:

#!/usr/bin/sage
fx(x)=piecewise([[(-1,2),2*x+4], \
        [(2,4), 2*x^2-4*x]])

but sage x.sage send error like this

  File "x.sage.py", line 7
    __tmp__=var("x"); fx = symbolic_expression(piecewise([[(-_sage_const_1 ,_sage_const_2 ),_sage_const_2 *x+_sage_const_4 ],  * BackslashOperator() * ).function(x)
                                                                                                                               ^
SyntaxError: invalid syntax

while I can just copy the code and paste in the sage shell, it works of course.
but for the script, I have no way to make it work, the preparser only deal with a single line and don't know the line continue mark.
And I'm extremely wondering why the script doesn't work like just paste the content line by line to the sage shell, it's called sage script but it doesn't works like a script.
This can be done just by parsing the original line to the sage shell, which also makes it for sure that the script works really like a script.

master branch

Could we rename the "working" branch to be called "master" again? The dev scripts assume that the main branch is called master and I believe that this is what most people expect.
I have to admit that I do not understand what the master branch is currently...

build_system branch doesn't compile on MacOS 10.8.4

configure: error: could not find a working compiler, see config.log for details
Error configuring MPIR (with CFLAGS unset).
Consult /Users/getchell/sage/local/var/tmp/sage/build/mpir-2.6.0.p2/src/config.log for for details.

real 0m1.975s
user 0m0.355s
sys 0m0.398s


Error installing package mpir-2.6.0.p2


Please email sage-devel (http://groups.google.com/group/sage-devel)
explaining the problem and including the relevant part of the log file
/Users/getchell/sage/logs/pkgs/mpir-2.6.0.p2.log
Describe your computer, operating system, etc.
If you want to try to fix the problem yourself, don't just cd to
/Users/getchell/sage/local/var/tmp/sage/build/mpir-2.6.0.p2 and type 'make' or whatever is appropriate.
Instead, the following commands setup all environment variables
correctly and load a subshell for you to debug the error:
(cd '/Users/getchell/sage/local/var/tmp/sage/build/mpir-2.6.0.p2' && '/Users/getchell/sage/sage' --sh)
When you are done debugging, you can type "exit" to leave the subshell.


make[2]: *** [/Users/getchell/sage/local/var/lib/sage/installed/mpir-2.6.0.p2] Error 1
make[1]: *** [all] Error 2

real 0m34.244s
user 0m8.538s
sys 0m5.590s


Error building Sage.

The following package(s) may have failed to build:

package: mpir-2.6.0.p2
log file: /Users/getchell/sage/logs/pkgs/mpir-2.6.0.p2.log
build directory: /Users/getchell/sage/local/var/tmp/sage/build/mpir-2.6.0.p2

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.

make: *** [build] Error 1
┌─[getchell][Hapkido][±][build_system ✓][~/sage]
└─▪ system_profiler SPSoftwareDataType
Software:

System Software Overview:

  System Version: OS X 10.8.4 (12E55)
  Kernel Version: Darwin 12.4.0
  Boot Volume: Macintosh HD
  Boot Mode: Normal
  Computer Name: Hapkido
  User Name: Getchell, Adam (getchell)
  Secure Virtual Memory: Enabled
  Time since boot: 14:06

┌─[getchell][Hapkido][±][build_system ✓][~/sage]
└─▪ gcc -v
Configured with: --prefix=/Applications/Xcode5-DP.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 5.0 (clang-500.1.58) (based on LLVM 3.3svn)
Target: x86_64-apple-darwin12.4.0
Thread model: posix

Equation solving

How to use sage to solve equations of variables which are variables of a polynomial ring?

Compilation of custom C code from Cython

Hi,

I have code on https://github.com/okazymyrov/sbox. It works fine with sage 7.1 . However, in SageMath 8.1 I get warnings like:

/Users/okazymyrov/bin/sage8.1/local/lib/python2.7/site-packages/sage/misc/cython.py:313: DeprecationWarning: the Sage-specific Cython pragma '#clang' is deprecated;
use '# distutils: language' instead

but the code is running. When I change # cfile /Users/okazymyrov/Downloads/sbox/C/CI.c
to # distutils: sources = /Users/okazymyrov/Downloads/sbox/C/CI.c
in Cython/CFunc.spyx I get the error

Compiling /Users/okazymyrov/Downloads/sbox/Sage/../Cython/CFunc.spyx...
/Users/okazymyrov/bin/sage8.1/local/lib/python2.7/site-packages/sage/misc/cython.py:322: DeprecationWarning: the Sage-specific Cython pragma '#cfile' is deprecated;
use '# distutils: sources' instead
See http://trac.sagemath.org/24105 for details.
  additional_source_files, s = _parse_keywords('cfile', s)
Traceback (most recent call last):
  File "./Main.sage.py", line 27, in <module>
    load("./TestFunctions.sage")
  File "sage/structure/sage_object.pyx", line 1057, in sage.structure.sage_object.load (build/cythonized/sage/structure/sage_object.c:12915)
  File "/Users/okazymyrov/bin/sage8.1/local/lib/python2.7/site-packages/sage/repl/load.py", line 247, in load
    exec(preparse_file(open(fpath).read()) + "\n", globals)
  File "<string>", line 21, in <module>
  File "sage/structure/sage_object.pyx", line 1057, in sage.structure.sage_object.load (build/cythonized/sage/structure/sage_object.c:12915)
  File "/Users/okazymyrov/bin/sage8.1/local/lib/python2.7/site-packages/sage/repl/load.py", line 247, in load
    exec(preparse_file(open(fpath).read()) + "\n", globals)
  File "<string>", line 41, in <module>
  File "sage/structure/sage_object.pyx", line 1057, in sage.structure.sage_object.load (build/cythonized/sage/structure/sage_object.c:12915)
  File "/Users/okazymyrov/bin/sage8.1/local/lib/python2.7/site-packages/sage/repl/load.py", line 251, in load
    exec(load_cython(fpath), globals)
  File "<string>", line 1, in <module>
ImportError: dlopen(/Users/okazymyrov/.sage/temp/hamsin.local/37857/spyx/_Users_okazymyrov_Downloads_sbox_Cython_CFunc_spyx/_Users_okazymyrov_Downloads_sbox_Cython_CFunc_spyx_0.so, 2): Symbol not found: _CI
  Referenced from: /Users/okazymyrov/.sage/temp/hamsin.local/37857/spyx/_Users_okazymyrov_Downloads_sbox_Cython_CFunc_spyx/_Users_okazymyrov_Downloads_sbox_Cython_CFunc_spyx_0.so
  Expected in: flat namespace
 in /Users/okazymyrov/.sage/temp/hamsin.local/37857/spyx/_Users_okazymyrov_Downloads_sbox_Cython_CFunc_spyx/_Users_okazymyrov_Downloads_sbox_Cython_CFunc_spyx_0.so

The load sequence is the following:

  1. Main.sage loads Sbox.sage
  2. Sbox.sage loads CFunc.spyx
  3. CFunc.spyx must be compiled with other C files located in ./C

System info:

bash-3.2$ sage --version
SageMath version 8.1, Release Date: 2017-12-07
bash-3.2$ uname -a
Darwin hamsin.local 17.5.0 Darwin Kernel Version 17.5.0: Mon Mar  5 22:24:32 PST 2018; root:xnu-4570.51.1~1/RELEASE_X86_64 x86_64

Might be a bug in the Cython parse class?

Kind regards,
Oleksandr

Including parsed generating functions in the OEIS module

I have parsed about 15k generating functions of the OEIS sequences and as a use case, generated about 300 million relations. It would be great if we could include the generating functions (and maybe even the relations) in the OEIS module. I can provide the gf and relations in a suitable format (e.g Content-MathML).

Weird bug in Sphinx duplicate label handling

(Putting bug report here for now until Trac is back up)

While building the docs I got this traceback:

[developer] /home/embray/src/sagemath/sage/src/doc/en/developer/coding_in_other.rst:160: WARNING: duplicate label section-gap, other instance in /home/embray/src/sagemath/sage/src/doc/en/developer/interfaces.rst
Error building the documentation.
Traceback (most recent call last):
  File "/home/embray/src/sagemath/sage/local/lib/python2.7/runpy.py", line 162, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/home/embray/src/sagemath/sage/local/lib/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/home/embray/src/sagemath/sage/local/lib/python2.7/site-packages/sage_setup/docbuild/__main__.py", line 2, in <module>
    main()
  File "/home/embray/src/sagemath/sage/local/lib/python2.7/site-packages/sage_setup/docbuild/__init__.py", line 1637, in main
    builder()
  File "/home/embray/src/sagemath/sage/local/lib/python2.7/site-packages/sage_setup/docbuild/__init__.py", line 320, in _wrapper
    map_parallel(build_other_doc, L)
  File "/home/embray/src/sagemath/sage/local/lib/python2.7/site-packages/sage_setup/docbuild/__init__.py", line 142, in map_parallel
    return map(func, args)
  File "/home/embray/src/sagemath/sage/local/lib/python2.7/site-packages/sage_setup/docbuild/__init__.py", line 280, in build_other_doc
    getattr(get_builder(document), name)(*args, **kwds)
  File "/home/embray/src/sagemath/sage/local/lib/python2.7/site-packages/sage_setup/docbuild/__init__.py", line 103, in f
    runsphinx()
  File "/home/embray/src/sagemath/sage/local/lib/python2.7/site-packages/sage_setup/docbuild/sphinxbuild.py", line 215, in runsphinx
    raise exception
OSError: [developer] /home/embray/src/sagemath/sage/src/doc/en/developer/coding_in_other.rst:160: WARNING: duplicate label section-gap, other instance in /home/embray/src/sagemath/sage/src/doc/en/developer/interfaces.rst

Ok so there's a duplicate label, that's clear enough, and should be fixed. The odd part is just

other instance in /home/embray/src/sagemath/sage/src/doc/en/developer/interfaces.rst

But there is no src/doc/env/developer/interfaces.rst. The file it seems to be referring to is in src/doc/en/tutorials/. I haven't checked whether this is a Sage specific error or something general to Sphinx (looks like maybe the latter). It's probably just a formatting error in the error message, but confusing all the same!

Disable issues

@sagemath If this is not used as issue tracker, I think the issues feature should be disabled to avoid confussion

Enable intersphinx links to SageMath's documentation

When configuring Sphinx for documenting a package, it's in principle very easy to enable cross links to the Sage documentation, with:

intersphinx_mapping = {'https://docs.python.org/': None,
                                      'https://doc.sagemath.org/html/en/reference/': None}

That's a nice feature that packages built on top of Sage will want to exploit.

However, upon make html, I get:

WARNING: intersphinx inventory 'https://doc.sagemath.org/html/en/reference/objects.inv' not fetchable due to <class 'urllib2.HTTPError'>: HTTP Error 403: Forbidden

even though the file can be downloaded with e.g. wget.

I assume that the user agent "Python-urlib2" is considered by default as being a robot. Would it be possible to configure robots.txt to accept calls from urllib2 or just enable any user agent to retrieve objects.inv?

An alternative would be to dig in Sphinx's code and set a different user agent. I haven't quite yet managed to do that. But in any cases, this adds a piece of burden to package writers.

cc: @haraldschilly

patch file missing

Someting must have gone wrong in the conversion script; I get:

./spkg-install: line 182: ../patches/graph.c.patch: No such file or directory

when building cliquer

Don't detect all cpus with last docker images of sagemath

hello,

  • with version 8.0 of sagemath/sagemath image docker, i detect all my cpus:
    $ docker run -it --rm sagemath/sagemath:8.0 sage
    SageMath version 8.0, Release Date: 2017-07-21
    Forcing sage-location, probably because a new package was installed.
    Updating various hardcoded paths...
    (Please wait at most a few minutes.)
    DO NOT INTERRUPT THIS.
    Done updating paths.
    sage: sage.parallel.ncpus.ncpus()
    8

  • with version 8.1 and latest i detect only one cpu:
    docker run -it --rm sagemath/sagemath:latest sage
    ┌───────────────────────────────────────────────────────────────┐
    │ SageMath version 8.2, Release Date: 2018-05-05 │
    │ Type "notebook()" for the browser-based notebook interface. │
    │ Type "help()" for help. │
    └───────────────────────────────────────────────────────────────┘
    Setting permissions of DOT_SAGE directory so only you can read and write it.
    sage: sage.parallel.ncpus.ncpus()
    1

and if i launch "nproc" in container i have all my cpus:
docker run -it --rm sagemath/sagemath:latest nproc
8

Can you help me , please

SageMath version 9.0 errors

~$ sage
┌────────────────────────────────────────────────────────────────────┐
│ SageMath version 9.0, Release Date: 2020-01-01 │
│ Using Python 3.8.6. Type "help()" for help. │
└────────────────────────────────────────────────────────────────────┘
Traceback (most recent call last):
File "/usr/share/sagemath/bin/sage-ipython", line 12, in
from sage.repl.interpreter import SageTerminalApp
File "/usr/lib/python3/dist-packages/sage/repl/interpreter.py", line 105, in
from sage.repl.preparse import preparse, containing_block
File "/usr/lib/python3/dist-packages/sage/repl/preparse.py", line 227, in
from sage.repl.load import load_wrap
File "/usr/lib/python3/dist-packages/sage/repl/load.py", line 19, in
from sage.cpython.string import str_to_bytes, bytes_to_str, FS_ENCODING
ModuleNotFoundError: No module named 'sage.cpython.string'
~$ uname -a
Linux lhw 5.8.0-19-generic #20-Ubuntu SMP Fri Sep 11 09:08:26 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
~$

Substitution of variable doesn't always work when variable's name and representation are different

I recently started using Sagemath and I noticed this behavior:

>>> a1=var('a_1')
>>> E=x^a1
>>> E(a1=1)

 a₁
x  
>>> E(a_1=1)
x

Should this be the behavior? I feel like this is a bug and the correct way would be to indeed use E(a1=1) because that is the name of the variable, while a_1 is just its representation. For example, if I use Sympy's syntax it works as it should:

>>> E.subs({a1:1})
x

I'm using SageMath version 7.5.1 compiled for Linux Mint 18.1.

Expected Behavior of XOR of Ints

Hello,

SAGE VERSION: SageMath version 8.0, Release Date: 2017-07-21

I am trying to understand how XOR works in Sage because it not conform to the logic table:

print 0 ^ 0, 0 ^ 1 , 1 ^ 0, 1 ^ 1
results in 1 0 1 1
but
print (0 + 0) %2, (0 + 1) %2, (1 + 0) %2, (1 + 1) %2
results in 0 1 1 0

And XOR is addition mod 2, so I am not sure what is going on.

I also tried making everything python ints:

print int(0) ^ int(0), int(0) ^ int(1) , int(1) ^ int(0), int(1) ^ int(1)
But I still get 1 0 1 1

The only way I have been able to get the result I expect is by:

import operator
operator.xor(0, 0), operator.xor(0, 1), operator.xor(1, 0), operator.xor(1, 1)

Thank you!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.