1. 28 Jul, 2020 8 commits
  2. 25 Jul, 2020 1 commit
  3. 23 Jul, 2020 9 commits
    • Release Manager's avatar
      Trac #30131: 2 internet doctests failing in bibd.py · e41d396f
      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
      e41d396f
    • Release Manager's avatar
      Trac #30130: get rid of comparison using _cmp_ · fc9a0a02
      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
      fc9a0a02
    • Release Manager's avatar
      Trac #30129: Fix broken test for SAGE_ROOT from #29111 · 3501a0c6
      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
      3501a0c6
    • Release Manager's avatar
      Trac #30128: Replace bashism in src/bin/sage-env · 07943942
      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
      07943942
    • Release Manager's avatar
      Trac #30126: Categories of connected graphs and connected simplicial complexes · 39707fa5
      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
      39707fa5
    • Release Manager's avatar
      Trac #30122: Fix maxima/ecl unicode handling · 55047da0
      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
      55047da0
    • Release Manager's avatar
      Trac #30109: Remove mentions of packages KASH and Macaulay2 from tutorials · 1f7ed72c
      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
      1f7ed72c
    • Release Manager's avatar
      Trac #30106: sage.libs.ecl: Fix unicode handling · 8bac45e6
      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
      8bac45e6
    • Release Manager's avatar
      Trac #30085: Implemented constructions for Kasami codes · 147309da
      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
      147309da
  4. 22 Jul, 2020 9 commits
    • Release Manager's avatar
      Trac #29922: sage.doctest: Make imports more specific; make global environment... · f26319d3
      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
      f26319d3
    • Release Manager's avatar
      Trac #29908: Test method `is_combinatorially_isomorphic` · caa2305f
      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
      caa2305f
    • Release Manager's avatar
      Trac #29901: .github/workflows/: Test all optional packages, add workflow for... · 34f7558e
      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
      34f7558e
    • Release Manager's avatar
      Trac #29899: Two bugs with dilation · 0bc64eeb
      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
      0bc64eeb
    • Release Manager's avatar
      Trac #29882: Add tutorial-like docstring material on RecursivelyEnumeratedSet · 7ac15bd9
      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
      7ac15bd9
    • Release Manager's avatar
      Trac #29861: Upgrade Cython to 0.29.21 · 8a7d873f
      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
      8a7d873f
    • Release Manager's avatar
      Trac #29649: spkg-configure.m4 for zn_poly · 6195026c
      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
      6195026c
    • Release Manager's avatar
      Trac #28778: Generalize pushout of number fields with compatible embeddings · 8dd15d34
      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
      8dd15d34
    • Release Manager's avatar
      Trac #30118: Handle SAGE_CHECK_PACKAGES in build/make/Makefile.in, not sage-spkg · 14e97a89
      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
      14e97a89
  5. 19 Jul, 2020 2 commits
  6. 18 Jul, 2020 1 commit
  7. 17 Jul, 2020 3 commits
  8. 16 Jul, 2020 5 commits
  9. 15 Jul, 2020 2 commits
    • Release Manager's avatar
      Trac #29962: Allow fuzzing of doctests · aa834092
      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
      aa834092
    • Release Manager's avatar
      Trac #29918: Run test suite for gale transform · 3a0ebe22
      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
      3a0ebe22