- 26 Jul, 2020 2 commits
-
-
Michael Jung authored
-
Michael Jung authored
-
- 25 Jul, 2020 1 commit
-
-
Release Manager authored
-
- 23 Jul, 2020 9 commits
-
-
Release Manager authored
With 9.2.beta4, {{{ sage -t --optional=sage,internet src/sage/combinat/designs/bibd.py }}} gives {{{ sage -t --long src/sage/combinat/designs/bibd.py ********************************************************************** File "src/sage/combinat/designs/bibd.py", line 109, in sage.combinat.designs.bibd.balanced_incomplete_block_design Failed example: B # optional - internet Expected: Incidence structure with 66 points and 143 blocks Got: (66,6,1)-Balanced Incomplete Block Design ********************************************************************** File "src/sage/combinat/designs/bibd.py", line 113, in sage.combinat.designs.bibd.balanced_incomplete_block_design Failed example: designs.balanced_incomplete_block_design(66, 6, 1, use_LJCR=True) # optional - internet Expected: Incidence structure with 66 points and 143 blocks Got: (66,6,1)-Balanced Incomplete Block Design ********************************************************************** 1 item had failures: 2 of 26 in sage.combinat.designs.bibd.balanced_incomplete_block_design 0 tests not run because we ran out of time [120 tests, 2 failures, 5.32 s] }}} URL: https://trac.sagemath.org/30131 Reported by: slabbe Ticket author(s): Frédéric Chapoton Reviewer(s): Sébastien Labbé, Dima Pasechnik
-
Release Manager authored
and use {{{_richcmp_}}} instead So far, this remains used only in complex MPC and Integer classes. URL: https://trac.sagemath.org/30130 Reported by: chapoton Ticket author(s): Frédéric Chapoton Reviewer(s): Travis Scrimshaw
-
Release Manager authored
`[ -n "$SAGE_ROOT/" ]` is always true because of the trailing slash. This causes two test failures on distro packages. URL: https://trac.sagemath.org/30129 Reported by: arojas Ticket author(s): Antonio Rojas Reviewer(s): Matthias Koeppe
-
Release Manager authored
The sage-env script is run under `/bin/sh` but contains bashisms: {{{ SAGE_SCRIPTS_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" }}} This causes a build failure when `/bin/sh` is not bash: {{{ cd '/home/mjo/src/sage.git/build/pkgs/sage_conf' && . '/home/mjo/src/sage.git/src/bin/sage-env' && . '/home/mjo/src/sage.git/build/bin/sage-build-env-config' && sage-logger -p '/home/mjo/src/sage.git/build/pkgs/sage_conf/spkg-install' '/home/mjo/src/sage.git/logs/pkgs/sage_conf-none.log' /bin/sh: 123: /home/mjo/src/sage.git/src/bin/sage-env: Bad substitution Error: SAGE_SCRIPTS_DIR is set to a bad value: SAGE_SCRIPTS_DIR=/home/mjo/src/sage.git/build/pkgs/sage_conf You must correct it or erase it and rerun this script make[3]: *** [Makefile:2022: /home/mjo/src/sage.git/local/var/lib/sage/installed/sage_conf-none] Error 1 }}} The comment at the top of sage-env about using bash features should be removed afterwards. For bonus points, it would be nice if we could add a non-bash shell to one of the CI runs. URL: https://trac.sagemath.org/30128 Reported by: mjo Ticket author(s): Michael Orlitzky Reviewer(s): Matthias Koeppe
-
Release Manager authored
There is the category of `Graphs` and there is an axiom 'Connected' (used in `Manifolds`), but so far there is no category of connected graphs. They would be metric spaces... if edge weights are positive. URL: https://trac.sagemath.org/30126 Reported by: mkoeppe Ticket author(s): Travis Scrimshaw Reviewer(s): Matthias Koeppe
-
Release Manager authored
Follow-up from #30106, where the following was observed: {{{ sage: var('ξ')._maxima_() ....: <repr(<sage.interfaces.maxima_lib.MaximaLibElement at 0x32c1d4828>) failed: RuntimeError: ECL says: Cannot coerce string $_SAGE_VAR_ξ to a base-string> }}} The above error is due to a bug in ECL 16.1.2 and 20.4.24: {{{ > (princ-to-string 'ξ) "Ξ" > (setf local-table (copy-readtable nil)) > (setf (readtable-case local-table) :invert) :INVERT > (let ((*readtable* local-table) (*print-case* :upcase)) (princ-to- string 'ξ)) Cannot coerce string Ξ to a base-string }}} The above code is from Maxima's `PRINT-INVERT-CASE` function in commac.lisp. Upstream issue: https://gitlab.com/embeddable-common- lisp/ecl/-/issues/602 URL: https://trac.sagemath.org/30122 Reported by: mkoeppe Ticket author(s): Matthias Koeppe Reviewer(s): Markus Wageringel
-
Release Manager authored
These packages are long gone, yet {{{ grep -R KASH src/doc grep -R Macaulay src/doc }}} return hits such as `Macaulay and KASH are Sage packages` etc. URL: https://trac.sagemath.org/30109 Reported by: dimpase Ticket author(s): John Palmieri Reviewer(s): Matthias Koeppe
-
Release Manager authored
As a follow-up to #29278, #29280: If we use Unicode variable names in `SR`, declaring a domain gives an error: {{{ sage: SR.var('π', domain='real') RuntimeError: ECL says: THROW: The catch MACSYMA-QUIT is undefined. SystemError: <built-in method var of sage.symbolic.ring.SymbolicRing object at 0x334506908> returned a result with an error set }}} This comes from our ECL interface: {{{ sage: from sage.libs.ecl import * sage: u_symbol = EclObject('
🔥 ') sage: u_symbol <repr(<sage.libs.ecl.EclObject at 0x337e7b3c8>) failed: UnicodeDecodeError: 'utf-8' codec can't decode byte 0x94 in position 2: invalid start byte> sage: u_symbol.python() UnicodeDecodeError: 'utf-8' codec can't decode byte 0x94 in position 2: invalid start byte }}} Also note: {{{ sage: b_symbol = EclObject(bytes([166])) sage: b_symbol <repr(<sage.libs.ecl.EclObject at 0x337e7b058>) failed: UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa6 in position 0: invalid start byte> }}} URL: https://trac.sagemath.org/30106 Reported by: mkoeppe Ticket author(s): Matthias Koeppe Reviewer(s): Markus Wageringel -
Release Manager authored
We added methods to generate the extended Kasami codes and the Kasami codes. For a definition of those codes see the book "Distance-Regular Graphs" by Brouwer et. al. URL: https://trac.sagemath.org/30085 Reported by: gh-Ivo-Maffei Ticket author(s): Ivo Maffei Reviewer(s): Dima Pasechnik
-
- 22 Jul, 2020 9 commits
-
-
Release Manager authored
Trac #29922: sage.doctest: Make imports more specific; make global environment for tests customizable We prepare the Sage doctesting module for running in environments where `sage.all` is not available (#29705). 1. An explicit import in `sage.doctest.parsing`: {{{ # We need to import from sage.all to avoid circular imports. from sage.all import RealIntervalField RIFtol = RealIntervalField(1044) }}} 2. We make the global environment for tests customizable in `sage.doctest.forker`: in `init_sage`: {{{ import sage.repl.ipython_kernel.all_jupyter }}} and again in `DocTestTask._run`: {{{ # Import Jupyter globals to doctest the Jupyter # implementation of widgets and interacts import sage.repl.ipython_kernel.all_jupyter as sage_all }}} ... which is {{{ """ All imports for Jupyter """ from sage.all_cmdline import * from .widgets_sagenb import (input_box, text_control, slider, range_slider, checkbox, selector, input_grid, color_selector) from .interact import interact }}} This is exposed by the new `sage-runtest` option `--environment`. For example, #29865 defines modules such as `sage.all__sage_objects`. We would invoke `sage -t --environment=sage.all__sage_objects` to test against this global environment. 3. We ignore errors importing `sage.interfaces`. URL: https://trac.sagemath.org/29922 Reported by: mkoeppe Ticket author(s): Matthias Koeppe Reviewer(s): Jonathan Kliem
-
Release Manager authored
We add a method that tests `is_combinatorially_isomorphic`. URL: https://trac.sagemath.org/29908 Reported by: gh-kliem Ticket author(s): Jonathan Kliem Reviewer(s): Matthias Koeppe
-
Release Manager authored
Trac #29901: .github/workflows/: Test all optional packages, add workflow for testing all experimental packages Follow up from #29341. URL: https://trac.sagemath.org/29901 Reported by: mkoeppe Ticket author(s): Matthias Koeppe Reviewer(s): Jonathan Kliem
-
Release Manager authored
The new dilation with #29200 discovered two bugs: {{{ sage: 2*Polyhedron([[]], backend='cdd') ... TypeError ... }}} and {{{ sage: K.<sqrt2> = QuadraticField(2) sage: sqrt2*Polyhedron(backend='normaliz') ... AttributeError }}} The underlying errors are the following: {{{ sage: from sage.geometry.polyhedron.backend_cdd import Polyhedron_QQ_cdd sage: from sage.geometry.polyhedron.parent import Polyhedra_QQ_cdd sage: parent = Polyhedra_QQ_cdd(QQ, 0, 'cdd') sage: p = Polyhedron_QQ_cdd(parent, [iter([]), iter([]), iter([])], None) Traceback (most recent call last): ... TypeError: can't multiply sequence by non-int of type 'NoneType' sage: Polyhedron(ieqs=[], ambient_dim=5, backend='cdd') Traceback (most recent call last): ... TypeError: unsupported operand type(s) for -=: 'NoneType' and 'int' sage: from sage.geometry.polyhedron.parent import Polyhedra_RDF_cdd sage: from sage.geometry.polyhedron.backend_cdd import Polyhedron_RDF_cdd sage: parent = Polyhedra_RDF_cdd(RDF, 1, 'cdd') sage: Vrep = [[], [], [[1.0]]] sage: Hrep = [[], []] sage: p = Polyhedron_RDF_cdd(parent, Vrep, Hrep, ....: Vrep_minimal=True, Hrep_minimal=True) Traceback (most recent call last): ... TypeError: unsupported operand type(s) for -=: 'NoneType' and 'int' }}} There are two tiny fixes to it: - Make sure to tell the empty polyhedron appart at `Polyhedron_base.__init__`. - Add a trivial inequality for initialization of the universe polyhedron with backend `cdd`. We add doctests for each fix. Note that also #29907 will indirectly test this. URL: https://trac.sagemath.org/29899 Reported by: gh-kliem Ticket author(s): Jonathan Kliem Reviewer(s): Matthias Koeppe
-
Release Manager authored
... from a forgotten branch on #16351 ... URL: https://trac.sagemath.org/29882 Reported by: mkoeppe Ticket author(s): Florent Hivert, Sébastien Labbé Reviewer(s): Travis Scrimshaw
-
Release Manager authored
We upgrade Cython to 0.29.21 (https://github.com/cython/cython/blob/master/CHANGES.rst#02921-2020-07- 09) This is supposed to fix many bugs compared to our current 0.29.17, but a bug reported with the new version (https://groups.google.com/g/sage- devel/c/ij0ulNf7ZuI/m/qF0AlS9IBgAJ): {{{ $sage -c 1+1 SageMath version 9.1, Release Date: 2020-05-20 Traceback (most recent call last): File "/home/conda/feedstock_root/build_artifacts/sagelib_1592119926566 /_test_env_placehold_placehold_placehold_placehold_placehold_placehold_p lacehold_placehold_placehold_placehold_placehold_placehold_placehold_pla cehold_placehold_placehold_placehold_placehol/bin/sage-eval", line 4, in <module> from sage.all import * File "/home/conda/feedstock_root/build_artifacts/sagelib_1592119926566 /_test_env_placehold_placehold_placehold_placehold_placehold_placehold_p lacehold_placehold_placehold_placehold_placehold_placehold_placehold_pla cehold_placehold_placehold_placehold_placehol/lib/python3.6/site- packages/sage/all.py", line 117, in <module> import sage.misc.lazy_import File "sage/misc/lazy_import.pyx", line 1, in init sage.misc.lazy_import (build/cythonized/sage/misc/lazy_import.c:10174) AttributeError: type object 'sage.misc.lazy_import.LazyImport' has no attribute '__div__' }}} Previous update: - #29480 - Upgrade Cython to 0.29.17 (merged in 9.2.beta1) URL: https://trac.sagemath.org/29861 Reported by: mkoeppe Ticket author(s): Matthias Koeppe Reviewer(s): Dima Pasechnik
-
Release Manager authored
This ticket adds an spkg-configure.m4 for zn_poly, in order to use it from a system package if possible (see #27330). Nothing special with this one: Sage builds without any problem with this system package. URL: https://trac.sagemath.org/29649 Reported by: gh-thierry-FreeBSD Ticket author(s): Thierry Thomas, Dima Pasechnik Reviewer(s): Matthias Koeppe
-
Release Manager authored
The pushout of two algebraic number fields with a coerce embedding in `AA` (the real algebraic fields) is implemented as being `AA`. As a consequence, it is possible to add elements from different number fields {{{ sage: K.<a> = NumberField(x^3 - 2, embedding=AA(2)**(1/3)) sage: L.<b> = NumberField(x^2 - 3, embedding=AA(3)**(1/2)) sage: a + b 2.991971857463751? }}} Though, the pushout is not implemented for fields with coerce embedding in `QQbar` (algebraic field). {{{ sage: K.<a> = NumberField(x^3 - 2, embedding=QQbar(2)**(1/3) * QQbar.zeta(3)) sage: L.<b> = NumberField(x^3 - 3, embedding=QQbar(3)**(1/3) * QQbar.zeta(3)**2) sage: a + b Traceback (most recent call last): ... TypeError: unsupported operand parent(s) for + }}} This ticket implements it. URL: https://trac.sagemath.org/28778 Reported by: gh-kliem Ticket author(s): Jonathan Kliem Reviewer(s): Vincent Delecroix, Matthias Koeppe
-
Release Manager authored
#29766, #29441, and #29497 introduce build dependencies for packages that are only active when `SAGE_CHECK` is not `no`. But whether a package needs its check-dependencies depends on both `SAGE_CHECK_PACKAGES` and `SAGE_CHECK`. In this ticket, we move the handling of `SAGE_CHECK_PACKAGES` from `sage-spkg` to the Makefile. This allows packages to conditionalize dependencies based on the new makefile variables `SAGE_CHECK_symengine_py` (for #29497) etc. URL: https://trac.sagemath.org/30118 Reported by: mkoeppe Ticket author(s): Matthias Koeppe Reviewer(s): Dima Pasechnik
-
- 19 Jul, 2020 2 commits
-
-
Release Manager authored
#29673 (spkg-configure.m4 for sympow) accepts broken `sympow` versions on various systems, as noted on #29673, #3360 URL: https://trac.sagemath.org/30147 Reported by: mkoeppe Ticket author(s): Dima Pasechnik Reviewer(s): Matthias Koeppe
-
Release Manager authored
(from https://groups.google.com/d/msg/sage- devel/OXOmOjlYQLo/7gOLtzsJCQAJ) We already reject gcc 10, but if gfortran is installed separately, we also have to check that version. We also check for `gfortran-9` first, and on `homebrew`, we recommend installing it via `brew install gcc@9`. URL: https://trac.sagemath.org/30067 Reported by: mkoeppe Ticket author(s): Matthias Koeppe Reviewer(s): Dima Pasechnik
-
- 18 Jul, 2020 1 commit
-
-
Release Manager authored
This ticket makes {{{ sage -t --long --random-seed=n src/sage/graphs/ }}} pass for different values `n` than just `0`. URL: https://trac.sagemath.org/29965 Reported by: gh-kliem Ticket author(s): Jonathan Kliem Reviewer(s): David Coudert
-
- 17 Jul, 2020 3 commits
-
-
Dima Pasechnik authored
-
Travis Scrimshaw authored
-
Travis Scrimshaw authored
-
- 16 Jul, 2020 5 commits
-
-
Matthias Köppe authored
Merge tag '9.2.beta5' into t/30118/handle_sage_check_packages_in_build_make_makefile_in__not_sage_spkg SageMath version 9.2.beta5, Release Date: 2020-07-12
-
Matthias Köppe authored
-
Matthias Köppe authored
-
Matthias Köppe authored
-
Matthias Köppe authored
-
- 15 Jul, 2020 8 commits
-
-
Release Manager authored
We introduce an option for doctests `--random-seed` that defaults to `0` for now: {{{ sage -t --long src/sage/all.py ... Doctesting 1 file. sage -t --long --random-seed=0 src/sage/all.py [16 tests, 0.73 s] ---------------------------------------------------------------------- All tests passed! ---------------------------------------------------------------------- Total time for all tests: 0.8 seconds cpu time: 0.7 seconds cumulative wall time: 0.7 seconds }}} This allows specifying, which random seed shall be used for the doctests. URL: https://trac.sagemath.org/29962 Reported by: gh-kliem Ticket author(s): Jonathan Kliem Reviewer(s): Markus Wageringel, Matthias Koeppe
-
Release Manager authored
We add a method that checks gale transforms and it's inverse. We also fix two `# long time` flags for the snub cube: - one is missing spaces, - the other test certainly doesn't take 30 seconds anymore (I need about 2). URL: https://trac.sagemath.org/29918 Reported by: gh-kliem Ticket author(s): Jonathan Kliem Reviewer(s): Matthias Koeppe
-
Release Manager authored
This ticket aims to implement diameter computation method for weighted and unweighted undirected graphs, as given in [http://arxiv.org/abs/1803.04660] URL: https://trac.sagemath.org/29744 Reported by: gh-vipul79321 Ticket author(s): Vipul Gupta Reviewer(s): David Coudert
-
Release Manager authored
We implement the fraction field of Ore polynomial rings. The elements of the fraction field are represented by fractions of the form `denom^(-1) * num`. URL: https://trac.sagemath.org/29678 Reported by: caruso Ticket author(s): Xavier Caruso Reviewer(s): Travis Scrimshaw
-
Release Manager authored
This ticket changes `SAGE_ROOT`, so that it is always the absolute physical path, i.e. symbolic links are resolved. ----- As reported on [https://groups.google.com/d/msg/sage- release/kU5M1QVuQQY/4ClWRtgMBAAJ sage-release], when building Sage 9.1.beta9 from a path that is a symbolic link, the following test in `src/sage/env.py` fails: {{{ sage: env = {k:v for (k,v) in os.environ.items() if not k.startswith("SAGE_")} sage: from subprocess import check_output sage: cmd = "from sage.all import SAGE_ROOT, SAGE_LOCAL; print((SAGE_ROOT, SAGE_LOCAL))" sage: out = check_output([sys.executable, "-c", cmd], env=env).decode().strip() # long time sage: out == repr((SAGE_ROOT, SAGE_LOCAL)) # long time }}} The problem is that the left path in `out` is the symbolic link to Sage's root directory, whereas `SAGE_ROOT` is the absolute path without symbolic link. URL: https://trac.sagemath.org/29446 Reported by: gh-mwageringel Ticket author(s): Markus Wageringel Reviewer(s): Matthias Koeppe
-
Release Manager authored
This ticket adds some code based on the tiling solver class and dancing links solver to find a surrounding of a polyomino with copies of itself. An example is below: {{{ sage: from sage.combinat.tiling import Polyomino sage: H = Polyomino([(-1, 1), (-1, 4), (-1, 7), (0, 0), (0, 1), (0, 2), ....: (0, 3), (0, 4), (0, 5), (0, 6), (0, 7), (0, 8), (1, 1), (1, 2), ....: (1, 3), (1, 4), (1, 5), (1, 6), (1, 7), (1, 8), (2, 0), (2, 2), ....: (2, 3), (2, 5), (2, 6), (2, 8)]) sage: H.show2d() }}} [[Image(H.png)]] {{{ sage: %time solution = H.self_surrounding(10, ncpus=8) CPU times: user 1.69 s, sys: 1.08 s, total: 2.77 s Wall time: 3.85 s sage: G = sum([p.show2d() for p in solution], Graphics()) sage: G }}} [[Image(G.png)]] See: https://en.wikipedia.org/wiki/Heesch%27s_problem URL: https://trac.sagemath.org/29160 Reported by: slabbe Ticket author(s): Sébastien Labbé Reviewer(s): Travis Scrimshaw, Frédéric Chapoton
-
Release Manager authored
This ticket adds three methods to graphs to compute three variations of the Cheeger constant: - the "transition isoperimetric number" (`cheeger_constant`) - the edge isoperimetric number (`edge_isoperimetric_number`) - the vertex isoperimetric number or magnifying constant (`vertex_isoperimetric_number`) Note that the implemented Cheeger constant is also the **conductance** of the simple random walk on the graph. URL: https://trac.sagemath.org/21942 Reported by: pelegm Ticket author(s): Vincent Delecroix, David Coudert Reviewer(s): Peleg Michaeli, Frédéric Chapoton
-
Release Manager authored
`make dist` is currently broken. https://github.com/mkoeppe/sage/runs/848070855 {{{ Finished cloning Sage sources make[1]: Entering directory '/home/runner/work/sage/sage/build/make' env SAGE_INSTALL_FETCH_ONLY=yes make -B SAGERUNTIME= \ alabaster appnope arb babel bleach boost_cropped brial bzip2 cddlib c.... ... cd '/home/runner/work/sage/sage/build/pkgs/sage_conf' && . '/home/runner/work/sage/sage/src/bin/sage-env' && . '/home/runner/work/sage/sage/build/bin/sage-build-env-config' && sage- logger -p '/home/runner/work/sage/sage/build/pkgs/sage_conf/spkg- install' '/home/runner/work/sage/sage/logs/pkgs/sage_conf-none.log' [sage_conf-none] Installing [sage_conf-none] Error: Tried to use Sage's Python which was not yet installed. [sage_conf-none] If this was called from an spkg-install script for another [sage_conf-none] package you should add $(PYTHON) as a dependency in [sage_conf-none] build/pkgs/<pkg>/dependencies [sage_conf-none] Error: could not determine package name [sage_conf-none] ******************************************************* ************************* [sage_conf-none] Error installing [sage_conf-none] * }}} On this ticket we fix it and add a test run to GH Actions so that it does not get broken again. Related: - #29896 - make download URL: https://trac.sagemath.org/30088 Reported by: mkoeppe Ticket author(s): Matthias Koeppe Reviewer(s): Michael Orlitzky, John Palmieri
-