What's Changed
- little shoeshining for ncsym-dual by @fchapoton in #38349
- Fix a minor typo by @user202729 in #38352
- Homogenise
.log()api across implementations of finite field elements by @AZ-0 in #38359 - Check input of composition by @mantepse in #38366
- Disjoint direct product decomposition of a permutation group by @Newtech66 in #38371
- Update ncsf.py documentation by @0-andy-0 in #38372
- moving ideal_monoid to the category of rings by @fchapoton in #38375
- pep8 cleanup in ode.pyx by @fchapoton in #38377
- CI: Remove
centos-7by @mkoeppe in #38380 - refining the category of all-commuting g-algebras by @fchapoton in #38382
- Debug
component_functionin S-box Module and Add the S-box of WARP Block Cipher by @hadipourh in #35913 - Implement the BGG resolution of a simple finite dimensional Lie algebra representation by @tscrim in #37297
- Mark some slow tests as slow by @grhkm21 in #37363
build/pkgs/mathics: Reduce to a pip package by @mkoeppe in #37395- Better coercion to ZZ for libGAP integers, modular integers by @kedlaya in #37580
- FareySymbol: set aspect_ratio to one in graph of fundamental domain. by @monien in #37728
sage.features.topcomby @mkoeppe in #37858sage.knots: Modularization fixes (imports),# needsby @mkoeppe in #38118- Added example in documentation of set_legend_options by @25shriya in #38120
sage.schemes: Modularization fixes (imports) by @mkoeppe in #38142- Remove unnecessary forcing to univariate by @Nathabolin in #38151
- implement morphisms from free algebras by @fchapoton in #38166
- Delete _check_rank_two method for Drinfeld modules by @kryzar in #38199
build/pkgs/fpylll: Update to 0.6.1 by @mkoeppe in #38231- CI Build&Test: Show full logs, do not truncate by @mkoeppe in #38232
- cleanup for binary recurrence sequences by @fchapoton in #38233
- Fix diagonal matrix construction from base ring elements that have
_matrix_methods by @mkoeppe in #38235 sage.geometry.hyperbolic_space: Add# needsby @mkoeppe in #38236- Deprecate global imports:
GroupExp_Class,GroupExpElement,GroupSemidirectProductElementby @mkoeppe in #38238 sage.features.satby @mkoeppe in #38239- Fix
_latex_exponents by @grhkm21 in #38243 - provide compatibility with numpy 2.0 by @dimpase in #38250
- .ci/write-dockerfile.sh, docker/Dockerfile: Fix Docker warning FromAsCasing by @mkoeppe in #38251
configure: Check that the build directory is on a normal writable file system by @mkoeppe in #38256- some pep8 cleanup in four crystal files by @fchapoton in #38257
build/pkgs/sphinx7.3.7,docutils0.21.2,furo2024.5.6 by @mkoeppe in #38261- partial care for empty lines in pyx in rings ; activate E302 in pyx by @fchapoton in #38263
- some care for pep E272 (spurious white spaces) by @fchapoton in #38264
- Refactor
sage-spkgthrough sage-package by @mkoeppe in #38271 dist.yml: Build musllinux wheels, build linux aarch64 wheels via QEMU by @mkoeppe in #38272- Deprecate
is_ChowCycle,is_CohomologyClass,is_Divisor,is_ToricDivisorby @mkoeppe in #38277 - Deprecate
is_Infiniteby @mkoeppe in #38278 - Deprecate
is_SymmetricFunctionby @mkoeppe in #38279 - Deprecate
is_StringMonoidElement, ... by @mkoeppe in #38280 - correct eclib's m4 file code to check version by @JohnCremona in #38284
is_NumberFieldElement: Fix deprecation message by @mkoeppe in #38286- Deprecate
is_Ringby @mkoeppe in #38288 - graph: modular decomposition of a single vertex should be a single tree node by @cyrilbouvier in #38301
- Fix DrinfeldModule is_isomorphic method absolutely' flag by @kryzar in #38303
build/pkgs/surf: Add to distros/ by @mkoeppe in #38305- fix some typos ; mostly in graphs by @fchapoton in #38307
build/pkgs/libffi: Update to 3.4.6 by @mkoeppe in #38308- fix typos and code details in Hecke triangle groups by @fchapoton in #38314
- adding a few more links to python standard errors in doc by @fchapoton in #38318
- Implement hypergeometric Euler factors at t=1 by @kedlaya in #38322
- Fix issue 37519 by @maxale in #38326
- Dimacs leaves junk files by @seblabbe in #38333
- Removing the automatic size labeler by @tscrim in #38334
- fix mistake in category of fraction fields by @fchapoton in #38343
build/pkgs/ecm: Upgrade to 7.0.6 by @mkoeppe in #38345- Updated
__repr__()to_repr_()in ideals classes by @25shriya in #38346 - add uniform generator of random proper interval graphs by @dcoudert in #38354
- Reintroducing tight complex interval inverse by @unhyperbolic in #38360
- Support ECM 7.0.6 by @antonio-rojas in #38344
build/pkgs/tachyon: Upgrade to 0.99.5 by @mkoeppe in #36969src/tox.ini(coverage:run): Setconcurrency = multiprocessing,threadsby @mkoeppe in #37010build/pkgs/pytest*: Change to standard wheel packages by @mkoeppe in #37301- src/pyproject.toml: Add 'external' section per draft PEP 725 (unbundled from #37446) by @mkoeppe in #37482
- fix quadratic_defect by @nbruin in #37657
- docstrings: large scale formatting by @gmou3 in #38155
- Implemented generators for Staircase graph, Biwheel graph and Truncated biwheel graph by @janmenjayap in #38175
- Change inheritance order in UniqueRepresentation by @enriqueartal in #38203
- Deprecate
is_Ideal,is_LaurentSeries,is_MPolynomialIdeal,is_MPolynomialRing,is_MPowerSeries,is_PolynomialQuotientRing,is_PolynomialRing,is_PolynomialSequence,is_PowerSeries,is_QuotientRingby @mkoeppe in #38266 - Fix lex_BFS (and co.) for directed graphs by @cyrilbouvier in #38269
- Deprecate
is_FunctionFieldElement,is_FunctionFieldElementby @mkoeppe in #38289 - Deprecate
is_LaurentSeriesRing,is_MPowerSeriesRing,is_PowerSeriesRingby @mkoeppe in #38290 - Update fedora distro info by @enriqueartal in #38358
- add access to printlevel in libsingular by @fchapoton in #38365
- Add framework for key exchange schemes and Diffie-Hellman by @vincentmacri in #38374
- simplify some iterations (ruff PERF102) by @fchapoton in #38390
- get rid of one sage_eval in complex numbers by @fchapoton in #38391
- get rid of sage_eval in grobner_fan by @fchapoton in #38392
- get rid of one sage_eval in modular by @fchapoton in #38394
- slightly nicer fully-packed loop unicode art by @fchapoton in #38397
- Fix a bug in version selector of documentation by @kwankyu in #38401
- Add announcement banner for push to develop by @kwankyu in #38402
- Call more general algorithm when lattice basis isn't trivial by @malb in #38405
- Fix typos and outdated links in
igraph_graph()docs by @szhorvat in #38407 - Fix layout of conda installation instructions by @saraedum in #38408
- src/sage/rings/complex_interval.pyx: Fix pycodestyle E302 by @mkoeppe in #38423
- Make CHANGES.html more useful by @kwankyu in #38425
- provide the fraction field of symmetric functions by @mantepse in #38429
- Correct canonical heights on non-integral models of elliptic curves by @JohnCremona in #38436
- fix E302 in pxi files by @fchapoton in #38443
- fix annotations in
sage/matrix/matrix2.pyxandsage/rings/integer.pyxby @dcoudert in #38450 - Add view/edit buttons to docs by @kwankyu in #38451
- remove stray r by @mantepse in #38464
- Strength 2 Covering Array constructions by @aadwyer in #37372
- Simplify doc build process by removing empty directories locally by @kwankyu in #38185
- Update the deprecation policy by @kwankyu in #38273
- Deprecate
is_SchemeMorphism,is_SchemeTopologicalPointby @mkoeppe in #38296 - some fixes for ruff code C41 (about loops and iteration) by @fchapoton in #38323
- Lattes to curve function code commits for enhancement #38329 by @Nathabolin in #38330
- use pkg-config to find msolve, otherwise try to run it by @dimpase in #38331
- support passing two base points to .log() for elliptic-curve points by @yyyyx4 in #38347
- get rid of some sage-eval in gap3-related code by @fchapoton in #38395
xgcdfor multiple arguments by @seewoo5 in #38409- Properly check dimension in curve constructor by @kwankyu in #38414
- fix memory leak in is_planar by @dcoudert in #38432
- Make # abs tol compare over the complex numbers by @vbraun in #38433
build/pkgs/gcc: Update to 13.3 by @mkoeppe in #38442- Moving ideal methods to category of rings by @fchapoton in #38444
- simplify conversion code in cubic Hecke by @fchapoton in #38458
- introduce half-angle transformations by @fchapoton in #38466
build/pkgs/furo: Set lower bound by @mkoeppe in #38470- Include modular composition for polynomial rings over finite fields by @GiacomoPope in #38476
- Choose special name to avoid '@c' by singular's absFactorize by @nbruin in #38479
- expose fplll enumeration routines in IntegralLattice by @yyyyx4 in #38492
- set reverse=True by default in basis_for_quaternion_lattice() by @yyyyx4 in #34962
build/pkgs/sympy: Upgrade to 1.13.2 by @oscarbenjamin in #36641- upgrade shipped suitesparse components to 7.8.0 by @kiwifb in #37204
- Document building from the monorepo using
PIP_CONSTRAINT=$SAGE_ROOT/constraints_pkgs.txtby @mkoeppe in #37434 - rings/infinite polynomial ring fixes by @mantepse in #37761
build/pkgs/cypari2.2.0 by @mkoeppe in #38183configure --disable-notebook: Also disablejupyter_sphinxby @mkoeppe in #38224- ⬆️ Bump docker/build-push-action from 5 to 6 by @dependabot in #38267
- Implement a custom class for tropical polynomials by @verreld7 in #38291
- Reduce outdated
gdbandvalgrindpackages to dummy packages by @mkoeppe in #38306 - EllipticCurve: Raise error on unexpected keyword argument by @user202729 in #38361
- some typos by @fchapoton in #38445
- Fix coercion error on constant arguments to HypJac point construction by @nbruin in #38459
- get rid of sage_eval in cfinite_sequence by @fchapoton in #38462
- replace use of gp interface by pari lib in 3 files by @fchapoton in #38463
- using pathlib.Path around SAGE_EXTCODE by @fchapoton in #38465
- Fix buggy doc diff script by @kwankyu in #38468
- fix many pep8 E302 warnings in repl,rings,schemes,sat,etc by @fchapoton in #38477
- Updated SPKG links for polymake as per #37532 by @Demon-Sheriff in #38485
- implement smooth_part() and coprime_part() by @yyyyx4 in #38488
- prevent crash in order_from_multiple() due to rounding error by @yyyyx4 in #38490
- Add latex method for hyperelliptic curves by @vincentmacri in #38491
- CI: Update
centos-stream-9, addfedora-41by @mkoeppe in #38496 - minor details in categories folder by @fchapoton in #38497
- CI /
tox docker-incremental: Fix incremental build from a different Sage version by @mkoeppe in #38499 - cython 3.0.11 compatibility by @kiwifb in #38500
- deprecate the class "Algebra" by @fchapoton in #38502
- Reviewer guide: Link to Eric Gourgoulhon's test notebook by @mkoeppe in #38503
- Update list of Apple Silicon processors by @mkoeppe in #38505
- fixing all pep E302 warnings in folders [a-c]* by @fchapoton in #38506
- some code details in asymptotic by @fchapoton in #38507
- details in moment-angle complex by @fchapoton in #38512
- various details in arithgroup_generic by @fchapoton in #38513
src/pyproject.toml: Add missing build depjinja2by @mkoeppe in #38515- avoid using reserved min and max in two files by @fchapoton in #38516
- GH Actions: Create a GitHub release also for beta and rc by @mkoeppe in #38517
- CI Linux: Consolidate jobs by @mkoeppe in #38518
- GH Actions: Upload PyPI sdists also as GitHub Release Assets by @mkoeppe in #38519
- Fix
sage_bootstrap.flockfor Python 3.13 (fedora-41) by @mkoeppe in #38521 build/pkgs/libpng: Update to 1.6.43 by @mkoeppe in #38522- CI Linux: Strip timestamps printed by docker buildkit by @mkoeppe in #38523
- Sort #34892 doctest output vectors to fix randomness by @grhkm21 in #38524
build/pkgs/tachyon: Fix rpath by @mkoeppe in #38534- fix issue 38527 with
spqr_tree_to_graphby @dcoudert in #38535 - catch xgcd crash in flint nmod by @GiacomoPope in #38538
- use Parent in Hecke algebras by @fchapoton in #38546
- Prepare sage for sphinx 8 by @kiwifb in #38549
- Fix
DiGraph.dig6_stringwhen the digraph has loops by @rburing in #38553 - Fix conda environments after
buildwas removed from conda-forge in favor ofpython-buildby @rburing in #38554 - Period lattice: fix documentation error by @user202729 in #38561
- ⬆️ Bump tj-actions/changed-files from 44 to 45 by @dependabot in #38562
- Tutorial: Remove remarks on Python 2 integers by @mkoeppe in #38563
- fix iter method for point homsets by @grhkm21 in #38566
- Documentation: Remove traces of Trac by @mkoeppe in #38567
New Contributors
- @user202729 made their first contribution in #38352
- @AZ-0 made their first contribution in #38359
- @Newtech66 made their first contribution in #38371
- @0-andy-0 made their first contribution in #38372
- @hadipourh made their first contribution in #35913
- @monien made their first contribution in #37728
- @25shriya made their first contribution in #38120
- @Nathabolin made their first contribution in #38151
- @maxale made their first contribution in #38326
- @unhyperbolic made their first contribution in #38360
- @malb made their first contribution in #38405
- @szhorvat made their first contribution in #38407
- @oscarbenjamin made their first contribution in #36641
- @verreld7 made their first contribution in #38291
- @Demon-Sheriff made their first contribution in #38485
Full Changelog: 10.4...10.5.beta3