10.1
SageMath version 10.1 (released Aug 20, 2023)
Release Notes
- major package upgrades; new development tools
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 #35701
tox.ini
/ GH Actions: Removegentoo-python3.9
by @sheerluck in #35705- New workflow for synchronization of labels by @soehms in #35172
- Adding support for subschemes in
_is_preperiodic
by @MatheMagicianPi in #35483 - Add "informational: true" to
.codecov.yml
by @kwankyu in #35544 - Laurent polynomial/series modularization fixes by @mkoeppe in #35554
- Implementing the Casimir elements of a finite dimensional Lie algebra by @tscrim in #35590
- Sparse strategies for composite elliptic-curve isogenies by @yyyyx4 in #34965
GenericGraph.adjacency_matrix
: usingsort=True
when getting vertices by @cyrilbouvier in #35245- Some cython-linting in quadratic forms by @fchapoton in #35709
- Fix all pep8 E251 in
combinat
by @fchapoton in #35711 - Fix pep8 E251 in rings/ by @fchapoton in #35712
- Provide
matrix_symbolic_sparse
class by @dimpase in #35714 sage.graphs
: More modularization by @mkoeppe in #35718- cython-lint for imports in
rings
(mostly inpadics
) by @fchapoton in #35721 - cython-lint for imports in
libs/
by @fchapoton in #35722 - Some pep8 cleanup in
rigged_configurations
by @fchapoton in #35723 build/pkgs/pyflakes
: Remove by @mkoeppe in #35731- More uses of
yield from
by @fchapoton in #35733 build/pkgs/maxima
: Fix parallel build by @mkoeppe in #35737configure
: Remove straystdin.info
file created in test by @mkoeppe in #35738- Avoid computation of Conway polynomials when comparing elliptic-curve morphisms by @yyyyx4 in #35494
- Allow non-minimal equation for padic heights by @chriswuthrich in #35614
- Update the rank function of elliptic curves to use
ellrank
in pari by @chriswuthrich in #35626 - Upgrade
networkx
to 3.1,igraph
/python_igraph
to 0.10.4 by @mkoeppe in #35671 - β¬οΈ Bump myrotvorets/set-commit-status-action from 1.1.6 to 1.1.7 by @dependabot in #35692
- GAP: switch some code to use official libgap APIs by @fingolfin in #35702
- Fix pep8 E251 in
categories
,coding
,crypto
,logic
by @fchapoton in #35710 - Update
symengine(_py)
to versions 0.10.0 and 0.10.1 by @dimpase in #35713 - Fix the linter and add more checks by @fchapoton in #35720
- Remove obsolete
.zenodo.json*
files, updateCITATION.cff
to fix zenodo/DOI by @dimpase in #35666 .github/workflows/docker.yml
: Remove defunct steps that refer to Trac by @mkoeppe in #35739- Clarification on the
MAX_MODULUS
of float matrices modulon
by @marizee in #35752 - Remove deprecated in #32894 python module
interfaces/primecount
by @dimpase in #35754 - Implementing the type B Ish arrangement. by @tscrim in #35757
sage.matrix.misc
: Split by library dependency by @mkoeppe in #35758- GAP: adapt
get_global
to use official libgap API by @fingolfin in #35760 - Fix all remaining E251 warnings by @fchapoton in #35764
- More fixes for superfluous cython imports by @fchapoton in #35765
- Fixing most E222 warnings in
py
files by @fchapoton in #35766 - Fix most E301 warnings by @fchapoton in #35768
- cylint: remove some unused variables in
rings/
by @fchapoton in #35770 - Getting rid of many uses of
xrange
inpyx
files by @fchapoton in #35772 - Document that GLPK/exact can be inexact by @ed359 in #35773
- cylint: no more
xrange
inmatroids
by @fchapoton in #35776 - Reduce dependency to rainbow in sage.graphs.graph_coloring by @dcoudert in #35780
- Adjust random tests for generators of elliptic curves by @chriswuthrich in #35787
- Doctester: Check for consistency of
# optional
annotations by @mkoeppe in #35620 - Implement the exceptional Jordan algebra by @tscrim in #35629
- CI Build & Test: First build incrementally and test changed files only by @mkoeppe in #35652
sage.matroids
: Modularization fixes by @mkoeppe in #35719- Fix some pep8 warnings in
modform_hecketriangle
by @fchapoton in #35724 - New feature annotations
# optional - sage.schemes sage.modular sage.libs.flint
etc. by @mkoeppe in #35728 sage.coding
: Modularization fixes, doctest cosmetics, add# optional
by @mkoeppe in #35729- Little refreshment of code in Weyl groups by @fchapoton in #35730
- Reference manual: Show modularized sagelib packages separately by @mkoeppe in #35734
- GAP: use
CALL_WITH_STREAM
to redirect output to string by @fingolfin in #35735 sage.combinat
: Split some Cython modules (modularization fixes) by @mkoeppe in #35741- Add a note on a doctest that randomly behaves by @kwankyu in #35751
- GAP: fix a comment by @fingolfin in #35759
sage.misc.misc
,sage.combinat
: Modularization fixes by @mkoeppe in #35564- Add a WSL prerequisites section by @Daniel-Khodabakhsh in #35843
- Correct deprecation messages by @dimpase in #35854
- Extend
MAX_MODULUS
ofmatrix_modn_dense_double.pyx
by @marizee in #35855 - Russian notation for tableaux and minor bug fix by @thecaligarmo in #35645
- Make Sage work with maxima 5.47 by @antonio-rojas in #35707
sage.combinat
: More# optional
annotations by @mkoeppe in #35742- Fix optional SnapPy doctests after #35665 by @soehms in #35755
- GAP: switch more code to offical libgap APIs by @fingolfin in #35761
- Modularization fixes for
fast_callable
interpreters by @mkoeppe in #35774 - Allow partial result in
minimal_model
, and translate OS-algebra to cdga by @miguelmarco in #35782 build/pkgs/onetbb
: Adddistros/opensuse.txt
by @mkoeppe in #35785- More arguments for
simplify
by @fchapoton in #35789 - Cleaning some things remaining from python 2 by @fchapoton in #35792
tox.ini
,.github/workflows/docker.yml
: Addalmalinux
by @mkoeppe in #35794- Fix copyright headers in function fields by @kwankyu in #35795
- Replace imports from
sage.geometry...all
, update relint pattern by @mkoeppe in #35798 - GAP: use libgap API for int conversion by @fingolfin in #35805
.github/workflows/doc-build.yml
: Fix generation ofCHANGES.html
by @mkoeppe in #35808- Ensure GCD in
normalize_coordinates
for projective morphisms by @guojing0 in #35809 sage.misc.timing
: Split out fromsage.misc.misc
by @mkoeppe in #35816- Fully get rid of
xrange()
inpyx
files by @fchapoton in #35818 - Advance the linter (add more checks) by @fchapoton in #35819
sage.features
: Declare features as "standard" explicitly by @mkoeppe in #35820- Most cython-lint suggestions fixed in
algebras/
by @fchapoton in #35822 - Fixes to support
numpy
1.25.0 by @tornaria in #35826 - Some pep8 fixes in
symbolic
(E305 and others) by @fchapoton in #35827 - Support
setuptools
68.0.0 by @tornaria in #35831 - Fix tests with
scipy
1.11 by @antonio-rojas in #35842 - Remove mention of defunct magic command "%bg" from the tutorial by @jhpalmieri in #35850
- Update to
bliss
0.77 by @antonio-rojas in #35344 sage -docbuild all FORMAT
: Runmake doc-FORMAT
by @mkoeppe in #35604- Hide features (PR to migrated Trac ticket #34185) by @soehms in #35668
pkgs/*/setup.cfg
: Reduce boilerplate by m4-include, reduce complexity of m4 use by @mkoeppe in #35867- Correct parent for square root of constant polynomial by @DaveWitteMorris in #35876
- cython-lint: some care for
groups/perm_gps
by @fchapoton in #35877 - Various cython-lint fixes in
algebras
,arith
,calculus
,categories
by @fchapoton in #35879 - cylint: some fixes in
combinat/(crystals,matrices,words)
by @fchapoton in #35880 - Fixing some pep8 warnings in schemes/toric by @fchapoton in #35892
- GAP: make libgap APIs for function calls available by @fingolfin in #35895
- Fix some pep8 in symbolic folder by @fchapoton in #35910
- PEP8 in
repl
by @fchapoton in #35911 - Removed warning no longer relevant since #21212 by @edgarcosta in #35912
- Fix weak Popov form testing by @vneiger in #35699
- Change
Rational
'sround
method default rounding from away to even by @vneiger in #35756 - Full pep8 for preparser + little refreshing by @fchapoton in #35783
- Implementing Golod complexes by @OP5642 in #35802
- Decouple tuple by @deinst in #35812
- Fix tests for
singular
4.3.2p2 by @tornaria in #35825 - Some pep8 for E272 in quadratic forms by @fchapoton in #35834
Integer.{perfect_power,is_prime_power,is_irreducible}
: Handle easy cases without PARI by @mkoeppe in #35847- Fix typos on the link to the
walkthrough.html
by @Jun-Hee-Lee in #35852 - GAP: stop using
T_CHAR
by @fingolfin in #35863 - CI build.yml, doc-build.yml: Fix handling of added files by @mkoeppe in #35865
- Minor typo in
Category
documentation by @thecaligarmo in #35868 - Put the actual description first in issue templates by @mezzarobba in #35295
- cylint: clean the file
ternary.pyx
by @fchapoton in #35925 - Update
mpmath
to 1.3.0 by @dimpase in #35929 - cython-lint for imports in
rings
by @fchapoton in #35937 bootstrap
: Accept SPKG arguments by @mkoeppe in #35950sage.combinat.cluster_algebra_quiver
: Modularization fixes, update# needs
by @mkoeppe in #35951- Links for Python standard errors using class role in
src/doc
by @fchapoton in #35955 - Return the points in the ring of integers after renormalization by @guojing0 in #35778
- Add rooted product of graphs by @dcoudert in #35824
- Update
barvinok
to 0.41.7, addupstream_url
by @dimpase in #35839 - Deprecate some imports by @jhpalmieri in #35841
- Allow
sphinx
<= 7.x and other conda related improvements by @tobiasdiez in #35845 - Return connected subgraphs with exactly k vertices by @deinst in #35864
- GAP: switch to libgap API for GAP function calls by @fingolfin in #35887
- Invariants are now linearly independent by @Bruno-TT in #35899
- Some pep8 fixes in
homology/
by @fchapoton in #35908 - Some pep8 fixes in
topology/
by @fchapoton in #35909 - Is fully commutative for Coxeter group elements by @fchapoton in #35915
- Some pep8 cleanup in schemes/affine and schemes/curves by @fchapoton in #35916
- Some pep8 fixes in combinat by @fchapoton in #35917
- pep8 cleanup in
modular/btquotients
andmodular/modsym
by @fchapoton in #35918 sage.matroids
: Update# needs
, modularization fixes for imports by @mkoeppe in #35919- Replace
basestring
bystr
in Cython files by @fchapoton in #35920 - Python-style syntax for loops in
lean_matrix.pyx
by @fchapoton in #35921 - Using python-style loops in
plot3d/*.pyx
by @fchapoton in #35922 - Some pycodestyle fixes in
sets/
by @fchapoton in #35923 - Some pep8 fixes in
functions/
by @fchapoton in #35924 - First sketch for callable factorisations by @fchapoton in #35928
- cython-lint: full fix in
cpython/
probability/
media/
andsat/
folders by @fchapoton in #35931 - Fix and activate pycodestyle E252 by @fchapoton in #35940
- Improve morphisms between Drinfeld modules by @xcaruso in #35527
- Guessing k-regular sequences by @dkrenn in #35682
sage.groups.perm_gps.partn_ref*
: Modularization fixes by @mkoeppe in #35881- Deprecate sorting by default in connected component methods for graphs by @dcoudert in #35891
- Deal with bad chosen representations of k-regular sequences by @dkrenn in #35896
complex_dynamics
, fix:mandelbrot_plot
throws exception for z^2*(z-c) + c by @ForrestHilton in #35900- Make
SubgraphSearch
robust to vertex labels by @dcoudert in #35904 sage.combinat.designs
: Modularization fixes, update# needs
by @mkoeppe in #35943- Fix several issues in
find_hamiltonian
by @dcoudert in #35956 sage.rings.function_field
: Update# needs
by @mkoeppe in #35957- Fix documentation formatting problem:
kRegularSequence.partial_sums
by @cheuberg in #35962 - Minor changes in
is_chordal
by @dcoudert in #35965 src/sage/schemes/projective/proj_bdd_height.py
: Fix markup by @mkoeppe in #35974- Move
hilbert_numerator
test to its proper place by @antonio-rojas in #35977 - Improve getting matrix entries after permutation in
_palp_PM_max()
by @xuluze in #35997 - New modularized distributions sagemath-{sirocco,bliss,meataxe,mcqd,coxeter3,tdlib} by @mkoeppe in #35661
- Add style guide / reference for
# optional - sage....
doctest tags, extendsage -t
andsage -fixdoctests
for modularization tasks by @mkoeppe in #35749 - Implement basic j-invariants of Drinfeld modules by @DavidAyotte in #35057
- Run pytest for src tree if no filename is given by @kwankyu in #35999
- Partial cython-lint cleanup in
mod_sym_num
by @fchapoton in #36002 pkgs/sagemath-meataxe/README.rst
: Remove markup unknown to PyPI by @mkoeppe in #36003- Minor cleanup in binary quadratic forms over
ZZ
by @fchapoton in #36007 - Regular sequence: closing experimental phase of regular sequence module by @dkrenn in #36011
pkgs/sagemath*
: Excludeall__*.py
files of other distributions by @mkoeppe in #36015- CI Build & Test: Fix test errors involving optional packages
coxeter3
, ... by @mkoeppe in #36016 sage -fixdoctests
: Handle directory names, callsage -t
only once by @mkoeppe in #36024sage.graphs
: Update# needs
, use block-scoped tags by @mkoeppe in #36026sage.calculus
: Modularization fixes, doctest cosmetics,# needs
by @mkoeppe in #35717- GAP: revise
make_gap_list
,make_gap_matrix
by @fingolfin in #35862 - Avoid messing with the recursion limit by @mezzarobba in #35882
- Regular sequences: implement convolution / ring structure by @dkrenn in #35894
- Note about docker in
README.md
by @fchapoton in #35958 - Some details in
dirichlet.py
by @fchapoton in #35959 - Refresh
descent_two_isogeny.pyx
by @fchapoton in #35979 - Adapt to new Singular sat API by @antonio-rojas in #35980
- Fix evaluation of isogenies on points of infinite order by @JohnCremona in #35984
- Regular sequences: use "positive" partial sums algorithm by @dkrenn in #36001
- Fix accidental damage to
classical_geometries.py
from 94bca97 by @dimpase in #36017 - Some improvements in
sage/graphs/orientations.py
by @dcoudert in #35981 - Some care in
sage/graphs/domination.py
by @dcoudert in #35982 - Use
# optional - gap_package_grape
etc. instead of# optional - gap_packages
by @mkoeppe in #36025 - Fix pycodestyle warning E721 by @jhpalmieri in #36032
sage.geometry
: Update# needs
, use block-scoped tags by @mkoeppe in #36033- Fix block-scoped doctest tags with
\
line continuations by @mkoeppe in #36034 - cython-lint : further fixes in quadratic forms by @fchapoton in #36035
- Fix E721 warnings for
.pyx
files by @jhpalmieri in #36036 sage.typeset
: Update# needs
by @mkoeppe in #36037sage.plot
: Add/update# needs
by @mkoeppe in #36038- cylint: some details in
arith
,algebras
andcrypto
folders by @fchapoton in #36039 - Fix failing doctest in
sage/graphs/bliss.pyx
by @dcoudert in #36040 sage.rings.number_field
: Modularization fixes, doctest cosmetics,# needs
by @mkoeppe in #36044sage.rings.polynomial
: Modularization fixes,# needs
by @mkoeppe in #36045sage.{topology,homology}
: Update # needs, modularization fixes by @mkoeppe in #36051sage.rings.{padics,valuation}
: Modularization fixes,# needs
by @mkoeppe in #36052sage.rings.finite_rings
: Modularization fixes,# needs
by @mkoeppe in #36056- Fix typo in docstring by @JohnCremona in #36062
- Fix link to tutorial in PDF docs. This fixes #35736. by @jhpalmieri in #36066
- Speed-up matrix construction by ensuring
MatrixArgs
typeMA_ENTRIES_ZERO
by @vneiger in #36068 - Small cleanup of
triangulation/base.pyx
by @fchapoton in #36072 - Stop sorting
Graph
vertices and edges by default by @dcoudert in #36073 - Remove deprecation warnings renaming parameter
verbosity
toverbose
in graphs by @dcoudert in #36074 - Remove rename warning in
spanning_tree.pyx
by @dcoudert in #36075 - Remove deprecated parameter
circular
from methodis_planar
by @dcoudert in #36076 sage.graphs
: fix doctest warnings due to modularization by @dcoudert in #36077sage.{modular,schemes}
: Modularization fixes for imports; updatesage -fiximports
, add relint pattern by @mkoeppe in #35884- Add parameter
key
to methodsmultiple_edges
andedge_boundary
by @dcoudert in #35903 - Add
multiple=
option toEllipticCurvePoint_field.set_order()
by @yyyyx4 in #35935 - Improve method
reverse
for digraphs by @dcoudert in #35969
New Contributors
- @OP5642 made their first contribution in #35430
- @Bruno-TT made their first contribution in #35009
- @antonmosich made their first contribution in #35641
- @MatheMagicianPi made their first contribution in #35483
- @cyrilbouvier made their first contribution in #35245
- @ed359 made their first contribution in #35773
- @Daniel-Khodabakhsh made their first contribution in #35843
- @deinst made their first contribution in #35812
- @Jun-Hee-Lee made their first contribution in #35852
- @ForrestHilton made their first contribution in #35900
- @xuluze made their first contribution in #35997
Full Changelog: 10.0...10.1