Releases: sagemath/sage
10.3
SageMath version 10.3 (released Mar 19, 2024)
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 #36853
- various details in categories (ruff C4 and UP02) by @fchapoton in #36854
- some ruf...
10.2
SageMath version 10.2 (released Dec 3, 2023)
What's Changed
- upgrade msolve to 0.5.0, update interface by @mezzarobba in #36103
- using mute variables in combinat by @fchapoton in #36107
- some details in quadratic forms by @fchapoton in #36108
- using
# needs
in posets folder by @fchapoton in #36114 - fix cardinality, #36119, #36118, #36116 by @mantepse in #36124
- python-style loops in
partn_ref.data_structures
(partial) + some pep8 by @fchapoton in #36140 - Drop support for GCC < 8.4, drop testing of
debian-buster
andfedora-29
by @mkoeppe in #35810 sage.categories
: Update# needs
by @mkoeppe in #35945- Initial implementation of dynamical semigroups by @MatheMagicianPi in #35947
- Implemented five new operations for dynamical semigroups by @MatheMagicianPi in #35988
- Working MCDS implementation using connectivity constraints by @MrBanananator in #35990
- Implement Goss polynomials of Drinfeld modules by @DavidAyotte in #35991
- New functions
is_chebyshev
andis_Lattes
for one dimensional projective dynamical systems by @guojing0 in #36000 - Fix tests with singular 4.3.2p4 by @antonio-rojas in #36018
- Implement algebra_containment from Singular (issue #34502) by @jhpalmieri in #36030
- Implemented two new methods for dynamical semigroups by @MatheMagicianPi in #36041
- Fix sqrt(sqrt(2)) memory leak in ginac numeric.cpp by @vbraun in #36046
- New GitHub workflow to continue our images on Docker Hub by @soehms in #36047
- normaliz: Update to 3.10.1 by @mkoeppe in #36050
- cython-lint : add note about unused imports by @fchapoton in #36053
sage.arith
: Update# needs
by @mkoeppe in #36057- Speed up the creation of submatrices of
Matrix_modn_dense_template
matrices by @marizee in #36059 sage.{cpython,data_structures,databases,ext,parallel,structure}
: Update# needs
by @mkoeppe in #36067sage.{matrix,modules,probability,stats,quadratic_forms,tensor}
: Update# needs
, modularization fixes by @mkoeppe in #36070- Correct typo in class name of
Polynomial_ZZ_pEX
in.pxd
file by @GiacomoPope in #36071 sage.{interacts,misc,repl,typeset}
: Update# needs
, modularization fixes by @mkoeppe in #36078- fix and activate pycodestyle E301 in pyx files by @fchapoton in #36079
- build/pkgs/jupyter_core: Update to 4.12.0 by @mkoeppe in #36083
- some details in coxeter groups by @fchapoton in #36085
- using python-style for-loops in modular folder by @fchapoton in #36086
- using python-style for loops in calculus by @fchapoton in #36087
sage.geometry.polyhedron
: fix doctest error due to modularization by @dcoudert in #36089- Speed-up the creation of a zero matrix of type
Matrix_modn_dense_template
by @marizee in #36093 - Height function for projective subvarieties by @MatheMagicianPi in #36094
- add ordered set partitions as supported findstat collection by @mantepse in #36096
- Add additional bindings from NTL to
Polynomial_ZZ_pEX
by @GiacomoPope in #36097 - Detect and use system MathJax-3.x by @orlitzky in #36098
sage.crypto
: Update# needs
, modularization fixes by @mkoeppe in #36106- build/pkgs/cython: Update to 0.29.36 by @mkoeppe in #35084
- libatomic_ops: Update to 7.8.0 by @ivmai in #35399
- Drop support for Python 3.8 by @tobiasdiez in #35404
sage.functions
: Decouple fromsage.symbolic.expression
andmpmath
, update# needs
by @mkoeppe in #35716- gc: update to 8.2.4 by @ivmai in #35743
- Implement cocharacter and primitive Eulerian polynomials for hyperplane arrangements by @tscrim in #35914
- Delete .zenodo.json by @dimpase in #36132
- add some links to python error classes in the doc by @fchapoton in #36088
- run GitHub actions locally using gh act by @dimpase in #36117
- Bandaid for polynomial evaluation by @fchapoton in #36127
sage.combinat.root_system
: Modularization fixes,# needs
by @mkoeppe in #36136- fix Conrey number of trivial Dirichlet character by @fchapoton in #36139
- python-style loops in
sage.graphs
by @dcoudert in #36142 - Fix two "Computational Math.." book doctests by @orlitzky in #36143
- build/pkgs/mathjax/distros/gentoo.txt: Fix by @mkoeppe in #36145
- Fixing many e305 by @fchapoton in #36147
- fix the 2 broken linters by @fchapoton in #36148
- Fix doctest in
src/sage/algebras/quantum_groups/quantum_group_gap.py
by @dcoudert in #36149 - random elt for colored permutations by @fchapoton in #36155
- detect the zero series when returning an exact stream by @mantepse in #36156
- some pep for E30 and more in quadratic forms by @fchapoton in #36157
- Fix documentation previews using mathjax cdns by @kwankyu in #36160
- build/pkgs/singular: Upgrade to 4.3.2p7, reject system Singular without FLINT by @mkoeppe in #35934
- Implementing a generic one method for unital algebras by @tscrim in #36095
sage.rings.finite_rings.element_*
: Remove unused imports by @mkoeppe in #36105- Prepare for updating Cython to 3.0.0 by @infmagic2047 in #36109
- small improvements for functorial composition by @mantepse in #36115
- improve performance of stream cauchy invert by @mantepse in #35338
- Update Zariski-van Kampen functions by @enriqueartal in #35376
- using PyLong API instead of legacy PyInt API by @fchapoton in #36111
- Upgrades: scipy 1.11 and dependencies by @mkoeppe in #36112
- Coxeter arrangement by @fchapoton in #36151
sage.rings
: Update# needs
by @mkoeppe in #36152- minor details in graph_plot by @fchapoton in #36162
- Fix the ascii art for the Heisenberg Lie algebras by @tscrim in #36170
- Fix quadratic memory of berlekamp_massey by @grhkm21 in #36173
- fix and activate pycodestyle E305 in py files by @fchapoton in #36177
- Improve methods in
sage.misc.rest_index_of_methods
to fix the documentation of graphs. by @dcoudert in #36179 - more fixes in quadratic forms by @fchapoton in #36180
- fix E228 and E225 in algebras/ by @fchapoton in #36182
sage.misc.sageinspect
: fix doctest warnings due to modularisation by @dcoudert in #36183- src/sage/tests: fix another "Computational Math..." doctest by @orlitzky in #36185
- use semi-primitive root when checking kernel polynomials of isogenies by @yyyyx4 in #36187
- fix E228 and E225 in schemes/ by @fchapoton in #36191
- fix E228 then E225 in rings/ by @fchapoton in #36192
- schemes/elliptic_curves: disable a test that takes too long by @tornaria in #36195
- Fixing the iterator of SemistandardMultiSkewTableaux by @tscrim in #36200
- some micro-details in Dyck words and Parking functions by @fchapoton in #36202
- Remove self-
cimport
s by @mkoeppe in #36207 - configure.ac: disable tzlocal with --disable-r by @orlitzky in https:...
10.1
SageMath version 10.1 (released Aug 20, 2023)
What's Changed
- Some fixes for Specht modules and diagrams by @tscrim in #35432
- Implement down-up algebras and their Verma modules by @tscrim in #35484
sage.rings.factorint
: Modularization fixes by @mkoeppe in #35502- Deprecate
is_SymbolicVariable
,is_SymbolicEquation
by @mkoeppe in #35505 - Some cython-linting in
modular/
folder by @fchapoton in #35516 - Make
rank
return anInteger
object by @kryzar in #35519 src/sage_docbuild/conf.py
: Do not fail ifpplpy
doc is not installed by @mkoeppe in #35536- For groups: generic
centralizer
,subgroup
methods; improvingcenter
by @tscrim in #35540 - Review of #35540 by @dwbump in #35547
- Fvector for fans by @fchapoton in #35548
- Fixing some pycodestyle warnings E251 by @fchapoton in #35549
- Removing some unused imports in cython files by @fchapoton in #35550
- Enable access to some methods in
sage/graphs/graph_decompositions
by @dcoudert in #35551 - cython-lint cleaning in
combinat/
by @fchapoton in #35553 - Make doc preview message from github bot one liner by @kwankyu in #35563
- Replace obsolescent
egrep
by @fchapoton in #35565 - Partial cython-lint in
plot
folder by @fchapoton in #35566 4ti2
: Update to 1.6.10, fixesegrep
issue, adds GCC 13 support by @mkoeppe in #35570- Some details in
posets
by @fchapoton in #35573 - Support
tox
4.x for testing modularized distributions by @mkoeppe in #35208 - Implement the logarithm and the exponential of a Drinfeld module by @DavidAyotte in #35260
- Add a few operations from linear symplectic geometry by @tobiasdiez in #35354
openblas
: Update to 0.3.23 by @mkoeppe in #35371- The Fusion Ring of the Drinfeld Double of a Finite Group by @dwbump in #35387
- Remove tag fetching in docker workflow by @tobiasdiez in #35417
sage.categories
: Add# optional
for modularization; reformat doctests by @mkoeppe in #35422- Adding bigraded Betti numbers functionality by @OP5642 in #35430
- Add ability to generate graphs based on correlations of sequences #25933 by @Bruno-TT in #35009
src/doc/en/developer/portability_testing.rst
: Update after migration by @mkoeppe in #35108- Add parallel algorithm to Graph
chromatic_number
by @dcoudert in #35145 - Some typing and code tweaks in MZV by @fchapoton in #35567
- Details on complex reflection groups by @fchapoton in #35574
- Some details in commutative dga by @fchapoton in #35575
- Simplify some trivial iterations by @fchapoton in #35576
- Refactor: outsource methods in combinatorial polyhedron by @kliem in #35577
- Refactor: improve initialization of combinatorial polyhedron by @kliem in #35578
sage.{topology,homology}
: Modularization fixes by @mkoeppe in #35581- Fix discrepancy in partitions between provided number and starting partition by @trevorkarn in #35582
- Support
networkx
3.1 by @tornaria in #35584 sage.geometry
: Add some# optional
, reformat doctests by @mkoeppe in #35586bootstrap-conda
: Skip the dummy package_sagemath
by @mkoeppe in #35589- Implement twisted affine Lie algebras by @tscrim in #35591
- Fix Max=Min warning in coin interacts by @tobiasdiez in #35596
- Remove global
sage.all
import in pytest by @tobiasdiez in #35598 src/doc/common/python3.inv
: Update by @mkoeppe in #35608- Check for empty string before trying to evaluate in
_element_constructor
by @nbruin in #35610 - Support
linbox
1.7.0 and 1.6.3 at the same time by @tornaria in #35612 - Upgrade Maxima to 5.46.0 by @dimpase in #35619
Animation.ffmpeg
: Shell-quote filenames by @mkoeppe in #35622- cython-linting of unused imports in
modules
anddynamics
by @fchapoton in #35623 - Remove jupyter-packaging for conda by @tobiasdiez in #35627
- Implement the octonions by @tscrim in #35630
- Simplify some
all(all(...))
incombinat
andgeometry
by @fchapoton in #35631 - Use fixed random-seed in the "Build & Test" CI by @tobiasdiez in #35632
- Activating more pycodestyle checks by @fchapoton in #35634
- Support
sympy
1.12 by @tornaria in #35635 - Fix typo in documentation by @antonmosich in #35641
- Avoid redundant computations in finite field
.conjugate()
method by @remyoudompheng in #35643 sage.graphs
: More# optional
and other modularization fixes by @mkoeppe in #35647- pkg-config should be
_bootstrap
, not_prereq
, on all distros by @mkoeppe in #35407 sage.rings
: Reformat doctests, add# optional
annotations by @mkoeppe in #35457- Clear up left right confusion in
ore_polynomial_element.pyx
by @kwankyu in #35562 - Make
EllipticCurve.lift_x()
deterministic by @yyyyx4 in #35644 - Remove abuse of predefined
x
in doctests by @mkoeppe in #35648 - Fix bug caused by cached representation in cohomology classes by @miguelmarco in #35650
- Installation guide: Document workaround for Jupyter server port clash on WSL by @mkoeppe in #35651
- Cleanup and details in
finite_word.py
by @fchapoton in #35657 - Fix build with
sphinx
7 by @antonio-rojas in #35658 - CI Linux: Update platforms by @mkoeppe in #35660
- SymPy 1.12 upgrade by @mkoeppe in #35662
- Changing the knot theory PD-code convention by @soehms in #35665
- cython-lint: removing unused imports in
polynomials
by @fchapoton in #35672 - cylint: remove unused imports in
pyx
files in foldersa*-geo*
by @fchapoton in #35673 - cylint: remove unused imports in
graphs
,groups
,interacts
by @fchapoton in #35674 - cylint: remove unused imports in
matrix
folder by @fchapoton in #35675 - Some pep8 in elliptic curves by @fchapoton in #35677
- Fix building the Singular docstring dict when Singular info is built with recent texinfo by @antonio-rojas in #35678
- Register magic modes for lazy imported interfaces by @miguelmarco in #35680
- Deprecation warning for #34880 by @yyyyx4 in #35683
- Unify input of matrices and vectors by @dkrenn in #35685
- Fixing a lot of pycostyle warnings in
calculus
folder by @fchapoton in #35686 - Some fixes for pycodestyle E275 by @fchapoton in #35687
- cython-lint: removed many unused imports in
rings/
by @fchapoton in #35688 - cylint: remove unused imports in folders
[s-z]*
by @fchapoton in #35689 - Correct spelling in
permgroup_named
: Diyclic => Dicyclic by @dwbump in #35694 - Fix incorrect linear branch number for non-invertible SBox by @rusydi in #35695
- cylint: remove imports in
misc/
by @fchapoton in #35697 - Fix corner case of ordered set partitions iteration by @videlec in #35700
- GAP: fix definition of 'Int' by @fingolfin in #3570...
10.0
SageMath version 10.0 (released May 20, 2023)
Release Notes
- adds support for GCC 13; major package upgrades
- new optimization solvers via CVXpy, major new features in combinatorics and algebra
What's Changed
- Fix deployment of docs to netlify by @tobiasdiez in #34984
- Fix W391 linter issues by @tobiasdiez in #35109
tox.ini
(fedora-33): Do not setIGNORE_MISSING_SYSTEM_PACKAGES=no
by @mkoeppe in #35126- Mark unstable tests in
klyachko.py
due to #32773 by @tornaria in #35058 - ci-linux: Remove unmaintained local-conda runs by @mkoeppe in #35125
- Fix Cygwin CI after #32841 by @mkoeppe in #35052
- Add default devcontainer using conda by @tobiasdiez in #35072
- Improve camera positioning for threejs by @kwankyu in #34960
- Show explicit formulas in documentation of
WeierstrassIsomorphism
by @yyyyx4 in #34967 - Compute matrix kernels modulo composites by @yyyyx4 in #34968
- Cross-link matrix methods
image
andcolumn_space
by @Sandstorm831 in #34972 SignedPermutation
should allow iterables as input by @Sandstorm831 in #34974- Add
.torsion_basis()
method toEllipticCurve_finite_field
by @yyyyx4 in #34982 - Add construction of strongly regular digraph by @MatteoCati in #34986
- Trac role to GitHub by @roed314 in #35015
- Add doctest for #20847 by @mezzarobba in #34963
- Add
.twists()
toEllipticCurve_finite_field
by @yyyyx4 in #34981 - Add new skew Hadamard matrices by @MatteoCati in #34985
- Fix doctests to support numpy 1.24 by @tornaria in #34994
- Fix bug due to UB in conversion from python
int
toZZ
(python 3.11, 32 bit, gcc12) by @tornaria in #34997 - Enable dependabot for github action updates by @tobiasdiez in #34999
- Add doctest for #20846 by @mezzarobba in #35001
- Add doctest for #16031 by @mezzarobba in #35003
- Speed up some methods for quasimodular forms ring elements by @DavidAyotte in #35004
- Fix some "cannot" by @fchapoton in #35007
- Add doctest for #13569 by @mezzarobba in #35010
sage.{categories,matrix,structure}
: Replace imports fromsage.*.all
for namespace packages by @mkoeppe in #35012- Add
limit=
argument toInteger.prime_divisors()
by @yyyyx4 in #35019 - Use NTL's
MinPolyMod()
for more rings by @yyyyx4 in #34966 qqbar.clear_denominators
: crude but fast alternative algorithm by @mezzarobba in #34961- Support for tachyon >= 0.99.2 by @tornaria in #34995
- Implement check for Lorentzian polynomials #28252 by @fchapoton in #35021
- Remove upstream urls from
checksums.ini
that point to trac by @roed314 in #35023 - Fix usage of
verbose
with positional argument by @alexjbest in #35024 - Implement
__getitem__
and alias weight methods for quasimodular forms by @DavidAyotte in #35025 - gitignore another (temporary) autoconf file by @alexjbest in #35027
sage.schemes
: Replace imports fromsage.*.all
for namespace packages by @mkoeppe in #35033- Make
_multiple_x_*()
methods work for all n≠0 by @yyyyx4 in #35035 - Document argument
is_open
inManifoldSubset.complement
anddifference
by @egourgoulhon in #35040 - Add Hadamard matrices up to order 1000 by @MatteoCati in #35059
- A bijectionist's toolkit by @mantepse in #35060
- Add notes about recent changes on
KnotInfo
by @soehms in #35063 - Removing some unused imports by @fchapoton in #35064
- Upgrade eclib to 20221012 by @alexjbest in #35067
- Conform to doc requirements so that the docs look more beautiful by @alexjbest in #35069
- Document sage installation method with pip by @zovelsanj in #35070
- Combinatorial polyhedron: move list of pairs to dedicated class by @kliem in #35073
- Add ABCs
CommutativePolynomial
,MPolynomial_libsingular
,InfinitePolynomial
; deprecateis_Polynomial
,is_MPolynomial
by @mkoeppe in #35076 - Remove 'docker' from the names of the Docker images published on ghcr.io by @mkoeppe in #35079
- Add
is_supergreedy()
to linear extensions by @Sandstorm831 in #34970 - Deprecate constructing number-field fractional ideals via orders'
.ideal()
method by @yyyyx4 in #34979 is_prime
for ideals uses factorization, can be VERY slow by @yyyyx4 in #34980- Integer-valued polynomial ring by @fchapoton in #34988
- Drinfeld modules by @kryzar in #35026
- Fix the method
monomials_of_degree
by @DavidAyotte in #35043 - Convert result of multivariate polynomial evaluation into correct parent by @mezzarobba in #35045
sage.{coding,groups}
: Replace imports from sage.*.all for namespace packages by @mkoeppe in #35099- Remove direct use of
setup.py sdist
, add targetsmake SPKG-sdist
by @mkoeppe in #35104 sage.{functions,interfaces,symbolic}
: Replace imports fromsage.*.all
for namespace packages by @mkoeppe in #35105sage.{arith,crypto,databases,dynamics,lfunctions,quadratic_forms}
: Replace imports fromsage.*.all
for namespace packages by @mkoeppe in #35106sage.{finance,interacts,libs,numerical,stats,tests}
: Replace imports fromsage.*.all
for namespace packages by @mkoeppe in #35107- Deprecate
is_FiniteField
etc., makesage.rings.finite_rings
a namespace package by @mkoeppe in #35119 - Fix use of
sig_on()
/sig_off()
inCBF.integral()
by @mezzarobba in #35044 - Implementing q-commuting Laurent polynomials. by @tscrim in #35054
- Upgrade scipy to 1.10.1 by @mkoeppe in #35082
build/pkgs/pcre
: Remove by @mkoeppe in #35083- Upgrade polymake to 4.9 by @mkoeppe in #35085
- Move
single_valued
method of MZV to auxiliary F ring by @fchapoton in #35086 - Use enum for face iterator status by @kliem in #35087
sage.{algebras,combinat,matroids}
: Replace imports from sage.*.all for namespace packages by @mkoeppe in #35090- Fix and activate W391 in
pyx
files by @fchapoton in #35091 - Update GAP to 4.12.2 by @dimpase in #35093
- To determine
GAP_SO
,sage.env
looks forlibgap.so
but it should look forlibgap.so*
by @dimpase in #35094 - Simplicial set group by @miguelmarco in #35097
sage.{topology,homology}
: Replace imports fromsage.*.all
for namespace packages by @mkoeppe in #35098- New ABC
sage.structure.element.NumberFieldElement
,deprecate is_NumberFieldElement
by @mkoeppe in #35100 scip_backend
: Remove use of deprecatedsage.ext.memory_allocator
by @mkoeppe in #35101- Fix all pycodestyle E303 warnings in all folders
c*
by @fchapoton in #35151 - Update msolve to 0.4.9 by @dimpase in #35159
- Fix a slow doctest in
matrix_integer_dense_hnf.py
by @tornaria in #35162 - Fix the documentation for the so matrix Lie algebra by @tscrim in #35163
- Compute the matrix of an isogeny on a given n-torsion subgroup by @yyyyx4 in #35164
- Activate W293 and E714 in
pyx
files by @fchapoton in #35165 - Fix bug in
is_eulerian
by @dcoudert in #35170 - Speedup of Poset cha...
9.8
SageMath version 9.8 (released Feb 11, 2023)
Release Notes
- first release after our move from Trac to GitHub
- adds support for Python 3.11, removes support for GCC older than 8
- major new solvers, major package upgrades
- 402 tickets/PRs merged
What's Changed
Merged in sage-9.8.beta0:
#12696: Lorenz Panny: rename .rational_reconstruct() to .rational_reconstruction() for consistency [Reviewed by Kwankyu Lee]
#17965: Frédéric Chapoton: Uniformize the API to compute the inverse of an element [Reviewed by Travis Scrimshaw]
#20467: Frédéric Chapoton: stackoverflow in Maxima integral [Reviewed by Nils Bruin]
#29619: Matthias Koeppe: Matrix and Components should have a sparse iterator [Reviewed by Eric Gourgoulhon]
#30229: Matthias Koeppe: Submodules of TensorFreeModule defined by the symmetries of a Components object [Reviewed by Eric Gourgoulhon]
#30241: Matthias Koeppe: New implementation class FiniteRankDualFreeModule [Reviewed by Eric Gourgoulhon]
#32297: Linden Disney-Hogg: Abel-Jacobi map on Riemann surfaces [Reviewed by Nils Bruin, Travis Scrimshaw]
#32669: Dennis Jahn: Adding upper and lower Bruhat cones of M. Dyer to sage/combinat/root_system/reflection_group_real.py [Reviewed by Frédéric Chapoton, Travis Scrimshaw]
#32921: Gabriel F. Lipnik: k-recursive sequences with inhomogeneities [Reviewed by Clemens Heuberger]
#33002: Sébastien Labbé: Method tikz of polyhedron class can now return an object of type TikzPicture [Reviewed by Laith Rastanawi]
#33062: Matthias Koeppe: GH Actions (docker): Run a job for "make build-local" first, cache image for job "make build" [Reviewed by Dima Pasechnik]
#33093: John Palmieri: 5 doctests failing related to external program octave [Reviewed by Frédéric Chapoton]
#33431: Matthias Koeppe: Category of submodules of sage.modules.free_module.FreeModule_ambient_pid [Reviewed by Travis Scrimshaw]
#33613: Matthias Koeppe: Add pip packages to conda environments, add missing conda.txt files [Reviewed by Dima Pasechnik]
#33640: Frédéric Chapoton: sage fails to factor some easy expressions [Reviewed by David Lowry-Duda]
#33981: Matthias Koeppe: latte_int: ExponentialSubst.h:62:3: error: ISO C++17 does not allow dynamic exception specifications [Reviewed by John Palmieri]
#34118: Oscar Benjamin, Matthias Koeppe: Update sympy to 1.11.1 [Reviewed by Matthias Koeppe, Antonio Rojas, Eric Gourgoulhon]
#34195: Matthias Koeppe: sage.geometry.polyhedron: More # optional - sage.rings.number_field [Reviewed by Jonathan Kliem]
#34203: Matthias Koeppe: Find and uninstall broken installed SPKGs and wheels [Reviewed by John Palmieri]
#34228: Matthias Koeppe: tox -e docker-...-incremental [Reviewed by Dima Pasechnik]
#34235: Matthias Koeppe: Error in comparing two Symbolic Ring elements [Reviewed by Travis Scrimshaw]
#34242: Julian Rüth: Update docker build [Reviewed by MartinPepin]
#34266: Matthias Koeppe: Drop support for GCC < 8 in Sage 9.8 [Reviewed by Dima Pasechnik]
#34282: Sebastian Oehms, Kwankyu Lee: Make feature TeXFile check latex first [Reviewed by Kwankyu Lee, Sebastian Oehms]
#34287: Frédéric Chapoton: modernize super in crystals and asymptotics [Reviewed by Travis Scrimshaw]
#34290: Frédéric Chapoton: fix some W391 [Reviewed by Travis Scrimshaw]
#34313: David Coudert: pycodestyle cleanup in strongly_regular_db.pyx (part 3) [Reviewed by Kwankyu Lee]
#34320: Frédéric Chapoton: fix E251 in schemes [Reviewed by David Coudert]
#34323: Frédéric Chapoton: fix E251 in groups [Reviewed by David Coudert]
#34342: Frédéric Chapoton: fix various suggestions by lgtm [Reviewed by David Coudert]
#34345: Trevor K. Karn: Method to get cells in horizontal/vertical border strip [Reviewed by Travis Scrimshaw]
#34350: Travis Scrimshaw: speed up powers of lazy Taylor series [Reviewed by Martin Pepin]
#34379: Travis Scrimshaw: Implement a hook to access free (graded) resolutions [Reviewed by Kwankyu Lee]
#34393: Frédéric Chapoton: add method "tensor_factors" to tensor products [Reviewed by Matthias Koeppe, Travis Scrimshaw]
#34412: Travis Scrimshaw: q-commuting polynomials [Reviewed by Frédéric Chapoton]
#34427: Matthias Koeppe: TensorFreeModule.isomorphism_with_fixed_basis [Reviewed by Eric Gourgoulhon]
#34449: Matthias Koeppe: Add package pyproject_metadata [Reviewed by François Bissey]
#34451: Matthias Koeppe: sage.tensor: Canonicalize sym, antisym [Reviewed by Eric Gourgoulhon]
#34453: Travis Scrimshaw: Tensor products of commutative algebras do not know they are commutative rings [Reviewed by Frédéric Chapoton]
#34466: Lorenz Panny: fix various linter errors [Reviewed by Frédéric Chapoton]
#34467: Lorenz Panny: fix random doctest failure in EllipticCurveHom_velusqrt [Reviewed by Kwankyu Lee]
#34474: Eric Gourgoulhon: Make FiniteRankFreeModule.tensor_module(0, 1) return the dual [Reviewed by Matthias Koeppe]
#34478: Matthias Koeppe: pynormaliz: Add distros information for conda, arch [Reviewed by Isuru Fernando]
#34484: Matthias Koeppe: Methods quotient, quotient_module are not the same for some modules from sage.modules [Reviewed by John Palmieri, Travis Scrimshaw]
#34490: Thierry Monteil: sage --package clean
command to remove outdated source tarballs [Reviewed by David Coudert]
#34491: Matthias Koeppe: Upgrade igraph to 0.9.10 [Reviewed by David Coudert]
#34494: Frédéric Chapoton: better monomials in shuffle algebras [Reviewed by Travis Scrimshaw]
#34495: Matthias Koeppe: Construction for invariant/equivariant submodules [Reviewed by Travis Scrimshaw]
#34498: Matthias Koeppe: Update igraph, python_igraph to 0.10.x [Reviewed by David Coudert]
#34505: Frédéric Chapoton: using items in indexed_elements.pyx [Reviewed by Travis Scrimshaw]
#34509: Matthias Koeppe: Make IndexedFreeModuleElement compatible with collections.abc, change method support to return a SupportView [Reviewed by Travis Scrimshaw]
#34510: Trevor K. Karn: Add to check for fixed total/length in IntegerVector [Reviewed by Travis Scrimshaw]
#34514: David Roe: Incorrect decomposition type for relative number fields [Reviewed by Travis Scrimshaw]
#34519: Marc Mezzarobba: Fix + extend msolve interface [Reviewed by Matthias Koeppe]
#34527: Trevor K. Karn: Make Composition
s into a collections.abc.Sequence
[Reviewed by Travis Scrimshaw, Matthias Köppe]
#34535: Trevor K. Karn: Segfault when floor dividing in infinite polynomial ring [Reviewed by Travis Scrimshaw]
#34541: Frédéric Chapoton: enhance free dendriform algebras [Reviewed by Travis Scrimshaw]
#34561: Jan Groenewald: Documentation: There is no package in debian/ubuntu called openssh [Reviewed by Matthias Koeppe]
#34568: Frédéric Chapoton: rename example to QuaternionicProjectivePlane [Reviewed by John Palmieri]
Merged in sage-9.8.beta1:
#21129: Paul Fili, Holly Krieger, Jing Guo: Arakelov-Zhang pairing of rational maps [Reviewed by Alexander Galarraga]
#25046: Lorenz Panny: Add warning for is_prime(n) that produce correct but unexpected output [Reviewed by Kwankyu Lee]
#31664: Matthias Koeppe: Add package msolve 0.4.4 (multivariate polynomial system solver) [Reviewed by Marc Mezzarobba]
#32483: Matthias Koeppe: Remove workarounds for packages that use flit_core or poetry_core as build system [Reviewed by John Palmieri]
#33805: Dima Pasechnik: use Homebrew's primecount [Reviewed by Matthias Koeppe]
#33812: Matthias Koeppe: Refactor distributions sagemath-{objects,categories} through sagemath-{environment,repl} [Reviewed by Kwankyu Lee]
#33850: Sophia Elia: Unstable doctests in equivariant Ehrhart methods [Reviewed by Matthias Koeppe]
#33999: Xavier Caruso: Reduced charpoly for skew polynomials [Reviewed by Travis Scrimshaw, Frédéric Chapoton]
#34110: Matthias Koeppe: numpy 1.23.x [Reviewed by Dima Pasechnik, John Palmieri]
#34212: Jing Guo: log_embedding
for number field elements [Reviewed by Alexander Galarraga]
#34272: Matthias Koeppe: Update pip to 22.2.2 [Reviewed by Kwankyu Lee]
#34314: David Coudert: pycodestyle cleanup in strongly_regular_db.pyx (part 4) [Reviewed by Matthias Koeppe]
#34344: Matthias Koeppe: Update setuptools 63.4.3, setuptools_wheel 65.x, tomlkit 0.11.4, importlib_resources 5.9.0, importlib_metadata 4.12.0, distlib 0.3.6, hatchling 1.10.0, pathspec 0.10.1 [Reviewed by John Palmieri]
#34358: David Coudert: pycodestyle cleanup in src/sage/graphs/generic_graph.py (part 4) [Reviewed by Kwankyu Lee]
#34375: Travis Scrimshaw: Replace sage.algebras.yangian.GeneratorIndexingSet with cartesian_product [Reviewed by Matthias Koeppe]
#34383: Martin Rubey: revert for LazyTaylorSeries and LazySymmetricFunction is missing [Reviewed by Travis Scrimshaw]
#34392: David Coudert: pycodestyle cleanup in src/sage/graphs/generic_graph.py (part 5) [Reviewed by Matthias Koeppe]
#34409: Lorenz Panny: remove experimental warning for composite elliptic-curve isogenies [Reviewed by Kwankyu Lee]
#34413: Martin Rubey: implement derivatives of lazy series [Reviewed by Travis Scrimshaw]
#34422: Martin Rubey: implement functorial composition of lazy symmetric functions [Reviewed by Travis Scrimshaw]
#34423: Martin Rubey: implement arithmetic product of lazy symmetric functions [Reviewed by Travis Scrimshaw]
#34432: Samuel Lelièvre: Upgrade: jupyter-packaging 0.12.3 [Reviewed by Matthias Koeppe]
#34435: Trevor K. Karn: Add method to trim trailing zeros from IntegerVector [Reviewed by Travis Scrimshaw]
#34448: Matthias Koeppe: Put tensor modules of FiniteRankFreeModule in Modules().TensorProducts() [Reviewed by Eric Gourgoulhon]
#34454: Matthias Koeppe: sage --package create: Add option --source wheel [Reviewed by Kwankyu Lee]
#34462: Kwankyu Lee: Uniformize the headline: finite rings [Reviewed by Matthias Koeppe]
#34465: John Palmieri: Invalid escape sequence in special.py [Reviewed by Dima Pasechnik]
#34468: Fr...
9.7
SageMath version 9.7 (released Sep 19, 2022)
Release Notes
- removes support for GCC older than 6.3, removes support for Python 3.7
- new code in algebra, number theory, elliptic curves; major package upgrades; new developer tools
- 549 tickets (PRs) merged, 92 contributors
9.6
SageMath 9.6 (released May 16, 2022)
Release Notes
- adds support for GCC 12; major package upgrades
- major improvements to user interface and graphics; new developer tools
- 497 tickets (PRs) merged, 83 contributors
9.5
SageMath version 9.5 (released Jan 30, 2022)
Release Notes
- adds support for Apple M1, Linux distributions using glibc ≥ 2.34, and system Python 3.10
- new code from 2021 Google Summer of Code projects in algebra and number theory
- 663 tickets (PRs) merged, 94 contributors
9.4
SageMath 9.4 (released Aug 22, 2021)
Release Notes
- adds support for GCC 11, removes support for Python 3.6
- major advances in symbolics, convex and differential geometry, knot theory, coding theory
- 442 tickets (PRs) merged, 73 contributors
9.3
SageMath 9.3 (released May 9, 2021)
Release Notes
- adds support for macOS 11 "Big Sur"
- major package upgrades
- 679 tickets (PRs) merged, 112 contributors