Skip to content

Commit

Permalink
Merge tag '10.2.rc2' into sage_all_modularization
Browse files Browse the repository at this point in the history
SageMath version 10.2.rc2, Release Date: 2023-11-12
  • Loading branch information
Matthias Koeppe committed Nov 12, 2023
2 parents 3b89a86 + cd205f6 commit 02427ff
Show file tree
Hide file tree
Showing 43 changed files with 116 additions and 79 deletions.
4 changes: 2 additions & 2 deletions CITATION.cff
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ title: SageMath
abstract: SageMath is a free open-source mathematics software system.
authors:
- name: "The SageMath Developers"
version: 10.2.rc1
version: 10.2.rc2
doi: 10.5281/zenodo.593563
date-released: 2023-11-10
date-released: 2023-11-12
repository-code: "https://github.com/sagemath/sage"
url: "https://www.sagemath.org/"
2 changes: 1 addition & 1 deletion VERSION.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
SageMath version 10.2.rc1, Release Date: 2023-11-10
SageMath version 10.2.rc2, Release Date: 2023-11-12
6 changes: 3 additions & 3 deletions build/pkgs/configure/checksums.ini
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
tarball=configure-VERSION.tar.gz
sha1=75fe450806e89ce82978f9167b664d3e403d9af9
md5=26211fca17d4d912cc11f22f353684b1
cksum=1423896271
sha1=4f00a9061f17c3290f63c3b6c374679fe902814e
md5=790cd7b7651eb0df70d4de1c933b95d2
cksum=759630704
2 changes: 1 addition & 1 deletion build/pkgs/configure/package-version.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
e349b0024996e4ac4878d70a0a34ae6b742e88c5
883e05f8ee0f97b25cf28c97859c615d9ea314f7
12 changes: 10 additions & 2 deletions build/pkgs/openblas/spkg-install.in
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,18 @@ fi

echo "Building OpenBLAS: $MAKE $OPENBLAS_CONFIGURE"

if $MAKE --version | grep -q -F '3.81'; then
# Work around https://savannah.gnu.org/bugs/?15919
OPENBLAS_CONFIGURE+=" MAKE_NB_JOBS=1"
else
# Do not emit "-j" options; use jobserver
OPENBLAS_CONFIGURE+=" MAKE_NB_JOBS=0"
fi

# Ensure USE_TLS=1 ; see https://github.com/sagemath/sage/issues/27256
OPENBLAS_CONFIGURE="$OPENBLAS_CONFIGURE USE_TLS=1"

if ! (sdh_make libs netlib shared $OPENBLAS_CONFIGURE); then
if ! (sdh_make libs $OPENBLAS_CONFIGURE && sdh_make netlib $OPENBLAS_CONFIGURE && sdh_make shared $OPENBLAS_CONFIGURE); then
if [[ $OPENBLAS_CONFIGURE == *"TARGET"* ]]; then
sdh_die "Error building OpenBLAS"
else
Expand All @@ -47,7 +55,7 @@ if ! (sdh_make libs netlib shared $OPENBLAS_CONFIGURE); then
echo "Error building OpenBLAS"
echo "Retrying building OpenBLAS: $MAKE $OPENBLAS_CONFIGURE"
sdh_make clean
sdh_make libs netlib shared $OPENBLAS_CONFIGURE
sdh_make libs $OPENBLAS_CONFIGURE && sdh_make netlib $OPENBLAS_CONFIGURE && sdh_make shared $OPENBLAS_CONFIGURE
fi
fi

Expand Down
2 changes: 1 addition & 1 deletion build/pkgs/sage_conf/install-requires.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
# This file is updated on every release by the sage-update-version script
sage-conf ~= 10.2rc1
sage-conf ~= 10.2rc2
2 changes: 1 addition & 1 deletion build/pkgs/sage_docbuild/install-requires.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
# This file is updated on every release by the sage-update-version script
sage-docbuild ~= 10.2rc1
sage-docbuild ~= 10.2rc2
2 changes: 1 addition & 1 deletion build/pkgs/sage_setup/install-requires.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
# This file is updated on every release by the sage-update-version script
sage-setup ~= 10.2rc1
sage-setup ~= 10.2rc2
2 changes: 1 addition & 1 deletion build/pkgs/sage_sws2rst/install-requires.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
# This file is updated on every release by the sage-update-version script
sage-sws2rst ~= 10.2rc1
sage-sws2rst ~= 10.2rc2
2 changes: 1 addition & 1 deletion build/pkgs/sagelib/install-requires.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
# This file is updated on every release by the sage-update-version script
sagemath-standard ~= 10.2rc1
sagemath-standard ~= 10.2rc2
2 changes: 1 addition & 1 deletion build/pkgs/sagemath_bliss/install-requires.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
# This file is updated on every release by the sage-update-version script
sagemath-bliss ~= 10.2rc1
sagemath-bliss ~= 10.2rc2
2 changes: 1 addition & 1 deletion build/pkgs/sagemath_categories/install-requires.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
# This file is updated on every release by the sage-update-version script
sagemath-categories ~= 10.2rc1
sagemath-categories ~= 10.2rc2
2 changes: 1 addition & 1 deletion build/pkgs/sagemath_coxeter3/install-requires.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
# This file is updated on every release by the sage-update-version script
sagemath-coxeter3 ~= 10.2rc1
sagemath-coxeter3 ~= 10.2rc2
2 changes: 1 addition & 1 deletion build/pkgs/sagemath_environment/install-requires.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
# This file is updated on every release by the sage-update-version script
sagemath-environment ~= 10.2rc1
sagemath-environment ~= 10.2rc2
2 changes: 1 addition & 1 deletion build/pkgs/sagemath_mcqd/install-requires.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
# This file is updated on every release by the sage-update-version script
sagemath-mcqd ~= 10.2rc1
sagemath-mcqd ~= 10.2rc2
2 changes: 1 addition & 1 deletion build/pkgs/sagemath_meataxe/install-requires.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
# This file is updated on every release by the sage-update-version script
sagemath-meataxe ~= 10.2rc1
sagemath-meataxe ~= 10.2rc2
2 changes: 1 addition & 1 deletion build/pkgs/sagemath_objects/install-requires.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
# This file is updated on every release by the sage-update-version script
sagemath-objects ~= 10.2rc1
sagemath-objects ~= 10.2rc2
2 changes: 1 addition & 1 deletion build/pkgs/sagemath_repl/install-requires.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
# This file is updated on every release by the sage-update-version script
sagemath-repl ~= 10.2rc1
sagemath-repl ~= 10.2rc2
2 changes: 1 addition & 1 deletion build/pkgs/sagemath_sirocco/install-requires.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
# This file is updated on every release by the sage-update-version script
sagemath-sirocco ~= 10.2rc1
sagemath-sirocco ~= 10.2rc2
2 changes: 1 addition & 1 deletion build/pkgs/sagemath_tdlib/install-requires.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
# This file is updated on every release by the sage-update-version script
sagemath-tdlib ~= 10.2rc1
sagemath-tdlib ~= 10.2rc2
2 changes: 1 addition & 1 deletion pkgs/sage-conf/VERSION.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
10.2.rc1
10.2.rc2
2 changes: 1 addition & 1 deletion pkgs/sage-conf_conda/VERSION.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
10.2.rc1
10.2.rc2
2 changes: 1 addition & 1 deletion pkgs/sage-conf_pypi/VERSION.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
10.2.rc1
10.2.rc2
2 changes: 1 addition & 1 deletion pkgs/sage-docbuild/VERSION.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
10.2.rc1
10.2.rc2
2 changes: 1 addition & 1 deletion pkgs/sage-setup/VERSION.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
10.2.rc1
10.2.rc2
2 changes: 1 addition & 1 deletion pkgs/sage-sws2rst/VERSION.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
10.2.rc1
10.2.rc2
2 changes: 1 addition & 1 deletion pkgs/sagemath-bliss/VERSION.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
10.2.rc1
10.2.rc2
2 changes: 1 addition & 1 deletion pkgs/sagemath-categories/VERSION.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
10.2.rc1
10.2.rc2
2 changes: 1 addition & 1 deletion pkgs/sagemath-coxeter3/VERSION.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
10.2.rc1
10.2.rc2
2 changes: 1 addition & 1 deletion pkgs/sagemath-environment/VERSION.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
10.2.rc1
10.2.rc2
2 changes: 1 addition & 1 deletion pkgs/sagemath-mcqd/VERSION.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
10.2.rc1
10.2.rc2
2 changes: 1 addition & 1 deletion pkgs/sagemath-meataxe/VERSION.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
10.2.rc1
10.2.rc2
2 changes: 1 addition & 1 deletion pkgs/sagemath-objects/VERSION.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
10.2.rc1
10.2.rc2
2 changes: 1 addition & 1 deletion pkgs/sagemath-repl/VERSION.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
10.2.rc1
10.2.rc2
2 changes: 1 addition & 1 deletion pkgs/sagemath-sirocco/VERSION.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
10.2.rc1
10.2.rc2
2 changes: 1 addition & 1 deletion pkgs/sagemath-tdlib/VERSION.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
10.2.rc1
10.2.rc2
2 changes: 1 addition & 1 deletion src/VERSION.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
10.2.rc1
10.2.rc2
6 changes: 3 additions & 3 deletions src/bin/sage-version.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@
# which stops "setup.py develop" from rewriting it as a Python file.
:
# This file is auto-generated by the sage-update-version script, do not edit!
SAGE_VERSION='10.2.rc1'
SAGE_RELEASE_DATE='2023-11-10'
SAGE_VERSION_BANNER='SageMath version 10.2.rc1, Release Date: 2023-11-10'
SAGE_VERSION='10.2.rc2'
SAGE_RELEASE_DATE='2023-11-12'
SAGE_VERSION_BANNER='SageMath version 10.2.rc2, Release Date: 2023-11-12'
4 changes: 4 additions & 0 deletions src/doc/en/reference/references/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1373,6 +1373,10 @@ REFERENCES:
for closed Riemannian manifolds*, Ann. of Math. (2) 45 (1944),
747–752.
.. [CP2023] \M. Cati and D.V. Pasechnik.
*Implementing Hadamard Matrices in SageMath*.
Preprint, :arxiv:`2306.16812`, (2023).
.. [CQ2019] \A. Cassella and C. Quadrelli.
*Right-angled Artin groups and enhanced Koszul properties*.
Preprint, :arxiv:`1907.03824`, (2019).
Expand Down
22 changes: 13 additions & 9 deletions src/sage/combinat/matrices/hadamard_matrix.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,21 +31,23 @@
of `4`.
The module below implements constructions of Hadamard and skew Hadamard matrices
for all known orders `\le 1000`, plus some more greater than `1000`. It also
for all known orders `\le 1200`, plus some more greater than `1200`. It also
allows you to pull a Hadamard matrix from the database at [SloaHada]_.
The following code will test that a construction for all known orders `\le 4k`
is implemented. The assertion above can be verified by setting ``k=250``
is implemented. The assertion above can be verified by setting ``k=300``
(note that it will take a long time to run)::
sage: from sage.combinat.matrices.hadamard_matrix import (hadamard_matrix,
....: skew_hadamard_matrix, is_hadamard_matrix,
....: is_skew_hadamard_matrix)
sage: k = 20
sage: unknown_hadamard = [668, 716, 892]
sage: unknown_hadamard = [668, 716, 892, 1132]
sage: unknown_skew_hadamard = [356, 404, 428, 476, 596, 612, 668, 708, 712, 716,
....: 764, 772, 804, 808, 820, 836, 856, 892, 900, 916,
....: 932, 940, 952, 980, 996]
....: 932, 940, 952, 980, 996, 1004, 1012, 1028, 1036,
....: 1044, 1060, 1076, 1100, 1108, 1132, 1140, 1148,
....: 1156, 1180, 1192, 1196]
sage: for n in range(1, k+1):
....: if 4*n not in unknown_hadamard:
....: H = hadamard_matrix(4*n, check=False)
Expand All @@ -58,7 +60,7 @@
- David Joyner (2009-05-17): initial version
- Matteo Cati (2023-03-18): implemented more constructions for Hadamard and skew
Hadamard matrices, to cover all known orders up to 1000.
Hadamard matrices, to cover all known orders up to 1200.
REFERENCES:
Expand All @@ -67,6 +69,8 @@
- [HadaWiki]_
- [Hora]_
- [CP2023]_
"""

# *****************************************************************************
Expand Down Expand Up @@ -1641,8 +1645,8 @@ def hadamard_matrix(n, existence=False, check=True):
r"""
Tries to construct a Hadamard matrix using the available methods.
Currently all orders `\le 1000` for which a construction is
known are implemented. For `n > 1000`, only some orders are available.
Currently all orders `\le 1200` for which a construction is
known are implemented. For `n > 1200`, only some orders are available.
INPUT:
Expand Down Expand Up @@ -3055,8 +3059,8 @@ def skew_hadamard_matrix(n, existence=False, skew_normalize=True, check=True):
Tries to construct a skew Hadamard matrix.
A Hadamard matrix `H` is called skew if `H=S-I`, for `I` the identity matrix
and `-S=S^\top`. Currently all orders `\le 1000` for which a construction is
known are implemented. For `n > 1000`, only some orders are available.
and `-S=S^\top`. Currently all orders `\le 1200` for which a construction is
known are implemented. For `n > 1200`, only some orders are available.
INPUT:
Expand Down
2 changes: 1 addition & 1 deletion src/sage/combinat/root_system/coxeter_group.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
from sage.combinat.root_system.cartan_type import CartanType
from sage.misc.lazy_import import lazy_import

lazy_import('from sage.combinat.root_system.reflection_group_real', 'ReflectionGroup')
lazy_import('sage.combinat.root_system.reflection_group_real', 'ReflectionGroup')
lazy_import('sage.combinat.root_system.weyl_group', 'WeylGroup')


Expand Down
65 changes: 43 additions & 22 deletions src/sage/misc/latex.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
import random
import re
import shutil
from subprocess import call, PIPE
from subprocess import call, run, PIPE
from tempfile import TemporaryDirectory

from sage.misc.cachefunc import cached_function, cached_method
Expand Down Expand Up @@ -1923,27 +1923,48 @@ def view(objects, title='Sage', debug=False, sep='', tiny=False,
if pdflatex or (viewer == "pdf" and engine == "latex"):
engine = "pdflatex"
# command line or notebook with viewer
with TemporaryDirectory() as tmp:
tex_file = os.path.join(tmp, "sage.tex")
with open(tex_file, 'w') as file:
file.write(s)
suffix = _run_latex_(tex_file, debug=debug, engine=engine, png=False)
if suffix == "pdf":
from sage.misc.viewer import pdf_viewer
viewer = pdf_viewer()
elif suffix == "dvi":
from sage.misc.viewer import dvi_viewer
viewer = dvi_viewer()
else:
print("Latex error")
return
output_file = os.path.join(tmp, "sage." + suffix)
# this should get changed if we switch the stuff in misc.viewer to
# producing lists
if debug:
print('viewer: "{}"'.format(viewer))
call('%s %s' % (viewer, output_file), shell=True,
stdout=PIPE, stderr=PIPE)

# We can't automatically delete the temporary file in this case
# because we need it to live at least long enough for the viewer
# to open it. Since we're launching the viewer asynchronously,
# that would be tricky.
tmp = TemporaryDirectory()

tex_file = os.path.join(tmp.name, "sage.tex")
with open(tex_file, 'w') as file:
file.write(s)
suffix = _run_latex_(tex_file, debug=debug, engine=engine, png=False)
if suffix == "pdf":
from sage.misc.viewer import pdf_viewer
viewer = pdf_viewer()
elif suffix == "dvi":
from sage.misc.viewer import dvi_viewer
viewer = dvi_viewer()
else:
print("Latex error")
tmp.cleanup()
return
output_file = os.path.join(tmp.name, "sage." + suffix)
# this should get changed if we switch the stuff in misc.viewer to
# producing lists
if debug:
print('viewer: "{}"'.format(viewer))

# Return immediately but only clean up the temporary file after
# the viewer has closed. This function is synchronous and waits
# for the process to complete...
def run_viewer():
run([viewer, output_file], capture_output=True)
tmp.cleanup()

# ...but we execute it asynchronously so that view() completes
# immediately. The "daemon" flag is important because, without it,
# sage won't quit until the viewer does.
from threading import Thread
t = Thread(target=run_viewer)
t.daemon = True
t.start()

return


Expand Down
6 changes: 3 additions & 3 deletions src/sage/version.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Sage version information for Python scripts
# This file is auto-generated by the sage-update-version script, do not edit!
version = '10.2.rc1'
date = '2023-11-10'
banner = 'SageMath version 10.2.rc1, Release Date: 2023-11-10'
version = '10.2.rc2'
date = '2023-11-12'
banner = 'SageMath version 10.2.rc2, Release Date: 2023-11-12'

0 comments on commit 02427ff

Please sign in to comment.