Releases: sagemath/sage
Releases · sagemath/sage
10.7.beta5
What's Changed
- Optimize AdditiveMonoids sum() method by @user202729 in #39726
- Support inverse_mod() single element for multi_polynomial_ring by @user202729 in #39742
- add add_entry and anti_restrict methods to SkewTableau by @jmcdonough98 in #39918
- Update conda lock files by @tobiasdiez in #39993
- Fix memory leak in conversion of symbolic expressions by @r-mb in #40003
- Hash fraction_field_elements more appropriately by @nbruin in #40019
- Fixed infinite recursion in trig functions by @CalebVL in #40020
- Clean affine permutation by @fchapoton in #40034
- introduce the bubble and shuffle lattices by @fchapoton in #40037
- Fixed error when calling CRT_list() with list of 1 python int by @shpark1104 in #40074
- cleanup in number_field.py by @fchapoton in #40080
- Jacobi theta functions implemented as lazy series by @tscrim in #40093
- msolve tarball got ./configure - sha*s are changed by @dimpase in #40094
- Add retry mechanism for Conda environment setup in CI workflow by @tobiasdiez in #40107
- add weighted cycle enumeration in digraph by @kappybar in #40114
- try to fix GAP build on some arm64 macOS systems by @dimpase in #40116
- cli: restore ability to run a file from the command line by @antonio-rojas in #40119
- fix all remaining E228 in cython files by @fchapoton in #40121
- reactive the code style checks using ruff by @fchapoton in #40122
- adding typing annotations on many has_* methods by @fchapoton in #40123
- Update Meson and Conda install instructions by @tobiasdiez in #40124
- Fix superscript for 2^{32} in prime_pi.pyx by @alex-700 in #40125
- Simplify QuiverRep_generic.linear_combination_of_basis method by @user202729 in #40126
- update m4ri to gcc-15-supporting version by @dimpase in #40132
- update primecount(py) to the latest versions by @dimpase in #40138
- move some methods to the category of fields by @fchapoton in #40140
- add simple cycle enumeration by k shortest simple path algorithm by @kappybar in #40145
- fixing a large lot of typos by @fchapoton in #40148
- Revision of the Khovanov polynomial by @soehms in #40149
- significantly faster BQFClassGroupQuotientMorphism by @yyyyx4 in #40150
- Use platformdirs to improve database path handling by @tobiasdiez in #40152
- Add check for Arch Linux in configure to recommend meson build by @tobiasdiez in #40155
- Support Cython 3.1 by @antonio-rojas in #40156
- Add back ubuntu-noble-standard to ci-linux by @user202729 in #40157
- moved some is_noetherian to categories by @fchapoton in #40159
- get rid of CommutativeRing in p-adics by @fchapoton in #40160
- Add documentation for packaging SageMath downstream by @tobiasdiez in #40162
- ⬆️ Bump astral-sh/setup-uv from 6.0.1 to 6.1.0 by @dependabot in #40164
- generic implementation of _element_of_factored_order in finite-fields… by @fchapoton in #40170
- much faster count for linear intervals by @fchapoton in #40171
- remove old stuff in relint.yml by @fchapoton in #40172
- Trac #40127: Pass factor_on_left in linear_combination by @local-ring in #40173
- Trac #40167: Fix incorrect parent reuse in matrix-vector multiplication over GF(2) by @local-ring in #40176
- check base to decide whether singular supports the ring by @mantepse in #39112
New Contributors
- @jmcdonough98 made their first contribution in #39918
- @shpark1104 made their first contribution in #40074
- @alex-700 made their first contribution in #40125
Full Changelog: 10.7.beta4...10.7.beta5
10.7.beta4
What's Changed
- Native Windows build by @tobiasdiez in #38872
- Don't import cysignals.alarm on Windows by @tobiasdiez in #39010
- Add script for checking for old deprecations by @tobiasdiez in #39262
- move finite field methods by @mantepse in #39532
- Create PyPI source distribution of meson-based setup by @tobiasdiez in #39548
- Handle various extension degrees in pAdicGenericElement initialisation by @r-mb in #39583
- Add fricas-homebrew by @dimpase in #39595
- Implement preimage computation for Homomorphism from Quotient Ring to Finite Field of the same characteristic by @rasti37 in #39709
- Implement theYokonuma-Hecke algebras for other Weyl groups by @tscrim in #39721
- Updated methods concerning addition of edges in a matching covered graph by @janmenjayap in #39763
- cli: remove default from -n argument by @antonio-rojas in #39900
- Add --quiet and --simple-prompt command line arguments by @antonio-rojas in #39901
- replacing many vectormatrix with matrixmatrix by @edgarcosta in #39953
- more typos fixed by @fchapoton in #40008
- more typing annotations in combinat/posets by @fchapoton in #40021
- get_embedding(): remove vertices that do not exist by @Ordoviz in #40057
- cleaning the groebner_fan file by @fchapoton in #40064
- fixes for reading .pc planar code files by @fchapoton in #40068
- avoid using bytes_to_str in matrix/ (pyx files) by @fchapoton in #40072
- using an_element in algebras by @fchapoton in #40077
- using an_element in groups by @fchapoton in #40078
- typing annotation in Dirichlet characters by @fchapoton in #40079
- using an_element in modular/ by @fchapoton in #40083
- more fixes for E228 in pyx files by @fchapoton in #40084
- fix the pycodestyle-minimal linter by @fchapoton in #40085
- use an_element and type annotations in ore_module by @fchapoton in #40096
- using an_element in combinat by @fchapoton in #40097
- cypari 2.2.2 by @dimpase in #40100
- fix conversion of expressions like SR(oo) by @mantepse in #40102
- some cleaning in newton_polygon by @fchapoton in #40103
- fix some typos and other details by @fchapoton in #40104
- Fix docstring for enumerate_totallyreal_fields_rel by @Eloitor in #40109
- Fix "NotImplementedError: an immutable graph does not change name" by @Ordoviz in #40110
- fix reference in btquotient.py by @Eloitor in #40111
New Contributors
Full Changelog: 10.7.beta3...10.7.beta4
10.7.beta3
What's Changed
- Remove giac as dependency, and add sagemath_giac as optional dependency by @tobiasdiez in #40001
- fix some typos in various places by @fchapoton in #40002
- some typos by @fchapoton in #40006
- Fixed issue in CRT_vectors where moduli are not allowed to be coprime. by @Noel-Roemmele in #40007
- using doi when possible by @fchapoton in #40010
- set correct default algorithm for the diameter of (un)weighted graphs by @dcoudert in #40014
- clean error messages in algebras by @fchapoton in #40022
- implement naive default inverse methods for finite monoids by @fchapoton in #40024
- Follow the PR #39990, revert "src/doc/zh/**/conf.py: Fix handling of tags" by @fisheryv in #40025
- just a few pep8 details by @fchapoton in #40026
- fix E228 in pyx in matrix by @fchapoton in #40031
- various small fixes, some after ruff by @fchapoton in #40032
- Singular 4.4.1 + Flint 3.3.2 by @dimpase in #40033
- Fix Generalized Petersen graph name and update others to f-string syntax by @ed359 in #40036
- Meson: build on recent Fedora by @tobiasdiez in #40038
- Clean mut type by @fchapoton in #40043
- Remove Pipfiles by @enriqueartal in #40044
- Precision issue in the normalization of a Tate series by @xcaruso in #40046
- Fix primes_of_bounded_norm for noninteger entries by @Eloitor in #40048
- Replace dead HTTP links in docs by @Ordoviz in #40049
- add extra time tolerance to a doctest in
src/sage/doctest/util.py
by @dcoudert in #40059 - use pathlib and decode in Kohel database by @fchapoton in #40060
- avoid using bytes_to_str in gperftools by @fchapoton in #40061
- avoid using bytes_to_str in combinat by @fchapoton in #40063
- patching gfan by @edgarcosta in #40065
- compute endomorphism orders for elliptic curves over finite fields (rank-2 case) by @yyyyx4 in #38493
- p-typical Witt vectors by @fchapoton in #39355
- use decomposition into biconnected components in Gomory-Hu tree by @dcoudert in #39478
- move is_field from Ring to Rings by @mantepse in #39520
- added as_tuples as an optional argument to Combinations to facilitate hashing in Combination objects by @devansh-srv in #39633
- Changed calculate_voronoi_cell to use the orthogonal complement as it's artificial points. by @Noel-Roemmele in #39805
- Adds limit(expr, v, a) syntax by @EigenVector22 in #39812
- Richcmp for pseudomorphisms by @xcaruso in #39837
- add parameter immutable to GraphQuery
src/sage/graphs/graph_database.py
by @dcoudert in #39923 - add parameter immutable to methods in
src/sage/graphs/graph_list.py
by @dcoudert in #39924 - Add and update some conda.txt files by @isuruf in #39929
- remove patch spkg by @dimpase in #39943
- fix enumeration of implicitly finite sets of partitions by @mantepse in #39948
- allow gcc-15 from the system by @dimpase in #39977
- Added a bandwidth feature by @HenryWu2101 in #39978
- linbox patches for gcc-15 and Apple clang-17 by @dimpase in #39985
- fix: log as method gives symbolic output for non positive base by @devansh-srv in #39986
- Adding an implementation of the Abreu-Nigro symmetric functions by @tscrim in #39988
- Remove ability to conditionalize parts of the documentation by @tobiasdiez in #39990
- Always use python to run the pexpect interface by @antonio-rojas in #39996
- Run python3 directly instead of
sage -python
in sage/tests/startup.py by @antonio-rojas in #39997 - handle permutations in S_n with n > 2^16 by @edgarcosta in #39999
- change some links to https by @fchapoton in #40009
- fix pep E228 in all cython files in rings by @fchapoton in #40027
- Adding a tikz method to FinitePoset class by @seblabbe in #38848
Full Changelog: 10.7.beta2...10.7.beta3
10.7.beta2
What's Changed
- typing annotations for is_something in knots,quadratic_forms,quivers by @fchapoton in #39995
- Show signature for binding=False cython functions by @user202729 in #39279
- Refactor O() and fix O() for lazy power series ring by @user202729 in #39436
- Added enhancement for power series that allows access to the coefficients of specific terms by @Noel-Roemmele in #39480
- cython-lint for calculus/ folder by @fchapoton in #39636
- Changed gens to tuple in AbstractLinearCodeNoMetric, mwrank_EllipticCurve, and FiniteSubgroup. by @Noel-Roemmele in #39660
- Changed gens to tuple in ModularFormsSpace. by @Noel-Roemmele in #39661
- Added code to calculate crt for non-coprime moduli in Integer by @Noel-Roemmele in #39716
- Add LINS to gap_packages by @enriqueartal in #39783
- Add Simplified Chinese translation of a_tour_of_sage and tutorial by @fisheryv in #39792
- Handle empty matrices over univariate polynomials by @Biffo89 in #39852
- Improve NotImplementedError for sqrt(Mod(a,n), all=True) by @EigenVector22 in #39856
- Make generic polynomial multiplication interruptible by @user202729 in #39884
- add parameter immutable to methods in
src/sage/graphs/line_graph.pyx
by @dcoudert in #39925 - improve graph backends to fix bug in
lex_BFS
by @dcoudert in #39935 - update givaro to 4.2.1 by @dimpase in #39936
- Add sphinx-copybutton to dependency of sage-docbuild by @user202729 in #39939
- Fix various issues with CI by @tobiasdiez in #39942
- add parameter immutable to methods in
src/sage/graphs/graph_decompositions/graph_products.pyx
by @dcoudert in #39946 - Meson: automatically install into venv if activated by @tobiasdiez in #39954
- some care for unused variables in rings/polynomial/ pyx files by @fchapoton in #39958
- Docs: Migrate developer walkthrough to Meson by @tobiasdiez in #39962
- Add offset argument to diagonal method by @HenryWu2101 in #39963
- Modified iterator & counter type from int to Py_ssize_t throughout Matrix class by @HenryWu2101 in #39965
- fix again the pycodestyle linter by @fchapoton in #39968
- Replace conda with mamba for consistency by @user202729 in #39969
- convert between two implementations of fin-dim algebras by @darijgr in #39970
- micro details in pyx files in matroids by @fchapoton in #39971
- some fixes for ruff C4 by @fchapoton in #39972
- fix e_antic patch header by @isuruf in #39976
- Implement conversion of log(2) to Giac by @user202729 in #39982
- add some typing annotations in modular folder by @fchapoton in #39987
- Refactor imports in PoorManMap and Sequence classes by @tobiasdiez in #39989
- typing annotation for is_something in modules/ by @fchapoton in #39994
New Contributors
Full Changelog: 10.7.beta1...10.7.beta2
10.7.beta1
What's Changed
- Remove obsolete
sage-conf_conda
package by @tobiasdiez in #39695 - Remove conda-ci by @tobiasdiez in #39771
- Meson: install jupyter kernel spec by @tobiasdiez in #39773
- implement doubly_lexical_ordering of 01-matrix in
src/sage/matrix/matrix_mod2_dense.pyx
by @kappybar in #39794 - fix: added check for FriCAS version by @devansh-srv in #39796
- adding alias in polytope, plus doc formatting by @fchapoton in #39810
- Fix typo in :meth: link for is_edge_cut by @EigenVector22 in #39825
- Implement conjugate method for RealBall by @user202729 in #39830
- Improve documentation in diamond_cutting.py by @DaveWitteMorris in #39844
- refresh a little bit the autogen scripts in sage_setup by @fchapoton in #39847
- Correctly passing kwargs in short_vectors by @edgarcosta in #39848
- add pari algo for polynomial interpolation by @fchapoton in #39851
- New oeis by @fchapoton in #39859
- adding some pyx modules to the documentation by @fchapoton in #39862
- add missing doc in combinat by @fchapoton in #39863
- include more files in doc (schemes) by @fchapoton in #39865
- Run long test in test-new by @user202729 in #39867
- some pep8 cleanups by @fchapoton in #39877
- fix issue 39864 in
src/sage/schemes/elliptic_curves/descent_two_isogeny.pyx
by @dcoudert in #39882 - Provided a default value for SAGE_ROOT that can be overridden by an environment variable or configuration file by @Krishnadubey1008 in #39885
- some cleanup in matrix1.pyx by @fchapoton in #39888
- Implement algorithm parameter for .series() by @user202729 in #39889
- Speed up binomial by @user202729 in #39891
- some care for assert and not in pyx files by @fchapoton in #39892
- Fix typo in quaternion algebra docstring by @Eloitor in #39894
- minor typographical corrections on fano_variety.py by @local-ring in #39895
- Fix error in exception handling code of gap interface by @user202729 in #39906
- update lcalc to version 2.1.0 by @dimpase in #39915
- lidia: support modern compilers that default to C++17 by @isuruf in #39919
- cli: Add -V alias for --version by @antonio-rojas in #39921
- Fix gap spkg-configure.m4 by @isuruf in #39926
- Support flint 3.2 spkg-configure by @isuruf in #39928
- Add is_chordal_bipartite In
sage/graphs/graph.py
by @kappybar in #39938 - support flint 3.2 in e_antic by @isuruf in #39951
- Move
sage-update-version
totools
by @tobiasdiez in #39032 - Speed up multimodular algorithm in bad case by @user202729 in #39204
- Fix compile error when compiling boost graphs with recent clang by @saraedum in #39526
- Make rational matrix rref default to flint_multimodular, add suboptions for flint algorithm by @user202729 in #39733
- Make inverse_mod use Singular in a few cases by @user202729 in #39743
- Fix bipartite graph constructor for reduced adjacency matrix with
immutable=True
by @zezoo050 in #39754 - Implement more algorithms for computing eigenvalues by @user202729 in #39804
- add helper method to copy attributes in graphs by @dcoudert in #39821
- fix random doctest error in
src/sage/data_structures/bitset.pyx
by @dcoudert in #39827 - Make sure truncate_neg works correctly by @user202729 in #39842
New Contributors
- @kappybar made their first contribution in #39794
- @devansh-srv made their first contribution in #39796
- @EigenVector22 made their first contribution in #39825
- @local-ring made their first contribution in #39895
- @isuruf made their first contribution in #39919
- @zezoo050 made their first contribution in #39754
Full Changelog: 10.7.beta0...10.7.beta1
10.7.beta0
What's Changed
- Added a Tutte Embedding Layout for Graphs by @nturillo in #38762
- Fix cpu time on Windows by @tobiasdiez in #39007
- Meson: add sage cli by @tobiasdiez in #39015
- trying to get rid of coerce_c_impl by @fchapoton in #39419
- Macaulay matrix for Sequence Multivariate Polynomials by @MercedesHaiech in #39511
- CI: Migrate test-new to meson by @tobiasdiez in #39641
- Redirect warning output from stderr to stdout in doctests by @tobiasdiez in #39647
- Ruff: move config to
pyproject.toml
by @tobiasdiez in #39694 - CI: Remove broken wheel building for sagemath-categories by @tobiasdiez in #39728
- Ensure _charpoly_df is interruptible by @user202729 in #39757
- Improve crosslink between matrix methods and small optimization by @user202729 in #39758
- Fix Derangements(0) to return 1 and yield the empty permutation by @TinaJin0228 in #39766
- Safeguard _sage_getargspec_cython by @user202729 in #39776
- Fix reference in chrompoly.pyx and add to master reference file by @Krishnadubey1008 in #39779
- magma interface: fix typo in a comment by @Eloitor in #39781
- Kostka-Foulkes polynomials now also for skew shapes by @darijgr in #39785
- Changed single colon to double colon after WARNING in relevant files by @Krishnadubey1008 in #39787
- bump matplotlib (with its deps) to 3.10.1 by @dimpase in #39789
- Small changes in matroids by @fchapoton in #39797
- typing annotation in Chow ring ideal by @fchapoton in #39799
- minor pep8 details in various cython files by @fchapoton in #39823
- k-regular sequences: boundedness by @dkrenn in #36029
New Contributors
- @nturillo made their first contribution in #38762
- @TinaJin0228 made their first contribution in #39766
- @Krishnadubey1008 made their first contribution in #39779
Full Changelog: 10.6...10.7.beta0
10.6
Full Changelog: 10.6.rc1...10.6
10.6.rc1
What's Changed
- Fix tests with IPython 9 by @antonio-rojas in #39616
Full Changelog: 10.6.rc0...10.6.rc1
10.6.rc0
What's Changed
- Constructor quaternion algebra over number fields from ramification by @Eloitor in #37189
- Implementation of Ore modules by @xcaruso in #38703
- Run meson-ci for MacOS by @tobiasdiez in #38879
- Mention .coerce() method in coercion tour by @user202729 in #39069
- Add developer tools to conda environment by @tobiasdiez in #39141
- new implementation of method
is_transitive
with linear memory space by @dcoudert in #39221 - more uses of cached_method in modular folder by @fchapoton in #39234
- Remove
--fiximports
helper by @tobiasdiez in #39274 - fix the behavior for immutable graphs in methods related to isomorphisms in
sage/graphs/generic_graph.py
by @dcoudert in #39296 - Improve is_empty and is_finite in a few cases by @user202729 in #39444
- Fixed issue causing the quotient of vector subspaces to throw an exception when divisor is the zero space by @Noel-Roemmele in #39574
- Fix CI documentation diff by @user202729 in #39622
- large cleanup in one cluster file by @fchapoton in #39637
- fix typo in ladder_idempotent by @fchapoton in #39638
- Remove deprecated PseudoQuaternionicProjectivePlane alias by @tobiasdiez in #39645
- pythran 0.17.0, switch to wheel by @dimpase in #39652
- ninja_build: Update to 1.12.1 by @dimpase in #39653
- Pybind11, version 2.13.6 by @dimpase in #39654
- update numpy to 2.2.3, scipy to 1.15.2 by @dimpase in #39655
- Add some 'not tested' marks to avoid CI failure by @user202729 in #39664
- Added example in digits function to showcase that the sum of digits can be computed by @Noel-Roemmele in #39665
- CI: Remove broken Linux Mint and openSUSE runs by @tobiasdiez in #39670
- en/thematic_tutorials/profiling.rst: update runsnake docs by @orlitzky in #39673
- update trove_classifiers to 2025.3.3 by @dimpase in #39675
- update networkx to 3.4.2 by @dcoudert in #39676
- Optimize MatchingCoveredGraph’s add_edge method by @mashraf8 in #39678
- sphinxcontrib-htmlhelp 2.1.0 by @dimpase in #39680
- spaces around modulo in combinat and rings by @fchapoton in #39683
- handling a few unused variables in geometry,graphs,numerical,structure by @fchapoton in #39685
- update sphinxcontrib packages by @kiwifb in #39686
- Added the rank method under ModulesWithBasis.ParentMethod. by @HenryWu2101 in #39693
- Fixing the ruff linting by @fchapoton in #39699
- Fix typo in SAGE_PARI_MINVER by @antonio-rojas in #39700
- Use uv for linter workflow by @tobiasdiez in #39701
- Allow negative shift for flint rational polynomial by @user202729 in #39711
- ⬆️ Bump tj-actions/changed-files from 45 to 46 by @dependabot in #39722
- Fixing the cartesian product of a CFM and a generic object. by @tscrim in #39724
- Update docstring on E2 by @seewoo5 in #39732
- update msolve to version 7.5 by @dimpase in #39738
- minor details in the quivers folder by @fchapoton in #39739
- fix overflow in Matrix_modn_dense by @videlec in #39671
New Contributors
- @mashraf8 made their first contribution in #39678
- @HenryWu2101 made their first contribution in #39693
Full Changelog: 10.6.beta9...10.6.rc0
10.6.beta9
What's Changed
- adding the check for pycodestyle E222 in pyx files by @fchapoton in #39610
- some typing in Permutation by @fchapoton in #39613
- Fixed _positive_roots_reflections for index_set different from {1, 2, …, n} by @ventu06 in #39617
- remove unused imports in rings by @fchapoton in #39619
- Fix documentation diff for cython() by @user202729 in #39621
- Fix Commutator subgroup of permutation group by @AdityaK1729 in #39624
- some fixes by ruff about nested max by @fchapoton in #39625
- remove pkg combinatorial_designs by @fchapoton in #39631
- some details in lean_matrix by @fchapoton in #39634
- removing some unused imports in pyx files by @fchapoton in #39635
- unitary DFT for symmetric group algebra by @jacksonwalters in #38455
- Upgrade to pari 2.17.1, cypari 2.2.1, cysignals 1.12.3 by @antonio-rojas in #38749
- Show continuation lines when doctest crashes by @user202729 in #39102
- Add check for zero monomial in monomial_coefficient by @keltecc in #39256
- add parameter immutable to generators in
sage/graphs/digraph_generators.py
(part 3) by @dcoudert in #39269 - Migrate pyright workflow to use conda by @tobiasdiez in #39286
- add parameter
immutable
to transitive closure methods insage/graphs/generic_graph.py
by @dcoudert in #39287 - Test pip editable install with meson by @user202729 in #39369
- Fix compilation and doctests with flintlib 3.2 by @tornaria in #39413
- Disable broken and outdated CI by @tobiasdiez in #39467
- Provide an iterative version on some functions on trees by @Oscfon in #39519
- Fixes error causing period function in BinaryRecurrenceSequence to stall and added enhancement by @Noel-Roemmele in #39546
- Remove defining ideal hack by @user202729 in #39559
- Meson: Remove unused build dependencies ppl and fplll by @tobiasdiez in #39562
- Bump pillow and cffi by @dimpase in #39571
- some details in schemes, typing annotation for gens by @fchapoton in #39579
- remove traces of experimental package
modular_decomposition
by @dcoudert in #39593 - fix latex code in one crystal file by @fchapoton in #39594
- extract _front_back_facets method out of _tikz_3d_in_3d polyhedron method by @seblabbe in #39597
- bump executing to 2.2.0 by @dimpase in #39602
- minor details in boolean_polynomials by @fchapoton in #39605
- minor details in invariant_theory (pep8) by @fchapoton in #39606
- add missing parenthesis in magma conversion file by @fchapoton in #39607
- some minor details in fusion_double by @fchapoton in #39609
- remove unused import + pep8 cleanup in modform/element by @fchapoton in #39611
- Improve documentation of discrete valuations by @saraedum in #39612
- Fix spacing for documentation by @user202729 in #39623
- Fixed issue the caused random element in for Tuples to stall by adding unrank method. by @Noel-Roemmele in #39626
- add magma as optional algorithm for Coxeter polynomial of posets by @fchapoton in #39629
- Implement matrix Schubert variety ideals by @tscrim in #39632
New Contributors
- @ventu06 made their first contribution in #39617
- @AdityaK1729 made their first contribution in #39624
- @keltecc made their first contribution in #39256
- @Oscfon made their first contribution in #39519
Full Changelog: 10.6.beta8...10.6.beta9