Skip to content

Commit

Permalink
Squashed commit of the following:
Browse files Browse the repository at this point in the history
commit 1d08fd591fb1694aff33cf5047f890cb8bf3b0e4
Merge: 14a1e5c078 a03a19d0be
Author: Jackson Walters <[email protected]>
Date:   Tue Apr 9 15:10:30 2024 -0400

    Merge branch 'pr/37748' of https://github.com/jacksonwalters/sage into pr/37748

commit a03a19d0be7b13f6ed9d082ecdef692dfcfb100f
Author: Jackson Walters <[email protected]>
Date:   Tue Apr 9 14:58:25 2024 -0400

    Reapply "Squashed commit of the following:"

    This reverts commit 794503ca9f61504c80874e26d7cc71a37de4debc.

commit 794503ca9f61504c80874e26d7cc71a37de4debc
Author: Jackson Walters <[email protected]>
Date:   Tue Apr 9 14:56:20 2024 -0400

    Revert "Squashed commit of the following:"

    This reverts commit da28bff0c7bb201a2795bb8cc974df69239954ef.

commit da28bff0c7bb201a2795bb8cc974df69239954ef
Author: Jackson Walters <[email protected]>
Date:   Tue Apr 9 14:46:40 2024 -0400

    Squashed commit of the following:

    commit a047ccfd4c4454411027afb9dd0981d0ae4a8293
    Merge: cc1aa671e5 14a1e5c078
    Author: Jackson Walters <[email protected]>
    Date:   Tue Apr 9 14:41:10 2024 -0400

        Merge branch 'pr/37748' of https://github.com/jacksonwalters/sage into pr/37748

    commit cc1aa671e549388cc5d325cce8893062125c52dd
    Author: Jackson Walters <[email protected]>
    Date:   Tue Apr 9 14:39:37 2024 -0400

        Squashed commit of the following:

        commit 14a1e5c078d1684f751b9e7ef450f197e7bcf27f
        Author: Jackson Walters <[email protected]>
        Date:   Mon Apr 8 23:01:35 2024 -0400

            Update src/sage/combinat/symmetric_group_algebra.py

            Good idea.

            moved description from _dft_modular to dft docstring

            remove doctest with p=3, n=3

            Update src/sage/combinat/symmetric_group_algebra.py

            Update src/sage/combinat/symmetric_group_algebra.py

            Co-Authored-By: Travis Scrimshaw <[email protected]>

        commit f3807cb141bae308906295f605939d4b2b205a5a
        Merge: 9ad2152942 8ea5214695
        Author: Jackson Walters <[email protected]>
        Date:   Mon Apr 8 20:12:53 2024 -0400

            Merge branch 'develop' into pr/37748

        commit 8ea5214695f742eccd34bd88600771b7121cdb9f
        Author: Release Manager <[email protected]>
        Date:   Tue Apr 9 00:29:19 2024 +0200

            Updated SageMath version to 10.4.beta2

        commit 9ad2152942819a55c20d80485ad8cd8925969c6c
        Author: Jackson Walters <[email protected]>
        Date:   Mon Apr 8 13:38:43 2024 -0400

            double backslash for math

        commit 619a48dea00a0a67b8d4e542948200dc23e9589a
        Author: Jackson Walters <[email protected]>
        Date:   Mon Apr 8 13:33:00 2024 -0400

            add examples

        commit 527ae2670dd3a37b25a192ab49dad7f4c16dd5aa
        Author: Jackson Walters <[email protected]>
        Date:   Mon Apr 8 13:24:13 2024 -0400

            form should default to None

            if form is None, check if characteristic of field divides order of group. if so, it's the modular case, and we return the projection onto idempotents change-of-basis, i.e. the MFT. if not, use semi-normal form.

        commit 488e931da94f4872047ff8e839edc4a0c99b163e
        Author: Jackson Walters <[email protected]>
        Date:   Mon Apr 8 13:09:54 2024 -0400

            missing parantheses

        commit 7e96c904b6bc47d2108930c039b95a14155d425b
        Author: Jackson Walters <[email protected]>
        Date:   Mon Apr 8 13:00:57 2024 -0400

            Update src/sage/combinat/symmetric_group_algebra.py

            Co-authored-by: Travis Scrimshaw <[email protected]>

        commit cf27c64dff0b77c6cca162849ec923ae14f4920f
        Author: Jackson Walters <[email protected]>
        Date:   Mon Apr 8 13:00:14 2024 -0400

            Update src/sage/combinat/symmetric_group_algebra.py

            I thought I could do this, don't know why I convinced myself I needed flatten.

            Co-authored-by: Travis Scrimshaw <[email protected]>

        commit 92699f42eba524047b09d527981dab2456802958
        Author: Jackson Walters <[email protected]>
        Date:   Mon Apr 8 12:59:16 2024 -0400

            Update src/sage/combinat/symmetric_group_algebra.py

            Co-authored-by: Travis Scrimshaw <[email protected]>

        commit 68f2ef140f91356f55290d100ad8a5282f19c206
        Author: Jackson Walters <[email protected]>
        Date:   Mon Apr 8 12:58:30 2024 -0400

            Update src/sage/combinat/symmetric_group_algebra.py

            Co-authored-by: Travis Scrimshaw <[email protected]>

        commit 618d5e1a8cb11006ef9fa6642e33f06d5728d6ae
        Author: Jackson Walters <[email protected]>
        Date:   Mon Apr 8 12:57:18 2024 -0400

            Update src/sage/combinat/symmetric_group_algebra.py

            Co-authored-by: Travis Scrimshaw <[email protected]>

        commit 04db911e3f6a08b3be1bf5c295e913a40ee8b28a
        Author: Jackson Walters <[email protected]>
        Date:   Mon Apr 8 12:56:37 2024 -0400

            Update src/sage/combinat/symmetric_group_algebra.py

            I see, so "None" if the user doesn't specify, and we determine which form based on whether p|n!. Sounds good.

            Co-authored-by: Travis Scrimshaw <[email protected]>

        commit e86f79410ebda01b8a85598a5754f9c383336ae1
        Author: Jackson Walters <[email protected]>
        Date:   Mon Apr 8 11:09:57 2024 -0400

            add doctest to ensure issue 37751 is fixed

        commit f8c64d16b3d1c7b3d338d9d2339ae2e284df3c58
        Merge: aedd2f3927 3079e2d897
        Author: Jackson Walters <[email protected]>
        Date:   Mon Apr 8 10:55:44 2024 -0400

            Merge branch 'pr/37748' of https://github.com/jacksonwalters/sage into pr/37748

        commit aedd2f3927aac05dceeb97bd484afa82557652a8
        Author: Jackson Walters <[email protected]>
        Date:   Mon Apr 8 10:55:43 2024 -0400

            remove multiplication stars

        commit 3079e2d897396222b0f23784a4d07a40f25b3c1f
        Author: Jackson Walters <[email protected]>
        Date:   Mon Apr 8 10:54:38 2024 -0400

            Update src/sage/combinat/symmetric_group_algebra.py

            Co-authored-by: grhkm21 <[email protected]>

        commit b14565299a6f5a82e5fae5080de88b455ce696e5
        Author: Jackson Walters <[email protected]>
        Date:   Mon Apr 8 10:51:59 2024 -0400

            docstring lines are wrapped at 80 characters

            ensure each line is less than 80 characters

        commit e3fcc1f59c4668f88c184649c18627480365e646
        Author: Jackson Walters <[email protected]>
        Date:   Mon Apr 8 10:24:51 2024 -0400

            keep form argument

             keep form since there is a one year deprecation warning before removing arguments. show deprecation warning when default seminormal form is called, but suggest modular form which works in all cases

        commit 6d187b153b5b5c3e29fe07d9efe925e34bf5baa5
        Merge: 551139c09f c8d260a6fe
        Author: Release Manager <[email protected]>
        Date:   Sun Apr 7 23:34:58 2024 +0200

            gh-37764: ECM-related tests fail after an incremental build

            ### TL;DR:

            This is because setting the default ECMBIN=ecm is only done when using
            the configure test, but not when skipping the configure test because the
            spkg is already installed.

            ### Steps to reproduce:
            * ecm is not installed in the base os
            * Sage make distclean && make succeeeds
            * Tests succeed
            * re-running ./bootstrap && ./configure && make works
            * Tests now fail with PermissionError: [Errno 13] Permission denied: ''

            ### Dependencies
            See also:
             * https://github.com/sagemath/sage/pull/37701
             * https://github.com/sagemath/sage/pull/37011#issuecomment-2023089743

            URL: https://github.com/sagemath/sage/pull/37764
            Reported by: Volker Braun
            Reviewer(s): Matthias Köppe

        commit 71ad110e196d9f17934d030ce1c000e11b50fee8
        Author: Jackson Walters <[email protected]>
        Date:   Sun Apr 7 19:57:42 2024 -0400

            trigger GitHub actions

        commit c8d260a6fe37cb0379690e57dab6fd2a3d5d8048
        Author: Volker Braun <[email protected]>
        Date:   Sun Apr 7 22:13:11 2024 +0200

            Update build/pkgs/ecm/spkg-configure.m4

            Co-authored-by: Matthias Köppe <[email protected]>

        commit fbf896681da3ad1fad6c164e4d5a7cf452ec2eec
        Author: Volker Braun <[email protected]>
        Date:   Sun Apr 7 21:35:42 2024 +0200

            Update build/pkgs/ecm/spkg-configure.m4

            Co-authored-by: Matthias Köppe <[email protected]>

        commit 6531f7e415230d62fecd0a38fd804081341a9f32
        Author: Volker Braun <[email protected]>
        Date:   Sun Apr 7 21:35:38 2024 +0200

            Update build/pkgs/ecm/spkg-configure.m4

            Co-authored-by: Matthias Köppe <[email protected]>

        commit af0e24286a62a06d85e1baf49d0dc8f624965e5c
        Author: Volker Braun <[email protected]>
        Date:   Sun Apr 7 19:17:37 2024 +0200

            ECM-related tests fail after an incremental build

            This is because setting the default ECMBIN=ecm is only done when using
            the configure test, but not when skipping the configure test because
            the spkg is already installed.

            Steps to reproduce:
            * ecm is not installed in the base os
            * Sage make distclean && make succeeeds
            * Tests succeed
            * re-running ./bootstrap && ./configure && make works
            * Tests now fail with PermissionError: [Errno 13] Permission denied: ''

            See also:
             * https://github.com/sagemath/sage/pull/37701
             * https://github.com/sagemath/sage/pull/37011#issuecomment-2023089743

        commit 551139c09f26a5da96b1187c3f0dd17b8d80ef84
        Merge: 03be519274 547d502ed5
        Author: Release Manager <[email protected]>
        Date:   Sun Apr 7 14:00:43 2024 +0200

            gh-37763: Fix tolerance for scipy 1.13

            After updating scipy to 1.13:
            ```
            **********************************************************************
            File "pkgs/sagemath-standard/build/lib.linux-x86_64-cpython-
            312/sage/matrix/matrix_double_dense.pyx", line 3686, in
            sage.matrix.matrix_double_dense.Matrix_double_dense.exp
            Failed example:
                A.exp()  # tol 1.1e-14
            # needs sage.symbolic
            Expected:
                [-19.614602953804912 + 12.517743846762578*I   3.7949636449582176 +
            28.88379930658099*I]
                [ -32.383580980922254 + 21.88423595789845*I   2.269633004093535 +
            44.901324827684824*I]
            Got:
                [-19.61460295380496 + 12.517743846762578*I  3.7949636449581874 +
            28.88379930658104*I]
                [-32.38358098092232 + 21.884235957898436*I 2.2696330040934853 +
            44.901324827684896*I]
            Tolerance exceeded in 1 of 8:
                2.269633004093535 vs 2.2696330040934853, tolerance 3e-14 > 1.1e-14
            **********************************************************************
            ```

            This PR raises the tolerance to `3e-14` to fix this.

            ### :memo: Checklist

            - [x] The title is concise and informative.
            - [x] The description explains in detail what this PR is about.

            URL: https://github.com/sagemath/sage/pull/37763
            Reported by: Gonzalo Tornaría
            Reviewer(s): Antonio Rojas

        commit 03be519274f1e3aa424ea729f406180a10df1498
        Merge: 4d88e898e2 cd41d1e414
        Author: Release Manager <[email protected]>
        Date:   Sun Apr 7 14:00:37 2024 +0200

            gh-37755: src/sage/graphs/graph_decompositions/tdlib.pyx: Use -std=c++11

            <!-- ^ Please provide a concise and informative title. -->
            <!-- ^ Don't put issue numbers in the title, do this in the PR
            description below. -->
            <!-- ^ For example, instead of "Fixes #12345" use "Introduce new method
            to calculate 1 + 2". -->
            <!-- v Describe your changes below in detail. -->
            <!-- v Why is this change required? What problem does it solve? -->
            <!-- v If this PR resolves an open issue, please link to it here. For
            example, "Fixes #12345". -->

            This is needed with the current Xcode command line tools on macOS with
            boost from homebrew.

            Similar to
            https://github.com/sagemath/sage/pull/37646#issuecomment-2017108199

            ### :memo: Checklist

            <!-- Put an `x` in all the boxes that apply. -->

            - [x] The title is concise and informative.
            - [x] The description explains in detail what this PR is about.
            - [x] I have linked a relevant issue or discussion.
            - [ ] I have created tests covering the changes.
            - [ ] I have updated the documentation accordingly.

            ### :hourglass: Dependencies

            <!-- List all open PRs that this PR logically depends on. For example,
            -->
            <!-- - #12345: short description why this is a dependency -->
            <!-- - #34567: ... -->

            URL: https://github.com/sagemath/sage/pull/37755
            Reported by: Matthias Köppe
            Reviewer(s): David Coudert

        commit 4d88e898e203d9b7297d224f40d659c213701ccb
        Merge: 9971cec642 6722976389
        Author: Release Manager <[email protected]>
        Date:   Sun Apr 7 14:00:34 2024 +0200

            gh-37753: Added rank check to doctest in `.gauss_on_polys`

            Fixes #37732. Also removed assignment of vectors `v` in the same doctest
            since they are not used.

            URL: https://github.com/sagemath/sage/pull/37753
            Reported by: Sebastian A. Spindler
            Reviewer(s): Martin Rubey

        commit 9971cec64239679ee00ee7b22415b98ed53fbbf6
        Merge: 3df3305a64 80239bc925
        Author: Release Manager <[email protected]>
        Date:   Sun Apr 7 14:00:31 2024 +0200

            gh-37736: Reimplementing the Witt (Sym Func) change of basis, caches, and omega involution

            <!-- ^ Please provide a concise and informative title. -->
            <!-- ^ Don't put issue numbers in the title, do this in the PR
            description below. -->
            <!-- ^ For example, instead of "Fixes #12345" use "Introduce new method
            to calculate 1 + 2". -->
            <!-- v Describe your changes below in detail. -->
            <!-- v Why is this change required? What problem does it solve? -->
            <!-- v If this PR resolves an open issue, please link to it here. For
            example, "Fixes #12345". -->

            We reimplement the coercion from the Witt basis of symmetric functions
            to the $h$, $e$, and $p$ bases and their inverses by using the
            generating function identities and recursion for $w_n, h_n, e_n, p_n$
            and the mulitplicative basis property for the general shape (in
            particular, we attempt to minimize the number of multiplications and
            maximize the use of the cache by recursively splitting the partition by
            its smallest part). We cache the result using `@cached_method` instead
            of custom classes. We also deprecate the `coerce_*` inputs.

            We also take advantage that $\omega w_n = w_n$ when $n$ is odd to
            compute the omega involution. This extends to a faster computation of
            the antipode.

            ### :memo: Checklist

            <!-- Put an `x` in all the boxes that apply. -->

            - [x] The title is concise and informative.
            - [x] The description explains in detail what this PR is about.
            - [x] I have linked a relevant issue or discussion.
            - [x] I have created tests covering the changes.
            - [x] I have updated the documentation accordingly.

            ### :hourglass: Dependencies

            <!-- List all open PRs that this PR logically depends on. For example,
            -->
            <!-- - #12345: short description why this is a dependency -->
            <!-- - #34567: ... -->

            URL: https://github.com/sagemath/sage/pull/37736
            Reported by: Travis Scrimshaw
            Reviewer(s): Darij Grinberg, Martin Rubey

        commit 3df3305a6493f88ce86a1bc73e17c34ad01fbe33
        Merge: 01333dfec1 ddcb3e45ca
        Author: Release Manager <[email protected]>
        Date:   Sun Apr 7 14:00:27 2024 +0200

            gh-37725: Fix typo/phrasing in README.md

            <!-- ^ Please provide a concise and informative title. -->
            <!-- ^ Don't put issue numbers in the title, do this in the PR
            description below. -->
            <!-- ^ For example, instead of "Fixes #12345" use "Introduce new method
            to calculate 1 + 2". -->
            <!-- v Describe your changes below in detail. -->
            <!-- v Why is this change required? What problem does it solve? -->
            <!-- v If this PR resolves an open issue, please link to it here. For
            example, "Fixes #12345". -->

            - Removed the phrase "It assumes that you have already cloned the git
            repository" from the setup guide since the guide actually contains
            instructions on cloning the repository
            - Removed a random misplaced period

            ### :memo: Checklist

            <!-- Put an `x` in all the boxes that apply. -->

            - [x] The title is concise and informative.
            - [x] The description explains in detail what this PR is about.
            - [ ] I have linked a relevant issue or discussion.
            - [ ] I have created tests covering the changes.
            - [ ] I have updated the documentation accordingly.

            ### :hourglass: Dependencies

            <!-- List all open PRs that this PR logically depends on. For example,
            -->
            <!-- - #12345: short description why this is a dependency -->
            <!-- - #34567: ... -->

            URL: https://github.com/sagemath/sage/pull/37725
            Reported by: Faisal
            Reviewer(s): gmou3

        commit 01333dfec1ae7a518260c0178d4a0b254b886157
        Merge: bcbb58f10a 8378fe6fdd
        Author: Release Manager <[email protected]>
        Date:   Sun Apr 7 14:00:24 2024 +0200

            gh-37721: Renamed "ring" argument of matrix contructor to "base_ring"

            <!-- ^ Please provide a concise and informative title. -->
            <!-- ^ Don't put issue numbers in the title, do this in the PR
            description below. -->
            <!-- ^ For example, instead of "Fixes #12345" use "Introduce new method
            to calculate 1 + 2". -->
            <!-- v Describe your changes below in detail. -->
            <!-- v Why is this change required? What problem does it solve? -->
            <!-- v If this PR resolves an open issue, please link to it here. For
            example, "Fixes #12345". -->

            The matrix constructor used to accept ``ring`` as argument to specify a
            the base ring of a matrix.
            It now takes ``base_ring`` instead. ``ring`` is still accepted but
            deprecated (I added a deprecation in the code).
            This is for unification (``base_ring`` is what users expect from their
            experience with other classes).
            This solves @mkoeppe's issue #33380.

            ### :memo: Checklist

            <!-- Put an `x` in all the boxes that apply. -->

            - [x] The title is concise and informative.
            - [x] The description explains in detail what this PR is about.
            - [x] I have linked a relevant issue or discussion.
            - [x] I have created tests covering the changes.
            - [x] I have updated the documentation accordingly.

            ### :hourglass: Dependencies

            <!-- List all open PRs that this PR logically depends on. For example,
            -->
            <!-- - #12345: short description why this is a dependency -->
            <!-- - #34567: ... -->

            URL: https://github.com/sagemath/sage/pull/37721
            Reported by: SandwichGouda
            Reviewer(s): Matthias Köppe

        commit bcbb58f10a840f43c1359934b85bfef9c143731c
        Merge: 08d5d97336 9b3ddf95fd
        Author: Release Manager <[email protected]>
        Date:   Sun Apr 7 14:00:21 2024 +0200

            gh-37720: pkgs/sagemath-repl/pyproject.toml.m4: Declare extra 'sphinx'

            <!-- ^ Please provide a concise and informative title. -->
            <!-- ^ Don't put issue numbers in the title, do this in the PR
            description below. -->
            <!-- ^ For example, instead of "Fixes #12345" use "Introduce new method
            to calculate 1 + 2". -->
            <!-- v Describe your changes below in detail. -->
            <!-- v Why is this change required? What problem does it solve? -->
            <!-- v If this PR resolves an open issue, please link to it here. For
            example, "Fixes #12345". -->

            As discussed in
            https://github.com/sagemath/sage/pull/37589#issuecomment-2030456264, the
            Sage documentation system uses Sphinx to format the documentation in the
            terminal, for example in the help system.

            For the modularization project, a simple fallback for the case of Sphinx
            not being present was added.

            Here we declare the corresponding "extra" so that users can do `pip
            install sagemath-repl[sphinx]`.

            ### :memo: Checklist

            <!-- Put an `x` in all the boxes that apply. -->

            - [x] The title is concise and informative.
            - [x] The description explains in detail what this PR is about.
            - [x] I have linked a relevant issue or discussion.
            - [ ] I have created tests covering the changes.
            - [ ] I have updated the documentation accordingly.

            ### :hourglass: Dependencies

            <!-- List all open PRs that this PR logically depends on. For example,
            -->
            <!-- - #12345: short description why this is a dependency -->
            <!-- - #34567: ... -->

            URL: https://github.com/sagemath/sage/pull/37720
            Reported by: Matthias Köppe
            Reviewer(s):

        commit 08d5d97336d5cb87f4e9731b724b320e8cef771f
        Merge: 253169ff7b 5a61d3c103
        Author: Release Manager <[email protected]>
        Date:   Sun Apr 7 14:00:18 2024 +0200

            gh-37712: src/tox.ini (rst): Add missing Sphinx roles

            <!-- ^ Please provide a concise and informative title. -->
            <!-- ^ Don't put issue numbers in the title, do this in the PR
            description below. -->
            <!-- ^ For example, instead of "Fixes #12345" use "Introduce new method
            to calculate 1 + 2". -->
            <!-- v Describe your changes below in detail. -->
            <!-- v Why is this change required? What problem does it solve? -->
            <!-- v If this PR resolves an open issue, please link to it here. For
            example, "Fixes #12345". -->

            Fixes #37711

            ### :memo: Checklist

            <!-- Put an `x` in all the boxes that apply. -->

            - [x] The title is concise and informative.
            - [ ] The description explains in detail what this PR is about.
            - [x] I have linked a relevant issue or discussion.
            - [ ] I have created tests covering the changes.
            - [ ] I have updated the documentation accordingly.

            ### :hourglass: Dependencies

            <!-- List all open PRs that this PR logically depends on. For example,
            -->
            <!-- - #12345: short description why this is a dependency -->
            <!-- - #34567: ... -->

            URL: https://github.com/sagemath/sage/pull/37712
            Reported by: Matthias Köppe
            Reviewer(s): Frédéric Chapoton

        commit 253169ff7b83df66d20846983ac9ce2982f3a18e
        Merge: 35f34ee0f6 3dc65b5797
        Author: Release Manager <[email protected]>
        Date:   Sun Apr 7 14:00:16 2024 +0200

            gh-37707: Implement an iterator for absolute number fields

            <!-- ^ Please provide a concise and informative title. -->
            <!-- ^ Don't put issue numbers in the title, do this in the PR
            description below. -->
            <!-- ^ For example, instead of "Fixes #12345" use "Introduce new method
            to calculate 1 + 2". -->
            <!-- v Describe your changes below in detail. -->
            <!-- v Why is this change required? What problem does it solve? -->
            <!-- v If this PR resolves an open issue, please link to it here. For
            example, "Fixes #12345". -->

            We use the $\mathbb{Q}$ vector space structure. Although because of
            #37706, we go through `cartesian_product`.

            If there is an easy way to implement this in full generality (i.e., all
            number fields), please let me know.

            ### :memo: Checklist

            <!-- Put an `x` in all the boxes that apply. -->

            - [x] The title is concise and informative.
            - [x] The description explains in detail what this PR is about.
            - [x] I have linked a relevant issue or discussion.
            - [x] I have created tests covering the changes.
            - [x] I have updated the documentation accordingly.

            ### :hourglass: Dependencies

            <!-- List all open PRs that this PR logically depends on. For example,
            -->
            <!-- - #12345: short description why this is a dependency -->
            <!-- - #34567: ... -->

            URL: https://github.com/sagemath/sage/pull/37707
            Reported by: Travis Scrimshaw
            Reviewer(s): Matthias Köppe

        commit 35f34ee0f66904d9f2766b646664ae67cedd3aae
        Merge: 0a16c78b4e e077f1edf7
        Author: Release Manager <[email protected]>
        Date:   Sun Apr 7 14:00:11 2024 +0200

            gh-37703: Implement an is_nilpotent() method for matrices

            <!-- ^ Please provide a concise and informative title. -->
            <!-- ^ Don't put issue numbers in the title, do this in the PR
            description below. -->
            <!-- ^ For example, instead of "Fixes #12345" use "Introduce new method
            to calculate 1 + 2". -->
            <!-- v Describe your changes below in detail. -->
            <!-- v Why is this change required? What problem does it solve? -->
            <!-- v If this PR resolves an open issue, please link to it here. For
            example, "Fixes #12345". -->

            Checking if a matrix is nilpotent is a fundamental test that Sage is
            (surprisingly) missing. We check this by using the char poly.

            ### :memo: Checklist

            <!-- Put an `x` in all the boxes that apply. -->

            - [x] The title is concise and informative.
            - [x] The description explains in detail what this PR is about.
            - [x] I have linked a relevant issue or discussion.
            - [x] I have created tests covering the changes.
            - [x] I have updated the documentation accordingly.

            ### :hourglass: Dependencies

            <!-- List all open PRs that this PR logically depends on. For example,
            -->
            <!-- - #12345: short description why this is a dependency -->
            <!-- - #34567: ... -->

            URL: https://github.com/sagemath/sage/pull/37703
            Reported by: Travis Scrimshaw
            Reviewer(s): Frédéric Chapoton, Martin Rubey

        commit 0a16c78b4e2b677ba30b198fdc781d38e595c9d8
        Merge: 9d788cb197 7e8aa98fa6
        Author: Release Manager <[email protected]>
        Date:   Sun Apr 7 14:00:04 2024 +0200

            gh-37699: Add `approximate_closest_vector` to `IntegerLattice`, using Babai's nearest plane algorithm

            This PR implements Babai's nearest plane algorithm to find vectors close
            to a given vector in an integer lattice.

            I would appreciate if someone could verify the bound stated in the
            docstring, it is inferred from Babai's original paper but parameterized
            to use the `delta` parameter of the LLL algorithm.

            Ideas for improvements:
             - The doctest is currently the same as for `closest_vector`, this could
            be expanded
             - The `delta` parameter for LLL needs to be kept track of by the user.
            How "much" the basis has been reduced (i.e to how high a `delta` value)
            could be kept track of by the class and if a further reduction is needed
            for some given bound then it could be performed.

            ### :memo: Checklist

            <!-- Put an `x` in all the boxes that apply. -->

            - [x] The title is concise and informative.
            - [x] The description explains in detail what this PR is about.
            - [ ] I have linked a relevant issue or discussion.
            - [x] I have created tests covering the changes.
            - [x] I have updated the documentation accordingly.

            URL: https://github.com/sagemath/sage/pull/37699
            Reported by: TheBlupper
            Reviewer(s): grhkm21, TheBlupper

        commit 9d788cb19732f9f750c6d5a25c28ccb958414112
        Merge: 6925269840 d63ab2607e
        Author: Release Manager <[email protected]>
        Date:   Sun Apr 7 14:00:02 2024 +0200

            gh-37689: Fix changes.html in doc preview

            <!-- ^ Please provide a concise and informative title. -->
            <!-- ^ Don't put issue numbers in the title, do this in the PR
            description below. -->
            <!-- ^ For example, instead of "Fixes #12345" use "Introduce new method
            to calculate 1 + 2". -->
            <!-- v Describe your changes below in detail. -->
            <!-- v Why is this change required? What problem does it solve? -->
            <!-- v If this PR resolves an open issue, please link to it here. For
            example, "Fixes #12345". -->

            by changing the base doc url.

            The base doc url is where the doc preview for the released version is
            uploaded. It changed recently:
            https://github.com/sagemath/sage/issues/34874#issuecomment-1870589626,
            but we didn't fix accordingly here: [.ci/create-changes-
            html.sh](https://github.com/sagemath/sage/blob/develop/.ci/create-
            changes-html.sh)

            ### :memo: Checklist

            <!-- Put an `x` in all the boxes that apply. -->

            - [x] The title is concise and informative.
            - [x] The description explains in detail what this PR is about.
            - [ ] I have linked a relevant issue or discussion.
            - [ ] I have created tests covering the changes.
            - [ ] I have updated the documentation accordingly.

            ### :hourglass: Dependencies

            <!-- List all open PRs that this PR logically depends on. For example,
            -->
            <!-- - #12345: short description why this is a dependency -->
            <!-- - #34567: ... -->

            URL: https://github.com/sagemath/sage/pull/37689
            Reported by: Kwankyu Lee
            Reviewer(s):

        commit 6925269840b81d3a1085ae900037e71dfd440c87
        Merge: 12a003eddd 3b137b50a0
        Author: Release Manager <[email protected]>
        Date:   Sun Apr 7 13:59:59 2024 +0200

            gh-37688: typo

            Small typo

            URL: https://github.com/sagemath/sage/pull/37688
            Reported by: Dennis Yurichev
            Reviewer(s): Martin Rubey

        commit 12a003eddd08bcac14c88becd82bf52af599fe6c
        Merge: 3c9a67a2f0 6184336d73
        Author: Release Manager <[email protected]>
        Date:   Sun Apr 7 13:59:56 2024 +0200

            gh-37687: provide a construction functor using a single functor for families

            We enable sage to find common parents also when symmetric functions are
            involved. In particular, we provide a functorial construction that takes
            a commutative (coefficient) ring and produces a (commutative) ring of
            symmetric functions over this ring.

            For Macdonald polynomials and other symmetric functions that involve
            parameters we cheat a bit: the categories should actually be commutative
            rings with distinguished elements (namely, the parameters). However,
            having these is very likely overkill.

            This is an alternative to #37220, relying on individual construction
            functors instead of passing around strings, and #37686, which provides
            an individual functor for each family.

            URL: https://github.com/sagemath/sage/pull/37687
            Reported by: Martin Rubey
            Reviewer(s): Travis Scrimshaw

        commit 3c9a67a2f0f8d42c1167f7fa192c70d29cdf6766
        Merge: 1ab35e3a69 31645a4f35
        Author: Release Manager <[email protected]>
        Date:   Sun Apr 7 13:59:53 2024 +0200

            gh-37683: some shortcuts using bool

            fixes suggested by `ruff --select=SIM210`

            namely use `bool` for concision

            ### :memo: Checklist

            - [x] The title is concise and informative.
            - [x] The description explains in detail what this PR is about.

            URL: https://github.com/sagemath/sage/pull/37683
            Reported by: Frédéric Chapoton
            Reviewer(s): Matthias Köppe, Travis Scrimshaw

        commit 1ab35e3a696baf5a2fdd866a670c32611fa4a996
        Merge: 654ed08b89 449864f0af
        Author: Release Manager <[email protected]>
        Date:   Sun Apr 7 13:59:49 2024 +0200

            gh-37680: a few more uses of "in Fields()"

            Just replacing some tests by `R in Fields()` in some pyx files outside
            the `rings` folder

            ### :memo: Checklist

            <!-- Put an `x` in all the boxes that apply. -->

            - [x] The title is concise and informative.
            - [x] The description explains in detail what this PR is about.

            URL: https://github.com/sagemath/sage/pull/37680
            Reported by: Frédéric Chapoton
            Reviewer(s): Matthias Köppe

        commit 654ed08b899e3a0bcd2d72a9ea66e5f1a96569a8
        Merge: 042153b0d9 a8671aef33
        Author: Release Manager <[email protected]>
        Date:   Sun Apr 7 13:59:44 2024 +0200

            gh-37679: simplifications in symmetric_ideal.py

            some simplifications in `symmetric_ideal`

            ### :memo: Checklist

            - [x] The title is concise and informative.
            - [x] The description explains in detail what this PR is about.

            URL: https://github.com/sagemath/sage/pull/37679
            Reported by: Frédéric Chapoton
            Reviewer(s): Matthias Köppe

        commit 042153b0d976f8ec7b7489c404a17084321e3e06
        Merge: 0de7848873 5d4a91fa85
        Author: Release Manager <[email protected]>
        Date:   Sun Apr 7 13:59:41 2024 +0200

            gh-37677: some simplifications in moment-angle complex

            a bunch of code details in the modified file

            fixes #36217

            ### :memo: Checklist

            - [x] The title is concise and informative.
            - [x] The description explains in detail what this PR is about.
            - [x] I have linked a relevant issue or discussion.

            URL: https://github.com/sagemath/sage/pull/37677
            Reported by: Frédéric Chapoton
            Reviewer(s): Travis Scrimshaw

        commit 0de7848873bcda21b916e13ad71dd0dbe6aa9ff0
        Merge: 014ccc31c4 e0ef88414d
        Author: Release Manager <[email protected]>
        Date:   Sun Apr 7 13:59:38 2024 +0200

            gh-37674: some pep8 and ruff cleanups in modules/

            some ruff and pep8 cleanup in the `modules` folder

            ### :memo: Checklist

            - [x] The title is concise and informative.
            - [x] The description explains in detail what this PR is about.

            URL: https://github.com/sagemath/sage/pull/37674
            Reported by: Frédéric Chapoton
            Reviewer(s): Travis Scrimshaw

        commit 014ccc31c4118b929bb46c0811331f828041aee4
        Merge: 93cc706453 42b4b671c3
        Author: Release Manager <[email protected]>
        Date:   Sun Apr 7 13:59:34 2024 +0200

            gh-37673: upgrade msolve to 0.6.5

            routine upgrade, dropping already applied patch

            URL: https://github.com/sagemath/sage/pull/37673
            Reported by: Dima Pasechnik
            Reviewer(s): Dima Pasechnik, Marc Mezzarobba, Matthias Köppe

        commit 93cc7064532b3456e5520833121e761078078576
        Merge: cf431c8d40 f9ddc324b8
        Author: Release Manager <[email protected]>
        Date:   Sun Apr 7 13:59:31 2024 +0200

            gh-37672: src/sage/modular/quasimodform/ring.py: Fix pycodestyle warning

            <!-- ^ Please provide a concise and informative title. -->
            <!-- ^ Don't put issue numbers in the title, do this in the PR
            description below. -->
            <!-- ^ For example, instead of "Fixes #12345" use "Introduce new method
            to calculate 1 + 2". -->
            <!-- v Describe your changes below in detail. -->
            <!-- v Why is this change required? What problem does it solve? -->
            <!-- v If this PR resolves an open issue, please link to it here. For
            example, "Fixes #12345". -->

            ### :memo: Checklist

            <!-- Put an `x` in all the boxes that apply. -->

            - [ ] The title is concise and informative.
            - [ ] The description explains in detail what this PR is about.
            - [ ] I have linked a relevant issue or discussion.
            - [ ] I have created tests covering the changes.
            - [ ] I have updated the documentation accordingly.

            ### :hourglass: Dependencies

            <!-- List all open PRs that this PR logically depends on. For example,
            -->
            <!-- - #12345: short description why this is a dependency -->
            <!-- - #34567: ... -->

            URL: https://github.com/sagemath/sage/pull/37672
            Reported by: Matthias Köppe
            Reviewer(s): Frédéric Chapoton

        commit cf431c8d40397205bb0f2e1f2843beec16788236
        Merge: 2c71f81f0d 378ec74794
        Author: Release Manager <[email protected]>
        Date:   Sun Apr 7 13:59:28 2024 +0200

            gh-37671: pkgs/sagemath-standard: Support gpep517

            From https://github.com/sagemath/sage/pull/37138#issuecomment-2018937633

            <!-- ^ Please provide a concise and informative title. -->
            <!-- ^ Don't put issue numbers in the title, do this in the PR
            description below. -->
            <!-- ^ For example, instead of "Fixes #12345" use "Introduce new method
            to calculate 1 + 2". -->
            <!-- v Describe your changes below in detail. -->
            <!-- v Why is this change required? What problem does it solve? -->
            <!-- v If this PR resolves an open issue, please link to it here. For
            example, "Fixes #12345". -->

            ### :memo: Checklist

            <!-- Put an `x` in all the boxes that apply. -->

            - [x] The title is concise and informative.
            - [ ] The description explains in detail what this PR is about.
            - [x] I have linked a relevant issue or discussion.
            - [ ] I have created tests covering the changes.
            - [ ] I have updated the documentation accordingly.

            ### :hourglass: Dependencies

            <!-- List all open PRs that this PR logically depends on. For example,
            -->
            <!-- - #12345: short description why this is a dependency -->
            <!-- - #34567: ... -->

            URL: https://github.com/sagemath/sage/pull/37671
            Reported by: Matthias Köppe
            Reviewer(s): François Bissey

        commit 2c71f81f0d804932deb11f3d28eb6e7962593076
        Merge: 5801382f06 b8757d814e
        Author: Release Manager <[email protected]>
        Date:   Sun Apr 7 13:59:24 2024 +0200

            gh-37668: Wrong results in is_isotopic method of the Link class for certain chiral link

            <!-- ^ Please provide a concise and informative title. -->
            <!-- ^ Don't put issue numbers in the title, do this in the PR
            description below. -->
            <!-- ^ For example, instead of "Fixes #12345" use "Introduce new method
            to calculate 1 + 2". -->
            <!-- v Describe your changes below in detail. -->
            <!-- v Why is this change required? What problem does it solve? -->
            <!-- v If this PR resolves an open issue, please link to it here. For
            example, "Fixes #12345". -->
            The following result is wrong, since `K10_67` is a chiral knot:

            ```
            sage: L = KnotInfo.K10_67
            ....: L1 = L.link()
            ....: L1r = L.link().reverse()
            ....: L1.is_isotopic(L1r)
            True
            ```

            The problem is that the `get_knotinfo` method currently does not
            distinguish between all four symmetry mutants of a chiral knot or link.
            In the example, `get_knotinfo` detects both knots as *not mirrored* to
            the symmetry mutant of `K10_67` recorded in the KnotInfo database, as
            you can see from the verbose messages:

            ```
            sage: set_verbose(1)
            sage: L1.is_isotopic(L1r)
            verbose 1 (4365: link.py, is_isotopic) KnotInfo other: KnotInfo.K10_67
            mirrored False
            True
            ```

            The wrong conclusion in `is_isotopic` is that they must be isotopic.

            The idea in this PR is to replace the boolean `mirrored` in the output
            of `get_knotinfo` with the value of an enum representing all symmetry
            mutants for an entry of the KnotInfo database. Of course, this requires
            major revisions in the `get_knotinfo` and `is_isotopic` methods. The key
            to this is a new local method `_knotinfo_matching_dict` that builds on
            `_knotinfo_matching_list` and returns the matching list for all symmetry
            mutants.

            On the occasion of that revision, I also fix other wrong results for
            example this one of a multi-component link which is not amphicheiral,
            but reversible:

            ```
            sage: L = KnotInfo.L6a2_0
            sage: L1 = L.link()
            sage: L2 = L.link(L.items.braid_notation)
            sage: L1.is_isotopic(L2)
            False
            ```

            This bug is due to `get_knotinfo` returning the wrong mirror version for
            `L1` concerning `L6a2_1`:

            ```
            ...
            sage: L1.get_knotinfo(unique=False)
            [(<KnotInfo.L6a2_0: 'L6a2{0}'>, False), (<KnotInfo.L6a2_1: 'L6a2{1}'>,
            False)]
            sage: L2.get_knotinfo(unique=False)
            [(<KnotInfo.L6a2_0: 'L6a2{0}'>, False), (<KnotInfo.L6a2_1: 'L6a2{1}'>,
            True)]
            ```

            In addition to these fixes, improvements and corresponding adjustments,
            I correct some document formatting.

            ### :memo: Checklist

            <!-- Put an `x` in all the boxes that apply. -->

            - [x] The title is concise and informative.
            - [x] The description explains in detail what this PR is about.
            - [ ] I have linked a relevant issue or discussion.
            - [x] I have created tests covering the changes.
            - [x] I have updated the documentation accordingly.

            ### :hourglass: Dependencies

            <!-- List all open PRs that this PR logically depends on. For example,
            -->
            <!-- - #12345: short description why this is a dependency -->
            <!-- - #34567: ... -->

            URL: https://github.com/sagemath/sage/pull/37668
            Reported by: Sebastian Oehms
            Reviewer(s): Sebastian Oehms, Travis Scrimshaw

        commit 5801382f0638c7c8f50ae5a906b85306e5350fb5
        Merge: cf365e5e51 bcc326d972
        Author: Release Manager <[email protected]>
        Date:   Sun Apr 7 13:59:11 2024 +0200

            gh-37667: Fix noexcept clauses (#37560)

            In #36507 I added a lot of `noexcept` clauses guided by a warning which
            is not quite right (see
            https://github.com/cython/cython/pull/5999#issuecomment-1986868208).

            A new warning in 3.0.9 shows the mistake (incorrectly added `noexcept`
            clauses). This broke some doctests (#37560) and a workaround was
            implemented for 10.3 (#37583) since we were too close to release.

            This PR now does the proper fix, removing all the incorrect `noexcept`,
            and also adding a few missing `noexcept`.

            Note: if one tries this PR with cython <= 3.0.8 it seems it's wrong in
            the sense that it will show 40k more warnings after the PR. These are
            *incorrect* warnings.

            If one uses cython 3.0.9 each of these 40k lines give a correct warning
            before this PR and an incorrect warnings after the PR, and there is no
            way to avoid 40k warnings.

            To confirm this PR is a good one, one needs to use cython 3.0.9 +
            https://github.com/cython/cython/pull/6087 or wait for cython 3.0.10. In
            this case, the warnings are correct and one will get 40k warnings before
            the PR and no warning after the PR.

            The last commit reverts the workaround from #37583 so we don't silence
            these warnings on `cython()` now that we have our own code right.

            @vbraun: this is "almost trivial" but touches too many files. Could we
            merge it in beta0 to avoid conflicts? I did this "kind of" automatically
            and I've been testing it for two weeks in almost all my builds. The
            changes made should not affect behaviour at all in the legacy mode we
            are using cython.

            ### :memo: Checklist

            <!-- Put an `x` in all the boxes that apply. -->

            - [x] The title is concise and informative.
            - [x] The description explains in detail what this PR is about.
            - [x] I have linked a relevant issue or discussion.

            URL: https://github.com/sagemath/sage/pull/37667
            Reported by: Gonzalo Tornaría
            Reviewer(s): Gonzalo Tornaría, Matthias Köppe

        commit cf365e5e51d30495f823ed928e0fe027166545d0
        Merge: 59bf21efe7 a47b98b32e
        Author: Release Manager <[email protected]>
        Date:   Sun Apr 7 13:59:08 2024 +0200

            gh-37663: sage/rings/{complex,real}*: Untitlecase titles, add refs to libraries

            <!-- ^ Please provide a concise and informative title. -->
            <!-- ^ Don't put issue numbers in the title, do this in the PR
            description below. -->
            <!-- ^ For example, instead of "Fixes #12345" use "Introduce new method
            to calculate 1 + 2". -->
            <!-- v Describe your changes below in detail. -->
            <!-- v Why is this change required? What problem does it solve? -->
            <!-- v If this PR resolves an open issue, please link to it here. For
            example, "Fixes #12345". -->

            This cleans up the table of contents
            https://deploy-preview-37663--
            sagemath.netlify.app/html/en/reference/rings_numerical/

            ### :memo: Checklist

            <!-- Put an `x` in all the boxes that apply. -->

            - [x] The title is concise and informative.
            - [ ] The description explains in detail what this PR is about.
            - [ ] I have linked a relevant issue or discussion.
            - [ ] I have created tests covering the changes.
            - [ ] I have updated the documentation accordingly.

            ### :hourglass: Dependencies

            <!-- List all open PRs that this PR logically depends on. For example,
            -->
            <!-- - #12345: short description why this is a dependency -->
            <!-- - #34567: ... -->

            - Depends on #37406 (merged here to resolve merge conflict)

            URL: https://github.com/sagemath/sage/pull/37663
            Reported by: Matthias Köppe
            Reviewer(s): Marc Mezzarobba

        commit 59bf21efe755cac20496bb417285a7e3545bc790
        Merge: 2fd04522f3 210c5d8389
        Author: Release Manager <[email protected]>
        Date:   Sun Apr 7 13:59:06 2024 +0200

            gh-37661: some cross-references btw doc of RR, RBF, ...

            (mainly intended to make RBF and CBF, which are the most powerful
            implementations for most purposes, more discoverable)

            URL: https://github.com/sagemath/sage/pull/37661
            Reported by: Marc Mezzarobba
            Reviewer(s):

        commit 2fd04522f3caaca5fff0f78f1f1dccc6c0027475
        Merge: 03f81897de 16a5261134
        Author: Release Manager <[email protected]>
        Date:   Sun Apr 7 13:59:02 2024 +0200

            gh-37660: Fix e302 libs pyx

            This is adding missing empty lines (pycodestyle E302) in pyx files in
            the `modules` and `libs` folders.

            Also some little tweak in code in the singular libs files.

            ### :memo: Checklist

            - [x] The title is concise and informative.
            - [x] The description explains in detail what this PR is about.

            URL: https://github.com/sagemath/sage/pull/37660
            Reported by: Frédéric Chapoton
            Reviewer(s): David Coudert

        commit 03f81897de2bf0aaf6b7fa82982b17251b0c9fd1
        Merge: 81b4ddccd1 23c45b1d61
        Author: Release Manager <[email protected]>
        Date:   Sun Apr 7 13:58:59 2024 +0200

            gh-37659: fix ruff codes UP012 and UP023

            scripted using `ruff` ; only two minor changes

            see https://docs.astral.sh/ruff/rules/#pyupgrade-up

            ### :memo: Checklist

            - [x] The title is concise and informative.
            - [x] The description explains in detail what this PR is about.

            URL: https://github.com/sagemath/sage/pull/37659
            Reported by: Frédéric Chapoton
            Reviewer(s): Matthias Köppe

        commit 81b4ddccd1de963f7731661106e1e425efd2e76b
        Merge: 74a82d7ce4 4fa6f09984
        Author: Release Manager <[email protected]>
        Date:   Sun Apr 7 13:58:54 2024 +0200

            gh-37655: Removed caching of determinant in LLL for the `NTL:LLL`-algorithm

            The method previously computed the square root of the squared
            determinant to cache, thus caching the absolute value of the determinant
            instead of the determinant. Therefore we remove this caching completely,
            which fixes #37236.

            URL: https://github.com/sagemath/sage/pull/37655
            Reported by: Sebastian A. Spindler
            Reviewer(s): Vincent Delecroix

        commit 74a82d7ce445d8d9e66595887e9fcdf40f838702
        Merge: 34539cdb4b 51d423d5a2
        Author: Release Manager <[email protected]>
        Date:   Sun Apr 7 13:58:52 2024 +0200

            gh-37652: fix typos and no "Algebra" in the doc

            This fixes a bunch of typos in the doc, and also rewrites one example to
            use `Parent` instead of the auld `Algebra`

            ### :memo: Checklist

            - [x] The title is concise and informative.
            - [x] The description explains in detail what this PR is about.

            URL: https://github.com/sagemath/sage/pull/37652
            Reported by: Frédéric Chapoton
            Reviewer(s): Matthias Köppe

        commit 34539cdb4b65fbb8f34f738c15f41a800de25141
        Merge: 7a5ba77a93 5f32f5f882
        Author: Release Manager <[email protected]>
        Date:   Sun Apr 7 13:58:49 2024 +0200

            gh-37651: use parent in asymptotic ring

            trying to use the modern `Parent` and categories in the asymptotic ring,
            instead of the auld `Algebra`

            ### :memo: Checklist

            - [x] The title is concise and informative.
            - [x] The description explains in detail what this PR is about.

            URL: https://github.com/sagemath/sage/pull/37651
            Reported by: Frédéric Chapoton
            Reviewer(s): Marc Mezzarobba

        commit 7a5ba77a93cef0ee7a44f4228070e48b890d2b73
        Merge: d4ab336474 4fa36454b5
        Author: Release Manager <[email protected]>
        Date:   Sun Apr 7 13:58:45 2024 +0200

            gh-37640: Modified `.is_reduced()` of `binary_qf.py` to avoid square root computation

            Adapted the checks in `.is_reduced()` to avoid the square root
            computation, which fixes #37635. Furthermore added a non-singularity
            check.

            This adaption is based on the observation that $$|\sqrt{D} - 2 \cdot
            |a|| < b < \sqrt{D}$$
            if and only if $$b > 0, \ a \cdot c < 0 \text{ and } (a-c)^2 < D$$
            are all satisfied simultaneously (where $D = b^2 - 4ac > 0$).

            The above can be proven in a straightforward manner by taking squares
            and square roots while making sure that the numbers being squared are
            always positive, so that inequalities are preserved.

            URL: https://github.com/sagemath/sage/pull/37640
            Reported by: Sebastian A. Spindler
            Reviewer(s): Lorenz Panny

        commit d4ab336474b9f40b9e7f637c9b3ba6ac8bbc2135
        Merge: 3c174ef6a6 bf0c3695cc
        Author: Release Manager <[email protected]>
        Date:   Sun Apr 7 13:58:41 2024 +0200

            gh-37639: add Legendre transform and suspension for lazy symmetric functions

            This adds two useful functions, particularly important when working with
            operads and Koszul duality.

            ### :memo: Checklist

            - [x] The title is concise and informative.
            - [x] The description explains in detail what this PR is about.
            - [ ] I have linked a relevant issue or discussion.
            - [x] I have created tests covering the changes.
            - [x] I have updated the documentation accordingly.

            URL: https://github.com/sagemath/sage/pull/37639
            Reported by: Frédéric Chapoton
            Reviewer(s): Martin Rubey, Travis Scrimshaw

        commit 3c174ef6a69d80e733dc7461b44fbc8b646ac30d
        Merge: 6ab45f666b d7021096c4
        Author: Release Manager <[email protected]>
        Date:   Sun Apr 7 13:58:38 2024 +0200

            gh-37638: use strings as label in modular-decomposition trees

            Fixing #37631

            and adding a note saying that labels of rooted trees must be comparable

            ### :memo: Checklist

            <!-- Put an `x` in all the boxes that apply. -->

            - [x] The title is concise and informative.
            - [x] The description explains in detail what this PR is about.
            - [ ] I have linked a relevant issue or discussion.
            - [x] I have created tests covering the changes.
            - [x] I have updated the documentation accordingly.

            URL: https://github.com/sagemath/sage/pull/37638
            Reported by: Frédéric Chapoton
            Reviewer(s): cyrilbouvier

        commit 6ab45f666ba665ee9a0c517233830bafbea544b9
        Merge: 8e26e27572 c4c26ee1bf
        Author: Release Manager <[email protected]>
        Date:   Sun Apr 7 13:58:36 2024 +0200

            gh-37637: Update jupyter-sphinx to version 0.5.3 and pin thebe to version 0.8.2

            <!-- ^ Please provide a concise and informative title. -->
            <!-- ^ Don't put issue numbers in the title, do this in the PR
            description below. -->
            <!-- ^ For example, instead of "Fixes #12345" use "Introduce new method
            to calculate 1 + 2". -->
            <!-- v Describe your changes below in detail. -->
            <!-- v Why is this change required? What problem does it solve? -->
            <!-- v If this PR resolves an open issue, please link to it here. For
            example, "Fixes #12345". -->

            jupyter-sphinx that we are shipping was patched to use thebe@latest,
            which is the cause of the current breakdown of the sage live doc.

            The patch to jupyter-sphinx is partly based on
            https://github.com/jupyter/jupyter-sphinx/pull/231

            ### :memo: Checklist

            <!-- Put an `x` in all the boxes that apply. -->

            - [x] The title is concise and informative.
            - [x] The description explains in detail what this PR is about.
            - [x] I have linked a relevant issue or discussion.
            - [ ] I have created tests covering the changes.
            - [ ] I have updated the documentation accordingly.

            ### :hourglass: Dependencies

            <!-- List all open PRs that this PR logically depends on. For example,
            -->
            <!-- - #12345: short description why this is a dependency -->
            <!-- - #34567: ... -->

            URL: https://github.com/sagemath/sage/pull/37637
            Reported by: Kwankyu Lee
            Reviewer(s): Matthias Köppe

        commit 8e26e27572073bc9f54839143f52d2d7e4c710e0
        Merge: 13a555d970 af97e6da28
        Author: Release Manager <[email protected]>
        Date:   Sun Apr 7 13:58:28 2024 +0200

            gh-37634: The Glaisher-Franklin bijections on integer partitions

            The Glaisher-Franklin bijections, for a positive integer $s$, map the
            set of parts divisible by $s$ to the set of parts which occur at least
            $s$ times, see https://www.findstat.org/MapsDatabase/Mp00312 for the
            $s=2$ case.

            This generalizes and streamlines the code from findstat.

            URL: https://github.com/sagemath/sage/pull/37634
            Reported by: Martin Rubey
            Reviewer(s): Martin Rubey, Travis Scrimshaw

        commit 13a555d970eefceddd20728c6a3275447713ea7e
        Merge: 58e8c578fd d45422e64e
        Author: Release Manager <[email protected]>
        Date:   Sun Apr 7 13:58:23 2024 +0200

            gh-37606: Border matrix

            <!-- ^ Please provide a concise and informative title. -->
            <!-- ^ Don't put issue numbers in the title, do this in the PR
            description below. -->
            <!-- ^ For example, instead of "Fixes #12345" use "Introduce new method
            to calculate 1 + 2". -->
            <!-- v Describe your changes below in detail. -->
            <!-- v Why is this change required? What problem does it solve? -->
            <!-- v If this PR resolves an open issue, please link to it here. For
            example, "Fixes #12345". -->
            Plain TeX users may remember `\bordermatrix`. Here we implement this as
            options of the `Matrix` class's `str` method.
            ```
                        sage: M = matrix([[1,2,3], [4,5,6], [7,8,9]])
                        sage: M.subdivide(None, 2)
                        sage: print(M.str(unicode=True,
                        ....:             top_border=['ab', 'cde', 'f'],
                        ....:             bottom_border=['*', '', ''],
                        ....:             left_border=[1, 10, 100],
                        ....:             right_border=['', ' <', '']))
                                    ab cde   f
                                 1⎛  1   2│  3⎞
                                10⎜  4   5│  6⎟ <
                               100⎝  7   8│  9⎠
                                     *
            ```

            Follow-up PR: As the guiding application for this feature, we equip
            finite-dimensional modules with basis with methods `_repr_matrix`,
            `_ascii_art_matrix`, `_unicode_art_matrix` that can be used as in this
            example:
            ```
                            sage: M = matrix(ZZ, [[1, 0, 0], [0, 1, 0]],
                            ....:            column_keys=['a', 'b', 'c'],
                            ....:            row_keys=['v', 'w']); M
                            Generic morphism:
                            From: Free module generated by {'a', 'b', 'c'} over
            Integer Ring
                            To:   Free module generated by {'v', 'w'} over Integer
            Ring
                            sage: M._unicode_art_ = M._unicode_art_matrix
                            sage: unicode_art(M)                            #
            indirect doctest
                                a b c
                              v⎛1 0 0⎞
                              w⎝0 1 0⎠
            ```

            ### :memo: Checklist

            <!-- Put an `x` in all the boxes that apply. -->

            - [x] The title is concise and informative.
            - [x] The description explains in detail what this PR is about.
            - [ ] I have linked a relevant issue or discussion.
            - [ ] I have created tests covering the changes.
            - [ ] I have updated the documentation accordingly.

            ### :hourglass: Dependencies

            <!-- List all open PRs that this PR logically depends on. For example,
            -->
            <!-- - #12345: short description why this is a dependency -->
            <!-- - #34567: ... -->

            URL: https://github.com/sagemath/sage/pull/37606
            Reported by: Matthias Köppe
            Reviewer(s): David Coudert, Matthias Köppe

        commit 58e8c578fdc79d94dba5de30ae3a5ba6c08630ef
        Merge: 294eed4041 c1d38c77d2
        Author: Release Manager <[email protected]>
        Date:   Sun Apr 7 13:58:20 2024 +0200

            gh-37563: trying a change in unique_representation

            namely break the loop over `mro` once found what we want

            I am not sure at all that this keeps the expected properties, but this
            is more efficient..

            ### :memo: Checklist

            - [x] The title is concise and informative.
            - [x] The description explains in detail what this PR is about.

            URL: https://github.com/sagemath/sage/pull/37563
            Reported by: Frédéric Chapoton
            Reviewer(s): Travis Scrimshaw

        commit 294eed4041447cb7420462f9548bc9195e376565
        Merge: 14da417689 def8e56c30
        Author: Release Manager <[email protected]>
        Date:   Sun Apr 7 13:58:17 2024 +0200

            gh-37546: Sphinx ext links for Sage source files

            <!-- ^ Please provide a concise and informative title. -->
            <!-- ^ Don't put issue numbers in the title, do this in the PR
            description below. -->
            <!-- ^ For example, instead of "Fixes #12345" use "Introduce new method
            to calculate 1 + 2". -->
            <!-- v Describe your changes below in detail. -->
            <!-- v Why is this change required? What problem does it solve? -->
            <!-- v If this PR resolves an open issue, please link to it here. For
            example, "Fixes #12345". -->

            In the documentation, we can now write `` :sage_root:`src/setup.py` ``
            or `` :sage_root:`src/doc/en/installation` ``, and it will be formatted
            uniformly, and a link to the file in the repository will be created.

            - Rebased version of #33756

            Fixes #33756.

            ### :memo: Checklist

            <!-- Put an `x` in all the boxes that apply. -->

            - [x] The title is concise and informative.
            - [ ] The description explains in detail what this PR is about.
            - [x] I have linked a relevant issue or discussion.
            - [ ] I have created tests covering the changes.
            - [ ] I have updated the documentation accordingly.

            ### :hourglass: Dependencies

            <!-- List all open PRs that this PR logically depends on. For example,
            -->
   …
  • Loading branch information
jacksonwalters committed Apr 9, 2024
1 parent ccc11b6 commit 94a1333
Show file tree
Hide file tree
Showing 1,749 changed files with 24,615 additions and 13,532 deletions.
2 changes: 1 addition & 1 deletion .ci/create-changes-html.sh
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@ echo '<script>hljs.highlightAll();</script>' >> CHANGES.html
cat >> CHANGES.html << EOF
<script>
document.addEventListener('DOMContentLoaded', () => {
const baseDocURL = 'https://sagemath.netlify.app'
const diffSite = 'https://pianomister.github.io/diffsite'
const baseDocURL = 'https://sagemath-tobias.netlify.app'
const diffParagraphs = document.querySelectorAll('p.diff');
diffParagraphs.forEach(paragraph => {
const rootURL = window.location.origin;
Expand Down
3 changes: 2 additions & 1 deletion .ci/merge-fixes.sh
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ for REPO in ${SAGE_CI_FIXES_FROM_REPOSITORIES:-sagemath/sage}; do
# Considered alternative: Use https://github.com/$REPO/pull/$a.diff,
# which squashes everything into one diff without commit metadata.
PULL_URL="https://github.com/$REPO/pull/$a"
PULL_SHORT="$REPO#$a"
PULL_FILE="$REPO_FILE-$a"
PATH=build/bin:$PATH build/bin/sage-download-file --quiet "$PULL_URL.patch" $PULL_FILE.patch
date -u +"%Y-%m-%dT%H:%M:%SZ" > $PULL_FILE.date # Record the date, for future reference
Expand All @@ -67,7 +68,7 @@ for REPO in ${SAGE_CI_FIXES_FROM_REPOSITORIES:-sagemath/sage}; do
git am --signoff --show-current-patch=diff
echo "--------------------------------------------------------------------8<-----------------------------"
echo "::endgroup::"
echo "Failure applying $PULL_URL as a patch, resetting"
echo "Failure applying $PULL_SHORT as a patch, resetting"
git am --signoff --abort
fi
done
Expand Down
5 changes: 2 additions & 3 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,12 @@
"vscode": {
"extensions": [
"guyskk.language-cython",
"ms-python.isort",
"ms-toolsai.jupyter",
"ms-python.vscode-pylance",
"ms-python.pylint",
"ms-python.python",
"lextudio.restructuredtext",
"trond-snekvik.simple-rst"
"trond-snekvik.simple-rst",
"charliermarsh.ruff"
]
}
}
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,13 +35,13 @@ jobs:
uses: actions/checkout@v4
- name: Merge CI fixes from sagemath/sage
run: |
.ci/merge-fixes.sh
mkdir -p upstream
.ci/merge-fixes.sh 2>&1 | tee upstream/ci_fixes.log
env:
GH_TOKEN: ${{ github.token }}
SAGE_CI_FIXES_FROM_REPOSITORIES: ${{ vars.SAGE_CI_FIXES_FROM_REPOSITORIES }}
- name: Store CI fixes in upstream artifact
run: |
mkdir -p upstream
if git format-patch --stdout test_base > ci_fixes.patch; then
cp ci_fixes.patch upstream/
fi
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/doc-build-pdf.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,13 @@ jobs:
uses: actions/checkout@v4
- name: Merge CI fixes from sagemath/sage
run: |
.ci/merge-fixes.sh
mkdir -p upstream
.ci/merge-fixes.sh 2>&1 | tee upstream/ci_fixes.log
env:
GH_TOKEN: ${{ github.token }}
SAGE_CI_FIXES_FROM_REPOSITORIES: ${{ vars.SAGE_CI_FIXES_FROM_REPOSITORIES }}
- name: Store CI fixes in upstream artifact
run: |
mkdir -p upstream
if git format-patch --stdout test_base > ci_fixes.patch; then
cp ci_fixes.patch upstream/
fi
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/doc-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,13 +24,13 @@ jobs:
uses: actions/checkout@v4
- name: Merge CI fixes from sagemath/sage
run: |
.ci/merge-fixes.sh
mkdir -p upstream
.ci/merge-fixes.sh 2>&1 | tee upstream/ci_fixes.log
env:
GH_TOKEN: ${{ github.token }}
SAGE_CI_FIXES_FROM_REPOSITORIES: ${{ vars.SAGE_CI_FIXES_FROM_REPOSITORIES }}
- name: Store CI fixes in upstream artifact
run: |
mkdir -p upstream
if git format-patch --stdout test_base > ci_fixes.patch; then
cp ci_fixes.patch upstream/
fi
Expand Down
50 changes: 43 additions & 7 deletions .github/workflows/docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -248,9 +248,8 @@ jobs:
- name: Copy logs from the Docker image or build container
run: |
mkdir -p "artifacts/$LOGS_ARTIFACT_NAME"
cp -r .tox/$TOX_ENV/Dockerfile .tox/$TOX_ENV/log "artifacts/$LOGS_ARTIFACT_NAME"
if [ -f .tox/$TOX_ENV/Dockertags ]; then CONTAINERS=$(docker create $(tail -1 .tox/$TOX_ENV/Dockertags) /bin/bash || true); fi
if [ -n "$CONTAINERS" ]; then for CONTAINER in $CONTAINERS; do for ARTIFACT in /sage/logs; do docker cp $CONTAINER:$ARTIFACT artifacts/$LOGS_ARTIFACT_NAME && HAVE_LOG=1; done; if [ -n "$HAVE_LOG" ]; then break; fi; done; fi
cp -r .tox/$TOX_ENV/* "artifacts/$LOGS_ARTIFACT_NAME"
rm -rf "artifacts/$LOGS_ARTIFACT_NAME"/{bin,lib,pyvenv.cfg}
if: always()
- uses: actions/upload-artifact@v3
with:
Expand All @@ -262,9 +261,46 @@ jobs:
run: |
.github/workflows/scan-logs.sh "artifacts/$LOGS_ARTIFACT_NAME"
if: always()
- name: List docker images
- name: List Docker images
run: |
if [ -f .tox/$TOX_ENV/Dockertags ]; then
cat .tox/$TOX_ENV/Dockertags
if [ -n "$DOCKER_PUSH_REPOSITORY" -a -f .tox/$TOX_ENV/Dockertags.pushed ]; then
set -- $(cat .tox/$TOX_ENV/Dockertags.pushed)
case $# in
1) images="image"; one_image="the image";;
*) images="images"; one_image="one of the images";;
esac
echo "::notice title=Docker $images pushed::Pushed $images $*)"
echo
echo "To pull $one_image and enter the container, type:"
echo
for TAG in $*; do
echo " \$ docker run -it $TAG bash"
done
echo
echo "To use $one_image as the base for an incremental build, type:"
echo
TOX_ENV_SANS_INCREMENTAL=${TOX_ENV/-incremental/}
DOCKER_IMAGE=${TOX_ENV_SANS_INCREMENTAL#docker-}
for TAG in $*; do
echo -n " \$"
if [ "$DOCKER_PUSH_REPOSITORY" != "ghcr.io/sagemath/sage/" ]; then
echo -n " FROM_DOCKER_REPOSITORY=$DOCKER_PUSH_REPOSITORY"
fi
eval DOCKER_TARGET=\${TAG#*$DOCKER_IMAGE-}
DOCKER_TARGET=${DOCKER_TARGET%:*}
if [ "$DOCKER_TARGET" != "with-targets" ]; then
echo -n " FROM_DOCKER_TARGET=$DOCKER_TARGET"
fi
echo " FROM_DOCKER_TAG=${TAG#*:} tox -e $TOX_ENV_SANS_INCREMENTAL-incremental"
done
elif [ -n "$DOCKER_PUSH_REPOSITORY" -a -f .tox/$TOX_ENV/Dockertags ]; then
echo "Unable to push Docker images to $DOCKER_PUSH_REPOSITORY."
echo "This is normal in a pull request to sagemath/sage or to another user's repository."
echo
echo "If you need Docker images, "
echo " - either run this GitHub Actions workflow in your repository fork"
echo " - or use the method described in https://doc.sagemath.org/html/en/developer/portability_testing.html#automatic-docker-based-build-testing-using-tox"
else
echo "No Docker images created."
fi
if: always()
if: always() && ${{ inputs.docker_push_repository }}
2 changes: 1 addition & 1 deletion .upstream.d/20-github.com-sagemath-sage-releases
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Upstream packages as uploaded as GitHub release assets.
# This file is automatically updated by the sage-update-version script.
https://github.com/sagemath/sage/releases/download/10.4/
https://github.com/sagemath/sage/releases/download/10.3/
https://github.com/sagemath/sage/releases/download/10.2/
https://github.com/sagemath/sage/releases/download/10.1/
3 changes: 2 additions & 1 deletion .vscode/extensions.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
// List of extensions which should be recommended for developers when a workspace is opened for the first time.
// See https://go.microsoft.com/fwlink/?LinkId=827846 to learn about workspace recommendations.
"recommendations": [
"ms-python.python"
"ms-python.python",
"charliermarsh.ruff"
],
}
5 changes: 0 additions & 5 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,6 @@
"--doctest-modules"
],
"python.testing.unittestEnabled": false,
"python.linting.pycodestyleEnabled": true,
"python.linting.enabled": true,
// The following pycodestyle arguments are the same as the pycodestyle-minimal
// tox environnment, see the file SAGE_ROOT/src/tox.ini
"python.linting.pycodestyleArgs": ["--select= E111,E21,E222,E225,E227,E228,E25,E271,E303,E305,E306,E401,E502,E701,E702,E703,E71,E72,W291,W293,W391,W605"],
"cSpell.words": [
"furo",
"Conda",
Expand Down
4 changes: 2 additions & 2 deletions CITATION.cff
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ title: SageMath
abstract: SageMath is a free open-source mathematics software system.
authors:
- name: "The SageMath Developers"
version: 10.3
version: 10.4.beta2
doi: 10.5281/zenodo.593563
date-released: 2024-03-19
date-released: 2024-04-08
repository-code: "https://github.com/sagemath/sage"
url: "https://www.sagemath.org/"
181 changes: 175 additions & 6 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,21 @@
# Code of Conduct #

Approved by the Sage community by a vote which ended on November 24, 2014
This Code was approved by the Sage community by a vote which ended on
March 31, 2024.

## Introduction ##

The Sage community is comprised of an international mixture of mathematicians,
computer scientists, engineers, researchers, teachers, amateurs, and others
with varied backgrounds. This diversity is one of our strengths, but it can
also lead to communication problems and unhappiness. People who love working on
Sage can more effectively collaborate with others if they follow this code.
Sage can more effectively collaborate with others if they follow this Code.

This document is complemented by a second, [the Code of Conduct
Committee Manual](/CODE_OF_CONDUCT_COMMITTEE.md), which describes the
roles and procedures for the Sage Code of Conduct Committee.

## Guidelines ##

1. Be friendly and patient.

Expand Down Expand Up @@ -35,8 +44,168 @@ Sage can more effectively collaborate with others if they follow this code.
forget that it is human to err. Blame alone gets us nowhere, it is better to
help resolve issues so we can all learn from our mistakes.

If you believe someone is violating the code of conduct, we ask that you report
it to https://groups.google.com/g/sage-abuse. The group administrators will
consider the issue and explore resolutions. It is also possible to move heated
discussions to https://groups.google.com/g/sage-flame.
5. We will not accept harassment or other exclusionary behavior, such as:

1. Violent or intimidating threats or language directed against another person.
2. Sexist, racist, or otherwise discriminatory jokes and language.
3. Posting sexually explicit or violent material.
4. Posting (or threatening to post) other people’s personally identifying information (“doxing”).
5. Personal insults, especially those using racist or sexist terms.
6. Unwelcome sexual attention or comments.
7. Excessive profanity. Please avoid swear words; people differ greatly in their sensitivity to swearing.
8. Repeated harassment of others. In general, if someone asks you to stop, then stop.
9. Advocating for, or encouraging, any of the above behavior.

This Code of Conduct applies to all spaces managed by the Sage
project, including all public and private mailing lists, issue
trackers, wikis, and any other communication channel used by our
community. It also applies to Sage Days and any other in-person or
virtual events.

This Code of Conduct should be honored by everyone who participates in
the Sage community formally or informally, or claims any affiliation
with the project, in any project-related activities, and, especially,
when representing the project, in any role.

This Code is neither exhaustive nor complete. It serves to distill our
common understanding of a collaborative, shared environment and
goals. Please try to follow this Code in spirit as much as in letter,
to create a friendly and productive environment that enriches the
surrounding community.

## Diversity statement ##

Sage welcomes and encourages participation in our community by people
of all backgrounds and identities. We are committed to promoting and
sustaining a culture that values mutual respect, tolerance, and
learning, and we work together as a community to help each other live
out these values.

No matter how you identify yourself or how others perceive you: we
welcome you. Though no list can hope to be comprehensive, we
explicitly honor diversity in: age, culture, ethnicity, genotype,
gender identity or expression, language, national origin, neurotype,
phenotype, political beliefs, profession, race, religion, sexual
orientation, socioeconomic status, subculture, and technical ability,
to the extent that these do not conflict with this Code of Conduct.

Though we welcome people fluent in all languages, Sage development is
conducted in English.

Standards for behavior in the Sage community are detailed in the Code
of Conduct above. Participants in our community should uphold these
standards in all their interactions and help others to do so as well.

## Reporting guidelines ##

We know that it is painfully common for internet communication to
start at or devolve into obvious and flagrant abuse. We also recognize
that sometimes people may have a bad day, or be unaware of some of the
guidelines in this Code of Conduct. Please keep this in mind when
deciding on how to respond to a breach of this Code.

For clearly intentional breaches, report those to the Sage Code of
Conduct Committee (see below). For possibly unintentional breaches,
you may reply to the person and point out this Code of Conduct (either
in public or in private, whatever is most appropriate). If you would
prefer not to do that, please feel free to report to the Sage Code of
Conduct Committee directly, or ask the committee for advice, in
confidence.

You can report issues to the Sage Code of Conduct Committee at
[email protected]. Currently, the committee consists of:

- Nils Bruin
- J-P Labbé
- John Palmieri
- Viviane Pons
- David Roe
- Julian Rüth

If your report involves any members of the committee, or if they feel
they have a conflict of interest in handling it, then they will recuse
themselves from considering your report. Alternatively, if, for any
reason, you feel uncomfortable making a report to the whole committee,
then you can also contact individual committee members.

## Incident reporting resolution & Code of Conduct enforcement ##

This section summarizes the most important points; more details can be
found in the Code of Conduct enforcement guide.

The Sage Code of Conduct Committee will investigate and respond to all
complaints. The committee will protect the identity of the reporter,
and treat the content of complaints as confidential (unless the
reporter agrees otherwise).

In case of severe and obvious breaches, e.g., personal threat or
violent, sexist or racist language, the committee will immediately
disconnect the originator from Sage communication channels; please see
the manual for details.

In cases not involving clear severe and obvious breaches of this Code
of Conduct, the process for acting on any received Code of Conduct
violation report will be:

- acknowledgement that the report has been received
- discussion within the committee
- discussion with and/or feedback provided to the reportee
- mediation (if feedback didn’t help, and only if both reporter and
reportee agree to this)
- enforcement via transparent decision by the Sage Code of Conduct Committee

The committee will respond to any report as soon as possible, and our
goal will be to respond within 72 hours.

Potential consequences for violating the Sage Code of Conduct include:

- Nothing (for example if the matter has been resolved publicly while
the committee was considering responses)
- Private feedback or reprimand to the individual(s) involved
- Warning the person to cease their behavior and that any further
reports will result in sanctions
- A public announcement that an incident occurred
- Mediation (only if both reporter and reportee agree)
- An imposed vacation (e.g. asking someone to "take a week off" from a mailing list)
- A permanent or temporary ban from some or all Sage spaces (mailing
lists, GitHub repos, in-person events, etc.)
- Assistance to the reporter with a report to other bodies, for
example, institutional offices or appropriate law enforcement
agencies
- Publishing an account of the harassment and calling for the
resignation of the alleged harasser from their responsibilities
(usually pursued by people without formal authority: may be called
for if the person is the event leader, or refuses to stand aside
from the conflict of interest, or similar)
- Any other response that the Sage Code of Conduct Committee deems necessary and
appropriate to the situation

## Policies and procedures of common project platforms ##

[GitHub Community Guidelines](https://docs.github.com/en/site-policy/github-terms/github-community-guidelines) apply:
- [Report abuse to GitHub](https://github.com/contact/report-abuse),
[Block a user from your personal account](https://docs.github.com/en/communities/maintaining-your-safety-on-github/blocking-a-user-from-your-personal-account)
- [Manage disruptive comments](https://docs.github.com/en/communities/moderating-comments-and-conversations/managing-disruptive-comments),
- [Lock conversations](https://docs.github.com/en/communities/moderating-comments-and-conversations/locking-conversations)
(requires Maintainer role or [Organization Moderator role](https://docs.github.com/en/organizations/managing-peoples-access-to-your-organization-with-roles/managing-moderators-in-your-organization))

Google groups:
- [Content policy](https://support.google.com/groups/answer/4561696)
- [Reporting procedures](https://support.google.com/groups/answer/81275)

## Amending the Code of Conduct ##

This document may be amended by a vote of the Sage
community in the sage-devel Google group, with the exception of facts
like the membership of the Sage Code of Conduct Committee, changes to
URLs, or changes to email addresses: changes like that can be done via
a normal pull request. Any pull requests involving this document
should list the committee members as reviewers.

## Credits ##

Portions of this are adapted from the
[SciPy code of
conduct](https://docs.scipy.org/doc/scipy/dev/conduct/code_of_conduct.html)
and the [NumFOCUS code of
conduct](https://numfocus.org/code-of-conduct).
Loading

0 comments on commit 94a1333

Please sign in to comment.