From e01678015ab9742b4dd0e7218792bdddb5b6ffea Mon Sep 17 00:00:00 2001 From: kionactf Date: Sat, 21 Dec 2024 23:05:22 +0900 Subject: [PATCH 1/6] add transformation feature to BKZ (and version up fplll, fpylll) --- build/pkgs/fplll/checksums.ini | 4 +- build/pkgs/fplll/package-version.txt | 2 +- build/pkgs/fplll/spkg-configure.m4 | 2 +- build/pkgs/fpylll/checksums.ini | 4 +- build/pkgs/fpylll/distros/conda.txt | 2 +- build/pkgs/fpylll/package-version.txt | 2 +- build/pkgs/fpylll/version_requirements.txt | 2 +- environment-3.10-linux-aarch64.yml | 4 +- environment-3.10-linux.yml | 4 +- environment-3.10-macos-x86_64.yml | 4 +- environment-3.10-macos.yml | 4 +- environment-3.11-linux-aarch64.yml | 4 +- environment-3.11-linux.yml | 4 +- environment-3.11-macos-x86_64.yml | 4 +- environment-3.11-macos.yml | 4 +- environment-3.9-linux-aarch64.yml | 4 +- environment-3.9-linux.yml | 4 +- environment-3.9-macos-x86_64.yml | 4 +- environment-3.9-macos.yml | 4 +- pyproject.toml | 2 +- src/sage/matrix/matrix_integer_dense.pyx | 50 ++++++++++++++++------ 21 files changed, 71 insertions(+), 47 deletions(-) diff --git a/build/pkgs/fplll/checksums.ini b/build/pkgs/fplll/checksums.ini index 7ad5ac91a3b..952e43611c3 100644 --- a/build/pkgs/fplll/checksums.ini +++ b/build/pkgs/fplll/checksums.ini @@ -1,4 +1,4 @@ tarball=fplll-VERSION.tar.gz -sha1=607f5922109d93ddd5a05419682511e26579f9d6 -sha256=76d3778f0326597ed7505bab19493a9bf6b73a5c5ca614e8fb82f42105c57d00 +sha1=b40beea04697cccb26c9e6140935039ef87371df +sha256=f0af6bdd0ebd5871e87ff3ef7737cb5360b1e38181a4e5a8c1236f3476fec3b2 upstream_url=https://github.com/fplll/fplll/releases/download/VERSION/fplll-VERSION.tar.gz diff --git a/build/pkgs/fplll/package-version.txt b/build/pkgs/fplll/package-version.txt index 8ce222e90f7..d50359de185 100644 --- a/build/pkgs/fplll/package-version.txt +++ b/build/pkgs/fplll/package-version.txt @@ -1 +1 @@ -5.4.5 +5.5.0 diff --git a/build/pkgs/fplll/spkg-configure.m4 b/build/pkgs/fplll/spkg-configure.m4 index 053c9c74daf..3e2bbb389f3 100644 --- a/build/pkgs/fplll/spkg-configure.m4 +++ b/build/pkgs/fplll/spkg-configure.m4 @@ -8,7 +8,7 @@ SAGE_SPKG_CONFIGURE([fplll], [ dnl Issue #31025: FPLLL/FPyLLL make no guarantee regarding compatibility dnl other than "whatever versions were released at the same time should work together" PKG_CHECK_MODULES([FPLLL], - [fplll >= 5.4.5 fplll <= 5.4.5], + [fplll >= 5.5.0 fplll <= 5.5.0], [ AC_MSG_CHECKING([whether BKZ default strategy JSON is installed]) AC_LANG_PUSH([C++]) diff --git a/build/pkgs/fpylll/checksums.ini b/build/pkgs/fpylll/checksums.ini index 188e768b787..0374882baef 100644 --- a/build/pkgs/fpylll/checksums.ini +++ b/build/pkgs/fpylll/checksums.ini @@ -1,4 +1,4 @@ tarball=fpylll-VERSION.tar.gz -sha1=c0bcf8c5583ebf614da9b26710a2c835d498bf34 -sha256=dfd9529a26c50993a2a716177debd7994312219070574cad31b35b4f0c040a19 +sha1=e9f6d4b46151f4df875e1e4d4f6494f1d46edb72 +sha256=d5b2f250afb6fb2f9c70e03ffe1169ff6f2e167e348da1328cc20b693b915fbe upstream_url=https://files.pythonhosted.org/packages/source/f/fpylll/fpylll-VERSION.tar.gz diff --git a/build/pkgs/fpylll/distros/conda.txt b/build/pkgs/fpylll/distros/conda.txt index aa483930c7a..060d36c0366 100644 --- a/build/pkgs/fpylll/distros/conda.txt +++ b/build/pkgs/fpylll/distros/conda.txt @@ -1 +1 @@ -fpylll>=0.5.9 +fpylll>=0.6.2 diff --git a/build/pkgs/fpylll/package-version.txt b/build/pkgs/fpylll/package-version.txt index ee6cdce3c29..b6160487433 100644 --- a/build/pkgs/fpylll/package-version.txt +++ b/build/pkgs/fpylll/package-version.txt @@ -1 +1 @@ -0.6.1 +0.6.2 diff --git a/build/pkgs/fpylll/version_requirements.txt b/build/pkgs/fpylll/version_requirements.txt index e040e7daa1e..46d9d68f8ee 100644 --- a/build/pkgs/fpylll/version_requirements.txt +++ b/build/pkgs/fpylll/version_requirements.txt @@ -1 +1 @@ -fpylll >=0.5.9 +fpylll >=0.6.2 diff --git a/environment-3.10-linux-aarch64.yml b/environment-3.10-linux-aarch64.yml index f5504885ec5..60aa5bec36d 100644 --- a/environment-3.10-linux-aarch64.yml +++ b/environment-3.10-linux-aarch64.yml @@ -70,8 +70,8 @@ dependencies: - fonts-conda-forge=1=0 - fonttools=4.55.0=py310heeae437_0 - fortran-compiler=1.8.0=h25a59a9_1 - - fplll=5.4.5=hb3a790e_0 - - fpylll=0.6.1=py310hfdbf2a6_0 + - fplll=5.5.0=hb3a790e_0 + - fpylll=0.6.2=py310hfdbf2a6_0 - freetype=2.12.1=hf0a5ef3_2 - furo=2024.8.6=pyhd8ed1ab_1 - gap-core=4.13.1=h16511ff_0 diff --git a/environment-3.10-linux.yml b/environment-3.10-linux.yml index 2a6bea964fd..5042df22ca2 100644 --- a/environment-3.10-linux.yml +++ b/environment-3.10-linux.yml @@ -71,8 +71,8 @@ dependencies: - fonts-conda-forge=1=0 - fonttools=4.55.0=py310h89163eb_0 - fortran-compiler=1.8.0=h36df796_1 - - fplll=5.4.5=h384768b_0 - - fpylll=0.6.1=py310h7e26f94_0 + - fplll=5.5.0=h384768b_0 + - fpylll=0.6.2=py310h7e26f94_0 - freetype=2.12.1=h267a509_2 - furo=2024.8.6=pyhd8ed1ab_1 - gap-core=4.13.1=h94f18e1_0 diff --git a/environment-3.10-macos-x86_64.yml b/environment-3.10-macos-x86_64.yml index 11b09eca6d1..0b7c615eb48 100644 --- a/environment-3.10-macos-x86_64.yml +++ b/environment-3.10-macos-x86_64.yml @@ -73,8 +73,8 @@ dependencies: - fonts-conda-forge=1=0 - fonttools=4.55.0=py310h8e2f543_0 - fortran-compiler=1.8.0=h33d1f46_1 - - fplll=5.4.5=hb7981ad_0 - - fpylll=0.6.1=py310h65a3d7e_0 + - fplll=5.5.0=hb7981ad_0 + - fpylll=0.6.2=py310h65a3d7e_0 - freetype=2.12.1=h60636b9_2 - furo=2024.8.6=pyhd8ed1ab_1 - gap-core=4.13.1=h2299be9_0 diff --git a/environment-3.10-macos.yml b/environment-3.10-macos.yml index d6cc0969531..1742f22ae42 100644 --- a/environment-3.10-macos.yml +++ b/environment-3.10-macos.yml @@ -73,8 +73,8 @@ dependencies: - fonts-conda-forge=1=0 - fonttools=4.55.0=py310hc74094e_0 - fortran-compiler=1.8.0=hc3477c4_1 - - fplll=5.4.5=hb7d509d_0 - - fpylll=0.6.1=py310hd9be144_0 + - fplll=5.5.0=hb7d509d_0 + - fpylll=0.6.2=py310hd9be144_0 - freetype=2.12.1=hadb7bae_2 - furo=2024.8.6=pyhd8ed1ab_1 - gap-core=4.13.1=h4cbeff9_0 diff --git a/environment-3.11-linux-aarch64.yml b/environment-3.11-linux-aarch64.yml index daa751968c1..99a5a98b7d2 100644 --- a/environment-3.11-linux-aarch64.yml +++ b/environment-3.11-linux-aarch64.yml @@ -70,8 +70,8 @@ dependencies: - fonts-conda-forge=1=0 - fonttools=4.55.0=py311h58d527c_0 - fortran-compiler=1.8.0=h25a59a9_1 - - fplll=5.4.5=hb3a790e_0 - - fpylll=0.6.1=py311h5d3d69a_0 + - fplll=5.5.0=hb3a790e_0 + - fpylll=0.6.2=py311h5d3d69a_0 - freetype=2.12.1=hf0a5ef3_2 - furo=2024.8.6=pyhd8ed1ab_1 - gap-core=4.13.1=h16511ff_0 diff --git a/environment-3.11-linux.yml b/environment-3.11-linux.yml index c18abc2b254..253bdaf6797 100644 --- a/environment-3.11-linux.yml +++ b/environment-3.11-linux.yml @@ -71,8 +71,8 @@ dependencies: - fonts-conda-forge=1=0 - fonttools=4.55.0=py311h2dc5d0c_0 - fortran-compiler=1.8.0=h36df796_1 - - fplll=5.4.5=h384768b_0 - - fpylll=0.6.1=py311hcfae7cf_0 + - fplll=5.5.0=h384768b_0 + - fpylll=0.6.2=py311hcfae7cf_0 - freetype=2.12.1=h267a509_2 - furo=2024.8.6=pyhd8ed1ab_1 - gap-core=4.13.1=h94f18e1_0 diff --git a/environment-3.11-macos-x86_64.yml b/environment-3.11-macos-x86_64.yml index bb44b958990..a31cd33d591 100644 --- a/environment-3.11-macos-x86_64.yml +++ b/environment-3.11-macos-x86_64.yml @@ -73,8 +73,8 @@ dependencies: - fonts-conda-forge=1=0 - fonttools=4.55.0=py311ha3cf9ac_0 - fortran-compiler=1.8.0=h33d1f46_1 - - fplll=5.4.5=hb7981ad_0 - - fpylll=0.6.1=py311h85fbf69_0 + - fplll=5.5.0=hb7981ad_0 + - fpylll=0.6.2=py311h85fbf69_0 - freetype=2.12.1=h60636b9_2 - furo=2024.8.6=pyhd8ed1ab_1 - gap-core=4.13.1=h2299be9_0 diff --git a/environment-3.11-macos.yml b/environment-3.11-macos.yml index 7a5da98494f..c3b9c63bf0b 100644 --- a/environment-3.11-macos.yml +++ b/environment-3.11-macos.yml @@ -73,8 +73,8 @@ dependencies: - fonts-conda-forge=1=0 - fonttools=4.55.0=py311h4921393_0 - fortran-compiler=1.8.0=hc3477c4_1 - - fplll=5.4.5=hb7d509d_0 - - fpylll=0.6.1=py311h341b96b_0 + - fplll=5.5.0=hb7d509d_0 + - fpylll=0.6.2=py311h341b96b_0 - freetype=2.12.1=hadb7bae_2 - furo=2024.8.6=pyhd8ed1ab_1 - gap-core=4.13.1=h4cbeff9_0 diff --git a/environment-3.9-linux-aarch64.yml b/environment-3.9-linux-aarch64.yml index e2445733524..54a72cd3e97 100644 --- a/environment-3.9-linux-aarch64.yml +++ b/environment-3.9-linux-aarch64.yml @@ -70,8 +70,8 @@ dependencies: - fonts-conda-forge=1=0 - fonttools=4.55.0=py39hbebea31_0 - fortran-compiler=1.8.0=h25a59a9_1 - - fplll=5.4.5=hb3a790e_0 - - fpylll=0.6.1=py39h97065f7_0 + - fplll=5.5.0=hb3a790e_0 + - fpylll=0.6.2=py39h97065f7_0 - freetype=2.12.1=hf0a5ef3_2 - furo=2024.8.6=pyhd8ed1ab_1 - gap-core=4.13.1=h16511ff_0 diff --git a/environment-3.9-linux.yml b/environment-3.9-linux.yml index 0a8d9500a8d..7269413f972 100644 --- a/environment-3.9-linux.yml +++ b/environment-3.9-linux.yml @@ -71,8 +71,8 @@ dependencies: - fonts-conda-forge=1=0 - fonttools=4.55.0=py39h9399b63_0 - fortran-compiler=1.8.0=h36df796_1 - - fplll=5.4.5=h384768b_0 - - fpylll=0.6.1=py39h2525e16_0 + - fplll=5.5.0=h384768b_0 + - fpylll=0.6.2=py39h2525e16_0 - freetype=2.12.1=h267a509_2 - furo=2024.8.6=pyhd8ed1ab_1 - gap-core=4.13.1=h94f18e1_0 diff --git a/environment-3.9-macos-x86_64.yml b/environment-3.9-macos-x86_64.yml index c755abe0e4a..c902c8ec58e 100644 --- a/environment-3.9-macos-x86_64.yml +++ b/environment-3.9-macos-x86_64.yml @@ -73,8 +73,8 @@ dependencies: - fonts-conda-forge=1=0 - fonttools=4.55.0=py39hd18e689_0 - fortran-compiler=1.8.0=h33d1f46_1 - - fplll=5.4.5=hb7981ad_0 - - fpylll=0.6.1=py39h3b3ffec_0 + - fplll=5.5.0=hb7981ad_0 + - fpylll=0.6.2=py39h3b3ffec_0 - freetype=2.12.1=h60636b9_2 - furo=2024.8.6=pyhd8ed1ab_1 - gap-core=4.13.1=h2299be9_0 diff --git a/environment-3.9-macos.yml b/environment-3.9-macos.yml index ac783c7e02f..3fe01d9b8ba 100644 --- a/environment-3.9-macos.yml +++ b/environment-3.9-macos.yml @@ -73,8 +73,8 @@ dependencies: - fonts-conda-forge=1=0 - fonttools=4.55.0=py39hefdd603_0 - fortran-compiler=1.8.0=hc3477c4_1 - - fplll=5.4.5=hb7d509d_0 - - fpylll=0.6.1=py39h2eadeda_0 + - fplll=5.5.0=hb7d509d_0 + - fpylll=0.6.2=py39h2eadeda_0 - freetype=2.12.1=hadb7bae_2 - furo=2024.8.6=pyhd8ed1ab_1 - gap-core=4.13.1=h4cbeff9_0 diff --git a/pyproject.toml b/pyproject.toml index da06db03649..bd0b99a03e2 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -54,7 +54,7 @@ dependencies = [ 'ipykernel >=5.2.1', 'jupyter-client', 'ipywidgets >=7.5.1', - 'fpylll >=0.5.9', + 'fpylll >=0.6.2', 'ptyprocess > 0.5', # TODO: Remove this once the migration to meson is complete 'pkgconfig' diff --git a/src/sage/matrix/matrix_integer_dense.pyx b/src/sage/matrix/matrix_integer_dense.pyx index 9ea2335b297..ccc6988b768 100644 --- a/src/sage/matrix/matrix_integer_dense.pyx +++ b/src/sage/matrix/matrix_integer_dense.pyx @@ -2729,7 +2729,7 @@ cdef class Matrix_integer_dense(Matrix_dense): ####################################################################### def BKZ(self, delta=None, algorithm='fpLLL', fp=None, block_size=10, prune=0, - use_givens=False, precision=0, proof=None, **kwds): + use_givens=False, precision=0, proof=None, transformation=False, **kwds): """ Return the result of running Block Korkin-Zolotarev reduction on ``self`` interpreted as a lattice. @@ -2795,6 +2795,8 @@ cdef class Matrix_integer_dense(Matrix_dense): - ``precision`` -- (default: ``0`` for automatic choice) bit precision to use if ``fp='rr'`` is set + - ``transformation`` -- boolean (default: ``False``); also return transformation + - ``**kwds`` -- keywords to be passed to :mod:`fpylll`; see :class:`fpylll.BKZ.Param` for details @@ -2821,6 +2823,13 @@ cdef class Matrix_integer_dense(Matrix_dense): [ 2 1 0] [-1 1 3] + We return the transformation matrix:: + + sage: A = random_matrix(ZZ, 10, 20) + sage: R, U = A.BKZ(transformation=True) + sage: U * A == R + True + ALGORITHM: Calls either NTL or fpLLL. @@ -2859,50 +2868,57 @@ cdef class Matrix_integer_dense(Matrix_dense): raise TypeError("fp parameter not understood.") A = self._ntl_() + U = None + if transformation: + import sage.libs.ntl.ntl_mat_ZZ + U = sage.libs.ntl.ntl_mat_ZZ.ntl_mat_ZZ(self._nrows, self._nrows, self._parant.identity_matrix(ZZ, self._nrows).list()) if algorithm == "BKZ_FP": if not use_givens: - r = A.BKZ_FP(U=None, delta=delta, BlockSize=block_size, + r = A.BKZ_FP(U=U, delta=delta, BlockSize=block_size, prune=prune, verbose=verbose) else: - r = A.G_BKZ_FP(U=None, delta=delta, BlockSize=block_size, + r = A.G_BKZ_FP(U=U, delta=delta, BlockSize=block_size, prune=prune, verbose=verbose) elif algorithm == "BKZ_QP": if not use_givens: - r = A.BKZ_QP(U=None, delta=delta, BlockSize=block_size, + r = A.BKZ_QP(U=U, delta=delta, BlockSize=block_size, prune=prune, verbose=verbose) else: - r = A.G_BKZ_QP(U=None, delta=delta, BlockSize=block_size, + r = A.G_BKZ_QP(U=U, delta=delta, BlockSize=block_size, prune=prune, verbose=verbose) elif algorithm == "BKZ_QP1": if not use_givens: - r = A.BKZ_QP1(U=None, delta=delta, BlockSize=block_size, + r = A.BKZ_QP1(U=U, delta=delta, BlockSize=block_size, prune=prune, verbose=verbose) else: - r = A.G_BKZ_QP1(U=None, delta=delta, BlockSize=block_size, + r = A.G_BKZ_QP1(U=U, delta=delta, BlockSize=block_size, prune=prune, verbose=verbose) elif algorithm == "BKZ_XD": if not use_givens: - r = A.BKZ_XD(U=None, delta=delta, BlockSize=block_size, + r = A.BKZ_XD(U=U, delta=delta, BlockSize=block_size, prune=prune, verbose=verbose) else: - r = A.G_BKZ_XD(U=None, delta=delta, BlockSize=block_size, + r = A.G_BKZ_XD(U=U, delta=delta, BlockSize=block_size, prune=prune, verbose=verbose) elif algorithm == "BKZ_RR": if not use_givens: - r = A.BKZ_RR(U=None, delta=delta, BlockSize=block_size, + r = A.BKZ_RR(U=U, delta=delta, BlockSize=block_size, prune=prune, verbose=verbose) else: - r = A.G_BKZ_RR(U=None, delta=delta, BlockSize=block_size, + r = A.G_BKZ_RR(U=U, delta=delta, BlockSize=block_size, prune=prune, verbose=verbose) self.cache("rank",ZZ(r)) R = self.new_matrix( entries=[ZZ(z) for z in A.list()]) + if transformation: + U = self.new_matrix( + entries=[ZZ(z) for z in U.list()]) elif algorithm == "fpLLL": from fpylll import BKZ, IntegerMatrix, load_strategies_json @@ -2929,12 +2945,20 @@ cdef class Matrix_integer_dense(Matrix_dense): kwds["auto_abort"] = True A = IntegerMatrix.from_matrix(self) - BKZ.reduction(A, BKZ.Param(block_size=block_size, delta=delta, **kwds), + Ufplll = None + if transformation: + Ufplll = IntegerMatrix(A.nrows, A.nrows) + BKZ.reduction(A, BKZ.Param(block_size=block_size, delta=delta, U=Ufplll, **kwds), float_type=fp_, precision=precision) R = A.to_matrix(self.new_matrix()) - return R + if transformation: + U = Ufplll.to_matrix(self.new_matrix(Ufplll.nrows, Ufplll.ncols)) + if transformation: + return R, U + else: + return R def LLL(self, delta=None, eta=None, algorithm='fpLLL:wrapper', fp=None, prec=0, early_red=False, use_givens=False, use_siegel=False, transformation=False, **kwds): r""" From 7498e5baa840c95ce2467bf1c4ef04d57a6c1c2a Mon Sep 17 00:00:00 2001 From: kionactf Date: Wed, 25 Dec 2024 07:31:26 +0900 Subject: [PATCH 2/6] fix BKZ transformation error --- src/sage/matrix/matrix_integer_dense.pyx | 44 ++++++++++++++---------- 1 file changed, 26 insertions(+), 18 deletions(-) diff --git a/src/sage/matrix/matrix_integer_dense.pyx b/src/sage/matrix/matrix_integer_dense.pyx index ccc6988b768..1e66e04c45e 100644 --- a/src/sage/matrix/matrix_integer_dense.pyx +++ b/src/sage/matrix/matrix_integer_dense.pyx @@ -2868,57 +2868,61 @@ cdef class Matrix_integer_dense(Matrix_dense): raise TypeError("fp parameter not understood.") A = self._ntl_() - U = None + UNTL = None if transformation: import sage.libs.ntl.ntl_mat_ZZ - U = sage.libs.ntl.ntl_mat_ZZ.ntl_mat_ZZ(self._nrows, self._nrows, self._parant.identity_matrix(ZZ, self._nrows).list()) + _I = matrix_space.MatrixSpace(ZZ, self.nrows()).identity_matrix() + UNTL = sage.libs.ntl.ntl_mat_ZZ.ntl_mat_ZZ(self.nrows(), + self.nrows(), _I.list()) if algorithm == "BKZ_FP": if not use_givens: - r = A.BKZ_FP(U=U, delta=delta, BlockSize=block_size, + r = A.BKZ_FP(U=UNTL, delta=delta, BlockSize=block_size, prune=prune, verbose=verbose) else: - r = A.G_BKZ_FP(U=U, delta=delta, BlockSize=block_size, + r = A.G_BKZ_FP(U=UNTL, delta=delta, BlockSize=block_size, prune=prune, verbose=verbose) elif algorithm == "BKZ_QP": if not use_givens: - r = A.BKZ_QP(U=U, delta=delta, BlockSize=block_size, + r = A.BKZ_QP(U=UNTL, delta=delta, BlockSize=block_size, prune=prune, verbose=verbose) else: - r = A.G_BKZ_QP(U=U, delta=delta, BlockSize=block_size, + r = A.G_BKZ_QP(U=UNTL, delta=delta, BlockSize=block_size, prune=prune, verbose=verbose) elif algorithm == "BKZ_QP1": if not use_givens: - r = A.BKZ_QP1(U=U, delta=delta, BlockSize=block_size, + r = A.BKZ_QP1(U=UNTL, delta=delta, BlockSize=block_size, prune=prune, verbose=verbose) else: - r = A.G_BKZ_QP1(U=U, delta=delta, BlockSize=block_size, + r = A.G_BKZ_QP1(U=UNTL, delta=delta, BlockSize=block_size, prune=prune, verbose=verbose) elif algorithm == "BKZ_XD": if not use_givens: - r = A.BKZ_XD(U=U, delta=delta, BlockSize=block_size, + r = A.BKZ_XD(U=UNTL, delta=delta, BlockSize=block_size, prune=prune, verbose=verbose) else: - r = A.G_BKZ_XD(U=U, delta=delta, BlockSize=block_size, + r = A.G_BKZ_XD(U=UNTL, delta=delta, BlockSize=block_size, prune=prune, verbose=verbose) elif algorithm == "BKZ_RR": if not use_givens: - r = A.BKZ_RR(U=U, delta=delta, BlockSize=block_size, + r = A.BKZ_RR(U=UNTL, delta=delta, BlockSize=block_size, prune=prune, verbose=verbose) else: - r = A.G_BKZ_RR(U=U, delta=delta, BlockSize=block_size, + r = A.G_BKZ_RR(U=UNTL, delta=delta, BlockSize=block_size, prune=prune, verbose=verbose) self.cache("rank",ZZ(r)) + + if transformation: + U = self.new_matrix(self.nrows(), self.nrows(), + entries=[ZZ(z) for z in UNTL.list()]) + R = self.new_matrix( entries=[ZZ(z) for z in A.list()]) - if transformation: - U = self.new_matrix( - entries=[ZZ(z) for z in U.list()]) elif algorithm == "fpLLL": from fpylll import BKZ, IntegerMatrix, load_strategies_json @@ -2947,8 +2951,11 @@ cdef class Matrix_integer_dense(Matrix_dense): A = IntegerMatrix.from_matrix(self) Ufplll = None if transformation: - Ufplll = IntegerMatrix(A.nrows, A.nrows) - BKZ.reduction(A, BKZ.Param(block_size=block_size, delta=delta, U=Ufplll, **kwds), + _I = matrix_space.MatrixSpace(ZZ, self.nrows()).identity_matrix() + Ufplll = IntegerMatrix.from_matrix(_I) + BKZ.reduction(A, + BKZ.Param(block_size=block_size, delta=delta, **kwds), + U=Ufplll, float_type=fp_, precision=precision) @@ -3284,7 +3291,8 @@ cdef class Matrix_integer_dense(Matrix_dense): A = IntegerMatrix.from_matrix(self) Ufplll = None if transformation: - Ufplll = IntegerMatrix(A.nrows, A.nrows) + _I = matrix_space.MatrixSpace(ZZ, self.nrows()).identity_matrix() + Ufplll = IntegerMatrix.from_matrix(_I) method = algorithm.replace("fpLLL:","") if verb: From 5665e2e581436f6a18ae5a91e200b3b07f6d76ef Mon Sep 17 00:00:00 2001 From: kionactf Date: Sun, 26 Jan 2025 06:27:45 +0900 Subject: [PATCH 3/6] bump fpylll to 0.6.3 --- build/pkgs/fpylll/checksums.ini | 4 ++-- build/pkgs/fpylll/distros/conda.txt | 2 +- build/pkgs/fpylll/package-version.txt | 2 +- build/pkgs/fpylll/version_requirements.txt | 2 +- environment-3.11-linux-aarch64.yml | 2 +- environment-3.11-linux.yml | 2 +- environment-3.11-macos-x86_64.yml | 2 +- environment-3.11-macos.yml | 2 +- environment-3.12-linux-aarch64.yml | 2 +- environment-3.12-linux.yml | 2 +- environment-3.12-macos-x86_64.yml | 2 +- environment-3.12-macos.yml | 2 +- pyproject.toml | 2 +- 13 files changed, 14 insertions(+), 14 deletions(-) diff --git a/build/pkgs/fpylll/checksums.ini b/build/pkgs/fpylll/checksums.ini index 0374882baef..b02fd91bedc 100644 --- a/build/pkgs/fpylll/checksums.ini +++ b/build/pkgs/fpylll/checksums.ini @@ -1,4 +1,4 @@ tarball=fpylll-VERSION.tar.gz -sha1=e9f6d4b46151f4df875e1e4d4f6494f1d46edb72 -sha256=d5b2f250afb6fb2f9c70e03ffe1169ff6f2e167e348da1328cc20b693b915fbe +sha1=9399eea85c3f4cbd0dc33893532a324adc905d4e +sha256=a3f4049e1c27b52136f71f722312c4265e3a2dcb5722536ec8247d708dd4248a upstream_url=https://files.pythonhosted.org/packages/source/f/fpylll/fpylll-VERSION.tar.gz diff --git a/build/pkgs/fpylll/distros/conda.txt b/build/pkgs/fpylll/distros/conda.txt index 060d36c0366..cd9108faf62 100644 --- a/build/pkgs/fpylll/distros/conda.txt +++ b/build/pkgs/fpylll/distros/conda.txt @@ -1 +1 @@ -fpylll>=0.6.2 +fpylll>=0.6.3 diff --git a/build/pkgs/fpylll/package-version.txt b/build/pkgs/fpylll/package-version.txt index b6160487433..844f6a91acb 100644 --- a/build/pkgs/fpylll/package-version.txt +++ b/build/pkgs/fpylll/package-version.txt @@ -1 +1 @@ -0.6.2 +0.6.3 diff --git a/build/pkgs/fpylll/version_requirements.txt b/build/pkgs/fpylll/version_requirements.txt index 46d9d68f8ee..c2d193c9fa3 100644 --- a/build/pkgs/fpylll/version_requirements.txt +++ b/build/pkgs/fpylll/version_requirements.txt @@ -1 +1 @@ -fpylll >=0.6.2 +fpylll >=0.6.3 diff --git a/environment-3.11-linux-aarch64.yml b/environment-3.11-linux-aarch64.yml index 9fceb4e79aa..0242e15eeb1 100644 --- a/environment-3.11-linux-aarch64.yml +++ b/environment-3.11-linux-aarch64.yml @@ -71,7 +71,7 @@ dependencies: - fonttools=4.55.3=py311h58d527c_0 - fortran-compiler=1.8.0=h25a59a9_1 - fplll=5.5.0=hb3a790e_0 - - fpylll=0.6.2=py311h5d3d69a_0 + - fpylll=0.6.3=py311h5d3d69a_0 - freetype=2.12.1=hf0a5ef3_2 - furo=2024.8.6=pyhd8ed1ab_1 - gap-core=4.14.0=h1754e88_1 diff --git a/environment-3.11-linux.yml b/environment-3.11-linux.yml index d174dc8d9b6..aa3c5f9187c 100644 --- a/environment-3.11-linux.yml +++ b/environment-3.11-linux.yml @@ -72,7 +72,7 @@ dependencies: - fonttools=4.55.3=py311h2dc5d0c_0 - fortran-compiler=1.8.0=h36df796_1 - fplll=5.5.0=h384768b_0 - - fpylll=0.6.2=py311hcfae7cf_0 + - fpylll=0.6.3=py311hcfae7cf_0 - freetype=2.12.1=h267a509_2 - furo=2024.8.6=pyhd8ed1ab_1 - gap-core=4.14.0=h3b03731_1 diff --git a/environment-3.11-macos-x86_64.yml b/environment-3.11-macos-x86_64.yml index 2ba7969280b..01d3026cf41 100644 --- a/environment-3.11-macos-x86_64.yml +++ b/environment-3.11-macos-x86_64.yml @@ -74,7 +74,7 @@ dependencies: - fonttools=4.55.3=py311ha3cf9ac_0 - fortran-compiler=1.8.0=h33d1f46_1 - fplll=5.5.0=hb7981ad_0 - - fpylll=0.6.2=py311h85fbf69_0 + - fpylll=0.6.3=py311h85fbf69_0 - freetype=2.12.1=h60636b9_2 - furo=2024.8.6=pyhd8ed1ab_1 - gap-core=4.14.0=hb9686a1_1 diff --git a/environment-3.11-macos.yml b/environment-3.11-macos.yml index c125c301f39..5b9274d8dc6 100644 --- a/environment-3.11-macos.yml +++ b/environment-3.11-macos.yml @@ -74,7 +74,7 @@ dependencies: - fonttools=4.55.3=py311h4921393_0 - fortran-compiler=1.8.0=hc3477c4_1 - fplll=5.5.0=hb7d509d_0 - - fpylll=0.6.2=py311h341b96b_0 + - fpylll=0.6.3=py311h341b96b_0 - freetype=2.12.1=hadb7bae_2 - furo=2024.8.6=pyhd8ed1ab_1 - gap-core=4.14.0=h25f1785_1 diff --git a/environment-3.12-linux-aarch64.yml b/environment-3.12-linux-aarch64.yml index abf26d7e05f..ae68d590164 100644 --- a/environment-3.12-linux-aarch64.yml +++ b/environment-3.12-linux-aarch64.yml @@ -71,7 +71,7 @@ dependencies: - fonttools=4.55.3=py312hcc812fe_0 - fortran-compiler=1.8.0=h25a59a9_1 - fplll=5.5.0=hb3a790e_0 - - fpylll=0.6.2=py310hfdbf2a6_0 + - fpylll=0.6.3=py310hfdbf2a6_0 - freetype=2.12.1=hf0a5ef3_2 - furo=2024.8.6=pyhd8ed1ab_1 - gap-core=4.14.0=h1754e88_1 diff --git a/environment-3.12-linux.yml b/environment-3.12-linux.yml index 3df407e1c56..e842889995c 100644 --- a/environment-3.12-linux.yml +++ b/environment-3.12-linux.yml @@ -72,7 +72,7 @@ dependencies: - fonttools=4.55.3=py312h178313f_0 - fortran-compiler=1.8.0=h36df796_1 - fplll=5.5.0=h384768b_0 - - fpylll=0.6.2=py310h7e26f94_0 + - fpylll=0.6.3=py310h7e26f94_0 - freetype=2.12.1=h267a509_2 - furo=2024.8.6=pyhd8ed1ab_1 - gap-core=4.14.0=h3b03731_1 diff --git a/environment-3.12-macos-x86_64.yml b/environment-3.12-macos-x86_64.yml index 32e641f6866..26d5537b6b6 100644 --- a/environment-3.12-macos-x86_64.yml +++ b/environment-3.12-macos-x86_64.yml @@ -74,7 +74,7 @@ dependencies: - fonttools=4.55.3=py312h3520af0_0 - fortran-compiler=1.8.0=h33d1f46_1 - fplll=5.5.0=hb7981ad_0 - - fpylll=0.6.2=py310h65a3d7e_0 + - fpylll=0.6.3=py310h65a3d7e_0 - freetype=2.12.1=h60636b9_2 - furo=2024.8.6=pyhd8ed1ab_1 - gap-core=4.14.0=hb9686a1_1 diff --git a/environment-3.12-macos.yml b/environment-3.12-macos.yml index bfb64314827..e5bc91a2f6d 100644 --- a/environment-3.12-macos.yml +++ b/environment-3.12-macos.yml @@ -74,7 +74,7 @@ dependencies: - fonttools=4.55.3=py312h998013c_0 - fortran-compiler=1.8.0=hc3477c4_1 - fplll=5.5.0=hb7d509d_0 - - fpylll=0.6.2=py310hd9be144_0 + - fpylll=0.6.3=py310hd9be144_0 - freetype=2.12.1=hadb7bae_2 - furo=2024.8.6=pyhd8ed1ab_1 - gap-core=4.14.0=h25f1785_1 diff --git a/pyproject.toml b/pyproject.toml index c0e4b8a1d4c..4b9230971f1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -46,7 +46,7 @@ dependencies = [ 'ipykernel >=5.2.1', 'jupyter-client', 'ipywidgets >=7.5.1', - 'fpylll >=0.6.2', + 'fpylll >=0.6.3', 'ptyprocess > 0.5', # TODO: Remove this once the migration to meson is complete 'pkgconfig' From 3ca10ec944ff84080ed706501fe264b3ba8b9695 Mon Sep 17 00:00:00 2001 From: kionactf Date: Sat, 1 Feb 2025 19:46:27 +0900 Subject: [PATCH 4/6] fix tranformation for BKZ on matrices over QQ --- src/sage/matrix/matrix_rational_dense.pyx | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/sage/matrix/matrix_rational_dense.pyx b/src/sage/matrix/matrix_rational_dense.pyx index b0c58016c9b..43cb2a3bfc8 100644 --- a/src/sage/matrix/matrix_rational_dense.pyx +++ b/src/sage/matrix/matrix_rational_dense.pyx @@ -2930,6 +2930,9 @@ cdef class Matrix_rational_dense(Matrix_dense): [ 1/28 -1/40 -1/18] [ 1/28 -1/40 1/18] [-1/14 -1/40 0] + sage: L, U = A.BKZ(transformation=True) + sage: U * A == L + True sage: A = random_matrix(QQ, 10, 10) sage: d = lcm(a.denom() for a in A.list()) @@ -2937,6 +2940,9 @@ cdef class Matrix_rational_dense(Matrix_dense): True """ A, d = self._clear_denom() + if kwargs.get('transformation', False): + L, U = A.BKZ(*args, **kwargs) + return L / d, U return A.BKZ(*args, **kwargs) / d def LLL(self, *args, **kwargs): From 8a8453f35f3850c74d151a9f1c41778aac1f9e88 Mon Sep 17 00:00:00 2001 From: Release Manager Date: Thu, 27 Mar 2025 23:39:59 +0100 Subject: [PATCH 5/6] Updated SageMath version to 10.6.rc1 --- CITATION.cff | 4 ++-- VERSION.txt | 2 +- build/pkgs/configure/checksums.ini | 4 ++-- build/pkgs/configure/package-version.txt | 2 +- build/pkgs/sage_conf/version_requirements.txt | 2 +- build/pkgs/sage_docbuild/version_requirements.txt | 2 +- build/pkgs/sage_setup/version_requirements.txt | 2 +- build/pkgs/sage_sws2rst/version_requirements.txt | 2 +- build/pkgs/sagelib/version_requirements.txt | 2 +- build/pkgs/sagemath_bliss/version_requirements.txt | 2 +- build/pkgs/sagemath_categories/version_requirements.txt | 2 +- build/pkgs/sagemath_coxeter3/version_requirements.txt | 2 +- build/pkgs/sagemath_environment/version_requirements.txt | 2 +- build/pkgs/sagemath_mcqd/version_requirements.txt | 2 +- build/pkgs/sagemath_meataxe/version_requirements.txt | 2 +- build/pkgs/sagemath_objects/version_requirements.txt | 2 +- build/pkgs/sagemath_repl/version_requirements.txt | 2 +- build/pkgs/sagemath_sirocco/version_requirements.txt | 2 +- build/pkgs/sagemath_tdlib/version_requirements.txt | 2 +- pkgs/sage-conf/VERSION.txt | 2 +- pkgs/sage-conf_conda/VERSION.txt | 2 +- pkgs/sage-conf_pypi/VERSION.txt | 2 +- pkgs/sage-docbuild/VERSION.txt | 2 +- pkgs/sage-setup/VERSION.txt | 2 +- pkgs/sage-sws2rst/VERSION.txt | 2 +- pkgs/sagemath-bliss/VERSION.txt | 2 +- pkgs/sagemath-categories/VERSION.txt | 2 +- pkgs/sagemath-coxeter3/VERSION.txt | 2 +- pkgs/sagemath-environment/VERSION.txt | 2 +- pkgs/sagemath-mcqd/VERSION.txt | 2 +- pkgs/sagemath-meataxe/VERSION.txt | 2 +- pkgs/sagemath-objects/VERSION.txt | 2 +- pkgs/sagemath-repl/VERSION.txt | 2 +- pkgs/sagemath-sirocco/VERSION.txt | 2 +- pkgs/sagemath-tdlib/VERSION.txt | 2 +- src/VERSION.txt | 2 +- src/bin/sage-version.sh | 6 +++--- src/sage/version.py | 6 +++--- 38 files changed, 44 insertions(+), 44 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 5d8f2c1d4cc..1938b78e614 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -4,8 +4,8 @@ title: SageMath abstract: SageMath is a free open-source mathematics software system. authors: - name: "The SageMath Developers" -version: 10.6.rc0 +version: 10.6.rc1 doi: 10.5281/zenodo.8042260 -date-released: 2025-03-22 +date-released: 2025-03-27 repository-code: "https://github.com/sagemath/sage" url: "https://www.sagemath.org/" diff --git a/VERSION.txt b/VERSION.txt index e757d571441..e2f92363ce9 100644 --- a/VERSION.txt +++ b/VERSION.txt @@ -1 +1 @@ -SageMath version 10.6.rc0, Release Date: 2025-03-22 +SageMath version 10.6.rc1, Release Date: 2025-03-27 diff --git a/build/pkgs/configure/checksums.ini b/build/pkgs/configure/checksums.ini index ec563841043..2c5ceb8574e 100644 --- a/build/pkgs/configure/checksums.ini +++ b/build/pkgs/configure/checksums.ini @@ -1,3 +1,3 @@ tarball=configure-VERSION.tar.gz -sha1=9743f84f12c5cef218137fc45ee258620ded9fe5 -sha256=7b2b9d2fef25fa69918ecb1f5b6eca1fccf22960ce2a235e0baf99d096e625b7 +sha1=b864ca0eb94c01c9e724699ac6d797a65b5acbb0 +sha256=5aa6946e6a99eeac2b829f2146338eeef8537a3134b4289078c8417092ecaaf2 diff --git a/build/pkgs/configure/package-version.txt b/build/pkgs/configure/package-version.txt index 6ca8eef6be3..efc4b892210 100644 --- a/build/pkgs/configure/package-version.txt +++ b/build/pkgs/configure/package-version.txt @@ -1 +1 @@ -9320452a3de4e261d779f159315c25d3dbe8f57d +8dab37468c9feb4a5a1fcc22bbccc12321aaa475 diff --git a/build/pkgs/sage_conf/version_requirements.txt b/build/pkgs/sage_conf/version_requirements.txt index e2711cf425e..d3b1f01678d 100644 --- a/build/pkgs/sage_conf/version_requirements.txt +++ b/build/pkgs/sage_conf/version_requirements.txt @@ -1,2 +1,2 @@ # This file is updated on every release by the sage-update-version script -sage-conf ~= 10.6rc0 +sage-conf ~= 10.6rc1 diff --git a/build/pkgs/sage_docbuild/version_requirements.txt b/build/pkgs/sage_docbuild/version_requirements.txt index ddce0ddc128..c9d29949628 100644 --- a/build/pkgs/sage_docbuild/version_requirements.txt +++ b/build/pkgs/sage_docbuild/version_requirements.txt @@ -1,2 +1,2 @@ # This file is updated on every release by the sage-update-version script -sage-docbuild ~= 10.6rc0 +sage-docbuild ~= 10.6rc1 diff --git a/build/pkgs/sage_setup/version_requirements.txt b/build/pkgs/sage_setup/version_requirements.txt index d69fafac7d7..e2827abd3e3 100644 --- a/build/pkgs/sage_setup/version_requirements.txt +++ b/build/pkgs/sage_setup/version_requirements.txt @@ -1,2 +1,2 @@ # This file is updated on every release by the sage-update-version script -sage-setup ~= 10.6rc0 +sage-setup ~= 10.6rc1 diff --git a/build/pkgs/sage_sws2rst/version_requirements.txt b/build/pkgs/sage_sws2rst/version_requirements.txt index 4789e75e9a5..a399eab717c 100644 --- a/build/pkgs/sage_sws2rst/version_requirements.txt +++ b/build/pkgs/sage_sws2rst/version_requirements.txt @@ -1,2 +1,2 @@ # This file is updated on every release by the sage-update-version script -sage-sws2rst ~= 10.6rc0 +sage-sws2rst ~= 10.6rc1 diff --git a/build/pkgs/sagelib/version_requirements.txt b/build/pkgs/sagelib/version_requirements.txt index ae785c81a8a..18a520aa379 100644 --- a/build/pkgs/sagelib/version_requirements.txt +++ b/build/pkgs/sagelib/version_requirements.txt @@ -1,2 +1,2 @@ # This file is updated on every release by the sage-update-version script -sagemath-standard ~= 10.6rc0 +sagemath-standard ~= 10.6rc1 diff --git a/build/pkgs/sagemath_bliss/version_requirements.txt b/build/pkgs/sagemath_bliss/version_requirements.txt index 3e41b50fb42..681278704e0 100644 --- a/build/pkgs/sagemath_bliss/version_requirements.txt +++ b/build/pkgs/sagemath_bliss/version_requirements.txt @@ -1,2 +1,2 @@ # This file is updated on every release by the sage-update-version script -sagemath-bliss ~= 10.6rc0 +sagemath-bliss ~= 10.6rc1 diff --git a/build/pkgs/sagemath_categories/version_requirements.txt b/build/pkgs/sagemath_categories/version_requirements.txt index ec07d2ea86a..70814dcc35a 100644 --- a/build/pkgs/sagemath_categories/version_requirements.txt +++ b/build/pkgs/sagemath_categories/version_requirements.txt @@ -1,2 +1,2 @@ # This file is updated on every release by the sage-update-version script -sagemath-categories ~= 10.6rc0 +sagemath-categories ~= 10.6rc1 diff --git a/build/pkgs/sagemath_coxeter3/version_requirements.txt b/build/pkgs/sagemath_coxeter3/version_requirements.txt index 2e6c0075ff1..4b5ac58eeea 100644 --- a/build/pkgs/sagemath_coxeter3/version_requirements.txt +++ b/build/pkgs/sagemath_coxeter3/version_requirements.txt @@ -1,2 +1,2 @@ # This file is updated on every release by the sage-update-version script -sagemath-coxeter3 ~= 10.6rc0 +sagemath-coxeter3 ~= 10.6rc1 diff --git a/build/pkgs/sagemath_environment/version_requirements.txt b/build/pkgs/sagemath_environment/version_requirements.txt index fb8ae58457c..e2430199cac 100644 --- a/build/pkgs/sagemath_environment/version_requirements.txt +++ b/build/pkgs/sagemath_environment/version_requirements.txt @@ -1,2 +1,2 @@ # This file is updated on every release by the sage-update-version script -sagemath-environment ~= 10.6rc0 +sagemath-environment ~= 10.6rc1 diff --git a/build/pkgs/sagemath_mcqd/version_requirements.txt b/build/pkgs/sagemath_mcqd/version_requirements.txt index 00ed77bfc0e..f7db6aaec4b 100644 --- a/build/pkgs/sagemath_mcqd/version_requirements.txt +++ b/build/pkgs/sagemath_mcqd/version_requirements.txt @@ -1,2 +1,2 @@ # This file is updated on every release by the sage-update-version script -sagemath-mcqd ~= 10.6rc0 +sagemath-mcqd ~= 10.6rc1 diff --git a/build/pkgs/sagemath_meataxe/version_requirements.txt b/build/pkgs/sagemath_meataxe/version_requirements.txt index 9f1aebfd956..27ad3837234 100644 --- a/build/pkgs/sagemath_meataxe/version_requirements.txt +++ b/build/pkgs/sagemath_meataxe/version_requirements.txt @@ -1,2 +1,2 @@ # This file is updated on every release by the sage-update-version script -sagemath-meataxe ~= 10.6rc0 +sagemath-meataxe ~= 10.6rc1 diff --git a/build/pkgs/sagemath_objects/version_requirements.txt b/build/pkgs/sagemath_objects/version_requirements.txt index 66688600375..55aec53afc7 100644 --- a/build/pkgs/sagemath_objects/version_requirements.txt +++ b/build/pkgs/sagemath_objects/version_requirements.txt @@ -1,2 +1,2 @@ # This file is updated on every release by the sage-update-version script -sagemath-objects ~= 10.6rc0 +sagemath-objects ~= 10.6rc1 diff --git a/build/pkgs/sagemath_repl/version_requirements.txt b/build/pkgs/sagemath_repl/version_requirements.txt index 0c3f1708ccc..173877b4ac3 100644 --- a/build/pkgs/sagemath_repl/version_requirements.txt +++ b/build/pkgs/sagemath_repl/version_requirements.txt @@ -1,2 +1,2 @@ # This file is updated on every release by the sage-update-version script -sagemath-repl ~= 10.6rc0 +sagemath-repl ~= 10.6rc1 diff --git a/build/pkgs/sagemath_sirocco/version_requirements.txt b/build/pkgs/sagemath_sirocco/version_requirements.txt index 1b83b59f302..d4a5073ec18 100644 --- a/build/pkgs/sagemath_sirocco/version_requirements.txt +++ b/build/pkgs/sagemath_sirocco/version_requirements.txt @@ -1,2 +1,2 @@ # This file is updated on every release by the sage-update-version script -sagemath-sirocco ~= 10.6rc0 +sagemath-sirocco ~= 10.6rc1 diff --git a/build/pkgs/sagemath_tdlib/version_requirements.txt b/build/pkgs/sagemath_tdlib/version_requirements.txt index 26b16231fcc..f1cb914df46 100644 --- a/build/pkgs/sagemath_tdlib/version_requirements.txt +++ b/build/pkgs/sagemath_tdlib/version_requirements.txt @@ -1,2 +1,2 @@ # This file is updated on every release by the sage-update-version script -sagemath-tdlib ~= 10.6rc0 +sagemath-tdlib ~= 10.6rc1 diff --git a/pkgs/sage-conf/VERSION.txt b/pkgs/sage-conf/VERSION.txt index b3787f5e0d6..672aeee174f 100644 --- a/pkgs/sage-conf/VERSION.txt +++ b/pkgs/sage-conf/VERSION.txt @@ -1 +1 @@ -10.6.rc0 +10.6.rc1 diff --git a/pkgs/sage-conf_conda/VERSION.txt b/pkgs/sage-conf_conda/VERSION.txt index b3787f5e0d6..672aeee174f 100644 --- a/pkgs/sage-conf_conda/VERSION.txt +++ b/pkgs/sage-conf_conda/VERSION.txt @@ -1 +1 @@ -10.6.rc0 +10.6.rc1 diff --git a/pkgs/sage-conf_pypi/VERSION.txt b/pkgs/sage-conf_pypi/VERSION.txt index b3787f5e0d6..672aeee174f 100644 --- a/pkgs/sage-conf_pypi/VERSION.txt +++ b/pkgs/sage-conf_pypi/VERSION.txt @@ -1 +1 @@ -10.6.rc0 +10.6.rc1 diff --git a/pkgs/sage-docbuild/VERSION.txt b/pkgs/sage-docbuild/VERSION.txt index b3787f5e0d6..672aeee174f 100644 --- a/pkgs/sage-docbuild/VERSION.txt +++ b/pkgs/sage-docbuild/VERSION.txt @@ -1 +1 @@ -10.6.rc0 +10.6.rc1 diff --git a/pkgs/sage-setup/VERSION.txt b/pkgs/sage-setup/VERSION.txt index b3787f5e0d6..672aeee174f 100644 --- a/pkgs/sage-setup/VERSION.txt +++ b/pkgs/sage-setup/VERSION.txt @@ -1 +1 @@ -10.6.rc0 +10.6.rc1 diff --git a/pkgs/sage-sws2rst/VERSION.txt b/pkgs/sage-sws2rst/VERSION.txt index b3787f5e0d6..672aeee174f 100644 --- a/pkgs/sage-sws2rst/VERSION.txt +++ b/pkgs/sage-sws2rst/VERSION.txt @@ -1 +1 @@ -10.6.rc0 +10.6.rc1 diff --git a/pkgs/sagemath-bliss/VERSION.txt b/pkgs/sagemath-bliss/VERSION.txt index b3787f5e0d6..672aeee174f 100644 --- a/pkgs/sagemath-bliss/VERSION.txt +++ b/pkgs/sagemath-bliss/VERSION.txt @@ -1 +1 @@ -10.6.rc0 +10.6.rc1 diff --git a/pkgs/sagemath-categories/VERSION.txt b/pkgs/sagemath-categories/VERSION.txt index b3787f5e0d6..672aeee174f 100644 --- a/pkgs/sagemath-categories/VERSION.txt +++ b/pkgs/sagemath-categories/VERSION.txt @@ -1 +1 @@ -10.6.rc0 +10.6.rc1 diff --git a/pkgs/sagemath-coxeter3/VERSION.txt b/pkgs/sagemath-coxeter3/VERSION.txt index b3787f5e0d6..672aeee174f 100644 --- a/pkgs/sagemath-coxeter3/VERSION.txt +++ b/pkgs/sagemath-coxeter3/VERSION.txt @@ -1 +1 @@ -10.6.rc0 +10.6.rc1 diff --git a/pkgs/sagemath-environment/VERSION.txt b/pkgs/sagemath-environment/VERSION.txt index b3787f5e0d6..672aeee174f 100644 --- a/pkgs/sagemath-environment/VERSION.txt +++ b/pkgs/sagemath-environment/VERSION.txt @@ -1 +1 @@ -10.6.rc0 +10.6.rc1 diff --git a/pkgs/sagemath-mcqd/VERSION.txt b/pkgs/sagemath-mcqd/VERSION.txt index b3787f5e0d6..672aeee174f 100644 --- a/pkgs/sagemath-mcqd/VERSION.txt +++ b/pkgs/sagemath-mcqd/VERSION.txt @@ -1 +1 @@ -10.6.rc0 +10.6.rc1 diff --git a/pkgs/sagemath-meataxe/VERSION.txt b/pkgs/sagemath-meataxe/VERSION.txt index b3787f5e0d6..672aeee174f 100644 --- a/pkgs/sagemath-meataxe/VERSION.txt +++ b/pkgs/sagemath-meataxe/VERSION.txt @@ -1 +1 @@ -10.6.rc0 +10.6.rc1 diff --git a/pkgs/sagemath-objects/VERSION.txt b/pkgs/sagemath-objects/VERSION.txt index b3787f5e0d6..672aeee174f 100644 --- a/pkgs/sagemath-objects/VERSION.txt +++ b/pkgs/sagemath-objects/VERSION.txt @@ -1 +1 @@ -10.6.rc0 +10.6.rc1 diff --git a/pkgs/sagemath-repl/VERSION.txt b/pkgs/sagemath-repl/VERSION.txt index b3787f5e0d6..672aeee174f 100644 --- a/pkgs/sagemath-repl/VERSION.txt +++ b/pkgs/sagemath-repl/VERSION.txt @@ -1 +1 @@ -10.6.rc0 +10.6.rc1 diff --git a/pkgs/sagemath-sirocco/VERSION.txt b/pkgs/sagemath-sirocco/VERSION.txt index b3787f5e0d6..672aeee174f 100644 --- a/pkgs/sagemath-sirocco/VERSION.txt +++ b/pkgs/sagemath-sirocco/VERSION.txt @@ -1 +1 @@ -10.6.rc0 +10.6.rc1 diff --git a/pkgs/sagemath-tdlib/VERSION.txt b/pkgs/sagemath-tdlib/VERSION.txt index b3787f5e0d6..672aeee174f 100644 --- a/pkgs/sagemath-tdlib/VERSION.txt +++ b/pkgs/sagemath-tdlib/VERSION.txt @@ -1 +1 @@ -10.6.rc0 +10.6.rc1 diff --git a/src/VERSION.txt b/src/VERSION.txt index b3787f5e0d6..672aeee174f 100644 --- a/src/VERSION.txt +++ b/src/VERSION.txt @@ -1 +1 @@ -10.6.rc0 +10.6.rc1 diff --git a/src/bin/sage-version.sh b/src/bin/sage-version.sh index b2ef68ab3f6..12cde0e99e6 100644 --- a/src/bin/sage-version.sh +++ b/src/bin/sage-version.sh @@ -4,6 +4,6 @@ # which stops "setup.py develop" from rewriting it as a Python file. : # This file is auto-generated by the sage-update-version script, do not edit! -SAGE_VERSION='10.6.rc0' -SAGE_RELEASE_DATE='2025-03-22' -SAGE_VERSION_BANNER='SageMath version 10.6.rc0, Release Date: 2025-03-22' +SAGE_VERSION='10.6.rc1' +SAGE_RELEASE_DATE='2025-03-27' +SAGE_VERSION_BANNER='SageMath version 10.6.rc1, Release Date: 2025-03-27' diff --git a/src/sage/version.py b/src/sage/version.py index e0f3dc25087..aca8b9a4bf7 100644 --- a/src/sage/version.py +++ b/src/sage/version.py @@ -1,5 +1,5 @@ # Sage version information for Python scripts # This file is auto-generated by the sage-update-version script, do not edit! -version = '10.6.rc0' -date = '2025-03-22' -banner = 'SageMath version 10.6.rc0, Release Date: 2025-03-22' +version = '10.6.rc1' +date = '2025-03-27' +banner = 'SageMath version 10.6.rc1, Release Date: 2025-03-27' From 1b03446b05018ba522764cc2113a0ffe0ce7b5f0 Mon Sep 17 00:00:00 2001 From: kionactf Date: Sun, 30 Mar 2025 20:12:23 +0900 Subject: [PATCH 6/6] merge develop branch --- environment-3.11-linux.yml | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/environment-3.11-linux.yml b/environment-3.11-linux.yml index 9f8e7055ae1..9c9b13d338d 100644 --- a/environment-3.11-linux.yml +++ b/environment-3.11-linux.yml @@ -88,23 +88,10 @@ dependencies: - fontconfig=2.15.0=h7e30c49_1 - fonts-conda-ecosystem=1=0 - fonts-conda-forge=1=0 -<<<<<<< HEAD - - fonttools=4.55.3=py311h2dc5d0c_0 - - fortran-compiler=1.8.0=h36df796_1 - - fplll=5.5.0=h384768b_0 - - fpylll=0.6.3=py311hcfae7cf_0 - - freetype=2.12.1=h267a509_2 - - furo=2024.8.6=pyhd8ed1ab_1 - - gap-core=4.14.0=h3b03731_1 - - gap-defaults=4.14.0=ha770c72_1 - - gcc=13.3.0=h9576a4e_1 - - gcc_impl_linux-64=13.3.0=hfea6d02_1 - - gcc_linux-64=13.3.0=hc28eda2_7 -======= - fonttools=4.56.0=py311h2dc5d0c_0 - fortran-compiler=1.9.0=h36df796_0 - fplll=5.5.0=hd20a173_0 - - fpylll=0.6.2=py311hf0b6740_0 + - fpylll=0.6.3=py311hf0b6740_0 - freetype=2.13.3=h48d6fc4_0 - furo=2024.8.6=pyhd8ed1ab_2 - gap-core=4.14.0=h3b03731_2 @@ -112,7 +99,6 @@ dependencies: - gcc=13.3.0=h9576a4e_2 - gcc_impl_linux-64=13.3.0=h1e990d8_2 - gcc_linux-64=13.3.0=hc28eda2_8 ->>>>>>> origin/develop - gf2x=1.3.0=h55551d5_3 - gfan=0.6.2=hb86e20a_1003 - gfortran=13.3.0=h9576a4e_2