From 8844bedf1f439261ae9280c6931702a98d2d15be Mon Sep 17 00:00:00 2001 From: cxzhong Date: Tue, 14 Apr 2026 21:27:15 +0800 Subject: [PATCH] Upgrade to Maxima 5.49 and ECL 26.3.27 - Upgrade Maxima to 5.49 and ECL to 26.3.27 - Enhance robustness of *maxima-objdir* directory creation in maxima_lib.py - Add warnings for fallback to ecl_lib in meson.build to improve ECL build reliability - Format meson.build - Align ECL first_env to 65536 bytes to fix flaky mprotect EINVAL crash (ECL 26.3.27 changed the main thread env from mmap-allocated to a static struct; mprotect() requires page alignment, which mmap() guaranteed but a static variable does not) Co-authored-by: arojas --- .github/workflows/build.yml | 8 +- build/pkgs/ecl/checksums.ini | 4 +- build/pkgs/ecl/package-version.txt | 2 +- ...8f741f69fd736f020b7fe4d3afc33e60ae6a.patch | 171 ------------------ ...ed9777c43df20021788d2a4bfc0e9c6b4566.patch | 14 -- .../patches/first_env_page_alignment.patch | 24 +++ build/pkgs/ecl/patches/write_error.patch | 11 +- build/pkgs/ecl/spkg-configure.m4 | 2 +- build/pkgs/maxima/checksums.ini | 4 +- build/pkgs/maxima/package-version.txt | 2 +- build/pkgs/maxima/spkg-configure.m4 | 2 +- environment-3.12-linux-aarch64.yml | 56 +++--- environment-3.12-linux.yml | 58 +++--- environment-3.12-macos-x86_64.yml | 48 ++--- environment-3.12-macos.yml | 48 ++--- environment-3.12-win.yml | 58 +++--- environment-3.13-linux-aarch64.yml | 58 +++--- environment-3.13-linux.yml | 58 +++--- environment-3.13-macos-x86_64.yml | 48 ++--- environment-3.13-macos.yml | 48 ++--- environment-3.13-win.yml | 58 +++--- environment-3.14-linux-aarch64.yml | 58 +++--- environment-3.14-linux.yml | 58 +++--- environment-3.14-macos-x86_64.yml | 48 ++--- environment-3.14-macos.yml | 48 ++--- environment-3.14-win.yml | 58 +++--- src/doc/en/constructions/calculus.rst | 5 +- src/doc/zh/constructions/calculus.rst | 5 +- src/sage/calculus/calculus.py | 6 +- src/sage/calculus/test_sympy.py | 2 +- src/sage/calculus/tests.py | 2 +- src/sage/functions/bessel.py | 6 +- src/sage/interfaces/maxima.py | 33 ++-- src/sage/interfaces/maxima_abstract.py | 38 ++-- src/sage/interfaces/maxima_lib.py | 27 ++- src/sage/libs/meson.build | 35 +++- src/sage/manifolds/chart.py | 6 +- src/sage/manifolds/continuous_map.py | 10 +- .../differentiable/automorphismfield_group.py | 3 +- src/sage/manifolds/differentiable/curve.py | 2 +- src/sage/manifolds/differentiable/metric.py | 8 +- .../pseudo_riemannian_submanifold.py | 3 +- src/sage/manifolds/utilities.py | 16 +- src/sage/matrix/matrix2.pyx | 4 +- src/sage/misc/functional.py | 6 +- src/sage/symbolic/expression.pyx | 8 +- src/sage/symbolic/integration/external.py | 7 +- src/sage/symbolic/integration/integral.py | 9 +- src/sage/symbolic/relation.py | 14 -- .../calculus_doctest.py | 2 +- subprojects/maxima.wrap | 8 +- .../packagefiles/maxima/configure.patch | 2 +- subprojects/packagefiles/maxima/infodir.patch | 2 +- .../maxima/maxima_prefix_bin.patch | 10 +- tools/update-conda.py | 4 +- 55 files changed, 596 insertions(+), 739 deletions(-) delete mode 100644 build/pkgs/ecl/patches/1aec8f741f69fd736f020b7fe4d3afc33e60ae6a.patch delete mode 100644 build/pkgs/ecl/patches/f69ded9777c43df20021788d2a4bfc0e9c6b4566.patch create mode 100644 build/pkgs/ecl/patches/first_env_page_alignment.patch diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0da3b074c3a..aec51a9d9b1 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -29,7 +29,7 @@ concurrency: # # The three workflows: # -# - build.yml (with jobs test-new, test-long), +# - build.yml (with job test-long), # - doc-build.yml, # - doc-build-pdf.yml # @@ -50,7 +50,7 @@ concurrency: # This baseline is transparently improved by our use of the GH Actions cache, # see https://docs.docker.com/build/ci/github-actions/cache/#cache-backend-api. # -# Jobs test-long is only started after test-new completed; +# Job test-long builds Sage and runs tests; # but the workflows doc-build.yml and doc-build-pdf.yml are started independently. # # - When nothing is cached and the 3 workflows are launched in parallel, @@ -156,7 +156,7 @@ jobs: NUMPROC=6 USE_MAKEFLAGS=-k V=0 SAGE_NUM_THREADS=4 --output-sync=recurse TARGETS_PRE=build/make/Makefile - TARGETS=${{ needs.test-new.outputs.build_targets }} + TARGETS=build - name: Start container id: container @@ -273,7 +273,7 @@ jobs: NUMPROC=6 USE_MAKEFLAGS=-k V=0 SAGE_NUM_THREADS=4 --output-sync=recurse TARGETS_PRE=build/make/Makefile - TARGETS=${{ needs.test-new.outputs.build_targets }} + TARGETS=build - name: Start container id: container diff --git a/build/pkgs/ecl/checksums.ini b/build/pkgs/ecl/checksums.ini index 637bca10244..e57f69ab6d1 100644 --- a/build/pkgs/ecl/checksums.ini +++ b/build/pkgs/ecl/checksums.ini @@ -1,4 +1,4 @@ tarball=ecl-VERSION.tgz -sha1=b1641a3ecff85133bd0bd324bd0b611fb40f75cb -sha256=e4ea65bb1861e0e495386bfa8bc673bd014e96d3cf9d91e9038f91435cbe622b +sha1=fba3b9f358f38634d553540708d2409ed5c3562a +sha256=416d5707bf11d2b3d8d33d6791419a786e4cc59ac0cc3ec505ee59b51a9f5c9a upstream_url=https://common-lisp.net/project/ecl/static/files/release/ecl-VERSION.tgz diff --git a/build/pkgs/ecl/package-version.txt b/build/pkgs/ecl/package-version.txt index f7f0d3a615c..84df5ab6743 100644 --- a/build/pkgs/ecl/package-version.txt +++ b/build/pkgs/ecl/package-version.txt @@ -1 +1 @@ -24.5.10 +26.3.27 diff --git a/build/pkgs/ecl/patches/1aec8f741f69fd736f020b7fe4d3afc33e60ae6a.patch b/build/pkgs/ecl/patches/1aec8f741f69fd736f020b7fe4d3afc33e60ae6a.patch deleted file mode 100644 index 5e5287b1a61..00000000000 --- a/build/pkgs/ecl/patches/1aec8f741f69fd736f020b7fe4d3afc33e60ae6a.patch +++ /dev/null @@ -1,171 +0,0 @@ -diff --git a/src/c/backq.d b/src/c/backq.d -index 973d5b9227af057d79a737f081d7d1064aded678..02c3cfbd44789cd4ac30a120704da4d92a6b47b7 100644 ---- a/src/c/backq.d -+++ b/src/c/backq.d -@@ -259,5 +259,5 @@ quasiquote_macro(cl_object whole, cl_object env) - void - init_backq(void) - { -- ecl_def_c_macro(@'si::quasiquote', quasiquote_macro, 2); -+ ecl_def_c_macro(@'si::quasiquote', (cl_objectfn_fixed)quasiquote_macro, 2); - } -diff --git a/src/c/cinit.d b/src/c/cinit.d -index 54ac36abbfe8207c869ebd135a83daa6ec6e4f15..8f81d28d462a342857a0d5cf9810f7ce9a80e00a 100644 ---- a/src/c/cinit.d -+++ b/src/c/cinit.d -@@ -188,7 +188,7 @@ main(int argc, char **args) - #endif - ECL_SET(@'*features*', features); - top_level = _ecl_intern("TOP-LEVEL", cl_core.system_package); -- ecl_def_c_function(top_level, si_simple_toplevel, 0); -+ ecl_def_c_function(top_level, (cl_objectfn_fixed)si_simple_toplevel, 0); - _ecl_funcall1(top_level); - return(0); - } -diff --git a/src/c/dpp.c b/src/c/dpp.c -index 462361f9fc7c4ed4cebab9c30a8f2c4b3f576ad3..82c86fedfe9cc2f4dfc22ae3e8b58e55cec84d8d 100644 ---- a/src/c/dpp.c -+++ b/src/c/dpp.c -@@ -85,10 +85,7 @@ - #include - #include - #include -- --#if defined(_MSC_VER) && (_MSC_VER >= 1800) - #include --#endif - - #define DPP - #include -@@ -106,13 +103,6 @@ - #define TRUE 1 - #define FALSE 0 - --#ifndef __cplusplus --#if ! ( defined(__bool_true_false_are_defined) \ -- &&__bool_true_false_are_defined ) --typedef int bool; --#endif --#endif -- - FILE *in, *out; - - char filename[BUFSIZ]; -diff --git a/src/c/file.d b/src/c/file.d -index 6d0d4785bea79f677d1e82f82df713249570c5f0..798b0a37faf690f372266ca8b4fadfe0dbf61421 100644 ---- a/src/c/file.d -+++ b/src/c/file.d -@@ -5166,7 +5166,7 @@ ecl_unread_char(ecl_character c, cl_object strm) - stream_dispatch_table(strm)->unread_char(strm, c); - } - --bool -+int - ecl_listen_stream(cl_object strm) - { - return stream_dispatch_table(strm)->listen(strm); -diff --git a/src/c/macros.d b/src/c/macros.d -index 1a356241ee53741b0f2db71e92311dce474bdc45..d1cf7002216664bfb08012e993099abf254e93f1 100644 ---- a/src/c/macros.d -+++ b/src/c/macros.d -@@ -179,7 +179,7 @@ void - init_macros(void) - { - ECL_SET(@'*macroexpand-hook*', @'funcall'); -- ecl_def_c_macro(@'or', or_macro, 2); -- ecl_def_c_macro(@'and', and_macro, 2); -- ecl_def_c_macro(@'when', when_macro, 2); -+ ecl_def_c_macro(@'or', (cl_objectfn_fixed)or_macro, 2); -+ ecl_def_c_macro(@'and', (cl_objectfn_fixed)and_macro, 2); -+ ecl_def_c_macro(@'when', (cl_objectfn_fixed)when_macro, 2); - } -diff --git a/src/c/read.d b/src/c/read.d -index 4fba0b93bde1a1434dffd2e5b421404774641401..356b94826433584133494621432d7b8367eaec11 100644 ---- a/src/c/read.d -+++ b/src/c/read.d -@@ -2019,8 +2019,8 @@ extra_argument(int c, cl_object stream, cl_object d) - } - - --#define make_cf2(f) ecl_make_cfun((f), ECL_NIL, NULL, 2) --#define make_cf3(f) ecl_make_cfun((f), ECL_NIL, NULL, 3) -+#define make_cf2(f) ecl_make_cfun((cl_objectfn_fixed)(f), ECL_NIL, NULL, 2) -+#define make_cf3(f) ecl_make_cfun((cl_objectfn_fixed)(f), ECL_NIL, NULL, 3) - - void - init_read(void) -diff --git a/src/c/tcp.d b/src/c/tcp.d -index f26275516e320363c72ab19f5a3f5f3c0d5be65a..8325b131db819bbfd673a07574436e8a5740a7af 100644 ---- a/src/c/tcp.d -+++ b/src/c/tcp.d -@@ -32,6 +32,7 @@ extern int errno; - #include - #include - #include -+#include - #endif - #include - -@@ -86,10 +87,6 @@ int connect_to_server(char *host, int port) - struct sockaddr *addr; /* address to connect to */ - struct hostent *host_ptr; - int addrlen; /* length of address */ --#if !defined(ECL_MS_WINDOWS_HOST) -- extern char *getenv(); -- extern struct hostent *gethostbyname(); --#endif - int fd; /* Network socket */ - - INIT_TCP -diff --git a/src/h/ecl.h b/src/h/ecl.h -index 42e7b1dc2f3e701f85009dd3f13797f18c0c09db..ee1fca141717954f15ae349ad7689bf8132959f1 100644 ---- a/src/h/ecl.h -+++ b/src/h/ecl.h -@@ -22,6 +22,7 @@ - #include /* va_list */ - #include /* setjmp and buffers */ - #include /* FILE */ -+#include - /* Microsoft VC++ does not have va_copy() */ - #if ( defined(_MSC_VER) && (_MSC_VER < 1800) ) || !defined(va_copy) - #define va_copy(dst, src) \ -diff --git a/src/h/external.h b/src/h/external.h -index a0276837dbfe6494071a032d874b30800008d89d..99b924344830d9c89378c50d3d428c305e93b601 100755 ---- a/src/h/external.h -+++ b/src/h/external.h -@@ -744,7 +744,7 @@ extern ECL_API void ecl_force_output(cl_object strm); - extern ECL_API void ecl_finish_output(cl_object strm); - extern ECL_API void ecl_clear_input(cl_object strm); - extern ECL_API void ecl_clear_output(cl_object strm); --extern ECL_API bool ecl_listen_stream(cl_object strm); -+extern ECL_API int ecl_listen_stream(cl_object strm); - extern ECL_API cl_object ecl_file_position(cl_object strm); - extern ECL_API cl_object ecl_file_position_set(cl_object strm, cl_object disp); - extern ECL_API cl_object ecl_file_length(cl_object strm); -diff --git a/src/h/internal.h b/src/h/internal.h -index 2c9bec5c36a701efe0c0036d7e1b421d13397db5..b6d64e0ccc74279012ebd088665ef20190af6d65 100755 ---- a/src/h/internal.h -+++ b/src/h/internal.h -@@ -468,7 +468,7 @@ extern void ecl_clear_bignum_registers(cl_env_ptr env); - - /* threads/mutex.d */ - --extern cl_object si_mutex_timeout(); -+extern cl_object si_mutex_timeout(cl_object process, cl_object lock, cl_object timeout); - - /* print.d */ - -diff --git a/src/h/object.h b/src/h/object.h -index 1f9b581a22fbec2eab9bf8d24b9507714618f92a..bbf82bdb46f6ca59af35948ffca744cd93ee147d 100644 ---- a/src/h/object.h -+++ b/src/h/object.h -@@ -23,9 +23,6 @@ extern "C" { - #define TRUE 1 /* boolean true value */ - #define FALSE 0 /* boolean false value */ - --#if !defined(__cplusplus) && !defined(bool) --typedef int bool; --#endif - typedef unsigned char byte; - - /* diff --git a/build/pkgs/ecl/patches/f69ded9777c43df20021788d2a4bfc0e9c6b4566.patch b/build/pkgs/ecl/patches/f69ded9777c43df20021788d2a4bfc0e9c6b4566.patch deleted file mode 100644 index 1bc47ff6a5b..00000000000 --- a/build/pkgs/ecl/patches/f69ded9777c43df20021788d2a4bfc0e9c6b4566.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/src/c/ffi/libraries.d b/src/c/ffi/libraries.d -index 9973ae457181db24a128496faa73284bfd484809..098cd483d41c32f2e93eccbf25f3f9276a424016 100644 ---- a/src/c/ffi/libraries.d -+++ b/src/c/ffi/libraries.d -@@ -44,9 +44,6 @@ - # ifdef HAVE_DLFCN_H - # include - # define INIT_PREFIX "init_fas_" --# ifdef bool --# undef bool --# endif - # endif - # ifdef HAVE_MACH_O_DYLD_H - # include diff --git a/build/pkgs/ecl/patches/first_env_page_alignment.patch b/build/pkgs/ecl/patches/first_env_page_alignment.patch new file mode 100644 index 00000000000..020e56b1510 --- /dev/null +++ b/build/pkgs/ecl/patches/first_env_page_alignment.patch @@ -0,0 +1,24 @@ +ECL 26.3.27 changed the main thread environment from mmap-allocated +(page-aligned) to a static struct first_env. The ECL_USE_MPROTECT fast +interrupt dispatch calls mprotect() on this struct, which requires the +address to be page-aligned. The unaligned static variable causes +mprotect() to fail with EINVAL when a signal arrives while interrupts +are disabled (e.g. inside ecl_cons), crashing with "Unable to mprotect +environment". Align first_env to 65536 bytes (covers 4K/16K/64K pages). +See https://github.com/sagemath/sage/pulls/41879 + +diff --git a/src/c/main.d b/src/c/main.d +--- a/src/c/main.d ++++ b/src/c/main.d +@@ -49,7 +49,12 @@ + + const char *ecl_self; +-static struct cl_env_struct first_env; ++/* Align to page boundary: ECL_USE_MPROTECT calls mprotect() on this ++ struct for fast interrupt dispatch, which requires a page-aligned ++ address. Use 65536 to cover all common page sizes (4K/16K/64K). ++ Prior ECL versions allocated this via mmap() which is always ++ page-aligned; this was changed to a static variable in 26.3.27. */ ++static struct cl_env_struct __attribute__((aligned(65536))) first_env; + + /************************ GLOBAL INITIALIZATION ***********************/ diff --git a/build/pkgs/ecl/patches/write_error.patch b/build/pkgs/ecl/patches/write_error.patch index 769187fc9ef..47a60a7497a 100644 --- a/build/pkgs/ecl/patches/write_error.patch +++ b/build/pkgs/ecl/patches/write_error.patch @@ -1,8 +1,7 @@ -diff --git a/src/c/file.d b/src/c/file.d -index 2d15d50f8..199f24c4f 100755 ---- a/src/c/file.d -+++ b/src/c/file.d -@@ -3536,7 +3536,8 @@ output_stream_write_byte8(cl_object strm, unsigned char *c, cl_index n) +diff --git a/src/c/streams/strm_os.d b/src/c/streams/strm_os.d +--- a/src/c/streams/strm_os.d ++++ b/src/c/streams/strm_os.d +@@ -784,7 +784,8 @@ output_stream_write_byte8(cl_object strm, unsigned char *c, cl_index n) ecl_disable_interrupts(); do { out = fwrite(c, sizeof(char), n, IO_STREAM_FILE(strm)); @@ -12,6 +11,4 @@ index 2d15d50f8..199f24c4f 100755 ecl_enable_interrupts(); return out; } --- -2.20.1 diff --git a/build/pkgs/ecl/spkg-configure.m4 b/build/pkgs/ecl/spkg-configure.m4 index 7dbcfa6377b..7b9c11668bd 100644 --- a/build/pkgs/ecl/spkg-configure.m4 +++ b/build/pkgs/ecl/spkg-configure.m4 @@ -15,7 +15,7 @@ SAGE_SPKG_CONFIGURE([ecl], [ AC_RUN_IFELSE([AC_LANG_PROGRAM([[ #include ]],[[ - if (ECL_VERSION_NUMBER < 210201) { return 1; } + if (ECL_VERSION_NUMBER < 240510) { return 1; } ]])], [ sage_spkg_install_ecl=no diff --git a/build/pkgs/maxima/checksums.ini b/build/pkgs/maxima/checksums.ini index 2b0e2828df0..f5590e9d2d5 100644 --- a/build/pkgs/maxima/checksums.ini +++ b/build/pkgs/maxima/checksums.ini @@ -1,4 +1,4 @@ tarball=maxima-VERSION.tar.gz -sha1=fff13f4c010e6daab65fbc8a6895c2bd79925177 -sha256=9104021b24fd53e8c03a983509cb42e937a925e8c0c85c335d7709a14fd40f7a +sha1=d487e477030cfad6b3ab0ed2e2fcc88e553ce1fd +sha256=6d401a4aa307cd3a5a9cadca4fa96c4ef0e24ff95a18bb6a8f803e3d2114adee upstream_url=https://sourceforge.net/projects/maxima/files/Maxima-source/VERSION-source/maxima-VERSION.tar.gz/download diff --git a/build/pkgs/maxima/package-version.txt b/build/pkgs/maxima/package-version.txt index 5ddc1d087c6..357e1c72e86 100644 --- a/build/pkgs/maxima/package-version.txt +++ b/build/pkgs/maxima/package-version.txt @@ -1 +1 @@ -5.47.0 +5.49.0 diff --git a/build/pkgs/maxima/spkg-configure.m4 b/build/pkgs/maxima/spkg-configure.m4 index 76c0373205a..0aff2fbb5cf 100644 --- a/build/pkgs/maxima/spkg-configure.m4 +++ b/build/pkgs/maxima/spkg-configure.m4 @@ -1,5 +1,5 @@ SAGE_SPKG_CONFIGURE([maxima], [ - m4_pushdef([SAGE_MAXIMA_MINVER],[5.45.0])dnl this version and higher allowed + m4_pushdef([SAGE_MAXIMA_MINVER],[5.48.0])dnl this version and higher allowed SAGE_SPKG_DEPCHECK([ecl], [ dnl First check for the "maxima" executable in the user's PATH, because dnl we still use pexpect to communicate with it in a few places. diff --git a/environment-3.12-linux-aarch64.yml b/environment-3.12-linux-aarch64.yml index b9f268ae1bb..5f9bd9ddb13 100644 --- a/environment-3.12-linux-aarch64.yml +++ b/environment-3.12-linux-aarch64.yml @@ -1,7 +1,7 @@ name: sage-dev # Generated by conda-lock. # platform: linux-aarch64 -# input_hash: e8ef23b7b1045302099397c157d7615f96c9e6da01c38db29846318f5948e05a +# input_hash: 9d106e0480b735ffe4c5d978d36ea842f94452c75b506d5f9b5909eb2d3114f7 channels: - conda-forge @@ -16,7 +16,7 @@ dependencies: - archspec=0.2.5=pyhd8ed1ab_0 - arpack=3.9.1=nompi_h6fc4d3a_102 - asttokens=3.0.1=pyhd8ed1ab_0 - - attrs=25.4.0=pyhcf101f3_1 + - attrs=26.1.0=pyhcf101f3_0 - autoconf=2.72=pl5321hbecfd40_1 - automake=1.17=pl5321h8af1aa0_0 - babel=2.18.0=pyhcf101f3_1 @@ -25,9 +25,9 @@ dependencies: - backports.zstd=1.3.0=py312h3d8e7d4_0 - bdw-gc=8.2.12=h7ac5ae9_0 - beautifulsoup4=4.14.3=pyha770c72_0 - - binutils=2.45.1=default_hf1166c9_101 - - binutils_impl_linux-aarch64=2.45.1=default_h5f4c503_101 - - binutils_linux-aarch64=2.45.1=default_hf1166c9_101 + - binutils=2.45.1=default_hf1166c9_102 + - binutils_impl_linux-aarch64=2.45.1=default_h5f4c503_102 + - binutils_linux-aarch64=2.45.1=default_hf1166c9_102 - blas-devel=3.11.0=5_h9678261_openblas - bleach=6.3.0=pyhcf101f3_1 - bleach-with-css=6.3.0=hbca2aae_1 @@ -48,7 +48,7 @@ dependencies: - cddlib=1!0.94m=h719063d_0 - certifi=2026.2.25=pyhd8ed1ab_0 - cffi=2.0.0=py312h1b372e3_1 - - charset-normalizer=3.4.5=pyhd8ed1ab_0 + - charset-normalizer=3.4.6=pyhd8ed1ab_0 - click=8.2.1=pyh707e725_0 - click-default-group=1.2.4=pyhd8ed1ab_1 - cliquer=1.23=he30d5cf_0 @@ -60,11 +60,11 @@ dependencies: - conda-lock=4.0.0=pyha191276_0 - conda-package-handling=2.4.0=pyh7900ff3_2 - conda-package-streaming=0.12.0=pyhd8ed1ab_0 - - conda-recipe-manager=0.10.0=pyhd8ed1ab_0 + - conda-recipe-manager=0.10.1=pyhd8ed1ab_0 - conda-souschef=3.0.1=pyhd8ed1ab_0 - contourpy=1.3.3=py312hf18b547_4 - conway-polynomials=0.10=pyhd8ed1ab_1 - - coverage=7.13.4=py312hd077ced_0 + - coverage=7.13.5=py312hd077ced_0 - cpp-expected=1.3.1=hdc560ac_0 - cpython=3.12.13=py312hd8ed1ab_0 - crashtest=0.4.1=pyhd8ed1ab_1 @@ -142,9 +142,9 @@ dependencies: - icu=75.1=hf9b3779_0 - idna=3.11=pyhd8ed1ab_0 - igraph=0.10.17=h1827c4d_1 - - imagesize=1.4.1=pyhd8ed1ab_0 + - imagesize=2.0.0=pyhd8ed1ab_0 - iml=1.0.5=h15043fe_1004 - - importlib-metadata=8.7.0=pyhe01879c_1 + - importlib-metadata=8.8.0=pyhcf101f3_0 - importlib_resources=6.5.2=pyhd8ed1ab_0 - iniconfig=2.3.0=pyhd8ed1ab_0 - ipykernel=7.2.0=pyha191276_1 @@ -158,7 +158,7 @@ dependencies: - jeepney=0.9.0=pyhd8ed1ab_0 - jinja2=3.1.6=pyhcf101f3_1 - jsonpatch=1.33=pyhd8ed1ab_1 - - jsonpointer=3.0.0=pyhcf101f3_3 + - jsonpointer=3.1.0=pyhcf101f3_0 - jsonschema=4.26.0=pyhcf101f3_0 - jsonschema-specifications=2025.9.1=pyhcf101f3_0 - jupyter-sphinx=0.5.3=pyha770c72_5 @@ -173,7 +173,7 @@ dependencies: - krb5=1.22.2=hfd895c2_0 - lcalc=2.1.1=h30a6b3d_0 - lcms2=2.18=h9d5b58d_0 - - ld_impl_linux-aarch64=2.45.1=default_h1979696_101 + - ld_impl_linux-aarch64=2.45.1=default_h1979696_102 - lerc=4.1.0=h52b7260_0 - libarchive=3.8.6=gpl_hbe7d12b_100 - libblas=3.11.0=5_haddc8a3_openblas @@ -214,7 +214,7 @@ dependencies: - libmamba=2.5.0=hc712cdd_0 - libmamba-spdlog=2.5.0=h3ad78e7_0 - libmambapy=2.5.0=py312h7b87406_0 - - libnghttp2=1.67.0=ha888d0e_0 + - libnghttp2=1.68.1=hd3077d7_0 - libnsl=2.0.1=h86ecc28_1 - libopenblas=0.3.30=pthreads_h9d3fd7e_4 - libpng=1.6.55=h1abf092_0 @@ -234,7 +234,7 @@ dependencies: - libxml2=2.15.1=h788dabe_0 - libxml2-16=2.15.1=h8591a01_0 - libxml2-devel=2.15.1=h788dabe_0 - - libzlib=1.3.1=h86ecc28_2 + - libzlib=1.3.2=hdc9db2a_2 - linbox=1.7.1=h546e0e3_3 - lrcalc=2.1=hfae3067_8 - lz4-c=1.10.0=h5ad3122_1 @@ -247,18 +247,18 @@ dependencies: - matplotlib=3.9.1=py312h8025657_1 - matplotlib-base=3.9.1=py312h97afc53_2 - matplotlib-inline=0.2.1=pyhd8ed1ab_0 - - maxima=5.47.0=h043f013_3 + - maxima=5.49.0=h9d48c1e_0 - mccabe=0.7.0=pyhd8ed1ab_1 - memory-allocator=0.2.0=py312hcd1a082_1 - menuinst=2.4.2=py312h996f985_0 - - meson=1.10.1=pyhcf101f3_0 + - meson=1.10.2=pyhcf101f3_0 - meson-python=0.19.0=pyh7e86bf3_2 - mistune=3.2.0=pyhcf101f3_0 - more-itertools=10.8.0=pyhcf101f3_1 - mpc=1.3.1=h783934e_1 - mpfi=1.5.4=h846f343_1001 - - mpfr=4.2.1=h2305555_3 - - mpmath=1.3.0=pyhd8ed1ab_1 + - mpfr=4.2.2=h3faef18_0 + - mpmath=1.4.1=pyhd8ed1ab_0 - msgpack-python=1.1.2=py312h4f740d2_1 - munkres=1.1.4=pyhd8ed1ab_1 - nauty=2.9.1=he30d5cf_0 @@ -273,13 +273,13 @@ dependencies: - ninja=1.13.2=hdc560ac_0 - nlohmann_json-abi=3.12.0=h0f90c79_1 - ntl=11.6.0=h2d393da_0 - - numpy=2.4.2=py312h6615c27_1 + - numpy=2.4.3=py312h6615c27_0 - openblas=0.3.30=pthreads_h3a8cbd8_4 - openjpeg=2.5.4=h5da879a_0 - openssl=3.6.1=h546c87b_1 - packaging=26.0=pyhcf101f3_0 - palp=2.21=he30d5cf_0 - - pandoc=3.9=h8af1aa0_0 + - pandoc=3.9.0.2=h8af1aa0_0 - pandocfilters=1.5.0=pyhd8ed1ab_0 - pango=1.56.3=h1e6a6fd_1 - pari=2.17.3=hfb864d9_0_pthread @@ -318,9 +318,9 @@ dependencies: - pydantic=2.12.5=pyhcf101f3_1 - pydantic-core=2.41.5=py312h5eb8f6c_1 - pyflakes=3.4.0=pyhd8ed1ab_0 - - pygithub=2.8.1=pyhd8ed1ab_0 + - pygithub=2.9.0=pyhd8ed1ab_0 - pygments=2.19.2=pyhd8ed1ab_0 - - pyjwt=2.11.0=pyhcf101f3_1 + - pyjwt=2.12.1=pyhcf101f3_0 - pynacl=1.6.2=py312h9d3b8a6_1 - pyparsing=3.3.2=pyhcf101f3_0 - pyproject-metadata=0.11.0=pyhd8ed1ab_0 @@ -338,7 +338,7 @@ dependencies: - python-symengine=0.14.1=py312h91bcb6d_1 - python-utils=3.9.1=pyhff2d567_1 - python_abi=3.12=8_cp312 - - pytz=2025.2=pyhd8ed1ab_0 + - pytz=2026.1.post1=pyhcf101f3_0 - pyyaml=6.0.3=py312ha4530ae_1 - pyzmq=27.1.0=py312hdf0a211_2 - qd=2.3.22=h05efe27_1004 @@ -359,7 +359,7 @@ dependencies: - ruamel.yaml=0.18.17=py312hd41f8a7_2 - ruamel.yaml.clib=0.2.15=py312hd41f8a7_1 - ruamel.yaml.jinja2=0.2.7=pyhd8ed1ab_1 - - ruff=0.15.5=he9a2e21_0 + - ruff=0.15.7=h9f438e6_1 - rw=0.9=h31becfc_2 - sagemath-db-elliptic-curves=0.8.1=hecc5488_0 - sagemath-db-graphs=20210214=hd8ed1ab_0 @@ -400,7 +400,7 @@ dependencies: - tachyon=0.99b6=ha0bfc61_1002 - tinycss2=1.4.0=pyhd8ed1ab_0 - tk=8.6.13=noxft_h0dc03b3_103 - - tktable=2.10=h89546af_7 + - tktable=2.10=h5f05d98_8 - tomli=2.4.0=pyhcf101f3_0 - tomli-w=1.2.0=pyhd8ed1ab_0 - tomlkit=0.14.0=pyha770c72_0 @@ -409,7 +409,7 @@ dependencies: - traitlets=5.14.3=pyhd8ed1ab_1 - trove-classifiers=2026.1.14.14=pyhd8ed1ab_0 - truststore=0.10.4=pyhcf101f3_0 - - ty=0.0.21=h1339683_0 + - ty=0.0.24=h1339683_0 - typing-extensions=4.15.0=h396c80c_0 - typing-inspection=0.4.2=pyhd8ed1ab_1 - typing_extensions=4.15.0=pyhcf101f3_0 @@ -417,7 +417,7 @@ dependencies: - tzlocal=5.3.1=pyh8f84b5b_0 - unicodedata2=17.0.1=py312hcd1a082_0 - urllib3=2.6.3=pyhd8ed1ab_0 - - uv=0.10.9=hf7c115b_0 + - uv=0.10.12=he5ca43f_0 - virtualenv=20.39.0=pyhcf101f3_0 - wcwidth=0.6.0=pyhd8ed1ab_0 - webencodings=0.5.1=pyhd8ed1ab_3 @@ -439,7 +439,7 @@ dependencies: - yaml-cpp=0.8.0=h5ad3122_0 - zeromq=4.3.5=hc0523f8_10 - zipp=3.23.0=pyhcf101f3_1 - - zlib=1.3.1=h86ecc28_2 + - zlib=1.3.2=hdc9db2a_2 - zlib-ng=2.3.3=ha7cb516_1 - zstandard=0.25.0=py312hd41f8a7_1 - zstd=1.5.7=h85ac4a6_6 diff --git a/environment-3.12-linux.yml b/environment-3.12-linux.yml index db3bff9028d..91fbfe904e7 100644 --- a/environment-3.12-linux.yml +++ b/environment-3.12-linux.yml @@ -1,7 +1,7 @@ name: sage-dev # Generated by conda-lock. # platform: linux-64 -# input_hash: 844a95a2ba2dfe77e289f99e265ab30133d5c98729c824e9d60d6809d9bdeff4 +# input_hash: ba13331359778257b847983c0040f8da1bd933c99f46010624eccada6466ae52 channels: - conda-forge @@ -18,7 +18,7 @@ dependencies: - archspec=0.2.5=pyhd8ed1ab_0 - arpack=3.9.1=nompi_hf03ea27_102 - asttokens=3.0.1=pyhd8ed1ab_0 - - attrs=25.4.0=pyhcf101f3_1 + - attrs=26.1.0=pyhcf101f3_0 - autoconf=2.72=pl5321hbb4ee43_1 - automake=1.17=pl5321ha770c72_0 - babel=2.18.0=pyhcf101f3_1 @@ -27,9 +27,9 @@ dependencies: - backports.zstd=1.3.0=py312h90b7ffd_0 - bdw-gc=8.2.12=h54a6638_0 - beautifulsoup4=4.14.3=pyha770c72_0 - - binutils=2.45.1=default_h4852527_101 - - binutils_impl_linux-64=2.45.1=default_hfdba357_101 - - binutils_linux-64=2.45.1=default_h4852527_101 + - binutils=2.45.1=default_h4852527_102 + - binutils_impl_linux-64=2.45.1=default_hfdba357_102 + - binutils_linux-64=2.45.1=default_h4852527_102 - blas-devel=3.11.0=5_h1ea3ea9_openblas - bleach=6.3.0=pyhcf101f3_1 - bleach-with-css=6.3.0=hbca2aae_1 @@ -50,7 +50,7 @@ dependencies: - cddlib=1!0.94m=h9202a9a_0 - certifi=2026.2.25=pyhd8ed1ab_0 - cffi=2.0.0=py312h460c074_1 - - charset-normalizer=3.4.5=pyhd8ed1ab_0 + - charset-normalizer=3.4.6=pyhd8ed1ab_0 - click=8.2.1=pyh707e725_0 - click-default-group=1.2.4=pyhd8ed1ab_1 - cliquer=1.23=hb03c661_0 @@ -62,11 +62,11 @@ dependencies: - conda-lock=4.0.0=pyha191276_0 - conda-package-handling=2.4.0=pyh7900ff3_2 - conda-package-streaming=0.12.0=pyhd8ed1ab_0 - - conda-recipe-manager=0.10.0=pyhd8ed1ab_0 + - conda-recipe-manager=0.10.1=pyhd8ed1ab_0 - conda-souschef=3.0.1=pyhd8ed1ab_0 - contourpy=1.3.3=py312h0a2e395_4 - conway-polynomials=0.10=pyhd8ed1ab_1 - - coverage=7.13.4=py312h8a5da7c_0 + - coverage=7.13.5=py312h8a5da7c_0 - cpp-expected=1.3.1=h171cf75_0 - cpython=3.12.13=py312hd8ed1ab_0 - crashtest=0.4.1=pyhd8ed1ab_1 @@ -146,9 +146,9 @@ dependencies: - icu=75.1=he02047a_0 - idna=3.11=pyhd8ed1ab_0 - igraph=0.10.16=h98b0679_0 - - imagesize=1.4.1=pyhd8ed1ab_0 + - imagesize=2.0.0=pyhd8ed1ab_0 - iml=1.0.5=h623f65a_1004 - - importlib-metadata=8.7.0=pyhe01879c_1 + - importlib-metadata=8.8.0=pyhcf101f3_0 - importlib_resources=6.5.2=pyhd8ed1ab_0 - iniconfig=2.3.0=pyhd8ed1ab_0 - ipykernel=7.2.0=pyha191276_1 @@ -162,7 +162,7 @@ dependencies: - jeepney=0.9.0=pyhd8ed1ab_0 - jinja2=3.1.6=pyhcf101f3_1 - jsonpatch=1.33=pyhd8ed1ab_1 - - jsonpointer=3.0.0=pyhcf101f3_3 + - jsonpointer=3.1.0=pyhcf101f3_0 - jsonschema=4.26.0=pyhcf101f3_0 - jsonschema-specifications=2025.9.1=pyhcf101f3_0 - jupyter-sphinx=0.5.3=pyha770c72_5 @@ -177,7 +177,7 @@ dependencies: - krb5=1.21.3=h659f571_0 - lcalc=2.1.1=h9cf73fc_0 - lcms2=2.18=h0c24ade_0 - - ld_impl_linux-64=2.45.1=default_hbd61a6d_101 + - ld_impl_linux-64=2.45.1=default_hbd61a6d_102 - lerc=4.1.0=hdb68285_0 - libarchive=3.8.1=gpl_h98cc613_100 - libblas=3.11.0=5_h4a7cf45_openblas @@ -227,7 +227,7 @@ dependencies: - liblzma-devel=5.8.2=hb03c661_0 - libmamba=2.3.2=hae34dd5_2 - libmambapy=2.3.2=py312h0240237_2 - - libnghttp2=1.67.0=had1ee68_0 + - libnghttp2=1.68.1=h877daf1_0 - libnsl=2.0.1=hb9d3cd8_1 - libntlm=1.8=hb9d3cd8_0 - libopenblas=0.3.30=pthreads_h94d23a6_4 @@ -251,7 +251,7 @@ dependencies: - libxkbcommon=1.11.0=he8b52b9_0 - libxml2=2.13.9=h04c0eec_0 - libxslt=1.1.43=h7a3aeb2_0 - - libzlib=1.3.1=hb9d3cd8_2 + - libzlib=1.3.2=h25fd6f3_2 - linbox=1.7.1=h700e6c1_3 - lrcalc=2.1=hecca717_8 - lrslib=73.a=he8b4956_0 @@ -265,18 +265,18 @@ dependencies: - matplotlib=3.10.8=py312h7900ff3_0 - matplotlib-base=3.10.8=py312he3d6523_0 - matplotlib-inline=0.2.1=pyhd8ed1ab_0 - - maxima=5.47.0=h75482ee_3 + - maxima=5.49.0=h0673e8f_0 - mccabe=0.7.0=pyhd8ed1ab_1 - memory-allocator=0.2.0=py312h4c3975b_1 - menuinst=2.4.2=py312h7900ff3_0 - - meson=1.10.1=pyhcf101f3_0 + - meson=1.10.2=pyhcf101f3_0 - meson-python=0.19.0=pyh7e86bf3_2 - mistune=3.2.0=pyhcf101f3_0 - more-itertools=10.8.0=pyhcf101f3_1 - mpc=1.3.1=h24ddda3_1 - mpfi=1.5.4=h9f54685_1001 - - mpfr=4.2.1=h90cbb55_3 - - mpmath=1.3.0=pyhd8ed1ab_1 + - mpfr=4.2.2=he0a73b1_0 + - mpmath=1.4.1=pyhd8ed1ab_0 - msgpack-python=1.1.2=py312hd9148b4_1 - munkres=1.1.4=pyhd8ed1ab_1 - mysql-common=9.0.1=h266115a_6 @@ -293,14 +293,14 @@ dependencies: - ninja=1.13.2=h171cf75_0 - nlohmann_json-abi=3.12.0=h0f90c79_1 - ntl=11.6.0=h2d42b61_0 - - numpy=2.4.2=py312h33ff503_1 + - numpy=2.4.3=py312h33ff503_0 - openblas=0.3.30=pthreads_h6ec200e_4 - openjpeg=2.5.4=h55fea9a_0 - openldap=2.6.10=he970967_0 - openssl=3.6.1=h35e630c_1 - packaging=26.0=pyhcf101f3_0 - palp=2.21=hb03c661_0 - - pandoc=3.9=ha770c72_0 + - pandoc=3.9.0.2=ha770c72_0 - pandocfilters=1.5.0=pyhd8ed1ab_0 - pango=1.56.3=h9ac818e_1 - pari=2.17.3=hab59ada_0_pthread @@ -339,9 +339,9 @@ dependencies: - pydantic=2.12.5=pyhcf101f3_1 - pydantic-core=2.41.5=py312h868fb18_1 - pyflakes=3.4.0=pyhd8ed1ab_0 - - pygithub=2.8.1=pyhd8ed1ab_0 + - pygithub=2.9.0=pyhd8ed1ab_0 - pygments=2.19.2=pyhd8ed1ab_0 - - pyjwt=2.11.0=pyhcf101f3_1 + - pyjwt=2.12.1=pyhcf101f3_0 - pynacl=1.6.2=py312h4c3975b_0 - pyparsing=3.3.2=pyhcf101f3_0 - pyproject-metadata=0.11.0=pyhd8ed1ab_0 @@ -360,7 +360,7 @@ dependencies: - python-symengine=0.14.1=py312h9d513f5_1 - python-utils=3.9.1=pyhff2d567_1 - python_abi=3.12=8_cp312 - - pytz=2025.2=pyhd8ed1ab_0 + - pytz=2026.1.post1=pyhcf101f3_0 - pyyaml=6.0.3=py312h8a5da7c_1 - pyzmq=27.1.0=py312hda471dd_2 - qd=2.3.22=h2cc385e_1004 @@ -382,7 +382,7 @@ dependencies: - ruamel.yaml=0.18.17=py312h5253ce2_2 - ruamel.yaml.clib=0.2.15=py312h5253ce2_1 - ruamel.yaml.jinja2=0.2.7=pyhd8ed1ab_1 - - ruff=0.15.5=h40fa522_0 + - ruff=0.15.7=h7805a7d_1 - rw=0.9=hd590300_2 - sagemath-db-elliptic-curves=0.8.1=hecc5488_0 - sagemath-db-graphs=20210214=hd8ed1ab_0 @@ -422,7 +422,7 @@ dependencies: - tachyon=0.99b6=hba7d16a_1002 - tinycss2=1.4.0=pyhd8ed1ab_0 - tk=8.6.13=noxft_h366c992_103 - - tktable=2.10=h8d826fa_7 + - tktable=2.10=h5a7a40f_8 - tomli=2.4.0=pyhcf101f3_0 - tomli-w=1.2.0=pyhd8ed1ab_0 - tomlkit=0.14.0=pyha770c72_0 @@ -431,7 +431,7 @@ dependencies: - traitlets=5.14.3=pyhd8ed1ab_1 - trove-classifiers=2026.1.14.14=pyhd8ed1ab_0 - truststore=0.10.4=pyhcf101f3_0 - - ty=0.0.21=h4e94fc0_0 + - ty=0.0.24=h4e94fc0_0 - typing-extensions=4.15.0=h396c80c_0 - typing-inspection=0.4.2=pyhd8ed1ab_1 - typing_extensions=4.15.0=pyhcf101f3_0 @@ -439,9 +439,9 @@ dependencies: - tzlocal=5.3.1=pyh8f84b5b_0 - unicodedata2=17.0.1=py312h4c3975b_0 - urllib3=2.6.3=pyhd8ed1ab_0 - - uv=0.10.9=h6dd6661_0 + - uv=0.10.12=h0f56927_0 - virtualenv=20.39.0=pyhcf101f3_0 - - wayland=1.24.0=hd6090a7_1 + - wayland=1.25.0=hd6090a7_0 - wcwidth=0.6.0=pyhd8ed1ab_0 - webencodings=0.5.1=pyhd8ed1ab_3 - wheel=0.46.3=pyhd8ed1ab_0 @@ -477,7 +477,7 @@ dependencies: - yaml-cpp=0.8.0=h3f2d84a_0 - zeromq=4.3.5=h387f397_9 - zipp=3.23.0=pyhcf101f3_1 - - zlib=1.3.1=hb9d3cd8_2 + - zlib=1.3.2=h25fd6f3_2 - zlib-ng=2.3.3=hceb46e0_1 - zstandard=0.25.0=py312h5253ce2_1 - zstd=1.5.7=hb78ec9c_6 diff --git a/environment-3.12-macos-x86_64.yml b/environment-3.12-macos-x86_64.yml index cda4c17cc04..3beeb7559db 100644 --- a/environment-3.12-macos-x86_64.yml +++ b/environment-3.12-macos-x86_64.yml @@ -1,7 +1,7 @@ name: sage-dev # Generated by conda-lock. # platform: osx-64 -# input_hash: 53f94dc1b651e21d322b77f6cfecf70de02d35b14d11ede32bd5ee2da2f99cea +# input_hash: b0fa8554dad4608aeb0eae27780f40aecc5f37ce1a2e90283070f8134eeb566f channels: - conda-forge @@ -18,7 +18,7 @@ dependencies: - archspec=0.2.5=pyhd8ed1ab_0 - arpack=3.9.1=nompi_hdfe9103_102 - asttokens=3.0.1=pyhd8ed1ab_0 - - attrs=25.4.0=pyhcf101f3_1 + - attrs=26.1.0=pyhcf101f3_0 - autoconf=2.72=pl5321had7229c_1 - automake=1.17=pl5321h694c41f_0 - babel=2.18.0=pyhcf101f3_1 @@ -50,7 +50,7 @@ dependencies: - cddlib=1!0.94m=h0f52abe_0 - certifi=2026.2.25=pyhd8ed1ab_0 - cffi=2.0.0=py312he90777b_1 - - charset-normalizer=3.4.5=pyhd8ed1ab_0 + - charset-normalizer=3.4.6=pyhd8ed1ab_0 - clang=19.1.7=default_h1323312_8 - clang-19=19.1.7=default_h9399c5b_8 - clang_impl_osx-64=19.1.7=default_ha1a018a_8 @@ -70,11 +70,11 @@ dependencies: - conda-lock=4.0.0=pyh5552912_0 - conda-package-handling=2.4.0=pyh7900ff3_2 - conda-package-streaming=0.12.0=pyhd8ed1ab_0 - - conda-recipe-manager=0.10.0=pyhd8ed1ab_0 + - conda-recipe-manager=0.10.1=pyhd8ed1ab_0 - conda-souschef=3.0.1=pyhd8ed1ab_0 - contourpy=1.3.3=py312hb0c38da_4 - conway-polynomials=0.10=pyhd8ed1ab_1 - - coverage=7.13.4=py312h51361c1_0 + - coverage=7.13.5=py312heb39f77_0 - cpp-expected=1.3.1=h0ba0a54_0 - cpython=3.12.13=py312hd8ed1ab_0 - crashtest=0.4.1=pyhd8ed1ab_1 @@ -145,9 +145,9 @@ dependencies: - icu=75.1=h120a0e1_0 - idna=3.11=pyhd8ed1ab_0 - igraph=1.0.1=h049a311_0 - - imagesize=1.4.1=pyhd8ed1ab_0 + - imagesize=2.0.0=pyhd8ed1ab_0 - iml=1.0.5=h61918c1_1004 - - importlib-metadata=8.7.0=pyhe01879c_1 + - importlib-metadata=8.8.0=pyhcf101f3_0 - importlib_resources=6.5.2=pyhd8ed1ab_0 - iniconfig=2.3.0=pyhd8ed1ab_0 - ipykernel=7.2.0=pyh5552912_1 @@ -161,7 +161,7 @@ dependencies: - jedi=0.19.2=pyhd8ed1ab_1 - jinja2=3.1.6=pyhcf101f3_1 - jsonpatch=1.33=pyhd8ed1ab_1 - - jsonpointer=3.0.0=pyhcf101f3_3 + - jsonpointer=3.1.0=pyhcf101f3_0 - jsonschema=4.26.0=pyhcf101f3_0 - jsonschema-specifications=2025.9.1=pyhcf101f3_0 - jupyter-sphinx=0.5.3=pyha770c72_5 @@ -221,7 +221,7 @@ dependencies: - libmamba=2.5.0=h7fe6c55_0 - libmamba-spdlog=2.5.0=hb923e0c_0 - libmambapy=2.5.0=py312h0852a77_0 - - libnghttp2=1.67.0=h3338091_0 + - libnghttp2=1.68.1=h70048d4_0 - libpng=1.6.55=h07817ec_0 - libsigtool=0.1.3=hc0f2934_0 - libsodium=1.0.21=hc6ced15_3 @@ -234,7 +234,7 @@ dependencies: - libxml2=2.15.1=h7b7ecba_0 - libxml2-16=2.15.1=ha1d9b0f_0 - libxml2-devel=2.15.1=h7b7ecba_0 - - libzlib=1.3.1=hd23fc13_2 + - libzlib=1.3.2=hbb4bfdb_2 - linbox=1.7.1=h6dc5890_3 - llvm-openmp=22.1.0=h0d3cbff_0 - llvm-tools=19.1.7=hb0207f0_2 @@ -251,18 +251,18 @@ dependencies: - matplotlib=3.10.8=py312hb401068_0 - matplotlib-base=3.10.8=py312h7894933_0 - matplotlib-inline=0.2.1=pyhd8ed1ab_0 - - maxima=5.47.0=h3080a4d_3 + - maxima=5.49.0=h6364e9d_0 - mccabe=0.7.0=pyhd8ed1ab_1 - memory-allocator=0.2.0=py312h933eb07_1 - menuinst=2.4.2=py312hb401068_0 - - meson=1.10.1=pyhcf101f3_0 + - meson=1.10.2=pyhcf101f3_0 - meson-python=0.19.0=pyh7e86bf3_2 - mistune=3.2.0=pyhcf101f3_0 - more-itertools=10.8.0=pyhcf101f3_1 - mpc=1.3.1=h9d8efa1_1 - mpfi=1.5.4=h52b28e3_1001 - - mpfr=4.2.1=haed47dc_3 - - mpmath=1.3.0=pyhd8ed1ab_1 + - mpfr=4.2.2=h31caf2d_0 + - mpmath=1.4.1=pyhd8ed1ab_0 - msgpack-python=1.1.2=py312hd099df3_1 - munkres=1.1.4=pyhd8ed1ab_1 - nauty=2.9.1=h8616949_0 @@ -277,12 +277,12 @@ dependencies: - ninja=1.13.2=hfc0b2d5_0 - nlohmann_json-abi=3.12.0=h0f90c79_1 - ntl=11.6.0=h4c56b49_0 - - numpy=2.4.2=py312hb34da66_1 + - numpy=2.4.3=py312h746d82c_0 - openjpeg=2.5.4=h52bb76a_0 - openssl=3.6.1=hb6871ef_1 - packaging=26.0=pyhcf101f3_0 - palp=2.21=h8616949_0 - - pandoc=3.9=h694c41f_0 + - pandoc=3.9.0.2=h694c41f_0 - pandocfilters=1.5.0=pyhd8ed1ab_0 - pango=1.56.4=h6ef8af8_0 - pari=2.17.3=h0ced257_0_pthread @@ -321,9 +321,9 @@ dependencies: - pydantic=2.12.5=pyhcf101f3_1 - pydantic-core=2.41.5=py312h8a6388b_1 - pyflakes=3.4.0=pyhd8ed1ab_0 - - pygithub=2.8.1=pyhd8ed1ab_0 + - pygithub=2.9.0=pyhd8ed1ab_0 - pygments=2.19.2=pyhd8ed1ab_0 - - pyjwt=2.11.0=pyhcf101f3_1 + - pyjwt=2.12.1=pyhcf101f3_0 - pynacl=1.6.2=py312h327502a_1 - pyparsing=3.3.2=pyhcf101f3_0 - pyproject-metadata=0.11.0=pyhd8ed1ab_0 @@ -357,11 +357,11 @@ dependencies: - restructuredtext_lint=2.0.2=pyhd8ed1ab_0 - roman-numerals=4.1.0=pyhd8ed1ab_0 - rpds-py=0.30.0=py312h8a6388b_0 - - rpy2=3.6.5=py312r45h116d5cb_0 + - rpy2=3.6.6=py312r45h116d5cb_0 - ruamel.yaml=0.18.17=py312hf7082af_2 - ruamel.yaml.clib=0.2.15=py312hf7082af_1 - ruamel.yaml.jinja2=0.2.7=pyhd8ed1ab_1 - - ruff=0.15.5=h8ee721d_0 + - ruff=0.15.7=h16586dd_1 - rw=0.7=1 - sagemath-db-elliptic-curves=0.8.1=hecc5488_0 - sagemath-db-graphs=20210214=hd8ed1ab_0 @@ -401,7 +401,7 @@ dependencies: - tapi=1600.0.11.8=h8d8e812_0 - tinycss2=1.4.0=pyhd8ed1ab_0 - tk=8.6.13=h7142dee_3 - - tktable=2.10=h2c093e9_7 + - tktable=2.10=h8925a82_8 - tomli=2.4.0=pyhcf101f3_0 - tomli-w=1.2.0=pyhd8ed1ab_0 - tomlkit=0.14.0=pyha770c72_0 @@ -410,7 +410,7 @@ dependencies: - traitlets=5.14.3=pyhd8ed1ab_1 - trove-classifiers=2026.1.14.14=pyhd8ed1ab_0 - truststore=0.10.4=pyhcf101f3_0 - - ty=0.0.21=h479939e_0 + - ty=0.0.24=h479939e_0 - typing-extensions=4.15.0=h396c80c_0 - typing-inspection=0.4.2=pyhd8ed1ab_1 - typing_extensions=4.15.0=pyhcf101f3_0 @@ -418,7 +418,7 @@ dependencies: - tzlocal=5.3.1=pyh8f84b5b_0 - unicodedata2=17.0.1=py312h1a1c95f_0 - urllib3=2.6.3=pyhd8ed1ab_0 - - uv=0.10.9=h7e0bed3_0 + - uv=0.10.12=hbc54fe3_0 - virtualenv=20.39.0=pyhcf101f3_0 - wcwidth=0.6.0=pyhd8ed1ab_0 - webencodings=0.5.1=pyhd8ed1ab_3 @@ -435,7 +435,7 @@ dependencies: - yaml-cpp=0.8.0=h92383a6_0 - zeromq=4.3.5=h27d9b8f_10 - zipp=3.23.0=pyhcf101f3_1 - - zlib=1.3.1=hd23fc13_2 + - zlib=1.3.2=hbb4bfdb_2 - zlib-ng=2.3.3=h8bce59a_1 - zstandard=0.25.0=py312h01f6755_1 - zstd=1.5.7=h3eecb57_6 diff --git a/environment-3.12-macos.yml b/environment-3.12-macos.yml index 98a32240c96..69e038e4765 100644 --- a/environment-3.12-macos.yml +++ b/environment-3.12-macos.yml @@ -1,7 +1,7 @@ name: sage-dev # Generated by conda-lock. # platform: osx-arm64 -# input_hash: cf37e28234fc42ec09a05187efe439da743b8ac026c00c5a6b02fce769952cf3 +# input_hash: d4e2513598462b3ab85ea47d5c77735ec647783738960dd9661d28fabe4805df channels: - conda-forge @@ -17,7 +17,7 @@ dependencies: - archspec=0.2.5=pyhd8ed1ab_0 - arpack=3.9.1=nompi_h1f29f7c_102 - asttokens=3.0.1=pyhd8ed1ab_0 - - attrs=25.4.0=pyhcf101f3_1 + - attrs=26.1.0=pyhcf101f3_0 - autoconf=2.72=pl5321hd3c70e0_1 - automake=1.17=pl5321hce30654_0 - babel=2.18.0=pyhcf101f3_1 @@ -49,7 +49,7 @@ dependencies: - cddlib=1!0.94m=h6d7a090_0 - certifi=2026.2.25=pyhd8ed1ab_0 - cffi=2.0.0=py312h1b4d9a2_1 - - charset-normalizer=3.4.5=pyhd8ed1ab_0 + - charset-normalizer=3.4.6=pyhd8ed1ab_0 - clang=19.1.7=default_hf9bcbb7_8 - clang-19=19.1.7=default_hf3020a7_8 - clang_impl_osx-arm64=19.1.7=default_hc11f16d_8 @@ -69,11 +69,11 @@ dependencies: - conda-lock=4.0.0=pyh5552912_0 - conda-package-handling=2.4.0=pyh7900ff3_2 - conda-package-streaming=0.12.0=pyhd8ed1ab_0 - - conda-recipe-manager=0.10.0=pyhd8ed1ab_0 + - conda-recipe-manager=0.10.1=pyhd8ed1ab_0 - conda-souschef=3.0.1=pyhd8ed1ab_0 - contourpy=1.3.3=py312h3093aea_4 - conway-polynomials=0.10=pyhd8ed1ab_1 - - coverage=7.13.4=py312h04c11ed_0 + - coverage=7.13.5=py312h04c11ed_0 - cpp-expected=1.3.1=h4f10f1e_0 - cpython=3.12.13=py312hd8ed1ab_0 - crashtest=0.4.1=pyhd8ed1ab_1 @@ -144,9 +144,9 @@ dependencies: - icu=75.1=hfee45f7_0 - idna=3.11=pyhd8ed1ab_0 - igraph=0.10.17=h73cadaf_1 - - imagesize=1.4.1=pyhd8ed1ab_0 + - imagesize=2.0.0=pyhd8ed1ab_0 - iml=1.0.5=hd73f12c_1004 - - importlib-metadata=8.7.0=pyhe01879c_1 + - importlib-metadata=8.8.0=pyhcf101f3_0 - importlib_resources=6.5.2=pyhd8ed1ab_0 - iniconfig=2.3.0=pyhd8ed1ab_0 - ipykernel=7.2.0=pyh5552912_1 @@ -160,7 +160,7 @@ dependencies: - jedi=0.19.2=pyhd8ed1ab_1 - jinja2=3.1.6=pyhcf101f3_1 - jsonpatch=1.33=pyhd8ed1ab_1 - - jsonpointer=3.0.0=pyhcf101f3_3 + - jsonpointer=3.1.0=pyhcf101f3_0 - jsonschema=4.26.0=pyhcf101f3_0 - jsonschema-specifications=2025.9.1=pyhcf101f3_0 - jupyter-sphinx=0.5.3=pyha770c72_5 @@ -220,7 +220,7 @@ dependencies: - libmamba=2.5.0=h7950639_0 - libmamba-spdlog=2.5.0=h85b9800_0 - libmambapy=2.5.0=py312h55725b6_0 - - libnghttp2=1.67.0=hc438710_0 + - libnghttp2=1.68.1=h8f3e76b_0 - libpng=1.6.55=h132b30e_0 - libsigtool=0.1.3=h98dc951_0 - libsodium=1.0.21=h1a92334_3 @@ -233,7 +233,7 @@ dependencies: - libxml2=2.15.1=h9329255_0 - libxml2-16=2.15.1=h0ff4647_0 - libxml2-devel=2.15.1=h9329255_0 - - libzlib=1.3.1=h8359307_2 + - libzlib=1.3.2=h8088a28_2 - linbox=1.7.1=hc59a8de_3 - llvm-openmp=22.1.0=hc7d1edf_0 - llvm-tools=19.1.7=h855ad52_2 @@ -249,18 +249,18 @@ dependencies: - matplotlib=3.10.8=py312h1f38498_0 - matplotlib-base=3.10.8=py312h605b88b_0 - matplotlib-inline=0.2.1=pyhd8ed1ab_0 - - maxima=5.47.0=hd2c4bfb_3 + - maxima=5.49.0=h4c1ea7d_0 - mccabe=0.7.0=pyhd8ed1ab_1 - memory-allocator=0.2.0=py312h2bbb03f_1 - menuinst=2.4.2=py312h81bd7bf_0 - - meson=1.10.1=pyhcf101f3_0 + - meson=1.10.2=pyhcf101f3_0 - meson-python=0.19.0=pyh7e86bf3_2 - mistune=3.2.0=pyhcf101f3_0 - more-itertools=10.8.0=pyhcf101f3_1 - mpc=1.3.1=h8f1351a_1 - mpfi=1.5.4=hbde5f5b_1001 - - mpfr=4.2.1=hb693164_3 - - mpmath=1.3.0=pyhd8ed1ab_1 + - mpfr=4.2.2=h6bc93b0_0 + - mpmath=1.4.1=pyhd8ed1ab_0 - msgpack-python=1.1.2=py312h84eede6_1 - munkres=1.1.4=pyhd8ed1ab_1 - nauty=2.9.1=hf22a7ee_0 @@ -275,12 +275,12 @@ dependencies: - ninja=1.13.2=h49c215f_0 - nlohmann_json-abi=3.12.0=h0f90c79_1 - ntl=11.6.0=h99f6ba7_0 - - numpy=2.4.2=py312he281c53_1 + - numpy=2.4.3=py312h84a4f5f_0 - openjpeg=2.5.4=hd9e9057_0 - openssl=3.6.1=hd24854e_1 - packaging=26.0=pyhcf101f3_0 - palp=2.21=hc919400_0 - - pandoc=3.9=hce30654_0 + - pandoc=3.9.0.2=hce30654_0 - pandocfilters=1.5.0=pyhd8ed1ab_0 - pango=1.56.4=h875632e_0 - pari=2.17.3=h6fad181_0_pthread @@ -319,9 +319,9 @@ dependencies: - pydantic=2.12.5=pyhcf101f3_1 - pydantic-core=2.41.5=py312h6ef9ec0_1 - pyflakes=3.4.0=pyhd8ed1ab_0 - - pygithub=2.8.1=pyhd8ed1ab_0 + - pygithub=2.9.0=pyhd8ed1ab_0 - pygments=2.19.2=pyhd8ed1ab_0 - - pyjwt=2.11.0=pyhcf101f3_1 + - pyjwt=2.12.1=pyhcf101f3_0 - pynacl=1.6.2=py312h6831925_1 - pyparsing=3.3.2=pyhcf101f3_0 - pyproject-metadata=0.11.0=pyhd8ed1ab_0 @@ -355,11 +355,11 @@ dependencies: - restructuredtext_lint=2.0.2=pyhd8ed1ab_0 - roman-numerals=4.1.0=pyhd8ed1ab_0 - rpds-py=0.30.0=py312h6ef9ec0_0 - - rpy2=3.6.5=py312r45hda47b7f_0 + - rpy2=3.6.6=py312r45hda47b7f_0 - ruamel.yaml=0.18.17=py312hb3ab3e3_2 - ruamel.yaml.clib=0.2.15=py312hb3ab3e3_1 - ruamel.yaml.jinja2=0.2.7=pyhd8ed1ab_1 - - ruff=0.15.5=h279115b_0 + - ruff=0.15.7=hc5c3a1d_1 - rw=0.9=h93a5062_2 - sagemath-db-elliptic-curves=0.8.1=hecc5488_0 - sagemath-db-graphs=20210214=hd8ed1ab_0 @@ -399,7 +399,7 @@ dependencies: - tapi=1600.0.11.8=h997e182_0 - tinycss2=1.4.0=pyhd8ed1ab_0 - tk=8.6.13=h010d191_3 - - tktable=2.10=h3c7de25_7 + - tktable=2.10=h28d2b5e_8 - tomli=2.4.0=pyhcf101f3_0 - tomli-w=1.2.0=pyhd8ed1ab_0 - tomlkit=0.14.0=pyha770c72_0 @@ -408,7 +408,7 @@ dependencies: - traitlets=5.14.3=pyhd8ed1ab_1 - trove-classifiers=2026.1.14.14=pyhd8ed1ab_0 - truststore=0.10.4=pyhcf101f3_0 - - ty=0.0.21=ha73ee7d_0 + - ty=0.0.24=ha73ee7d_0 - typing-extensions=4.15.0=h396c80c_0 - typing-inspection=0.4.2=pyhd8ed1ab_1 - typing_extensions=4.15.0=pyhcf101f3_0 @@ -416,7 +416,7 @@ dependencies: - tzlocal=5.3.1=pyh8f84b5b_0 - unicodedata2=17.0.1=py312h2bbb03f_0 - urllib3=2.6.3=pyhd8ed1ab_0 - - uv=0.10.9=h9b11cc2_0 + - uv=0.10.12=h2a61971_0 - virtualenv=20.39.0=pyhcf101f3_0 - wcwidth=0.6.0=pyhd8ed1ab_0 - webencodings=0.5.1=pyhd8ed1ab_3 @@ -433,7 +433,7 @@ dependencies: - yaml-cpp=0.8.0=ha1acc90_0 - zeromq=4.3.5=h4818236_10 - zipp=3.23.0=pyhcf101f3_1 - - zlib=1.3.1=h8359307_2 + - zlib=1.3.2=h8088a28_2 - zlib-ng=2.3.3=hed4e4f5_1 - zstandard=0.25.0=py312h37e1c23_1 - zstd=1.5.7=hbf9d68e_6 diff --git a/environment-3.12-win.yml b/environment-3.12-win.yml index cc07d433aee..ee6d75f2f5e 100644 --- a/environment-3.12-win.yml +++ b/environment-3.12-win.yml @@ -1,7 +1,7 @@ name: sage-dev # Generated by conda-lock. # platform: win-64 -# input_hash: f2ad7947275e79e395f12c040af5b7591c5ba5576aad13a876719bc19e055ce7 +# input_hash: 2048ce9b1106e5e8f70f00cde9773979e04ef8f1bc9cd98ef83cabca8ff492b8 channels: - conda-forge @@ -16,13 +16,13 @@ dependencies: - appdirs=1.4.4=pyhd8ed1ab_1 - archspec=0.2.5=pyhd8ed1ab_0 - asttokens=3.0.1=pyhd8ed1ab_0 - - attrs=25.4.0=pyhcf101f3_1 + - attrs=26.1.0=pyhcf101f3_0 - babel=2.18.0=pyhcf101f3_1 - backports=1.0=pyhd8ed1ab_5 - backports.tarfile=1.2.0=pyhcf101f3_2 - backports.zstd=1.3.0=py312h06d0912_0 - beautifulsoup4=4.14.3=pyha770c72_0 - - binutils_impl_win-64=2.45.1=default_ha84baeb_101 + - binutils_impl_win-64=2.45.1=default_ha84baeb_102 - blas-devel=3.11.0=5_ha590de0_openblas - bleach=6.3.0=pyhcf101f3_1 - bleach-with-css=6.3.0=hbca2aae_1 @@ -39,7 +39,7 @@ dependencies: - cairo=1.18.4=h477c42c_1 - certifi=2026.2.25=pyhd8ed1ab_0 - cffi=2.0.0=py312he06e257_1 - - charset-normalizer=3.4.5=pyhd8ed1ab_0 + - charset-normalizer=3.4.6=pyhd8ed1ab_0 - clang=19.1.7=default_hac490eb_8 - clang-19=19.1.7=default_hac490eb_8 - click=8.2.1=pyh7428d3b_0 @@ -53,11 +53,11 @@ dependencies: - conda-lock=4.0.0=pyh6dadd2b_0 - conda-package-handling=2.4.0=pyh7900ff3_2 - conda-package-streaming=0.12.0=pyhd8ed1ab_0 - - conda-recipe-manager=0.10.0=pyhd8ed1ab_0 + - conda-recipe-manager=0.10.1=pyhd8ed1ab_0 - conda-souschef=3.0.1=pyhd8ed1ab_0 - contourpy=1.3.3=py312h78d62e6_4 - conway-polynomials=0.10=pyhd8ed1ab_1 - - coverage=7.13.4=py312h05f76fc_0 + - coverage=7.13.5=py312h05f76fc_0 - cpp-expected=1.3.1=h477610d_0 - cpython=3.12.13=py312hd8ed1ab_0 - crashtest=0.4.1=pyhd8ed1ab_1 @@ -112,14 +112,14 @@ dependencies: - gsl=2.7=hdfb1a43_0 - gxx_impl_win-64=15.2.0=h22fd5bf_18 - h2=4.3.0=pyhcf101f3_0 - - harfbuzz=13.1.1=h5a1b470_0 + - harfbuzz=13.2.0=h5a1b470_0 - hpack=4.1.0=pyhd8ed1ab_0 - hyperframe=6.1.0=pyhd8ed1ab_0 - - icu=78.2=h637d24d_0 + - icu=78.3=h637d24d_0 - idna=3.11=pyhd8ed1ab_0 - igraph=1.0.1=h9eeb67d_0 - - imagesize=1.4.1=pyhd8ed1ab_0 - - importlib-metadata=8.7.0=pyhe01879c_1 + - imagesize=2.0.0=pyhd8ed1ab_0 + - importlib-metadata=8.8.0=pyhcf101f3_0 - importlib_resources=6.5.2=pyhd8ed1ab_0 - iniconfig=2.3.0=pyhd8ed1ab_0 - ipykernel=7.2.0=pyh6dadd2b_1 @@ -132,7 +132,7 @@ dependencies: - jedi=0.19.2=pyhd8ed1ab_1 - jinja2=3.1.6=pyhcf101f3_1 - jsonpatch=1.33=pyhd8ed1ab_1 - - jsonpointer=3.0.0=pyhcf101f3_3 + - jsonpointer=3.1.0=pyhcf101f3_0 - jsonschema=4.26.0=pyhcf101f3_0 - jsonschema-specifications=2025.9.1=pyhcf101f3_0 - jupyter-sphinx=0.5.3=pyha770c72_5 @@ -144,7 +144,7 @@ dependencies: - kiwisolver=1.5.0=py312h78d62e6_0 - krb5=1.22.2=h0ea6238_0 - lcms2=2.18=hf2c6c5f_0 - - ld_impl_win-64=2.45.1=default_hfd38196_101 + - ld_impl_win-64=2.45.1=default_hfd38196_102 - lerc=4.1.0=hd936e49_0 - libarchive=3.8.6=gpl_he24518a_100 - libblas=3.11.0=5_h0adab6e_openblas @@ -199,7 +199,7 @@ dependencies: - libxml2-16=2.15.2=h3cfd58e_0 - libxml2-devel=2.15.2=h779ef1b_0 - libxslt=1.1.43=h0fbe4c1_1 - - libzlib=1.3.1=h2466b09_2 + - libzlib=1.3.2=hfd05255_2 - lld=22.1.0=hc465015_0 - llvm-openmp=22.1.0=h4fa8253_0 - llvm-tools=19.1.7=h752b59f_2 @@ -207,7 +207,7 @@ dependencies: - lzo=2.10=h6a83c73_1002 - m2-conda-epoch=20250515=0_x86_64 - m2w64-sysroot_win-64=12.0.0.r4.gg4f2fc60ca=hd8ed1ab_10 - - m4ri=20250128=h26c196c_0 + - m4ri=20260122=h26c196c_0 - markupsafe=3.0.3=py312h05f76fc_1 - matplotlib=3.10.8=py312h2e8e312_0 - matplotlib-base=3.10.8=py312h0ebf65c_0 @@ -215,7 +215,7 @@ dependencies: - mccabe=0.7.0=pyhd8ed1ab_1 - memory-allocator=0.2.0=py312he06e257_1 - menuinst=2.4.2=py312hbb81ca0_0 - - meson=1.10.1=pyhcf101f3_0 + - meson=1.10.2=pyhcf101f3_0 - meson-python=0.19.0=pyh7e86bf3_2 - mingw-w64-ucrt-x86_64-crt-git=12.0.0.r4.gg4f2fc60ca=hd8ed1ab_10 - mingw-w64-ucrt-x86_64-headers-git=12.0.0.r4.gg4f2fc60ca=hd8ed1ab_10 @@ -224,8 +224,8 @@ dependencies: - mistune=3.2.0=pyhcf101f3_0 - more-itertools=10.8.0=pyhcf101f3_1 - mpc=1.3.1=h72bc38f_1 - - mpfr=4.2.1=hbc20e70_3 - - mpmath=1.3.0=pyhd8ed1ab_1 + - mpfr=4.2.2=h883a981_0 + - mpmath=1.4.1=pyhd8ed1ab_0 - msgpack-python=1.1.2=py312hf90b1b7_1 - munkres=1.1.4=pyhd8ed1ab_1 - nauty=2.6.11=h2fa13f4_1 @@ -238,12 +238,12 @@ dependencies: - networkx=3.6.1=pyhcf101f3_0 - ninja=1.13.2=h477610d_0 - nlohmann_json-abi=3.12.0=h0f90c79_1 - - numpy=2.4.2=py312ha72d056_1 + - numpy=2.4.3=py312ha3f287d_0 - openblas=0.3.30=pthreads_h4a7f399_4 - openjpeg=2.5.4=h0e57b4f_0 - openssl=3.6.1=hf411b9b_1 - packaging=26.0=pyhcf101f3_0 - - pandoc=3.9=h57928b3_0 + - pandoc=3.9.0.2=h57928b3_0 - pandocfilters=1.5.0=pyhd8ed1ab_0 - pari=2.17.3=h03725f3_0_pthread - pari-elldata=0.0.20161017=0 @@ -278,14 +278,14 @@ dependencies: - pydantic=2.12.5=pyhcf101f3_1 - pydantic-core=2.41.5=py312hdabe01f_1 - pyflakes=3.4.0=pyhd8ed1ab_0 - - pygithub=2.8.1=pyhd8ed1ab_0 + - pygithub=2.9.0=pyhd8ed1ab_0 - pygments=2.19.2=pyhd8ed1ab_0 - - pyjwt=2.11.0=pyhcf101f3_1 + - pyjwt=2.12.1=pyhcf101f3_0 - pynacl=1.6.2=py312h570541e_1 - pyparsing=3.3.2=pyhcf101f3_0 - pyproject-metadata=0.11.0=pyhd8ed1ab_0 - pyproject_hooks=1.2.0=pyhd8ed1ab_1 - - pyside6=6.10.2=py312h0c8bdd4_0 + - pyside6=6.10.2=py312ha7d0d2e_1 - pysocks=1.7.1=pyh09c184e_7 - pytest=9.0.2=pyhcf101f3_0 - pytest-xdist=3.8.0=pyhd8ed1ab_0 @@ -303,8 +303,8 @@ dependencies: - pyyaml=6.0.3=py312h05f76fc_1 - pyzmq=27.1.0=py312h343a6d4_2 - qhull=2020.2=hc790b64_5 - - qt6-main=6.10.2=h35725d6_5 - - r-base=4.5.3=h9c56521_0 + - qt6-main=6.10.2=pl5321hfcac499_6 + - r-base=4.5.3=h9c56521_1 - r-lattice=0.22_9=r45heceb674_0 - rapidfuzz=3.14.3=py312hbb81ca0_1 - referencing=0.37.0=pyhcf101f3_0 @@ -318,7 +318,7 @@ dependencies: - ruamel.yaml=0.18.17=py312he5662c2_2 - ruamel.yaml.clib=0.2.15=py312he5662c2_1 - ruamel.yaml.jinja2=0.2.7=pyhd8ed1ab_1 - - ruff=0.15.5=h5739096_0 + - ruff=0.15.7=h02f8532_1 - sagemath-db-elliptic-curves=0.8.1=hecc5488_0 - sagemath-db-graphs=20210214=hd8ed1ab_0 - sagemath-db-polytopes=20170220=1 @@ -350,7 +350,7 @@ dependencies: - sympy=1.14.0=pyh04b8f61_6 - tinycss2=1.4.0=pyhd8ed1ab_0 - tk=8.6.13=h6ed50ae_3 - - tktable=2.10=h7e9e0db_7 + - tktable=2.10=h2df95b8_8 - tomli=2.4.0=pyhcf101f3_0 - tomli-w=1.2.0=pyhd8ed1ab_0 - tomlkit=0.14.0=pyha770c72_0 @@ -359,7 +359,7 @@ dependencies: - traitlets=5.14.3=pyhd8ed1ab_1 - trove-classifiers=2026.1.14.14=pyhd8ed1ab_0 - truststore=0.10.4=pyhcf101f3_0 - - ty=0.0.21=hc21aad4_0 + - ty=0.0.24=hc21aad4_0 - typing-extensions=4.15.0=h396c80c_0 - typing-inspection=0.4.2=pyhd8ed1ab_1 - typing_extensions=4.15.0=pyhcf101f3_0 @@ -367,7 +367,7 @@ dependencies: - ucrt=10.0.26100.0=h57928b3_0 - unicodedata2=17.0.1=py312he06e257_0 - urllib3=2.6.3=pyhd8ed1ab_0 - - uv=0.10.9=h9b344b9_0 + - uv=0.10.12=hd149a40_0 - vc=14.3=h41ae7f8_34 - vc14_runtime=14.44.35208=h818238b_34 - vcomp14=14.44.35208=h818238b_34 @@ -396,7 +396,7 @@ dependencies: - yaml-cpp=0.8.0=he0c23c2_0 - zeromq=4.3.5=h507cc87_10 - zipp=3.23.0=pyhcf101f3_1 - - zlib=1.3.1=h2466b09_2 + - zlib=1.3.2=hfd05255_2 - zlib-ng=2.3.3=h0261ad2_1 - zstandard=0.25.0=py312he5662c2_1 - zstd=1.5.7=h534d264_6 diff --git a/environment-3.13-linux-aarch64.yml b/environment-3.13-linux-aarch64.yml index cc83c6320ac..c4664e5ed6e 100644 --- a/environment-3.13-linux-aarch64.yml +++ b/environment-3.13-linux-aarch64.yml @@ -1,7 +1,7 @@ name: sage-dev # Generated by conda-lock. # platform: linux-aarch64 -# input_hash: 4e63e430f08a54feaaeeca6b5b0396d830f7729c17f82986b8b21f4af65d029f +# input_hash: 50a244853488888097b9b66ba31b2f6e5f13b70d40bd2a5d84a3c8ac3b66446b channels: - conda-forge @@ -17,7 +17,7 @@ dependencies: - archspec=0.2.5=pyhd8ed1ab_0 - arpack=3.9.1=nompi_h6fc4d3a_102 - asttokens=3.0.1=pyhd8ed1ab_0 - - attrs=25.4.0=pyhcf101f3_1 + - attrs=26.1.0=pyhcf101f3_0 - autoconf=2.72=pl5321hbecfd40_1 - automake=1.17=pl5321h8af1aa0_0 - babel=2.18.0=pyhcf101f3_1 @@ -26,9 +26,9 @@ dependencies: - backports.zstd=1.3.0=py313h3d57138_0 - bdw-gc=8.2.12=h7ac5ae9_0 - beautifulsoup4=4.14.3=pyha770c72_0 - - binutils=2.45.1=default_hf1166c9_101 - - binutils_impl_linux-aarch64=2.45.1=default_h5f4c503_101 - - binutils_linux-aarch64=2.45.1=default_hf1166c9_101 + - binutils=2.45.1=default_hf1166c9_102 + - binutils_impl_linux-aarch64=2.45.1=default_h5f4c503_102 + - binutils_linux-aarch64=2.45.1=default_hf1166c9_102 - blas-devel=3.11.0=5_h9678261_openblas - bleach=6.3.0=pyhcf101f3_1 - bleach-with-css=6.3.0=hbca2aae_1 @@ -49,7 +49,7 @@ dependencies: - cddlib=1!0.94m=h719063d_0 - certifi=2026.2.25=pyhd8ed1ab_0 - cffi=2.0.0=py313h897158f_1 - - charset-normalizer=3.4.5=pyhd8ed1ab_0 + - charset-normalizer=3.4.6=pyhd8ed1ab_0 - click=8.2.1=pyh707e725_0 - click-default-group=1.2.4=pyhd8ed1ab_1 - cliquer=1.23=he30d5cf_0 @@ -61,11 +61,11 @@ dependencies: - conda-lock=4.0.0=pyha191276_0 - conda-package-handling=2.4.0=pyh7900ff3_2 - conda-package-streaming=0.12.0=pyhd8ed1ab_0 - - conda-recipe-manager=0.10.0=pyhd8ed1ab_0 + - conda-recipe-manager=0.10.1=pyhd8ed1ab_0 - conda-souschef=3.0.1=pyhd8ed1ab_0 - contourpy=1.3.3=py313h75bc965_4 - conway-polynomials=0.10=pyhd8ed1ab_1 - - coverage=7.13.4=py313hfa222a2_0 + - coverage=7.13.5=py313hfa222a2_0 - cpp-expected=1.3.1=hdc560ac_0 - cpython=3.13.12=py313hd8ed1ab_100 - crashtest=0.4.1=pyhd8ed1ab_1 @@ -145,9 +145,9 @@ dependencies: - icu=75.1=hf9b3779_0 - idna=3.11=pyhd8ed1ab_0 - igraph=0.10.17=h1827c4d_1 - - imagesize=1.4.1=pyhd8ed1ab_0 + - imagesize=2.0.0=pyhd8ed1ab_0 - iml=1.0.5=h15043fe_1004 - - importlib-metadata=8.7.0=pyhe01879c_1 + - importlib-metadata=8.8.0=pyhcf101f3_0 - importlib_resources=6.5.2=pyhd8ed1ab_0 - iniconfig=2.3.0=pyhd8ed1ab_0 - ipykernel=7.2.0=pyha191276_1 @@ -161,7 +161,7 @@ dependencies: - jeepney=0.9.0=pyhd8ed1ab_0 - jinja2=3.1.6=pyhcf101f3_1 - jsonpatch=1.33=pyhd8ed1ab_1 - - jsonpointer=3.0.0=pyhcf101f3_3 + - jsonpointer=3.1.0=pyhcf101f3_0 - jsonschema=4.26.0=pyhcf101f3_0 - jsonschema-specifications=2025.9.1=pyhcf101f3_0 - jupyter-sphinx=0.5.3=pyha770c72_5 @@ -176,7 +176,7 @@ dependencies: - krb5=1.21.3=h50a48e9_0 - lcalc=2.1.1=h30a6b3d_0 - lcms2=2.18=h9d5b58d_0 - - ld_impl_linux-aarch64=2.45.1=default_h1979696_101 + - ld_impl_linux-aarch64=2.45.1=default_h1979696_102 - lerc=4.1.0=h52b7260_0 - libarchive=3.8.6=gpl_hbe7d12b_100 - libblas=3.11.0=5_haddc8a3_openblas @@ -228,7 +228,7 @@ dependencies: - libmamba-spdlog=2.5.0=h3ad78e7_0 - libmambapy=2.5.0=py313h44afa9f_0 - libmpdec=4.0.0=he30d5cf_1 - - libnghttp2=1.67.0=ha888d0e_0 + - libnghttp2=1.68.1=hd3077d7_0 - libntlm=1.4=hf897c2e_1002 - libopenblas=0.3.30=pthreads_h9d3fd7e_4 - libopengl=1.7.0=hd24410f_2 @@ -254,7 +254,7 @@ dependencies: - libxml2-16=2.15.1=h8591a01_0 - libxml2-devel=2.15.1=h788dabe_0 - libxslt=1.1.43=h6700d25_1 - - libzlib=1.3.1=h86ecc28_2 + - libzlib=1.3.2=hdc9db2a_2 - linbox=1.7.1=h546e0e3_3 - lrcalc=2.1=hfae3067_8 - lz4-c=1.10.0=h5ad3122_1 @@ -267,18 +267,18 @@ dependencies: - matplotlib=3.10.8=py313h1258fbd_0 - matplotlib-base=3.10.8=py313h5dbd8ee_0 - matplotlib-inline=0.2.1=pyhd8ed1ab_0 - - maxima=5.47.0=h043f013_3 + - maxima=5.49.0=h9d48c1e_0 - mccabe=0.7.0=pyhd8ed1ab_1 - memory-allocator=0.2.0=py313h6194ac5_1 - menuinst=2.4.2=py313hd81a959_0 - - meson=1.10.1=pyhcf101f3_0 + - meson=1.10.2=pyhcf101f3_0 - meson-python=0.19.0=pyh7e86bf3_2 - mistune=3.2.0=pyhcf101f3_0 - more-itertools=10.8.0=pyhcf101f3_1 - mpc=1.3.1=h783934e_1 - mpfi=1.5.4=h846f343_1001 - - mpfr=4.2.1=h2305555_3 - - mpmath=1.3.0=pyhd8ed1ab_1 + - mpfr=4.2.2=h3faef18_0 + - mpmath=1.4.1=pyhd8ed1ab_0 - msgpack-python=1.1.2=py313he6111f0_1 - munkres=1.1.4=pyhd8ed1ab_1 - nauty=2.9.1=he30d5cf_0 @@ -293,14 +293,14 @@ dependencies: - ninja=1.13.2=hdc560ac_0 - nlohmann_json-abi=3.12.0=h0f90c79_1 - ntl=11.6.0=h2d393da_0 - - numpy=2.4.2=py313h11e5ff7_1 + - numpy=2.4.3=py313h11e5ff7_0 - openblas=0.3.30=pthreads_h3a8cbd8_4 - openjpeg=2.5.4=h5da879a_0 - openldap=2.6.10=h30c48ee_0 - openssl=3.6.1=h546c87b_1 - packaging=26.0=pyhcf101f3_0 - palp=2.21=he30d5cf_0 - - pandoc=3.9=h8af1aa0_0 + - pandoc=3.9.0.2=h8af1aa0_0 - pandocfilters=1.5.0=pyhd8ed1ab_0 - pango=1.56.4=he55ef5b_0 - pari=2.17.3=hfb864d9_0_pthread @@ -339,9 +339,9 @@ dependencies: - pydantic=2.12.5=pyhcf101f3_1 - pydantic-core=2.41.5=py313h5e7b836_1 - pyflakes=3.4.0=pyhd8ed1ab_0 - - pygithub=2.8.1=pyhd8ed1ab_0 + - pygithub=2.9.0=pyhd8ed1ab_0 - pygments=2.19.2=pyhd8ed1ab_0 - - pyjwt=2.11.0=pyhcf101f3_1 + - pyjwt=2.12.1=pyhcf101f3_0 - pynacl=1.6.2=py313h6194ac5_0 - pyparsing=3.3.2=pyhcf101f3_0 - pyproject-metadata=0.11.0=pyhd8ed1ab_0 @@ -377,11 +377,11 @@ dependencies: - restructuredtext_lint=2.0.2=pyhd8ed1ab_0 - roman-numerals=4.1.0=pyhd8ed1ab_0 - rpds-py=0.30.0=py313h8f1d341_0 - - rpy2=3.6.5=py313r45h4cee7d6_0 + - rpy2=3.6.6=py313r45h4cee7d6_0 - ruamel.yaml=0.18.17=py313h62ef0ea_2 - ruamel.yaml.clib=0.2.15=py313h62ef0ea_1 - ruamel.yaml.jinja2=0.2.7=pyhd8ed1ab_1 - - ruff=0.15.5=he9a2e21_0 + - ruff=0.15.7=h9f438e6_1 - rw=0.9=h31becfc_2 - sagemath-db-elliptic-curves=0.8.1=hecc5488_0 - sagemath-db-graphs=20210214=hd8ed1ab_0 @@ -421,7 +421,7 @@ dependencies: - tachyon=0.99b6=ha0bfc61_1002 - tinycss2=1.4.0=pyhd8ed1ab_0 - tk=8.6.13=noxft_h0dc03b3_103 - - tktable=2.10=h89546af_7 + - tktable=2.10=h5f05d98_8 - tomli=2.4.0=pyhcf101f3_0 - tomli-w=1.2.0=pyhd8ed1ab_0 - tomlkit=0.14.0=pyha770c72_0 @@ -430,16 +430,16 @@ dependencies: - traitlets=5.14.3=pyhd8ed1ab_1 - trove-classifiers=2026.1.14.14=pyhd8ed1ab_0 - truststore=0.10.4=pyhcf101f3_0 - - ty=0.0.21=h1339683_0 + - ty=0.0.24=h1339683_0 - typing-extensions=4.15.0=h396c80c_0 - typing-inspection=0.4.2=pyhd8ed1ab_1 - typing_extensions=4.15.0=pyhcf101f3_0 - tzdata=2025c=hc9c84f9_1 - tzlocal=5.3.1=pyh8f84b5b_0 - urllib3=2.6.3=pyhd8ed1ab_0 - - uv=0.10.9=hf7c115b_0 + - uv=0.10.12=he5ca43f_0 - virtualenv=20.39.0=pyhcf101f3_0 - - wayland=1.24.0=h4f8a99f_1 + - wayland=1.25.0=h4f8a99f_0 - wcwidth=0.6.0=pyhd8ed1ab_0 - webencodings=0.5.1=pyhd8ed1ab_3 - widgetsnbextension=4.0.15=pyhd8ed1ab_0 @@ -474,7 +474,7 @@ dependencies: - yaml-cpp=0.8.0=h5ad3122_0 - zeromq=4.3.5=hefbcea8_9 - zipp=3.23.0=pyhcf101f3_1 - - zlib=1.3.1=h86ecc28_2 + - zlib=1.3.2=hdc9db2a_2 - zlib-ng=2.3.3=ha7cb516_1 - zstandard=0.25.0=py313h62ef0ea_1 - zstd=1.5.7=h85ac4a6_6 diff --git a/environment-3.13-linux.yml b/environment-3.13-linux.yml index 098cbce8e2d..f71e77f0c75 100644 --- a/environment-3.13-linux.yml +++ b/environment-3.13-linux.yml @@ -1,7 +1,7 @@ name: sage-dev # Generated by conda-lock. # platform: linux-64 -# input_hash: 09a8850bca8a32429d72e57f1cf0314e994e241665cc13272bca8512de1937b4 +# input_hash: 976bede6ce7b07a8206ab443c859efd96f242357b21a8d86239c3a71ef530194 channels: - conda-forge @@ -18,7 +18,7 @@ dependencies: - archspec=0.2.5=pyhd8ed1ab_0 - arpack=3.9.1=nompi_hf03ea27_102 - asttokens=3.0.1=pyhd8ed1ab_0 - - attrs=25.4.0=pyhcf101f3_1 + - attrs=26.1.0=pyhcf101f3_0 - autoconf=2.72=pl5321hbb4ee43_1 - automake=1.17=pl5321ha770c72_0 - babel=2.18.0=pyhcf101f3_1 @@ -27,9 +27,9 @@ dependencies: - backports.zstd=1.3.0=py313h18e8e13_0 - bdw-gc=8.2.12=h54a6638_0 - beautifulsoup4=4.14.3=pyha770c72_0 - - binutils=2.45.1=default_h4852527_101 - - binutils_impl_linux-64=2.45.1=default_hfdba357_101 - - binutils_linux-64=2.45.1=default_h4852527_101 + - binutils=2.45.1=default_h4852527_102 + - binutils_impl_linux-64=2.45.1=default_hfdba357_102 + - binutils_linux-64=2.45.1=default_h4852527_102 - blas-devel=3.11.0=5_h1ea3ea9_openblas - bleach=6.3.0=pyhcf101f3_1 - bleach-with-css=6.3.0=hbca2aae_1 @@ -50,7 +50,7 @@ dependencies: - cddlib=1!0.94m=h9202a9a_0 - certifi=2026.2.25=pyhd8ed1ab_0 - cffi=2.0.0=py313hf46b229_1 - - charset-normalizer=3.4.5=pyhd8ed1ab_0 + - charset-normalizer=3.4.6=pyhd8ed1ab_0 - click=8.2.1=pyh707e725_0 - click-default-group=1.2.4=pyhd8ed1ab_1 - cliquer=1.23=hb03c661_0 @@ -62,11 +62,11 @@ dependencies: - conda-lock=4.0.0=pyha191276_0 - conda-package-handling=2.4.0=pyh7900ff3_2 - conda-package-streaming=0.12.0=pyhd8ed1ab_0 - - conda-recipe-manager=0.10.0=pyhd8ed1ab_0 + - conda-recipe-manager=0.10.1=pyhd8ed1ab_0 - conda-souschef=3.0.1=pyhd8ed1ab_0 - contourpy=1.3.3=py313hc8edb43_4 - conway-polynomials=0.10=pyhd8ed1ab_1 - - coverage=7.13.4=py313h3dea7bd_0 + - coverage=7.13.5=py313h3dea7bd_0 - cpp-expected=1.3.1=h171cf75_0 - cpython=3.13.12=py313hd8ed1ab_100 - crashtest=0.4.1=pyhd8ed1ab_1 @@ -146,9 +146,9 @@ dependencies: - icu=75.1=he02047a_0 - idna=3.11=pyhd8ed1ab_0 - igraph=1.0.1=hfe3e89f_0 - - imagesize=1.4.1=pyhd8ed1ab_0 + - imagesize=2.0.0=pyhd8ed1ab_0 - iml=1.0.5=h623f65a_1004 - - importlib-metadata=8.7.0=pyhe01879c_1 + - importlib-metadata=8.8.0=pyhcf101f3_0 - importlib_resources=6.5.2=pyhd8ed1ab_0 - iniconfig=2.3.0=pyhd8ed1ab_0 - ipykernel=7.2.0=pyha191276_1 @@ -162,7 +162,7 @@ dependencies: - jeepney=0.9.0=pyhd8ed1ab_0 - jinja2=3.1.6=pyhcf101f3_1 - jsonpatch=1.33=pyhd8ed1ab_1 - - jsonpointer=3.0.0=pyhcf101f3_3 + - jsonpointer=3.1.0=pyhcf101f3_0 - jsonschema=4.26.0=pyhcf101f3_0 - jsonschema-specifications=2025.9.1=pyhcf101f3_0 - jupyter-sphinx=0.5.3=pyha770c72_5 @@ -177,7 +177,7 @@ dependencies: - krb5=1.21.3=h659f571_0 - lcalc=2.1.1=h9cf73fc_0 - lcms2=2.18=h0c24ade_0 - - ld_impl_linux-64=2.45.1=default_hbd61a6d_101 + - ld_impl_linux-64=2.45.1=default_hbd61a6d_102 - lerc=4.1.0=hdb68285_0 - libarchive=3.8.6=gpl_hc2c16d8_100 - libblas=3.11.0=5_h4a7cf45_openblas @@ -229,7 +229,7 @@ dependencies: - libmamba-spdlog=2.5.0=h12fcf84_0 - libmambapy=2.5.0=py313h4616538_0 - libmpdec=4.0.0=hb03c661_1 - - libnghttp2=1.67.0=had1ee68_0 + - libnghttp2=1.68.1=h877daf1_0 - libntlm=1.8=hb9d3cd8_0 - libopenblas=0.3.30=pthreads_h94d23a6_4 - libopengl=1.7.0=ha4b6fd6_2 @@ -255,7 +255,7 @@ dependencies: - libxml2-16=2.15.1=ha9997c6_0 - libxml2-devel=2.15.1=h26afc86_0 - libxslt=1.1.43=h711ed8c_1 - - libzlib=1.3.1=hb9d3cd8_2 + - libzlib=1.3.2=h25fd6f3_2 - linbox=1.7.1=h700e6c1_3 - lrcalc=2.1=hecca717_8 - lrslib=73.a=he8b4956_0 @@ -269,18 +269,18 @@ dependencies: - matplotlib=3.10.8=py313h78bf25f_0 - matplotlib-base=3.10.8=py313h683a580_0 - matplotlib-inline=0.2.1=pyhd8ed1ab_0 - - maxima=5.47.0=h75482ee_3 + - maxima=5.49.0=h0673e8f_0 - mccabe=0.7.0=pyhd8ed1ab_1 - memory-allocator=0.2.0=py313h07c4f96_1 - menuinst=2.4.2=py313h78bf25f_0 - - meson=1.10.1=pyhcf101f3_0 + - meson=1.10.2=pyhcf101f3_0 - meson-python=0.19.0=pyh7e86bf3_2 - mistune=3.2.0=pyhcf101f3_0 - more-itertools=10.8.0=pyhcf101f3_1 - mpc=1.3.1=h24ddda3_1 - mpfi=1.5.4=h9f54685_1001 - - mpfr=4.2.1=h90cbb55_3 - - mpmath=1.3.0=pyhd8ed1ab_1 + - mpfr=4.2.2=he0a73b1_0 + - mpmath=1.4.1=pyhd8ed1ab_0 - msgpack-python=1.1.2=py313h7037e92_1 - munkres=1.1.4=pyhd8ed1ab_1 - nauty=2.9.1=hb03c661_0 @@ -295,14 +295,14 @@ dependencies: - ninja=1.13.2=h171cf75_0 - nlohmann_json-abi=3.12.0=h0f90c79_1 - ntl=11.6.0=h2d42b61_0 - - numpy=2.4.2=py313hf6604e3_1 + - numpy=2.4.3=py313hf6604e3_0 - openblas=0.3.30=pthreads_h6ec200e_4 - openjpeg=2.5.4=h55fea9a_0 - openldap=2.6.10=he970967_0 - openssl=3.6.1=h35e630c_1 - packaging=26.0=pyhcf101f3_0 - palp=2.21=hb03c661_0 - - pandoc=3.9=ha770c72_0 + - pandoc=3.9.0.2=ha770c72_0 - pandocfilters=1.5.0=pyhd8ed1ab_0 - pango=1.56.4=hadf4263_0 - pari=2.17.3=hab59ada_0_pthread @@ -341,9 +341,9 @@ dependencies: - pydantic=2.12.5=pyhcf101f3_1 - pydantic-core=2.41.5=py313h843e2db_1 - pyflakes=3.4.0=pyhd8ed1ab_0 - - pygithub=2.8.1=pyhd8ed1ab_0 + - pygithub=2.9.0=pyhd8ed1ab_0 - pygments=2.19.2=pyhd8ed1ab_0 - - pyjwt=2.11.0=pyhcf101f3_1 + - pyjwt=2.12.1=pyhcf101f3_0 - pynacl=1.6.2=py313h07c4f96_0 - pyparsing=3.3.2=pyhcf101f3_0 - pyproject-metadata=0.11.0=pyhd8ed1ab_0 @@ -379,11 +379,11 @@ dependencies: - restructuredtext_lint=2.0.2=pyhd8ed1ab_0 - roman-numerals=4.1.0=pyhd8ed1ab_0 - rpds-py=0.30.0=py313h843e2db_0 - - rpy2=3.6.5=py313r45h269ec90_0 + - rpy2=3.6.6=py313r45h269ec90_0 - ruamel.yaml=0.18.17=py313h54dd161_2 - ruamel.yaml.clib=0.2.15=py313h54dd161_1 - ruamel.yaml.jinja2=0.2.7=pyhd8ed1ab_1 - - ruff=0.15.5=h40fa522_0 + - ruff=0.15.7=h7805a7d_1 - rw=0.7=1 - sagemath-db-elliptic-curves=0.8.1=hecc5488_0 - sagemath-db-graphs=20210214=hd8ed1ab_0 @@ -423,7 +423,7 @@ dependencies: - tachyon=0.99b6=hba7d16a_1002 - tinycss2=1.4.0=pyhd8ed1ab_0 - tk=8.6.13=noxft_h366c992_103 - - tktable=2.10=h8d826fa_7 + - tktable=2.10=h5a7a40f_8 - tomli=2.4.0=pyhcf101f3_0 - tomli-w=1.2.0=pyhd8ed1ab_0 - tomlkit=0.14.0=pyha770c72_0 @@ -432,16 +432,16 @@ dependencies: - traitlets=5.14.3=pyhd8ed1ab_1 - trove-classifiers=2026.1.14.14=pyhd8ed1ab_0 - truststore=0.10.4=pyhcf101f3_0 - - ty=0.0.21=h4e94fc0_0 + - ty=0.0.24=h4e94fc0_0 - typing-extensions=4.15.0=h396c80c_0 - typing-inspection=0.4.2=pyhd8ed1ab_1 - typing_extensions=4.15.0=pyhcf101f3_0 - tzdata=2025c=hc9c84f9_1 - tzlocal=5.3.1=pyh8f84b5b_0 - urllib3=2.6.3=pyhd8ed1ab_0 - - uv=0.10.9=h6dd6661_0 + - uv=0.10.12=h0f56927_0 - virtualenv=20.39.0=pyhcf101f3_0 - - wayland=1.24.0=hd6090a7_1 + - wayland=1.25.0=hd6090a7_0 - wcwidth=0.6.0=pyhd8ed1ab_0 - webencodings=0.5.1=pyhd8ed1ab_3 - widgetsnbextension=4.0.15=pyhd8ed1ab_0 @@ -476,7 +476,7 @@ dependencies: - yaml-cpp=0.8.0=h3f2d84a_0 - zeromq=4.3.5=h387f397_9 - zipp=3.23.0=pyhcf101f3_1 - - zlib=1.3.1=hb9d3cd8_2 + - zlib=1.3.2=h25fd6f3_2 - zlib-ng=2.3.3=hceb46e0_1 - zstandard=0.25.0=py313h54dd161_1 - zstd=1.5.7=hb78ec9c_6 diff --git a/environment-3.13-macos-x86_64.yml b/environment-3.13-macos-x86_64.yml index 73c75132116..e3a75984cd8 100644 --- a/environment-3.13-macos-x86_64.yml +++ b/environment-3.13-macos-x86_64.yml @@ -1,7 +1,7 @@ name: sage-dev # Generated by conda-lock. # platform: osx-64 -# input_hash: 4f30e93417bdfaa4e495c094e11e7ff5b77f358bcb1b8847242daa96f2bfc286 +# input_hash: 175e1cb0387703265281db15d378f122ed4779be1baf46e3cc5b6dc0337dabf0 channels: - conda-forge @@ -18,7 +18,7 @@ dependencies: - archspec=0.2.5=pyhd8ed1ab_0 - arpack=3.9.1=nompi_hdfe9103_102 - asttokens=3.0.1=pyhd8ed1ab_0 - - attrs=25.4.0=pyhcf101f3_1 + - attrs=26.1.0=pyhcf101f3_0 - autoconf=2.72=pl5321had7229c_1 - automake=1.17=pl5321h694c41f_0 - babel=2.18.0=pyhcf101f3_1 @@ -50,7 +50,7 @@ dependencies: - cddlib=1!0.94m=h0f52abe_0 - certifi=2026.2.25=pyhd8ed1ab_0 - cffi=2.0.0=py313hf57695f_1 - - charset-normalizer=3.4.5=pyhd8ed1ab_0 + - charset-normalizer=3.4.6=pyhd8ed1ab_0 - clang=19.1.7=default_h1323312_8 - clang-19=19.1.7=default_h9399c5b_8 - clang_impl_osx-64=19.1.7=default_ha1a018a_8 @@ -70,11 +70,11 @@ dependencies: - conda-lock=4.0.0=pyh5552912_0 - conda-package-handling=2.4.0=pyh7900ff3_2 - conda-package-streaming=0.12.0=pyhd8ed1ab_0 - - conda-recipe-manager=0.10.0=pyhd8ed1ab_0 + - conda-recipe-manager=0.10.1=pyhd8ed1ab_0 - conda-souschef=3.0.1=pyhd8ed1ab_0 - contourpy=1.3.3=py313h98b818e_4 - conway-polynomials=0.10=pyhd8ed1ab_1 - - coverage=7.13.4=py313h7c6a591_0 + - coverage=7.13.5=py313h035b7d0_0 - cpp-expected=1.3.1=h0ba0a54_0 - cpython=3.13.12=py313hd8ed1ab_100 - crashtest=0.4.1=pyhd8ed1ab_1 @@ -145,9 +145,9 @@ dependencies: - icu=75.1=h120a0e1_0 - idna=3.11=pyhd8ed1ab_0 - igraph=1.0.1=h049a311_0 - - imagesize=1.4.1=pyhd8ed1ab_0 + - imagesize=2.0.0=pyhd8ed1ab_0 - iml=1.0.5=h61918c1_1004 - - importlib-metadata=8.7.0=pyhe01879c_1 + - importlib-metadata=8.8.0=pyhcf101f3_0 - importlib_resources=6.5.2=pyhd8ed1ab_0 - iniconfig=2.3.0=pyhd8ed1ab_0 - ipykernel=7.2.0=pyh5552912_1 @@ -161,7 +161,7 @@ dependencies: - jedi=0.19.2=pyhd8ed1ab_1 - jinja2=3.1.6=pyhcf101f3_1 - jsonpatch=1.33=pyhd8ed1ab_1 - - jsonpointer=3.0.0=pyhcf101f3_3 + - jsonpointer=3.1.0=pyhcf101f3_0 - jsonschema=4.26.0=pyhcf101f3_0 - jsonschema-specifications=2025.9.1=pyhcf101f3_0 - jupyter-sphinx=0.5.3=pyha770c72_5 @@ -222,7 +222,7 @@ dependencies: - libmamba-spdlog=2.5.0=hb923e0c_0 - libmambapy=2.5.0=py313h399c52a_0 - libmpdec=4.0.0=hf3981d6_1 - - libnghttp2=1.67.0=h3338091_0 + - libnghttp2=1.68.1=h70048d4_0 - libpng=1.6.55=h07817ec_0 - libsigtool=0.1.3=hc0f2934_0 - libsodium=1.0.21=hc6ced15_3 @@ -235,7 +235,7 @@ dependencies: - libxml2=2.15.1=h7b7ecba_0 - libxml2-16=2.15.1=ha1d9b0f_0 - libxml2-devel=2.15.1=h7b7ecba_0 - - libzlib=1.3.1=hd23fc13_2 + - libzlib=1.3.2=hbb4bfdb_2 - linbox=1.7.1=h6dc5890_3 - llvm-openmp=22.1.0=h0d3cbff_0 - llvm-tools=19.1.7=hb0207f0_2 @@ -252,18 +252,18 @@ dependencies: - matplotlib=3.10.8=py313habf4b1d_0 - matplotlib-base=3.10.8=py313h4ad75b8_0 - matplotlib-inline=0.2.1=pyhd8ed1ab_0 - - maxima=5.47.0=h3080a4d_3 + - maxima=5.49.0=h6364e9d_0 - mccabe=0.7.0=pyhd8ed1ab_1 - memory-allocator=0.2.0=py313hf59fe81_1 - menuinst=2.4.2=py313habf4b1d_0 - - meson=1.10.1=pyhcf101f3_0 + - meson=1.10.2=pyhcf101f3_0 - meson-python=0.19.0=pyh7e86bf3_2 - mistune=3.2.0=pyhcf101f3_0 - more-itertools=10.8.0=pyhcf101f3_1 - mpc=1.3.1=h9d8efa1_1 - mpfi=1.5.4=h52b28e3_1001 - - mpfr=4.2.1=haed47dc_3 - - mpmath=1.3.0=pyhd8ed1ab_1 + - mpfr=4.2.2=h31caf2d_0 + - mpmath=1.4.1=pyhd8ed1ab_0 - msgpack-python=1.1.2=py313h5eff275_1 - munkres=1.1.4=pyhd8ed1ab_1 - nauty=2.9.1=h8616949_0 @@ -278,12 +278,12 @@ dependencies: - ninja=1.13.2=hfc0b2d5_0 - nlohmann_json-abi=3.12.0=h0f90c79_1 - ntl=11.6.0=h4c56b49_0 - - numpy=2.4.2=py313hf1665ba_1 + - numpy=2.4.3=py313hb870fc3_0 - openjpeg=2.5.4=h52bb76a_0 - openssl=3.6.1=hb6871ef_1 - packaging=26.0=pyhcf101f3_0 - palp=2.21=h8616949_0 - - pandoc=3.9=h694c41f_0 + - pandoc=3.9.0.2=h694c41f_0 - pandocfilters=1.5.0=pyhd8ed1ab_0 - pango=1.56.4=h6ef8af8_0 - pari=2.17.3=h0ced257_0_pthread @@ -322,9 +322,9 @@ dependencies: - pydantic=2.12.5=pyhcf101f3_1 - pydantic-core=2.41.5=py313hcc225dc_1 - pyflakes=3.4.0=pyhd8ed1ab_0 - - pygithub=2.8.1=pyhd8ed1ab_0 + - pygithub=2.9.0=pyhd8ed1ab_0 - pygments=2.19.2=pyhd8ed1ab_0 - - pyjwt=2.11.0=pyhcf101f3_1 + - pyjwt=2.12.1=pyhcf101f3_0 - pynacl=1.6.2=py313hf61a874_1 - pyparsing=3.3.2=pyhcf101f3_0 - pyproject-metadata=0.11.0=pyhd8ed1ab_0 @@ -358,11 +358,11 @@ dependencies: - restructuredtext_lint=2.0.2=pyhd8ed1ab_0 - roman-numerals=4.1.0=pyhd8ed1ab_0 - rpds-py=0.30.0=py313hcc225dc_0 - - rpy2=3.6.5=py313r45h6bc3bb2_0 + - rpy2=3.6.6=py313r45h6bc3bb2_0 - ruamel.yaml=0.18.17=py313h16366db_2 - ruamel.yaml.clib=0.2.15=py313h16366db_1 - ruamel.yaml.jinja2=0.2.7=pyhd8ed1ab_1 - - ruff=0.15.5=h8ee721d_0 + - ruff=0.15.7=h16586dd_1 - rw=0.7=1 - sagemath-db-elliptic-curves=0.8.1=hecc5488_0 - sagemath-db-graphs=20210214=hd8ed1ab_0 @@ -402,7 +402,7 @@ dependencies: - tapi=1600.0.11.8=h8d8e812_0 - tinycss2=1.4.0=pyhd8ed1ab_0 - tk=8.6.13=h7142dee_3 - - tktable=2.10=h2c093e9_7 + - tktable=2.10=h8925a82_8 - tomli=2.4.0=pyhcf101f3_0 - tomli-w=1.2.0=pyhd8ed1ab_0 - tomlkit=0.14.0=pyha770c72_0 @@ -411,14 +411,14 @@ dependencies: - traitlets=5.14.3=pyhd8ed1ab_1 - trove-classifiers=2026.1.14.14=pyhd8ed1ab_0 - truststore=0.10.4=pyhcf101f3_0 - - ty=0.0.21=h479939e_0 + - ty=0.0.24=h479939e_0 - typing-extensions=4.15.0=h396c80c_0 - typing-inspection=0.4.2=pyhd8ed1ab_1 - typing_extensions=4.15.0=pyhcf101f3_0 - tzdata=2025c=hc9c84f9_1 - tzlocal=5.3.1=pyh8f84b5b_0 - urllib3=2.6.3=pyhd8ed1ab_0 - - uv=0.10.9=h7e0bed3_0 + - uv=0.10.12=hbc54fe3_0 - virtualenv=20.39.0=pyhcf101f3_0 - wcwidth=0.6.0=pyhd8ed1ab_0 - webencodings=0.5.1=pyhd8ed1ab_3 @@ -434,7 +434,7 @@ dependencies: - yaml-cpp=0.8.0=h92383a6_0 - zeromq=4.3.5=h27d9b8f_10 - zipp=3.23.0=pyhcf101f3_1 - - zlib=1.3.1=hd23fc13_2 + - zlib=1.3.2=hbb4bfdb_2 - zlib-ng=2.3.3=h8bce59a_1 - zstandard=0.25.0=py313hcb05632_1 - zstd=1.5.7=h3eecb57_6 diff --git a/environment-3.13-macos.yml b/environment-3.13-macos.yml index da4cc538864..f54dc05ff26 100644 --- a/environment-3.13-macos.yml +++ b/environment-3.13-macos.yml @@ -1,7 +1,7 @@ name: sage-dev # Generated by conda-lock. # platform: osx-arm64 -# input_hash: 588019b7c32d1eada449eea660d767ad9056f40c6089e8385b66ddd8b54c6fe5 +# input_hash: 892b3cbcc663a6c40faacf0e3851765d08777d1899d6d006cdc1828f77a1cb4a channels: - conda-forge @@ -17,7 +17,7 @@ dependencies: - archspec=0.2.5=pyhd8ed1ab_0 - arpack=3.9.1=nompi_h1f29f7c_102 - asttokens=3.0.1=pyhd8ed1ab_0 - - attrs=25.4.0=pyhcf101f3_1 + - attrs=26.1.0=pyhcf101f3_0 - autoconf=2.72=pl5321hd3c70e0_1 - automake=1.17=pl5321hce30654_0 - babel=2.18.0=pyhcf101f3_1 @@ -49,7 +49,7 @@ dependencies: - cddlib=1!0.94m=h6d7a090_0 - certifi=2026.2.25=pyhd8ed1ab_0 - cffi=2.0.0=py313h224173a_1 - - charset-normalizer=3.4.5=pyhd8ed1ab_0 + - charset-normalizer=3.4.6=pyhd8ed1ab_0 - clang=19.1.7=default_hf9bcbb7_8 - clang-19=19.1.7=default_hf3020a7_8 - clang_impl_osx-arm64=19.1.7=default_hc11f16d_8 @@ -69,11 +69,11 @@ dependencies: - conda-lock=4.0.0=pyh5552912_0 - conda-package-handling=2.4.0=pyh7900ff3_2 - conda-package-streaming=0.12.0=pyhd8ed1ab_0 - - conda-recipe-manager=0.10.0=pyhd8ed1ab_0 + - conda-recipe-manager=0.10.1=pyhd8ed1ab_0 - conda-souschef=3.0.1=pyhd8ed1ab_0 - contourpy=1.3.3=py313h2af2deb_4 - conway-polynomials=0.10=pyhd8ed1ab_1 - - coverage=7.13.4=py313h65a2061_0 + - coverage=7.13.5=py313h65a2061_0 - cpp-expected=1.3.1=h4f10f1e_0 - cpython=3.13.12=py313hd8ed1ab_100 - crashtest=0.4.1=pyhd8ed1ab_1 @@ -144,9 +144,9 @@ dependencies: - icu=75.1=hfee45f7_0 - idna=3.11=pyhd8ed1ab_0 - igraph=0.10.17=h73cadaf_1 - - imagesize=1.4.1=pyhd8ed1ab_0 + - imagesize=2.0.0=pyhd8ed1ab_0 - iml=1.0.5=hd73f12c_1004 - - importlib-metadata=8.7.0=pyhe01879c_1 + - importlib-metadata=8.8.0=pyhcf101f3_0 - importlib_resources=6.5.2=pyhd8ed1ab_0 - iniconfig=2.3.0=pyhd8ed1ab_0 - ipykernel=7.2.0=pyh5552912_1 @@ -160,7 +160,7 @@ dependencies: - jedi=0.19.2=pyhd8ed1ab_1 - jinja2=3.1.6=pyhcf101f3_1 - jsonpatch=1.33=pyhd8ed1ab_1 - - jsonpointer=3.0.0=pyhcf101f3_3 + - jsonpointer=3.1.0=pyhcf101f3_0 - jsonschema=4.26.0=pyhcf101f3_0 - jsonschema-specifications=2025.9.1=pyhcf101f3_0 - jupyter-sphinx=0.5.3=pyha770c72_5 @@ -221,7 +221,7 @@ dependencies: - libmamba-spdlog=2.5.0=h85b9800_0 - libmambapy=2.5.0=py313hac152a8_0 - libmpdec=4.0.0=h84a0fba_1 - - libnghttp2=1.67.0=hc438710_0 + - libnghttp2=1.68.1=h8f3e76b_0 - libpng=1.6.55=h132b30e_0 - libsigtool=0.1.3=h98dc951_0 - libsodium=1.0.21=h1a92334_3 @@ -234,7 +234,7 @@ dependencies: - libxml2=2.15.1=h9329255_0 - libxml2-16=2.15.1=h0ff4647_0 - libxml2-devel=2.15.1=h9329255_0 - - libzlib=1.3.1=h8359307_2 + - libzlib=1.3.2=h8088a28_2 - linbox=1.7.1=hc59a8de_3 - llvm-openmp=22.1.0=hc7d1edf_0 - llvm-tools=19.1.7=h855ad52_2 @@ -250,18 +250,18 @@ dependencies: - matplotlib=3.10.8=py313h39782a4_0 - matplotlib-base=3.10.8=py313h58042b9_0 - matplotlib-inline=0.2.1=pyhd8ed1ab_0 - - maxima=5.47.0=hd2c4bfb_3 + - maxima=5.49.0=h4c1ea7d_0 - mccabe=0.7.0=pyhd8ed1ab_1 - memory-allocator=0.2.0=py313h0997733_1 - menuinst=2.4.2=py313h8f79df9_0 - - meson=1.10.1=pyhcf101f3_0 + - meson=1.10.2=pyhcf101f3_0 - meson-python=0.19.0=pyh7e86bf3_2 - mistune=3.2.0=pyhcf101f3_0 - more-itertools=10.8.0=pyhcf101f3_1 - mpc=1.3.1=h8f1351a_1 - mpfi=1.5.4=hbde5f5b_1001 - - mpfr=4.2.1=hb693164_3 - - mpmath=1.3.0=pyhd8ed1ab_1 + - mpfr=4.2.2=h6bc93b0_0 + - mpmath=1.4.1=pyhd8ed1ab_0 - msgpack-python=1.1.2=py313ha61f8ec_1 - munkres=1.1.4=pyhd8ed1ab_1 - nauty=2.9.1=hf22a7ee_0 @@ -276,12 +276,12 @@ dependencies: - ninja=1.13.2=h49c215f_0 - nlohmann_json-abi=3.12.0=h0f90c79_1 - ntl=11.6.0=h99f6ba7_0 - - numpy=2.4.2=py313h16eae64_1 + - numpy=2.4.3=py313he4a34aa_0 - openjpeg=2.5.4=hd9e9057_0 - openssl=3.6.1=hd24854e_1 - packaging=26.0=pyhcf101f3_0 - palp=2.21=hc919400_0 - - pandoc=3.9=hce30654_0 + - pandoc=3.9.0.2=hce30654_0 - pandocfilters=1.5.0=pyhd8ed1ab_0 - pango=1.56.4=h875632e_0 - pari=2.17.3=h6fad181_0_pthread @@ -320,9 +320,9 @@ dependencies: - pydantic=2.12.5=pyhcf101f3_1 - pydantic-core=2.41.5=py313h2c089d5_1 - pyflakes=3.4.0=pyhd8ed1ab_0 - - pygithub=2.8.1=pyhd8ed1ab_0 + - pygithub=2.9.0=pyhd8ed1ab_0 - pygments=2.19.2=pyhd8ed1ab_0 - - pyjwt=2.11.0=pyhcf101f3_1 + - pyjwt=2.12.1=pyhcf101f3_0 - pynacl=1.6.2=py313h6940bce_1 - pyparsing=3.3.2=pyhcf101f3_0 - pyproject-metadata=0.11.0=pyhd8ed1ab_0 @@ -356,11 +356,11 @@ dependencies: - restructuredtext_lint=2.0.2=pyhd8ed1ab_0 - roman-numerals=4.1.0=pyhd8ed1ab_0 - rpds-py=0.30.0=py313h2c089d5_0 - - rpy2=3.6.5=py313r45he5fa5e1_0 + - rpy2=3.6.6=py313r45he5fa5e1_0 - ruamel.yaml=0.18.17=py313h6688731_2 - ruamel.yaml.clib=0.2.15=py313h6688731_1 - ruamel.yaml.jinja2=0.2.7=pyhd8ed1ab_1 - - ruff=0.15.5=h279115b_0 + - ruff=0.15.7=hc5c3a1d_1 - rw=0.9=h93a5062_2 - sagemath-db-elliptic-curves=0.8.1=hecc5488_0 - sagemath-db-graphs=20210214=hd8ed1ab_0 @@ -400,7 +400,7 @@ dependencies: - tapi=1600.0.11.8=h997e182_0 - tinycss2=1.4.0=pyhd8ed1ab_0 - tk=8.6.13=h010d191_3 - - tktable=2.10=h3c7de25_7 + - tktable=2.10=h28d2b5e_8 - tomli=2.4.0=pyhcf101f3_0 - tomli-w=1.2.0=pyhd8ed1ab_0 - tomlkit=0.14.0=pyha770c72_0 @@ -409,14 +409,14 @@ dependencies: - traitlets=5.14.3=pyhd8ed1ab_1 - trove-classifiers=2026.1.14.14=pyhd8ed1ab_0 - truststore=0.10.4=pyhcf101f3_0 - - ty=0.0.21=ha73ee7d_0 + - ty=0.0.24=ha73ee7d_0 - typing-extensions=4.15.0=h396c80c_0 - typing-inspection=0.4.2=pyhd8ed1ab_1 - typing_extensions=4.15.0=pyhcf101f3_0 - tzdata=2025c=hc9c84f9_1 - tzlocal=5.3.1=pyh8f84b5b_0 - urllib3=2.6.3=pyhd8ed1ab_0 - - uv=0.10.9=h9b11cc2_0 + - uv=0.10.12=h2a61971_0 - virtualenv=20.39.0=pyhcf101f3_0 - wcwidth=0.6.0=pyhd8ed1ab_0 - webencodings=0.5.1=pyhd8ed1ab_3 @@ -432,7 +432,7 @@ dependencies: - yaml-cpp=0.8.0=ha1acc90_0 - zeromq=4.3.5=h4818236_10 - zipp=3.23.0=pyhcf101f3_1 - - zlib=1.3.1=h8359307_2 + - zlib=1.3.2=h8088a28_2 - zlib-ng=2.3.3=hed4e4f5_1 - zstandard=0.25.0=py313h9734d34_1 - zstd=1.5.7=hbf9d68e_6 diff --git a/environment-3.13-win.yml b/environment-3.13-win.yml index 180b7e50c8f..8ec1b46977d 100644 --- a/environment-3.13-win.yml +++ b/environment-3.13-win.yml @@ -1,7 +1,7 @@ name: sage-dev # Generated by conda-lock. # platform: win-64 -# input_hash: ecdc7a50414e733d3f6b8b1f74622374e743d0fb151cd952bf5c91ef0a7cec4a +# input_hash: c9c27e8d87ecec6109159e2bd6e0b58d880ff0bcc261b3e8ef9484d84de5043b channels: - conda-forge @@ -16,13 +16,13 @@ dependencies: - appdirs=1.4.4=pyhd8ed1ab_1 - archspec=0.2.5=pyhd8ed1ab_0 - asttokens=3.0.1=pyhd8ed1ab_0 - - attrs=25.4.0=pyhcf101f3_1 + - attrs=26.1.0=pyhcf101f3_0 - babel=2.18.0=pyhcf101f3_1 - backports=1.0=pyhd8ed1ab_5 - backports.tarfile=1.2.0=pyhcf101f3_2 - backports.zstd=1.3.0=py313h2a31948_0 - beautifulsoup4=4.14.3=pyha770c72_0 - - binutils_impl_win-64=2.45.1=default_ha84baeb_101 + - binutils_impl_win-64=2.45.1=default_ha84baeb_102 - blas-devel=3.11.0=5_ha590de0_openblas - bleach=6.3.0=pyhcf101f3_1 - bleach-with-css=6.3.0=hbca2aae_1 @@ -39,7 +39,7 @@ dependencies: - cairo=1.18.4=h477c42c_1 - certifi=2026.2.25=pyhd8ed1ab_0 - cffi=2.0.0=py313h5ea7bf4_1 - - charset-normalizer=3.4.5=pyhd8ed1ab_0 + - charset-normalizer=3.4.6=pyhd8ed1ab_0 - clang=19.1.7=default_hac490eb_8 - clang-19=19.1.7=default_hac490eb_8 - click=8.2.1=pyh7428d3b_0 @@ -53,11 +53,11 @@ dependencies: - conda-lock=4.0.0=pyh6dadd2b_0 - conda-package-handling=2.4.0=pyh7900ff3_2 - conda-package-streaming=0.12.0=pyhd8ed1ab_0 - - conda-recipe-manager=0.10.0=pyhd8ed1ab_0 + - conda-recipe-manager=0.10.1=pyhd8ed1ab_0 - conda-souschef=3.0.1=pyhd8ed1ab_0 - contourpy=1.3.3=py313h1a38498_4 - conway-polynomials=0.10=pyhd8ed1ab_1 - - coverage=7.13.4=py313hd650c13_0 + - coverage=7.13.5=py313hd650c13_0 - cpp-expected=1.3.1=h477610d_0 - cpython=3.13.12=py313hd8ed1ab_100 - crashtest=0.4.1=pyhd8ed1ab_1 @@ -112,14 +112,14 @@ dependencies: - gsl=2.7=hdfb1a43_0 - gxx_impl_win-64=15.2.0=h22fd5bf_18 - h2=4.3.0=pyhcf101f3_0 - - harfbuzz=13.1.1=h5a1b470_0 + - harfbuzz=13.2.0=h5a1b470_0 - hpack=4.1.0=pyhd8ed1ab_0 - hyperframe=6.1.0=pyhd8ed1ab_0 - - icu=78.2=h637d24d_0 + - icu=78.3=h637d24d_0 - idna=3.11=pyhd8ed1ab_0 - igraph=1.0.1=h9eeb67d_0 - - imagesize=1.4.1=pyhd8ed1ab_0 - - importlib-metadata=8.7.0=pyhe01879c_1 + - imagesize=2.0.0=pyhd8ed1ab_0 + - importlib-metadata=8.8.0=pyhcf101f3_0 - importlib_resources=6.5.2=pyhd8ed1ab_0 - iniconfig=2.3.0=pyhd8ed1ab_0 - ipykernel=7.2.0=pyh6dadd2b_1 @@ -132,7 +132,7 @@ dependencies: - jedi=0.19.2=pyhd8ed1ab_1 - jinja2=3.1.6=pyhcf101f3_1 - jsonpatch=1.33=pyhd8ed1ab_1 - - jsonpointer=3.0.0=pyhcf101f3_3 + - jsonpointer=3.1.0=pyhcf101f3_0 - jsonschema=4.26.0=pyhcf101f3_0 - jsonschema-specifications=2025.9.1=pyhcf101f3_0 - jupyter-sphinx=0.5.3=pyha770c72_5 @@ -144,7 +144,7 @@ dependencies: - kiwisolver=1.5.0=py313h1a38498_0 - krb5=1.22.2=h0ea6238_0 - lcms2=2.18=hf2c6c5f_0 - - ld_impl_win-64=2.45.1=default_hfd38196_101 + - ld_impl_win-64=2.45.1=default_hfd38196_102 - lerc=4.1.0=hd936e49_0 - libarchive=3.8.6=gpl_he24518a_100 - libblas=3.11.0=5_h0adab6e_openblas @@ -200,7 +200,7 @@ dependencies: - libxml2-16=2.15.2=h3cfd58e_0 - libxml2-devel=2.15.2=h779ef1b_0 - libxslt=1.1.43=h0fbe4c1_1 - - libzlib=1.3.1=h2466b09_2 + - libzlib=1.3.2=hfd05255_2 - lld=22.1.0=hc465015_0 - llvm-openmp=22.1.0=h4fa8253_0 - llvm-tools=19.1.7=h752b59f_2 @@ -208,7 +208,7 @@ dependencies: - lzo=2.10=h6a83c73_1002 - m2-conda-epoch=20250515=0_x86_64 - m2w64-sysroot_win-64=12.0.0.r4.gg4f2fc60ca=hd8ed1ab_10 - - m4ri=20250128=h26c196c_0 + - m4ri=20260122=h26c196c_0 - markupsafe=3.0.3=py313hd650c13_1 - matplotlib=3.10.8=py313hfa70ccb_0 - matplotlib-base=3.10.8=py313he1ded55_0 @@ -216,7 +216,7 @@ dependencies: - mccabe=0.7.0=pyhd8ed1ab_1 - memory-allocator=0.2.0=py313h5ea7bf4_1 - menuinst=2.4.2=py313hfe59770_0 - - meson=1.10.1=pyhcf101f3_0 + - meson=1.10.2=pyhcf101f3_0 - meson-python=0.19.0=pyh7e86bf3_2 - mingw-w64-ucrt-x86_64-crt-git=12.0.0.r4.gg4f2fc60ca=hd8ed1ab_10 - mingw-w64-ucrt-x86_64-headers-git=12.0.0.r4.gg4f2fc60ca=hd8ed1ab_10 @@ -225,8 +225,8 @@ dependencies: - mistune=3.2.0=pyhcf101f3_0 - more-itertools=10.8.0=pyhcf101f3_1 - mpc=1.3.1=h72bc38f_1 - - mpfr=4.2.1=hbc20e70_3 - - mpmath=1.3.0=pyhd8ed1ab_1 + - mpfr=4.2.2=h883a981_0 + - mpmath=1.4.1=pyhd8ed1ab_0 - msgpack-python=1.1.2=py313hf069bd2_1 - munkres=1.1.4=pyhd8ed1ab_1 - nauty=2.6.11=h2fa13f4_1 @@ -239,12 +239,12 @@ dependencies: - networkx=3.6.1=pyhcf101f3_0 - ninja=1.13.2=h477610d_0 - nlohmann_json-abi=3.12.0=h0f90c79_1 - - numpy=2.4.2=py313hce7ae62_1 + - numpy=2.4.3=py313ha8dc839_0 - openblas=0.3.30=pthreads_h4a7f399_4 - openjpeg=2.5.4=h0e57b4f_0 - openssl=3.6.1=hf411b9b_1 - packaging=26.0=pyhcf101f3_0 - - pandoc=3.9=h57928b3_0 + - pandoc=3.9.0.2=h57928b3_0 - pandocfilters=1.5.0=pyhd8ed1ab_0 - pari=2.17.3=h03725f3_0_pthread - pari-elldata=0.0.20161017=0 @@ -279,14 +279,14 @@ dependencies: - pydantic=2.12.5=pyhcf101f3_1 - pydantic-core=2.41.5=py313hfbe8231_1 - pyflakes=3.4.0=pyhd8ed1ab_0 - - pygithub=2.8.1=pyhd8ed1ab_0 + - pygithub=2.9.0=pyhd8ed1ab_0 - pygments=2.19.2=pyhd8ed1ab_0 - - pyjwt=2.11.0=pyhcf101f3_1 + - pyjwt=2.12.1=pyhcf101f3_0 - pynacl=1.6.2=py313hed4ef92_1 - pyparsing=3.3.2=pyhcf101f3_0 - pyproject-metadata=0.11.0=pyhd8ed1ab_0 - pyproject_hooks=1.2.0=pyhd8ed1ab_1 - - pyside6=6.10.2=py313h475ba69_0 + - pyside6=6.10.2=py313h0c3c3c1_1 - pysocks=1.7.1=pyh09c184e_7 - pytest=9.0.2=pyhcf101f3_0 - pytest-xdist=3.8.0=pyhd8ed1ab_0 @@ -304,8 +304,8 @@ dependencies: - pyyaml=6.0.3=py313hd650c13_1 - pyzmq=27.1.0=py312h343a6d4_2 - qhull=2020.2=hc790b64_5 - - qt6-main=6.10.2=h35725d6_5 - - r-base=4.5.3=h9c56521_0 + - qt6-main=6.10.2=pl5321hfcac499_6 + - r-base=4.5.3=h9c56521_1 - r-lattice=0.22_9=r45heceb674_0 - rapidfuzz=3.14.3=py313hfe59770_1 - referencing=0.37.0=pyhcf101f3_0 @@ -319,7 +319,7 @@ dependencies: - ruamel.yaml=0.18.17=py313h5fd188c_2 - ruamel.yaml.clib=0.2.15=py313h5fd188c_1 - ruamel.yaml.jinja2=0.2.7=pyhd8ed1ab_1 - - ruff=0.15.5=h5739096_0 + - ruff=0.15.7=h02f8532_1 - sagemath-db-elliptic-curves=0.8.1=hecc5488_0 - sagemath-db-graphs=20210214=hd8ed1ab_0 - sagemath-db-polytopes=20170220=1 @@ -351,7 +351,7 @@ dependencies: - sympy=1.14.0=pyh04b8f61_6 - tinycss2=1.4.0=pyhd8ed1ab_0 - tk=8.6.13=h6ed50ae_3 - - tktable=2.10=h7e9e0db_7 + - tktable=2.10=h2df95b8_8 - tomli=2.4.0=pyhcf101f3_0 - tomli-w=1.2.0=pyhd8ed1ab_0 - tomlkit=0.14.0=pyha770c72_0 @@ -360,14 +360,14 @@ dependencies: - traitlets=5.14.3=pyhd8ed1ab_1 - trove-classifiers=2026.1.14.14=pyhd8ed1ab_0 - truststore=0.10.4=pyhcf101f3_0 - - ty=0.0.21=hc21aad4_0 + - ty=0.0.24=hc21aad4_0 - typing-extensions=4.15.0=h396c80c_0 - typing-inspection=0.4.2=pyhd8ed1ab_1 - typing_extensions=4.15.0=pyhcf101f3_0 - tzdata=2025c=hc9c84f9_1 - ucrt=10.0.26100.0=h57928b3_0 - urllib3=2.6.3=pyhd8ed1ab_0 - - uv=0.10.9=h9b344b9_0 + - uv=0.10.12=hd149a40_0 - vc=14.3=h41ae7f8_34 - vc14_runtime=14.44.35208=h818238b_34 - vcomp14=14.44.35208=h818238b_34 @@ -395,7 +395,7 @@ dependencies: - yaml-cpp=0.8.0=he0c23c2_0 - zeromq=4.3.5=h507cc87_10 - zipp=3.23.0=pyhcf101f3_1 - - zlib=1.3.1=h2466b09_2 + - zlib=1.3.2=hfd05255_2 - zlib-ng=2.3.3=h0261ad2_1 - zstandard=0.25.0=py313h5fd188c_1 - zstd=1.5.7=h534d264_6 diff --git a/environment-3.14-linux-aarch64.yml b/environment-3.14-linux-aarch64.yml index 4e6b7d24bb0..386e29efaf4 100644 --- a/environment-3.14-linux-aarch64.yml +++ b/environment-3.14-linux-aarch64.yml @@ -1,7 +1,7 @@ name: sage-dev # Generated by conda-lock. # platform: linux-aarch64 -# input_hash: ec85b655b643be0f065f0647a31dc9ecf08f6e921c54666d47c93962cafbb6f9 +# input_hash: a72273386edee3b5ef0257473900a7d486bb73f1e280c9fdaac5dfc189a91592 channels: - conda-forge @@ -17,7 +17,7 @@ dependencies: - archspec=0.2.5=pyhd8ed1ab_0 - arpack=3.9.1=nompi_h6fc4d3a_102 - asttokens=3.0.1=pyhd8ed1ab_0 - - attrs=25.4.0=pyhcf101f3_1 + - attrs=26.1.0=pyhcf101f3_0 - autoconf=2.72=pl5321hbecfd40_1 - automake=1.17=pl5321h8af1aa0_0 - babel=2.18.0=pyhcf101f3_1 @@ -26,9 +26,9 @@ dependencies: - backports.zstd=1.3.0=py314h680f03e_0 - bdw-gc=8.2.12=h7ac5ae9_0 - beautifulsoup4=4.14.3=pyha770c72_0 - - binutils=2.45.1=default_hf1166c9_101 - - binutils_impl_linux-aarch64=2.45.1=default_h5f4c503_101 - - binutils_linux-aarch64=2.45.1=default_hf1166c9_101 + - binutils=2.45.1=default_hf1166c9_102 + - binutils_impl_linux-aarch64=2.45.1=default_h5f4c503_102 + - binutils_linux-aarch64=2.45.1=default_hf1166c9_102 - blas-devel=3.11.0=5_h9678261_openblas - bleach=6.3.0=pyhcf101f3_1 - bleach-with-css=6.3.0=hbca2aae_1 @@ -49,7 +49,7 @@ dependencies: - cddlib=1!0.94m=h719063d_0 - certifi=2026.2.25=pyhd8ed1ab_0 - cffi=2.0.0=py314h0bd77cf_1 - - charset-normalizer=3.4.5=pyhd8ed1ab_0 + - charset-normalizer=3.4.6=pyhd8ed1ab_0 - click=8.2.1=pyh707e725_0 - click-default-group=1.2.4=pyhd8ed1ab_1 - cliquer=1.23=he30d5cf_0 @@ -61,11 +61,11 @@ dependencies: - conda-lock=4.0.0=pyha191276_0 - conda-package-handling=2.4.0=pyh7900ff3_2 - conda-package-streaming=0.12.0=pyhd8ed1ab_0 - - conda-recipe-manager=0.10.0=pyhd8ed1ab_0 + - conda-recipe-manager=0.10.1=pyhd8ed1ab_0 - conda-souschef=3.0.1=pyhd8ed1ab_0 - contourpy=1.3.3=py314ha0cc70f_4 - conway-polynomials=0.10=pyhd8ed1ab_1 - - coverage=7.13.4=py314hb76de3f_0 + - coverage=7.13.5=py314hb76de3f_0 - cpp-expected=1.3.1=hdc560ac_0 - cpython=3.14.3=py314hd8ed1ab_101 - crashtest=0.4.1=pyhd8ed1ab_1 @@ -145,9 +145,9 @@ dependencies: - icu=75.1=hf9b3779_0 - idna=3.11=pyhd8ed1ab_0 - igraph=0.10.17=h1827c4d_1 - - imagesize=1.4.1=pyhd8ed1ab_0 + - imagesize=2.0.0=pyhd8ed1ab_0 - iml=1.0.5=h15043fe_1004 - - importlib-metadata=8.7.0=pyhe01879c_1 + - importlib-metadata=8.8.0=pyhcf101f3_0 - importlib_resources=6.5.2=pyhd8ed1ab_0 - iniconfig=2.3.0=pyhd8ed1ab_0 - ipykernel=7.2.0=pyha191276_1 @@ -161,7 +161,7 @@ dependencies: - jeepney=0.9.0=pyhd8ed1ab_0 - jinja2=3.1.6=pyhcf101f3_1 - jsonpatch=1.33=pyhd8ed1ab_1 - - jsonpointer=3.0.0=pyhcf101f3_3 + - jsonpointer=3.1.0=pyhcf101f3_0 - jsonschema=4.26.0=pyhcf101f3_0 - jsonschema-specifications=2025.9.1=pyhcf101f3_0 - jupyter-sphinx=0.5.3=pyha770c72_5 @@ -176,7 +176,7 @@ dependencies: - krb5=1.21.3=h50a48e9_0 - lcalc=2.1.1=h30a6b3d_0 - lcms2=2.18=h9d5b58d_0 - - ld_impl_linux-aarch64=2.45.1=default_h1979696_101 + - ld_impl_linux-aarch64=2.45.1=default_h1979696_102 - lerc=4.1.0=h52b7260_0 - libarchive=3.8.6=gpl_hbe7d12b_100 - libblas=3.11.0=5_haddc8a3_openblas @@ -228,7 +228,7 @@ dependencies: - libmamba-spdlog=2.5.0=h3ad78e7_0 - libmambapy=2.5.0=py314h709e558_0 - libmpdec=4.0.0=he30d5cf_1 - - libnghttp2=1.67.0=ha888d0e_0 + - libnghttp2=1.68.1=hd3077d7_0 - libntlm=1.4=hf897c2e_1002 - libopenblas=0.3.30=pthreads_h9d3fd7e_4 - libopengl=1.7.0=hd24410f_2 @@ -254,7 +254,7 @@ dependencies: - libxml2-16=2.15.1=h8591a01_0 - libxml2-devel=2.15.1=h788dabe_0 - libxslt=1.1.43=h6700d25_1 - - libzlib=1.3.1=h86ecc28_2 + - libzlib=1.3.2=hdc9db2a_2 - linbox=1.7.1=h546e0e3_3 - lrcalc=2.1=hfae3067_8 - lz4-c=1.10.0=h5ad3122_1 @@ -267,18 +267,18 @@ dependencies: - matplotlib=3.10.8=py314ha42fa4b_0 - matplotlib-base=3.10.8=py314h5be3d5a_0 - matplotlib-inline=0.2.1=pyhd8ed1ab_0 - - maxima=5.47.0=h043f013_3 + - maxima=5.49.0=h9d48c1e_0 - mccabe=0.7.0=pyhd8ed1ab_1 - memory-allocator=0.2.0=py314h51f160d_1 - menuinst=2.4.2=py314h28a4750_0 - - meson=1.10.1=pyhcf101f3_0 + - meson=1.10.2=pyhcf101f3_0 - meson-python=0.19.0=pyh7e86bf3_2 - mistune=3.2.0=pyhcf101f3_0 - more-itertools=10.8.0=pyhcf101f3_1 - mpc=1.3.1=h783934e_1 - mpfi=1.5.4=h846f343_1001 - - mpfr=4.2.1=h2305555_3 - - mpmath=1.3.0=pyhd8ed1ab_1 + - mpfr=4.2.2=h3faef18_0 + - mpmath=1.4.1=pyhd8ed1ab_0 - msgpack-python=1.1.2=py314hd7d8586_1 - munkres=1.1.4=pyhd8ed1ab_1 - nauty=2.9.1=he30d5cf_0 @@ -293,14 +293,14 @@ dependencies: - ninja=1.13.2=hdc560ac_0 - nlohmann_json-abi=3.12.0=h0f90c79_1 - ntl=11.6.0=h2d393da_0 - - numpy=2.4.2=py314haac167e_1 + - numpy=2.4.3=py314haac167e_0 - openblas=0.3.30=pthreads_h3a8cbd8_4 - openjpeg=2.5.4=h5da879a_0 - openldap=2.6.10=h30c48ee_0 - openssl=3.6.1=h546c87b_1 - packaging=26.0=pyhcf101f3_0 - palp=2.21=he30d5cf_0 - - pandoc=3.9=h8af1aa0_0 + - pandoc=3.9.0.2=h8af1aa0_0 - pandocfilters=1.5.0=pyhd8ed1ab_0 - pango=1.56.4=he55ef5b_0 - pari=2.17.3=hfb864d9_0_pthread @@ -339,9 +339,9 @@ dependencies: - pydantic=2.12.5=pyhcf101f3_1 - pydantic-core=2.41.5=py314h451b6cc_1 - pyflakes=3.4.0=pyhd8ed1ab_0 - - pygithub=2.8.1=pyhd8ed1ab_0 + - pygithub=2.9.0=pyhd8ed1ab_0 - pygments=2.19.2=pyhd8ed1ab_0 - - pyjwt=2.11.0=pyhcf101f3_1 + - pyjwt=2.12.1=pyhcf101f3_0 - pynacl=1.6.2=py314h51f160d_0 - pyparsing=3.3.2=pyhcf101f3_0 - pyproject-metadata=0.11.0=pyhd8ed1ab_0 @@ -377,11 +377,11 @@ dependencies: - restructuredtext_lint=2.0.2=pyhd8ed1ab_0 - roman-numerals=4.1.0=pyhd8ed1ab_0 - rpds-py=0.30.0=py314h02b7a91_0 - - rpy2=3.6.5=py314r45h937bac3_0 + - rpy2=3.6.6=py314r45h937bac3_0 - ruamel.yaml=0.18.17=py314h2e8dab5_2 - ruamel.yaml.clib=0.2.15=py314h2e8dab5_1 - ruamel.yaml.jinja2=0.2.7=pyhd8ed1ab_1 - - ruff=0.15.5=he9a2e21_0 + - ruff=0.15.7=h9f438e6_1 - rw=0.9=h31becfc_2 - sagemath-db-elliptic-curves=0.8.1=hecc5488_0 - sagemath-db-graphs=20210214=hd8ed1ab_0 @@ -421,7 +421,7 @@ dependencies: - tachyon=0.99b6=ha0bfc61_1002 - tinycss2=1.4.0=pyhd8ed1ab_0 - tk=8.6.13=noxft_h0dc03b3_103 - - tktable=2.10=h89546af_7 + - tktable=2.10=h5f05d98_8 - tomli=2.4.0=pyhcf101f3_0 - tomli-w=1.2.0=pyhd8ed1ab_0 - tomlkit=0.14.0=pyha770c72_0 @@ -430,7 +430,7 @@ dependencies: - traitlets=5.14.3=pyhd8ed1ab_1 - trove-classifiers=2026.1.14.14=pyhd8ed1ab_0 - truststore=0.10.4=pyhcf101f3_0 - - ty=0.0.21=h1339683_0 + - ty=0.0.24=h1339683_0 - typing-extensions=4.15.0=h396c80c_0 - typing-inspection=0.4.2=pyhd8ed1ab_1 - typing_extensions=4.15.0=pyhcf101f3_0 @@ -438,9 +438,9 @@ dependencies: - tzlocal=5.3.1=pyh8f84b5b_0 - unicodedata2=17.0.1=py314h51f160d_0 - urllib3=2.6.3=pyhd8ed1ab_0 - - uv=0.10.9=hf7c115b_0 + - uv=0.10.12=he5ca43f_0 - virtualenv=20.39.0=pyhcf101f3_0 - - wayland=1.24.0=h4f8a99f_1 + - wayland=1.25.0=h4f8a99f_0 - wcwidth=0.6.0=pyhd8ed1ab_0 - webencodings=0.5.1=pyhd8ed1ab_3 - widgetsnbextension=4.0.15=pyhd8ed1ab_0 @@ -475,7 +475,7 @@ dependencies: - yaml-cpp=0.8.0=h5ad3122_0 - zeromq=4.3.5=hefbcea8_9 - zipp=3.23.0=pyhcf101f3_1 - - zlib=1.3.1=h86ecc28_2 + - zlib=1.3.2=hdc9db2a_2 - zlib-ng=2.3.3=ha7cb516_1 - zstandard=0.25.0=py314h2e8dab5_1 - zstd=1.5.7=h85ac4a6_6 diff --git a/environment-3.14-linux.yml b/environment-3.14-linux.yml index 6638f6ae28f..0a7dd6ee7f6 100644 --- a/environment-3.14-linux.yml +++ b/environment-3.14-linux.yml @@ -1,7 +1,7 @@ name: sage-dev # Generated by conda-lock. # platform: linux-64 -# input_hash: e3ee0b1e8bb078b2e243f64794f9fe16661bd9b6a7e8de5eb0bfe182b917056f +# input_hash: dd885542176cab185930388cb366939aa9edce68d47764da0733902ea4ad364d channels: - conda-forge @@ -18,7 +18,7 @@ dependencies: - archspec=0.2.5=pyhd8ed1ab_0 - arpack=3.9.1=nompi_hf03ea27_102 - asttokens=3.0.1=pyhd8ed1ab_0 - - attrs=25.4.0=pyhcf101f3_1 + - attrs=26.1.0=pyhcf101f3_0 - autoconf=2.72=pl5321hbb4ee43_1 - automake=1.17=pl5321ha770c72_0 - babel=2.18.0=pyhcf101f3_1 @@ -27,9 +27,9 @@ dependencies: - backports.zstd=1.3.0=py314h680f03e_0 - bdw-gc=8.2.12=h54a6638_0 - beautifulsoup4=4.14.3=pyha770c72_0 - - binutils=2.45.1=default_h4852527_101 - - binutils_impl_linux-64=2.45.1=default_hfdba357_101 - - binutils_linux-64=2.45.1=default_h4852527_101 + - binutils=2.45.1=default_h4852527_102 + - binutils_impl_linux-64=2.45.1=default_hfdba357_102 + - binutils_linux-64=2.45.1=default_h4852527_102 - blas-devel=3.11.0=5_h1ea3ea9_openblas - bleach=6.3.0=pyhcf101f3_1 - bleach-with-css=6.3.0=hbca2aae_1 @@ -50,7 +50,7 @@ dependencies: - cddlib=1!0.94m=h9202a9a_0 - certifi=2026.2.25=pyhd8ed1ab_0 - cffi=2.0.0=py314h4a8dc5f_1 - - charset-normalizer=3.4.5=pyhd8ed1ab_0 + - charset-normalizer=3.4.6=pyhd8ed1ab_0 - click=8.2.1=pyh707e725_0 - click-default-group=1.2.4=pyhd8ed1ab_1 - cliquer=1.23=hb03c661_0 @@ -62,11 +62,11 @@ dependencies: - conda-lock=4.0.0=pyha191276_0 - conda-package-handling=2.4.0=pyh7900ff3_2 - conda-package-streaming=0.12.0=pyhd8ed1ab_0 - - conda-recipe-manager=0.10.0=pyhd8ed1ab_0 + - conda-recipe-manager=0.10.1=pyhd8ed1ab_0 - conda-souschef=3.0.1=pyhd8ed1ab_0 - contourpy=1.3.3=py314h97ea11e_4 - conway-polynomials=0.10=pyhd8ed1ab_1 - - coverage=7.13.4=py314h67df5f8_0 + - coverage=7.13.5=py314h67df5f8_0 - cpp-expected=1.3.1=h171cf75_0 - cpython=3.14.3=py314hd8ed1ab_101 - crashtest=0.4.1=pyhd8ed1ab_1 @@ -146,9 +146,9 @@ dependencies: - icu=75.1=he02047a_0 - idna=3.11=pyhd8ed1ab_0 - igraph=1.0.1=hfe3e89f_0 - - imagesize=1.4.1=pyhd8ed1ab_0 + - imagesize=2.0.0=pyhd8ed1ab_0 - iml=1.0.5=h623f65a_1004 - - importlib-metadata=8.7.0=pyhe01879c_1 + - importlib-metadata=8.8.0=pyhcf101f3_0 - importlib_resources=6.5.2=pyhd8ed1ab_0 - iniconfig=2.3.0=pyhd8ed1ab_0 - ipykernel=7.2.0=pyha191276_1 @@ -162,7 +162,7 @@ dependencies: - jeepney=0.9.0=pyhd8ed1ab_0 - jinja2=3.1.6=pyhcf101f3_1 - jsonpatch=1.33=pyhd8ed1ab_1 - - jsonpointer=3.0.0=pyhcf101f3_3 + - jsonpointer=3.1.0=pyhcf101f3_0 - jsonschema=4.26.0=pyhcf101f3_0 - jsonschema-specifications=2025.9.1=pyhcf101f3_0 - jupyter-sphinx=0.5.3=pyha770c72_5 @@ -177,7 +177,7 @@ dependencies: - krb5=1.21.3=h659f571_0 - lcalc=2.1.1=h9cf73fc_0 - lcms2=2.18=h0c24ade_0 - - ld_impl_linux-64=2.45.1=default_hbd61a6d_101 + - ld_impl_linux-64=2.45.1=default_hbd61a6d_102 - lerc=4.1.0=hdb68285_0 - libarchive=3.8.6=gpl_hc2c16d8_100 - libblas=3.11.0=5_h4a7cf45_openblas @@ -229,7 +229,7 @@ dependencies: - libmamba-spdlog=2.5.0=h12fcf84_0 - libmambapy=2.5.0=py314hcbd71af_0 - libmpdec=4.0.0=hb03c661_1 - - libnghttp2=1.67.0=had1ee68_0 + - libnghttp2=1.68.1=h877daf1_0 - libntlm=1.8=hb9d3cd8_0 - libopenblas=0.3.30=pthreads_h94d23a6_4 - libopengl=1.7.0=ha4b6fd6_2 @@ -255,7 +255,7 @@ dependencies: - libxml2-16=2.15.1=ha9997c6_0 - libxml2-devel=2.15.1=h26afc86_0 - libxslt=1.1.43=h711ed8c_1 - - libzlib=1.3.1=hb9d3cd8_2 + - libzlib=1.3.2=h25fd6f3_2 - linbox=1.7.1=h700e6c1_3 - lrcalc=2.1=hecca717_8 - lrslib=73.a=he8b4956_0 @@ -269,18 +269,18 @@ dependencies: - matplotlib=3.10.8=py314hdafbbf9_0 - matplotlib-base=3.10.8=py314h1194b4b_0 - matplotlib-inline=0.2.1=pyhd8ed1ab_0 - - maxima=5.47.0=h75482ee_3 + - maxima=5.49.0=h0673e8f_0 - mccabe=0.7.0=pyhd8ed1ab_1 - memory-allocator=0.2.0=py314h5bd0f2a_1 - menuinst=2.4.2=py314hdafbbf9_0 - - meson=1.10.1=pyhcf101f3_0 + - meson=1.10.2=pyhcf101f3_0 - meson-python=0.19.0=pyh7e86bf3_2 - mistune=3.2.0=pyhcf101f3_0 - more-itertools=10.8.0=pyhcf101f3_1 - mpc=1.3.1=h24ddda3_1 - mpfi=1.5.4=h9f54685_1001 - - mpfr=4.2.1=h90cbb55_3 - - mpmath=1.3.0=pyhd8ed1ab_1 + - mpfr=4.2.2=he0a73b1_0 + - mpmath=1.4.1=pyhd8ed1ab_0 - msgpack-python=1.1.2=py314h9891dd4_1 - munkres=1.1.4=pyhd8ed1ab_1 - nauty=2.9.1=hb03c661_0 @@ -295,14 +295,14 @@ dependencies: - ninja=1.13.2=h171cf75_0 - nlohmann_json-abi=3.12.0=h0f90c79_1 - ntl=11.6.0=h2d42b61_0 - - numpy=2.4.2=py314h2b28147_1 + - numpy=2.4.3=py314h2b28147_0 - openblas=0.3.30=pthreads_h6ec200e_4 - openjpeg=2.5.4=h55fea9a_0 - openldap=2.6.10=he970967_0 - openssl=3.6.1=h35e630c_1 - packaging=26.0=pyhcf101f3_0 - palp=2.21=hb03c661_0 - - pandoc=3.9=ha770c72_0 + - pandoc=3.9.0.2=ha770c72_0 - pandocfilters=1.5.0=pyhd8ed1ab_0 - pango=1.56.4=hadf4263_0 - pari=2.17.3=hab59ada_0_pthread @@ -341,9 +341,9 @@ dependencies: - pydantic=2.12.5=pyhcf101f3_1 - pydantic-core=2.41.5=py314h2e6c369_1 - pyflakes=3.4.0=pyhd8ed1ab_0 - - pygithub=2.8.1=pyhd8ed1ab_0 + - pygithub=2.9.0=pyhd8ed1ab_0 - pygments=2.19.2=pyhd8ed1ab_0 - - pyjwt=2.11.0=pyhcf101f3_1 + - pyjwt=2.12.1=pyhcf101f3_0 - pynacl=1.6.2=py314h5bd0f2a_0 - pyparsing=3.3.2=pyhcf101f3_0 - pyproject-metadata=0.11.0=pyhd8ed1ab_0 @@ -379,11 +379,11 @@ dependencies: - restructuredtext_lint=2.0.2=pyhd8ed1ab_0 - roman-numerals=4.1.0=pyhd8ed1ab_0 - rpds-py=0.30.0=py314h2e6c369_0 - - rpy2=3.6.5=py314r45ha19556c_0 + - rpy2=3.6.6=py314r45ha19556c_0 - ruamel.yaml=0.18.17=py314h0f05182_2 - ruamel.yaml.clib=0.2.15=py314h0f05182_1 - ruamel.yaml.jinja2=0.2.7=pyhd8ed1ab_1 - - ruff=0.15.5=h40fa522_0 + - ruff=0.15.7=h7805a7d_1 - rw=0.7=1 - sagemath-db-elliptic-curves=0.8.1=hecc5488_0 - sagemath-db-graphs=20210214=hd8ed1ab_0 @@ -423,7 +423,7 @@ dependencies: - tachyon=0.99b6=hba7d16a_1002 - tinycss2=1.4.0=pyhd8ed1ab_0 - tk=8.6.13=noxft_h366c992_103 - - tktable=2.10=h8d826fa_7 + - tktable=2.10=h5a7a40f_8 - tomli=2.4.0=pyhcf101f3_0 - tomli-w=1.2.0=pyhd8ed1ab_0 - tomlkit=0.14.0=pyha770c72_0 @@ -432,7 +432,7 @@ dependencies: - traitlets=5.14.3=pyhd8ed1ab_1 - trove-classifiers=2026.1.14.14=pyhd8ed1ab_0 - truststore=0.10.4=pyhcf101f3_0 - - ty=0.0.21=h4e94fc0_0 + - ty=0.0.24=h4e94fc0_0 - typing-extensions=4.15.0=h396c80c_0 - typing-inspection=0.4.2=pyhd8ed1ab_1 - typing_extensions=4.15.0=pyhcf101f3_0 @@ -440,9 +440,9 @@ dependencies: - tzlocal=5.3.1=pyh8f84b5b_0 - unicodedata2=17.0.1=py314h5bd0f2a_0 - urllib3=2.6.3=pyhd8ed1ab_0 - - uv=0.10.9=h6dd6661_0 + - uv=0.10.12=h0f56927_0 - virtualenv=20.39.0=pyhcf101f3_0 - - wayland=1.24.0=hd6090a7_1 + - wayland=1.25.0=hd6090a7_0 - wcwidth=0.6.0=pyhd8ed1ab_0 - webencodings=0.5.1=pyhd8ed1ab_3 - widgetsnbextension=4.0.15=pyhd8ed1ab_0 @@ -477,7 +477,7 @@ dependencies: - yaml-cpp=0.8.0=h3f2d84a_0 - zeromq=4.3.5=h387f397_9 - zipp=3.23.0=pyhcf101f3_1 - - zlib=1.3.1=hb9d3cd8_2 + - zlib=1.3.2=h25fd6f3_2 - zlib-ng=2.3.3=hceb46e0_1 - zstandard=0.25.0=py314h0f05182_1 - zstd=1.5.7=hb78ec9c_6 diff --git a/environment-3.14-macos-x86_64.yml b/environment-3.14-macos-x86_64.yml index 543db83dc07..c4afe75f3c3 100644 --- a/environment-3.14-macos-x86_64.yml +++ b/environment-3.14-macos-x86_64.yml @@ -1,7 +1,7 @@ name: sage-dev # Generated by conda-lock. # platform: osx-64 -# input_hash: eeb3b9d7da455212b04d13006916d3497a755c7d8bd402ff10d5c6c0ae8e172b +# input_hash: cd45fd25d3e159ef0ce0f2641a95aaabce69569dc175ca32d8f37ff35a7a537f channels: - conda-forge @@ -18,7 +18,7 @@ dependencies: - archspec=0.2.5=pyhd8ed1ab_0 - arpack=3.9.1=nompi_hdfe9103_102 - asttokens=3.0.1=pyhd8ed1ab_0 - - attrs=25.4.0=pyhcf101f3_1 + - attrs=26.1.0=pyhcf101f3_0 - autoconf=2.72=pl5321had7229c_1 - automake=1.17=pl5321h694c41f_0 - babel=2.18.0=pyhcf101f3_1 @@ -50,7 +50,7 @@ dependencies: - cddlib=1!0.94m=h0f52abe_0 - certifi=2026.2.25=pyhd8ed1ab_0 - cffi=2.0.0=py314h8ca4d5a_1 - - charset-normalizer=3.4.5=pyhd8ed1ab_0 + - charset-normalizer=3.4.6=pyhd8ed1ab_0 - clang=19.1.7=default_h1323312_8 - clang-19=19.1.7=default_h9399c5b_8 - clang_impl_osx-64=19.1.7=default_ha1a018a_8 @@ -70,11 +70,11 @@ dependencies: - conda-lock=4.0.0=pyh5552912_0 - conda-package-handling=2.4.0=pyh7900ff3_2 - conda-package-streaming=0.12.0=pyhd8ed1ab_0 - - conda-recipe-manager=0.10.0=pyhd8ed1ab_0 + - conda-recipe-manager=0.10.1=pyhd8ed1ab_0 - conda-souschef=3.0.1=pyhd8ed1ab_0 - contourpy=1.3.3=py314h22a2ed9_4 - conway-polynomials=0.10=pyhd8ed1ab_1 - - coverage=7.13.4=py314h10d0514_0 + - coverage=7.13.5=py314h77fa6c7_0 - cpp-expected=1.3.1=h0ba0a54_0 - cpython=3.14.3=py314hd8ed1ab_101 - crashtest=0.4.1=pyhd8ed1ab_1 @@ -145,9 +145,9 @@ dependencies: - icu=75.1=h120a0e1_0 - idna=3.11=pyhd8ed1ab_0 - igraph=1.0.1=h049a311_0 - - imagesize=1.4.1=pyhd8ed1ab_0 + - imagesize=2.0.0=pyhd8ed1ab_0 - iml=1.0.5=h61918c1_1004 - - importlib-metadata=8.7.0=pyhe01879c_1 + - importlib-metadata=8.8.0=pyhcf101f3_0 - importlib_resources=6.5.2=pyhd8ed1ab_0 - iniconfig=2.3.0=pyhd8ed1ab_0 - ipykernel=7.2.0=pyh5552912_1 @@ -161,7 +161,7 @@ dependencies: - jedi=0.19.2=pyhd8ed1ab_1 - jinja2=3.1.6=pyhcf101f3_1 - jsonpatch=1.33=pyhd8ed1ab_1 - - jsonpointer=3.0.0=pyhcf101f3_3 + - jsonpointer=3.1.0=pyhcf101f3_0 - jsonschema=4.26.0=pyhcf101f3_0 - jsonschema-specifications=2025.9.1=pyhcf101f3_0 - jupyter-sphinx=0.5.3=pyha770c72_5 @@ -222,7 +222,7 @@ dependencies: - libmamba-spdlog=2.5.0=hb923e0c_0 - libmambapy=2.5.0=py314haca2e77_0 - libmpdec=4.0.0=hf3981d6_1 - - libnghttp2=1.67.0=h3338091_0 + - libnghttp2=1.68.1=h70048d4_0 - libpng=1.6.55=h07817ec_0 - libsigtool=0.1.3=hc0f2934_0 - libsodium=1.0.21=hc6ced15_3 @@ -235,7 +235,7 @@ dependencies: - libxml2=2.15.1=h7b7ecba_0 - libxml2-16=2.15.1=ha1d9b0f_0 - libxml2-devel=2.15.1=h7b7ecba_0 - - libzlib=1.3.1=hd23fc13_2 + - libzlib=1.3.2=hbb4bfdb_2 - linbox=1.7.1=h6dc5890_3 - llvm-openmp=22.1.0=h0d3cbff_0 - llvm-tools=19.1.7=hb0207f0_2 @@ -252,18 +252,18 @@ dependencies: - matplotlib=3.10.8=py314hee6578b_0 - matplotlib-base=3.10.8=py314hd47142c_0 - matplotlib-inline=0.2.1=pyhd8ed1ab_0 - - maxima=5.47.0=h3080a4d_3 + - maxima=5.49.0=h6364e9d_0 - mccabe=0.7.0=pyhd8ed1ab_1 - memory-allocator=0.2.0=py314h217eccc_1 - menuinst=2.4.2=py314hee6578b_0 - - meson=1.10.1=pyhcf101f3_0 + - meson=1.10.2=pyhcf101f3_0 - meson-python=0.19.0=pyh7e86bf3_2 - mistune=3.2.0=pyhcf101f3_0 - more-itertools=10.8.0=pyhcf101f3_1 - mpc=1.3.1=h9d8efa1_1 - mpfi=1.5.4=h52b28e3_1001 - - mpfr=4.2.1=haed47dc_3 - - mpmath=1.3.0=pyhd8ed1ab_1 + - mpfr=4.2.2=h31caf2d_0 + - mpmath=1.4.1=pyhd8ed1ab_0 - msgpack-python=1.1.2=py314h00ed6fe_1 - munkres=1.1.4=pyhd8ed1ab_1 - nauty=2.9.1=h8616949_0 @@ -278,12 +278,12 @@ dependencies: - ninja=1.13.2=hfc0b2d5_0 - nlohmann_json-abi=3.12.0=h0f90c79_1 - ntl=11.6.0=h4c56b49_0 - - numpy=2.4.2=py314hfc4c462_1 + - numpy=2.4.3=py314h7b24d9b_0 - openjpeg=2.5.4=h52bb76a_0 - openssl=3.6.1=hb6871ef_1 - packaging=26.0=pyhcf101f3_0 - palp=2.21=h8616949_0 - - pandoc=3.9=h694c41f_0 + - pandoc=3.9.0.2=h694c41f_0 - pandocfilters=1.5.0=pyhd8ed1ab_0 - pango=1.56.4=h6ef8af8_0 - pari=2.17.3=h0ced257_0_pthread @@ -322,9 +322,9 @@ dependencies: - pydantic=2.12.5=pyhcf101f3_1 - pydantic-core=2.41.5=py314ha7b6dee_1 - pyflakes=3.4.0=pyhd8ed1ab_0 - - pygithub=2.8.1=pyhd8ed1ab_0 + - pygithub=2.9.0=pyhd8ed1ab_0 - pygments=2.19.2=pyhd8ed1ab_0 - - pyjwt=2.11.0=pyhcf101f3_1 + - pyjwt=2.12.1=pyhcf101f3_0 - pynacl=1.6.2=py314h9b0d844_1 - pyparsing=3.3.2=pyhcf101f3_0 - pyproject-metadata=0.11.0=pyhd8ed1ab_0 @@ -358,11 +358,11 @@ dependencies: - restructuredtext_lint=2.0.2=pyhd8ed1ab_0 - roman-numerals=4.1.0=pyhd8ed1ab_0 - rpds-py=0.30.0=py314ha7b6dee_0 - - rpy2=3.6.5=py314r45h87075d1_0 + - rpy2=3.6.6=py314r45h87075d1_0 - ruamel.yaml=0.18.17=py314hd330473_2 - ruamel.yaml.clib=0.2.15=py314hd330473_1 - ruamel.yaml.jinja2=0.2.7=pyhd8ed1ab_1 - - ruff=0.15.5=h8ee721d_0 + - ruff=0.15.7=h16586dd_1 - rw=0.7=1 - sagemath-db-elliptic-curves=0.8.1=hecc5488_0 - sagemath-db-graphs=20210214=hd8ed1ab_0 @@ -402,7 +402,7 @@ dependencies: - tapi=1600.0.11.8=h8d8e812_0 - tinycss2=1.4.0=pyhd8ed1ab_0 - tk=8.6.13=h7142dee_3 - - tktable=2.10=h2c093e9_7 + - tktable=2.10=h8925a82_8 - tomli=2.4.0=pyhcf101f3_0 - tomli-w=1.2.0=pyhd8ed1ab_0 - tomlkit=0.14.0=pyha770c72_0 @@ -411,7 +411,7 @@ dependencies: - traitlets=5.14.3=pyhd8ed1ab_1 - trove-classifiers=2026.1.14.14=pyhd8ed1ab_0 - truststore=0.10.4=pyhcf101f3_0 - - ty=0.0.21=h479939e_0 + - ty=0.0.24=h479939e_0 - typing-extensions=4.15.0=h396c80c_0 - typing-inspection=0.4.2=pyhd8ed1ab_1 - typing_extensions=4.15.0=pyhcf101f3_0 @@ -419,7 +419,7 @@ dependencies: - tzlocal=5.3.1=pyh8f84b5b_0 - unicodedata2=17.0.1=py314h4f144dc_0 - urllib3=2.6.3=pyhd8ed1ab_0 - - uv=0.10.9=h7e0bed3_0 + - uv=0.10.12=hbc54fe3_0 - virtualenv=20.39.0=pyhcf101f3_0 - wcwidth=0.6.0=pyhd8ed1ab_0 - webencodings=0.5.1=pyhd8ed1ab_3 @@ -435,7 +435,7 @@ dependencies: - yaml-cpp=0.8.0=h92383a6_0 - zeromq=4.3.5=h27d9b8f_10 - zipp=3.23.0=pyhcf101f3_1 - - zlib=1.3.1=hd23fc13_2 + - zlib=1.3.2=hbb4bfdb_2 - zlib-ng=2.3.3=h8bce59a_1 - zstandard=0.25.0=py314hd1e8ddb_1 - zstd=1.5.7=h3eecb57_6 diff --git a/environment-3.14-macos.yml b/environment-3.14-macos.yml index b64a2caddb8..82044617c76 100644 --- a/environment-3.14-macos.yml +++ b/environment-3.14-macos.yml @@ -1,7 +1,7 @@ name: sage-dev # Generated by conda-lock. # platform: osx-arm64 -# input_hash: b157e92c497a38e1f1f53a285f4f8ce55c39df1bee3c8637ddba4226414d94a0 +# input_hash: aa1be1248a44a542181851bc32a7f43fdba67faa8f22145f383a0511a487e6f6 channels: - conda-forge @@ -17,7 +17,7 @@ dependencies: - archspec=0.2.5=pyhd8ed1ab_0 - arpack=3.9.1=nompi_h1f29f7c_102 - asttokens=3.0.1=pyhd8ed1ab_0 - - attrs=25.4.0=pyhcf101f3_1 + - attrs=26.1.0=pyhcf101f3_0 - autoconf=2.72=pl5321hd3c70e0_1 - automake=1.17=pl5321hce30654_0 - babel=2.18.0=pyhcf101f3_1 @@ -49,7 +49,7 @@ dependencies: - cddlib=1!0.94m=h6d7a090_0 - certifi=2026.2.25=pyhd8ed1ab_0 - cffi=2.0.0=py314h44086f9_1 - - charset-normalizer=3.4.5=pyhd8ed1ab_0 + - charset-normalizer=3.4.6=pyhd8ed1ab_0 - clang=19.1.7=default_hf9bcbb7_8 - clang-19=19.1.7=default_hf3020a7_8 - clang_impl_osx-arm64=19.1.7=default_hc11f16d_8 @@ -69,11 +69,11 @@ dependencies: - conda-lock=4.0.0=pyh5552912_0 - conda-package-handling=2.4.0=pyh7900ff3_2 - conda-package-streaming=0.12.0=pyhd8ed1ab_0 - - conda-recipe-manager=0.10.0=pyhd8ed1ab_0 + - conda-recipe-manager=0.10.1=pyhd8ed1ab_0 - conda-souschef=3.0.1=pyhd8ed1ab_0 - contourpy=1.3.3=py314hf8a3a22_4 - conway-polynomials=0.10=pyhd8ed1ab_1 - - coverage=7.13.4=py314h6e9b3f0_0 + - coverage=7.13.5=py314h6e9b3f0_0 - cpp-expected=1.3.1=h4f10f1e_0 - cpython=3.14.3=py314hd8ed1ab_101 - crashtest=0.4.1=pyhd8ed1ab_1 @@ -144,9 +144,9 @@ dependencies: - icu=75.1=hfee45f7_0 - idna=3.11=pyhd8ed1ab_0 - igraph=0.10.17=h73cadaf_1 - - imagesize=1.4.1=pyhd8ed1ab_0 + - imagesize=2.0.0=pyhd8ed1ab_0 - iml=1.0.5=hd73f12c_1004 - - importlib-metadata=8.7.0=pyhe01879c_1 + - importlib-metadata=8.8.0=pyhcf101f3_0 - importlib_resources=6.5.2=pyhd8ed1ab_0 - iniconfig=2.3.0=pyhd8ed1ab_0 - ipykernel=7.2.0=pyh5552912_1 @@ -160,7 +160,7 @@ dependencies: - jedi=0.19.2=pyhd8ed1ab_1 - jinja2=3.1.6=pyhcf101f3_1 - jsonpatch=1.33=pyhd8ed1ab_1 - - jsonpointer=3.0.0=pyhcf101f3_3 + - jsonpointer=3.1.0=pyhcf101f3_0 - jsonschema=4.26.0=pyhcf101f3_0 - jsonschema-specifications=2025.9.1=pyhcf101f3_0 - jupyter-sphinx=0.5.3=pyha770c72_5 @@ -221,7 +221,7 @@ dependencies: - libmamba-spdlog=2.5.0=h85b9800_0 - libmambapy=2.5.0=py314hf8f60b7_0 - libmpdec=4.0.0=h84a0fba_1 - - libnghttp2=1.67.0=hc438710_0 + - libnghttp2=1.68.1=h8f3e76b_0 - libpng=1.6.55=h132b30e_0 - libsigtool=0.1.3=h98dc951_0 - libsodium=1.0.21=h1a92334_3 @@ -234,7 +234,7 @@ dependencies: - libxml2=2.15.1=h9329255_0 - libxml2-16=2.15.1=h0ff4647_0 - libxml2-devel=2.15.1=h9329255_0 - - libzlib=1.3.1=h8359307_2 + - libzlib=1.3.2=h8088a28_2 - linbox=1.7.1=hc59a8de_3 - llvm-openmp=22.1.0=hc7d1edf_0 - llvm-tools=19.1.7=h855ad52_2 @@ -250,18 +250,18 @@ dependencies: - matplotlib=3.10.8=py314he55896b_0 - matplotlib-base=3.10.8=py314hd63e3f0_0 - matplotlib-inline=0.2.1=pyhd8ed1ab_0 - - maxima=5.47.0=hd2c4bfb_3 + - maxima=5.49.0=h4c1ea7d_0 - mccabe=0.7.0=pyhd8ed1ab_1 - memory-allocator=0.2.0=py314h6c2aa35_1 - menuinst=2.4.2=py314h4dc9dd8_0 - - meson=1.10.1=pyhcf101f3_0 + - meson=1.10.2=pyhcf101f3_0 - meson-python=0.19.0=pyh7e86bf3_2 - mistune=3.2.0=pyhcf101f3_0 - more-itertools=10.8.0=pyhcf101f3_1 - mpc=1.3.1=h8f1351a_1 - mpfi=1.5.4=hbde5f5b_1001 - - mpfr=4.2.1=hb693164_3 - - mpmath=1.3.0=pyhd8ed1ab_1 + - mpfr=4.2.2=h6bc93b0_0 + - mpmath=1.4.1=pyhd8ed1ab_0 - msgpack-python=1.1.2=py314h784bc60_1 - munkres=1.1.4=pyhd8ed1ab_1 - nauty=2.9.1=hf22a7ee_0 @@ -276,12 +276,12 @@ dependencies: - ninja=1.13.2=h49c215f_0 - nlohmann_json-abi=3.12.0=h0f90c79_1 - ntl=11.6.0=h99f6ba7_0 - - numpy=2.4.2=py314hae46ccb_1 + - numpy=2.4.3=py314h1569ea8_0 - openjpeg=2.5.4=hd9e9057_0 - openssl=3.6.1=hd24854e_1 - packaging=26.0=pyhcf101f3_0 - palp=2.21=hc919400_0 - - pandoc=3.9=hce30654_0 + - pandoc=3.9.0.2=hce30654_0 - pandocfilters=1.5.0=pyhd8ed1ab_0 - pango=1.56.4=h875632e_0 - pari=2.17.3=h6fad181_0_pthread @@ -320,9 +320,9 @@ dependencies: - pydantic=2.12.5=pyhcf101f3_1 - pydantic-core=2.41.5=py314haad56a0_1 - pyflakes=3.4.0=pyhd8ed1ab_0 - - pygithub=2.8.1=pyhd8ed1ab_0 + - pygithub=2.9.0=pyhd8ed1ab_0 - pygments=2.19.2=pyhd8ed1ab_0 - - pyjwt=2.11.0=pyhcf101f3_1 + - pyjwt=2.12.1=pyhcf101f3_0 - pynacl=1.6.2=py314hb2fc37a_1 - pyparsing=3.3.2=pyhcf101f3_0 - pyproject-metadata=0.11.0=pyhd8ed1ab_0 @@ -356,11 +356,11 @@ dependencies: - restructuredtext_lint=2.0.2=pyhd8ed1ab_0 - roman-numerals=4.1.0=pyhd8ed1ab_0 - rpds-py=0.30.0=py314haad56a0_0 - - rpy2=3.6.5=py314r45hfa39edc_0 + - rpy2=3.6.6=py314r45hfa39edc_0 - ruamel.yaml=0.18.17=py314ha14b1ff_2 - ruamel.yaml.clib=0.2.15=py314ha14b1ff_1 - ruamel.yaml.jinja2=0.2.7=pyhd8ed1ab_1 - - ruff=0.15.5=h279115b_0 + - ruff=0.15.7=hc5c3a1d_1 - rw=0.9=h93a5062_2 - sagemath-db-elliptic-curves=0.8.1=hecc5488_0 - sagemath-db-graphs=20210214=hd8ed1ab_0 @@ -400,7 +400,7 @@ dependencies: - tapi=1600.0.11.8=h997e182_0 - tinycss2=1.4.0=pyhd8ed1ab_0 - tk=8.6.13=h010d191_3 - - tktable=2.10=h3c7de25_7 + - tktable=2.10=h28d2b5e_8 - tomli=2.4.0=pyhcf101f3_0 - tomli-w=1.2.0=pyhd8ed1ab_0 - tomlkit=0.14.0=pyha770c72_0 @@ -409,7 +409,7 @@ dependencies: - traitlets=5.14.3=pyhd8ed1ab_1 - trove-classifiers=2026.1.14.14=pyhd8ed1ab_0 - truststore=0.10.4=pyhcf101f3_0 - - ty=0.0.21=ha73ee7d_0 + - ty=0.0.24=ha73ee7d_0 - typing-extensions=4.15.0=h396c80c_0 - typing-inspection=0.4.2=pyhd8ed1ab_1 - typing_extensions=4.15.0=pyhcf101f3_0 @@ -417,7 +417,7 @@ dependencies: - tzlocal=5.3.1=pyh8f84b5b_0 - unicodedata2=17.0.1=py314h6c2aa35_0 - urllib3=2.6.3=pyhd8ed1ab_0 - - uv=0.10.9=h9b11cc2_0 + - uv=0.10.12=h2a61971_0 - virtualenv=20.39.0=pyhcf101f3_0 - wcwidth=0.6.0=pyhd8ed1ab_0 - webencodings=0.5.1=pyhd8ed1ab_3 @@ -433,7 +433,7 @@ dependencies: - yaml-cpp=0.8.0=ha1acc90_0 - zeromq=4.3.5=h4818236_10 - zipp=3.23.0=pyhcf101f3_1 - - zlib=1.3.1=h8359307_2 + - zlib=1.3.2=h8088a28_2 - zlib-ng=2.3.3=hed4e4f5_1 - zstandard=0.25.0=py314h9d33bd4_1 - zstd=1.5.7=hbf9d68e_6 diff --git a/environment-3.14-win.yml b/environment-3.14-win.yml index 30d41d1a204..9b6da86c341 100644 --- a/environment-3.14-win.yml +++ b/environment-3.14-win.yml @@ -1,7 +1,7 @@ name: sage-dev # Generated by conda-lock. # platform: win-64 -# input_hash: 158dabf9851082761456d7c49222b522fab375188fbaff95d553bb4ab7d3563d +# input_hash: d29042a294e7f443815e4ddeb516df41a92eaebdeb519eaca23b1116ea9b6b29 channels: - conda-forge @@ -16,13 +16,13 @@ dependencies: - appdirs=1.4.4=pyhd8ed1ab_1 - archspec=0.2.5=pyhd8ed1ab_0 - asttokens=3.0.1=pyhd8ed1ab_0 - - attrs=25.4.0=pyhcf101f3_1 + - attrs=26.1.0=pyhcf101f3_0 - babel=2.18.0=pyhcf101f3_1 - backports=1.0=pyhd8ed1ab_5 - backports.tarfile=1.2.0=pyhcf101f3_2 - backports.zstd=1.3.0=py314h680f03e_0 - beautifulsoup4=4.14.3=pyha770c72_0 - - binutils_impl_win-64=2.45.1=default_ha84baeb_101 + - binutils_impl_win-64=2.45.1=default_ha84baeb_102 - blas-devel=3.11.0=5_ha590de0_openblas - bleach=6.3.0=pyhcf101f3_1 - bleach-with-css=6.3.0=hbca2aae_1 @@ -39,7 +39,7 @@ dependencies: - cairo=1.18.4=h477c42c_1 - certifi=2026.2.25=pyhd8ed1ab_0 - cffi=2.0.0=py314h5a2d7ad_1 - - charset-normalizer=3.4.5=pyhd8ed1ab_0 + - charset-normalizer=3.4.6=pyhd8ed1ab_0 - clang=19.1.7=default_hac490eb_8 - clang-19=19.1.7=default_hac490eb_8 - click=8.2.1=pyh7428d3b_0 @@ -53,11 +53,11 @@ dependencies: - conda-lock=4.0.0=pyh6dadd2b_0 - conda-package-handling=2.4.0=pyh7900ff3_2 - conda-package-streaming=0.12.0=pyhd8ed1ab_0 - - conda-recipe-manager=0.10.0=pyhd8ed1ab_0 + - conda-recipe-manager=0.10.1=pyhd8ed1ab_0 - conda-souschef=3.0.1=pyhd8ed1ab_0 - contourpy=1.3.3=py314hf309875_4 - conway-polynomials=0.10=pyhd8ed1ab_1 - - coverage=7.13.4=py314h2359020_0 + - coverage=7.13.5=py314h2359020_0 - cpp-expected=1.3.1=h477610d_0 - cpython=3.14.3=py314hd8ed1ab_101 - crashtest=0.4.1=pyhd8ed1ab_1 @@ -112,14 +112,14 @@ dependencies: - gsl=2.7=hdfb1a43_0 - gxx_impl_win-64=15.2.0=h22fd5bf_18 - h2=4.3.0=pyhcf101f3_0 - - harfbuzz=13.1.1=h5a1b470_0 + - harfbuzz=13.2.0=h5a1b470_0 - hpack=4.1.0=pyhd8ed1ab_0 - hyperframe=6.1.0=pyhd8ed1ab_0 - - icu=78.2=h637d24d_0 + - icu=78.3=h637d24d_0 - idna=3.11=pyhd8ed1ab_0 - igraph=1.0.1=h9eeb67d_0 - - imagesize=1.4.1=pyhd8ed1ab_0 - - importlib-metadata=8.7.0=pyhe01879c_1 + - imagesize=2.0.0=pyhd8ed1ab_0 + - importlib-metadata=8.8.0=pyhcf101f3_0 - importlib_resources=6.5.2=pyhd8ed1ab_0 - iniconfig=2.3.0=pyhd8ed1ab_0 - ipykernel=7.2.0=pyh6dadd2b_1 @@ -132,7 +132,7 @@ dependencies: - jedi=0.19.2=pyhd8ed1ab_1 - jinja2=3.1.6=pyhcf101f3_1 - jsonpatch=1.33=pyhd8ed1ab_1 - - jsonpointer=3.0.0=pyhcf101f3_3 + - jsonpointer=3.1.0=pyhcf101f3_0 - jsonschema=4.26.0=pyhcf101f3_0 - jsonschema-specifications=2025.9.1=pyhcf101f3_0 - jupyter-sphinx=0.5.3=pyha770c72_5 @@ -144,7 +144,7 @@ dependencies: - kiwisolver=1.5.0=py314hf309875_0 - krb5=1.22.2=h0ea6238_0 - lcms2=2.18=hf2c6c5f_0 - - ld_impl_win-64=2.45.1=default_hfd38196_101 + - ld_impl_win-64=2.45.1=default_hfd38196_102 - lerc=4.1.0=hd936e49_0 - libarchive=3.8.6=gpl_he24518a_100 - libblas=3.11.0=5_h0adab6e_openblas @@ -200,7 +200,7 @@ dependencies: - libxml2-16=2.15.2=h3cfd58e_0 - libxml2-devel=2.15.2=h779ef1b_0 - libxslt=1.1.43=h0fbe4c1_1 - - libzlib=1.3.1=h2466b09_2 + - libzlib=1.3.2=hfd05255_2 - lld=22.1.0=hc465015_0 - llvm-openmp=22.1.0=h4fa8253_0 - llvm-tools=19.1.7=h752b59f_2 @@ -208,7 +208,7 @@ dependencies: - lzo=2.10=h6a83c73_1002 - m2-conda-epoch=20250515=0_x86_64 - m2w64-sysroot_win-64=12.0.0.r4.gg4f2fc60ca=hd8ed1ab_10 - - m4ri=20250128=h26c196c_0 + - m4ri=20260122=h26c196c_0 - markupsafe=3.0.3=py314h2359020_1 - matplotlib=3.10.8=py314h86ab7b2_0 - matplotlib-base=3.10.8=py314hfa45d96_0 @@ -216,7 +216,7 @@ dependencies: - mccabe=0.7.0=pyhd8ed1ab_1 - memory-allocator=0.2.0=py314h5a2d7ad_1 - menuinst=2.4.2=py314h13fbf68_0 - - meson=1.10.1=pyhcf101f3_0 + - meson=1.10.2=pyhcf101f3_0 - meson-python=0.19.0=pyh7e86bf3_2 - mingw-w64-ucrt-x86_64-crt-git=12.0.0.r4.gg4f2fc60ca=hd8ed1ab_10 - mingw-w64-ucrt-x86_64-headers-git=12.0.0.r4.gg4f2fc60ca=hd8ed1ab_10 @@ -225,8 +225,8 @@ dependencies: - mistune=3.2.0=pyhcf101f3_0 - more-itertools=10.8.0=pyhcf101f3_1 - mpc=1.3.1=h72bc38f_1 - - mpfr=4.2.1=hbc20e70_3 - - mpmath=1.3.0=pyhd8ed1ab_1 + - mpfr=4.2.2=h883a981_0 + - mpmath=1.4.1=pyhd8ed1ab_0 - msgpack-python=1.1.2=py314h909e829_1 - munkres=1.1.4=pyhd8ed1ab_1 - nauty=2.6.11=h2fa13f4_1 @@ -239,12 +239,12 @@ dependencies: - networkx=3.6.1=pyhcf101f3_0 - ninja=1.13.2=h477610d_0 - nlohmann_json-abi=3.12.0=h0f90c79_1 - - numpy=2.4.2=py314h06c3c77_1 + - numpy=2.4.3=py314h02f10f6_0 - openblas=0.3.30=pthreads_h4a7f399_4 - openjpeg=2.5.4=h0e57b4f_0 - openssl=3.6.1=hf411b9b_1 - packaging=26.0=pyhcf101f3_0 - - pandoc=3.9=h57928b3_0 + - pandoc=3.9.0.2=h57928b3_0 - pandocfilters=1.5.0=pyhd8ed1ab_0 - pari=2.17.3=h03725f3_0_pthread - pari-elldata=0.0.20161017=0 @@ -279,14 +279,14 @@ dependencies: - pydantic=2.12.5=pyhcf101f3_1 - pydantic-core=2.41.5=py314h9f07db2_1 - pyflakes=3.4.0=pyhd8ed1ab_0 - - pygithub=2.8.1=pyhd8ed1ab_0 + - pygithub=2.9.0=pyhd8ed1ab_0 - pygments=2.19.2=pyhd8ed1ab_0 - - pyjwt=2.11.0=pyhcf101f3_1 + - pyjwt=2.12.1=pyhcf101f3_0 - pynacl=1.6.2=py314h5e0038d_1 - pyparsing=3.3.2=pyhcf101f3_0 - pyproject-metadata=0.11.0=pyhd8ed1ab_0 - pyproject_hooks=1.2.0=pyhd8ed1ab_1 - - pyside6=6.10.2=py314h2c9462b_0 + - pyside6=6.10.2=py314h447aaf0_1 - pysocks=1.7.1=pyh09c184e_7 - pytest=9.0.2=pyhcf101f3_0 - pytest-xdist=3.8.0=pyhd8ed1ab_0 @@ -304,8 +304,8 @@ dependencies: - pyyaml=6.0.3=py314h2359020_1 - pyzmq=27.1.0=py312h343a6d4_2 - qhull=2020.2=hc790b64_5 - - qt6-main=6.10.2=h35725d6_5 - - r-base=4.5.3=h9c56521_0 + - qt6-main=6.10.2=pl5321hfcac499_6 + - r-base=4.5.3=h9c56521_1 - r-lattice=0.22_9=r45heceb674_0 - rapidfuzz=3.14.3=py314h13fbf68_1 - referencing=0.37.0=pyhcf101f3_0 @@ -319,7 +319,7 @@ dependencies: - ruamel.yaml=0.18.17=py314hc5dbbe4_2 - ruamel.yaml.clib=0.2.15=py314hc5dbbe4_1 - ruamel.yaml.jinja2=0.2.7=pyhd8ed1ab_1 - - ruff=0.15.5=h5739096_0 + - ruff=0.15.7=h02f8532_1 - sagemath-db-elliptic-curves=0.8.1=hecc5488_0 - sagemath-db-graphs=20210214=hd8ed1ab_0 - sagemath-db-polytopes=20170220=1 @@ -351,7 +351,7 @@ dependencies: - sympy=1.14.0=pyh04b8f61_6 - tinycss2=1.4.0=pyhd8ed1ab_0 - tk=8.6.13=h6ed50ae_3 - - tktable=2.10=h7e9e0db_7 + - tktable=2.10=h2df95b8_8 - tomli=2.4.0=pyhcf101f3_0 - tomli-w=1.2.0=pyhd8ed1ab_0 - tomlkit=0.14.0=pyha770c72_0 @@ -360,7 +360,7 @@ dependencies: - traitlets=5.14.3=pyhd8ed1ab_1 - trove-classifiers=2026.1.14.14=pyhd8ed1ab_0 - truststore=0.10.4=pyhcf101f3_0 - - ty=0.0.21=hc21aad4_0 + - ty=0.0.24=hc21aad4_0 - typing-extensions=4.15.0=h396c80c_0 - typing-inspection=0.4.2=pyhd8ed1ab_1 - typing_extensions=4.15.0=pyhcf101f3_0 @@ -368,7 +368,7 @@ dependencies: - ucrt=10.0.26100.0=h57928b3_0 - unicodedata2=17.0.1=py314h5a2d7ad_0 - urllib3=2.6.3=pyhd8ed1ab_0 - - uv=0.10.9=h9b344b9_0 + - uv=0.10.12=hd149a40_0 - vc=14.3=h41ae7f8_34 - vc14_runtime=14.44.35208=h818238b_34 - vcomp14=14.44.35208=h818238b_34 @@ -396,7 +396,7 @@ dependencies: - yaml-cpp=0.8.0=he0c23c2_0 - zeromq=4.3.5=h507cc87_10 - zipp=3.23.0=pyhcf101f3_1 - - zlib=1.3.1=h2466b09_2 + - zlib=1.3.2=hfd05255_2 - zlib-ng=2.3.3=h0261ad2_1 - zstandard=0.25.0=py314hc5dbbe4_1 - zstd=1.5.7=h534d264_6 diff --git a/src/doc/en/constructions/calculus.rst b/src/doc/en/constructions/calculus.rst index b6243b64dbc..fb7339ba0b1 100644 --- a/src/doc/en/constructions/calculus.rst +++ b/src/doc/en/constructions/calculus.rst @@ -155,7 +155,7 @@ Sage can also compute symbolic definite integrals involving limits. (x, k, w) sage: f = x^3 * e^(k*x) * sin(w*x) sage: f.integrate(x) - ((24*k^3*w - 24*k*w^3 - (k^6*w + 3*k^4*w^3 + 3*k^2*w^5 + w^7)*x^3 + 6*(k^5*w + 2*k^3*w^3 + k*w^5)*x^2 - 6*(3*k^4*w + 2*k^2*w^3 - w^5)*x)*cos(w*x)*e^(k*x) - (6*k^4 - 36*k^2*w^2 + 6*w^4 - (k^7 + 3*k^5*w^2 + 3*k^3*w^4 + k*w^6)*x^3 + 3*(k^6 + k^4*w^2 - k^2*w^4 - w^6)*x^2 - 6*(k^5 - 2*k^3*w^2 - 3*k*w^4)*x)*e^(k*x)*sin(w*x))/(k^8 + 4*k^6*w^2 + 6*k^4*w^4 + 4*k^2*w^6 + w^8) + ((24*k^3*w*e^(k*x) - 24*k*w^3*e^(k*x) - (k^6*w*e^(k*x) + 3*k^4*w^3*e^(k*x) + 3*k^2*w^5*e^(k*x) + w^7*e^(k*x))*x^3 + 6*(k^5*w*e^(k*x) + 2*k^3*w^3*e^(k*x) + k*w^5*e^(k*x))*x^2 - 6*(3*k^4*w*e^(k*x) + 2*k^2*w^3*e^(k*x) - w^5*e^(k*x))*x)*cos(w*x) - (6*k^4*e^(k*x) - 36*k^2*w^2*e^(k*x) + 6*w^4*e^(k*x) - (k^7*e^(k*x) + 3*k^5*w^2*e^(k*x) + 3*k^3*w^4*e^(k*x) + k*w^6*e^(k*x))*x^3 + 3*(k^6*e^(k*x) + k^4*w^2*e^(k*x) - k^2*w^4*e^(k*x) - w^6*e^(k*x))*x^2 - 6*(k^5*e^(k*x) - 2*k^3*w^2*e^(k*x) - 3*k*w^4*e^(k*x))*x)*sin(w*x))/(k^8 + 4*k^6*w^2 + 6*k^4*w^4 + 4*k^2*w^6 + w^8) sage: integrate(1/x^2, x, 1, infinity) 1 @@ -257,8 +257,7 @@ is one way to compute LT's and (s, t) sage: f = t^5*exp(t)*sin(t) sage: L = laplace(f, t, s); L - 3840*(s - 1)^5/(s^2 - 2*s + 2)^6 - 3840*(s - 1)^3/(s^2 - 2*s + 2)^5 + - 720*(s - 1)/(s^2 - 2*s + 2)^4 + 240*(3*s^5 - 15*s^4 + 20*s^3 - 12*s + 4)/(s^12 - 12*s^11 + 72*s^10 - 280*s^9 + 780*s^8 - 1632*s^7 + 2624*s^6 - 3264*s^5 + 3120*s^4 - 2240*s^3 + 1152*s^2 - 384*s + 64) is another way. diff --git a/src/doc/zh/constructions/calculus.rst b/src/doc/zh/constructions/calculus.rst index 9f896a4658b..2b83dc19b45 100644 --- a/src/doc/zh/constructions/calculus.rst +++ b/src/doc/zh/constructions/calculus.rst @@ -148,7 +148,7 @@ Sage 还可以计算涉及极限的符号定积分。 (x, k, w) sage: f = x^3 * e^(k*x) * sin(w*x) sage: f.integrate(x) - ((24*k^3*w - 24*k*w^3 - (k^6*w + 3*k^4*w^3 + 3*k^2*w^5 + w^7)*x^3 + 6*(k^5*w + 2*k^3*w^3 + k*w^5)*x^2 - 6*(3*k^4*w + 2*k^2*w^3 - w^5)*x)*cos(w*x)*e^(k*x) - (6*k^4 - 36*k^2*w^2 + 6*w^4 - (k^7 + 3*k^5*w^2 + 3*k^3*w^4 + k*w^6)*x^3 + 3*(k^6 + k^4*w^2 - k^2*w^4 - w^6)*x^2 - 6*(k^5 - 2*k^3*w^2 - 3*k*w^4)*x)*e^(k*x)*sin(w*x))/(k^8 + 4*k^6*w^2 + 6*k^4*w^4 + 4*k^2*w^6 + w^8) + ((24*k^3*w*e^(k*x) - 24*k*w^3*e^(k*x) - (k^6*w*e^(k*x) + 3*k^4*w^3*e^(k*x) + 3*k^2*w^5*e^(k*x) + w^7*e^(k*x))*x^3 + 6*(k^5*w*e^(k*x) + 2*k^3*w^3*e^(k*x) + k*w^5*e^(k*x))*x^2 - 6*(3*k^4*w*e^(k*x) + 2*k^2*w^3*e^(k*x) - w^5*e^(k*x))*x)*cos(w*x) - (6*k^4*e^(k*x) - 36*k^2*w^2*e^(k*x) + 6*w^4*e^(k*x) - (k^7*e^(k*x) + 3*k^5*w^2*e^(k*x) + 3*k^3*w^4*e^(k*x) + k*w^6*e^(k*x))*x^3 + 3*(k^6*e^(k*x) + k^4*w^2*e^(k*x) - k^2*w^4*e^(k*x) - w^6*e^(k*x))*x^2 - 6*(k^5*e^(k*x) - 2*k^3*w^2*e^(k*x) - 3*k*w^4*e^(k*x))*x)*sin(w*x))/(k^8 + 4*k^6*w^2 + 6*k^4*w^4 + 4*k^2*w^6 + w^8) sage: integrate(1/x^2, x, 1, infinity) 1 @@ -241,8 +241,7 @@ Sage 还可以计算涉及极限的符号定积分。 (s, t) sage: f = t^5*exp(t)*sin(t) sage: L = laplace(f, t, s); L - 3840*(s - 1)^5/(s^2 - 2*s + 2)^6 - 3840*(s - 1)^3/(s^2 - 2*s + 2)^5 + - 720*(s - 1)/(s^2 - 2*s + 2)^4 + 240*(3*s^5 - 15*s^4 + 20*s^3 - 12*s + 4)/(s^12 - 12*s^11 + 72*s^10 - 280*s^9 + 780*s^8 - 1632*s^7 + 2624*s^6 - 3264*s^5 + 3120*s^4 - 2240*s^3 + 1152*s^2 - 384*s + 64) 上面是另一种方法。 diff --git a/src/sage/calculus/calculus.py b/src/sage/calculus/calculus.py index ce06cc41157..629beed1115 100644 --- a/src/sage/calculus/calculus.py +++ b/src/sage/calculus/calculus.py @@ -133,8 +133,8 @@ [x^2 + x 2*x^3] [ 2 x^2 + x] sage: e^M - [ 1/2*(e^(2*sqrt(x)) + 1)*e^(x - sqrt(x)) 1/2*(x*e^(2*sqrt(x)) - x)*sqrt(x)*e^(x - sqrt(x))] - [ 1/2*(e^(2*sqrt(x)) - 1)*e^(x - sqrt(x))/x^(3/2) 1/2*(e^(2*sqrt(x)) + 1)*e^(x - sqrt(x))] + [ 1/2*(e^(2*sqrt(x)) + 1)*e^(x - sqrt(x)) 1/2*x^(3/2)*(e^(2*sqrt(x)) - 1)*e^(x - sqrt(x))] + [1/2*(e^(2*sqrt(x)) - 1)*e^(x - sqrt(x))/x^(3/2) 1/2*(e^(2*sqrt(x)) + 1)*e^(x - sqrt(x))] Complex exponentiation works, but may require a patched version of maxima (:issue:`32898`) for now:: @@ -1247,7 +1247,7 @@ def limit(ex, *args, dir=None, taylor=False, algorithm='maxima', **kwargs): sage: limit(sin(x)/x, x, 0, algorithm='sympy') 1 - sage: limit(sin(x)/x, x, 0, algorithm='giac') # needs sage.libs.giac + sage: limit(sin(x)/x, x, 0, algorithm='giac') # needs sage.libs.giac 1 sage: limit(x^x, x, 0, dir='+', algorithm='fricas') # optional - fricas 1 diff --git a/src/sage/calculus/test_sympy.py b/src/sage/calculus/test_sympy.py index aa084799a10..e081e9674d9 100644 --- a/src/sage/calculus/test_sympy.py +++ b/src/sage/calculus/test_sympy.py @@ -63,7 +63,7 @@ sage: diff(tan(x), x) tan(x)^2 + 1 sage: limit((tan(x+y) - tan(x))/y, y=0) - cos(x)^(-2) + tan(x)^2 + 1 sage: diff(sin(2*x), x, 1) 2*cos(2*x) sage: diff(sin(2*x), x, 2) diff --git a/src/sage/calculus/tests.py b/src/sage/calculus/tests.py index 905a0e5782f..59e43bb46d6 100644 --- a/src/sage/calculus/tests.py +++ b/src/sage/calculus/tests.py @@ -119,7 +119,7 @@ sage: integrate(exp(1-x^2),x) 1/2*sqrt(pi)*erf(x)*e sage: integrate(sin(x^2),x) - 1/16*sqrt(pi)*((I + 1)*sqrt(2)*erf((1/2*I + 1/2)*sqrt(2)*x) + (I - 1)*sqrt(2)*erf((1/2*I - 1/2)*sqrt(2)*x) - (I - 1)*sqrt(2)*erf(sqrt(-I)*x) + (I + 1)*sqrt(2)*erf((-1)^(1/4)*x)) + 1/16*sqrt(pi)*((I + 1)*sqrt(2)*erf((1/2*I + 1/2)*sqrt(2)*x) - (I - 1)*sqrt(2)*erf(sqrt(-I)*x) - 2*sqrt(2)*imag_part(erf((-1)^(1/4)*x)) + 2*sqrt(2)*real_part(erf((-1)^(1/4)*x))) sage: integrate((1-x^2)^n,x) # long time x*hypergeometric((1/2, -n), (3/2,), x^2*exp_polar(2*I*pi)) diff --git a/src/sage/functions/bessel.py b/src/sage/functions/bessel.py index b1ad8028bde..79bf12575fe 100644 --- a/src/sage/functions/bessel.py +++ b/src/sage/functions/bessel.py @@ -1855,7 +1855,7 @@ class SphericalHankel1(BuiltinFunction): sage: spherical_hankel1(3 + 0.2 * I, 3) 0.201654587512037 - 0.531281544239273*I sage: spherical_hankel1(1, x).simplify() - -(x + I)*e^(I*x)/x^2 + -I*(-I*x + 1)*e^(I*x)/x^2 sage: spherical_hankel1(3 + 2 * I, 5 - 0.2 * I) 1.25375216869913 - 0.518011435921789*I sage: integrate(spherical_hankel1(3, x), x) @@ -1952,11 +1952,11 @@ class SphericalHankel2(BuiltinFunction): sage: spherical_hankel2(3 + 0.2 * I, 3) 0.0998874108557565 + 0.479149050937147*I sage: spherical_hankel2(1, x).simplify() - -(x - I)*e^(-I*x)/x^2 + I*(I*x + 1)*e^(-I*x)/x^2 sage: spherical_hankel2(2,i).simplify() -e sage: spherical_hankel2(2,x).simplify() - (-I*x^2 - 3*x + 3*I)*e^(-I*x)/x^3 + -I*(x^2 - 3*I*x - 3)*e^(-I*x)/x^3 sage: spherical_hankel2(3 + 2*I, 5 - 0.2*I) 0.0217627632692163 + 0.0224001906110906*I sage: integrate(spherical_hankel2(3, x), x) diff --git a/src/sage/interfaces/maxima.py b/src/sage/interfaces/maxima.py index 73dc7b08014..0483c86a96b 100644 --- a/src/sage/interfaces/maxima.py +++ b/src/sage/interfaces/maxima.py @@ -194,7 +194,7 @@ You can even nicely typeset the solution in latex:: sage: latex(s) - \left[ \left[ a=-...{{\sqrt{79}\,i-11}\over{4}}... , b={{...\sqrt{79}\,i+9...}\over{4}} , c={{\sqrt{79}\,i+1}\over{10}} \right] , \left[ a={{...\sqrt{79}\,i+11}\over{4}} , b=-...{{\sqrt{79}\,i-9...}\over{4}}... , c=-...{{...\sqrt{79}\,i-1}\over{10}}... \right] \right] + \left[ \left[ a=-\left({{\sqrt{79}\,i-11}\over{4}}\right) , b={{\sqrt{79}\,i +9}\over{4}} , c={{\sqrt{79}\,i+1}\over{10}} \right] , \left[ a={{\sqrt{79} \,i+11}\over{4}} , b=-\left({{\sqrt{79}\,i-9}\over{4}}\right) , c=-\left({{ \sqrt{79}\,i-1}\over{10}}\right) \right] \right] To have the above appear onscreen via ``xdvi``, type ``view(s)``. (TODO: For OS X should create pdf output @@ -216,11 +216,11 @@ :: sage: f = maxima('x^3 * %e^(k*x) * sin(w*x)'); f - x^3*%e^(k*x)*sin(w*x) + %e^(k*x)*x^3*sin(w*x) sage: f.diff('x') - k*x^3*%e^(k*x)*sin(w*x)+3*x^2*%e^(k*x)*sin(w*x)+w*x^3*%e^(k*x) *cos(w*x) + %e^(k*x)*k*x^3*sin(w*x)+3*%e^(k*x)*x^2*sin(w*x)+%e^(k*x)*w*x^3 *cos(w*x) sage: f.integrate('x') - (((k*w^6+3*k^3*w^4+3*k^5*w^2+k^7)*x^3 +(3*w^6+3*k^2*w^4-3*k^4*w^2-3*k^6)*x^2+(...-...18*k*w^4)-12*k^3*w^2+6*k^5)*x-6*w^4 +36*k^2*w^2-6*k^4) *%e^(k*x)*sin(w*x) +((...-w^7...-3*k^2*w^5-3*k^4*w^3-k^6*w)*x^3...+(6*k*w^5+12*k^3*w^3+6*k^5*w)*x^2...+(6*w^5-12*k^2*w^3-18*k^4*w)*x-24*k*w^3 +24*k^3*w) *%e^(k*x)*cos(w*x)) /(w^8+4*k^2*w^6+6*k^4*w^4+4*k^6*w^2+k^8) + (((%e^(k*x)*k*w^6+3*%e^(k*x)*k^3*w^4+3*%e^(k*x)*k^5*w^2+%e^(k*x)*k^7)*x ^3 +(3*%e^(k*x)*w^6+3*%e^(k*x)*k^2*w^4-3*%e^(k*x)*k^4*w^2-3*%e^(k*x)*k^6)*x^2 +(-(18*%e^(k*x)*k*w^4)-12*%e^(k*x)*k^3*w^2+6*%e^(k*x)*k^5)*x-6*%e^(k*x)*w^4 +36*%e^(k*x)*k^2*w^2-6*%e^(k*x)*k^4) *sin(w*x) +((-(%e^(k*x)*w^7)-3*%e^(k*x)*k^2*w^5-3*%e^(k*x)*k^4*w^3-%e^(k*x)*k^6*w)*x^3 +(6*%e^(k*x)*k*w^5+12*%e^(k*x)*k^3*w^3+6*%e^(k*x)*k^5*w)*x^2 +(6*%e^(k*x)*w^5-12*%e^(k*x)*k^2*w^3-18*%e^(k*x)*k^4*w)*x-24*%e^(k*x)*k*w^3 +24*%e^(k*x)*k^3*w) *cos(w*x)) /(w^8+4*k^2*w^6+6*k^4*w^4+4*k^6*w^2+k^8) :: @@ -291,13 +291,14 @@ sage: _ = maxima.eval("f(t) := t^5*exp(t)*sin(t)") sage: maxima("laplace(f(t),t,s)") - (360*(2*s-2))/(s^2-2*s+2)^4-(480*(2*s-2)^3)/(s^2-2*s+2)^5 +(120*(2*s-2)^5)/(s^2-2*s+2)^6 + (720*s^5-3600*s^4+4800*s^3-2880*s+960) /(s^12-12*s^11+72*s^10-280*s^9+780*s^8-1632*s^7+2624*s^6-3264*s^5+3120*s^4 -2240*s^3+1152*s^2-384*s+64) sage: print(maxima("laplace(f(t),t,s)")) - 3 5 - 360 (2 s - 2) 480 (2 s - 2) 120 (2 s - 2) - --------------- - --------------- + --------------- - 2 4 2 5 2 6 - (s - 2 s + 2) (s - 2 s + 2) (s - 2 s + 2) + 5 4 3 + (720 s - 3600 s + 4800 s - 2880 s + 960) + 12 11 10 9 8 7 6 5 + /(s - 12 s + 72 s - 280 s + 780 s - 1632 s + 2624 s - 3264 s + 4 3 2 + + 3120 s - 2240 s + 1152 s - 384 s + 64) :: @@ -363,11 +364,11 @@ sage: S = maxima('nusum(exp(1+2*i/n),i,1,n)') sage: print(S) - 2/n + 3 2/n + 1 - %e %e - ----------------------- - ----------------------- - 1/n 1/n 1/n 1/n - (%e - 1) (%e + 1) (%e - 1) (%e + 1) + 2/n + 3 2/n + 1 + %e %e + ─────────────────────── - ─────────────────────── + 1/n 1/n 1/n 1/n + (%e - 1) (%e + 1) (%e - 1) (%e + 1) We formally compute the limit as `n\to\infty` of `2S/n` as follows:: @@ -418,7 +419,7 @@ sage: from sage.interfaces.maxima import maxima sage: g = maxima('exp(3*%i*x)/(6*%i) + exp(%i*x)/(2*%i) + c') sage: latex(g) - -...{{i\,e^{3\,i\,x}}\over{6}}...-{{i\,e^{i\,x}}\over{2}}+c + c-{{e^{3\,i\,x}\,i}\over{6}}-{{e^{i\,x}\,i}\over{2}} Long Input ---------- diff --git a/src/sage/interfaces/maxima_abstract.py b/src/sage/interfaces/maxima_abstract.py index 7de873341b2..7f01255aa5f 100644 --- a/src/sage/interfaces/maxima_abstract.py +++ b/src/sage/interfaces/maxima_abstract.py @@ -864,11 +864,11 @@ def de_solve(self, de, vars, ics=None): sage: maxima.de_solve('diff(y,x,2) + 3*x = y', ['x','y'], [1,1,1]) y = 3*x-2*%e^(x-1) sage: maxima.de_solve('diff(y,x,2) + 3*x = y', ['x','y']) - y = %k1*%e^x+%k2*%e^-x+3*x + y = 3*x+%e^-x*%k2+%e^x*%k1 sage: maxima.de_solve('diff(y,x) + 3*x = y', ['x','y']) - y = (%c-3*(...-x...-1)*%e^-x)*%e^x + y = %e^x*(%c-3*%e^-x*(-x-1)) sage: maxima.de_solve('diff(y,x) + 3*x = y', ['x','y'],[1,1]) - y = -...%e^-1*(5*%e^x-3*%e*x-3*%e)... + y = %e^-1*(3*%e*x-5*%e^x+3*%e) """ if not isinstance(vars, str): str_vars = '%s, %s' % (vars[1], vars[0]) @@ -908,20 +908,20 @@ def de_solve_laplace(self, de, vars, ics=None): sage: from sage.interfaces.maxima_lib import maxima sage: maxima.clear('x'); maxima.clear('f') sage: maxima.de_solve_laplace("diff(f(x),x,2) = 2*diff(f(x),x)-f(x)", ["x","f"], [0,1,2]) - f(x) = x*%e^x+%e^x + f(x) = %e^x*x+%e^x :: sage: maxima.clear('x'); maxima.clear('f') sage: f = maxima.de_solve_laplace("diff(f(x),x,2) = 2*diff(f(x),x)-f(x)", ["x","f"]) sage: f - f(x) = x*%e^x*('at('diff(f(x),x,1),x = 0))-f(0)*x*%e^x+f(0)*%e^x + f(x) = %e^x*x*('at('diff(f(x),x,1),x = 0))-%e^x*f(0)*x+%e^x*f(0) sage: print(f) - ! - x d ! x x - f(x) = x %e (-- (f(x))! ) - f(0) x %e + f(0) %e - dx ! - !x = 0 + │ + x d │ x x + f(x) = %e x (── (f(x))│ ) - %e f(0) x + %e f(0) + dx │ + │x = 0 .. NOTE:: @@ -1134,10 +1134,10 @@ def __str__(self): sage: f = maxima('1/(x-1)^3'); f 1/(x-1)^3 sage: print(f) - 1 - -------- - 3 - (x - 1) + 1 + ──────── + 3 + (x - 1) """ return self.display2d(onscreen=False) @@ -1793,9 +1793,9 @@ def _latex_(self): sage: y,d = var('y,d') sage: f = function('f') sage: latex(maxima(derivative(f(x*y), x))) - \left(\left.{{{\it \partial}}\over{{\it \partial}\, {\it \_symbol}_{0}}}\,f\left( {\it \_symbol}_{0}\right)\right|_{ {\it \_symbol}_{0}={\it x}\, {\it y}}\right)\,{\it y} + \left(\left.{{{\it \partial}}\over{{\it \partial}\, {\it \_symbol}_{0}}}\,f\left({\it \_symbol}_{0} \right)\right|_{{\it \_symbol}_{0}={\it x}\, {\it y}}\right)\,{\it y} sage: latex(maxima(derivative(f(x,y,d), d,x,x,y))) - {{{\it \partial}^4}\over{{\it \partial}\,{\it d}\, {\it \partial}\,{\it x}^2\,{\it \partial}\, {\it y}}}\,f\left({\it x} , {\it y} , {\it d}\right) + {{{\it \partial}^4}\over{{\it \partial}\,{\it d}\, {\it \partial}\,{\it x}^2\,{\it \partial}\,{\it y} }}\,f\left({\it x} , {\it y} , {\it d} \right) sage: latex(maxima(d/(d-2))) {{{\it d}}\over{{\it d}-2}} """ @@ -1924,9 +1924,9 @@ def partial_fraction_decomposition(self, var='x'): sage: f.partial_fraction_decomposition('x') 1/(2*(x-1))-1/(2*(x+1)) sage: print(f.partial_fraction_decomposition('x')) - 1 1 - --------- - --------- - 2 (x - 1) 2 (x + 1) + 1 1 + ───────── - ───────── + 2 (x - 1) 2 (x + 1) """ return self.partfrac(var) diff --git a/src/sage/interfaces/maxima_lib.py b/src/sage/interfaces/maxima_lib.py index 3fab1719223..b9ade64ea23 100644 --- a/src/sage/interfaces/maxima_lib.py +++ b/src/sage/interfaces/maxima_lib.py @@ -159,16 +159,21 @@ # subject to the same race condition and since `*maxima-objdir*` # has multiple components this is quite plausible to happen. maxima_objdir = ecl_eval("*maxima-objdir*").python()[1:-1] - import os os.makedirs(maxima_objdir, exist_ok=True) # Call `(set-pathnames)` again to complete its job. ecl_eval("(set-pathnames)") +# Always ensure *maxima-objdir* exists using Python's os.makedirs, +# which is more robust than ECL's ensure-directories-exist on some +# platforms (see :issue:`26968`). +maxima_objdir = ecl_eval("*maxima-objdir*").python()[1:-1] +os.makedirs(maxima_objdir, exist_ok=True) + ecl_eval("(initialize-runtime-globals)") ecl_eval("(setq $nolabels t))") ecl_eval("(defun add-lineinfo (x) x)") ecl_eval(r"(defun tex-derivative (x l r) (tex (if $derivabbrev (tex-dabbrev x) (tex-d x '\\partial)) l r lop rop ))") -ecl_eval('(defun principal nil (cond ($noprincipal (diverg)) ((not pcprntd) (merror "Divergent Integral"))))') +ecl_eval('(defun principal nil (cond ($noprincipal (diverg)) ((not *pcprntd*) (merror "Divergent Integral"))))') ecl_eval("(remprop 'mfactorial 'grind)") # don't use ! for factorials (#11539) ecl_eval("(setf $errormsg nil)") @@ -233,7 +238,21 @@ # See trac # 6818. init_code.append('nolabels : true') for l in init_code: - ecl_eval("#$%s$" % l) + try: + ecl_eval("#$%s$" % l) + except RuntimeError as e: + # When Maxima compiles share packages (e.g. linearalgebra) for the + # first time, it stores compiled binaries in subdirectories of + # *maxima-objdir*. ECL's ensure-directories-exist may fail to + # create these subdirectories on some platforms; if so, create + # the missing directory with Python and retry. + import re + m = re.search(r'Cannot open #P"([^"]+)"', str(e)) + if m: + os.makedirs(os.path.dirname(m.group(1)), exist_ok=True) + ecl_eval("#$%s$" % l) + else: + raise # To get more debug information uncomment the next line # should allow to do this through a method # ecl_eval("(setf *standard-output* original-standard-output)") @@ -1228,6 +1247,8 @@ def reduce_load_MaximaLib(): sage.functions.error.erf: "%ERF", sage.functions.gamma.gamma_inc: "%GAMMA_INCOMPLETE", sage.functions.other.conjugate: "$CONJUGATE", + sage.functions.other.imag_part: "%IMAGPART", + sage.functions.other.real_part: "%REALPART", } # we compile the dictionary sage_op_dict = {k: EclObject(sage_op_dict[k]) for k in sage_op_dict} diff --git a/src/sage/libs/meson.build b/src/sage/libs/meson.build index 85db5911c38..f775921cd59 100644 --- a/src/sage/libs/meson.build +++ b/src/sage/libs/meson.build @@ -7,11 +7,40 @@ if not sirocco.found() disabler: true, ) endif -# cannot be found via pkg-config -ecl = cc.find_library('ecl', required: false, disabler: true) -if not ecl.found() and not is_windows +# ECL cannot be found via pkg-config; use ecl-config to get include dirs +ecl_lib = cc.find_library('ecl', required: false, disabler: true) +if ecl_lib.found() + ecl_config = find_program('ecl-config', required: false) + if ecl_config.found() + ecl_cflags = run_command(ecl_config, '--cflags', check: false) + if ecl_cflags.returncode() == 0 + ecl_inc_args = [] + foreach arg : ecl_cflags.stdout().strip().split() + if arg.startswith('-I') + ecl_inc_args += arg + endif + endforeach + ecl = declare_dependency( + dependencies: ecl_lib, + compile_args: ecl_inc_args, + ) + else + warning( + 'ecl-config --cflags failed; falling back to ecl_lib without include dirs. This may cause ECL to not work correctly in some incremental builds.', + ) + ecl = ecl_lib + endif + else + warning( + 'ecl-config not found; falling back to ecl_lib without include dirs. This may cause ECL to not work correctly in some incremental builds.', + ) + ecl = ecl_lib + endif +elif not is_windows ecl_proj = subproject('ecl') ecl = ecl_proj.get_variable('ecl_dep') +else + ecl = ecl_lib endif ecl_bin = find_program('ecl', required: false) if ecl_bin.found() diff --git a/src/sage/manifolds/chart.py b/src/sage/manifolds/chart.py index fd0d0d0d83b..e8dc33dfa0d 100644 --- a/src/sage/manifolds/chart.py +++ b/src/sage/manifolds/chart.py @@ -3754,7 +3754,7 @@ def set_inverse(self, *transformations, **kwds): sage: spher_to_cart.set_inverse(sqrt(x^2+y^2), atan2(y,x)) Check of the inverse coordinate transformation: r == r *passed* - ph == arctan2(r*sin(ph), r*cos(ph)) **failed** + ph == -2*pi*ceil(-1/2*(pi - ph)/pi) + ph **failed** x == x *passed* y == y *passed* NB: a failed report can reflect a mere lack of simplification. @@ -3791,8 +3791,8 @@ def set_inverse(self, *transformations, **kwds): sage: spher_to_cart.set_inverse(sqrt(x^3+y^2), atan2(y,x)) Check of the inverse coordinate transformation: - r == sqrt(r*cos(ph)^3 + sin(ph)^2)*r **failed** - ph == arctan2(r*sin(ph), r*cos(ph)) **failed** + r == r*sqrt(abs(r*cos(ph)^3 + sin(ph)^2)) **failed** + ph == -2*pi*ceil(-1/2*(pi - ph)/pi) + ph **failed** x == sqrt(x^3 + y^2)*x/sqrt(x^2 + y^2) **failed** y == sqrt(x^3 + y^2)*y/sqrt(x^2 + y^2) **failed** NB: a failed report can reflect a mere lack of simplification. diff --git a/src/sage/manifolds/continuous_map.py b/src/sage/manifolds/continuous_map.py index d407e448c91..44955d190f5 100644 --- a/src/sage/manifolds/continuous_map.py +++ b/src/sage/manifolds/continuous_map.py @@ -1576,7 +1576,7 @@ def expr(self, chart1=None, chart2=None): sage: ch_spher_cart.set_inverse(sqrt(x^2+y^2), atan2(y,x)) Check of the inverse coordinate transformation: r == r *passed* - ph == arctan2(r*sin(ph), r*cos(ph)) **failed** + ph == -2*pi*ceil(-1/2*(pi - ph)/pi) + ph **failed** x == x *passed* y == y *passed* NB: a failed report can reflect a mere lack of simplification. @@ -1625,7 +1625,7 @@ def set_expr(self, chart1, chart2, coord_functions): x == x *passed* y == y *passed* r == r *passed* - ph == arctan2(r*sin(ph), r*cos(ph)) **failed** + ph == -2*pi*ceil(-1/2*(pi - ph)/pi) + ph **failed** NB: a failed report can reflect a mere lack of simplification. sage: rot = U.continuous_map(U, ((x - sqrt(3)*y)/2, (sqrt(3)*x + y)/2), ....: name='R') @@ -1679,7 +1679,7 @@ def set_expr(self, chart1, chart2, coord_functions): x == x *passed* y == y *passed* r == r *passed* - ph == arctan2(r*sin(ph), r*cos(ph)) **failed** + ph == -2*pi*ceil(-1/2*(pi - ph)/pi) + ph **failed** NB: a failed report can reflect a mere lack of simplification. sage: rot = U.continuous_map(U, ((x - sqrt(3)*y)/2, (sqrt(3)*x + y)/2), ....: name='R') @@ -1768,7 +1768,7 @@ def add_expr(self, chart1, chart2, coord_functions): x == x *passed* y == y *passed* r == r *passed* - ph == arctan2(r*sin(ph), r*cos(ph)) **failed** + ph == -2*pi*ceil(-1/2*(pi - ph)/pi) + ph **failed** NB: a failed report can reflect a mere lack of simplification. sage: rot = U.continuous_map(U, ((x - sqrt(3)*y)/2, (sqrt(3)*x + y)/2), ....: name='R') @@ -1782,7 +1782,7 @@ def add_expr(self, chart1, chart2, coord_functions): sage: rot.display(c_spher, c_spher) R: U → U - (r, ph) ↦ (r, arctan2(1/2*(sqrt(3)*cos(ph) + sin(ph))*r, -1/2*(sqrt(3)*sin(ph) - cos(ph))*r)) + (r, ph) ↦ (r, arctan2(1/2*sqrt(3)*cos(ph) + 1/2*sin(ph), -1/2*sqrt(3)*sin(ph) + 1/2*cos(ph))) Therefore, we use the method :meth:`add_expr` to set the spherical-coordinate expression by hand:: diff --git a/src/sage/manifolds/differentiable/automorphismfield_group.py b/src/sage/manifolds/differentiable/automorphismfield_group.py index 45a2fad087a..11a548a0317 100644 --- a/src/sage/manifolds/differentiable/automorphismfield_group.py +++ b/src/sage/manifolds/differentiable/automorphismfield_group.py @@ -535,8 +535,7 @@ class AutomorphismFieldParalGroup(FreeModuleLinearGroup): Field of tangent-space automorphisms t^(-1) on the 2-dimensional differentiable manifold M sage: (t1^(-1)).display() - t^(-1) = 1/(e^y + 1) ∂/∂x⊗dx - x*y/(x^2 + (x^2 + 1)*e^y + 1) ∂/∂x⊗dy - + 1/(x^2 + 1) ∂/∂y⊗dy + t^(-1) = 1/(e^y + 1) ∂/∂x⊗dx - x*y/(x^2*(e^y + 1) + e^y + 1) ∂/∂x⊗dy + 1/(x^2 + 1) ∂/∂y⊗dy Since any automorphism field can be considered as a tensor field of type-`(1,1)` on ``M``, there is a coercion map from ``G`` to the diff --git a/src/sage/manifolds/differentiable/curve.py b/src/sage/manifolds/differentiable/curve.py index 8a1cfc2e77e..9c1d518acc3 100644 --- a/src/sage/manifolds/differentiable/curve.py +++ b/src/sage/manifolds/differentiable/curve.py @@ -466,7 +466,7 @@ def coord_expr(self, chart=None): x == x *passed* y == y *passed* r == r *passed* - ph == arctan2(r*sin(ph), r*cos(ph)) **failed** + ph == -2*pi*ceil(-1/2*(pi - ph)/pi) + ph **failed** NB: a failed report can reflect a mere lack of simplification. sage: R. = manifolds.RealLine() sage: c = U.curve({c_spher: (1,t)}, (t, 0, 2*pi), name='c') diff --git a/src/sage/manifolds/differentiable/metric.py b/src/sage/manifolds/differentiable/metric.py index 01b48ef9724..43758ba7e73 100644 --- a/src/sage/manifolds/differentiable/metric.py +++ b/src/sage/manifolds/differentiable/metric.py @@ -1556,9 +1556,9 @@ def sqrt_abs_det(self, frame=None): [ 1/8*u^2 - 1/8*v^2 + 1/4*v + 1/2 1/4*u] [ 1/4*u -1/8*u^2 + 1/8*v^2 + 1/4*v + 1/2] sage: g.sqrt_abs_det(Y.frame()).expr() - 1/2*sqrt(-x^2*y^2 - (x + 1)*y + x + 1) + 1/2*sqrt(abs(x^2*y^2 + (x + 1)*y - x - 1)) sage: g.sqrt_abs_det(Y.frame()).expr(Y) - 1/8*sqrt(-u^4 - v^4 + 2*(u^2 + 2)*v^2 - 4*u^2 + 16*v + 16) + 1/8*sqrt(abs(u^4 + v^4 - 2*(u^2 + 2)*v^2 + 4*u^2 - 16*v - 16)) A chart can be passed instead of a frame:: @@ -1578,9 +1578,9 @@ def sqrt_abs_det(self, frame=None): sage: g.sqrt_abs_det().expr() sqrt(-x**2*y**2 - x*y + x - y + 1) sage: g.sqrt_abs_det(Y.frame()).expr() - sqrt(-x**2*y**2 - x*y + x - y + 1)/2 + sqrt(Abs(x**2*y**2 + x*y - x + y - 1))/2 sage: g.sqrt_abs_det(Y.frame()).expr(Y) - sqrt(-u**4 + 2*u**2*v**2 - 4*u**2 - v**4 + 4*v**2 + 16*v + 16)/8 + sqrt(Abs(-u**4 + 2*u**2*v**2 - 4*u**2 - v**4 + 4*v**2 + 16*v + 16))/8 """ dom = self._domain if frame is None: diff --git a/src/sage/manifolds/differentiable/pseudo_riemannian_submanifold.py b/src/sage/manifolds/differentiable/pseudo_riemannian_submanifold.py index 57dc1c99862..e7c7aaebeea 100644 --- a/src/sage/manifolds/differentiable/pseudo_riemannian_submanifold.py +++ b/src/sage/manifolds/differentiable/pseudo_riemannian_submanifold.py @@ -819,8 +819,7 @@ def normal(self): ....: atan2(-y,-x)+pi) Check of the inverse coordinate transformation: the == 2*arctan(sqrt(-cos(the) + 1)/sqrt(cos(the) + 1)) **failed** - phi == pi + arctan2(sin(phi)*sin(the)/(cos(the) - 1), - cos(phi)*sin(the)/(cos(the) - 1)) **failed** + phi == pi + arctan2(cos(the)*sin(phi) - sin(phi), cos(phi)*cos(the) - cos(phi)) **failed** x == x *passed* y == y *passed* NB: a failed report can reflect a mere lack of simplification. diff --git a/src/sage/manifolds/utilities.py b/src/sage/manifolds/utilities.py index 8adfe33b991..693d01736b8 100644 --- a/src/sage/manifolds/utilities.py +++ b/src/sage/manifolds/utilities.py @@ -226,10 +226,10 @@ class SimplifyAbsTrig(ExpressionTreeWalker): sage: a = abs(cos(x)) + abs(sin(x)) The method :meth:`~sage.symbolic.expression.Expression.simplify_full()` - is ineffective on such an expression:: + works on such an expression:: sage: a.simplify_full() - abs(cos(x)) + abs(sin(x)) + -cos(x) + sin(x) We construct a :class:`SimplifyAbsTrig` object ``s`` from the symbolic expression ``a``:: @@ -437,9 +437,9 @@ def simplify_abs_trig(expr): sage: s = abs(sin(x)) + abs(sin(y)) + abs(sin(3*z)) sage: s.simplify_trig() - abs(4*cos(-z)^2 - 1)*abs(sin(-z)) + abs(sin(x)) + abs(sin(y)) + -4*sin(-z)^3 + abs(sin(x)) + sin(y) + 3*sin(-z) sage: s.simplify_full() - abs(4*cos(-z)^2 - 1)*abs(sin(-z)) + abs(sin(x)) + abs(sin(y)) + -4*sin(-z)^3 + abs(sin(x)) + sin(y) + 3*sin(-z) despite the following assumptions hold:: @@ -572,10 +572,10 @@ def simplify_chain_real(expr): sage: s = abs(sin(pi*x)) sage: simplify_chain_real(s) # correct output since x in (0,1) sin(pi*x) - sage: s.simplify_real() # unsimplified output - abs(sin(pi*x)) - sage: s.simplify_full() # unsimplified output - abs(sin(pi*x)) + sage: s.simplify_real() # simplified output with maxima>=5.48 + sin(pi*x) + sage: s.simplify_full() # simplified output with maxima>=5.48 + sin(pi*x) :: diff --git a/src/sage/matrix/matrix2.pyx b/src/sage/matrix/matrix2.pyx index e5afd226aee..5cb158c18e7 100644 --- a/src/sage/matrix/matrix2.pyx +++ b/src/sage/matrix/matrix2.pyx @@ -16531,8 +16531,8 @@ cdef class Matrix(Matrix1): sage: a = matrix([[1,2], [3,4]]) sage: a.exp() - [-1/22*((sqrt(33) - 11)*e^sqrt(33) - sqrt(33) - 11)*e^(-1/2*sqrt(33) + 5/2) 2/33*(sqrt(33)*e^sqrt(33) - sqrt(33))*e^(-1/2*sqrt(33) + 5/2)] - [ 1/11*(sqrt(33)*e^sqrt(33) - sqrt(33))*e^(-1/2*sqrt(33) + 5/2) 1/22*((sqrt(33) + 11)*e^sqrt(33) - sqrt(33) + 11)*e^(-1/2*sqrt(33) + 5/2)] + [ 1/22*((sqrt(33) + 11)*e^2 - (sqrt(33) - 11)*e^(sqrt(33) + 2))*e^(-1/2*sqrt(33) + 1/2) -2/33*(sqrt(33)*e^2 - sqrt(33)*e^(sqrt(33) + 2))*e^(-1/2*sqrt(33) + 1/2)] + [ -1/11*(sqrt(33)*e^2 - sqrt(33)*e^(sqrt(33) + 2))*e^(-1/2*sqrt(33) + 1/2) -1/22*((sqrt(33) - 11)*e^2 - (sqrt(33) + 11)*e^(sqrt(33) + 2))*e^(-1/2*sqrt(33) + 1/2)] sage: type(a.exp()) # needs sage.symbolic diff --git a/src/sage/misc/functional.py b/src/sage/misc/functional.py index cc854cb0d7b..eeff8ac6186 100644 --- a/src/sage/misc/functional.py +++ b/src/sage/misc/functional.py @@ -719,9 +719,7 @@ def integral(x, *args, **kwds): real sage: f = exp(-x) * sinh(sqrt(x)) sage: t = integrate(f, x, 0, Infinity); t # long time - 1/4*sqrt(pi)*(erf(1) - 1)*e^(1/4) - - 1/4*(sqrt(pi)*(erf(1) - 1) - sqrt(pi) + 2*e^(-1) - 2)*e^(1/4) - + 1/4*sqrt(pi)*e^(1/4) - 1/2*e^(1/4) + 1/2*e^(-3/4) + 1/2*sqrt(pi)*e^(1/4) sage: t.canonicalize_radical() # long time 1/2*sqrt(pi)*e^(1/4) sage: sage.calculus.calculus.maxima('domain: complex') @@ -929,7 +927,7 @@ def krull_dimension(x): 0 sage: ZZ.krull_dimension() 1 - sage: ZZ[sqrt(5)].krull_dimension() # needs sage.rings.number_field sage.symbolic + sage: ZZ[sqrt(5)].krull_dimension() # needs sage.rings.number_field sage.symbolic 1 sage: U. = PolynomialRing(ZZ, 3); U Multivariate Polynomial Ring in x, y, z over Integer Ring diff --git a/src/sage/symbolic/expression.pyx b/src/sage/symbolic/expression.pyx index 103cd40eed5..07d1b8dbb80 100644 --- a/src/sage/symbolic/expression.pyx +++ b/src/sage/symbolic/expression.pyx @@ -13019,21 +13019,21 @@ cdef class Expression(Expression_abc): Check that the sum in :issue:`10682` is done right:: sage: sum(binomial(n,k)*k^2, k, 2, n) - 1/4*(n^2 + n)*2^n - n + 1/4*2^n*n^2 + 1/4*(2^n - 4)*n This sum used to give a wrong result (:issue:`9635`) but now gives correct results with all relevant assumptions:: sage: (n,k,j)=var('n,k,j') sage: sum(binomial(n,k)*binomial(k-1,j)*(-1)**(k-1-j),k,j+1,n) - -(-1)^j*sum((-1)^k*binomial(k - 1, j)*binomial(n, k), k, j + 1, n) + -sum((-1)^(-j + k)*binomial(k - 1, j)*binomial(n, k), k, j + 1, n) sage: assume(j>-1) sage: sum(binomial(n,k)*binomial(k-1,j)*(-1)**(k-1-j),k,j+1,n) 1 sage: forget() sage: assume(n>=j) sage: sum(binomial(n,k)*binomial(k-1,j)*(-1)**(k-1-j),k,j+1,n) - -(-1)^j*sum((-1)^k*binomial(k - 1, j)*binomial(n, k), k, j + 1, n) + -sum((-1)^(-j + k)*binomial(k - 1, j)*binomial(n, k), k, j + 1, n) sage: forget() sage: assume(j==-1) sage: sum(binomial(n,k)*binomial(k-1,j)*(-1)**(k-1-j),k,j+1,n) @@ -13041,7 +13041,7 @@ cdef class Expression(Expression_abc): sage: forget() sage: assume(j<-1) sage: sum(binomial(n,k)*binomial(k-1,j)*(-1)**(k-1-j),k,j+1,n) - -(-1)^j*sum((-1)^k*binomial(k - 1, j)*binomial(n, k), k, j + 1, n) + -sum((-1)^(-j + k)*binomial(k - 1, j)*binomial(n, k), k, j + 1, n) sage: forget() Check that :issue:`16176` is fixed:: diff --git a/src/sage/symbolic/integration/external.py b/src/sage/symbolic/integration/external.py index 17f11b63779..a990791ac06 100644 --- a/src/sage/symbolic/integration/external.py +++ b/src/sage/symbolic/integration/external.py @@ -31,12 +31,7 @@ def maxima_integrator(expression, v, a=None, b=None): Check that :issue:`25817` is fixed:: sage: maxima_integrator(log(e^x*log(x)*sin(x))/x^2, x) - 1/2*(x*(Ei(-log(x)) + conjugate(Ei(-log(x)))) - - 2*x*integrate(sin(x)/(x*cos(x)^2 + x*sin(x)^2 - + 2*x*cos(x) + x), x) + 2*x*integrate(sin(x)/(x*cos(x)^2 - + x*sin(x)^2 - 2*x*cos(x) + x), x) + 2*x*log(x) + 2*log(2) - - log(cos(x)^2 + sin(x)^2 + 2*cos(x) + 1) - log(cos(x)^2 - + sin(x)^2 - 2*cos(x) + 1) - 2*log(log(x)))/x + -1/2*(2*x*integrate(sin(x)/(x*cos(x)^2 + x*sin(x)^2 + 2*x*cos(x) + x), x) - 2*x*integrate(sin(x)/(x*cos(x)^2 + x*sin(x)^2 - 2*x*cos(x) + x), x) - 2*x*log(x) - 2*x*real_part(Ei(-log(x))) - 2*log(2) + log(cos(x)^2 + sin(x)^2 + 2*cos(x) + 1) + log(cos(x)^2 + sin(x)^2 - 2*cos(x) + 1) + 2*log(log(x)))/x """ from sage.calculus.calculus import maxima if not isinstance(expression, Expression): diff --git a/src/sage/symbolic/integration/integral.py b/src/sage/symbolic/integration/integral.py index dfdb0dd07b7..251f52f155f 100644 --- a/src/sage/symbolic/integration/integral.py +++ b/src/sage/symbolic/integration/integral.py @@ -612,10 +612,7 @@ def integrate(expression, v=None, a=None, b=None, algorithm=None, hold=False): x y + Sqrt[--] FresnelS[Sqrt[--] x] 2 Pi sage: print(f.integral(x)) - x*y^z + 1/16*sqrt(pi)*((I + 1)*sqrt(2)*erf((1/2*I + 1/2)*sqrt(2)*x) - + (I - 1)*sqrt(2)*erf((1/2*I - 1/2)*sqrt(2)*x) - - (I - 1)*sqrt(2)*erf(sqrt(-I)*x) - + (I + 1)*sqrt(2)*erf((-1)^(1/4)*x)) + x*y^z + 1/16*sqrt(pi)*((I + 1)*sqrt(2)*erf((1/2*I + 1/2)*sqrt(2)*x) - (I - 1)*sqrt(2)*erf(sqrt(-I)*x) - 2*sqrt(2)*imag_part(erf((-1)^(1/4)*x)) + 2*sqrt(2)*real_part(erf((-1)^(1/4)*x))) Alternatively, just use algorithm='mathematica_free' to integrate via Mathematica over the internet (does NOT require a Mathematica license!):: @@ -1011,8 +1008,8 @@ def integrate(expression, v=None, a=None, b=None, algorithm=None, hold=False): sage: f = log(sin(x))*sin(x)^2 sage: g = integrate(f, x) ; g 1/4*I*x^2 + - 1/2*I*x*arctan2(-sin(x), -cos(x) + 1) - 1/2*I*x*arctan2(sin(x), cos(x) + 1) - + 1/2*I*x*arctan2(sin(x), -cos(x) + 1) - 1/4*x*log(cos(x)^2 + sin(x)^2 + 2*cos(x) + 1) - 1/4*x*log(cos(x)^2 + sin(x)^2 - 2*cos(x) + 1) + 1/4*(2*x - sin(2*x))*log(sin(x)) @@ -1036,7 +1033,7 @@ def integrate(expression, v=None, a=None, b=None, algorithm=None, hold=False): sage: assume(a > 0) sage: assume(a < 1) sage: integrate(x*log(1/(a*x+(1-x)^2)), x, 0, 1, algorithm='maxima') - 1/4*a^2*log(a) + 1/2*sqrt(-a^2 + 4*a)*a*arctan(sqrt(-a^2 + 4*a)*(a - 2)/(a^2 - 4*a)) - 1/2*sqrt(-a^2 + 4*a)*a*arctan(sqrt(-a^2 + 4*a)/(a - 4)) - a*log(a) - sqrt(-a^2 + 4*a)*arctan(sqrt(-a^2 + 4*a)*(a - 2)/(a^2 - 4*a)) + sqrt(-a^2 + 4*a)*arctan(sqrt(-a^2 + 4*a)/(a - 4)) - 1/2*a + 3/2 + 1/4*a^2*log(a) - 1/2*sqrt(-a^2 + 4*a)*a*arctan(sqrt(-a^2 + 4*a)/(a - 4)) + 1/2*sqrt(-a^2 + 4*a)*a*arctan(sqrt(-a^2 + 4*a)*(a - 2)/((a - 4)*a)) - a*log(a) + sqrt(-a^2 + 4*a)*arctan(sqrt(-a^2 + 4*a)/(a - 4)) - sqrt(-a^2 + 4*a)*arctan(sqrt(-a^2 + 4*a)*(a - 2)/((a - 4)*a)) - 1/2*a + 3/2 Check that :issue:`25905` is fixed:: diff --git a/src/sage/symbolic/relation.py b/src/sage/symbolic/relation.py index f2478769d70..1aa8438cdc1 100644 --- a/src/sage/symbolic/relation.py +++ b/src/sage/symbolic/relation.py @@ -1332,20 +1332,6 @@ def _solve_expression(f, x, explicit_solutions, multiplicities, sage: (x^2>1).solve(x) [[x < -1], [x > 1]] - Catch error message from Maxima:: - - sage: solve(acot(x),x) - Traceback (most recent call last): - ... - TypeError: ECL says: cot: argument 0 isn't in the domain of cot. - - :: - - sage: solve(acot(x),x,to_poly_solve=True) - Traceback (most recent call last): - ... - TypeError: ECL says: cot: argument 0 isn't in the domain of cot. - :issue:`7491` fixed:: sage: y = var('y') diff --git a/src/sage/tests/books/computational_mathematics_with_sagemath/calculus_doctest.py b/src/sage/tests/books/computational_mathematics_with_sagemath/calculus_doctest.py index b5531b112b4..15f74fe5779 100644 --- a/src/sage/tests/books/computational_mathematics_with_sagemath/calculus_doctest.py +++ b/src/sage/tests/books/computational_mathematics_with_sagemath/calculus_doctest.py @@ -256,7 +256,7 @@ Sage example in ./calculus.tex, line 1086:: sage: solve(x^(1/x)==(1/x)^x, x) - [(1/x)^x == x^(1/x)] + [x^(1/x) == (1/x)^x] Sage example in ./calculus.tex, line 1124:: diff --git a/subprojects/maxima.wrap b/subprojects/maxima.wrap index 6a9c8359de1..c28f6b13cf0 100644 --- a/subprojects/maxima.wrap +++ b/subprojects/maxima.wrap @@ -1,8 +1,8 @@ [wrap-file] -source_url = https://sourceforge.net/projects/maxima/files/Maxima-source/5.47.0-source/maxima-5.47.0.tar.gz/download -source_hash = 9104021b24fd53e8c03a983509cb42e937a925e8c0c85c335d7709a14fd40f7a -source_filename = maxima-5.47.0.tar.gz -directory = maxima-5.47.0 +source_url = https://sourceforge.net/projects/maxima/files/Maxima-source/5.49.0-source/maxima-5.49.0.tar.gz/download +source_hash = 6d401a4aa307cd3a5a9cadca4fa96c4ef0e24ff95a18bb6a8f803e3d2114adee +source_filename = maxima-5.49.0.tar.gz +directory = maxima-5.49.0 patch_directory = maxima diff_files = maxima/configure.patch, maxima/infodir.patch, maxima/maxima_prefix_bin.patch diff --git a/subprojects/packagefiles/maxima/configure.patch b/subprojects/packagefiles/maxima/configure.patch index 5e8af2db461..f04c46b52d8 100644 --- a/subprojects/packagefiles/maxima/configure.patch +++ b/subprojects/packagefiles/maxima/configure.patch @@ -4,7 +4,7 @@ new mode 100644 index 6716f3a04a6..732dcfeae8b --- a/configure +++ b/configure -@@ -7092,15 +7092,6 @@ if test x"${ccl64}" = xtrue ; then +@@ -7039,15 +7039,6 @@ if test x"${ccl64}" = xtrue ; then fi fi diff --git a/subprojects/packagefiles/maxima/infodir.patch b/subprojects/packagefiles/maxima/infodir.patch index a4c037bb848..8018f2d0057 100644 --- a/subprojects/packagefiles/maxima/infodir.patch +++ b/subprojects/packagefiles/maxima/infodir.patch @@ -2,7 +2,7 @@ diff --git a/src/init-cl.lisp b/src/init-cl.lisp index 0e1f18b..125f449 100644 --- a/src/init-cl.lisp +++ b/src/init-cl.lisp -@@ -134,7 +134,7 @@ When one changes, the other does too." +@@ -91,7 +91,7 @@ When one changes, the other does too. (setq libdir (combine-path maxima-prefix-env "lib")) (setq libexecdir (combine-path maxima-prefix-env "libexec")) (setq datadir (combine-path maxima-prefix-env "share")) diff --git a/subprojects/packagefiles/maxima/maxima_prefix_bin.patch b/subprojects/packagefiles/maxima/maxima_prefix_bin.patch index 0fced388ea9..3df3c2b1af8 100644 --- a/subprojects/packagefiles/maxima/maxima_prefix_bin.patch +++ b/subprojects/packagefiles/maxima/maxima_prefix_bin.patch @@ -1,13 +1,13 @@ diff --git a/src/maxima.in b/src/maxima.in -index ce84356a622..6af4c055238 100755 +index 2cf379cd4..a7608b065 100755 --- a/src/maxima.in +++ b/src/maxima.in @@ -28,7 +28,7 @@ setup_vars() { MAXIMA_IMAGESDIR="$MAXIMA_DEFAULT_IMAGESDIR" else if [ "$layout_autotools" = "true" ]; then -- MAXIMA_IMAGESDIR=`unixize "$MAXIMA_PREFIX"`/lib/$PACKAGE/$MAXIMA_VERSION -+ MAXIMA_IMAGESDIR=`unixize "$MAXIMA_PREFIX"`/lib/x86_64-linux-gnu/$PACKAGE/$MAXIMA_VERSION +- MAXIMA_IMAGESDIR=$(unixize "$MAXIMA_PREFIX")/lib/$PACKAGE/$MAXIMA_VERSION ++ MAXIMA_IMAGESDIR=$(unixize "$MAXIMA_PREFIX")/lib/x86_64-linux-gnu/$PACKAGE/$MAXIMA_VERSION else - MAXIMA_IMAGESDIR=`unixize "$MAXIMA_PREFIX"`/src - fi + MAXIMA_IMAGESDIR=$(unixize "$MAXIMA_PREFIX")/src + fi diff --git a/tools/update-conda.py b/tools/update-conda.py index cfcb9646cf8..6e818335a7a 100755 --- a/tools/update-conda.py +++ b/tools/update-conda.py @@ -276,8 +276,6 @@ def get_dependencies(pyproject_toml: Path, python: str, platform: str) -> set[st # Issue #41555: meson uses pkg-config to search for cblas whose .pc files are in blas-devel all_requirements.add("blas-devel") all_requirements.add("fortran-compiler") - all_requirements = {req for req in all_requirements if not req.startswith("mpmath")} - all_requirements.add("mpmath >=1.1.0,<1.4.0") if platform == "win-64": all_requirements.add("vs2022_win-64") @@ -306,7 +304,7 @@ def get_dependencies(pyproject_toml: Path, python: str, platform: str) -> set[st # https://github.com/sagemath/sage/pull/40679 if platform != "win-64": all_requirements.remove("maxima") - all_requirements.add("maxima < 5.48.0") + all_requirements.add("maxima ==5.49.0") all_requirements.remove("singular") all_requirements.add("singular ==4.4.1.p5")