Releases: sagemath/sage
Releases · sagemath/sage
10.5.rc1
10.5.rc0
What's Changed
- Addition of Chow ring ideal and Chow ring classes by @25shriya in #38281
- number_field_elements_from_algebraics: Fix CyclotomicField embedding when embedding=False by @user202729 in #38441
- Include TESTS in doc preview for PRs by @kwankyu in #38449
- Dokchitser: Pass internal parameter over properly by @user202729 in #38482
- Eisenstein series: Small documentation improvement by @user202729 in #38484
- Implement dual subdivision and weight vectors for tropical variety by @verreld7 in #38536
- Improve conda setup by @tobiasdiez in #38728
- Introduced the class
MatchingCoveredGraph
by @janmenjayap in #38742 - non recursive version of method
gomory_hu_tree
for graphs by @dcoudert in #38791 - libsemigroup upgrade to 2.7.3 by @dimpase in #38875
- Follow-up to #38822: Add missing package update in build/pkgs by @soehms in #38885
- src/sage/interfaces/singular.py: use GNU Info to read Singular's info by @orlitzky in #38899
- a few details in combinat, following ruff and pycodestyle by @fchapoton in #38903
- Update the gcc spkg to version 14.2.0 using iains/gcc-14-branch by @culler in #38905
- Format function headers around
=
and,
by @gmou3 in #38907 - Don't (mis)use
prec_words_to_bits()
by @tornaria in #38908 - Meson: minor revision by @tobiasdiez in #38910
- Replace division by zero with +-inf by @tobiasdiez in #38911
- Replace deprecated/removed mem_fun_ref by @tobiasdiez in #38912
- Meson: Improve handling of dependencies by @tobiasdiez in #38913
- Replace
os.uname
by more universalplatform.system
by @tobiasdiez in #38914 - Remove
register
macro in Ginac by @tobiasdiez in #38915 - Fix Ginac cast error by @tobiasdiez in #38916
- Allow optional elliptic curve data from database_cremona_ellcurve by @vbraun in #38917
- preserve backend when using pickling/unpikling by @dcoudert in #38919
- fixing ruff E714 by @fchapoton in #38921
- remove the last use of PrincipalIdealDomain by @fchapoton in #38922
- remove some deprecated functionality by @yyyyx4 in #38923
- avoid using "is_prime_field" in dynamics by @fchapoton in #38925
- Pathlib for 3 files by @fchapoton in #38926
- expunge is_commutative from plural by @fchapoton in #38930
- OS X: do not use -ld_classic by @jhpalmieri in #38931
- Artifacts v4 by @fchapoton in #38932
- keep meson.build file for ext/interpreters by @dimpase in #38934
- Sanity check parent of Vector_numpy_integer_dense by @user202729 in #38938
- Details yang baxter by @fchapoton in #38941
- deprecate is_generator for is_gen by @fchapoton in #38942
- no longer ignore errors in method
union
ofDisjointSet
by @dcoudert in #38944 - move spkg tarballs from user.ox.ac.uk by @dimpase in #38948
- Fix configure script generated by pkgconf-2.3.0 by @vbraun in #38954
- rebase sage_autodoc to sphinx 8.1.3 by @kiwifb in #38957
- Iteration over infinite abelian groups by @DaveWitteMorris in #38961
- Disallow scaling of quaternion fractional ideals by zero by @S17A05 in #38963
- Drinfeld Modules: Default to zero endomorphism in
.hom
and avoid inversion of zero endomorphism by @S17A05 in #38964 - Clean up Cygwin remnants by @orlitzky in #38966
- Implement basic multivariate polynomial species by @Newtech66 in #38446
Full Changelog: 10.5.beta9...10.5.rc0
10.5.beta9
What's Changed
- Roots of polynomials mod n by @kylehofmann in #38722
- move orientation methods from
graph.py
toorientations.py
by @dcoudert in #38809 - Remove redundant modulo operation in vector_modn_dense by @user202729 in #38835
- fix issue #38832 about
canonical_label
in bipartite graphs by @dcoudert in #38842 - Add conversion dictionaries to trig.py by @janekj2727 in #38853
- Add LaTeX representation for function fields by @vincentmacri in #38854
- autopep8 fixes for E302 in matrix,rings,groups,dynamics by @fchapoton in #38858
build/pkgs/matroid_database
: mark as math by @gmou3 in #38859- Fix test if SAGE_ROOT is not defined by @antonio-rojas in #38860
- remove some unused variables by @fchapoton in #38861
- some spaces around % in pyx files by @fchapoton in #38862
- Fix testing of installed rst files by @antonio-rojas in #38863
- Fix build of coxeter3 extension with meson by @antonio-rojas in #38866
- Fix duplicate install of config.py in meson build by @antonio-rojas in #38867
- src/sage/parallel/map_reduce.py: fixup start_workers() test case by @orlitzky in #38873
- minor details in piecewise functions by @fchapoton in #38876
- Update Pypi.io domain (301 permanent redirect) by @Carreau in #38877
- using Parent in ring extensions by @fchapoton in #38881
- src/sage: revert "touch libgap consumers" by @orlitzky in #38882
- be explicit about messages by @mantepse in #38894
- add "# long time" to slow-ish composite isogeny doctest by @yyyyx4 in #38901
- Compute composite degree (separable) isogenies of EllipticCurves by @grhkm21 in #35949
build/pkgs/pari
: Update to 2.15.5 by @mkoeppe in #38629- Update gperftools integration for python3/musl by @orlitzky in #38675
matroids
: Addcertificate
argument tois_valid
by @gmou3 in #38711- a few simplified isinstance (ruff SIM101) by @fchapoton in #38817
- let the category setup handle the ideals by @fchapoton in #38821
- Graph tikz method fixup by @seblabbe in #38847
- various small details in combinat by @fchapoton in #38857
New Contributors
- @janekj2727 made their first contribution in #38853
- @Carreau made their first contribution in #38877
Full Changelog: 10.5.beta8...10.5.beta9
10.5.beta8
What's Changed
- Use CPU time for --warn-long by @orlitzky in #36226
- Compile everything with meson by @tobiasdiez in #36524
- Fixed and improvements in
is_LLL_reduced
andapproximate_closest_vector
by @TheBlupper in #38259 - convenience methods for field embeddings by @yyyyx4 in #38487
- Improve counting of local solutions for QuadraticForm at p=2 by @WvanWoerden in #38680
- GH Actions: Build sagemath-tdlib wheel by @mkoeppe in #38734
- fixing some suggestions by ruff by @fchapoton in #38740
- Add "needs" tags for giac and libgiac by @orlitzky in #38770
- make sure .division_points() returns the correct result for m=-1 by @yyyyx4 in #38797
- adding method tikz to class Graph by @seblabbe in #38798
- GAP 4.13.1 by @orlitzky in #38804
- use specialized 2-dimensional .log() method in .matrix_on_subgroup() by @yyyyx4 in #38805
- faster comparison of elliptic-curve morphisms by @yyyyx4 in #38808
- Make codecov/patch informational (not fail) by @kwankyu in #38812
- fix all pep E302 in manifolds and geometry by @fchapoton in #38816
- fixing some typos by @fchapoton in #38819
- Upgrade database_knotinfo to version 2024.10.1 by @soehms in #38822
- Fix two tests that fail on a heavily-loaded machine by @orlitzky in #38825
- src/sage/env.py: canonicalize paths in a test by @orlitzky in #38826
- Respect sparse=True in vector constructor when passed ndarray by @user202729 in #38833
- Fix bug in covering map of simplicial set with degenerate faces. by @miguelmarco in #38837
- Fix
transformation
parameter for LLL on matrices over QQ by @TheBlupper in #38841 - Fix docstring format for
EllipticCurve_with_prime_order
by @JosePisco in #38845 - src/sage/graphs/generic_graph.py: work around doctest hang by @orlitzky in #38851
- Fixes for Xcode 16 and gcc/gfortran, boost_cropped by @jhpalmieri in #38855
New Contributors
- @WvanWoerden made their first contribution in #38680
Full Changelog: 10.5.beta7...10.5.beta8
10.5.beta7
What's Changed
- Add sage.misc.latex.pdf to save the image of objects to pdf by @kwankyu in #38339
- add method is_vertex_cut to (di)graphs by @dcoudert in #38418
- work on Simon two-descent by @fchapoton in #38461
- allow supplying a value of q for special_supersingular_curve() by @yyyyx4 in #38483
- Added a method to compute the Tutte Symmetric function of a graph by @s-s-sawant in #38677
- NotImplementedError when pow() called with modulus by @kylehofmann in #38717
- Change wrapping of FLINT Z/nZ polynomial gcd failure by @kylehofmann in #38719
- fix issue in
edge_cut
by @dcoudert in #38725 - provide monomial_coefficients for polynomials and allow single argument for MPolynomialRing_base.monomial by @mantepse in #38729
- Expose Coxeter and dual Coxeter numbers in RootSystem class by @skipgaribaldi in #38730
- Docbuild: Fix conditionalization of documentation on features by @mkoeppe in #38731
sage.rings.function_field
: Update# needs
by @mkoeppe in #38732sage.categories
: Update# needs
by @mkoeppe in #38733- activate linter check of E275 and clean one file by @fchapoton in #38738
- move power series to Parent by @fchapoton in #38741
- various pep8 fixes in modular folder by @fchapoton in #38743
- Fix build.yml broken for releases by @kwankyu in #38747
- deprecate dict method of polynomials by @mantepse in #38748
- Corrects some inner products in root systems by @skipgaribaldi in #38750
sage.sets
: Modularization fixes (imports) by @mkoeppe in #38751- build/pkgs/sagetex/dependencies: add $(PYTHON_TOOLCHAIN) by @orlitzky in #38752
- Added two missing difference sets, updated URLs by @dmgordo in #38755
- src/sage/symbolic/integration: make libgiac integration optional by @orlitzky in #38756
- fix the output of method
acyclic_orientations
by @dcoudert in #38757 - use StructureDescription() in gap/element.pyx tests by @dimpase in #38763
- Fix the latex representation of crystals tableaux by @kwankyu in #38764
- Fix time limitation in magma_free docstring by @Eloitor in #38765
- polynomials/fix category by @mantepse in #38767
- Do not allow external Pari 2.17 or later by @jhpalmieri in #38772
- rpy2 (standard) cannot depend on r (optional) by @vbraun in #38774
- Set explicit install name path on macOS suitesparse by @vbraun in #38775
- Fix test failures due to global mpmath state by @orlitzky in #38776
- Check the system R in SPKG rpy2 by @kwankyu in #38777
- add method
orient
toGraph
by @dcoudert in #38778 - slightly enhanced convolution of piecewise functions by @fchapoton in #38786
- Ruff e713 by @fchapoton in #38788
- avoid some type comparisons in combinat by @fchapoton in #38790
- fix docstring, fix whitespace around = and , by @mantepse in #38793
- switch to nauty for generating posets by @fchapoton in #38795
New Contributors
- @s-s-sawant made their first contribution in #38677
- @skipgaribaldi made their first contribution in #38730
- @dmgordo made their first contribution in #38755
Full Changelog: 10.5.beta6...10.5.beta7
10.5.beta6
What's Changed
- build/pkgs/mpmath/version_requirements.txt: Reject 1.4 by @orlitzky in #38691
- Add make_set function for DisjointSets by @thecaligarmo in #38692
- some care for pycodestyle E262 in pyx files by @fchapoton in #38695
- some pep8 fixes in sage/all.py by @fchapoton in #38696
- fixes for ruff warning C416 by @fchapoton in #38697
- some fixes for ruff UP warnings by @fchapoton in #38698
- fix WeylGroup of rank 0 by @fchapoton in #38702
- some details in permutations by @fchapoton in #38704
- update openblas to 0.3.28 by @dimpase in #38705
- better subs on piecewise functions by @fchapoton in #38706
- Define feature
sage.libs.giac
by @mkoeppe in #38715 - Grammar fixes to documentation: an to a euclidean by @nataliedurgin in #38718
- Raise exception when factoring zero polynomial by @kylehofmann in #38720
- Type of Z/nZ NTL polynomial evaluation should be scalar by @kylehofmann in #38721
- fix issue 38723 in
vertex_connectivity
by @dcoudert in #38726 - Save and load finitely presented groups coming from libgap groups by @enriqueartal in #37128
- allow the warning about root isolation failures in CBF[x] to be turned off by @mezzarobba in #37357
- Implemented
is_matching_covered()
andis_bicritical()
by @janmenjayap in #38218 - Extend the method get_knotinfo of the Link class to cover non-prime knots by @soehms in #38254
- Enhance augment method in Matrix_gf2e by @Shay2Shay in #38453
- implement generalised PaleyII symmetric conference matrices by @dimpase in #38486
- Revert cysignals build constraint by @tobiasdiez in #38556
- upgrade maxima to 5.47.0 by @dimpase in #38601
- number_field_elements_from_algebraics: Consistently use principal root by @user202729 in #38606
- gc: update to 8.2.8 by @ivmai in #38645
- get rid of sage_eval in Mestre call of magma by @fchapoton in #38652
- trying to refresh symbolic units by @fchapoton in #38655
- advertise for libgap in src/doc by @fchapoton in #38656
- configure.ac: add --disable-sagetex option by @orlitzky in #38658
- src/sage/misc/package.py: use gnulib instead of conway_polynomials in tests by @orlitzky in #38661
- configure.ac: disable more packages with --disable-notebook by @orlitzky in #38662
- Freetype fails to find freetype on macos by @vbraun in #38663
- construct order ideals by default for number-field orders by @yyyyx4 in #38671
- src/sage/features/giac.py: add new feature for the giac program by @orlitzky in #38672
- Fix a bug in retrofit-worktree.sh by @kwankyu in #38676
- update fricas to version 1.3.11 by @dimpase in #38682
- Loosen tolerance in a few
expm()
tests by @orlitzky in #38685 - Fix tests with singular 4.4.0p3 by @antonio-rojas in #38689
- Tweak a few tests to pass when giac is not installed by @orlitzky in #38690
- Set partition to disjoint set by @thecaligarmo in #38693
- Add robots.txt file to doc preview websites for PRs and releases by @kwankyu in #38694
- some minor details in named permgroups by @fchapoton in #38701
New Contributors
- @nataliedurgin made their first contribution in #38718
- @kylehofmann made their first contribution in #38720
- @Shay2Shay made their first contribution in #38453
Full Changelog: 10.5.beta5...10.5.beta6
10.5.beta5
What's Changed
- Demote
jmol
to optional by @mkoeppe in #38504 build/pkgs/nauty
: Update to 2.8.9 by @mkoeppe in #38572- Fix
is_homogeneous
weight bug by @grhkm21 in #38575 crypto/sbox.pyx
: remove unreachable code by @gmou3 in #38576- Add various project URLs for PyPI by @mkoeppe in #38577
- adding a warning about iteration over words by @fchapoton in #38585
- Add is_integral method to algebraic numbers by @user202729 in #38592
- Add reflection_index_set() and reflection() methods for permutations by @tscrim in #38598
- Allow for python sets to be counted as sets by @thecaligarmo in #38602
- Add warning filter for DeprecationWarning while doc build by @kwankyu in #38608
- fix the linter by @fchapoton in #38609
- fix and activate E303 check in pyx files by @fchapoton in #38610
- pep and ruff cleanup in semirings and tropicals by @fchapoton in #38611
- pep8 cleanup in algebras by @fchapoton in #38612
categories/morphism.pyx
: remove somenoexcept
s by @gmou3 in #38613- some pep8 fixes in combinat/designs by @fchapoton in #38614
permgroup_element.pyx
: add someconst
s by @gmou3 in #38615structure/sage_object.pyx
: remove excess%s
s by @gmou3 in #38616- Re-add py3.9 support to sage_autodoc.py by @kiwifb in #38619
- cleaning the deprecation and removal of NoetherianRing class by @fchapoton in #38620
- switch from
genbg
togenbgL
innauty_genbg
to generate larger bipartite graphs. by @dcoudert in #38621 - pep8 fixes in schemes/toric by @fchapoton in #38622
- Fix issue report formatting by @vincentmacri in #38624
- Remove outdated setting of
sphinx_source_suffix
by @mkoeppe in #38625 - Require weaker Sphinx dependency for sagelib by @tobiasdiez in #38627
- Fix hypellfrob.pyx calling Python inside sig_on by @vbraun in #38628
- fixing most ruff PERF4 warnings in combinat by @fchapoton in #38635
- fix something in quadratic forms by @fchapoton in #38636
- interface to new nauty generator for Hasse diagrams by @fchapoton in #38638
- pathlib in simplicial sets examples by @fchapoton in #38644
- add typing annotation in temporary_file by @fchapoton in #38646
- Repair
sage -t --valgrind
by @mkoeppe in #37569 - Fix category of ModularFormsRing and documentation cleanup by @DavidAyotte in #37821
- graphs: add implementation of slice decomposition via an extended LexBFS algorithm by @cyrilbouvier in #38299
- Implement EllipticCurve_with_prime_order() constructor by @JosePisco in #38341
- add method
is_edge_cut
to graphs by @dcoudert in #38435 build/pkgs/cython
: Update to 3.0.11 by @mkoeppe in #38501build/pkgs/jupyter_jsmol
: Change to optional by @mkoeppe in #38532- some details in strassen.pyx by @fchapoton in #38539
- Fixes in pyx files by @fchapoton in #38542
build/pkgs/pip
24.2,setuptools
73.0.1 etc. by @mkoeppe in #38548build/pkgs/python3
: Update to 3.12.5 by @mkoeppe in #38558- Right align sage/python tabs and alter vertical spacing by @thecaligarmo in #38568
build/pkgs/primecount
7.14,primesieve
: 12.4 by @mkoeppe in #38571- README.md, src/doc/en/installation: Replace release tours links by @mkoeppe in #38581
- Add missing commit when building large Cremona database by @jamesjer in #35050
- New algorithms to compute the characteristic polynomial of the Frobenius endomorphism of a Drinfeld module by @kryzar in #38174
- Implemented generators for some small graphs/ digraphs by @janmenjayap in #38321
- fix ruff PLR1730 checks by @GiacomoPope in #38540
- Add subs method for function field elements by @vincentmacri in #38607
- some fixes for E241 by @fchapoton in #38641
- fixing some mypy suggestions in algebras and abvar by @fchapoton in #38647
- Fix all three CONDA ci failing tests by @fchapoton in #38649
- get rid of sage-eval in dokchister.py by @fchapoton in #38653
- simplifications in some libgap calls by @fchapoton in #38660
- graphs: make init_short_digraph always sort neighbors but without the extra log complexity (2nd try) by @cyrilbouvier in #38664
- some care for pep8 E203 in pyx files by @fchapoton in #38666
- Fix pyproject.toml use of inline tables by @vbraun in #38667
- Remove giac integration from GiNaC by @orlitzky in #38669
- cythonize the chain polynomials of posets by @fchapoton in #38674
- Fix matrix coercion with numpy 2.1 by @antonio-rojas in #38683
- Fix broken coverage ci by @kwankyu in #38687
New Contributors
Full Changelog: 10.5.beta3...10.5.beta5
10.5.beta3
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-7
by @mkoeppe in #38380 - refining the category of all-commuting g-algebras by @fchapoton in #38382
- Debug
component_function
in 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.topcom
by @mkoeppe in #37858sage.knots
: Modularization fixes (imports),# needs
by @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# needs
by @mkoeppe in #38236- Deprecate global imports:
GroupExp_Class
,GroupExpElement
,GroupSemidirectProductElement
by @mkoeppe in #38238 sage.features.sat
by @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/sphinx
7.3.7,docutils
0.21.2,furo
2024.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-spkg
through 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_ToricDivisor
by @mkoeppe in #38277 - Deprecate
is_Infinite
by @mkoeppe in #38278 - Deprecate
is_SymmetricFunction
by @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_Ring
by @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,threads
by @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_QuotientRing
by @mkoeppe in #38266 - Fix lex_BFS (and co.) for directed graphs by @cyrilbouvier in #38269
- Deprecate
is_FunctionFieldElement
,is_FunctionFieldElement
by @mkoeppe in #38289 - Deprecate
is_LaurentSeriesRing
,is_MPowerSeriesRing
,is_PowerSeriesRing
by @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...
10.4
Release Notes
- adds support for GCC 14; major package upgrades
What's Changed
- Translate "A Tour of Sage" into Greek by @gmou3 in #37198
- ntl 11.5.1 by @mkoeppe in #37251
sage.groups.generic
: Fix incorrect identity testing by @grhkm21 in #37257- PDF docbuild: Reduce verbosity by @mkoeppe in #37264
- Directly convert PermutationGroup element into sized Permutation by @RuchitJagodara in #37288
- README.md: Move all mentions of release tarballs to the installation guide by @mkoeppe in #37309
- Reference manual: Show package list by category (math/front-end/other) by @mkoeppe in #37315
sage --package create
: Attempt to bring SPKG.rst title to a common style by @mkoeppe in #37322- Fixed the doc
sets/recursively_enumerated_set.py
by @janmenjayap in #37331 - some details in modules (ruff and pep) by @fchapoton in #37335
- Add simple methods to convert to and from bytes for
ZZ
and finite fields by @GiacomoPope in #37343 - implemented function for acyclic orientations by @saatvikraoIITGN in #37345
sage.schemes.generic
: fix docs by @grhkm21 in #37346sage/stats/distributions
: Implement non-spherical Gaussian sampling over lattices by @grhkm21 in #36581- Doctest hide option: Better detection of hidden packages by @soehms in #36741
- Implement Specht modules in the tabloid basis by @tscrim in #36748
- spkg-configure.m4 for most external Python pkgs by @dimpase in #36777
- Implementation of the quantum oscillator algebra by @tscrim in #36907
- CI: Upload test stats as artifacts, improve output of "List Docker images" by @mkoeppe in #36970
- add helper method to concatenate vectors by @yyyyx4 in #36971
- allowing external ECM to be called gmp-ecm or ecm by @dimpase in #37011
- Implement the center of a universal enveloping algebra in the PBW basis by @tscrim in #37013
CODE_OF_CONDUCT.md
: Do not send people to sage-flame by @mkoeppe in #37054- HTML documentation: Show preparsed doctests using inline tabs by @mkoeppe in #37083
- Quaternion Algebra Fractional Ideal improvements - equivalence and reduced bases by @jtcc2 in #37100
- Fix random polynomial bias by @grhkm21 in #37118
- Rerun
configure
less often by @mkoeppe in #37127 - Improve Windows installation instructions by @mkoeppe in #37184
- implement the depth of a quasimodular form by @DavidAyotte in #35517
- Implement call method for elements in CDGA's by @miguelmarco in #36329
- Implement basis_of_weight for rings of quasimodular forms by @DavidAyotte in #35029
- Ensure the
degree()
method ofPolynomial_generic_dense_inexact
returns anInteger
by @GiacomoPope in #37622 - Default SAGE_ECMBIN to "ecm". by @tornaria in #37701
- Workaround for multiprocessing shared memory limits by @tornaria in #37702
- use Parent for the Pari pseudo-ring by @fchapoton in #37465
- Add
# long time
totopology
by @gmou3 in #37483 - Developer Guide: Improve section on patching third-party packages by @mkoeppe in #37485
- src/doc/en/developer/review.rst: Update section 'Release Process' by @mkoeppe in #37487
- Fix failing docstring in random testing for
quaternion_algebra.py
by @GiacomoPope in #37489 - Include
random_element()
method toLaurentPolynomialRing
by @GiacomoPope in #37490 - build/pkgs/gnumake_tokenpool: Update to 0.0.7 by @mkoeppe in #37498
- use sparse polynomials for generating functions by @mantepse in #37499
- Code of conduct changes by @jhpalmieri in #37501
- Developer guide: Recommend raw strings for all docstrings by @mkoeppe in #37508
- Replace broken links to sphinx material on pocoo.org by @mkoeppe in #37509
- Remove comment about python2 longs by @Eloitor in #37520
- fix debian.txt for qhull by @dimpase in #37521
- Add
mypy.ini
by @mkoeppe in #37522 - Improve genus method of function fields and curves by @kwankyu in #37538
- Update the year in README.md by @kwankyu in #37540
- Edit docstrings attached to free resolutions by @kwankyu in #37542
- various list-comprehension in combinat (ruff PERF) by @fchapoton in #37545
- Faster chromatic symmetric function computation by @hdehr in #37549
- minor details + non-recursive algo in integer_valued_polynomials by @fchapoton in #37551
- convert Puiseux ring to Parent framework by @fchapoton in #37552
- A minor change in the documentation of
__hash__
function ofFreeModuleElement
class by @RuchitJagodara in #37553 - Implemented the (local) Hilbert symbol for global function fields by @S17A05 in #37554
- use Parent in Symbolic Ring by @fchapoton in #37555
- refresh sha_tate.py by @fchapoton in #37556
- Modified quaternion algebra documentation by @S17A05 in #37557
- enrich the test_karatsuba failure message with explicit elements by @fchapoton in #37561
- use Parent in infinity by @fchapoton in #37564
- Improve documentation for
degree()
method of singular multivariate polynomials by @GiacomoPope in #37567 - Improve method
_ford fulkerson chronicle
insrc/sage/combinat/posets/posets.py
by @dcoudert in #37571 - Doctester: Abbreviate tracebacks in warnings by @mkoeppe in #37573
- Intersphinx for cvxopt, cvxpy, cypari2, cysignals, flint, fpylll, gmpy2, ipywidgets, matplotlib, mpmath, networkx, numpy, rpy2, scipy, sympy by @mkoeppe in #37575
- Update package dependencies for Fedora and Arch distros by @tobiasdiez in #37579
- Add links to sources in documentation by @kwankyu in #37589
- Do not canonicalize generators when building a permutation group from a libGAP group by @tscrim in #37590
- ruff PERF fixes in algebras/ by @fchapoton in #37591
- Simplify computation of all points for curves over finite fields by @GiacomoPope in #37595
- fix performance regression in elliptic-curve point constructor by @yyyyx4 in #37596
- Sphinx extlinks for ecl, gap, giac, maxima, meson, ppl, qepcad, scip, singular, soplex by @mkoeppe in #37598
- extend the definition of q-binomial coefficients to (k > 0, n < 0) by @fchapoton in #37599
- some details in lrcalc by @fchapoton in #37600
graphs.triangulations(3)
cannot return a triangle by @dcoudert in #37602- Remove duplicated functions from genus two hyperelliptic curves by @GiacomoPope in #37604
- Ensure returned degree of multivariate polynomial is type
Integer
forMPolynomialRing_libsingular
class by @GiacomoPope in #37605 - src/sage/matrix: Doctest cosmetics by @mkoeppe in #37607
- src/sage/modules: Doctest cosmetics by @mkoeppe in #37608
- src/sage/schemes: Doctest cosmetics by @mkoeppe in #37609
- src/sage/combinat: Doctest cosmetics by @mkoeppe in #37610
- Ensure degree and total degree return
Integer
type forMPolynomial_polydict
class by @GiacomoPope in #37611 - Fix hyperelliptic curve dynamic class construction to allow proper method inheritance by @GiacomoPope in #37613
- Updated README....
10.3
SageMath version 10.3 (released Mar 19, 2024)
Release Notes
- adds initial support for Python 3.12
- JupyterLab, Notebook 7, major package upgrades
- major new developer tools
What's Changed
- clean E702 etc in integer.pyx by @fchapoton in #36653
sage.misc.explain_pickle
: Docstring cosmetics by @mkoeppe in #36655- ruff auto-fix for C4 in modular by @fchapoton in #36664
- Laurent polynomials, Fitting ideals and characteristic varieties by @enriqueartal in #36368
- check coprimality of moduli in CRT_basis() by @yyyyx4 in #36457
- Functions for nice tree decomposition and its labelling by @guojing0 in #36504
sage --tox -e coverage.py
by @mkoeppe in #36505pkgs/sage-{docbuild,setup,sws2rst}
: Migrate fromsetup.cfg
topyproject.toml
by @mkoeppe in #36562- Replace relative imports by absolute ones in categories by @tobiasdiez in #36572
- rename the backtrack algorithm of method
longest_path
with deprecation by @dcoudert in #36574 - implemented power of graph function under basic methods by @saatvikraoIITGN in #36584
- Replace relative imports by absolute ones in rings by @tobiasdiez in #36588
- Replace relative imports by absolute ones in a few packages by @tobiasdiez in #36589
- Add pull_from_function_field to curves by @kwankyu in #36592
- Replace relative imports by absolute ones in modules by @tobiasdiez in #36597
- cylint cleanup in combinatorial polyhedra by @fchapoton in #36623
- Allow to specify output directory for generated interpreters by @tobiasdiez in #36630
- sums of elliptic-curve morphisms by @yyyyx4 in #36637
- return Weierstrass scaling factor in base field for EllipticCurveIsogeny by @yyyyx4 in #36638
sage.algebras
: Update# needs
, modularization fixes, doctest cosmetics by @mkoeppe in #36642sage.combinat.species
: Update# needs
by @mkoeppe in #36643sage.combinat.words
: Update# needs
by @mkoeppe in #36644- More fixes for e221 by @fchapoton in #36654
sage.tests
: Update# needs
by @mkoeppe in #36657sage.sat
: Update# needs
by @mkoeppe in #36658- fix documentation and random doctest failure for Cornacchia algorithm by @yyyyx4 in #35486
- test whether point is actually on the curve when evaluating elliptic-curve isomorphism by @yyyyx4 in #35799
- Bliss spkg config by @dimpase in #35830
- FriCAS spkg-configure and Feature by @dimpase in #35838
- upgrade to flint3 by @mezzarobba in #35848
- generalize EllipticCurve_field.division_field() to composite orders by @yyyyx4 in #35936
- Cythonize
LatticePolytope.normal_form(algorithm='palp_native')
, change to default, add as aPolyhedron
method by @mkoeppe in #36031 - Notebook 7, ipykernel 6.27, ipython 8.17 by @mkoeppe in #36129
sage -fixdistributions
by @mkoeppe in #36135- add class groups of binary quadratic forms by @yyyyx4 in #36184
- establish interface for instantiated classical modular polynomials by @yyyyx4 in #36190
- src/sage/doctest/control.py: double the default test timeout by @orlitzky in #36223
- refresh the file plural.pyx by @fchapoton in #36683
- less use of _an_element_impl by @fchapoton in #36689
- Implement twisted homology of simplicial sets. by @miguelmarco in #36691
- Dark Mode Compatibility: Improved Crystals Visibility by @cherry-1729-9090 in #36695
- CI Linux incremental: Set max_parallel = 8, reduce standard-sitepackages platforms by @mkoeppe in #36697
- some details in combinations by @fchapoton in #36701
- make modform rings for triangle groups use Algebras by @fchapoton in #36703
- convert Tate algebra to use Parent and category by @fchapoton in #36704
- add method to compute the length of a tree-decomposition by @dcoudert in #36705
- get rid of coerce_try by @fchapoton in #36709
- Deploy live doc preview with pdf docs by @kwankyu in #36714
- build/bin/sage-logger [V=0]: Show more lines of the log of failing builds by @mkoeppe in #36715
- Free space and repeatability for the Docker Hub workflow by @soehms in #36716
- Adding cellular bases for the SymmetricGroupAlgebra over general fields by @tscrim in #36718
- Compute dimensions of simple symmetric group modules over positive characteristic by @tscrim in #36724
- cython-lint for graphs/ by @fchapoton in #36728
- build/pkgs/pari: require pari-2.5.14, drop tests for patched v2.5.13 by @orlitzky in #36732
meson_python
0.15 by @mkoeppe in #36733- avoid importing
DiGraph
fromsage.graphs.graph
by @dcoudert in #36736 build/bin/sage-spkg
: Add options for checking, cleaning separately from build/install by @mkoeppe in #36738- ⬆️ Bump actions/github-script from 6.4.0 to 7.0.1 by @dependabot in #36739
- Plant anchors for hunks to create links in doc preview changes by @kwankyu in #36742
- Normal Python packages: postpone wheel installation to the post-install phase by @mkoeppe in #36743
- pep8 for maxima-lib interface by @fchapoton in #36744
- pep8 for axiom and sympy interfaces by @fchapoton in #36745
- pep8 in various interfaces by @fchapoton in #36746
pkgs/sagemath-{bliss,coxeter3,...}
: Move metadata fromsetup.cfg
topyproject.toml
by @mkoeppe in #36564sage.libs.pari
,sage.rings.real_mpfr
: Modularization fixes by @mkoeppe in #36645sage.interfaces
: Update# needs
by @mkoeppe in #36656- implement Bröker's algorithm for constructing supersingular curves by @yyyyx4 in #36665
- Replace relative imports by absolute ones in
sage.{algebras,arith,categories,cpython,data_structures,misc,modular,rings,sat,symbolic}
by @mkoeppe in #36666 - capitals to Hopf, Lie, Coxeter by appropriate mechanism by @fchapoton in #36673
- symengine and symengine_py 0.11 by @dimpase in #36677
src/doc
: Update# needs
by @mkoeppe in #36679src/sage/graphs
: some care with# optional
by @dcoudert in #36682- get rid of some ParentWithGens in real and complex fields by @fchapoton in #36684
.ci/merge-fixes.sh
: Obtain patches via URL, make customizable by repository variable by @mkoeppe in #36686- Codestyle improvements (mostly sort imports) by @mkoeppe in #36687
- use less _element_constructor by @fchapoton in #36700
- Python toolchain as wheel packages by @mkoeppe in #36802
- Corrected the typo in documentation - Permutation Groups by @SpaceCoder93 in #36818
- Fix linter failure in 10.3.beta0 by @mkoeppe in #36822
ipython
8.18 and related upgrades, removebackcall
by @mkoeppe in #36823- README.md: Update section on macOS arm64 by @mkoeppe in #36828
- update qepcad to B 1.74 by @dimpase in #36837
- various details in group (ruff and pycodestyle) by @fchapoton in #36851
failing doctest on Apple M1
: corrected the test case by sorting the result by @amanmoon in #36852- various details in algebras (ruff mostly) by @fchapoton in https://github.com/sagemath...