This project is mirrored from https://gitlab.com/sagemath/sage.git.
Pull mirroring failed .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer.
Last successful update . This branch has diverged from upstream.
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer.
Last successful update . This branch has diverged from upstream.
 23 Jan, 2019 40 commits


Volker Braun authored

Release Manager authored
Follow upstream for pip packages that can be updated trivially... Tarballs are already uploaded. URL: https://trac.sagemath.org/26969 Reported by: vbraun Ticket author(s): Volker Braun Reviewer(s): Frédéric Chapoton

Release Manager authored
If `EXAMPLE:` introduces an indented block of examples, a second `:` is necessary, because this block is a code block. URL: https://trac.sagemath.org/27023 Reported by: mantepse Ticket author(s): Martin Rubey Reviewer(s): Frédéric Chapoton, Jeroen Demeyer

Release Manager authored
'''Tarball''': http://sage.ugent.be/www/jdemeyer/sage/openblas0.3.5.tar.gz (renamed from upstream https://github.com/xianyi/OpenBLAS/archive/v0.3.5.tar.gz) URL: https://trac.sagemath.org/27020 Reported by: jdemeyer Ticket author(s): Jeroen Demeyer Reviewer(s): Thierry Monteil, Travis Scrimshaw

Release Manager authored
The file `src/sage/schemes/elliptic_curves/padics.py` contains only methods which are imported in `src/sage/schemes/elliptic_curves/ell_rational_field.py` So there is no reason for this module to be documented. URL: https://trac.sagemath.org/27017 Reported by: jdemeyer Ticket author(s): Jeroen Demeyer Reviewer(s): Kwankyu Lee

Release Manager authored
`uniq(X)` is just a shorthand for `sorted(set(X))`: I don't think that we need a separate function for that. More seriously, the sorting is problematic since arbitrary sets may not be sortable in general, especially in Python 3 or after applying #22029. URL: https://trac.sagemath.org/27014 Reported by: jdemeyer Ticket author(s): Jeroen Demeyer Reviewer(s): Martin Rubey, Travis Scrimshaw

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

Release Manager authored
Trac #27010: py3: avoid .vertices() in methods _ford_fulkerson, edge_cut, bounded_outdegree_orientation and gomory_hu_tree We fix all doctests errors in py3 of methods `bounded_outdegree_orientation` and `gomory_hu_tree` of `graph.py` by avoiding calls to `.vertices()` in these methods and in methods `edge_cut` and `_ford_fulkerson` of `generic_graph.py`. This also fixes some doctests in `generic_graph.py`. URL: https://trac.sagemath.org/27010 Reported by: dcoudert Ticket author(s): David Coudert Reviewer(s): Travis Scrimshaw

Release Manager authored
We avoid sorting vertices, edges and connected components. The code is better this way, and this fixes a doctest error with py3. URL: https://trac.sagemath.org/27009 Reported by: dcoudert Ticket author(s): David Coudert Reviewer(s): Travis Scrimshaw

Release Manager authored
Calls to `.vertices()` were performed for small graphs and are not needed. We also avoid sorting edges when not required. URL: https://trac.sagemath.org/27008 Reported by: dcoudert Ticket author(s): David Coudert Reviewer(s): Travis Scrimshaw

Release Manager authored
We change the mappings used in method `is_planar` from file `planarity.pyx` to avoid calls to `.vertices()`. The changes done here were inducing a doctest error in method `genus` for {{{ sage: cube.genus(circular=['01','10'], on_embedding=True) }}} As the documentation indicates that {{{If ``circular`` is defined, ``on_embedding`` is not a valid option}}}, we now raise an error in this situation. This patch fixes some doctests that where failing with py3 in methods  `TutteGraph` of `smallgraphs.py`  `apex_vertices` of `graph.py`  `genus` of `generic_graph.py` URL: https://trac.sagemath.org/27007 Reported by: dcoudert Ticket author(s): David Coudert Reviewer(s): Travis Scrimshaw

Release Manager authored
For example (in sage 8.6.b1), {{{ sage: x = polygen(QQ,'x') sage: M = libgap(matrix(2,2,[x,1,2,3])) sage: M [ [ x, 1 ], [ 2, 3 ] ] sage: M.IsMatrix() false }}} so that all matrix methods are broken on the result URL: https://trac.sagemath.org/27005 Reported by: chapoton Ticket author(s): Frédéric Chapoton Reviewer(s): Travis Scrimshaw

Release Manager authored
The objects may not be sortable in general. We remove one `sorted()` call and simplify the code. For reference: this code was introduced in #25148 (but changed several times afterwards). URL: https://trac.sagemath.org/27003 Reported by: jdemeyer Ticket author(s): Jeroen Demeyer Reviewer(s): Frédéric Chapoton

Release Manager authored
This takes one change from upstream Sphinx autodoc: using `__qualname__` to document aliases. To work around https://github.com/cython/cython/pull/2773 we use this only on Python 3. URL: https://trac.sagemath.org/27002 Reported by: jdemeyer Ticket author(s): Kwankyu Lee Reviewer(s): Jeroen Demeyer

Release Manager authored
Using 8.6.beta1 with Gurobi installed and available in Sage (as explained [http://doc.sagemath.org/html/en/thematic_tutorials/linear_pro gramming.html#usingcplexorgurobithroughsage here]), the command {{{ sage t optional=sage,external src/sage/numerical/backends/gurobi_backend.pyx }}} gives {{{ Using optional=external,memlimit,sage External software to be detected: cplex,ffmpeg,graphviz,gurobi,imagemagi ck,internet,latex,macaulay2,magma,maple,mathematica,matlab,octave,pandoc ,scilab Doctesting 1 file. sage t src/sage/numerical/backends/gurobi_backend.pyx ********************************************************************** File "src/sage/numerical/backends/gurobi_backend.pyx", line 50, in sage.numerical.backends.gurobi_backend.GurobiBackend Failed example: TestSuite(p.get_backend()).run(skip="_test_pickling") # optional  Gurobi Expected nothing Got: Failure in _test_copy: Traceback (most recent call last): File "/home/slabbe/GitBox/sage/local/lib/python2.7/site packages/sage/misc/sage_unittest.py", line 296, in run test_method(tester = tester) File "sage/numerical/backends/generic_backend.pyx", line 1255, in sage.numerical.backends.generic_backend.GenericBackend._test_copy (build/cythonized/sage/numerical/backends/generic_backend.c:14740) self._do_test_problem_data(tester, cp) File "sage/numerical/backends/generic_backend.pyx", line 1229, in sage.numerical.backends.generic_backend.GenericBackend._do_test_problem_ data (build/cythonized/sage/numerical/backends/generic_backend.c:14457) assert_equal_problem_data(method) File "sage/numerical/backends/generic_backend.pyx", line 1226, in sage.numerical.backends.generic_backend.GenericBackend._do_test_problem_ data.assert_equal_problem_data (build/cythonized/sage/numerical/backends/generic_backend.c:13727) tester.assertEqual(getattr(self, method)(), getattr(cp, method)(), File "/home/slabbe/GitBox/sage/local/lib/python2.7/unittest/case.py", line 513, in assertEqual assertion_func(first, second, msg=msg) File "/home/slabbe/GitBox/sage/local/lib/python2.7/unittest/case.py", line 506, in _baseAssertEqual raise self.failureException(msg) AssertionError: problem_name does not match  Failure in _test_copy_does_not_share_data: Traceback (most recent call last): File "/home/slabbe/GitBox/sage/local/lib/python2.7/site packages/sage/misc/sage_unittest.py", line 296, in run test_method(tester = tester) File "sage/numerical/backends/generic_backend.pyx", line 1265, in sage.numerical.backends.generic_backend.GenericBackend._test_copy_does_n ot_share_data (build/cythonized/sage/numerical/backends/generic_backend.c:14947) self._do_test_problem_data(tester, cpcp) File "sage/numerical/backends/generic_backend.pyx", line 1229, in sage.numerical.backends.generic_backend.GenericBackend._do_test_problem_ data (build/cythonized/sage/numerical/backends/generic_backend.c:14457) assert_equal_problem_data(method) File "sage/numerical/backends/generic_backend.pyx", line 1226, in sage.numerical.backends.generic_backend.GenericBackend._do_test_problem_ data.assert_equal_problem_data (build/cythonized/sage/numerical/backends/generic_backend.c:13727) tester.assertEqual(getattr(self, method)(), getattr(cp, method)(), File "/home/slabbe/GitBox/sage/local/lib/python2.7/unittest/case.py", line 513, in assertEqual assertion_func(first, second, msg=msg) File "/home/slabbe/GitBox/sage/local/lib/python2.7/unittest/case.py", line 506, in _baseAssertEqual raise self.failureException(msg) AssertionError: problem_name does not match  The following tests failed: _test_copy, _test_copy_does_not_share_data ********************************************************************** 1 item had failures: 1 of 3 in sage.numerical.backends.gurobi_backend.GurobiBackend [207 tests, 1 failure, 0.14 s]  sage t src/sage/numerical/backends/gurobi_backend.pyx # 1 doctest failed  Total time for all tests: 0.2 seconds cpu time: 0.1 seconds cumulative wall time: 0.1 seconds External software detected for doctesting: gurobi }}} URL: https://trac.sagemath.org/26999 Reported by: slabbe Ticket author(s): Erik Bray Reviewer(s): Sébastien Labbé

Release Manager authored
rather easy, in fact URL: https://trac.sagemath.org/26998 Reported by: chapoton Ticket author(s): Frédéric Chapoton Reviewer(s): Jori Mäntysalo

Release Manager authored
On Ubuntu 16.04, running sage8.5.beta1, the command {{{ sage t long optional=sage,internet src/sage/databases/findstat.py }}} gives {{{ ... 3 items had failures: 3 of 16 in sage.databases.findstat 1 of 4 in sage.databases.findstat.FindStatStatistic.__repr__ 1 of 9 in sage.databases.findstat.FindStatStatistic._find_by_values [247 tests, 5 failures, 107.27 s]  sage t long src/sage/databases/findstat.py # 5 doctests failed  }}} Full failure log is long and is pasted here: https://framabin.org/p/?b9d acda8324c7295#71YTYesLKEKBCNg1LtnDUhKkWDrcm+xiZGDI9a8bjfg= URL: https://trac.sagemath.org/26997 Reported by: slabbe Ticket author(s): Martin Rubey Reviewer(s): Frédéric Chapoton

Release Manager authored
It has: * `rational_power_parts()` fix (Isuru Fernando) * `numeric::ratlog()` fix (Eric M Bray, #25948) * matching improvements / fixes https://github.com/pynac/pynac/releases/download/pynac0.7.23/pynac0.7. 23.tar.bz2 URL: https://trac.sagemath.org/26995 Reported by: rws Ticket author(s): Ralf Stephan Reviewer(s): Travis Scrimshaw

Release Manager authored
In this example {{{ sage: K = GF(47^2) sage: E = EllipticCurve([0, K.gen()]) sage: f = E.division_polynomial(7).factor()[4][0] sage: E.is_supersingular() True sage: E.isogeny(f).codomain().is_supersingular() False sage: phi = E.isogeny(E.division_polynomial(7).factor()[8][0]) sage: phi(E.random_point())   TypeError Traceback (most recent call last) ... TypeError: Coordinates [16*z2 + 30, 3*z2 + 22, 1] do not define a point on Elliptic Curve defined by y^2 = x^3 + (3*z2+36)*x over Finite Field in z2 of size 47^2 }}} The factors of the seventh division polynomial are not detected as bad kernel polynomials, and a wrong isogeny is computed instead. Tests to detect these cases are in `.isogenies_prime_degree_general()`. They should be moved to an independent function and called before applying Vélu's formulas. URL: https://trac.sagemath.org/23222 Reported by: defeo Ticket author(s): John Cremona Reviewer(s): Luca De Feo, Frédéric Chapoton

Release Manager authored
in symbolic/ring.pyx This fixes the last failing doctest in calculus URL: https://trac.sagemath.org/26988 Reported by: chapoton Ticket author(s): Frédéric Chapoton Reviewer(s): Travis Scrimshaw

Release Manager authored
mostly cleaning up, and trying not to use .vertices for digraphs URL: https://trac.sagemath.org/26985 Reported by: chapoton Ticket author(s): Frédéric Chapoton Reviewer(s): Travis Scrimshaw

Release Manager authored
In #23978 a wrong ticket number was advertised in a deprecation warning. URL: https://trac.sagemath.org/26981 Reported by: vdelecroix Ticket author(s): Vincent Delecroix Reviewer(s): Frédéric Chapoton

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

Release Manager authored
The following crashes sage with a SIGSEGV: {{{ sage: from sage.rings.polynomial.multi_polynomial_libsingular import MPolynomialRing_libsingular sage: class Foo(MPolynomialRing_libsingular): ....: pass sage: Foo(QQ, 2, ['x','y'], 'degrevlex') }}} Strangely enough this bug is triggered only when inheriting; indeed the following works as expected: {{{ sage: from sage.rings.polynomial.multi_polynomial_libsingular import MPolynomialRing_libsingular sage: MPolynomialRing_libsingular(QQ, 2, ['x','y'], 'degrevlex') Multivariate Polynomial Ring in x, y over Rational Field }}} As it turns out this bug is due to a spurious call to `__init_extra__` of `Algebras(...).parent_class`. Univariate polynomial rings avoid this call by setting the attribute `_no_generic_basering_coercion = True`; now multivariate polynomial rings do so too. URL: https://trac.sagemath.org/26958 Reported by: etn40ff Ticket author(s): Salvatore Stella Reviewer(s): Jeroen Demeyer

Release Manager authored
This ticket improves `sage.libs.giac` by adding support for:  `lex`, `deglex`, as well as block orders with 2 `degrevlex` blocks in Groebner basis computations,  computation of elimination ideals. Additionally, this adds an optional keyword `algorithm=...` to `sage.rings.polynomial.multi_polynomial_ideal.elimination_ideal` to allow choosing between libsingular and Giac implementations. For further information, here is the documentation of [https://www fourier.ujfgrenoble.fr/~parisse/giac/doc/fr/cascmd_fr/cascmd_fr282.html giac's eliminate] and [https://groups.google.com/d/msg/sage devel/cxs2fNKecLo/49nl9z1MCQAJ the discussion] in which I learned that Giac supports this. URL: https://trac.sagemath.org/26943 Reported by: ghmwageringel Ticket author(s): Markus Wageringel Reviewer(s): Vincent Delecroix

Release Manager authored
This sort can fail if the points are not comparable: {{{ sortkey = lambda e: [(0 if x is None else 2 if isinstance(x, str) else 1, x) for x in e]\ if isinstance(e, tuple) else e self._points = sorted(points, key=sortkey) }}} The `sortkey` tries to find a clever way to "sort" the points but hardcoding classes like that is not a general solution. In particular, it's still comparing integers and strings when #22029 is appplied. Instead, just don't sort. URL: https://trac.sagemath.org/26938 Reported by: jdemeyer Ticket author(s): Jeroen Demeyer Reviewer(s): Frédéric Chapoton

Release Manager authored
In `src/sage/combinat/words/morphism.py`, there is the following code: {{{ dom_alph.sort() }}} and {{{ return FiniteWords(sorted(codom_alphabet)) }}} These will break with #22029. URL: https://trac.sagemath.org/26936 Reported by: jdemeyer Ticket author(s): Sébastien Labbé Reviewer(s): Jeroen Demeyer

Release Manager authored
It should not force sorting the set, which may be unsortable. URL: https://trac.sagemath.org/26933 Reported by: jdemeyer Ticket author(s): Jeroen Demeyer Reviewer(s): Travis Scrimshaw

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

Release Manager authored
Followup to a comment in #22148 to fix the indentation in numberfield.py within the solve_S_unit_equation function. URL: https://trac.sagemath.org/26864 Reported by: mwest Ticket author(s): Mckenzie West Reviewer(s): Jeroen Demeyer

Release Manager authored
`RealLazyField` exhibits the following bug on 8.4 stable and on development branch: {{{ sage: float(sin(RLF.pi()))   AttributeError Traceback (most recent call last) <ipythoninput1750e6734ef1c> in <module>() > 1 float(sin(RLF.pi())) /home/pat/Software/Sage/sagegit/sage/local/lib/python2.7/site packages/sage/rings/real_lazy.pyx in sage.rings.real_lazy.LazyNamedUnop.__float__ (build/cythonized/sage/rings/real_lazy.c:16203)() 1404 0.8414709848078965 1405 """ > 1406 return self.eval(float) 1407 1408 def __call__(self, *args): /home/pat/Software/Sage/sagegit/sage/local/lib/python2.7/site packages/sage/rings/real_lazy.pyx in sage.rings.real_lazy.LazyNamedUnop.eval (build/cythonized/sage/rings/real_lazy.c:15520)() 1348 2.0 1349 """ > 1350 arg = self._arg.eval(R) 1351 cdef bint has_extra_args = self._extra_args is not None and len(self._extra_args) > 0 1352 if type(R) is type: /home/pat/Software/Sage/sagegit/sage/local/lib/python2.7/site packages/sage/rings/real_lazy.pyx in sage.rings.real_lazy.LazyConstant.eval (build/cythonized/sage/rings/real_lazy.c:16924)() 1490 else: 1491 raise TypeError("The complex constant I is not in this real field.") > 1492 f = getattr(R, self._name) 1493 if self._extra_args is None: 1494 return f() AttributeError: type object 'float' has no attribute 'pi' }}} The same issue appears with RDF replacing float. Vincent noted that the following works fine: {{{ sage: (sin(RLF.pi())).eval(RDF) 1.2246467991473515e16 }}} On the other hand I get: {{{ sage: (sin(RLF.pi())).eval(float)   AttributeError... }}} URL: https://trac.sagemath.org/26839 Reported by: wphooper Ticket author(s): Vincent Delecroix Reviewer(s): Sébastien Labbé

Release Manager authored
URL: https://trac.sagemath.org/26834 Reported by: dcoudert Ticket author(s): David Coudert Reviewer(s): Vincent Klein

Release Manager authored
{{{ sage: Permutations(avoiding=[[1,3,2]]) Standard permutations }}} We simply implement an appropriate class. Now {{{ [1,3,2] in Permutations(avoiding=[1,3,2]) }}} works as expected. URL: https://trac.sagemath.org/26810 Reported by: mantepse Ticket author(s): Martin Rubey Reviewer(s): Daniel Krenn, Travis Scrimshaw

Release Manager authored
{{{ sage: P = Permutations(3, avoiding=[[1,3,2]]) sage: P.list() [[1, 2, 3], [3, 1, 2], [2, 1, 3], [2, 3, 1], [3, 2, 1]] sage: [1,3,2] in P True }}} URL: https://trac.sagemath.org/26809 Reported by: mantepse Ticket author(s): Martin Rubey Reviewer(s): Daniel Krenn, Travis Scrimshaw

Release Manager authored
When running doctests in my applications of SharedMeatAxe, `sig_on_count` reveals problems. URL: https://trac.sagemath.org/26516 Reported by: SimonKing Ticket author(s): Simon King Reviewer(s): Jeroen Demeyer

Release Manager authored
This ticket adds a glucose experimental or optional package, and fixes the old glucose interface. Tarball: http://www.labri.fr/perso/lsimon/downloads/softwares/glucose syrup4.1.tgz URL: https://trac.sagemath.org/26361 Reported by: tmonteil Ticket author(s): Thierry Monteil, Sébastien Labbé Reviewer(s): Vincent Delecroix

Release Manager authored
When a line of test input tagged with e.g. `# rel tol` throws a warning or error, the line numbers, version numbers, etc. in the tracebacks are tested, even if there are ellipses in the test output signaling that they should be ignored. Here's a toy example: {{{ def foo(): """ The following test fails. We should disallow this. TESTS:: sage: foo() # rel tol 1e1 [0, ... 9] """ print([j for j in range(10)]) }}} We should throw an error if these are used in the same doctest, as this can lead to confusing output. URL: https://trac.sagemath.org/26183 Reported by: ghbryangingechen Ticket author(s): Jeroen Demeyer Reviewer(s): Erik Bray

Release Manager authored
{{{ sage: RR(0).str(digits=3) '0.000' }}} This is trivial to fix, but then it causes hundreds of doctest failures since every real zero is printed with one less digit. To compensate for this, we add one extra digit for 0.0 in the default case. URL: https://trac.sagemath.org/26156 Reported by: jdemeyer Ticket author(s): Jeroen Demeyer Reviewer(s): Travis Scrimshaw

Release Manager authored
The first changes to sage in order to migrate the https://github.com/MareoRaft/k_combinat_for_sage library (see also #25295) involve changing `partition.py`. This ticket is now READY FOR REVIEW :) URL: https://trac.sagemath.org/25931 Reported by: ghMareoRaft Ticket author(s): Matthew Lancellotti Reviewer(s): George H. Seelinger

Release Manager authored
This is required for compiling Python 3.7 '''Tarball''': ftp://sourceware.org/pub/libffi/libffi3.2.1.tar.gz URL: https://trac.sagemath.org/25900 Reported by: jdemeyer Ticket author(s): Jeroen Demeyer Reviewer(s): Frédéric Chapoton, Erik Bray
