 24 Dec, 2017 1 commit


Sébastien Labbé authored

 22 Dec, 2017 1 commit


Volker Braun authored

 21 Dec, 2017 12 commits


Release Manager authored
In the `Map` method `_extra_slots`, a dict is passed as input. That dict is then modified inplace and also returned as output. This awkward logic is not needed for anything. We simplify this by not passing a dict as input and creating a new dict from scratch if needed. URL: https://trac.sagemath.org/24372 Reported by: jdemeyer Ticket author(s): Jeroen Demeyer Reviewer(s): Travis Scrimshaw

Release Manager authored
One can check by definition that B^r,s^ in type A,,2n,,^(2)\dagger^ is perfect of level s. Currently it returns s/2, but it needs special casing. URL: https://trac.sagemath.org/24364 Reported by: tscrim Ticket author(s): Travis Scrimshaw Reviewer(s): Frédéric Chapoton

Release Manager authored
`Parent.__call__` has some logic to set `_element_constructor`. But this isn't the duty of `__call__`, it should already have been set. URL: https://trac.sagemath.org/24348 Reported by: jdemeyer Ticket author(s): Jeroen Demeyer Reviewer(s): Travis Scrimshaw

Release Manager authored
So we can compute characters of KR modules for twisted types in terms of fundamentals Q,,1,,^(a)^. URL: https://trac.sagemath.org/24344 Reported by: tscrim Ticket author(s): Travis Scrimshaw Reviewer(s): Frédéric Chapoton

Release Manager authored
With these fixes, plus various fixes in other modules (to be submitted separately) I was able to get all the tests in `sage.misc.cachefunc` to pass. URL: https://trac.sagemath.org/24292 Reported by: embray Ticket author(s): Erik Bray Reviewer(s): Frédéric Chapoton, Jeroen Demeyer

Release Manager authored
Deprecated in #20012 URL: https://trac.sagemath.org/24115 Reported by: jdemeyer Ticket author(s): Jeroen Demeyer Reviewer(s): Travis Scrimshaw

Release Manager authored
This is fine: {{{ sage: z = QQ['z'].0 sage: K.<phi> = NumberField(z^2z1, 'phi') sage: floor(phi) 1 sage: K.<phi> = NumberField(z^2z1, 'phi', embedding=AA(golden_ratio)) sage: floor(phi) 1 }}} This is weird: {{{ sage: K.<phi> = NumberField(z^2z1, 'phi', embedding=QQbar(golden_ratio)) sage: floor(phi) 1 }}} A workaround: {{{ sage: phi.n() 1.61803398874989 sage: floor(phi.n()) 1 }}} URL: https://trac.sagemath.org/23008 Reported by: slabbe Ticket author(s): Vincent Delecroix Reviewer(s): Frédéric Chapoton

Release Manager authored
Hi, This ticket is about entering a deprecation in `finite_class.py` to no longer use it and instead use `FiniteEnumeratedSets`. `finite_class.py` (`FiniteCombinatorialClass`) is derived from `CombinatorialClass`, which has the comment: {{{ 946 """ 947 This class is deprecated, and will disappear as soon as all derived 948 classes in Sage's library will have been fixed. Please derive 949 directly from Parent and use the category :class:`EnumeratedSets`, 950 :class:`FiniteEnumeratedSets`, or :class:`InfiniteEnumeratedSets`, as 951 appropriate. }}} We go a step further in and fully deprecate `finite_class.py` and redirects them to use/develop `FiniteEnumeratedSets` instead. URL: https://trac.sagemath.org/13552 Reported by: startakovsky Ticket author(s): Frédéric Chapoton Reviewer(s): Travis Scrimshaw

Release Manager authored
As we will soon have a Flow function in Sage, the next step could be to write a Nowhere Zero flow function ! It should also be possible to define a flow over an abelian group, as they equivalently exist... More informations there : http://en.wikipedia.org/wiki/Nowherezero_flow URL: https://trac.sagemath.org/7302 Reported by: ncohen Ticket author(s): David Coudert Reviewer(s): Travis Scrimshaw

Release Manager authored
The following fails when `long` is not specified {{{ $ sage t manifolds/differentiable/tensorfield.py ********************************************************************** File "manifolds/differentiable/tensorfield.py", line 295, in sage.manifolds.differentiable.tensorfield.TensorField Failed example: t[eV,1,1,c_uv].expr() Exception raised: Traceback (most recent call last): File "/home/vdelecro/sage_patchbot/local/lib/python2.7/site packages/sage/doctest/forker.py", line 517, in _run self.compile_and_execute(example, compiler, test.globs) File "/home/vdelecro/sage_patchbot/local/lib/python2.7/site packages/sage/doctest/forker.py", line 920, in compile_and_execute exec(compiled, globs) File "<doctest sage.manifolds.differentiable.tensorfield.TensorField[36]>", line 1, in <module> t[eV,Integer(1),Integer(1),c_uv].expr() File "/home/vdelecro/sage_patchbot/local/lib/python2.7/site packages/sage/manifolds/differentiable/tensorfield.py", line 1472, in __getitem__ return self.comp(frame)[args] File "/home/vdelecro/sage_patchbot/local/lib/python2.7/site packages/sage/manifolds/differentiable/tensorfield.py", line 1235, in comp return rst.comp(basis=basis, from_basis=from_basis) File "/home/vdelecro/sage_patchbot/local/lib/python2.7/site packages/sage/manifolds/differentiable/tensorfield_paral.py", line 921, in comp from_basis=from_basis) File "/home/vdelecro/sage_patchbot/local/lib/python2.7/site packages/sage/tensor/modules/free_module_tensor.py", line 1076, in components "the components in the {}".format(basis)) ValueError: no basis could be found for computing the components in the Coordinate frame (V, (d/du,d/dv)) ********************************************************************** File "manifolds/differentiable/tensorfield.py", line 298, in sage.manifolds.differentiable.tensorfield.TensorField Failed example: type(t[eV,1,1,c_uv].expr()) Exception raised: Traceback (most recent call last): File "/home/vdelecro/sage_patchbot/local/lib/python2.7/site packages/sage/doctest/forker.py", line 517, in _run self.compile_and_execute(example, compiler, test.globs) File "/home/vdelecro/sage_patchbot/local/lib/python2.7/site packages/sage/doctest/forker.py", line 920, in compile_and_execute exec(compiled, globs) File "<doctest sage.manifolds.differentiable.tensorfield.TensorField[37]>", line 1, in <module> type(t[eV,Integer(1),Integer(1),c_uv].expr()) File "/home/vdelecro/sage_patchbot/local/lib/python2.7/site packages/sage/manifolds/differentiable/tensorfield.py", line 1472, in __getitem__ return self.comp(frame)[args] File "/home/vdelecro/sage_patchbot/local/lib/python2.7/site packages/sage/manifolds/differentiable/tensorfield.py", line 1235, in comp return rst.comp(basis=basis, from_basis=from_basis) File "/home/vdelecro/sage_patchbot/local/lib/python2.7/site packages/sage/manifolds/differentiable/tensorfield_paral.py", line 921, in comp from_basis=from_basis) File "/home/vdelecro/sage_patchbot/local/lib/python2.7/site packages/sage/tensor/modules/free_module_tensor.py", line 1076, in components "the components in the {}".format(basis)) ValueError: no basis could be found for computing the components in the Coordinate frame (V, (d/du,d/dv)) ********************************************************************** File "manifolds/differentiable/tensorfield.py", line 318, in sage.manifolds.differentiable.tensorfield.TensorField Failed example: f = t(a,b) Exception raised: Traceback (most recent call last): File "/home/vdelecro/sage_patchbot/local/lib/python2.7/site packages/sage/doctest/forker.py", line 517, in _run self.compile_and_execute(example, compiler, test.globs) File "/home/vdelecro/sage_patchbot/local/lib/python2.7/site packages/sage/doctest/forker.py", line 920, in compile_and_execute exec(compiled, globs) File "<doctest sage.manifolds.differentiable.tensorfield.TensorField[46]>", line 1, in <module> f = t(a,b) File "/home/vdelecro/sage_patchbot/local/lib/python2.7/site packages/sage/manifolds/differentiable/tensorfield.py", line 2348, in __call__ resu_rr = self_rr(*args_rr) File "/home/vdelecro/sage_patchbot/local/lib/python2.7/site packages/sage/manifolds/differentiable/tensorfield_paral.py", line 1461, in __call__ return FreeModuleTensor.__call__(self_r, *args_r) File "/home/vdelecro/sage_patchbot/local/lib/python2.7/site packages/sage/tensor/modules/free_module_tensor.py", line 2130, in __call__ raise ValueError("no common basis for the components") ValueError: no common basis for the components Killing test manifolds/differentiable/tensorfield.py  Doctests interrupted: 0/1 files tested  Total time for all tests: 26.5 seconds cpu time: 0.0 seconds cumulative wall time: 0.0 seconds }}} URL: https://trac.sagemath.org/24396 Reported by: vdelecroix Ticket author(s): Vincent Delecroix Reviewer(s): Eric Gourgoulhon

Release Manager authored
The current version of notedown does not work with the latest Jupyter notebook version: {{{ Traceback (most recent call last): File "/usr/local/src/sageconfig/local/bin/notedown", line 11, in <module> load_entry_point('notedown==1.5.0', 'console_scripts', 'notedown')() File "/usr/local/src/sageconfig/local/lib/python2.7/site packages/pkg_resources/__init__.py", line 561, in load_entry_point return get_distribution(dist).load_entry_point(group, name) File "/usr/local/src/sageconfig/local/lib/python2.7/site packages/pkg_resources/__init__.py", line 2631, in load_entry_point return ep.load() File "/usr/local/src/sageconfig/local/lib/python2.7/site packages/pkg_resources/__init__.py", line 2291, in load return self.resolve() File "/usr/local/src/sageconfig/local/lib/python2.7/site packages/pkg_resources/__init__.py", line 2297, in resolve module = __import__(self.module_name, fromlist=['__name__'], level=0) File "/usr/local/src/sageconfig/local/lib/python2.7/site packages/notedown/__init__.py", line 8, in <module> from .contentsmanager import NotedownContentsManager File "/usr/local/src/sageconfig/local/lib/python2.7/site packages/notedown/contentsmanager.py", line 8, in <module> from notebook.services.contents.filemanager import FileContentsManager File "/usr/local/src/sageconfig/local/lib/python2.7/site packages/notebook/services/contents/filemanager.py", line 21, in <module> from .manager import ContentsManager File "/usr/local/src/sageconfig/local/lib/python2.7/site packages/notebook/services/contents/manager.py", line 38, in <module> class ContentsManager(LoggingConfigurable): File "/usr/local/src/sageconfig/local/lib/python2.7/site packages/notebook/services/contents/manager.py", line 70, in ContentsManager untitled_notebook = Unicode(_("Untitled"), config=True, NameError: name '_' is not defined }}} '''Tarball''': https://pypi.python.org/packages/58/1b/a926945216cb7d1d21 abdbc975195bd7beb3bceafa41c186ecb95f8f9121/notedown1.5.1.tar.gz URL: https://trac.sagemath.org/24376 Reported by: jdemeyer Ticket author(s): Jeroen Demeyer Reviewer(s): Thierry Monteil

Release Manager authored
Rare doctest errors can happen in `random_expression` if functions are selected that raise errors on wrong argument type. This ticket excludes all (up to now) known such functions from being used in `random_expression`. URL: https://trac.sagemath.org/24284 Reported by: rws Ticket author(s): Ralf Stephan Reviewer(s): Volker Braun

 20 Dec, 2017 2 commits


Frédéric Chapoton authored

Frédéric Chapoton authored

 19 Dec, 2017 3 commits


Travis Scrimshaw authored

Travis Scrimshaw authored
Merge branch 'public/algebras/twisted_Q_systems24344' of git://trac.sagemath.org/sage into public/algebras/twisted_Q_systems24344

Frédéric Chapoton authored

 17 Dec, 2017 11 commits


David Coudert authored

Release Manager authored
Sympy polyomials with Sage real number coefficients look very broken {{{ sage: import sympy, sympy.polys sage: x = sympy.Symbol('x') sage: p = sympy.polys.Poly(x**2  2.0) sage: p <repr(<sympy.polys.polytools.Poly at 0x7f92ca50ef18>) failed: TypeError: int() argument must be a string or a number, not 'NoneType'> sage: p.coeffs() TypeError Traceback (most recent call last) <ipythoninput247e7e3b79f346> in <module>() > 1 p.coeffs() /opt/sage/local/lib/python2.7/sitepackages/sympy/polys/polytools.pyc in coeffs(f, order) 795 796 """ > 797 return [f.rep.dom.to_sympy(c) for c in f.rep.coeffs(order=order)] 798 799 def monoms(f, order=None): /opt/sage/local/lib/python2.7/site packages/sympy/polys/domains/realfield.pyc in to_sympy(self, element) 64 def to_sympy(self, element): 65 """Convert ``element`` to SymPy number. """ > 66 return Float(element, self.dps) 67 68 def from_sympy(self, expr): /opt/sage/local/lib/python2.7/sitepackages/sympy/core/numbers.pyc in __new__(cls, num, dps, prec, precision) 1053 _mpf_ = mpf_norm(_mpf_, precision) 1054 else: > 1055 _mpf_ = mpmath.mpf(num, prec=prec)._mpf_ 1056 1057 # special cases /opt/sage/src/sage/libs/mpmath/ext_main.pyx in sage.libs.mpmath.ext_main.mpf.__init__ (build/cythonized/sage/libs/mpmath/ext_main.c:23448)() 1886 opts = global_opts 1887 if kwargs: > 1888 if 'prec' in kwargs: opts.prec = int(kwargs['prec']) 1889 if 'dps' in kwargs: opts.prec = libmp.dps_to_prec(int(kwargs['dps'])) 1890 if 'rounding' in kwargs: opts.rounding = rndmode_from_python(kwargs['rounding']) TypeError: int() argument must be a string or a number, not 'NoneType' }}} We backport a patch in sympy development branch. This problem was originally found from digging around #24378. URL: https://trac.sagemath.org/24380 Reported by: vdelecroix Ticket author(s): Vincent Delecroix Reviewer(s): Ralf Stephan

Release Manager authored
As an effort to reduce the number of entry points to the "element constructor" (see #23880), get rid of `_populate_coercion_lists_(element_constructor=...)`. Instead, set an `Element` attribute or implement an `_element_constructor_` method. Unpickling still calls `_populate_coercion_lists_(element_constructor=...)` and we are not fixing this for now. URL: https://trac.sagemath.org/24363 Reported by: jdemeyer Ticket author(s): Jeroen Demeyer Reviewer(s): Travis Scrimshaw

Release Manager authored
`SageObject.__repr__(self)` tries to call `self._repr_()`. If that method does not exist, it confusingly falls back to returning `str(type(self))`. Instead, it would be better to fall back to `super().__repr__()`. URL: https://trac.sagemath.org/24350 Reported by: jdemeyer Ticket author(s): Jeroen Demeyer Reviewer(s): Travis Scrimshaw

Release Manager authored
As discussed in https://groups.google.com/d/msg/sage devel/dZwxUCNEZWk/joIzOT0aBAAJ the pickle jar no longer serves the purpose that it was created for. So better remove it, as it is currently only an obstacle to development. I am only removing the pickle jar itself and the related tests and documentation. The functions `picklejar()` and `unpickle_all()` which deal with the pickle jar are kept for now, in case that somebody wants to reboot (hopefully a better version of) the pickle jar. URL: https://trac.sagemath.org/24337 Reported by: jdemeyer Ticket author(s): Jeroen Demeyer Reviewer(s): Dima Pasechnik

Release Manager authored
In 0.7.14: * fix subs regression (#24262) * improve inexact numerics (#24299, #24317) * `(x^a)^b > (x^a)^b`, with `a,b numeric > 0` * fix `mul` of infinities (#24327) * implement `has_function()` (#24283) * use arb for inverse trig/hyperbolic funs * internally rename `tgamma` to `gamma` (affects print order) In 0.7.13: * fix `ex.coefficients()` bugs (#23545, #24147) * fix interface to Singular GCD (#23845) * fix compiler warnings * `asin`/`atan` enhancements (#24211) * `set_of_all()` function (#24176) * upgrade `ax_cxx_compile_stdcxx_11.m4` https://github.com/pynac/pynac/releases/download/pynac0.7.14/pynac0.7. 14.tar.bz2 URL: https://trac.sagemath.org/24329 Reported by: rws Ticket author(s): Ralf Stephan Reviewer(s): Travis Scrimshaw

Release Manager authored
When the untested examples in `src/sage/combinat/interval_posets.py` involving `GlobalOptions` are actually tested: {{{ sage t long src/sage/combinat/interval_posets.py ********************************************************************** File "src/sage/combinat/interval_posets.py", line 2468, in sage.combinat.interval_posets.TamariIntervalPosets.options Failed example: ip.latex_options.color_decreasing Exception raised: Traceback (most recent call last): File "/usr/local/src/sageconfig/local/lib/python2.7/site packages/sage/doctest/forker.py", line 515, in _run self.compile_and_execute(example, compiler, test.globs) File "/usr/local/src/sageconfig/local/lib/python2.7/site packages/sage/doctest/forker.py", line 885, in compile_and_execute exec(compiled, globs) File "<doctest sage.combinat.interval_posets.TamariIntervalPosets.options[1]>", line 1, in <module> ip.latex_options.color_decreasing AttributeError: 'function' object has no attribute 'color_decreasing' ********************************************************************** File "src/sage/combinat/interval_posets.py", line 2471, in sage.combinat.interval_posets.TamariIntervalPosets.options Failed example: ip.latex_options.color_decreasing Exception raised: Traceback (most recent call last): File "/usr/local/src/sageconfig/local/lib/python2.7/site packages/sage/doctest/forker.py", line 515, in _run self.compile_and_execute(example, compiler, test.globs) File "/usr/local/src/sageconfig/local/lib/python2.7/site packages/sage/doctest/forker.py", line 885, in compile_and_execute exec(compiled, globs) File "<doctest sage.combinat.interval_posets.TamariIntervalPosets.options[3]>", line 1, in <module> ip.latex_options.color_decreasing AttributeError: 'function' object has no attribute 'color_decreasing' ********************************************************************** File "src/sage/combinat/interval_posets.py", line 2474, in sage.combinat.interval_posets.TamariIntervalPosets.options Failed example: ip.latex_options.color_decreasing Exception raised: Traceback (most recent call last): File "/usr/local/src/sageconfig/local/lib/python2.7/site packages/sage/doctest/forker.py", line 515, in _run self.compile_and_execute(example, compiler, test.globs) File "/usr/local/src/sageconfig/local/lib/python2.7/site packages/sage/doctest/forker.py", line 885, in compile_and_execute exec(compiled, globs) File "<doctest sage.combinat.interval_posets.TamariIntervalPosets.options[5]>", line 1, in <module> ip.latex_options.color_decreasing AttributeError: 'function' object has no attribute 'color_decreasing' ********************************************************************** }}} URL: https://trac.sagemath.org/24326 Reported by: jdemeyer Ticket author(s): Frédéric Chapoton Reviewer(s): Travis Scrimshaw

Release Manager authored
Trac #24315: dancing links: find all solutions using given rows + find first solution in parallel + doc {{{ sage: from sage.combinat.matrices.dancing_links import dlx_solver sage: rows = [[0,1,2], [3,4,5], [0,1], [2,3,4,5], [0], [1,2,3,4,5]] sage: x = dlx_solver(rows) sage: x Dancing links solver for 6 columns and 6 rows }}} Return the first solution found when the computation is done in parallel:: {{{ sage: x.first_solution_found_in_parallel(ncpus=8) [0, 1] }}} Find all solutions using some specific rows:: {{{ sage: x_using_row_2 = x.restrict([2]) sage: x_using_row_2 Dancing links solver for 6 columns and 6 rows sage: list(x_using_row_2.solutions_iterator()) [[2, 3]] }}} URL: https://trac.sagemath.org/24315 Reported by: slabbe Ticket author(s): Sébastien Labbé Reviewer(s): Vincent Delecroix

Release Manager authored
{{{ sage: from sympy import sympify sage: integral(x, x, 0, 1, hold=True) integrate(x, x, 0, 1) sage: sympify(_) ... ValueError: Invalid limits given: (x, 0, 1) sage: integral(x, x, 0, 1, hold=True)._sympy_() ... ValueError: Invalid limits given: (x, 0, 1) }}} URL: https://trac.sagemath.org/24028 Reported by: rws Ticket author(s): Ralf Stephan Reviewer(s): Travis Scrimshaw

Release Manager authored
The aim of this ticket is to revamp the `MatrixSpace` constructor in order to be able to choose the implementation. For example, with the attached branch one can have access to 2 implementations of integer matrices {{{ sage: MatrixSpace(ZZ, 3, implementation='flint') Full MatrixSpace of 3 by 3 dense matrices over Integer Ring sage: MatrixSpace(ZZ, 3, implementation='generic') Full MatrixSpace of 3 by 3 dense matrices over Integer Ring (using Matrix_generic_dense) }}} One important change is the move of the method `_get_matrix_class` of `MatrixSpace` as an independent function. A problem arose with `CartanMatrix` (in `sage/combinat/root_system/cartan_matrix.py`). The class `CartanMatrix` inherits from `Matrix_integer_sparse` but does not properly redefines the parent. As a consequence of the changes here, many matrix operations are not valid anymore for inherited types (mostly submatrices operations such as `__getitem__` with slices or `stack`). A fix is provided by defining `CartanMatrix.matrix_space`. follow up: #23714 (implementation of gap matrices) URL: https://trac.sagemath.org/23706 Reported by: vdelecroix Ticket author(s): Vincent Delecroix Reviewer(s): JeanPhilippe Labbé, Travis Scrimshaw

Release Manager authored
URL: https://trac.sagemath.org/24375 Reported by: jdemeyer Ticket author(s): Jeroen Demeyer Reviewer(s): Vincent Delecroix

 16 Dec, 2017 6 commits


Vincent Delecroix authored

Vincent Delecroix authored

Vincent Delecroix authored

Travis Scrimshaw authored

git://trac.sagemath.org/sageTravis Scrimshaw authored
Merge branch 'u/dcoudert/24366' of git://trac.sagemath.org/sage into public/graphs/nowhere_zero_flow7302

Travis Scrimshaw authored
Merge branch 'public/graphs/nowhere_zero_flow7302' of git://trac.sagemath.org/sage into public/graphs/nowhere_zero_flow7302

 15 Dec, 2017 4 commits


Release Manager authored
Implement LempelZiv computation for suffix tree and use it to improve the Crochemore factorization for words. Add alias so the user can use either `LZ_decomposition` or `crochemore_factorization` to get the results. URL: https://trac.sagemath.org/23568 Reported by: enadeau Ticket author(s): Émile Nadeau Reviewer(s): Vincent Delecroix

Release Manager authored
using the pari role URL: https://trac.sagemath.org/24164 Reported by: chapoton Ticket author(s): Frédéric Chapoton Reviewer(s): Travis Scrimshaw

Release Manager authored
Eulerian numbers are http://oeis.org/A008292 whereas Euler numbers are http://oeis.org/A000364 . The docpage "Combinatorial Functions" lump them together creating maximal confusion: "Eulerian/Euler numbers, euler_number() (Maxima)" Solution: Delete "Eulerian/" in the complained sentence. http://doc.sagemath.org/html/en/reference/combinat/sage/combinat/combina t.html URL: https://trac.sagemath.org/22312 Reported by: pluschny Ticket author(s): Frédéric Chapoton Reviewer(s): Travis Scrimshaw

Release Manager authored
URL: https://trac.sagemath.org/24342 Reported by: chapoton Ticket author(s): Frédéric Chapoton Reviewer(s): Travis Scrimshaw
