diff --git a/.devcontainer/portability-ubuntu-trusty-toolchain-gcc_9-minimal/devcontainer.json b/.devcontainer/portability-fedora-40-minimal/devcontainer.json similarity index 84% rename from .devcontainer/portability-ubuntu-trusty-toolchain-gcc_9-minimal/devcontainer.json rename to .devcontainer/portability-fedora-40-minimal/devcontainer.json index 7a250c6ba02..dd037154fe3 100644 --- a/.devcontainer/portability-ubuntu-trusty-toolchain-gcc_9-minimal/devcontainer.json +++ b/.devcontainer/portability-fedora-40-minimal/devcontainer.json @@ -3,12 +3,12 @@ // from .devcontainer/portability-devcontainer.json.in // See https://aka.ms/devcontainer.json for format details. { - "name": "ubuntu-trusty-toolchain-gcc_9-minimal (≥ 8-core)", + "name": "fedora-40-minimal (≥ 8-core)", "build": { "dockerfile": "portability-Dockerfile", // See tox.ini for definitions "args": { - "SYSTEM_FACTOR": "ubuntu-trusty-toolchain-gcc_9", + "SYSTEM_FACTOR": "fedora-40", "PACKAGE_FACTOR": "minimal", "DOCKER_TARGET": "with-targets", "DOCKER_TAG": "dev" diff --git a/.devcontainer/portability-opensuse-15.3-gcc_11-python3.9-minimal/portability-Dockerfile b/.devcontainer/portability-fedora-40-minimal/portability-Dockerfile similarity index 100% rename from .devcontainer/portability-opensuse-15.3-gcc_11-python3.9-minimal/portability-Dockerfile rename to .devcontainer/portability-fedora-40-minimal/portability-Dockerfile diff --git a/.devcontainer/portability-ubuntu-trusty-toolchain-gcc_9-standard/devcontainer.json b/.devcontainer/portability-fedora-40-standard/devcontainer.json similarity index 84% rename from .devcontainer/portability-ubuntu-trusty-toolchain-gcc_9-standard/devcontainer.json rename to .devcontainer/portability-fedora-40-standard/devcontainer.json index 41d1582c950..1f9d4a5e378 100644 --- a/.devcontainer/portability-ubuntu-trusty-toolchain-gcc_9-standard/devcontainer.json +++ b/.devcontainer/portability-fedora-40-standard/devcontainer.json @@ -3,12 +3,12 @@ // from .devcontainer/portability-devcontainer.json.in // See https://aka.ms/devcontainer.json for format details. { - "name": "ubuntu-trusty-toolchain-gcc_9-standard (≥ 8-core)", + "name": "fedora-40-standard (≥ 8-core)", "build": { "dockerfile": "portability-Dockerfile", // See tox.ini for definitions "args": { - "SYSTEM_FACTOR": "ubuntu-trusty-toolchain-gcc_9", + "SYSTEM_FACTOR": "fedora-40", "PACKAGE_FACTOR": "standard", "DOCKER_TARGET": "with-targets", "DOCKER_TAG": "dev" diff --git a/.devcontainer/portability-opensuse-15.3-gcc_11-python3.9-standard/portability-Dockerfile b/.devcontainer/portability-fedora-40-standard/portability-Dockerfile similarity index 100% rename from .devcontainer/portability-opensuse-15.3-gcc_11-python3.9-standard/portability-Dockerfile rename to .devcontainer/portability-fedora-40-standard/portability-Dockerfile diff --git a/.devcontainer/portability-opensuse-15.3-gcc_11-python3.9-minimal/devcontainer.json b/.devcontainer/portability-gentoo-python3.12-minimal/devcontainer.json similarity index 84% rename from .devcontainer/portability-opensuse-15.3-gcc_11-python3.9-minimal/devcontainer.json rename to .devcontainer/portability-gentoo-python3.12-minimal/devcontainer.json index f00b6b66a91..41250ac5e74 100644 --- a/.devcontainer/portability-opensuse-15.3-gcc_11-python3.9-minimal/devcontainer.json +++ b/.devcontainer/portability-gentoo-python3.12-minimal/devcontainer.json @@ -3,12 +3,12 @@ // from .devcontainer/portability-devcontainer.json.in // See https://aka.ms/devcontainer.json for format details. { - "name": "opensuse-15.3-gcc_11-python3.9-minimal (≥ 8-core)", + "name": "gentoo-python3.12-minimal (≥ 8-core)", "build": { "dockerfile": "portability-Dockerfile", // See tox.ini for definitions "args": { - "SYSTEM_FACTOR": "opensuse-15.3-gcc_11-python3.9", + "SYSTEM_FACTOR": "gentoo-python3.12", "PACKAGE_FACTOR": "minimal", "DOCKER_TARGET": "with-targets", "DOCKER_TAG": "dev" diff --git a/.devcontainer/portability-opensuse-15.4-gcc_11-python3.10-minimal/portability-Dockerfile b/.devcontainer/portability-gentoo-python3.12-minimal/portability-Dockerfile similarity index 100% rename from .devcontainer/portability-opensuse-15.4-gcc_11-python3.10-minimal/portability-Dockerfile rename to .devcontainer/portability-gentoo-python3.12-minimal/portability-Dockerfile diff --git a/.devcontainer/portability-opensuse-15.3-gcc_11-python3.9-standard/devcontainer.json b/.devcontainer/portability-gentoo-python3.12-standard/devcontainer.json similarity index 84% rename from .devcontainer/portability-opensuse-15.3-gcc_11-python3.9-standard/devcontainer.json rename to .devcontainer/portability-gentoo-python3.12-standard/devcontainer.json index 2444967bdad..3193910dd6a 100644 --- a/.devcontainer/portability-opensuse-15.3-gcc_11-python3.9-standard/devcontainer.json +++ b/.devcontainer/portability-gentoo-python3.12-standard/devcontainer.json @@ -3,12 +3,12 @@ // from .devcontainer/portability-devcontainer.json.in // See https://aka.ms/devcontainer.json for format details. { - "name": "opensuse-15.3-gcc_11-python3.9-standard (≥ 8-core)", + "name": "gentoo-python3.12-standard (≥ 8-core)", "build": { "dockerfile": "portability-Dockerfile", // See tox.ini for definitions "args": { - "SYSTEM_FACTOR": "opensuse-15.3-gcc_11-python3.9", + "SYSTEM_FACTOR": "gentoo-python3.12", "PACKAGE_FACTOR": "standard", "DOCKER_TARGET": "with-targets", "DOCKER_TAG": "dev" diff --git a/.devcontainer/portability-opensuse-15.4-gcc_11-python3.10-standard/portability-Dockerfile b/.devcontainer/portability-gentoo-python3.12-standard/portability-Dockerfile similarity index 100% rename from .devcontainer/portability-opensuse-15.4-gcc_11-python3.10-standard/portability-Dockerfile rename to .devcontainer/portability-gentoo-python3.12-standard/portability-Dockerfile diff --git a/.devcontainer/portability-opensuse-15.4-gcc_11-python3.10-minimal/devcontainer.json b/.devcontainer/portability-linuxmint-21.3-minimal/devcontainer.json similarity index 84% rename from .devcontainer/portability-opensuse-15.4-gcc_11-python3.10-minimal/devcontainer.json rename to .devcontainer/portability-linuxmint-21.3-minimal/devcontainer.json index aa8549b345d..6350569173d 100644 --- a/.devcontainer/portability-opensuse-15.4-gcc_11-python3.10-minimal/devcontainer.json +++ b/.devcontainer/portability-linuxmint-21.3-minimal/devcontainer.json @@ -3,12 +3,12 @@ // from .devcontainer/portability-devcontainer.json.in // See https://aka.ms/devcontainer.json for format details. { - "name": "opensuse-15.4-gcc_11-python3.10-minimal (≥ 8-core)", + "name": "linuxmint-21.3-minimal (≥ 8-core)", "build": { "dockerfile": "portability-Dockerfile", // See tox.ini for definitions "args": { - "SYSTEM_FACTOR": "opensuse-15.4-gcc_11-python3.10", + "SYSTEM_FACTOR": "linuxmint-21.3", "PACKAGE_FACTOR": "minimal", "DOCKER_TARGET": "with-targets", "DOCKER_TAG": "dev" diff --git a/.devcontainer/portability-ubuntu-trusty-toolchain-gcc_9-minimal/portability-Dockerfile b/.devcontainer/portability-linuxmint-21.3-minimal/portability-Dockerfile similarity index 100% rename from .devcontainer/portability-ubuntu-trusty-toolchain-gcc_9-minimal/portability-Dockerfile rename to .devcontainer/portability-linuxmint-21.3-minimal/portability-Dockerfile diff --git a/.devcontainer/portability-opensuse-15.4-gcc_11-python3.10-standard/devcontainer.json b/.devcontainer/portability-linuxmint-21.3-standard/devcontainer.json similarity index 84% rename from .devcontainer/portability-opensuse-15.4-gcc_11-python3.10-standard/devcontainer.json rename to .devcontainer/portability-linuxmint-21.3-standard/devcontainer.json index 5278ae20eac..245fee17201 100644 --- a/.devcontainer/portability-opensuse-15.4-gcc_11-python3.10-standard/devcontainer.json +++ b/.devcontainer/portability-linuxmint-21.3-standard/devcontainer.json @@ -3,12 +3,12 @@ // from .devcontainer/portability-devcontainer.json.in // See https://aka.ms/devcontainer.json for format details. { - "name": "opensuse-15.4-gcc_11-python3.10-standard (≥ 8-core)", + "name": "linuxmint-21.3-standard (≥ 8-core)", "build": { "dockerfile": "portability-Dockerfile", // See tox.ini for definitions "args": { - "SYSTEM_FACTOR": "opensuse-15.4-gcc_11-python3.10", + "SYSTEM_FACTOR": "linuxmint-21.3", "PACKAGE_FACTOR": "standard", "DOCKER_TARGET": "with-targets", "DOCKER_TAG": "dev" diff --git a/.devcontainer/portability-ubuntu-trusty-toolchain-gcc_9-standard/portability-Dockerfile b/.devcontainer/portability-linuxmint-21.3-standard/portability-Dockerfile similarity index 100% rename from .devcontainer/portability-ubuntu-trusty-toolchain-gcc_9-standard/portability-Dockerfile rename to .devcontainer/portability-linuxmint-21.3-standard/portability-Dockerfile diff --git a/.devcontainer/portability-ubuntu-noble-minimal/devcontainer.json b/.devcontainer/portability-ubuntu-noble-minimal/devcontainer.json new file mode 100644 index 00000000000..f22b6775f74 --- /dev/null +++ b/.devcontainer/portability-ubuntu-noble-minimal/devcontainer.json @@ -0,0 +1,25 @@ +// The command "tox -e update_docker_platforms" +// creates .devcontainer/portability-*-*/devcontainer.json +// from .devcontainer/portability-devcontainer.json.in +// See https://aka.ms/devcontainer.json for format details. +{ + "name": "ubuntu-noble-minimal (≥ 8-core)", + "build": { + "dockerfile": "portability-Dockerfile", + // See tox.ini for definitions + "args": { + "SYSTEM_FACTOR": "ubuntu-noble", + "PACKAGE_FACTOR": "minimal", + "DOCKER_TARGET": "with-targets", + "DOCKER_TAG": "dev" + } + }, + "containerEnv": { + "MAKE": "make -j4" + }, + "onCreateCommand": ".devcontainer/onCreate.sh", + "updateContentCommand": ".devcontainer/portability-updateContent.sh", + "extensions": [ + "ms-python.python" + ] +} diff --git a/.devcontainer/portability-ubuntu-noble-minimal/portability-Dockerfile b/.devcontainer/portability-ubuntu-noble-minimal/portability-Dockerfile new file mode 120000 index 00000000000..692e2a79d64 --- /dev/null +++ b/.devcontainer/portability-ubuntu-noble-minimal/portability-Dockerfile @@ -0,0 +1 @@ +../portability-Dockerfile \ No newline at end of file diff --git a/.devcontainer/portability-ubuntu-noble-standard/devcontainer.json b/.devcontainer/portability-ubuntu-noble-standard/devcontainer.json new file mode 100644 index 00000000000..7acec1e29ac --- /dev/null +++ b/.devcontainer/portability-ubuntu-noble-standard/devcontainer.json @@ -0,0 +1,25 @@ +// The command "tox -e update_docker_platforms" +// creates .devcontainer/portability-*-*/devcontainer.json +// from .devcontainer/portability-devcontainer.json.in +// See https://aka.ms/devcontainer.json for format details. +{ + "name": "ubuntu-noble-standard (≥ 8-core)", + "build": { + "dockerfile": "portability-Dockerfile", + // See tox.ini for definitions + "args": { + "SYSTEM_FACTOR": "ubuntu-noble", + "PACKAGE_FACTOR": "standard", + "DOCKER_TARGET": "with-targets", + "DOCKER_TAG": "dev" + } + }, + "containerEnv": { + "MAKE": "make -j4" + }, + "onCreateCommand": ".devcontainer/onCreate.sh", + "updateContentCommand": ".devcontainer/portability-updateContent.sh", + "extensions": [ + "ms-python.python" + ] +} diff --git a/.devcontainer/portability-ubuntu-noble-standard/portability-Dockerfile b/.devcontainer/portability-ubuntu-noble-standard/portability-Dockerfile new file mode 120000 index 00000000000..692e2a79d64 --- /dev/null +++ b/.devcontainer/portability-ubuntu-noble-standard/portability-Dockerfile @@ -0,0 +1 @@ +../portability-Dockerfile \ No newline at end of file diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 35bc0b32282..4afd959f108 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -15,7 +15,7 @@ - [ ] 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. +- [ ] I have updated the documentation and checked the documentation preview. ### :hourglass: Dependencies diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5944e32a19d..3eecd1a4666 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -15,7 +15,7 @@ on: platform: description: 'Platform' required: true - default: 'ubuntu-focal-standard' + default: 'ubuntu-jammy-standard' docker_tag: description: 'Docker tag' required: true @@ -52,7 +52,7 @@ jobs: build: runs-on: ubuntu-latest - container: ghcr.io/sagemath/sage/sage-${{ github.event.inputs.platform || 'ubuntu-focal-standard' }}-with-targets:${{ github.event.inputs.docker_tag || 'dev'}} + container: ghcr.io/sagemath/sage/sage-${{ github.event.inputs.platform || 'ubuntu-jammy-standard' }}-with-targets:${{ github.event.inputs.docker_tag || 'dev'}} needs: [get_ci_fixes] steps: - name: Checkout @@ -93,16 +93,16 @@ jobs: ./bootstrap && make build working-directory: ./worktree-image env: - MAKE: make -j2 --output-sync=recurse - SAGE_NUM_THREADS: 2 + MAKE: make -j4 --output-sync=recurse + SAGE_NUM_THREADS: 4 - name: Build modularized distributions if: (success() || failure()) && steps.worktree.outcome == 'success' run: make V=0 tox && make SAGE_CHECK=no pypi-wheels working-directory: ./worktree-image env: - MAKE: make -j2 --output-sync=recurse - SAGE_NUM_THREADS: 2 + MAKE: make -j4 --output-sync=recurse + SAGE_NUM_THREADS: 4 - name: Static code check with pyright if: (success() || failure()) && steps.worktree.outcome == 'success' @@ -137,8 +137,8 @@ jobs: ./bootstrap && make doc-clean doc-uninstall sagelib-clean && git clean -fx src/sage && ./config.status working-directory: ./worktree-image env: - MAKE: make -j2 - SAGE_NUM_THREADS: 2 + MAKE: make -j4 + SAGE_NUM_THREADS: 4 - name: Build # This step is needed because building the modularized distributions installs some optional packages, @@ -149,8 +149,8 @@ jobs: make build working-directory: ./worktree-image env: - MAKE: make -j2 --output-sync=recurse - SAGE_NUM_THREADS: 2 + MAKE: make -j4 --output-sync=recurse + SAGE_NUM_THREADS: 4 # Testing @@ -161,16 +161,16 @@ jobs: ./sage -t --new -p2 working-directory: ./worktree-image env: - MAKE: make -j2 --output-sync=recurse - SAGE_NUM_THREADS: 2 + MAKE: make -j4 --output-sync=recurse + SAGE_NUM_THREADS: 4 - name: Test modularized distributions if: (success() || failure()) && steps.build.outcome == 'success' run: make V=0 tox && make pypi-wheels-check working-directory: ./worktree-image env: - MAKE: make -j2 --output-sync=recurse - SAGE_NUM_THREADS: 2 + MAKE: make -j4 --output-sync=recurse + SAGE_NUM_THREADS: 4 - name: Check that all modules can be imported run: | diff --git a/.github/workflows/ci-conda.yml b/.github/workflows/ci-conda.yml index 1bb08637099..a0f3c021643 100644 --- a/.github/workflows/ci-conda.yml +++ b/.github/workflows/ci-conda.yml @@ -35,12 +35,12 @@ jobs: # environment: [environment, environment-optional] conda-env: [environment] # On pull requests, only test two jobs: - # Ubuntu with Python 3.9, macOS with Python 3.10. - # Build & Test currently uses Python 3.11 (on ubuntu-focal). + # Ubuntu with Python 3.9, macOS with Python 3.11. + # Build & Test currently uses Python 3.10 (on ubuntu-jammy). # Together, they cover the supported minor Python versions. include: >- ${{ github.event_name == 'pull_request' - && fromJson('[{"os": "macos", "python": "3.10", "conda-env": "environment"}]') + && fromJson('[{"os": "macos", "python": "3.11", "conda-env": "environment"}]') || fromJson('[]') }} steps: diff --git a/.github/workflows/ci-linux.yml b/.github/workflows/ci-linux.yml index 7e86f010b42..6860bd6e460 100644 --- a/.github/workflows/ci-linux.yml +++ b/.github/workflows/ci-linux.yml @@ -46,7 +46,7 @@ jobs: targets: build doc-html targets_optional: ptest tox_system_factors: >- - ["ubuntu-focal"] + ["ubuntu-jammy"] tox_packages_factors: >- ["standard"] docker_push_repository: ghcr.io/${{ github.repository }}/ @@ -111,18 +111,11 @@ jobs: ["ubuntu-jammy", "ubuntu-lunar", "ubuntu-mantic", - "debian-bullseye", "debian-bookworm", "debian-trixie", "debian-sid", - "linuxmint-21", "linuxmint-21.1", "linuxmint-21.2", - "fedora-33", - "fedora-34", - "fedora-35", - "fedora-36", - "fedora-37", "fedora-38", "fedora-39", "centos-stream-8-python3.9", @@ -131,11 +124,9 @@ jobs: "gentoo-python3.10", "gentoo-python3.11", "archlinux-latest", - "opensuse-15.4-gcc_11-python3.10", "opensuse-15.5-gcc_11-python3.11", "opensuse-tumbleweed-python3.10", - "opensuse-tumbleweed", - "debian-bullseye-i386"] + "opensuse-tumbleweed"] docker_push_repository: ghcr.io/${{ github.repository }}/ max_parallel: 8 diff --git a/.github/workflows/doc-build-pdf.yml b/.github/workflows/doc-build-pdf.yml index 6e6e8776062..ee90f3a42fc 100644 --- a/.github/workflows/doc-build-pdf.yml +++ b/.github/workflows/doc-build-pdf.yml @@ -9,7 +9,7 @@ on: platform: description: 'Platform' required: true - default: 'ubuntu-focal-standard' + default: 'ubuntu-jammy-standard' docker_tag: description: 'Docker tag' required: true @@ -46,7 +46,7 @@ jobs: build-docs-pdf: runs-on: ubuntu-latest - container: ghcr.io/sagemath/sage/sage-${{ github.event.inputs.platform || 'ubuntu-focal-standard' }}-with-targets:${{ github.event.inputs.docker_tag || 'dev'}} + container: ghcr.io/sagemath/sage/sage-${{ github.event.inputs.platform || 'ubuntu-jammy-standard' }}-with-targets:${{ github.event.inputs.docker_tag || 'dev'}} needs: [get_ci_fixes] steps: - name: Checkout @@ -87,8 +87,8 @@ jobs: ./bootstrap && make build working-directory: ./worktree-image env: - MAKE: make -j2 --output-sync=recurse - SAGE_NUM_THREADS: 2 + MAKE: make -j4 --output-sync=recurse + SAGE_NUM_THREADS: 4 - name: Build (fallback to non-incremental) id: build @@ -98,8 +98,8 @@ jobs: make sagelib-clean && git clean -fx src/sage && ./config.status && make build working-directory: ./worktree-image env: - MAKE: make -j2 --output-sync=recurse - SAGE_NUM_THREADS: 2 + MAKE: make -j4 --output-sync=recurse + SAGE_NUM_THREADS: 4 - name: Build docs (PDF) id: docbuild @@ -108,8 +108,8 @@ jobs: make doc-clean doc-uninstall; make sagemath_doc_html-build-deps sagemath_doc_pdf-no-deps working-directory: ./worktree-image env: - MAKE: make -j2 --output-sync=recurse - SAGE_NUM_THREADS: 2 + MAKE: make -j4 --output-sync=recurse + SAGE_NUM_THREADS: 4 - name: Copy docs id: copy diff --git a/.github/workflows/doc-build.yml b/.github/workflows/doc-build.yml index 21e19e3859a..b3c275d8e0a 100644 --- a/.github/workflows/doc-build.yml +++ b/.github/workflows/doc-build.yml @@ -41,7 +41,7 @@ jobs: build-docs: runs-on: ubuntu-latest - container: ghcr.io/sagemath/sage/sage-ubuntu-focal-standard-with-targets:dev + container: ghcr.io/sagemath/sage/sage-ubuntu-jammy-standard-with-targets:dev needs: [get_ci_fixes] steps: - name: Checkout @@ -95,8 +95,8 @@ jobs: ./bootstrap && make sagemath_doc_html-build-deps working-directory: ./worktree-image env: - MAKE: make -j2 --output-sync=recurse - SAGE_NUM_THREADS: 2 + MAKE: make -j4 --output-sync=recurse + SAGE_NUM_THREADS: 4 - name: Build (fallback to non-incremental) id: build @@ -106,8 +106,8 @@ jobs: make sagelib-clean && git clean -fx src/sage && ./config.status && make sagemath_doc_html-build-deps working-directory: ./worktree-image env: - MAKE: make -j2 --output-sync=recurse - SAGE_NUM_THREADS: 2 + MAKE: make -j4 --output-sync=recurse + SAGE_NUM_THREADS: 4 - name: Build docs id: docbuild @@ -124,8 +124,8 @@ jobs: ./config.status && make sagemath_doc_html-no-deps working-directory: ./worktree-image env: - MAKE: make -j2 --output-sync=recurse - SAGE_NUM_THREADS: 2 + MAKE: make -j4 --output-sync=recurse + SAGE_NUM_THREADS: 4 - name: Copy docs id: copy @@ -169,8 +169,8 @@ jobs: ./config.status && make sagemath_doc_html-no-deps sagemath_doc_pdf-no-deps working-directory: ./worktree-image env: - MAKE: make -j2 --output-sync=recurse - SAGE_NUM_THREADS: 2 + MAKE: make -j4 --output-sync=recurse + SAGE_NUM_THREADS: 4 - name: Copy live doc id: copylivedoc diff --git a/.github/workflows/doc-publish.yml b/.github/workflows/doc-publish.yml index 361dafb22e0..f893f49c2ea 100644 --- a/.github/workflows/doc-publish.yml +++ b/.github/workflows/doc-publish.yml @@ -70,12 +70,13 @@ jobs: with: number: ${{ steps.source-run-info.outputs.pullRequestNumber }} header: preview-comment - recreate: true + recreate: false message: | [Documentation preview for this PR](${{ steps.deploy-netlify.outputs.NETLIFY_URL }}/html/en) (built with commit ${{ steps.source-run-info.outputs.sourceHeadSha }}; [changes](${{ steps.deploy-netlify.outputs.NETLIFY_URL }}/CHANGES.html)) is ready! :tada: + This preview will update shortly after each push to this PR. - name: Update deployment status PR check - uses: myrotvorets/set-commit-status-action@v2.0.0 + uses: myrotvorets/set-commit-status-action@v2.0.1 if: ${{ always() }} env: DEPLOY_SUCCESS: Successfully deployed preview. @@ -134,4 +135,3 @@ jobs: - name: Report deployment url run: | echo "::notice::The live documentation has been deployed - ${{ steps.deploy-netlify.outputs.NETLIFY_URL }}" - diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 18910ca50a6..ccc2b07a02f 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -18,13 +18,13 @@ on: # 'tox -e update_docker_platforms' updates below default: >- [ - "ubuntu-trusty-toolchain-gcc_9", "ubuntu-xenial-toolchain-gcc_9", "ubuntu-bionic-gcc_8", "ubuntu-focal", "ubuntu-jammy", "ubuntu-lunar", "ubuntu-mantic", + "ubuntu-noble", "debian-buster-gcc_spkg", "debian-bullseye", "debian-bookworm", @@ -36,6 +36,7 @@ on: "linuxmint-21", "linuxmint-21.1", "linuxmint-21.2", + "linuxmint-21.3", "fedora-30", "fedora-31", "fedora-32", @@ -46,6 +47,7 @@ on: "fedora-37", "fedora-38", "fedora-39", + "fedora-40", "centos-7-devtoolset-gcc_11", "centos-stream-8-python3.9", "centos-stream-9-python3.9", @@ -53,9 +55,8 @@ on: "almalinux-9-python3.11", "gentoo-python3.10", "gentoo-python3.11", + "gentoo-python3.12", "archlinux-latest", - "opensuse-15.3-gcc_11-python3.9", - "opensuse-15.4-gcc_11-python3.10", "opensuse-15.5-gcc_11-python3.11", "opensuse-tumbleweed-python3.10", "opensuse-tumbleweed", @@ -244,7 +245,7 @@ jobs: # configuration on many platforms. run: | (sleep ${{ inputs.timeout }}; for id in $(docker ps -q); do docker exec $id find /proc -maxdepth 2 -name cmdline -exec bash -c "grep -l [m][a][k][e] {} | cut -d/ -f3 | xargs --no-run-if-empty kill" \;; done) & - set -o pipefail; EXTRA_DOCKER_BUILD_ARGS="--build-arg NUMPROC=4 --build-arg USE_MAKEFLAGS=\"-k V=0 SAGE_NUM_THREADS=3\"" tox -e $TOX_ENV -- $TARGETS 2>&1 | sed "/^configure: notice:/s|^|::warning file=artifacts/$LOGS_ARTIFACT_NAME/config.log::|;/^configure: warning:/s|^|::warning file=artifacts/$LOGS_ARTIFACT_NAME/config.log::|;/^configure: error:/s|^|::error file=artifacts/$LOGS_ARTIFACT_NAME/config.log::|;" + set -o pipefail; EXTRA_DOCKER_BUILD_ARGS="--build-arg NUMPROC=9 --build-arg USE_MAKEFLAGS=\"-k V=0 SAGE_NUM_THREADS=5\"" tox -e $TOX_ENV -- $TARGETS 2>&1 | sed "/^configure: notice:/s|^|::warning file=artifacts/$LOGS_ARTIFACT_NAME/config.log::|;/^configure: warning:/s|^|::warning file=artifacts/$LOGS_ARTIFACT_NAME/config.log::|;/^configure: error:/s|^|::error file=artifacts/$LOGS_ARTIFACT_NAME/config.log::|;" - name: Copy logs from the Docker image or build container run: | mkdir -p "artifacts/$LOGS_ARTIFACT_NAME" diff --git a/CITATION.cff b/CITATION.cff index 9e0beb8bcc1..78059fdc091 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -4,8 +4,8 @@ title: SageMath abstract: SageMath is a free open-source mathematics software system. authors: - name: "The SageMath Developers" -version: 10.4.beta2 +version: 10.4.beta3 doi: 10.5281/zenodo.593563 -date-released: 2024-04-08 +date-released: 2024-04-12 repository-code: "https://github.com/sagemath/sage" url: "https://www.sagemath.org/" diff --git a/VERSION.txt b/VERSION.txt index 2a439e4ca37..fa9d32fec7a 100644 --- a/VERSION.txt +++ b/VERSION.txt @@ -1 +1 @@ -SageMath version 10.4.beta2, Release Date: 2024-04-08 +SageMath version 10.4.beta3, Release Date: 2024-04-12 diff --git a/bootstrap b/bootstrap index 14eb56c9981..f7776186f37 100755 --- a/bootstrap +++ b/bootstrap @@ -232,8 +232,7 @@ save () { src/environment-optional-3.[89].yml src/environment-optional-3.1[0-9].yml \ src/Pipfile \ src/pyproject.toml \ - src/requirements.txt \ - src/setup.cfg + src/requirements.txt # Update version echo "$NEWCONFVERSION" >$PKG/package-version.txt diff --git a/build/bin/write-dockerfile.sh b/build/bin/write-dockerfile.sh index 3c62d6082e4..36cf4862626 100755 --- a/build/bin/write-dockerfile.sh +++ b/build/bin/write-dockerfile.sh @@ -236,7 +236,7 @@ $ADD Makefile VERSION.txt COPYING.txt condarc.yml README.md bootstrap bootstrap- $ADD config/config.rpath config/config.rpath $ADD src/doc/bootstrap src/doc/bootstrap $ADD src/bin src/bin -$ADD src/Pipfile.m4 src/pyproject.toml.m4 src/requirements.txt.m4 src/setup.cfg.m4 src/VERSION.txt src/ +$ADD src/Pipfile.m4 src/pyproject.toml.m4 src/requirements.txt.m4 src/VERSION.txt src/ $ADD m4 ./m4 $ADD pkgs pkgs $ADD build ./build diff --git a/build/pkgs/appnope/spkg-configure.m4 b/build/pkgs/appnope/spkg-configure.m4 index 059e63eb4fd..86ae64da07b 100644 --- a/build/pkgs/appnope/spkg-configure.m4 +++ b/build/pkgs/appnope/spkg-configure.m4 @@ -1,3 +1,7 @@ SAGE_SPKG_CONFIGURE([appnope], [ SAGE_PYTHON_PACKAGE_CHECK([appnope]) +], [dnl REQUIRED-CHECK + dnl Only required on macOS + sage_require_appnope=no + AS_CASE([$host], [*-*-darwin*], [sage_require_appnope=yes]) ]) diff --git a/build/pkgs/configure/checksums.ini b/build/pkgs/configure/checksums.ini index 2dd257e6307..872b435c579 100644 --- a/build/pkgs/configure/checksums.ini +++ b/build/pkgs/configure/checksums.ini @@ -1,4 +1,4 @@ tarball=configure-VERSION.tar.gz -sha1=a8f26f365284ca719e583e703c5b8eeb656b35ab -md5=612ba76c797d5fc92e272a59b1b7b2e6 -cksum=2444442853 +sha1=b9d9a4bb2d949d8f6fffe63c77ff069d59ca6e8c +md5=95f8a1d22f684e3f61019ae82111e639 +cksum=3352815196 diff --git a/build/pkgs/configure/package-version.txt b/build/pkgs/configure/package-version.txt index e6ac4c1dd9e..a4012527648 100644 --- a/build/pkgs/configure/package-version.txt +++ b/build/pkgs/configure/package-version.txt @@ -1 +1 @@ -6d187b153b5b5c3e29fe07d9efe925e34bf5baa5 +4dd66116b58babf05bb8e4b30282638e2c0b82c3 diff --git a/build/pkgs/cypari/checksums.ini b/build/pkgs/cypari/checksums.ini index 3f87b3fabb8..27a680da968 100644 --- a/build/pkgs/cypari/checksums.ini +++ b/build/pkgs/cypari/checksums.ini @@ -1,5 +1,5 @@ tarball=cypari2-VERSION.tar.gz -sha1=0af00b66e3f1b77e932ad9cade6e4e9dc6f21eaa -md5=34c919aedb0a470c8b4e4b0c0ec788e3 -cksum=2760761148 -upstream_url=https://github.com/sagemath/cypari2/releases/download/VERSION/cypari2-VERSION.tar.gz +sha1=4cb5fc43899852b7fc0c0175e610318c38f0caac +md5=e9940034c6707a3faeb416f207444e81 +cksum=361739172 +upstream_url=https://pypi.io/packages/source/c/cypari2/cypari2-VERSION.tar.gz diff --git a/build/pkgs/cypari/package-version.txt b/build/pkgs/cypari/package-version.txt index 7d2ed7c7020..cd57a8b95d6 100644 --- a/build/pkgs/cypari/package-version.txt +++ b/build/pkgs/cypari/package-version.txt @@ -1 +1 @@ -2.1.4 +2.1.5 diff --git a/build/pkgs/debugpy/distros/gentoo.txt b/build/pkgs/debugpy/distros/gentoo.txt deleted file mode 100644 index 8b797ce715f..00000000000 --- a/build/pkgs/debugpy/distros/gentoo.txt +++ /dev/null @@ -1 +0,0 @@ -dev-python/debugpy diff --git a/build/pkgs/debugpy/spkg-configure.m4 b/build/pkgs/debugpy/spkg-configure.m4 index db605ff03c8..4ff24d41057 100644 --- a/build/pkgs/debugpy/spkg-configure.m4 +++ b/build/pkgs/debugpy/spkg-configure.m4 @@ -1 +1,14 @@ -SAGE_SPKG_CONFIGURE([debugpy], [SAGE_PYTHON_PACKAGE_CHECK([debugpy])]) +SAGE_SPKG_CONFIGURE([debugpy], [ + SAGE_PYTHON_PACKAGE_CHECK([debugpy]) +], [ + dnl REQUIRED-CHECK + dnl + dnl Skip debugpy if ipykernel from the system will be used. + dnl This allows downstream packagers to treat debugpy (a + dnl somewhat problematic package) as optional. + AC_REQUIRE([SAGE_SPKG_CONFIGURE_IPYKERNEL]) + sage_require_debugpy=yes + AS_VAR_IF([sage_spkg_install_ipykernel], [no], [ + sage_require_debugpy=no + ]) +]) diff --git a/build/pkgs/exceptiongroup/spkg-configure.m4 b/build/pkgs/exceptiongroup/spkg-configure.m4 new file mode 100644 index 00000000000..22383688321 --- /dev/null +++ b/build/pkgs/exceptiongroup/spkg-configure.m4 @@ -0,0 +1,3 @@ +SAGE_SPKG_CONFIGURE([exceptiongroup],[ + SAGE_PYTHON_PACKAGE_CHECK([exceptiongroup]) +]) diff --git a/build/pkgs/exceptiongroup/version_requirements.txt b/build/pkgs/exceptiongroup/version_requirements.txt index 341183a94c9..2fffd03311e 100644 --- a/build/pkgs/exceptiongroup/version_requirements.txt +++ b/build/pkgs/exceptiongroup/version_requirements.txt @@ -1 +1 @@ -exceptiongroup +exceptiongroup; python_version<"3.11" diff --git a/build/pkgs/memory_allocator/checksums.ini b/build/pkgs/memory_allocator/checksums.ini index c907031eac5..76e62a79758 100644 --- a/build/pkgs/memory_allocator/checksums.ini +++ b/build/pkgs/memory_allocator/checksums.ini @@ -1,5 +1,5 @@ tarball=memory_allocator-VERSION.tar.gz -sha1=1a874de2674a1948797de109adfd1f56193e153a -md5=c3a5d0f5acf896eec84266964a8aec0e -cksum=3431157422 +sha1=21661580dd3f41aac0f2090033d8804e6ff495d9 +md5=2a5e087c686b04996ccb88ce56cad9f0 +cksum=3481909016 upstream_url=https://pypi.io/packages/source/m/memory_allocator/memory_allocator-VERSION.tar.gz diff --git a/build/pkgs/memory_allocator/package-version.txt b/build/pkgs/memory_allocator/package-version.txt index b1e80bb2480..845639eef26 100644 --- a/build/pkgs/memory_allocator/package-version.txt +++ b/build/pkgs/memory_allocator/package-version.txt @@ -1 +1 @@ -0.1.3 +0.1.4 diff --git a/build/pkgs/sage_conf/version_requirements.txt b/build/pkgs/sage_conf/version_requirements.txt index b2352d17cd7..a9fc6b33c1e 100644 --- a/build/pkgs/sage_conf/version_requirements.txt +++ b/build/pkgs/sage_conf/version_requirements.txt @@ -1,2 +1,2 @@ # This file is updated on every release by the sage-update-version script -sage-conf ~= 10.4b2 +sage-conf ~= 10.4b3 diff --git a/build/pkgs/sage_docbuild/version_requirements.txt b/build/pkgs/sage_docbuild/version_requirements.txt index 5fe49b28bc6..6392017efee 100644 --- a/build/pkgs/sage_docbuild/version_requirements.txt +++ b/build/pkgs/sage_docbuild/version_requirements.txt @@ -1,2 +1,2 @@ # This file is updated on every release by the sage-update-version script -sage-docbuild ~= 10.4b2 +sage-docbuild ~= 10.4b3 diff --git a/build/pkgs/sage_setup/version_requirements.txt b/build/pkgs/sage_setup/version_requirements.txt index ebca92ad49d..fa79fc9374b 100644 --- a/build/pkgs/sage_setup/version_requirements.txt +++ b/build/pkgs/sage_setup/version_requirements.txt @@ -1,2 +1,2 @@ # This file is updated on every release by the sage-update-version script -sage-setup ~= 10.4b2 +sage-setup ~= 10.4b3 diff --git a/build/pkgs/sage_sws2rst/version_requirements.txt b/build/pkgs/sage_sws2rst/version_requirements.txt index 9956ef5ccfb..012366aac27 100644 --- a/build/pkgs/sage_sws2rst/version_requirements.txt +++ b/build/pkgs/sage_sws2rst/version_requirements.txt @@ -1,2 +1,2 @@ # This file is updated on every release by the sage-update-version script -sage-sws2rst ~= 10.4b2 +sage-sws2rst ~= 10.4b3 diff --git a/build/pkgs/sagelib/version_requirements.txt b/build/pkgs/sagelib/version_requirements.txt index 4d5da1cfa32..958d7998ec8 100644 --- a/build/pkgs/sagelib/version_requirements.txt +++ b/build/pkgs/sagelib/version_requirements.txt @@ -1,2 +1,2 @@ # This file is updated on every release by the sage-update-version script -sagemath-standard ~= 10.4b2 +sagemath-standard ~= 10.4b3 diff --git a/build/pkgs/sagemath_bliss/version_requirements.txt b/build/pkgs/sagemath_bliss/version_requirements.txt index 0e6bc0c0cbd..f140cad57dd 100644 --- a/build/pkgs/sagemath_bliss/version_requirements.txt +++ b/build/pkgs/sagemath_bliss/version_requirements.txt @@ -1,2 +1,2 @@ # This file is updated on every release by the sage-update-version script -sagemath-bliss ~= 10.4b2 +sagemath-bliss ~= 10.4b3 diff --git a/build/pkgs/sagemath_categories/version_requirements.txt b/build/pkgs/sagemath_categories/version_requirements.txt index 6e24614039e..15b52d809bf 100644 --- a/build/pkgs/sagemath_categories/version_requirements.txt +++ b/build/pkgs/sagemath_categories/version_requirements.txt @@ -1,2 +1,2 @@ # This file is updated on every release by the sage-update-version script -sagemath-categories ~= 10.4b2 +sagemath-categories ~= 10.4b3 diff --git a/build/pkgs/sagemath_coxeter3/version_requirements.txt b/build/pkgs/sagemath_coxeter3/version_requirements.txt index 3949915c19a..db035aacdca 100644 --- a/build/pkgs/sagemath_coxeter3/version_requirements.txt +++ b/build/pkgs/sagemath_coxeter3/version_requirements.txt @@ -1,2 +1,2 @@ # This file is updated on every release by the sage-update-version script -sagemath-coxeter3 ~= 10.4b2 +sagemath-coxeter3 ~= 10.4b3 diff --git a/build/pkgs/sagemath_environment/version_requirements.txt b/build/pkgs/sagemath_environment/version_requirements.txt index e0afddbcc32..80fd875a7e4 100644 --- a/build/pkgs/sagemath_environment/version_requirements.txt +++ b/build/pkgs/sagemath_environment/version_requirements.txt @@ -1,2 +1,2 @@ # This file is updated on every release by the sage-update-version script -sagemath-environment ~= 10.4b2 +sagemath-environment ~= 10.4b3 diff --git a/build/pkgs/sagemath_mcqd/version_requirements.txt b/build/pkgs/sagemath_mcqd/version_requirements.txt index 228e1ac3b7f..58a3e31ff65 100644 --- a/build/pkgs/sagemath_mcqd/version_requirements.txt +++ b/build/pkgs/sagemath_mcqd/version_requirements.txt @@ -1,2 +1,2 @@ # This file is updated on every release by the sage-update-version script -sagemath-mcqd ~= 10.4b2 +sagemath-mcqd ~= 10.4b3 diff --git a/build/pkgs/sagemath_meataxe/version_requirements.txt b/build/pkgs/sagemath_meataxe/version_requirements.txt index e4cbc453d92..b46a8c93c1e 100644 --- a/build/pkgs/sagemath_meataxe/version_requirements.txt +++ b/build/pkgs/sagemath_meataxe/version_requirements.txt @@ -1,2 +1,2 @@ # This file is updated on every release by the sage-update-version script -sagemath-meataxe ~= 10.4b2 +sagemath-meataxe ~= 10.4b3 diff --git a/build/pkgs/sagemath_objects/version_requirements.txt b/build/pkgs/sagemath_objects/version_requirements.txt index 722c2a6bf92..56948780fe6 100644 --- a/build/pkgs/sagemath_objects/version_requirements.txt +++ b/build/pkgs/sagemath_objects/version_requirements.txt @@ -1,2 +1,2 @@ # This file is updated on every release by the sage-update-version script -sagemath-objects ~= 10.4b2 +sagemath-objects ~= 10.4b3 diff --git a/build/pkgs/sagemath_repl/version_requirements.txt b/build/pkgs/sagemath_repl/version_requirements.txt index 7f3c89386bf..230c8f95374 100644 --- a/build/pkgs/sagemath_repl/version_requirements.txt +++ b/build/pkgs/sagemath_repl/version_requirements.txt @@ -1,2 +1,2 @@ # This file is updated on every release by the sage-update-version script -sagemath-repl ~= 10.4b2 +sagemath-repl ~= 10.4b3 diff --git a/build/pkgs/sagemath_sirocco/version_requirements.txt b/build/pkgs/sagemath_sirocco/version_requirements.txt index 757e0e89c19..d04d2ab48b0 100644 --- a/build/pkgs/sagemath_sirocco/version_requirements.txt +++ b/build/pkgs/sagemath_sirocco/version_requirements.txt @@ -1,2 +1,2 @@ # This file is updated on every release by the sage-update-version script -sagemath-sirocco ~= 10.4b2 +sagemath-sirocco ~= 10.4b3 diff --git a/build/pkgs/sagemath_tdlib/version_requirements.txt b/build/pkgs/sagemath_tdlib/version_requirements.txt index 4445572b5fd..53da30e01ec 100644 --- a/build/pkgs/sagemath_tdlib/version_requirements.txt +++ b/build/pkgs/sagemath_tdlib/version_requirements.txt @@ -1,2 +1,2 @@ # This file is updated on every release by the sage-update-version script -sagemath-tdlib ~= 10.4b2 +sagemath-tdlib ~= 10.4b3 diff --git a/build/pkgs/typing_extensions/version_requirements.txt b/build/pkgs/typing_extensions/version_requirements.txt index e1a912109ed..d10f4dffbd3 100644 --- a/build/pkgs/typing_extensions/version_requirements.txt +++ b/build/pkgs/typing_extensions/version_requirements.txt @@ -1,3 +1,3 @@ # According to https://github.com/python/typing_extensions/blob/main/CHANGELOG.md, # version 4.4.0 adds another Python 3.11 typing backport -typing_extensions >= 4.4.0; python_version<'3.11' +typing_extensions >= 4.4.0; python_version<"3.11" diff --git a/configure.ac b/configure.ac index 96cb9926ff0..7816aca796e 100644 --- a/configure.ac +++ b/configure.ac @@ -418,7 +418,7 @@ AC_ARG_ENABLE([cvxopt], AC_ARG_ENABLE([notebook], AS_HELP_STRING([--disable-notebook], [disable build of the Jupyter notebook and related packages]), [ - for pkg in notebook nbconvert beautifulsoup4 sagenb_export nbformat nbclient terminado send2trash prometheus_client mistune pandocfilters bleach defusedxml jsonschema jupyter_jsmol argon2_cffi argon2_cffi_bindings webencodings tinycss2 ipympl soupsieve fastjsonschema anyio arrow async_lru fqdn isoduration json5 jsonpointer jsonschema_specifications jupyter_events jupyter_lsp jupyter_server jupyter_server_terminals jupyterlab jupyterlab_mathjax2 notebook_shim overrides python_json_logger pyyaml referencing rfc3339_validator rfc3986_validator sniffio types_python_dateutil uri_template webcolors websocket_client; do + for pkg in notebook nbconvert beautifulsoup4 sagenb_export nbformat nbclient terminado send2trash prometheus_client mistune pandocfilters bleach defusedxml jsonschema jupyter_jsmol argon2_cffi argon2_cffi_bindings webencodings tinycss2 ipympl soupsieve fastjsonschema anyio arrow async_lru fqdn isoduration json5 jsonpointer jsonschema_specifications jupyter_events jupyter_lsp jupyter_server jupyter_server_terminals jupyterlab jupyterlab_server jupyterlab_pygments jupyterlab_mathjax2 notebook_shim overrides python_json_logger pyyaml referencing rfc3339_validator rfc3986_validator sniffio types_python_dateutil uri_template webcolors websocket_client; do AS_VAR_SET([SAGE_ENABLE_$pkg], [$enableval]) done ]) @@ -426,7 +426,7 @@ AC_ARG_ENABLE([notebook], AC_ARG_ENABLE([r], AS_HELP_STRING([--disable-r], [disable build of the R package and related packages]), [ - for pkg in r rpy2 r_jupyter tzlocal pytz_deprecation_shim; do + for pkg in r rpy2 r_jupyter tzlocal pytz_deprecation_shim tzdata; do AS_VAR_SET([SAGE_ENABLE_$pkg], [$enableval]) done ]) diff --git a/pkgs/sage-conf/VERSION.txt b/pkgs/sage-conf/VERSION.txt index 770c88a80e6..af343da123a 100644 --- a/pkgs/sage-conf/VERSION.txt +++ b/pkgs/sage-conf/VERSION.txt @@ -1 +1 @@ -10.4.beta2 +10.4.beta3 diff --git a/pkgs/sage-conf_conda/VERSION.txt b/pkgs/sage-conf_conda/VERSION.txt index 770c88a80e6..af343da123a 100644 --- a/pkgs/sage-conf_conda/VERSION.txt +++ b/pkgs/sage-conf_conda/VERSION.txt @@ -1 +1 @@ -10.4.beta2 +10.4.beta3 diff --git a/pkgs/sage-conf_pypi/VERSION.txt b/pkgs/sage-conf_pypi/VERSION.txt index 770c88a80e6..af343da123a 100644 --- a/pkgs/sage-conf_pypi/VERSION.txt +++ b/pkgs/sage-conf_pypi/VERSION.txt @@ -1 +1 @@ -10.4.beta2 +10.4.beta3 diff --git a/pkgs/sage-docbuild/VERSION.txt b/pkgs/sage-docbuild/VERSION.txt index 770c88a80e6..af343da123a 100644 --- a/pkgs/sage-docbuild/VERSION.txt +++ b/pkgs/sage-docbuild/VERSION.txt @@ -1 +1 @@ -10.4.beta2 +10.4.beta3 diff --git a/pkgs/sage-setup/VERSION.txt b/pkgs/sage-setup/VERSION.txt index 770c88a80e6..af343da123a 100644 --- a/pkgs/sage-setup/VERSION.txt +++ b/pkgs/sage-setup/VERSION.txt @@ -1 +1 @@ -10.4.beta2 +10.4.beta3 diff --git a/pkgs/sage-sws2rst/VERSION.txt b/pkgs/sage-sws2rst/VERSION.txt index 770c88a80e6..af343da123a 100644 --- a/pkgs/sage-sws2rst/VERSION.txt +++ b/pkgs/sage-sws2rst/VERSION.txt @@ -1 +1 @@ -10.4.beta2 +10.4.beta3 diff --git a/pkgs/sagemath-bliss/VERSION.txt b/pkgs/sagemath-bliss/VERSION.txt index 770c88a80e6..af343da123a 100644 --- a/pkgs/sagemath-bliss/VERSION.txt +++ b/pkgs/sagemath-bliss/VERSION.txt @@ -1 +1 @@ -10.4.beta2 +10.4.beta3 diff --git a/pkgs/sagemath-categories/VERSION.txt b/pkgs/sagemath-categories/VERSION.txt index 770c88a80e6..af343da123a 100644 --- a/pkgs/sagemath-categories/VERSION.txt +++ b/pkgs/sagemath-categories/VERSION.txt @@ -1 +1 @@ -10.4.beta2 +10.4.beta3 diff --git a/pkgs/sagemath-categories/known-test-failures.json b/pkgs/sagemath-categories/known-test-failures.json index ddae185a7d9..3f7973d7fee 100644 --- a/pkgs/sagemath-categories/known-test-failures.json +++ b/pkgs/sagemath-categories/known-test-failures.json @@ -26,7 +26,7 @@ "ntests": 28 }, "sage.categories.affine_weyl_groups": { - "ntests": 14 + "ntests": 15 }, "sage.categories.algebra_ideals": { "failed": true, @@ -148,7 +148,7 @@ }, "sage.categories.coxeter_groups": { "failed": true, - "ntests": 362 + "ntests": 363 }, "sage.categories.cw_complexes": { "failed": true, @@ -301,7 +301,7 @@ }, "sage.categories.finite_complex_reflection_groups": { "failed": true, - "ntests": 178 + "ntests": 199 }, "sage.categories.finite_coxeter_groups": { "ntests": 6 @@ -493,10 +493,6 @@ "failed": true, "ntests": 13 }, - "sage.categories.inner_product_spaces": { - "failed": true, - "ntests": 9 - }, "sage.categories.integral_domains": { "failed": true, "ntests": 22 @@ -783,7 +779,7 @@ }, "sage.cpython.debug": { "failed": true, - "ntests": 14 + "ntests": 13 }, "sage.cpython.dict_del_by_value": { "failed": true, @@ -826,7 +822,6 @@ "ntests": 321 }, "sage.doctest.reporting": { - "failed": true, "ntests": 124 }, "sage.doctest.sources": { @@ -1091,7 +1086,7 @@ }, "sage.misc.sageinspect": { "failed": true, - "ntests": 329 + "ntests": 332 }, "sage.misc.superseded": { "failed": true, @@ -1124,6 +1119,7 @@ "ntests": 128 }, "sage.repl.configuration": { + "failed": true, "ntests": 22 }, "sage.repl.display.fancy_repr": { @@ -1149,6 +1145,7 @@ "ntests": 42 }, "sage.repl.inputhook": { + "failed": true, "ntests": 7 }, "sage.repl.interface_magic": { @@ -1157,7 +1154,7 @@ }, "sage.repl.interpreter": { "failed": true, - "ntests": 118 + "ntests": 114 }, "sage.repl.ipython_extension": { "failed": true, @@ -1188,7 +1185,7 @@ }, "sage.repl.load": { "failed": true, - "ntests": 42 + "ntests": 38 }, "sage.repl.preparse": { "failed": true, @@ -1315,9 +1312,6 @@ "sage.structure.global_options": { "ntests": 145 }, - "sage.structure.graphics_file": { - "ntests": 8 - }, "sage.structure.indexed_generators": { "failed": true, "ntests": 90 diff --git a/pkgs/sagemath-coxeter3/VERSION.txt b/pkgs/sagemath-coxeter3/VERSION.txt index 770c88a80e6..af343da123a 100644 --- a/pkgs/sagemath-coxeter3/VERSION.txt +++ b/pkgs/sagemath-coxeter3/VERSION.txt @@ -1 +1 @@ -10.4.beta2 +10.4.beta3 diff --git a/pkgs/sagemath-environment/VERSION.txt b/pkgs/sagemath-environment/VERSION.txt index 770c88a80e6..af343da123a 100644 --- a/pkgs/sagemath-environment/VERSION.txt +++ b/pkgs/sagemath-environment/VERSION.txt @@ -1 +1 @@ -10.4.beta2 +10.4.beta3 diff --git a/pkgs/sagemath-mcqd/VERSION.txt b/pkgs/sagemath-mcqd/VERSION.txt index 770c88a80e6..af343da123a 100644 --- a/pkgs/sagemath-mcqd/VERSION.txt +++ b/pkgs/sagemath-mcqd/VERSION.txt @@ -1 +1 @@ -10.4.beta2 +10.4.beta3 diff --git a/pkgs/sagemath-meataxe/VERSION.txt b/pkgs/sagemath-meataxe/VERSION.txt index 770c88a80e6..af343da123a 100644 --- a/pkgs/sagemath-meataxe/VERSION.txt +++ b/pkgs/sagemath-meataxe/VERSION.txt @@ -1 +1 @@ -10.4.beta2 +10.4.beta3 diff --git a/pkgs/sagemath-objects/VERSION.txt b/pkgs/sagemath-objects/VERSION.txt index 770c88a80e6..af343da123a 100644 --- a/pkgs/sagemath-objects/VERSION.txt +++ b/pkgs/sagemath-objects/VERSION.txt @@ -1 +1 @@ -10.4.beta2 +10.4.beta3 diff --git a/pkgs/sagemath-repl/VERSION.txt b/pkgs/sagemath-repl/VERSION.txt index 770c88a80e6..af343da123a 100644 --- a/pkgs/sagemath-repl/VERSION.txt +++ b/pkgs/sagemath-repl/VERSION.txt @@ -1 +1 @@ -10.4.beta2 +10.4.beta3 diff --git a/pkgs/sagemath-sirocco/VERSION.txt b/pkgs/sagemath-sirocco/VERSION.txt index 770c88a80e6..af343da123a 100644 --- a/pkgs/sagemath-sirocco/VERSION.txt +++ b/pkgs/sagemath-sirocco/VERSION.txt @@ -1 +1 @@ -10.4.beta2 +10.4.beta3 diff --git a/pkgs/sagemath-standard/setup.cfg b/pkgs/sagemath-standard/setup.cfg deleted file mode 120000 index ba9b315730a..00000000000 --- a/pkgs/sagemath-standard/setup.cfg +++ /dev/null @@ -1 +0,0 @@ -../../src/setup.cfg \ No newline at end of file diff --git a/pkgs/sagemath-standard/setup.cfg.m4 b/pkgs/sagemath-standard/setup.cfg.m4 deleted file mode 120000 index 8934d7b5955..00000000000 --- a/pkgs/sagemath-standard/setup.cfg.m4 +++ /dev/null @@ -1 +0,0 @@ -../../src/setup.cfg.m4 \ No newline at end of file diff --git a/pkgs/sagemath-standard/setup.py b/pkgs/sagemath-standard/setup.py index 29c8744f910..4f9c4370746 100755 --- a/pkgs/sagemath-standard/setup.py +++ b/pkgs/sagemath-standard/setup.py @@ -69,25 +69,60 @@ from sage_setup.autogen import autogen_all autogen_all() -# TODO: This should be quiet by default -print("Discovering Python/Cython source code....") -t = time.time() -from sage.misc.package import is_package_installed_and_updated -distributions = [''] -optional_packages_with_extensions = os.environ.get('SAGE_OPTIONAL_PACKAGES_WITH_EXTENSIONS', '').split(',') -distributions += ['sagemath-{}'.format(pkg) - for pkg in optional_packages_with_extensions - if is_package_installed_and_updated(pkg)] -log.warn('distributions = {0}'.format(distributions)) -from sage_setup.find import find_python_sources -python_packages, python_modules, cython_modules = find_python_sources( - SAGE_SRC, ['sage'], distributions=distributions) - -log.debug('python_packages = {0}'.format(python_packages)) -log.debug('python_modules = {0}'.format(python_modules)) -log.debug('cython_modules = {0}'.format(cython_modules)) - -print("Discovered Python/Cython sources, time: %.2f seconds." % (time.time() - t)) + # TODO: This should be quiet by default + print("Discovering Python/Cython source code....") + t = time.time() + from sage.misc.package import is_package_installed_and_updated + + distributions = [ + '', + "sagemath-brial", + "sagemath-categories", + "sagemath-combinat", + "sagemath-eclib", + "sagemath-environment", + "sagemath-flint", + "sagemath-gap", + "sagemath-giac", + "sagemath-glpk", + "sagemath-graphs", + "sagemath-groups", + "sagemath-homfly", + "sagemath-lcalc", + "sagemath-libbraiding", + "sagemath-libecm", + "sagemath-linbox", + "sagemath-modules", + "sagemath-mpmath", + "sagemath-ntl", + "sagemath-objects", + "sagemath-pari", + "sagemath-plot", + "sagemath-polyhedra", + "sagemath-repl", + "sagemath-schemes", + "sagemath-singular", + "sagemath-symbolics", + ] + + optional_packages_with_extensions = os.environ.get('SAGE_OPTIONAL_PACKAGES_WITH_EXTENSIONS', '').split(',') + distributions += ['sagemath-{}'.format(pkg) + for pkg in optional_packages_with_extensions + if is_package_installed_and_updated(pkg)] + log.warn('distributions = {0}'.format(distributions)) + from sage_setup.find import find_python_sources + python_packages, python_modules, cython_modules = find_python_sources( + SAGE_SRC, ['sage'], distributions=distributions) + + log.debug('python_packages = {0}'.format(python_packages)) + log.debug('python_modules = {0}'.format(python_modules)) + log.debug('cython_modules = {0}'.format(cython_modules)) + + print("Discovered Python/Cython sources, time: %.2f seconds." % (time.time() - t)) +else: + # sdist, egg_info, dist_info + python_packages = [] + cython_modules = [] ######################################################### ### Distutils diff --git a/pkgs/sagemath-standard/tox.ini b/pkgs/sagemath-standard/tox.ini index 6aae1ef1bfa..fcd32d0764b 100644 --- a/pkgs/sagemath-standard/tox.ini +++ b/pkgs/sagemath-standard/tox.ini @@ -17,7 +17,7 @@ [tox] envlist = # Build and test without using the concrete dependencies specified by requirements.txt, - # using the dependencies declared in pyproject.toml and setup.cfg (install-requires) only: + # using the dependencies declared in pyproject.toml (build-system requires, dependencies) only: # Still use ONLY the wheels built and stored by the Sage distribution (no PyPI). # # ./sage -sh -c '(cd pkgs/sagemath-standard && tox -v -v -v -e sagepython-sagewheels-nopypi-norequirements)' @@ -45,7 +45,7 @@ envlist = # # ./sage -sh -c '(cd pkgs/sagemath-standard && tox -v -v -v -e sagepython-sagewheels-pipenv-dist)' # - # Build using the dependencies declared in pyproject.toml and setup.cfg (install-requires) only. + # Build using the dependencies declared in pyproject.toml (build-system requires, dependencies) only: # Use the wheels built and stored by the Sage distribution, # and additionally allow packages from PyPI. # diff --git a/pkgs/sagemath-tdlib/VERSION.txt b/pkgs/sagemath-tdlib/VERSION.txt index 770c88a80e6..af343da123a 100644 --- a/pkgs/sagemath-tdlib/VERSION.txt +++ b/pkgs/sagemath-tdlib/VERSION.txt @@ -1 +1 @@ -10.4.beta2 +10.4.beta3 diff --git a/src/Pipfile.m4 b/src/Pipfile.m4 index feca57f7de9..d03a2a12814 100644 --- a/src/Pipfile.m4 +++ b/src/Pipfile.m4 @@ -6,8 +6,8 @@ url = "https://pypi.org/simple" verify_ssl = true [dev-packages] -## We do not list packages that are already declared as install_requires -## in setup.cfg +## We do not list packages that are already declared as dependencies (install_requires) +## in pyproject.toml pycodestyle = "*" tox = "*" pytest = "*" @@ -15,8 +15,8 @@ rope = "*" six = "*" [packages] -## We do not list packages that are already declared as install_requires -## in setup.cfg +## We do not list packages that are already declared as dependencies (install_requires) +## in pyproject.toml [packages.e1839a8] path = "." diff --git a/src/VERSION.txt b/src/VERSION.txt index 770c88a80e6..af343da123a 100644 --- a/src/VERSION.txt +++ b/src/VERSION.txt @@ -1 +1 @@ -10.4.beta2 +10.4.beta3 diff --git a/src/bin/sage-version.sh b/src/bin/sage-version.sh index b15410a73db..ec030052a09 100644 --- a/src/bin/sage-version.sh +++ b/src/bin/sage-version.sh @@ -4,6 +4,6 @@ # which stops "setup.py develop" from rewriting it as a Python file. : # This file is auto-generated by the sage-update-version script, do not edit! -SAGE_VERSION='10.4.beta2' -SAGE_RELEASE_DATE='2024-04-08' -SAGE_VERSION_BANNER='SageMath version 10.4.beta2, Release Date: 2024-04-08' +SAGE_VERSION='10.4.beta3' +SAGE_RELEASE_DATE='2024-04-12' +SAGE_VERSION_BANNER='SageMath version 10.4.beta3, Release Date: 2024-04-12' diff --git a/src/doc/en/developer/coding_basics.rst b/src/doc/en/developer/coding_basics.rst index c586b030ed8..b87654b8306 100644 --- a/src/doc/en/developer/coding_basics.rst +++ b/src/doc/en/developer/coding_basics.rst @@ -193,8 +193,8 @@ included in one of the following places: This practice is deprecated, see :issue:`33037`. In all cases, the files must be listed (explicitly or via wildcards) in -the section ``options.package_data`` of the file -:sage_root:`pkgs/sagemath-standard/setup.cfg.m4` (or the corresponding +the section ``[tool.setuptools.package-data]`` of the file +:sage_root:`SAGE_ROOT/pkgs/sagemath-standard/pyproject.toml.m4` (or the corresponding file of another distribution). Large data files should not be added to the Sage source tree. Instead, it diff --git a/src/doc/en/developer/coding_in_python.rst b/src/doc/en/developer/coding_in_python.rst index 37552e5bcfe..9a325f01e52 100644 --- a/src/doc/en/developer/coding_in_python.rst +++ b/src/doc/en/developer/coding_in_python.rst @@ -14,8 +14,9 @@ Python language standard Sage library code needs to be compatible with all versions of Python that Sage supports. The information regarding the supported versions -can be found in the files ``build/pkgs/python3/spkg-configure.m4`` and -``src/setup.cfg.m4``. +can be found in the files ``build/pkgs/python3/spkg-configure.m4`` +(for the Sage distribution), ``m4/pyproject_toml_metadata.m4`` (for +the Sage library and most other distribution packages in ``pkgs/``). Python 3.9 is the oldest supported version. Hence, all language and library features that are available in Python 3.9 can diff --git a/src/doc/en/developer/packaging_sage_library.rst b/src/doc/en/developer/packaging_sage_library.rst index 9fbb4271727..a88e33b93ca 100644 --- a/src/doc/en/developer/packaging_sage_library.rst +++ b/src/doc/en/developer/packaging_sage_library.rst @@ -174,8 +174,7 @@ The source directory of a distribution package, such as $ ./sage --fixdistributions --set all --from-egg-info -- `pyproject.toml `_, - `setup.cfg `_, +- `pyproject.toml `_ and `requirements.txt `_ -- standard Python packaging metadata, declaring the distribution name, dependencies, etc. @@ -288,8 +287,9 @@ modules must be part of the distribution, or provided by another distribution -- which then must be declared as a run-time dependency. *Declaring run-time dependencies:* These dependencies are declared in -``setup.cfg`` (generated from ``setup.cfg.m4``) as -`install_requires `_. +``pyproject.toml`` (generated from ``pyproject.toml.m4``) as +`[project] dependencies `_ (in the older terminology of ``setup.cfg`` and ``setup.py``, +these dependencies were known as ``install_requires``). *Reducing module-level run-time dependencies:* @@ -467,14 +467,17 @@ features, which will only be working if the user also has installed **sagemath-symbolics**. *Declaring optional run-time dependencies:* It is possible to declare -such optional dependencies as `extras_require `_ in ``setup.cfg`` -(generated from ``setup.cfg.m4``). This is a very limited mechanism +such dependencies as `[project.optional-dependencies] `_ in ``pyproject.toml`` +(generated from ``pyproject.toml.m4``). +(In the older terminology of ``setup.cfg`` and ``setup.py``, +these optional dependencies were known as ``extras_require``.) +This is a very limited mechanism -- in particular it does not affect the build phase of the distribution in any way. It basically only provides a way to give a nickname to a distribution that can be installed as an add-on. -In our example, we could declare an ``extras_require`` so that users -could use ``pip install sagemath-coding[symbolics]``. +In our example, we could declare an optional dependency so that users +could use ``pip install "sagemath-coding[symbolics]"``. Doctest-only dependencies @@ -516,7 +519,7 @@ The version information for dependencies comes from the files ``build/pkgs/*/package-version.txt``. We use the `m4 `_ macro processor to insert the version information in the generated files -``pyproject.toml``, ``setup.cfg``, ``requirements.txt``. +``pyproject.toml`` and ``requirements.txt``. Hierarchy of distribution packages @@ -546,8 +549,8 @@ Hierarchy of distribution packages sphinx_plot(g, figsize=(8, 4), axes=False) -Solid arrows indicate ``install_requires``, i.e., a declared runtime dependency. -Dashed arrows indicate ``extras_require``, i.e., a declared optional runtime dependency. +Solid arrows indicate declared runtime dependencies (``install_requires``). +Dashed arrows indicate declared optional runtime dependencies (``extras_require``). Not shown in the diagram are build dependencies and optional dependencies for testing. - `sage_conf `_ is a configuration diff --git a/src/doc/en/developer/portability_platform_table.rst b/src/doc/en/developer/portability_platform_table.rst index d024671c9d8..bf843b0a353 100644 --- a/src/doc/en/developer/portability_platform_table.rst +++ b/src/doc/en/developer/portability_platform_table.rst @@ -1,57 +1,3 @@ -.. |image-ubuntu-trusty-toolchain-gcc_9-minimal-with-system-packages| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-ubuntu-trusty-toolchain-gcc_9-minimal-with-system-packages/size?tag=dev&label=with-system-packages&color=%23696969 - :target: https://ghcr.io/sagemath/sage/sage-ubuntu-trusty-toolchain-gcc_9-minimal-with-system-packages - -.. |image-ubuntu-trusty-toolchain-gcc_9-minimal-configured| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-ubuntu-trusty-toolchain-gcc_9-minimal-configured/latest_tag?ignore=latest,dev,*-failed&label=configured&color=%23696969 - :target: https://ghcr.io/sagemath/sage/sage-ubuntu-trusty-toolchain-gcc_9-minimal-configured - -.. |image-ubuntu-trusty-toolchain-gcc_9-minimal-with-targets-pre| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-ubuntu-trusty-toolchain-gcc_9-minimal-with-targets-pre/latest_tag?ignore=latest,dev,*-failed&label=with-targets-pre&color=%23677895 - :target: https://ghcr.io/sagemath/sage/sage-ubuntu-trusty-toolchain-gcc_9-minimal-with-targets-pre - -.. |image-ubuntu-trusty-toolchain-gcc_9-minimal-with-targets| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-ubuntu-trusty-toolchain-gcc_9-minimal-with-targets/latest_tag?ignore=latest,dev,*-failed&label=with-targets&color=%236686c1 - :target: https://ghcr.io/sagemath/sage/sage-ubuntu-trusty-toolchain-gcc_9-minimal-with-targets - -.. |image-ubuntu-trusty-toolchain-gcc_9-minimal-with-targets-optional| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-ubuntu-trusty-toolchain-gcc_9-minimal-with-targets-optional/latest_tag?ignore=latest,dev,*-failed&label=with-targets-optional&color=%236495ed - :target: https://ghcr.io/sagemath/sage/sage-ubuntu-trusty-toolchain-gcc_9-minimal-with-targets-optional - -.. |codespace-ubuntu-trusty-toolchain-gcc_9-minimal| image:: https://github.com/codespaces/badge.svg - :target: https://codespaces.new/sagemath/sage?devcontainer_path=.devcontainer%2Fportability-ubuntu-trusty-toolchain-gcc_9-minimal%2Fdevcontainer.json - -.. |image-ubuntu-trusty-toolchain-gcc_9-standard-with-system-packages| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-ubuntu-trusty-toolchain-gcc_9-standard-with-system-packages/size?tag=dev&label=with-system-packages&color=%23696969 - :target: https://ghcr.io/sagemath/sage/sage-ubuntu-trusty-toolchain-gcc_9-standard-with-system-packages - -.. |image-ubuntu-trusty-toolchain-gcc_9-standard-configured| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-ubuntu-trusty-toolchain-gcc_9-standard-configured/latest_tag?ignore=latest,dev,*-failed&label=configured&color=%23696969 - :target: https://ghcr.io/sagemath/sage/sage-ubuntu-trusty-toolchain-gcc_9-standard-configured - -.. |image-ubuntu-trusty-toolchain-gcc_9-standard-with-targets-pre| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-ubuntu-trusty-toolchain-gcc_9-standard-with-targets-pre/latest_tag?ignore=latest,dev,*-failed&label=with-targets-pre&color=%235d8a4c - :target: https://ghcr.io/sagemath/sage/sage-ubuntu-trusty-toolchain-gcc_9-standard-with-targets-pre - -.. |image-ubuntu-trusty-toolchain-gcc_9-standard-with-targets| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-ubuntu-trusty-toolchain-gcc_9-standard-with-targets/latest_tag?ignore=latest,dev,*-failed&label=with-targets&color=%2350ab2e - :target: https://ghcr.io/sagemath/sage/sage-ubuntu-trusty-toolchain-gcc_9-standard-with-targets - -.. |image-ubuntu-trusty-toolchain-gcc_9-standard-with-targets-optional| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-ubuntu-trusty-toolchain-gcc_9-standard-with-targets-optional/latest_tag?ignore=latest,dev,*-failed&label=with-targets-optional&color=%2344cc11 - :target: https://ghcr.io/sagemath/sage/sage-ubuntu-trusty-toolchain-gcc_9-standard-with-targets-optional - -.. |codespace-ubuntu-trusty-toolchain-gcc_9-standard| image:: https://github.com/codespaces/badge.svg - :target: https://codespaces.new/sagemath/sage?devcontainer_path=.devcontainer%2Fportability-ubuntu-trusty-toolchain-gcc_9-standard%2Fdevcontainer.json - -.. |image-ubuntu-trusty-toolchain-gcc_9-maximal-with-system-packages| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-ubuntu-trusty-toolchain-gcc_9-maximal-with-system-packages/size?tag=dev&label=with-system-packages&color=%23696969 - :target: https://ghcr.io/sagemath/sage/sage-ubuntu-trusty-toolchain-gcc_9-maximal-with-system-packages - -.. |image-ubuntu-trusty-toolchain-gcc_9-maximal-configured| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-ubuntu-trusty-toolchain-gcc_9-maximal-configured/latest_tag?ignore=latest,dev,*-failed&label=configured&color=%23696969 - :target: https://ghcr.io/sagemath/sage/sage-ubuntu-trusty-toolchain-gcc_9-maximal-configured - -.. |image-ubuntu-trusty-toolchain-gcc_9-maximal-with-targets-pre| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-ubuntu-trusty-toolchain-gcc_9-maximal-with-targets-pre/latest_tag?ignore=latest,dev,*-failed&label=with-targets-pre&color=%238f6b8d - :target: https://ghcr.io/sagemath/sage/sage-ubuntu-trusty-toolchain-gcc_9-maximal-with-targets-pre - -.. |image-ubuntu-trusty-toolchain-gcc_9-maximal-with-targets| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-ubuntu-trusty-toolchain-gcc_9-maximal-with-targets/latest_tag?ignore=latest,dev,*-failed&label=with-targets&color=%23b46eb2 - :target: https://ghcr.io/sagemath/sage/sage-ubuntu-trusty-toolchain-gcc_9-maximal-with-targets - -.. |image-ubuntu-trusty-toolchain-gcc_9-maximal-with-targets-optional| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-ubuntu-trusty-toolchain-gcc_9-maximal-with-targets-optional/latest_tag?ignore=latest,dev,*-failed&label=with-targets-optional&color=%23da70d6 - :target: https://ghcr.io/sagemath/sage/sage-ubuntu-trusty-toolchain-gcc_9-maximal-with-targets-optional - -.. |codespace-ubuntu-trusty-toolchain-gcc_9-maximal| image:: https://github.com/codespaces/badge.svg - :target: https://codespaces.new/sagemath/sage?devcontainer_path=.devcontainer%2Fportability-ubuntu-trusty-toolchain-gcc_9-maximal%2Fdevcontainer.json - .. |image-ubuntu-xenial-toolchain-gcc_9-minimal-with-system-packages| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-ubuntu-xenial-toolchain-gcc_9-minimal-with-system-packages/size?tag=dev&label=with-system-packages&color=%23696969 :target: https://ghcr.io/sagemath/sage/sage-ubuntu-xenial-toolchain-gcc_9-minimal-with-system-packages @@ -376,6 +322,60 @@ .. |codespace-ubuntu-mantic-maximal| image:: https://github.com/codespaces/badge.svg :target: https://codespaces.new/sagemath/sage?devcontainer_path=.devcontainer%2Fportability-ubuntu-mantic-maximal%2Fdevcontainer.json +.. |image-ubuntu-noble-minimal-with-system-packages| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-ubuntu-noble-minimal-with-system-packages/size?tag=dev&label=with-system-packages&color=%23696969 + :target: https://ghcr.io/sagemath/sage/sage-ubuntu-noble-minimal-with-system-packages + +.. |image-ubuntu-noble-minimal-configured| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-ubuntu-noble-minimal-configured/latest_tag?ignore=latest,dev,*-failed&label=configured&color=%23696969 + :target: https://ghcr.io/sagemath/sage/sage-ubuntu-noble-minimal-configured + +.. |image-ubuntu-noble-minimal-with-targets-pre| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-ubuntu-noble-minimal-with-targets-pre/latest_tag?ignore=latest,dev,*-failed&label=with-targets-pre&color=%23677895 + :target: https://ghcr.io/sagemath/sage/sage-ubuntu-noble-minimal-with-targets-pre + +.. |image-ubuntu-noble-minimal-with-targets| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-ubuntu-noble-minimal-with-targets/latest_tag?ignore=latest,dev,*-failed&label=with-targets&color=%236686c1 + :target: https://ghcr.io/sagemath/sage/sage-ubuntu-noble-minimal-with-targets + +.. |image-ubuntu-noble-minimal-with-targets-optional| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-ubuntu-noble-minimal-with-targets-optional/latest_tag?ignore=latest,dev,*-failed&label=with-targets-optional&color=%236495ed + :target: https://ghcr.io/sagemath/sage/sage-ubuntu-noble-minimal-with-targets-optional + +.. |codespace-ubuntu-noble-minimal| image:: https://github.com/codespaces/badge.svg + :target: https://codespaces.new/sagemath/sage?devcontainer_path=.devcontainer%2Fportability-ubuntu-noble-minimal%2Fdevcontainer.json + +.. |image-ubuntu-noble-standard-with-system-packages| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-ubuntu-noble-standard-with-system-packages/size?tag=dev&label=with-system-packages&color=%23696969 + :target: https://ghcr.io/sagemath/sage/sage-ubuntu-noble-standard-with-system-packages + +.. |image-ubuntu-noble-standard-configured| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-ubuntu-noble-standard-configured/latest_tag?ignore=latest,dev,*-failed&label=configured&color=%23696969 + :target: https://ghcr.io/sagemath/sage/sage-ubuntu-noble-standard-configured + +.. |image-ubuntu-noble-standard-with-targets-pre| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-ubuntu-noble-standard-with-targets-pre/latest_tag?ignore=latest,dev,*-failed&label=with-targets-pre&color=%235d8a4c + :target: https://ghcr.io/sagemath/sage/sage-ubuntu-noble-standard-with-targets-pre + +.. |image-ubuntu-noble-standard-with-targets| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-ubuntu-noble-standard-with-targets/latest_tag?ignore=latest,dev,*-failed&label=with-targets&color=%2350ab2e + :target: https://ghcr.io/sagemath/sage/sage-ubuntu-noble-standard-with-targets + +.. |image-ubuntu-noble-standard-with-targets-optional| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-ubuntu-noble-standard-with-targets-optional/latest_tag?ignore=latest,dev,*-failed&label=with-targets-optional&color=%2344cc11 + :target: https://ghcr.io/sagemath/sage/sage-ubuntu-noble-standard-with-targets-optional + +.. |codespace-ubuntu-noble-standard| image:: https://github.com/codespaces/badge.svg + :target: https://codespaces.new/sagemath/sage?devcontainer_path=.devcontainer%2Fportability-ubuntu-noble-standard%2Fdevcontainer.json + +.. |image-ubuntu-noble-maximal-with-system-packages| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-ubuntu-noble-maximal-with-system-packages/size?tag=dev&label=with-system-packages&color=%23696969 + :target: https://ghcr.io/sagemath/sage/sage-ubuntu-noble-maximal-with-system-packages + +.. |image-ubuntu-noble-maximal-configured| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-ubuntu-noble-maximal-configured/latest_tag?ignore=latest,dev,*-failed&label=configured&color=%23696969 + :target: https://ghcr.io/sagemath/sage/sage-ubuntu-noble-maximal-configured + +.. |image-ubuntu-noble-maximal-with-targets-pre| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-ubuntu-noble-maximal-with-targets-pre/latest_tag?ignore=latest,dev,*-failed&label=with-targets-pre&color=%238f6b8d + :target: https://ghcr.io/sagemath/sage/sage-ubuntu-noble-maximal-with-targets-pre + +.. |image-ubuntu-noble-maximal-with-targets| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-ubuntu-noble-maximal-with-targets/latest_tag?ignore=latest,dev,*-failed&label=with-targets&color=%23b46eb2 + :target: https://ghcr.io/sagemath/sage/sage-ubuntu-noble-maximal-with-targets + +.. |image-ubuntu-noble-maximal-with-targets-optional| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-ubuntu-noble-maximal-with-targets-optional/latest_tag?ignore=latest,dev,*-failed&label=with-targets-optional&color=%23da70d6 + :target: https://ghcr.io/sagemath/sage/sage-ubuntu-noble-maximal-with-targets-optional + +.. |codespace-ubuntu-noble-maximal| image:: https://github.com/codespaces/badge.svg + :target: https://codespaces.new/sagemath/sage?devcontainer_path=.devcontainer%2Fportability-ubuntu-noble-maximal%2Fdevcontainer.json + .. |image-debian-buster-gcc_spkg-minimal-with-system-packages| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-debian-buster-gcc_spkg-minimal-with-system-packages/size?tag=dev&label=with-system-packages&color=%23696969 :target: https://ghcr.io/sagemath/sage/sage-debian-buster-gcc_spkg-minimal-with-system-packages @@ -970,6 +970,60 @@ .. |codespace-linuxmint-21.2-maximal| image:: https://github.com/codespaces/badge.svg :target: https://codespaces.new/sagemath/sage?devcontainer_path=.devcontainer%2Fportability-linuxmint-21.2-maximal%2Fdevcontainer.json +.. |image-linuxmint-21.3-minimal-with-system-packages| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-linuxmint-21.3-minimal-with-system-packages/size?tag=dev&label=with-system-packages&color=%23696969 + :target: https://ghcr.io/sagemath/sage/sage-linuxmint-21.3-minimal-with-system-packages + +.. |image-linuxmint-21.3-minimal-configured| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-linuxmint-21.3-minimal-configured/latest_tag?ignore=latest,dev,*-failed&label=configured&color=%23696969 + :target: https://ghcr.io/sagemath/sage/sage-linuxmint-21.3-minimal-configured + +.. |image-linuxmint-21.3-minimal-with-targets-pre| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-linuxmint-21.3-minimal-with-targets-pre/latest_tag?ignore=latest,dev,*-failed&label=with-targets-pre&color=%23677895 + :target: https://ghcr.io/sagemath/sage/sage-linuxmint-21.3-minimal-with-targets-pre + +.. |image-linuxmint-21.3-minimal-with-targets| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-linuxmint-21.3-minimal-with-targets/latest_tag?ignore=latest,dev,*-failed&label=with-targets&color=%236686c1 + :target: https://ghcr.io/sagemath/sage/sage-linuxmint-21.3-minimal-with-targets + +.. |image-linuxmint-21.3-minimal-with-targets-optional| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-linuxmint-21.3-minimal-with-targets-optional/latest_tag?ignore=latest,dev,*-failed&label=with-targets-optional&color=%236495ed + :target: https://ghcr.io/sagemath/sage/sage-linuxmint-21.3-minimal-with-targets-optional + +.. |codespace-linuxmint-21.3-minimal| image:: https://github.com/codespaces/badge.svg + :target: https://codespaces.new/sagemath/sage?devcontainer_path=.devcontainer%2Fportability-linuxmint-21.3-minimal%2Fdevcontainer.json + +.. |image-linuxmint-21.3-standard-with-system-packages| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-linuxmint-21.3-standard-with-system-packages/size?tag=dev&label=with-system-packages&color=%23696969 + :target: https://ghcr.io/sagemath/sage/sage-linuxmint-21.3-standard-with-system-packages + +.. |image-linuxmint-21.3-standard-configured| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-linuxmint-21.3-standard-configured/latest_tag?ignore=latest,dev,*-failed&label=configured&color=%23696969 + :target: https://ghcr.io/sagemath/sage/sage-linuxmint-21.3-standard-configured + +.. |image-linuxmint-21.3-standard-with-targets-pre| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-linuxmint-21.3-standard-with-targets-pre/latest_tag?ignore=latest,dev,*-failed&label=with-targets-pre&color=%235d8a4c + :target: https://ghcr.io/sagemath/sage/sage-linuxmint-21.3-standard-with-targets-pre + +.. |image-linuxmint-21.3-standard-with-targets| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-linuxmint-21.3-standard-with-targets/latest_tag?ignore=latest,dev,*-failed&label=with-targets&color=%2350ab2e + :target: https://ghcr.io/sagemath/sage/sage-linuxmint-21.3-standard-with-targets + +.. |image-linuxmint-21.3-standard-with-targets-optional| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-linuxmint-21.3-standard-with-targets-optional/latest_tag?ignore=latest,dev,*-failed&label=with-targets-optional&color=%2344cc11 + :target: https://ghcr.io/sagemath/sage/sage-linuxmint-21.3-standard-with-targets-optional + +.. |codespace-linuxmint-21.3-standard| image:: https://github.com/codespaces/badge.svg + :target: https://codespaces.new/sagemath/sage?devcontainer_path=.devcontainer%2Fportability-linuxmint-21.3-standard%2Fdevcontainer.json + +.. |image-linuxmint-21.3-maximal-with-system-packages| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-linuxmint-21.3-maximal-with-system-packages/size?tag=dev&label=with-system-packages&color=%23696969 + :target: https://ghcr.io/sagemath/sage/sage-linuxmint-21.3-maximal-with-system-packages + +.. |image-linuxmint-21.3-maximal-configured| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-linuxmint-21.3-maximal-configured/latest_tag?ignore=latest,dev,*-failed&label=configured&color=%23696969 + :target: https://ghcr.io/sagemath/sage/sage-linuxmint-21.3-maximal-configured + +.. |image-linuxmint-21.3-maximal-with-targets-pre| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-linuxmint-21.3-maximal-with-targets-pre/latest_tag?ignore=latest,dev,*-failed&label=with-targets-pre&color=%238f6b8d + :target: https://ghcr.io/sagemath/sage/sage-linuxmint-21.3-maximal-with-targets-pre + +.. |image-linuxmint-21.3-maximal-with-targets| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-linuxmint-21.3-maximal-with-targets/latest_tag?ignore=latest,dev,*-failed&label=with-targets&color=%23b46eb2 + :target: https://ghcr.io/sagemath/sage/sage-linuxmint-21.3-maximal-with-targets + +.. |image-linuxmint-21.3-maximal-with-targets-optional| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-linuxmint-21.3-maximal-with-targets-optional/latest_tag?ignore=latest,dev,*-failed&label=with-targets-optional&color=%23da70d6 + :target: https://ghcr.io/sagemath/sage/sage-linuxmint-21.3-maximal-with-targets-optional + +.. |codespace-linuxmint-21.3-maximal| image:: https://github.com/codespaces/badge.svg + :target: https://codespaces.new/sagemath/sage?devcontainer_path=.devcontainer%2Fportability-linuxmint-21.3-maximal%2Fdevcontainer.json + .. |image-fedora-30-minimal-with-system-packages| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-fedora-30-minimal-with-system-packages/size?tag=dev&label=with-system-packages&color=%23696969 :target: https://ghcr.io/sagemath/sage/sage-fedora-30-minimal-with-system-packages @@ -1510,6 +1564,60 @@ .. |codespace-fedora-39-maximal| image:: https://github.com/codespaces/badge.svg :target: https://codespaces.new/sagemath/sage?devcontainer_path=.devcontainer%2Fportability-fedora-39-maximal%2Fdevcontainer.json +.. |image-fedora-40-minimal-with-system-packages| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-fedora-40-minimal-with-system-packages/size?tag=dev&label=with-system-packages&color=%23696969 + :target: https://ghcr.io/sagemath/sage/sage-fedora-40-minimal-with-system-packages + +.. |image-fedora-40-minimal-configured| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-fedora-40-minimal-configured/latest_tag?ignore=latest,dev,*-failed&label=configured&color=%23696969 + :target: https://ghcr.io/sagemath/sage/sage-fedora-40-minimal-configured + +.. |image-fedora-40-minimal-with-targets-pre| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-fedora-40-minimal-with-targets-pre/latest_tag?ignore=latest,dev,*-failed&label=with-targets-pre&color=%23677895 + :target: https://ghcr.io/sagemath/sage/sage-fedora-40-minimal-with-targets-pre + +.. |image-fedora-40-minimal-with-targets| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-fedora-40-minimal-with-targets/latest_tag?ignore=latest,dev,*-failed&label=with-targets&color=%236686c1 + :target: https://ghcr.io/sagemath/sage/sage-fedora-40-minimal-with-targets + +.. |image-fedora-40-minimal-with-targets-optional| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-fedora-40-minimal-with-targets-optional/latest_tag?ignore=latest,dev,*-failed&label=with-targets-optional&color=%236495ed + :target: https://ghcr.io/sagemath/sage/sage-fedora-40-minimal-with-targets-optional + +.. |codespace-fedora-40-minimal| image:: https://github.com/codespaces/badge.svg + :target: https://codespaces.new/sagemath/sage?devcontainer_path=.devcontainer%2Fportability-fedora-40-minimal%2Fdevcontainer.json + +.. |image-fedora-40-standard-with-system-packages| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-fedora-40-standard-with-system-packages/size?tag=dev&label=with-system-packages&color=%23696969 + :target: https://ghcr.io/sagemath/sage/sage-fedora-40-standard-with-system-packages + +.. |image-fedora-40-standard-configured| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-fedora-40-standard-configured/latest_tag?ignore=latest,dev,*-failed&label=configured&color=%23696969 + :target: https://ghcr.io/sagemath/sage/sage-fedora-40-standard-configured + +.. |image-fedora-40-standard-with-targets-pre| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-fedora-40-standard-with-targets-pre/latest_tag?ignore=latest,dev,*-failed&label=with-targets-pre&color=%235d8a4c + :target: https://ghcr.io/sagemath/sage/sage-fedora-40-standard-with-targets-pre + +.. |image-fedora-40-standard-with-targets| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-fedora-40-standard-with-targets/latest_tag?ignore=latest,dev,*-failed&label=with-targets&color=%2350ab2e + :target: https://ghcr.io/sagemath/sage/sage-fedora-40-standard-with-targets + +.. |image-fedora-40-standard-with-targets-optional| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-fedora-40-standard-with-targets-optional/latest_tag?ignore=latest,dev,*-failed&label=with-targets-optional&color=%2344cc11 + :target: https://ghcr.io/sagemath/sage/sage-fedora-40-standard-with-targets-optional + +.. |codespace-fedora-40-standard| image:: https://github.com/codespaces/badge.svg + :target: https://codespaces.new/sagemath/sage?devcontainer_path=.devcontainer%2Fportability-fedora-40-standard%2Fdevcontainer.json + +.. |image-fedora-40-maximal-with-system-packages| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-fedora-40-maximal-with-system-packages/size?tag=dev&label=with-system-packages&color=%23696969 + :target: https://ghcr.io/sagemath/sage/sage-fedora-40-maximal-with-system-packages + +.. |image-fedora-40-maximal-configured| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-fedora-40-maximal-configured/latest_tag?ignore=latest,dev,*-failed&label=configured&color=%23696969 + :target: https://ghcr.io/sagemath/sage/sage-fedora-40-maximal-configured + +.. |image-fedora-40-maximal-with-targets-pre| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-fedora-40-maximal-with-targets-pre/latest_tag?ignore=latest,dev,*-failed&label=with-targets-pre&color=%238f6b8d + :target: https://ghcr.io/sagemath/sage/sage-fedora-40-maximal-with-targets-pre + +.. |image-fedora-40-maximal-with-targets| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-fedora-40-maximal-with-targets/latest_tag?ignore=latest,dev,*-failed&label=with-targets&color=%23b46eb2 + :target: https://ghcr.io/sagemath/sage/sage-fedora-40-maximal-with-targets + +.. |image-fedora-40-maximal-with-targets-optional| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-fedora-40-maximal-with-targets-optional/latest_tag?ignore=latest,dev,*-failed&label=with-targets-optional&color=%23da70d6 + :target: https://ghcr.io/sagemath/sage/sage-fedora-40-maximal-with-targets-optional + +.. |codespace-fedora-40-maximal| image:: https://github.com/codespaces/badge.svg + :target: https://codespaces.new/sagemath/sage?devcontainer_path=.devcontainer%2Fportability-fedora-40-maximal%2Fdevcontainer.json + .. |image-centos-7-devtoolset-gcc_11-minimal-with-system-packages| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-centos-7-devtoolset-gcc_11-minimal-with-system-packages/size?tag=dev&label=with-system-packages&color=%23696969 :target: https://ghcr.io/sagemath/sage/sage-centos-7-devtoolset-gcc_11-minimal-with-system-packages @@ -1888,6 +1996,60 @@ .. |codespace-gentoo-python3.11-maximal| image:: https://github.com/codespaces/badge.svg :target: https://codespaces.new/sagemath/sage?devcontainer_path=.devcontainer%2Fportability-gentoo-python3.11-maximal%2Fdevcontainer.json +.. |image-gentoo-python3.12-minimal-with-system-packages| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-gentoo-python3.12-minimal-with-system-packages/size?tag=dev&label=with-system-packages&color=%23696969 + :target: https://ghcr.io/sagemath/sage/sage-gentoo-python3.12-minimal-with-system-packages + +.. |image-gentoo-python3.12-minimal-configured| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-gentoo-python3.12-minimal-configured/latest_tag?ignore=latest,dev,*-failed&label=configured&color=%23696969 + :target: https://ghcr.io/sagemath/sage/sage-gentoo-python3.12-minimal-configured + +.. |image-gentoo-python3.12-minimal-with-targets-pre| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-gentoo-python3.12-minimal-with-targets-pre/latest_tag?ignore=latest,dev,*-failed&label=with-targets-pre&color=%23677895 + :target: https://ghcr.io/sagemath/sage/sage-gentoo-python3.12-minimal-with-targets-pre + +.. |image-gentoo-python3.12-minimal-with-targets| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-gentoo-python3.12-minimal-with-targets/latest_tag?ignore=latest,dev,*-failed&label=with-targets&color=%236686c1 + :target: https://ghcr.io/sagemath/sage/sage-gentoo-python3.12-minimal-with-targets + +.. |image-gentoo-python3.12-minimal-with-targets-optional| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-gentoo-python3.12-minimal-with-targets-optional/latest_tag?ignore=latest,dev,*-failed&label=with-targets-optional&color=%236495ed + :target: https://ghcr.io/sagemath/sage/sage-gentoo-python3.12-minimal-with-targets-optional + +.. |codespace-gentoo-python3.12-minimal| image:: https://github.com/codespaces/badge.svg + :target: https://codespaces.new/sagemath/sage?devcontainer_path=.devcontainer%2Fportability-gentoo-python3.12-minimal%2Fdevcontainer.json + +.. |image-gentoo-python3.12-standard-with-system-packages| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-gentoo-python3.12-standard-with-system-packages/size?tag=dev&label=with-system-packages&color=%23696969 + :target: https://ghcr.io/sagemath/sage/sage-gentoo-python3.12-standard-with-system-packages + +.. |image-gentoo-python3.12-standard-configured| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-gentoo-python3.12-standard-configured/latest_tag?ignore=latest,dev,*-failed&label=configured&color=%23696969 + :target: https://ghcr.io/sagemath/sage/sage-gentoo-python3.12-standard-configured + +.. |image-gentoo-python3.12-standard-with-targets-pre| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-gentoo-python3.12-standard-with-targets-pre/latest_tag?ignore=latest,dev,*-failed&label=with-targets-pre&color=%235d8a4c + :target: https://ghcr.io/sagemath/sage/sage-gentoo-python3.12-standard-with-targets-pre + +.. |image-gentoo-python3.12-standard-with-targets| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-gentoo-python3.12-standard-with-targets/latest_tag?ignore=latest,dev,*-failed&label=with-targets&color=%2350ab2e + :target: https://ghcr.io/sagemath/sage/sage-gentoo-python3.12-standard-with-targets + +.. |image-gentoo-python3.12-standard-with-targets-optional| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-gentoo-python3.12-standard-with-targets-optional/latest_tag?ignore=latest,dev,*-failed&label=with-targets-optional&color=%2344cc11 + :target: https://ghcr.io/sagemath/sage/sage-gentoo-python3.12-standard-with-targets-optional + +.. |codespace-gentoo-python3.12-standard| image:: https://github.com/codespaces/badge.svg + :target: https://codespaces.new/sagemath/sage?devcontainer_path=.devcontainer%2Fportability-gentoo-python3.12-standard%2Fdevcontainer.json + +.. |image-gentoo-python3.12-maximal-with-system-packages| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-gentoo-python3.12-maximal-with-system-packages/size?tag=dev&label=with-system-packages&color=%23696969 + :target: https://ghcr.io/sagemath/sage/sage-gentoo-python3.12-maximal-with-system-packages + +.. |image-gentoo-python3.12-maximal-configured| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-gentoo-python3.12-maximal-configured/latest_tag?ignore=latest,dev,*-failed&label=configured&color=%23696969 + :target: https://ghcr.io/sagemath/sage/sage-gentoo-python3.12-maximal-configured + +.. |image-gentoo-python3.12-maximal-with-targets-pre| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-gentoo-python3.12-maximal-with-targets-pre/latest_tag?ignore=latest,dev,*-failed&label=with-targets-pre&color=%238f6b8d + :target: https://ghcr.io/sagemath/sage/sage-gentoo-python3.12-maximal-with-targets-pre + +.. |image-gentoo-python3.12-maximal-with-targets| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-gentoo-python3.12-maximal-with-targets/latest_tag?ignore=latest,dev,*-failed&label=with-targets&color=%23b46eb2 + :target: https://ghcr.io/sagemath/sage/sage-gentoo-python3.12-maximal-with-targets + +.. |image-gentoo-python3.12-maximal-with-targets-optional| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-gentoo-python3.12-maximal-with-targets-optional/latest_tag?ignore=latest,dev,*-failed&label=with-targets-optional&color=%23da70d6 + :target: https://ghcr.io/sagemath/sage/sage-gentoo-python3.12-maximal-with-targets-optional + +.. |codespace-gentoo-python3.12-maximal| image:: https://github.com/codespaces/badge.svg + :target: https://codespaces.new/sagemath/sage?devcontainer_path=.devcontainer%2Fportability-gentoo-python3.12-maximal%2Fdevcontainer.json + .. |image-archlinux-latest-minimal-with-system-packages| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-archlinux-latest-minimal-with-system-packages/size?tag=dev&label=with-system-packages&color=%23696969 :target: https://ghcr.io/sagemath/sage/sage-archlinux-latest-minimal-with-system-packages @@ -1942,114 +2104,6 @@ .. |codespace-archlinux-latest-maximal| image:: https://github.com/codespaces/badge.svg :target: https://codespaces.new/sagemath/sage?devcontainer_path=.devcontainer%2Fportability-archlinux-latest-maximal%2Fdevcontainer.json -.. |image-opensuse-15.3-gcc_11-python3.9-minimal-with-system-packages| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-opensuse-15.3-gcc_11-python3.9-minimal-with-system-packages/size?tag=dev&label=with-system-packages&color=%23696969 - :target: https://ghcr.io/sagemath/sage/sage-opensuse-15.3-gcc_11-python3.9-minimal-with-system-packages - -.. |image-opensuse-15.3-gcc_11-python3.9-minimal-configured| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-opensuse-15.3-gcc_11-python3.9-minimal-configured/latest_tag?ignore=latest,dev,*-failed&label=configured&color=%23696969 - :target: https://ghcr.io/sagemath/sage/sage-opensuse-15.3-gcc_11-python3.9-minimal-configured - -.. |image-opensuse-15.3-gcc_11-python3.9-minimal-with-targets-pre| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-opensuse-15.3-gcc_11-python3.9-minimal-with-targets-pre/latest_tag?ignore=latest,dev,*-failed&label=with-targets-pre&color=%23677895 - :target: https://ghcr.io/sagemath/sage/sage-opensuse-15.3-gcc_11-python3.9-minimal-with-targets-pre - -.. |image-opensuse-15.3-gcc_11-python3.9-minimal-with-targets| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-opensuse-15.3-gcc_11-python3.9-minimal-with-targets/latest_tag?ignore=latest,dev,*-failed&label=with-targets&color=%236686c1 - :target: https://ghcr.io/sagemath/sage/sage-opensuse-15.3-gcc_11-python3.9-minimal-with-targets - -.. |image-opensuse-15.3-gcc_11-python3.9-minimal-with-targets-optional| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-opensuse-15.3-gcc_11-python3.9-minimal-with-targets-optional/latest_tag?ignore=latest,dev,*-failed&label=with-targets-optional&color=%236495ed - :target: https://ghcr.io/sagemath/sage/sage-opensuse-15.3-gcc_11-python3.9-minimal-with-targets-optional - -.. |codespace-opensuse-15.3-gcc_11-python3.9-minimal| image:: https://github.com/codespaces/badge.svg - :target: https://codespaces.new/sagemath/sage?devcontainer_path=.devcontainer%2Fportability-opensuse-15.3-gcc_11-python3.9-minimal%2Fdevcontainer.json - -.. |image-opensuse-15.3-gcc_11-python3.9-standard-with-system-packages| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-opensuse-15.3-gcc_11-python3.9-standard-with-system-packages/size?tag=dev&label=with-system-packages&color=%23696969 - :target: https://ghcr.io/sagemath/sage/sage-opensuse-15.3-gcc_11-python3.9-standard-with-system-packages - -.. |image-opensuse-15.3-gcc_11-python3.9-standard-configured| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-opensuse-15.3-gcc_11-python3.9-standard-configured/latest_tag?ignore=latest,dev,*-failed&label=configured&color=%23696969 - :target: https://ghcr.io/sagemath/sage/sage-opensuse-15.3-gcc_11-python3.9-standard-configured - -.. |image-opensuse-15.3-gcc_11-python3.9-standard-with-targets-pre| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-opensuse-15.3-gcc_11-python3.9-standard-with-targets-pre/latest_tag?ignore=latest,dev,*-failed&label=with-targets-pre&color=%235d8a4c - :target: https://ghcr.io/sagemath/sage/sage-opensuse-15.3-gcc_11-python3.9-standard-with-targets-pre - -.. |image-opensuse-15.3-gcc_11-python3.9-standard-with-targets| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-opensuse-15.3-gcc_11-python3.9-standard-with-targets/latest_tag?ignore=latest,dev,*-failed&label=with-targets&color=%2350ab2e - :target: https://ghcr.io/sagemath/sage/sage-opensuse-15.3-gcc_11-python3.9-standard-with-targets - -.. |image-opensuse-15.3-gcc_11-python3.9-standard-with-targets-optional| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-opensuse-15.3-gcc_11-python3.9-standard-with-targets-optional/latest_tag?ignore=latest,dev,*-failed&label=with-targets-optional&color=%2344cc11 - :target: https://ghcr.io/sagemath/sage/sage-opensuse-15.3-gcc_11-python3.9-standard-with-targets-optional - -.. |codespace-opensuse-15.3-gcc_11-python3.9-standard| image:: https://github.com/codespaces/badge.svg - :target: https://codespaces.new/sagemath/sage?devcontainer_path=.devcontainer%2Fportability-opensuse-15.3-gcc_11-python3.9-standard%2Fdevcontainer.json - -.. |image-opensuse-15.3-gcc_11-python3.9-maximal-with-system-packages| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-opensuse-15.3-gcc_11-python3.9-maximal-with-system-packages/size?tag=dev&label=with-system-packages&color=%23696969 - :target: https://ghcr.io/sagemath/sage/sage-opensuse-15.3-gcc_11-python3.9-maximal-with-system-packages - -.. |image-opensuse-15.3-gcc_11-python3.9-maximal-configured| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-opensuse-15.3-gcc_11-python3.9-maximal-configured/latest_tag?ignore=latest,dev,*-failed&label=configured&color=%23696969 - :target: https://ghcr.io/sagemath/sage/sage-opensuse-15.3-gcc_11-python3.9-maximal-configured - -.. |image-opensuse-15.3-gcc_11-python3.9-maximal-with-targets-pre| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-opensuse-15.3-gcc_11-python3.9-maximal-with-targets-pre/latest_tag?ignore=latest,dev,*-failed&label=with-targets-pre&color=%238f6b8d - :target: https://ghcr.io/sagemath/sage/sage-opensuse-15.3-gcc_11-python3.9-maximal-with-targets-pre - -.. |image-opensuse-15.3-gcc_11-python3.9-maximal-with-targets| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-opensuse-15.3-gcc_11-python3.9-maximal-with-targets/latest_tag?ignore=latest,dev,*-failed&label=with-targets&color=%23b46eb2 - :target: https://ghcr.io/sagemath/sage/sage-opensuse-15.3-gcc_11-python3.9-maximal-with-targets - -.. |image-opensuse-15.3-gcc_11-python3.9-maximal-with-targets-optional| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-opensuse-15.3-gcc_11-python3.9-maximal-with-targets-optional/latest_tag?ignore=latest,dev,*-failed&label=with-targets-optional&color=%23da70d6 - :target: https://ghcr.io/sagemath/sage/sage-opensuse-15.3-gcc_11-python3.9-maximal-with-targets-optional - -.. |codespace-opensuse-15.3-gcc_11-python3.9-maximal| image:: https://github.com/codespaces/badge.svg - :target: https://codespaces.new/sagemath/sage?devcontainer_path=.devcontainer%2Fportability-opensuse-15.3-gcc_11-python3.9-maximal%2Fdevcontainer.json - -.. |image-opensuse-15.4-gcc_11-python3.10-minimal-with-system-packages| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-opensuse-15.4-gcc_11-python3.10-minimal-with-system-packages/size?tag=dev&label=with-system-packages&color=%23696969 - :target: https://ghcr.io/sagemath/sage/sage-opensuse-15.4-gcc_11-python3.10-minimal-with-system-packages - -.. |image-opensuse-15.4-gcc_11-python3.10-minimal-configured| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-opensuse-15.4-gcc_11-python3.10-minimal-configured/latest_tag?ignore=latest,dev,*-failed&label=configured&color=%23696969 - :target: https://ghcr.io/sagemath/sage/sage-opensuse-15.4-gcc_11-python3.10-minimal-configured - -.. |image-opensuse-15.4-gcc_11-python3.10-minimal-with-targets-pre| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-opensuse-15.4-gcc_11-python3.10-minimal-with-targets-pre/latest_tag?ignore=latest,dev,*-failed&label=with-targets-pre&color=%23677895 - :target: https://ghcr.io/sagemath/sage/sage-opensuse-15.4-gcc_11-python3.10-minimal-with-targets-pre - -.. |image-opensuse-15.4-gcc_11-python3.10-minimal-with-targets| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-opensuse-15.4-gcc_11-python3.10-minimal-with-targets/latest_tag?ignore=latest,dev,*-failed&label=with-targets&color=%236686c1 - :target: https://ghcr.io/sagemath/sage/sage-opensuse-15.4-gcc_11-python3.10-minimal-with-targets - -.. |image-opensuse-15.4-gcc_11-python3.10-minimal-with-targets-optional| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-opensuse-15.4-gcc_11-python3.10-minimal-with-targets-optional/latest_tag?ignore=latest,dev,*-failed&label=with-targets-optional&color=%236495ed - :target: https://ghcr.io/sagemath/sage/sage-opensuse-15.4-gcc_11-python3.10-minimal-with-targets-optional - -.. |codespace-opensuse-15.4-gcc_11-python3.10-minimal| image:: https://github.com/codespaces/badge.svg - :target: https://codespaces.new/sagemath/sage?devcontainer_path=.devcontainer%2Fportability-opensuse-15.4-gcc_11-python3.10-minimal%2Fdevcontainer.json - -.. |image-opensuse-15.4-gcc_11-python3.10-standard-with-system-packages| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-opensuse-15.4-gcc_11-python3.10-standard-with-system-packages/size?tag=dev&label=with-system-packages&color=%23696969 - :target: https://ghcr.io/sagemath/sage/sage-opensuse-15.4-gcc_11-python3.10-standard-with-system-packages - -.. |image-opensuse-15.4-gcc_11-python3.10-standard-configured| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-opensuse-15.4-gcc_11-python3.10-standard-configured/latest_tag?ignore=latest,dev,*-failed&label=configured&color=%23696969 - :target: https://ghcr.io/sagemath/sage/sage-opensuse-15.4-gcc_11-python3.10-standard-configured - -.. |image-opensuse-15.4-gcc_11-python3.10-standard-with-targets-pre| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-opensuse-15.4-gcc_11-python3.10-standard-with-targets-pre/latest_tag?ignore=latest,dev,*-failed&label=with-targets-pre&color=%235d8a4c - :target: https://ghcr.io/sagemath/sage/sage-opensuse-15.4-gcc_11-python3.10-standard-with-targets-pre - -.. |image-opensuse-15.4-gcc_11-python3.10-standard-with-targets| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-opensuse-15.4-gcc_11-python3.10-standard-with-targets/latest_tag?ignore=latest,dev,*-failed&label=with-targets&color=%2350ab2e - :target: https://ghcr.io/sagemath/sage/sage-opensuse-15.4-gcc_11-python3.10-standard-with-targets - -.. |image-opensuse-15.4-gcc_11-python3.10-standard-with-targets-optional| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-opensuse-15.4-gcc_11-python3.10-standard-with-targets-optional/latest_tag?ignore=latest,dev,*-failed&label=with-targets-optional&color=%2344cc11 - :target: https://ghcr.io/sagemath/sage/sage-opensuse-15.4-gcc_11-python3.10-standard-with-targets-optional - -.. |codespace-opensuse-15.4-gcc_11-python3.10-standard| image:: https://github.com/codespaces/badge.svg - :target: https://codespaces.new/sagemath/sage?devcontainer_path=.devcontainer%2Fportability-opensuse-15.4-gcc_11-python3.10-standard%2Fdevcontainer.json - -.. |image-opensuse-15.4-gcc_11-python3.10-maximal-with-system-packages| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-opensuse-15.4-gcc_11-python3.10-maximal-with-system-packages/size?tag=dev&label=with-system-packages&color=%23696969 - :target: https://ghcr.io/sagemath/sage/sage-opensuse-15.4-gcc_11-python3.10-maximal-with-system-packages - -.. |image-opensuse-15.4-gcc_11-python3.10-maximal-configured| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-opensuse-15.4-gcc_11-python3.10-maximal-configured/latest_tag?ignore=latest,dev,*-failed&label=configured&color=%23696969 - :target: https://ghcr.io/sagemath/sage/sage-opensuse-15.4-gcc_11-python3.10-maximal-configured - -.. |image-opensuse-15.4-gcc_11-python3.10-maximal-with-targets-pre| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-opensuse-15.4-gcc_11-python3.10-maximal-with-targets-pre/latest_tag?ignore=latest,dev,*-failed&label=with-targets-pre&color=%238f6b8d - :target: https://ghcr.io/sagemath/sage/sage-opensuse-15.4-gcc_11-python3.10-maximal-with-targets-pre - -.. |image-opensuse-15.4-gcc_11-python3.10-maximal-with-targets| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-opensuse-15.4-gcc_11-python3.10-maximal-with-targets/latest_tag?ignore=latest,dev,*-failed&label=with-targets&color=%23b46eb2 - :target: https://ghcr.io/sagemath/sage/sage-opensuse-15.4-gcc_11-python3.10-maximal-with-targets - -.. |image-opensuse-15.4-gcc_11-python3.10-maximal-with-targets-optional| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-opensuse-15.4-gcc_11-python3.10-maximal-with-targets-optional/latest_tag?ignore=latest,dev,*-failed&label=with-targets-optional&color=%23da70d6 - :target: https://ghcr.io/sagemath/sage/sage-opensuse-15.4-gcc_11-python3.10-maximal-with-targets-optional - -.. |codespace-opensuse-15.4-gcc_11-python3.10-maximal| image:: https://github.com/codespaces/badge.svg - :target: https://codespaces.new/sagemath/sage?devcontainer_path=.devcontainer%2Fportability-opensuse-15.4-gcc_11-python3.10-maximal%2Fdevcontainer.json - .. |image-opensuse-15.5-gcc_11-python3.11-minimal-with-system-packages| image:: https://ghcr-badge.egpl.dev/sagemath/sage/sage-opensuse-15.5-gcc_11-python3.11-minimal-with-system-packages/size?tag=dev&label=with-system-packages&color=%23696969 :target: https://ghcr.io/sagemath/sage/sage-opensuse-15.5-gcc_11-python3.11-minimal-with-system-packages @@ -2382,17 +2436,6 @@ * - Platform - Images - - * - **ubuntu**-trusty-toolchain-gcc_9 - -    ‑*minimal* - - |image-ubuntu-trusty-toolchain-gcc_9-minimal-with-system-packages| |image-ubuntu-trusty-toolchain-gcc_9-minimal-with-targets-pre| |image-ubuntu-trusty-toolchain-gcc_9-minimal-with-targets| |image-ubuntu-trusty-toolchain-gcc_9-minimal-with-targets-optional| - - |codespace-ubuntu-trusty-toolchain-gcc_9-minimal| - * -    ‑*standard* - - |image-ubuntu-trusty-toolchain-gcc_9-standard-with-system-packages| |image-ubuntu-trusty-toolchain-gcc_9-standard-with-targets-pre| |image-ubuntu-trusty-toolchain-gcc_9-standard-with-targets| |image-ubuntu-trusty-toolchain-gcc_9-standard-with-targets-optional| - - |codespace-ubuntu-trusty-toolchain-gcc_9-standard| - * -    ‑*maximal* - - |image-ubuntu-trusty-toolchain-gcc_9-maximal-with-system-packages| |image-ubuntu-trusty-toolchain-gcc_9-maximal-with-targets-pre| - - * - **ubuntu**-xenial-toolchain-gcc_9    ‑*minimal* @@ -2459,6 +2502,17 @@ * -    ‑*maximal* - |image-ubuntu-mantic-maximal-with-system-packages| |image-ubuntu-mantic-maximal-with-targets-pre| - + * - **ubuntu**-noble + +    ‑*minimal* + - |image-ubuntu-noble-minimal-with-system-packages| |image-ubuntu-noble-minimal-with-targets-pre| |image-ubuntu-noble-minimal-with-targets| |image-ubuntu-noble-minimal-with-targets-optional| + - |codespace-ubuntu-noble-minimal| + * -    ‑*standard* + - |image-ubuntu-noble-standard-with-system-packages| |image-ubuntu-noble-standard-with-targets-pre| |image-ubuntu-noble-standard-with-targets| |image-ubuntu-noble-standard-with-targets-optional| + - |codespace-ubuntu-noble-standard| + * -    ‑*maximal* + - |image-ubuntu-noble-maximal-with-system-packages| |image-ubuntu-noble-maximal-with-targets-pre| + - * - **debian**-buster-gcc_spkg    ‑*minimal* @@ -2580,6 +2634,17 @@ * -    ‑*maximal* - |image-linuxmint-21.2-maximal-with-system-packages| |image-linuxmint-21.2-maximal-with-targets-pre| - + * - **linuxmint**-21.3 + +    ‑*minimal* + - |image-linuxmint-21.3-minimal-with-system-packages| |image-linuxmint-21.3-minimal-with-targets-pre| |image-linuxmint-21.3-minimal-with-targets| |image-linuxmint-21.3-minimal-with-targets-optional| + - |codespace-linuxmint-21.3-minimal| + * -    ‑*standard* + - |image-linuxmint-21.3-standard-with-system-packages| |image-linuxmint-21.3-standard-with-targets-pre| |image-linuxmint-21.3-standard-with-targets| |image-linuxmint-21.3-standard-with-targets-optional| + - |codespace-linuxmint-21.3-standard| + * -    ‑*maximal* + - |image-linuxmint-21.3-maximal-with-system-packages| |image-linuxmint-21.3-maximal-with-targets-pre| + - * - **fedora**-30    ‑*minimal* @@ -2690,6 +2755,17 @@ * -    ‑*maximal* - |image-fedora-39-maximal-with-system-packages| |image-fedora-39-maximal-with-targets-pre| - + * - **fedora**-40 + +    ‑*minimal* + - |image-fedora-40-minimal-with-system-packages| |image-fedora-40-minimal-with-targets-pre| |image-fedora-40-minimal-with-targets| |image-fedora-40-minimal-with-targets-optional| + - |codespace-fedora-40-minimal| + * -    ‑*standard* + - |image-fedora-40-standard-with-system-packages| |image-fedora-40-standard-with-targets-pre| |image-fedora-40-standard-with-targets| |image-fedora-40-standard-with-targets-optional| + - |codespace-fedora-40-standard| + * -    ‑*maximal* + - |image-fedora-40-maximal-with-system-packages| |image-fedora-40-maximal-with-targets-pre| + - * - **centos**-7-devtoolset-gcc_11    ‑*minimal* @@ -2767,6 +2843,17 @@ * -    ‑*maximal* - |image-gentoo-python3.11-maximal-with-system-packages| |image-gentoo-python3.11-maximal-with-targets-pre| - + * - **gentoo**-python3.12 + +    ‑*minimal* + - |image-gentoo-python3.12-minimal-with-system-packages| |image-gentoo-python3.12-minimal-with-targets-pre| |image-gentoo-python3.12-minimal-with-targets| |image-gentoo-python3.12-minimal-with-targets-optional| + - |codespace-gentoo-python3.12-minimal| + * -    ‑*standard* + - |image-gentoo-python3.12-standard-with-system-packages| |image-gentoo-python3.12-standard-with-targets-pre| |image-gentoo-python3.12-standard-with-targets| |image-gentoo-python3.12-standard-with-targets-optional| + - |codespace-gentoo-python3.12-standard| + * -    ‑*maximal* + - |image-gentoo-python3.12-maximal-with-system-packages| |image-gentoo-python3.12-maximal-with-targets-pre| + - * - **archlinux**-latest    ‑*minimal* @@ -2778,28 +2865,6 @@ * -    ‑*maximal* - |image-archlinux-latest-maximal-with-system-packages| |image-archlinux-latest-maximal-with-targets-pre| - - * - **opensuse**-15.3-gcc_11-python3.9 - -    ‑*minimal* - - |image-opensuse-15.3-gcc_11-python3.9-minimal-with-system-packages| |image-opensuse-15.3-gcc_11-python3.9-minimal-with-targets-pre| |image-opensuse-15.3-gcc_11-python3.9-minimal-with-targets| |image-opensuse-15.3-gcc_11-python3.9-minimal-with-targets-optional| - - |codespace-opensuse-15.3-gcc_11-python3.9-minimal| - * -    ‑*standard* - - |image-opensuse-15.3-gcc_11-python3.9-standard-with-system-packages| |image-opensuse-15.3-gcc_11-python3.9-standard-with-targets-pre| |image-opensuse-15.3-gcc_11-python3.9-standard-with-targets| |image-opensuse-15.3-gcc_11-python3.9-standard-with-targets-optional| - - |codespace-opensuse-15.3-gcc_11-python3.9-standard| - * -    ‑*maximal* - - |image-opensuse-15.3-gcc_11-python3.9-maximal-with-system-packages| |image-opensuse-15.3-gcc_11-python3.9-maximal-with-targets-pre| - - - * - **opensuse**-15.4-gcc_11-python3.10 - -    ‑*minimal* - - |image-opensuse-15.4-gcc_11-python3.10-minimal-with-system-packages| |image-opensuse-15.4-gcc_11-python3.10-minimal-with-targets-pre| |image-opensuse-15.4-gcc_11-python3.10-minimal-with-targets| |image-opensuse-15.4-gcc_11-python3.10-minimal-with-targets-optional| - - |codespace-opensuse-15.4-gcc_11-python3.10-minimal| - * -    ‑*standard* - - |image-opensuse-15.4-gcc_11-python3.10-standard-with-system-packages| |image-opensuse-15.4-gcc_11-python3.10-standard-with-targets-pre| |image-opensuse-15.4-gcc_11-python3.10-standard-with-targets| |image-opensuse-15.4-gcc_11-python3.10-standard-with-targets-optional| - - |codespace-opensuse-15.4-gcc_11-python3.10-standard| - * -    ‑*maximal* - - |image-opensuse-15.4-gcc_11-python3.10-maximal-with-system-packages| |image-opensuse-15.4-gcc_11-python3.10-maximal-with-targets-pre| - - * - **opensuse**-15.5-gcc_11-python3.11    ‑*minimal* diff --git a/src/doc/en/reference/calculus/index.rst b/src/doc/en/reference/calculus/index.rst index c9a5158e522..0f451a50613 100644 --- a/src/doc/en/reference/calculus/index.rst +++ b/src/doc/en/reference/calculus/index.rst @@ -23,6 +23,7 @@ Using calculus - :doc:`More about symbolic variables and functions ` - :doc:`Main operations on symbolic expressions ` +- :doc:`sage/calculus/expr` - :doc:`Assumptions about symbols and functions ` - :doc:`sage/symbolic/relation` - :doc:`sage/symbolic/integration/integral` @@ -65,6 +66,7 @@ Internal functionality supporting calculus sage/symbolic/expression sage/symbolic/callable + sage/calculus/expr sage/symbolic/assumptions sage/symbolic/relation sage/calculus/calculus diff --git a/src/doc/en/reference/references/index.rst b/src/doc/en/reference/references/index.rst index 3d2aec45320..4c2d05b1ec7 100644 --- a/src/doc/en/reference/references/index.rst +++ b/src/doc/en/reference/references/index.rst @@ -695,6 +695,11 @@ REFERENCES: *Finite hypergeometric functions*, :arxiv:`1505.02900` +.. [BEdG2009] Dietrich Burde, Bettina Eick, and Willem de Graaf. + *Computing faithful representations for nilpotent Lie algebras*. + J. Algebra, **322** no. 3 (2009) pp. 602-612. + doi:`10.1016/j.jalgebra.2009.04.041`, arxiv:`0807.2345`. + .. [Bee] Robert A. Beezer, *A First Course in Linear Algebra*, http://linear.ups.edu/. Accessed 15 July 2010. @@ -5556,6 +5561,10 @@ REFERENCES: imaginary quadratic fields. Invent. Math. 103 (1991), no. 1, 25--68. +.. [RS2010] RUBIN, K., & SILVERBERG, A. (2010). CHOOSING THE CORRECT ELLIPTIC + CURVE IN THE CM METHOD. Mathematics of Computation, 79(269), + 545–561. :doi:`10.1090/S0025-5718-09-02266-2` + .. [Rud1958] \M. E. Rudin. *An unshellable triangulation of a tetrahedron*. Bull. Amer. Math. Soc. 64 (1958), 90-91. diff --git a/src/pyproject.toml.m4 b/src/pyproject.toml.m4 index 7065ba1468c..65e486244cb 100644 --- a/src/pyproject.toml.m4 +++ b/src/pyproject.toml.m4 @@ -1,3 +1,4 @@ +include(`sage_spkg_versions_toml.m4')dnl' -*- conf-toml -*- [build-system] # Minimum requirements for the build system to execute. requires = [ @@ -5,25 +6,156 @@ requires = [ # Some version of sage-conf is required. # Note that PEP517/518 have no notion of optional sage_spkg dependencies: # https://github.com/pypa/pip/issues/6144 - esyscmd(`sage-get-system-packages install-requires-toml \ - sage_conf \ - setuptools \ - wheel \ - sage_setup \ - cypari \ - cysignals \ - cython \ - gmpy2 \ - jinja2 \ - jupyter_core \ - numpy \ - pkgconfig \ - pplpy \ - memory_allocator \ - ')] + SPKG_INSTALL_REQUIRES_sage_conf + SPKG_INSTALL_REQUIRES_setuptools + SPKG_INSTALL_REQUIRES_wheel + SPKG_INSTALL_REQUIRES_sage_setup + SPKG_INSTALL_REQUIRES_cypari + SPKG_INSTALL_REQUIRES_cysignals + SPKG_INSTALL_REQUIRES_cython + SPKG_INSTALL_REQUIRES_gmpy2 + SPKG_INSTALL_REQUIRES_jupyter_core + SPKG_INSTALL_REQUIRES_memory_allocator + SPKG_INSTALL_REQUIRES_numpy + SPKG_INSTALL_REQUIRES_pkgconfig + SPKG_INSTALL_REQUIRES_pplpy +] build-backend = "setuptools.build_meta" +[project] +name = "sagemath-standard" +description = "Sage: Open Source Mathematics Software: Standard Python Library" +dependencies = [ + SPKG_INSTALL_REQUIRES_sage_conf + SPKG_INSTALL_REQUIRES_six +dnl From build/pkgs/sagelib/dependencies + SPKG_INSTALL_REQUIRES_conway_polynomials + SPKG_INSTALL_REQUIRES_cypari + SPKG_INSTALL_REQUIRES_cysignals + SPKG_INSTALL_REQUIRES_cython + SPKG_INSTALL_REQUIRES_gmpy2 + SPKG_INSTALL_REQUIRES_importlib_metadata + SPKG_INSTALL_REQUIRES_importlib_resources + SPKG_INSTALL_REQUIRES_jupyter_core + SPKG_INSTALL_REQUIRES_lrcalc_python + SPKG_INSTALL_REQUIRES_memory_allocator + SPKG_INSTALL_REQUIRES_numpy + SPKG_INSTALL_REQUIRES_pkgconfig + SPKG_INSTALL_REQUIRES_pplpy + SPKG_INSTALL_REQUIRES_primecountpy + SPKG_INSTALL_REQUIRES_requests + SPKG_INSTALL_REQUIRES_typing_extensions +dnl From Makefile.in: SAGERUNTIME + SPKG_INSTALL_REQUIRES_ipython + SPKG_INSTALL_REQUIRES_pexpect +dnl From Makefile.in: DOC_DEPENDENCIES + SPKG_INSTALL_REQUIRES_sphinx + SPKG_INSTALL_REQUIRES_networkx + SPKG_INSTALL_REQUIRES_scipy + SPKG_INSTALL_REQUIRES_sympy + SPKG_INSTALL_REQUIRES_matplotlib + SPKG_INSTALL_REQUIRES_pillow + SPKG_INSTALL_REQUIRES_mpmath + SPKG_INSTALL_REQUIRES_ipykernel + SPKG_INSTALL_REQUIRES_jupyter_client + SPKG_INSTALL_REQUIRES_ipywidgets + SPKG_INSTALL_REQUIRES_fpylll +dnl pycryptosat # Sage distribution installs it as part of cryptominisat. According to its README on https://pypi.org/project/pycryptosat/: "The pycryptosat python package compiles while compiling CryptoMiniSat. It cannot be compiled on its own, it must be compiled at the same time as CryptoMiniSat." +dnl Packages with important upper version bounds + SPKG_INSTALL_REQUIRES_ptyprocess +] +dynamic = ["version"] +include(`pyproject_toml_metadata.m4')dnl' + +[project.optional-dependencies] +R = [ + SPKG_INSTALL_REQUIRES_rpy2 +] + +[project.readme] +file = "README.rst" +content-type = "text/x-rst" + [tool.conda-lock] platforms = [ 'osx-64', 'linux-64', 'linux-aarch64', 'osx-arm64' ] + +[tool.setuptools] +script-files = [ + # The sage script + "bin/sage", + # Other scripts that should be in the path also for OS packaging of sage: + "bin/sage-eval", + # Included because it is useful for doctesting/coverage testing user scripts too: + "bin/sage-runtests", + "bin/sage-fixdoctests", + "bin/sage-coverage", + # The following is deprecated but might still be used in user package install scripts + "bin/sage-cython", + # Helper scripts invoked by sage script + # (they would actually belong to something like libexec) + "bin/sage-cachegrind", + "bin/sage-callgrind", + "bin/sage-massif", + "bin/sage-omega", + "bin/sage-valgrind", + "bin/sage-venv-config", + "bin/sage-version.sh", + "bin/sage-cleaner", + # Only makes sense in sage-the-distribution. TODO: Move to another installation script. + "bin/sage-list-packages", + # Uncategorized scripts in alphabetical order + "bin/math-readline", + "bin/sage-env", + # sage-env-config -- installed by sage_conf + # sage-env-config.in -- not to be installed + "bin/sage-grep", + "bin/sage-grepdoc", + "bin/sage-inline-fortran", + "bin/sage-ipynb2rst", + "bin/sage-ipython", + "bin/sage-notebook", + "bin/sage-num-threads.py", + "bin/sage-preparse", + "bin/sage-python", + "bin/sage-run", + "bin/sage-run-cython", + "bin/sage-startuptime.py", + "bin/sage-update-version", +] +license-files = ["LICENSE.txt"] +include-package-data = false + +[tool.setuptools.package-data] +"sage.libs.gap" = ["sage.gaprc"] +"sage.interfaces" = ["sage-maxima.lisp"] +"sage.doctest" = ["tests/*"] +"sage.repl.rich_output" = ["example*"] +sage = [ + "ext_data/*", + "ext_data/kenzo/*", + "ext_data/singular/*", + "ext_data/singular/function_field/*", + "ext_data/images/*", + "ext_data/doctest/*", + "ext_data/doctest/invalid/*", + "ext_data/gap/*", + "ext_data/gap/joyner/*", + "ext_data/mwrank/*", + "ext_data/notebook-ipython/*", + "ext_data/nbconvert/*", + "ext_data/graphs/*", + "ext_data/pari/*", + "ext_data/pari/dokchitser/*", + "ext_data/pari/buzzard/*", + "ext_data/pari/simon/*", + "ext_data/magma/*", + "ext_data/magma/latex/*", + "ext_data/magma/sage/*", + "ext_data/valgrind/*", + "ext_data/threejs/*", +] + +[tool.setuptools.dynamic] +version = {file = ["VERSION.txt"]} diff --git a/src/sage/algebras/affine_nil_temperley_lieb.py b/src/sage/algebras/affine_nil_temperley_lieb.py index ae3e8e87464..e40b0b24969 100644 --- a/src/sage/algebras/affine_nil_temperley_lieb.py +++ b/src/sage/algebras/affine_nil_temperley_lieb.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules """ Affine nilTemperley Lieb Algebra of type A diff --git a/src/sage/algebras/algebra.py b/src/sage/algebras/algebra.py index a63aae4e217..c2e8f37cd25 100644 --- a/src/sage/algebras/algebra.py +++ b/src/sage/algebras/algebra.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.combinat sage.modules """ Abstract base class for algebras diff --git a/src/sage/algebras/all.py b/src/sage/algebras/all.py index a98f5284eca..2fc072c5aaf 100644 --- a/src/sage/algebras/all.py +++ b/src/sage/algebras/all.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat """ Algebras """ @@ -14,56 +15,12 @@ # The full text of the GPL is available at: # # https://www.gnu.org/licenses/ -# **************************************************************************** -from sage.misc.lazy_import import lazy_import - -# old-style class for associative algebras, use Parent instead -from sage.rings.ring import Algebra - -import sage.algebras.catalog as algebras - -from .quatalg.all import * -from .steenrod.all import * -from .fusion_rings.all import * -from .lie_algebras.all import * -from .quantum_groups.all import * -from .lie_conformal_algebras.all import * - -# Algebra base classes -from .free_algebra import FreeAlgebra -from .free_algebra_quotient import FreeAlgebraQuotient - -from .finite_dimensional_algebras.all import FiniteDimensionalAlgebra - -lazy_import('sage.algebras.group_algebra', 'GroupAlgebra') - -lazy_import('sage.algebras.iwahori_hecke_algebra', 'IwahoriHeckeAlgebra') -lazy_import('sage.algebras.affine_nil_temperley_lieb', - 'AffineNilTemperleyLiebTypeA') -lazy_import('sage.algebras.nil_coxeter_algebra', 'NilCoxeterAlgebra') -lazy_import('sage.algebras.schur_algebra', ['SchurAlgebra', - 'SchurTensorModule']) - -lazy_import('sage.algebras.hall_algebra', 'HallAlgebra') - -lazy_import('sage.algebras.jordan_algebra', 'JordanAlgebra') - -lazy_import('sage.algebras.octonion_algebra', 'OctonionAlgebra') - -lazy_import('sage.algebras.shuffle_algebra', 'ShuffleAlgebra') - -from .clifford_algebra import CliffordAlgebra, ExteriorAlgebra -from .weyl_algebra import DifferentialWeylAlgebra - -lazy_import('sage.algebras.commutative_dga', 'GradedCommutativeAlgebra') - -lazy_import('sage.algebras.rational_cherednik_algebra', - 'RationalCherednikAlgebra') - -lazy_import('sage.algebras.tensor_algebra', 'TensorAlgebra') - -lazy_import('sage.algebras.q_system', 'QSystem') +# ***************************************************************************** -lazy_import('sage.algebras.cluster_algebra', 'ClusterAlgebra') +from sage.algebras.all__sagemath_modules import * +from sage.algebras.all__sagemath_combinat import * -lazy_import('sage.algebras.yangian', 'Yangian') +from sage.algebras.quatalg.all import * +from sage.algebras.fusion_rings.all import * +from sage.algebras.lie_algebras.all import * +from sage.algebras.lie_conformal_algebras.all import * diff --git a/src/sage/algebras/all__sagemath_combinat.py b/src/sage/algebras/all__sagemath_combinat.py new file mode 100644 index 00000000000..eb86573ec54 --- /dev/null +++ b/src/sage/algebras/all__sagemath_combinat.py @@ -0,0 +1,37 @@ +from sage.misc.lazy_import import lazy_import + + +# Algebra base classes +from sage.algebras.free_algebra import FreeAlgebra +from sage.algebras.free_algebra_quotient import FreeAlgebraQuotient + +from sage.algebras.steenrod.all import * +from sage.algebras.quantum_groups.all import * + +lazy_import('sage.algebras.iwahori_hecke_algebra', 'IwahoriHeckeAlgebra') +lazy_import('sage.algebras.affine_nil_temperley_lieb', + 'AffineNilTemperleyLiebTypeA') +lazy_import('sage.algebras.nil_coxeter_algebra', 'NilCoxeterAlgebra') +lazy_import('sage.algebras.schur_algebra', ['SchurAlgebra', + 'SchurTensorModule']) + +lazy_import('sage.algebras.hall_algebra', 'HallAlgebra') + +lazy_import('sage.algebras.jordan_algebra', 'JordanAlgebra') + +lazy_import('sage.algebras.shuffle_algebra', 'ShuffleAlgebra') + +lazy_import('sage.algebras.commutative_dga', 'GradedCommutativeAlgebra') + +lazy_import('sage.algebras.rational_cherednik_algebra', + 'RationalCherednikAlgebra') + +lazy_import('sage.algebras.tensor_algebra', 'TensorAlgebra') + +lazy_import('sage.algebras.q_system', 'QSystem') + +lazy_import('sage.algebras.cluster_algebra', 'ClusterAlgebra') + +lazy_import('sage.algebras.yangian', 'Yangian') + +del lazy_import diff --git a/src/sage/algebras/all__sagemath_modules.py b/src/sage/algebras/all__sagemath_modules.py new file mode 100644 index 00000000000..fc74dabe241 --- /dev/null +++ b/src/sage/algebras/all__sagemath_modules.py @@ -0,0 +1,14 @@ +from sage.misc.lazy_import import lazy_import + +lazy_import('sage.algebras.group_algebra', 'GroupAlgebra') + +# old-style class for associative algebras, use Parent instead +from sage.rings.ring import Algebra + +from sage.algebras.finite_dimensional_algebras.all import FiniteDimensionalAlgebra +from sage.algebras.clifford_algebra import CliffordAlgebra, ExteriorAlgebra +from sage.algebras.weyl_algebra import DifferentialWeylAlgebra +lazy_import('sage.algebras.octonion_algebra', 'OctonionAlgebra') + +import sage.algebras.catalog as algebras +del lazy_import diff --git a/src/sage/algebras/all__sagemath_singular.py b/src/sage/algebras/all__sagemath_singular.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/algebras/askey_wilson.py b/src/sage/algebras/askey_wilson.py index 4943c73b36d..1624ecdd8e2 100644 --- a/src/sage/algebras/askey_wilson.py +++ b/src/sage/algebras/askey_wilson.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules """ Askey-Wilson Algebras diff --git a/src/sage/algebras/associated_graded.py b/src/sage/algebras/associated_graded.py index 5dd01321114..1831e6fcf52 100644 --- a/src/sage/algebras/associated_graded.py +++ b/src/sage/algebras/associated_graded.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.modules r""" Associated Graded Algebras To Filtered Algebras diff --git a/src/sage/algebras/catalog.py b/src/sage/algebras/catalog.py index afa5db12e8e..51490d1378c 100644 --- a/src/sage/algebras/catalog.py +++ b/src/sage/algebras/catalog.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Catalog of Algebras diff --git a/src/sage/algebras/cellular_basis.py b/src/sage/algebras/cellular_basis.py index 8c474420378..5d82b9e280d 100644 --- a/src/sage/algebras/cellular_basis.py +++ b/src/sage/algebras/cellular_basis.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Cellular Basis diff --git a/src/sage/algebras/clifford_algebra.py b/src/sage/algebras/clifford_algebra.py index f87d52c94ce..dcca9556d99 100644 --- a/src/sage/algebras/clifford_algebra.py +++ b/src/sage/algebras/clifford_algebra.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.modules r""" Clifford Algebras diff --git a/src/sage/algebras/clifford_algebra_element.pxd b/src/sage/algebras/clifford_algebra_element.pxd index 14d5a7a625c..1f298519605 100644 --- a/src/sage/algebras/clifford_algebra_element.pxd +++ b/src/sage/algebras/clifford_algebra_element.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Clifford algebra elements """ diff --git a/src/sage/algebras/clifford_algebra_element.pyx b/src/sage/algebras/clifford_algebra_element.pyx index 52b994f48af..afb70566a78 100644 --- a/src/sage/algebras/clifford_algebra_element.pyx +++ b/src/sage/algebras/clifford_algebra_element.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.modules """ Clifford algebra elements diff --git a/src/sage/algebras/cluster_algebra.py b/src/sage/algebras/cluster_algebra.py index 17bc36b1661..ecec679d7a8 100644 --- a/src/sage/algebras/cluster_algebra.py +++ b/src/sage/algebras/cluster_algebra.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.graphs sage.modules r""" Cluster algebras diff --git a/src/sage/algebras/commutative_dga.py b/src/sage/algebras/commutative_dga.py index 13565314140..19daa46eb78 100644 --- a/src/sage/algebras/commutative_dga.py +++ b/src/sage/algebras/commutative_dga.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Commutative Differential Graded Algebras diff --git a/src/sage/algebras/down_up_algebra.py b/src/sage/algebras/down_up_algebra.py index 088e7ac30ad..a40ac03ab06 100644 --- a/src/sage/algebras/down_up_algebra.py +++ b/src/sage/algebras/down_up_algebra.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.modules r""" Down-Up Algebras diff --git a/src/sage/algebras/exterior_algebra_groebner.pxd b/src/sage/algebras/exterior_algebra_groebner.pxd index 2f2a0ff5cd8..517fd43c65e 100644 --- a/src/sage/algebras/exterior_algebra_groebner.pxd +++ b/src/sage/algebras/exterior_algebra_groebner.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Exterior algebras Gröbner bases """ diff --git a/src/sage/algebras/exterior_algebra_groebner.pyx b/src/sage/algebras/exterior_algebra_groebner.pyx index d296bae64f3..c57284fd01f 100644 --- a/src/sage/algebras/exterior_algebra_groebner.pyx +++ b/src/sage/algebras/exterior_algebra_groebner.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.modules r""" Exterior algebras Gröbner bases diff --git a/src/sage/algebras/finite_dimensional_algebras/all.py b/src/sage/algebras/finite_dimensional_algebras/all.py index add5ff8ecd6..ff747bdec4d 100644 --- a/src/sage/algebras/finite_dimensional_algebras/all.py +++ b/src/sage/algebras/finite_dimensional_algebras/all.py @@ -1 +1,2 @@ -from .finite_dimensional_algebra import FiniteDimensionalAlgebra +# sage_setup: distribution = sagemath-modules +from sage.algebras.finite_dimensional_algebras.finite_dimensional_algebra import FiniteDimensionalAlgebra diff --git a/src/sage/algebras/finite_dimensional_algebras/finite_dimensional_algebra.py b/src/sage/algebras/finite_dimensional_algebras/finite_dimensional_algebra.py index a3b8742b4e0..fb513c7a371 100644 --- a/src/sage/algebras/finite_dimensional_algebras/finite_dimensional_algebra.py +++ b/src/sage/algebras/finite_dimensional_algebras/finite_dimensional_algebra.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Finite-Dimensional Algebras """ diff --git a/src/sage/algebras/finite_dimensional_algebras/finite_dimensional_algebra_element.pxd b/src/sage/algebras/finite_dimensional_algebras/finite_dimensional_algebra_element.pxd index c13b8dbab07..77a504b0258 100644 --- a/src/sage/algebras/finite_dimensional_algebras/finite_dimensional_algebra_element.pxd +++ b/src/sage/algebras/finite_dimensional_algebras/finite_dimensional_algebra_element.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.structure.element cimport AlgebraElement, Element, Vector from sage.matrix.matrix cimport Matrix diff --git a/src/sage/algebras/finite_dimensional_algebras/finite_dimensional_algebra_element.pyx b/src/sage/algebras/finite_dimensional_algebras/finite_dimensional_algebra_element.pyx index 08feb228e5e..ca7d3b552ed 100644 --- a/src/sage/algebras/finite_dimensional_algebras/finite_dimensional_algebra_element.pyx +++ b/src/sage/algebras/finite_dimensional_algebras/finite_dimensional_algebra_element.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Elements of Finite Algebras """ diff --git a/src/sage/algebras/finite_dimensional_algebras/finite_dimensional_algebra_ideal.py b/src/sage/algebras/finite_dimensional_algebras/finite_dimensional_algebra_ideal.py index 15f0881bb8b..46b9141cd0b 100644 --- a/src/sage/algebras/finite_dimensional_algebras/finite_dimensional_algebra_ideal.py +++ b/src/sage/algebras/finite_dimensional_algebras/finite_dimensional_algebra_ideal.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.rings.finite_rings (because all doctests use GF) """ Ideals of Finite Algebras diff --git a/src/sage/algebras/finite_dimensional_algebras/finite_dimensional_algebra_morphism.py b/src/sage/algebras/finite_dimensional_algebras/finite_dimensional_algebra_morphism.py index d2114511ae6..3dff53425c6 100644 --- a/src/sage/algebras/finite_dimensional_algebras/finite_dimensional_algebra_morphism.py +++ b/src/sage/algebras/finite_dimensional_algebras/finite_dimensional_algebra_morphism.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Morphisms Between Finite Algebras """ diff --git a/src/sage/algebras/finite_gca.py b/src/sage/algebras/finite_gca.py index 4fb15147900..0110373ec92 100644 --- a/src/sage/algebras/finite_gca.py +++ b/src/sage/algebras/finite_gca.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.modules r""" Finite dimensional graded commutative algebras diff --git a/src/sage/algebras/free_algebra.py b/src/sage/algebras/free_algebra.py index e84a6b03f24..2c58a1c2157 100644 --- a/src/sage/algebras/free_algebra.py +++ b/src/sage/algebras/free_algebra.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules """ Free algebras diff --git a/src/sage/algebras/free_algebra_element.py b/src/sage/algebras/free_algebra_element.py index 9fe2dcfb554..fd86d48b7c8 100644 --- a/src/sage/algebras/free_algebra_element.py +++ b/src/sage/algebras/free_algebra_element.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules """ Free algebra elements diff --git a/src/sage/algebras/free_algebra_quotient.py b/src/sage/algebras/free_algebra_quotient.py index 94be310a0b1..2fe8554eb62 100644 --- a/src/sage/algebras/free_algebra_quotient.py +++ b/src/sage/algebras/free_algebra_quotient.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules """ Finite dimensional free algebra quotients diff --git a/src/sage/algebras/free_algebra_quotient_element.py b/src/sage/algebras/free_algebra_quotient_element.py index 559d4246ac0..4e78802996e 100644 --- a/src/sage/algebras/free_algebra_quotient_element.py +++ b/src/sage/algebras/free_algebra_quotient_element.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules """ Free algebra quotient elements diff --git a/src/sage/algebras/free_zinbiel_algebra.py b/src/sage/algebras/free_zinbiel_algebra.py index 720ee803d9b..99e830664ed 100644 --- a/src/sage/algebras/free_zinbiel_algebra.py +++ b/src/sage/algebras/free_zinbiel_algebra.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules """ Free Zinbiel Algebras diff --git a/src/sage/algebras/fusion_rings/all.py b/src/sage/algebras/fusion_rings/all.py index bf9c016510f..78410e74818 100644 --- a/src/sage/algebras/fusion_rings/all.py +++ b/src/sage/algebras/fusion_rings/all.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-singular """ Fusion Rings """ @@ -15,3 +16,4 @@ lazy_import('sage.algebras.fusion_rings.fusion_ring', ['FusionRing']) lazy_import('sage.algebras.fusion_rings.fusion_double', ['FusionDouble']) +del lazy_import diff --git a/src/sage/algebras/fusion_rings/f_matrix.py b/src/sage/algebras/fusion_rings/f_matrix.py index 47f5976cf03..950eb94f121 100644 --- a/src/sage/algebras/fusion_rings/f_matrix.py +++ b/src/sage/algebras/fusion_rings/f_matrix.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-singular r""" The F-Matrix of a Fusion Ring """ diff --git a/src/sage/algebras/fusion_rings/fast_parallel_fmats_methods.pxd b/src/sage/algebras/fusion_rings/fast_parallel_fmats_methods.pxd index e0908ab5884..65a159a3e54 100644 --- a/src/sage/algebras/fusion_rings/fast_parallel_fmats_methods.pxd +++ b/src/sage/algebras/fusion_rings/fast_parallel_fmats_methods.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-singular cdef _fmat(fvars, Nk_ij, one, a, b, c, d, x, y) cpdef _backward_subs(factory, bint flatten=*) cpdef executor(tuple params) diff --git a/src/sage/algebras/fusion_rings/fast_parallel_fmats_methods.pyx b/src/sage/algebras/fusion_rings/fast_parallel_fmats_methods.pyx index a9b7eb50fab..23eadf9559d 100644 --- a/src/sage/algebras/fusion_rings/fast_parallel_fmats_methods.pyx +++ b/src/sage/algebras/fusion_rings/fast_parallel_fmats_methods.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-singular """ Fast F-Matrix Methods """ diff --git a/src/sage/algebras/fusion_rings/fast_parallel_fusion_ring_braid_repn.pxd b/src/sage/algebras/fusion_rings/fast_parallel_fusion_ring_braid_repn.pxd index a992f0339a4..8a32ad1bc2e 100644 --- a/src/sage/algebras/fusion_rings/fast_parallel_fusion_ring_braid_repn.pxd +++ b/src/sage/algebras/fusion_rings/fast_parallel_fusion_ring_braid_repn.pxd @@ -1,2 +1,4 @@ +# sage_setup: distribution = sagemath-singular + cpdef _unflatten_entries(factory, list entries) cpdef executor(tuple params) diff --git a/src/sage/algebras/fusion_rings/fast_parallel_fusion_ring_braid_repn.pyx b/src/sage/algebras/fusion_rings/fast_parallel_fusion_ring_braid_repn.pyx index ad6e8a1621e..881a2ac6e29 100644 --- a/src/sage/algebras/fusion_rings/fast_parallel_fusion_ring_braid_repn.pyx +++ b/src/sage/algebras/fusion_rings/fast_parallel_fusion_ring_braid_repn.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-singular """ Fast Fusion Ring Methods for Computing Braid Group Representations """ diff --git a/src/sage/algebras/fusion_rings/fusion_double.py b/src/sage/algebras/fusion_rings/fusion_double.py index d87a7a782a7..d4238db749e 100644 --- a/src/sage/algebras/fusion_rings/fusion_double.py +++ b/src/sage/algebras/fusion_rings/fusion_double.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-singular """ The Fusion Ring of the Drinfeld Double of a Finite Group """ diff --git a/src/sage/algebras/fusion_rings/fusion_ring.py b/src/sage/algebras/fusion_rings/fusion_ring.py index 72bc0f8600c..31bba004e55 100644 --- a/src/sage/algebras/fusion_rings/fusion_ring.py +++ b/src/sage/algebras/fusion_rings/fusion_ring.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-singular """ Fusion Rings """ diff --git a/src/sage/algebras/fusion_rings/poly_tup_engine.pxd b/src/sage/algebras/fusion_rings/poly_tup_engine.pxd index 50493691f29..88048320646 100644 --- a/src/sage/algebras/fusion_rings/poly_tup_engine.pxd +++ b/src/sage/algebras/fusion_rings/poly_tup_engine.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-singular from sage.algebras.fusion_rings.shm_managers cimport KSHandler from sage.rings.number_field.number_field_element cimport NumberFieldElement_absolute from sage.rings.polynomial.multi_polynomial_libsingular cimport MPolynomial_libsingular, MPolynomialRing_libsingular diff --git a/src/sage/algebras/fusion_rings/poly_tup_engine.pyx b/src/sage/algebras/fusion_rings/poly_tup_engine.pyx index e44fb68b836..38b2f28efc3 100644 --- a/src/sage/algebras/fusion_rings/poly_tup_engine.pyx +++ b/src/sage/algebras/fusion_rings/poly_tup_engine.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-singular """ Arithmetic Engine for Polynomials as Tuples """ diff --git a/src/sage/algebras/fusion_rings/shm_managers.pxd b/src/sage/algebras/fusion_rings/shm_managers.pxd index 5b1576bb677..0ef39036de0 100644 --- a/src/sage/algebras/fusion_rings/shm_managers.pxd +++ b/src/sage/algebras/fusion_rings/shm_managers.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-singular cimport numpy as np from sage.rings.number_field.number_field_base cimport NumberField from sage.rings.number_field.number_field_element cimport NumberFieldElement_absolute diff --git a/src/sage/algebras/fusion_rings/shm_managers.pyx b/src/sage/algebras/fusion_rings/shm_managers.pyx index 40d2eb9c805..de1fad2f0e7 100644 --- a/src/sage/algebras/fusion_rings/shm_managers.pyx +++ b/src/sage/algebras/fusion_rings/shm_managers.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-singular r""" Shared Memory Managers for F-Symbol Attributes diff --git a/src/sage/algebras/group_algebra.py b/src/sage/algebras/group_algebra.py index 5d9f56cd6d1..a0e3ac01aab 100644 --- a/src/sage/algebras/group_algebra.py +++ b/src/sage/algebras/group_algebra.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.groups sage.modules r""" Group algebras diff --git a/src/sage/algebras/hall_algebra.py b/src/sage/algebras/hall_algebra.py index aef0df7ce5a..a24aa1e0873 100644 --- a/src/sage/algebras/hall_algebra.py +++ b/src/sage/algebras/hall_algebra.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Hall Algebras diff --git a/src/sage/algebras/hecke_algebras/all.py b/src/sage/algebras/hecke_algebras/all.py index 20f53ea58fe..cade22cbaea 100644 --- a/src/sage/algebras/hecke_algebras/all.py +++ b/src/sage/algebras/hecke_algebras/all.py @@ -1,4 +1,4 @@ +# sage_setup: distribution = sagemath-combinat """ Hecke Algebras """ -#from sage.misc.lazy_import import lazy_import diff --git a/src/sage/algebras/hecke_algebras/ariki_koike_algebra.py b/src/sage/algebras/hecke_algebras/ariki_koike_algebra.py index f34beb5a1f8..de54fe413d8 100644 --- a/src/sage/algebras/hecke_algebras/ariki_koike_algebra.py +++ b/src/sage/algebras/hecke_algebras/ariki_koike_algebra.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Ariki-Koike Algebras diff --git a/src/sage/algebras/hecke_algebras/cubic_hecke_algebra.py b/src/sage/algebras/hecke_algebras/cubic_hecke_algebra.py index 4f2a604aa8b..1d4dbf530fe 100644 --- a/src/sage/algebras/hecke_algebras/cubic_hecke_algebra.py +++ b/src/sage/algebras/hecke_algebras/cubic_hecke_algebra.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.groups sage.modules r""" Cubic Hecke Algebras diff --git a/src/sage/algebras/hecke_algebras/cubic_hecke_base_ring.py b/src/sage/algebras/hecke_algebras/cubic_hecke_base_ring.py index 90d6657d309..5cc0920512b 100644 --- a/src/sage/algebras/hecke_algebras/cubic_hecke_base_ring.py +++ b/src/sage/algebras/hecke_algebras/cubic_hecke_base_ring.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.libs.pari (for factorization) r""" Cubic Hecke Base Rings diff --git a/src/sage/algebras/hecke_algebras/cubic_hecke_matrix_rep.py b/src/sage/algebras/hecke_algebras/cubic_hecke_matrix_rep.py index c0587117753..d232c974a95 100644 --- a/src/sage/algebras/hecke_algebras/cubic_hecke_matrix_rep.py +++ b/src/sage/algebras/hecke_algebras/cubic_hecke_matrix_rep.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.modules r""" Cubic Hecke matrix representations diff --git a/src/sage/algebras/iwahori_hecke_algebra.py b/src/sage/algebras/iwahori_hecke_algebra.py index 31f15e50c1a..aff140d2a6d 100644 --- a/src/sage/algebras/iwahori_hecke_algebra.py +++ b/src/sage/algebras/iwahori_hecke_algebra.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.graphs sage.modules r""" Iwahori-Hecke Algebras diff --git a/src/sage/algebras/jordan_algebra.py b/src/sage/algebras/jordan_algebra.py index f783dc890c8..986f892093a 100644 --- a/src/sage/algebras/jordan_algebra.py +++ b/src/sage/algebras/jordan_algebra.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Jordan Algebras diff --git a/src/sage/algebras/letterplace/all.py b/src/sage/algebras/letterplace/all.py index e69de29bb2d..84ec2b51067 100644 --- a/src/sage/algebras/letterplace/all.py +++ b/src/sage/algebras/letterplace/all.py @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-singular diff --git a/src/sage/algebras/letterplace/free_algebra_element_letterplace.pxd b/src/sage/algebras/letterplace/free_algebra_element_letterplace.pxd index d22fe4e9a40..d10eeec0317 100644 --- a/src/sage/algebras/letterplace/free_algebra_element_letterplace.pxd +++ b/src/sage/algebras/letterplace/free_algebra_element_letterplace.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-singular ############################################################################### # # Copyright (C) 2011 Simon King diff --git a/src/sage/algebras/letterplace/free_algebra_element_letterplace.pyx b/src/sage/algebras/letterplace/free_algebra_element_letterplace.pyx index 0e23ed2feea..f9c33e8c531 100644 --- a/src/sage/algebras/letterplace/free_algebra_element_letterplace.pyx +++ b/src/sage/algebras/letterplace/free_algebra_element_letterplace.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-singular """ Weighted homogeneous elements of free algebras, in letterplace implementation diff --git a/src/sage/algebras/letterplace/free_algebra_letterplace.pxd b/src/sage/algebras/letterplace/free_algebra_letterplace.pxd index 47a7275aba0..766f1e2c569 100644 --- a/src/sage/algebras/letterplace/free_algebra_letterplace.pxd +++ b/src/sage/algebras/letterplace/free_algebra_letterplace.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-singular ############################################################################### # # Copyright (C) 2011 Simon King diff --git a/src/sage/algebras/letterplace/free_algebra_letterplace.pyx b/src/sage/algebras/letterplace/free_algebra_letterplace.pyx index 278596cc177..b9b202f7f63 100644 --- a/src/sage/algebras/letterplace/free_algebra_letterplace.pyx +++ b/src/sage/algebras/letterplace/free_algebra_letterplace.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-singular ############################################################################### # # Copyright (C) 2011 Simon King diff --git a/src/sage/algebras/letterplace/letterplace_ideal.pyx b/src/sage/algebras/letterplace/letterplace_ideal.pyx index eeebf4422a4..30f86256afa 100644 --- a/src/sage/algebras/letterplace/letterplace_ideal.pyx +++ b/src/sage/algebras/letterplace/letterplace_ideal.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-singular """ Homogeneous ideals of free algebras diff --git a/src/sage/algebras/lie_algebras/all.py b/src/sage/algebras/lie_algebras/all.py index 73ea8361ff1..cf2fd88ac76 100644 --- a/src/sage/algebras/lie_algebras/all.py +++ b/src/sage/algebras/lie_algebras/all.py @@ -2,7 +2,7 @@ Lie Algebras """ -#***************************************************************************** +# ***************************************************************************** # Copyright (C) 2013 Travis Scrimshaw # # Distributed under the terms of the GNU General Public License (GPL) @@ -14,10 +14,11 @@ # # The full text of the GPL is available at: # -# http://www.gnu.org/licenses/ -#***************************************************************************** +# https://www.gnu.org/licenses/ +# ***************************************************************************** from sage.misc.lazy_import import lazy_import lazy_import('sage.algebras.lie_algebras.lie_algebra', 'LieAlgebra') -#from kac_moody import KacMoodyAlgebra +# from kac_moody import KacMoodyAlgebra lazy_import('sage.algebras.lie_algebras', 'examples', 'lie_algebras') +del lazy_import diff --git a/src/sage/algebras/lie_algebras/all__sagemath_modules.py b/src/sage/algebras/lie_algebras/all__sagemath_modules.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/algebras/lie_algebras/lie_algebra_element.pxd b/src/sage/algebras/lie_algebras/lie_algebra_element.pxd index 3677eb29587..12e3c4f467c 100644 --- a/src/sage/algebras/lie_algebras/lie_algebra_element.pxd +++ b/src/sage/algebras/lie_algebras/lie_algebra_element.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.structure.element cimport Element from sage.structure.element_wrapper cimport ElementWrapper from sage.structure.sage_object cimport SageObject diff --git a/src/sage/algebras/lie_algebras/lie_algebra_element.pyx b/src/sage/algebras/lie_algebras/lie_algebra_element.pyx index 635b30c49da..814f17a8e6b 100644 --- a/src/sage/algebras/lie_algebras/lie_algebra_element.pyx +++ b/src/sage/algebras/lie_algebras/lie_algebra_element.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.combinat """ Lie Algebra Elements diff --git a/src/sage/algebras/lie_algebras/representation.py b/src/sage/algebras/lie_algebras/representation.py index 9d96c42c6fc..c6bd62dd0cc 100644 --- a/src/sage/algebras/lie_algebras/representation.py +++ b/src/sage/algebras/lie_algebras/representation.py @@ -16,7 +16,10 @@ # https://www.gnu.org/licenses/ # **************************************************************************** +from sage.misc.lazy_attribute import lazy_attribute +from sage.misc.cachefunc import cached_method from sage.sets.family import Family, AbstractFamily +from sage.matrix.constructor import matrix from sage.combinat.free_module import CombinatorialFreeModule from sage.categories.modules import Modules from copy import copy @@ -94,6 +97,44 @@ def _test_representation(self, **options): for v in S: tester.assertEqual(x.bracket(y) * v, x * (y * v) - y * (x * v)) + def representation_matrix(self, elt): + """ + Return the matrix for the action of ``elt`` on ``self``. + + EXAMPLES:: + + sage: H1 = lie_algebras.Heisenberg(QQ, 1) + sage: F = H1.faithful_representation(algorithm="minimal") + sage: P1 = F.representation_matrix(H1.gen(0)); P1 + [0 0 0] + [0 0 0] + [1 0 0] + sage: Q1 = F.representation_matrix(H1.gen(1)); Q1 + [ 0 0 0] + [ 0 0 -1] + [ 0 0 0] + sage: Z = P1.commutator(Q1); Z + [0 0 0] + [1 0 0] + [0 0 0] + sage: P1.commutator(Z) == Q1.commutator(Z) == 0 + True + sage: (H1.gen(0) * F.an_element()).to_vector() + (0, 0, 2) + sage: P1 * F.an_element().to_vector() + (0, 0, 2) + sage: (H1.gen(1) * F.an_element()).to_vector() + (0, -3, 0) + sage: Q1 * F.an_element().to_vector() + (0, -3, 0) + sage: (H1.basis()['z'] * F.an_element()).to_vector() + (0, 2, 0) + sage: Z * F.an_element().to_vector() + (0, 2, 0) + """ + B = self.basis() + return matrix([(elt * B[k]).to_vector() for k in self.get_order()]).transpose() + class RepresentationByMorphism(CombinatorialFreeModule, Representation_abstract): r""" @@ -433,3 +474,320 @@ def _acted_upon_(self, scalar, self_on_left=False): return None return P.zero() return super()._acted_upon_(scalar, self_on_left) + + +class FaithfulRepresentationNilpotentPBW(CombinatorialFreeModule, Representation_abstract): + r""" + Return a faithful reprensetation of a nilpotent Lie algebra + constructed using the PBW basis. + + Let `L` be a `k`-step nilpotent Lie algebra. Define a weight function + on elements in `L` by the lower central series of `L`. Then a faithful + representation of `L` is `U(L) / U(L)^{k+1}`, where `U(L)^{k+1}` + is the (twosided) ideal of `U(L)` generated by all monomials + of weight at least `k + 1`. + + We can also expand the ideal keeping the property that `I \cap Z(L) = 0`. + The resulting quotient `U(L) / I` remains faithful and is a minimal + faithful representation of `L` in the sense that it has no faithful + submodules or quotients. (Note: this is not necessarily the smallest + dimensional faithful representation of `L`.) + + We consider an example of the rank 2 Heisenberg Lie algebra, + but with a non-standard basis given by `a = p_1 + z`, `b = q_1`, + and `c = q_1 + z`:: + + sage: scoeffs = {('a','b'): {'b':-1, 'c':1}, ('a','c'): {'b':-1, 'c':1}} + sage: L. = LieAlgebra(QQ, scoeffs) + sage: TestSuite(L).run(elements=list(L.basis())) + sage: L.is_nilpotent() + True + sage: L.derived_series() + (Lie algebra on 3 generators (a, b, c) over Rational Field, + Ideal (b - c) of Lie algebra on 3 generators (a, b, c) over Rational Field, + Ideal () of Lie algebra on 3 generators (a, b, c) over Rational Field) + sage: F = L.faithful_representation() + sage: L.an_element() * F.an_element() + 2*F[1, 0, 0] + 8*F[1, 1, 0] + 3*F[2, 0, 0] + 4*F[0, 1, 0] + + 4*F[0, 2, 0] + 4*F[0, 0, 1] + + sage: MF = L.faithful_representation(algorithm="minimal") + sage: MF.dimension() + 3 + sage: [MF.representation_matrix(be) for be in L.basis()] + [ + [0 0 0] [ 0 0 0] [ 0 0 0] + [0 0 0] [ 0 0 -1] [ 1 0 -1] + [1 0 0], [ 0 0 0], [ 0 0 0] + ] + + An example with ``minimal=True`` for `H_2 \oplus A_1`, where `A_1` is + a `1`-dimensional Abelian Lie algebra:: + + sage: scoeffs = {('a','b'): {'b':-1, 'c':1}, ('a','c'): {'b':-1, 'c':1}} + sage: L. = LieAlgebra(QQ, scoeffs) + sage: F = L.faithful_representation(); F + Faithful 11 dimensional representation of Lie algebra on 4 + generators (a, b, c, d) over Rational Field + sage: MF = L.faithful_representation(algorithm="minimal"); MF + Minimal faithful representation of Lie algebra on 4 + generators (a, b, c, d) over Rational Field + sage: MF.dimension() + 4 + + INPUT: + + - ``minimal`` -- boolean (default: ``False``); whether to construct + the minimal basis or not + + REFERENCES: + + - [BEdG2009]_ + """ + def __init__(self, L, minimal=False): + r""" + Initialize ``self``. + + EXAMPLES:: + + sage: H2 = lie_algebras.Heisenberg(QQ, 2) + sage: F = H2.faithful_representation() + sage: TestSuite(F).run(elements=list(F.basis())) + sage: MF = H2.faithful_representation(algorithm="minimal") + sage: TestSuite(MF).run(elements=list(MF.basis())) + + sage: sc = {('a','b'): {'b':-1, 'c':1}, ('a','c'): {'b':-1, 'c':1}} + sage: L. = LieAlgebra(QQ, sc) + sage: F = L.faithful_representation() + sage: TestSuite(F).run(elements=list(F.basis())) + sage: MF = L.faithful_representation(algorithm="minimal") + sage: TestSuite(MF).run(elements=list(MF.basis())) + """ + LCS = L.lower_central_series() + if LCS[-1].dimension() != 0: + raise ValueError("the Lie algebra must be nilpotent") + # construct an appropriate basis of L + basis_by_deg = {} + self._step = len(LCS) - 1 + self._minimal = minimal + if self._minimal: + Z = L.center() + ZB = [L(b) for b in Z.basis()] + prev = LCS[-1] + for D in reversed(LCS[:-1]): + cur = [] + for ind in range(len(ZB) - 1, -1, -1): + z = ZB[ind] + if z in D: + ZB.pop(ind) + cur.append(z) + k = self._step - len(basis_by_deg) + basis_by_deg[k] = cur + temp = [bred for b in D.basis() if (bred := Z.reduce(prev.reduce(L(b))))] + basis_by_deg[k].extend(L.echelon_form(temp)) + prev = D + else: + prev = LCS[-1] + for D in reversed(LCS[:-1]): + temp = [L(bred) for b in D.basis() if (bred := prev.reduce(L(b)))] + basis_by_deg[self._step-len(basis_by_deg)] = L.echelon_form(temp) + prev = D + + L_basis = sum((basis_by_deg[deg] for deg in sorted(basis_by_deg)), []) + + if all(len(b.support()) == 1 for b in L_basis): + self._Lp = L + else: + cob = matrix([b._vector_() for b in L_basis]).transpose() + self._invcob = cob.inverse() + scoeffs = {} + for i, b in enumerate(L_basis): + for j, bp in enumerate(L_basis[i+1:], start=i+1): + scoeffs[i, j] = (self._invcob * b.bracket(bp)._vector_()).dict() + index_set = tuple(range(L.dimension())) + from sage.algebras.lie_algebras.lie_algebra import LieAlgebra + self._Lp = LieAlgebra(L.base_ring(), scoeffs, index_set=index_set) + + self._pbw = self._Lp.pbw_basis() + self._degrees = tuple(sum(([deg] * len(B) for deg, B in sorted(basis_by_deg.items())), [])) + + from sage.sets.disjoint_union_enumerated_sets import DisjointUnionEnumeratedSets + from sage.combinat.integer_vector_weighted import WeightedIntegerVectors + indices = DisjointUnionEnumeratedSets([WeightedIntegerVectors(n, self._degrees) + for n in range(self._step+1)]) + + if self._minimal: + X = set([tuple(index) for index in indices]) + monoid = self._pbw._indices + I = monoid._indices + one = L.base_ring().one() + pbw_gens = self._pbw.algebra_generators() + ZB = frozenset([L(b) for b in Z.basis()]) + Zind = [i for i, b in enumerate(L_basis) if b in ZB] + Ztup = set() + for i in Zind: + vec = [0] * L.dimension() + vec[i] = 1 + Ztup.add(tuple(vec)) + + def as_exp(s): + sm = s._monomial + return tuple([sm[i] if i in sm else 0 for i in I]) + + def test_ideal(m, X): + elt = self._pbw.element_class(self._pbw, {monoid(list(zip(I, m))): one}) + for g in pbw_gens: + gelt = g * elt + if any(as_exp(s) in X for s in gelt.support()): + return False + return True + + to_remove = set([None]) + while to_remove: + X -= to_remove + to_remove = set() + for m in X: + m = tuple(m) + if m in Ztup or not test_ideal(m, X): + continue + to_remove.add(m) + indices = sorted(X) + + Representation_abstract.__init__(self, L) + CombinatorialFreeModule.__init__(self, L.base_ring(), indices, prefix='F', bracket=False) + + def _repr_(self): + r""" + Return a string representation of ``self``. + + EXAMPLES:: + + sage: H2 = lie_algebras.Heisenberg(QQ, 2) + sage: H2.faithful_representation() + Faithful 16 dimensional representation of Heisenberg algebra + of rank 2 over Rational Field + """ + if self._minimal: + return "Minimal faithful representation of {}".format(self._lie_algebra) + return "Faithful {} dimensional representation of {}".format(self.dimension(), self._lie_algebra) + + def _latex_(self): + r""" + Return a string representation of ``self``. + + EXAMPLES:: + + sage: H2 = lie_algebras.Heisenberg(QQ, 2) + sage: latex(H2.faithful_representation()) + U(\text{\texttt{Heisenberg...}}) / U(\text{\texttt{Heisenberg...}})^{3} + """ + from sage.misc.latex import latex + g = latex(self._lie_algebra) + ret = "U({0}) / U({0})^{{{1}}}".format(g, self._step+1) + if self._minimal: + return "\\min " + ret + return ret + + def _project(self, elt): + r""" + The projection to ``self`` from the PBW basis. + + EXAMPLES:: + + sage: sc = {('a','b'): {'b':-1, 'c':1}, ('a','c'): {'b':-1, 'c':1}} + sage: L. = LieAlgebra(QQ, sc) + sage: F = L.faithful_representation() + sage: elt = F._to_pbw(a + b + c)^2; elt + PBW[0]^2 + 4*PBW[0]*PBW[1] - 2*PBW[0]*PBW[2] + 4*PBW[1]^2 + - 4*PBW[1]*PBW[2] + PBW[2]^2 + 2*PBW[2] + sage: F._project(elt) + 2*F[0, 0, 1] + 4*F[0, 2, 0] + 4*F[1, 1, 0] + F[2, 0, 0] + sage: F._project(F._to_pbw(a + b + c)^3) + 0 + """ + ret = {} + I = self._pbw._indices._indices + if self._minimal: + for m, c in elt._monomial_coefficients.items(): + mm = m._monomial + vec = tuple([mm[i] if i in mm else 0 for i in I]) + if vec in self._indices: + ret[self._indices(vec)] = c + else: + for m, c in elt._monomial_coefficients.items(): + mm = m._monomial + vec = [mm[i] if i in mm else 0 for i in I] + if sum(e * d for e, d in zip(vec, self._degrees)) <= self._step: + ret[self._indices(vec)] = c + return self.element_class(self, ret) + + def _to_pbw(self, elt): + """ + Return the PBW element corresponding to ``elt``. + + EXAMPLES:: + + sage: sc = {('a','b'): {'b':-1, 'c':1}, ('a','c'): {'b':-1, 'c':1}} + sage: L. = LieAlgebra(QQ, sc) + sage: F = L.faithful_representation() + sage: F._to_pbw(a) + PBW[0] + sage: F._to_pbw(b) + PBW[1] + sage: F._to_pbw(c) + PBW[1] - PBW[2] + + sage: H2 = lie_algebras.Heisenberg(QQ, 2) + sage: F = H2.faithful_representation() + sage: F._to_pbw(sum(H2.basis())) + PBW['p1'] + PBW['p2'] + PBW['q1'] + PBW['q2'] + PBW['z'] + """ + if self._Lp is self._lie_algebra: + return self._pbw(elt) + return self._pbw(self._Lp.from_vector(self._invcob * elt._vector_())) + + class Element(CombinatorialFreeModule.Element): + def _lift_pbw(self): + """ + Return ``self`` as an element of the PBW basis. + + EXAMPLES:: + + sage: H2 = lie_algebras.Heisenberg(QQ, 2) + sage: F = H2.faithful_representation() + sage: F.an_element()._lift_pbw() + 3*PBW['q1'] + 2*PBW['q2'] + 2 + """ + P = self.parent() + monoid = P._pbw._indices + I = monoid._indices + return P._pbw.element_class(P._pbw, {monoid(list(zip(I, m))): coeff + for m, coeff in self._monomial_coefficients.items()}) + + def _acted_upon_(self, scalar, self_on_left=False): + r""" + Return the action of ``scalar`` on ``self``. + + EXAMPLES:: + + sage: H2 = lie_algebras.Heisenberg(QQ, 2) + sage: F = H2.faithful_representation() + sage: H2.an_element() + p1 + sage: F.an_element() + 2*F[0, 0, 0, 0, 0] + 2*F[0, 0, 0, 1, 0] + 3*F[0, 0, 1, 0, 0] + sage: H2.an_element() * F.an_element() + 2*F[1, 0, 0, 0, 0] + 2*F[1, 0, 0, 1, 0] + 3*F[1, 0, 1, 0, 0] + sage: 5 * F.an_element() + 10*F[0, 0, 0, 0, 0] + 10*F[0, 0, 0, 1, 0] + 15*F[0, 0, 1, 0, 0] + """ + P = self.parent() + if scalar in P._lie_algebra: + if self_on_left: + return None + if not self: # we are (already) the zero vector + return self + scalar = P._lie_algebra(scalar) + return P._project(P._to_pbw(scalar) * self._lift_pbw()) + + return super()._acted_upon_(scalar, self_on_left) diff --git a/src/sage/algebras/lie_algebras/structure_coefficients.py b/src/sage/algebras/lie_algebras/structure_coefficients.py index 6c3eedd0a21..6ef1accb83b 100644 --- a/src/sage/algebras/lie_algebras/structure_coefficients.py +++ b/src/sage/algebras/lie_algebras/structure_coefficients.py @@ -133,7 +133,7 @@ def __classcall_private__(cls, R, s_coeff, names=None, index_set=None, **kwds): from sage.algebras.lie_algebras.abelian import AbelianLieAlgebra return AbelianLieAlgebra(R, names, index_set, **kwds) - if (names is None and len(index_set) <= 1) or len(names) <= 1: + if (names is None and len(index_set) <= 1) or (names is not None and len(names) <= 1): from sage.algebras.lie_algebras.abelian import AbelianLieAlgebra return AbelianLieAlgebra(R, names, index_set, **kwds) diff --git a/src/sage/algebras/lie_algebras/subalgebra.py b/src/sage/algebras/lie_algebras/subalgebra.py index 441b55a9fad..aee197edbbb 100644 --- a/src/sage/algebras/lie_algebras/subalgebra.py +++ b/src/sage/algebras/lie_algebras/subalgebra.py @@ -163,7 +163,6 @@ class LieSubalgebra_finite_dimensional_with_basis(Parent, UniqueRepresentation): sage: J.reduce(I(Z) + I(W)) W """ - @staticmethod def __classcall_private__(cls, ambient, gens, ideal=False, order=None, category=None): @@ -193,10 +192,42 @@ def __classcall_private__(cls, ambient, gens, ideal=False, sage: T3 = L.subalgebra([0, 0]) sage: T1 is T2 and T2 is T3 True + + Subalgebras generated by a subalgebra returns the same subalgebra:: + + sage: S1 = L.subalgebra(X) + sage: S2 = L.subalgebra(S1) + sage: S1 is S2 + True + + We can have subalgebras generated by subalgebras:: + + sage: scoeffs = {('a','d'): {'a':1}, ('a','e'): {'b':-1}, + ....: ('b','d'): {'b':1}, ('b','e'): {'a':1}, + ....: ('d','e'): {'c':1}} + sage: L. = LieAlgebra(QQ, scoeffs) + sage: S1 = L.subalgebra(a) + sage: S2 = L.subalgebra([b, e]) + sage: S = L.subalgebra([S1, S2]) + sage: S + Subalgebra generated by (a, a, b, e) of Lie algebra on + 5 generators (a, b, c, d, e) over Rational Field + sage: S.basis() + Family (a, b, e) """ + if isinstance(gens, LieSubalgebra_finite_dimensional_with_basis): + if not ideal or gens._is_ideal: + return gens + gens = gens.lie_algebra_generators() if not isinstance(gens, (list, tuple)): gens = [gens] - gens = tuple(ambient(gen) for gen in gens if not gen.is_zero()) + new_gens = [] + for gen in gens: + if isinstance(gen, LieSubalgebra_finite_dimensional_with_basis): + new_gens.extend(ambient(b) for b in gen.basis()) + elif not gen.is_zero(): + new_gens.append(ambient(gen)) + gens = tuple(new_gens) if not ideal and isinstance(ambient, LieSubalgebra_finite_dimensional_with_basis): @@ -281,8 +312,8 @@ def __contains__(self, x): True """ - if x in self.ambient(): - x = self.ambient()(x) + if x in self._ambient: + x = self._ambient(x) return x.to_vector() in self.module() return super().__contains__(x) @@ -398,7 +429,7 @@ def _element_constructor_(self, x): P = x.parent() if P is self: return x - if P == self.ambient(): + if P == self._ambient: return self.retract(x) except AttributeError: pass @@ -448,7 +479,7 @@ def _to_m(self, X): (2, 3, 1) """ mc = X.monomial_coefficients() - M = self.ambient().module() + M = self._ambient.module() R = M.base_ring() B = M.basis() return M.sum(R(mc[self._reversed_indices[i]]) * B[i] @@ -767,8 +798,8 @@ def from_vector(self, v, order=None, coerce=False): sage: el.parent() == S True """ - if len(v) == self.ambient().dimension(): - return self.retract(self.ambient().from_vector(v)) + if len(v) == self._ambient.dimension(): + return self.retract(self._ambient.from_vector(v)) return super().from_vector(v) def basis_matrix(self): @@ -811,9 +842,9 @@ def module(self, sparse=False): [0 0 3] """ try: - m = self.ambient().module(sparse=sparse) + m = self._ambient.module(sparse=sparse) except TypeError: - m = self.ambient().module() + m = self._ambient.module() ambientbasis = [self.lift(X).to_vector() for X in self.basis()] return m.submodule_with_basis(ambientbasis) @@ -853,7 +884,7 @@ def is_ideal(self, A): sage: L.is_ideal(I) False """ - if A == self.ambient() and self._is_ideal: + if A == self._ambient and self._is_ideal: return True return super().is_ideal(A) diff --git a/src/sage/algebras/lie_conformal_algebras/abelian_lie_conformal_algebra.py b/src/sage/algebras/lie_conformal_algebras/abelian_lie_conformal_algebra.py index 80df46c57d3..e6ce883a81c 100644 --- a/src/sage/algebras/lie_conformal_algebras/abelian_lie_conformal_algebra.py +++ b/src/sage/algebras/lie_conformal_algebras/abelian_lie_conformal_algebra.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Abelian Lie Conformal Algebra diff --git a/src/sage/algebras/lie_conformal_algebras/affine_lie_conformal_algebra.py b/src/sage/algebras/lie_conformal_algebras/affine_lie_conformal_algebra.py index f5d39cacbf2..fe68daf6072 100644 --- a/src/sage/algebras/lie_conformal_algebras/affine_lie_conformal_algebra.py +++ b/src/sage/algebras/lie_conformal_algebras/affine_lie_conformal_algebra.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Affine Lie Conformal Algebra diff --git a/src/sage/algebras/lie_conformal_algebras/all.py b/src/sage/algebras/lie_conformal_algebras/all.py index 7d78e0a260c..24a6e4efeee 100644 --- a/src/sage/algebras/lie_conformal_algebras/all.py +++ b/src/sage/algebras/lie_conformal_algebras/all.py @@ -1,14 +1,18 @@ -#****************************************************************************** +# sage_setup: distribution = sagemath-combinat +# ****************************************************************************** # Copyright (C) 2020 Reimundo Heluani # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 2 of the License, or # (at your option) any later version. -# http://www.gnu.org/licenses/ -#***************************************************************************** +# https://www.gnu.org/licenses/ +# ***************************************************************************** from sage.misc.lazy_import import lazy_import -lazy_import('sage.algebras.lie_conformal_algebras.lie_conformal_algebra','LieConformalAlgebra') -lazy_import('sage.algebras.lie_conformal_algebras', 'examples', 'lie_conformal_algebras') +lazy_import('sage.algebras.lie_conformal_algebras.lie_conformal_algebra', + 'LieConformalAlgebra') +lazy_import('sage.algebras.lie_conformal_algebras', + 'examples', 'lie_conformal_algebras') +del lazy_import diff --git a/src/sage/algebras/lie_conformal_algebras/bosonic_ghosts_lie_conformal_algebra.py b/src/sage/algebras/lie_conformal_algebras/bosonic_ghosts_lie_conformal_algebra.py index 0b0b61b4e25..f320fc173a7 100644 --- a/src/sage/algebras/lie_conformal_algebras/bosonic_ghosts_lie_conformal_algebra.py +++ b/src/sage/algebras/lie_conformal_algebras/bosonic_ghosts_lie_conformal_algebra.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Bosonic Ghosts Lie Conformal Algebra diff --git a/src/sage/algebras/lie_conformal_algebras/examples.py b/src/sage/algebras/lie_conformal_algebras/examples.py index 3d520e449db..317f349006c 100644 --- a/src/sage/algebras/lie_conformal_algebras/examples.py +++ b/src/sage/algebras/lie_conformal_algebras/examples.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Examples of Lie Conformal Algebras diff --git a/src/sage/algebras/lie_conformal_algebras/fermionic_ghosts_lie_conformal_algebra.py b/src/sage/algebras/lie_conformal_algebras/fermionic_ghosts_lie_conformal_algebra.py index 098644908e6..bab3c118065 100644 --- a/src/sage/algebras/lie_conformal_algebras/fermionic_ghosts_lie_conformal_algebra.py +++ b/src/sage/algebras/lie_conformal_algebras/fermionic_ghosts_lie_conformal_algebra.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Fermionic Ghosts Super Lie Conformal Algebra diff --git a/src/sage/algebras/lie_conformal_algebras/finitely_freely_generated_lca.py b/src/sage/algebras/lie_conformal_algebras/finitely_freely_generated_lca.py index 8aefdd9d3a6..62e4805ad92 100644 --- a/src/sage/algebras/lie_conformal_algebras/finitely_freely_generated_lca.py +++ b/src/sage/algebras/lie_conformal_algebras/finitely_freely_generated_lca.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules """ Finitely and Freely Generated Lie Conformal Algebras. diff --git a/src/sage/algebras/lie_conformal_algebras/free_bosons_lie_conformal_algebra.py b/src/sage/algebras/lie_conformal_algebras/free_bosons_lie_conformal_algebra.py index 0787226252d..23c6f67e015 100644 --- a/src/sage/algebras/lie_conformal_algebras/free_bosons_lie_conformal_algebra.py +++ b/src/sage/algebras/lie_conformal_algebras/free_bosons_lie_conformal_algebra.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Free Bosons Lie Conformal Algebra diff --git a/src/sage/algebras/lie_conformal_algebras/free_fermions_lie_conformal_algebra.py b/src/sage/algebras/lie_conformal_algebras/free_fermions_lie_conformal_algebra.py index 1e7525ae1d3..ae1da4cdb00 100644 --- a/src/sage/algebras/lie_conformal_algebras/free_fermions_lie_conformal_algebra.py +++ b/src/sage/algebras/lie_conformal_algebras/free_fermions_lie_conformal_algebra.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Free Fermions Super Lie Conformal Algebra. diff --git a/src/sage/algebras/lie_conformal_algebras/freely_generated_lie_conformal_algebra.py b/src/sage/algebras/lie_conformal_algebras/freely_generated_lie_conformal_algebra.py index 9a6a74a62bb..2eea86a4a14 100644 --- a/src/sage/algebras/lie_conformal_algebras/freely_generated_lie_conformal_algebra.py +++ b/src/sage/algebras/lie_conformal_algebras/freely_generated_lie_conformal_algebra.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules """ Freely Generated Lie Conformal Algebras diff --git a/src/sage/algebras/lie_conformal_algebras/graded_lie_conformal_algebra.py b/src/sage/algebras/lie_conformal_algebras/graded_lie_conformal_algebra.py index c335daf98f7..dbf3536a5f1 100644 --- a/src/sage/algebras/lie_conformal_algebras/graded_lie_conformal_algebra.py +++ b/src/sage/algebras/lie_conformal_algebras/graded_lie_conformal_algebra.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Graded Lie Conformal Algebras diff --git a/src/sage/algebras/lie_conformal_algebras/lie_conformal_algebra.py b/src/sage/algebras/lie_conformal_algebras/lie_conformal_algebra.py index 5ca0c8f6d07..34c3508d2ca 100644 --- a/src/sage/algebras/lie_conformal_algebras/lie_conformal_algebra.py +++ b/src/sage/algebras/lie_conformal_algebras/lie_conformal_algebra.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Lie Conformal Algebra diff --git a/src/sage/algebras/lie_conformal_algebras/lie_conformal_algebra_element.py b/src/sage/algebras/lie_conformal_algebras/lie_conformal_algebra_element.py index 09fb63a0a4c..82f70ff4819 100644 --- a/src/sage/algebras/lie_conformal_algebras/lie_conformal_algebra_element.py +++ b/src/sage/algebras/lie_conformal_algebras/lie_conformal_algebra_element.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules """ Lie Conformal Algebra Element diff --git a/src/sage/algebras/lie_conformal_algebras/lie_conformal_algebra_with_basis.py b/src/sage/algebras/lie_conformal_algebras/lie_conformal_algebra_with_basis.py index 4fef0fcf2e6..77fa9eec482 100644 --- a/src/sage/algebras/lie_conformal_algebras/lie_conformal_algebra_with_basis.py +++ b/src/sage/algebras/lie_conformal_algebras/lie_conformal_algebra_with_basis.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules """ Lie Conformal Algebras With Basis diff --git a/src/sage/algebras/lie_conformal_algebras/lie_conformal_algebra_with_structure_coefs.py b/src/sage/algebras/lie_conformal_algebras/lie_conformal_algebra_with_structure_coefs.py index 9f4d129ba36..4b7f2291e5d 100644 --- a/src/sage/algebras/lie_conformal_algebras/lie_conformal_algebra_with_structure_coefs.py +++ b/src/sage/algebras/lie_conformal_algebras/lie_conformal_algebra_with_structure_coefs.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules """ Lie Conformal Algebras With Structure Coefficients diff --git a/src/sage/algebras/lie_conformal_algebras/n2_lie_conformal_algebra.py b/src/sage/algebras/lie_conformal_algebras/n2_lie_conformal_algebra.py index baf7a896144..6b9139e5f7c 100644 --- a/src/sage/algebras/lie_conformal_algebras/n2_lie_conformal_algebra.py +++ b/src/sage/algebras/lie_conformal_algebras/n2_lie_conformal_algebra.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules sage.rings.number_field r""" N=2 Super Lie Conformal Algebra diff --git a/src/sage/algebras/lie_conformal_algebras/neveu_schwarz_lie_conformal_algebra.py b/src/sage/algebras/lie_conformal_algebras/neveu_schwarz_lie_conformal_algebra.py index 5542b9fc097..3a531d47a28 100644 --- a/src/sage/algebras/lie_conformal_algebras/neveu_schwarz_lie_conformal_algebra.py +++ b/src/sage/algebras/lie_conformal_algebras/neveu_schwarz_lie_conformal_algebra.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Neveu-Schwarz Super Lie Conformal Algebra diff --git a/src/sage/algebras/lie_conformal_algebras/virasoro_lie_conformal_algebra.py b/src/sage/algebras/lie_conformal_algebras/virasoro_lie_conformal_algebra.py index 0db2d545290..3f92b8691a0 100644 --- a/src/sage/algebras/lie_conformal_algebras/virasoro_lie_conformal_algebra.py +++ b/src/sage/algebras/lie_conformal_algebras/virasoro_lie_conformal_algebra.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Virasoro Lie Conformal Algebra diff --git a/src/sage/algebras/lie_conformal_algebras/weyl_lie_conformal_algebra.py b/src/sage/algebras/lie_conformal_algebras/weyl_lie_conformal_algebra.py index 3c319db7ca3..bf71e8364e9 100644 --- a/src/sage/algebras/lie_conformal_algebras/weyl_lie_conformal_algebra.py +++ b/src/sage/algebras/lie_conformal_algebras/weyl_lie_conformal_algebra.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Weyl Lie Conformal Algebra diff --git a/src/sage/algebras/nil_coxeter_algebra.py b/src/sage/algebras/nil_coxeter_algebra.py index b5dbd2d62c8..ee30bf6272a 100644 --- a/src/sage/algebras/nil_coxeter_algebra.py +++ b/src/sage/algebras/nil_coxeter_algebra.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules """ Nil-Coxeter Algebra diff --git a/src/sage/algebras/octonion_algebra.pxd b/src/sage/algebras/octonion_algebra.pxd index 78500729bdc..cf790a0b99f 100644 --- a/src/sage/algebras/octonion_algebra.pxd +++ b/src/sage/algebras/octonion_algebra.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Octonions """ diff --git a/src/sage/algebras/octonion_algebra.pyx b/src/sage/algebras/octonion_algebra.pyx index 3c1d28c2106..ebe6909f801 100644 --- a/src/sage/algebras/octonion_algebra.pyx +++ b/src/sage/algebras/octonion_algebra.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.modules """ Octonion Algebras diff --git a/src/sage/algebras/orlik_solomon.py b/src/sage/algebras/orlik_solomon.py index caea1a60d37..16737723b12 100644 --- a/src/sage/algebras/orlik_solomon.py +++ b/src/sage/algebras/orlik_solomon.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.modules r""" Orlik-Solomon Algebras diff --git a/src/sage/algebras/orlik_terao.py b/src/sage/algebras/orlik_terao.py index d1f3fb38af7..afd7f2f1db4 100644 --- a/src/sage/algebras/orlik_terao.py +++ b/src/sage/algebras/orlik_terao.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.modules r""" Orlik-Terao Algebras diff --git a/src/sage/algebras/q_commuting_polynomials.py b/src/sage/algebras/q_commuting_polynomials.py index 10f5f55a987..c00cb1de9df 100644 --- a/src/sage/algebras/q_commuting_polynomials.py +++ b/src/sage/algebras/q_commuting_polynomials.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.groups sage.modules r""" `q`-Commuting Polynomials diff --git a/src/sage/algebras/q_system.py b/src/sage/algebras/q_system.py index 8099f98aa8c..9b20b2df965 100644 --- a/src/sage/algebras/q_system.py +++ b/src/sage/algebras/q_system.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.graphs sage.modules r""" Q-Systems diff --git a/src/sage/algebras/quantum_clifford.py b/src/sage/algebras/quantum_clifford.py index dc61084f2f8..c8e76f68cc7 100644 --- a/src/sage/algebras/quantum_clifford.py +++ b/src/sage/algebras/quantum_clifford.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.modules r""" Quantum Clifford Algebras diff --git a/src/sage/algebras/quantum_groups/ace_quantum_onsager.py b/src/sage/algebras/quantum_groups/ace_quantum_onsager.py index 9d983529c73..3eae5a80ce3 100644 --- a/src/sage/algebras/quantum_groups/ace_quantum_onsager.py +++ b/src/sage/algebras/quantum_groups/ace_quantum_onsager.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules """ Alternating Central Extension Quantum Onsager Algebra diff --git a/src/sage/algebras/quantum_groups/all.py b/src/sage/algebras/quantum_groups/all.py index 9d249f02100..d9003faed40 100644 --- a/src/sage/algebras/quantum_groups/all.py +++ b/src/sage/algebras/quantum_groups/all.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat """ Quantum Groups """ @@ -5,3 +6,4 @@ from sage.misc.lazy_import import lazy_import lazy_import('sage.algebras.quantum_groups.fock_space', 'FockSpace') lazy_import('sage.algebras.quantum_groups.quantum_group_gap', 'QuantumGroup') +del lazy_import diff --git a/src/sage/algebras/quantum_groups/fock_space.py b/src/sage/algebras/quantum_groups/fock_space.py index d31af4593e1..a76240439ec 100644 --- a/src/sage/algebras/quantum_groups/fock_space.py +++ b/src/sage/algebras/quantum_groups/fock_space.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Fock Space diff --git a/src/sage/algebras/quantum_groups/q_numbers.py b/src/sage/algebras/quantum_groups/q_numbers.py index 243846bf13c..d69ac9e0aef 100644 --- a/src/sage/algebras/quantum_groups/q_numbers.py +++ b/src/sage/algebras/quantum_groups/q_numbers.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" `q`-Numbers diff --git a/src/sage/algebras/quantum_groups/quantum_group_gap.py b/src/sage/algebras/quantum_groups/quantum_group_gap.py index 997fe0f3b04..aa180c18bba 100644 --- a/src/sage/algebras/quantum_groups/quantum_group_gap.py +++ b/src/sage/algebras/quantum_groups/quantum_group_gap.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: optional - gap_package_quagroup sage.combinat sage.libs.gap sage.modules """ Quantum Groups Using GAP's QuaGroup Package diff --git a/src/sage/algebras/quantum_groups/representations.py b/src/sage/algebras/quantum_groups/representations.py index cea110137db..754f339ffdf 100644 --- a/src/sage/algebras/quantum_groups/representations.py +++ b/src/sage/algebras/quantum_groups/representations.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.graphs sage.modules r""" Quantum Group Representations diff --git a/src/sage/algebras/quantum_matrix_coordinate_algebra.py b/src/sage/algebras/quantum_matrix_coordinate_algebra.py index c9f7e312788..ec79a2d731c 100644 --- a/src/sage/algebras/quantum_matrix_coordinate_algebra.py +++ b/src/sage/algebras/quantum_matrix_coordinate_algebra.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Quantum Matrix Coordinate Algebras diff --git a/src/sage/algebras/quatalg/all.py b/src/sage/algebras/quatalg/all.py index 0f0d45c0217..8e90f44fe2a 100644 --- a/src/sage/algebras/quatalg/all.py +++ b/src/sage/algebras/quatalg/all.py @@ -1 +1,2 @@ -from .quaternion_algebra import QuaternionAlgebra +# sage_setup: distribution = sagemath-singular +from sage.algebras.quatalg.quaternion_algebra import QuaternionAlgebra diff --git a/src/sage/algebras/quatalg/quaternion_algebra.py b/src/sage/algebras/quatalg/quaternion_algebra.py index 02d0ccf0326..40f695bbd6d 100644 --- a/src/sage/algebras/quatalg/quaternion_algebra.py +++ b/src/sage/algebras/quatalg/quaternion_algebra.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-singular """ Quaternion Algebras @@ -756,8 +757,7 @@ def maximal_order(self, take_shortcuts=True): sage: for d in ( m for m in range(1, 750) if is_squarefree(m) ): # long time (3s) ....: A = QuaternionAlgebra(d) - ....: R = A.maximal_order(take_shortcuts=False) - ....: assert A.discriminant() == R.discriminant() + ....: assert A.maximal_order(take_shortcuts=False).is_maximal() We do not support number fields other than the rationals yet:: @@ -767,9 +767,24 @@ def maximal_order(self, take_shortcuts=True): ... NotImplementedError: maximal order only implemented for rational quaternion algebras + + TESTS: + + Check that :issue:`37417` and the first part of :issue:`37217` are fixed:: + + sage: invars = [(-4, -28), (-292, -732), (-48, -564), (-436, -768), + ....: (-752, -708), (885, 545), (411, -710), (-411, 593), + ....: (805, -591), (-921, 353), (409, 96), (394, 873), + ....: (353, -722), (730, 830), (-466, -427), (-213, -630), + ....: (-511, 608), (493, 880), (105, -709), (-213, 530), + ....: (97, 745)] + sage: all(QuaternionAlgebra(a, b).maximal_order().is_maximal() + ....: for (a, b) in invars) + True """ if self.base_ring() != QQ: - raise NotImplementedError("maximal order only implemented for rational quaternion algebras") + raise NotImplementedError("maximal order only implemented for " + "rational quaternion algebras") d_A = self.discriminant() @@ -812,15 +827,17 @@ def maximal_order(self, take_shortcuts=True): # The following code should always work (over QQ) # Start with <1,i,j,k> - R = self.quaternion_order((1,) + self.gens()) + order_basis = (self.one(),) + self.gens() + R = self.quaternion_order(order_basis) d_R = R.discriminant() e_new_gens = [] # For each prime at which R is not yet maximal, make it bigger for p, _ in d_R.factor(): - e = R.basis() - while self.quaternion_order(e).discriminant().valuation(p) > d_A.valuation(p): + e = order_basis + disc = d_R + while disc.valuation(p) > d_A.valuation(p): # Compute a normalized basis at p f = normalize_basis_at_p(list(e), p) @@ -893,13 +910,18 @@ def maximal_order(self, take_shortcuts=True): e_n = basis_for_quaternion_lattice(list(e) + e_n[1:], reverse=True) # e_n now contains elements that locally at p give a bigger order, - # but the basis may be messed up at other primes (it might not even - # be an order). We will join them all together at the end + # but the basis may be messed up at other primes (it might not + # even be an order). We will join them all together at the end e = e_n + # Since e might not define an order at this point, we need to + # manually calculate the updated discriminant + L = [[x.pair(y) for y in e] for x in e] + disc = matrix(QQ, 4, 4, L).determinant().sqrt() + e_new_gens.extend(e[1:]) - e_new = basis_for_quaternion_lattice(list(R.basis()) + e_new_gens, reverse=True) + e_new = basis_for_quaternion_lattice(list(order_basis) + e_new_gens, reverse=True) return self.quaternion_order(e_new) def order_with_level(self, level): @@ -1190,9 +1212,12 @@ def ramified_primes(self): if not is_RationalField(self.base_ring()): raise ValueError("base field must be the rational numbers") - return sorted([p for p in set([2]).union(prime_divisors(self._a.numerator()), - prime_divisors(self._a.denominator()), prime_divisors(self._b.numerator()), - prime_divisors(self._b.denominator())) if hilbert_symbol(self._a, self._b, p) == -1]) + a, b = self._a, self._b + return sorted(p for p in {2}.union(prime_divisors(a.numerator()), + prime_divisors(a.denominator()), + prime_divisors(b.numerator()), + prime_divisors(b.denominator())) + if hilbert_symbol(self._a, self._b, p) == -1) def is_isomorphic(self, A) -> bool: """ @@ -1894,8 +1919,9 @@ def discriminant(self): sage: type(S.discriminant()) <... 'sage.rings.rational.Rational'> """ - L = [[d.pair(e) for e in self.basis()] for d in self.basis()] - return (MatrixSpace(QQ, 4, 4)(L)).determinant().sqrt() + e = self.basis() + L = [[x.pair(y) for y in e] for x in e] + return matrix(QQ, 4, 4, L).determinant().sqrt() def is_maximal(self) -> bool: r""" @@ -3909,7 +3935,18 @@ def normalize_basis_at_p(e, p, B=QuaternionAlgebraElement_abstract.pair): sage: e = [A(1), k, j, 1/2 + 1/2*i + 1/2*j + 1/2*k] sage: normalize_basis_at_p(e, 2) [(1, 0), (1/2 + 1/2*i + 1/2*j + 1/2*k, 0), (-34/105*i - 463/735*j + 71/105*k, 1), - (-34/105*i - 463/735*j + 71/105*k, 1)] + (1/7*i - 8/49*j + 1/7*k, 1)] + + TESTS: + + We check that the second part of :issue:`37217` is fixed:: + + sage: A. = QuaternionAlgebra(-1,-7) + sage: e = [A(1), k, j, 1/2 + 1/2*i + 1/2*j + 1/2*k] + sage: e_norm = normalize_basis_at_p(e, 2) + sage: V = QQ**4 + sage: V.span([V(x.coefficient_tuple()) for (x,_) in e_norm]).dimension() + 4 """ N = len(e) @@ -3957,8 +3994,7 @@ def normalize_basis_at_p(e, p, B=QuaternionAlgebraElement_abstract.pair): # Ensures that (B(f0,f0)/2).valuation(p) <= B(f0,f1).valuation(p) if B(f0, f1).valuation(p) + 1 < B(f0, f0).valuation(p): - f0 += f1 - f1 = f0 + f0, f1 = f0 + f1, f0 # Make remaining vectors orthogonal to span of f0, f1 e[min_m] = e[0] @@ -3971,7 +4007,7 @@ def normalize_basis_at_p(e, p, B=QuaternionAlgebraElement_abstract.pair): tu = [(B01 * B(f1, e[l]) - B11 * B(f0, e[l]), B01 * B(f0, e[l]) - B00 * B(f1, e[l])) for l in range(2, N)] - e[2:n] = [e[l] + tu[l-2][0]/d * f0 + tu[l-2][1]/d * f1 for l in range(2, N)] + e[2:N] = [e[l] + tu[l-2][0]/d * f0 + tu[l-2][1]/d * f1 for l in range(2, N)] # Recursively normalize remaining vectors f = normalize_basis_at_p(e[2:N], p) diff --git a/src/sage/algebras/quatalg/quaternion_algebra_cython.pyx b/src/sage/algebras/quatalg/quaternion_algebra_cython.pyx index 130c9f5d43a..c757d6ada7f 100644 --- a/src/sage/algebras/quatalg/quaternion_algebra_cython.pyx +++ b/src/sage/algebras/quatalg/quaternion_algebra_cython.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-singular # distutils: language = c++ # distutils: libraries = gmp m NTL_LIBRARIES # distutils: extra_compile_args = NTL_CFLAGS diff --git a/src/sage/algebras/quatalg/quaternion_algebra_element.pxd b/src/sage/algebras/quatalg/quaternion_algebra_element.pxd index 93c98b3e045..53f5802bf91 100644 --- a/src/sage/algebras/quatalg/quaternion_algebra_element.pxd +++ b/src/sage/algebras/quatalg/quaternion_algebra_element.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-singular from sage.libs.gmp.types cimport mpz_t from sage.libs.flint.types cimport fmpz_poly_t diff --git a/src/sage/algebras/quatalg/quaternion_algebra_element.pyx b/src/sage/algebras/quatalg/quaternion_algebra_element.pyx index d17566c8c22..1b2df20594d 100644 --- a/src/sage/algebras/quatalg/quaternion_algebra_element.pyx +++ b/src/sage/algebras/quatalg/quaternion_algebra_element.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-singular # distutils: language = c++ # distutils: libraries = gmp m NTL_LIBRARIES # distutils: extra_compile_args = NTL_CFLAGS diff --git a/src/sage/algebras/quaternion_algebra.py b/src/sage/algebras/quaternion_algebra.py index 4e92b73de69..0694175bf13 100644 --- a/src/sage/algebras/quaternion_algebra.py +++ b/src/sage/algebras/quaternion_algebra.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.modules ############################################################ diff --git a/src/sage/algebras/quaternion_algebra_element.py b/src/sage/algebras/quaternion_algebra_element.py index ed0baaf0152..809f551d2a2 100644 --- a/src/sage/algebras/quaternion_algebra_element.py +++ b/src/sage/algebras/quaternion_algebra_element.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.modules ####################################################################### diff --git a/src/sage/algebras/rational_cherednik_algebra.py b/src/sage/algebras/rational_cherednik_algebra.py index 58b3ce5441d..0333e4b55df 100644 --- a/src/sage/algebras/rational_cherednik_algebra.py +++ b/src/sage/algebras/rational_cherednik_algebra.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules """ Rational Cherednik Algebras diff --git a/src/sage/algebras/schur_algebra.py b/src/sage/algebras/schur_algebra.py index 6e0b6ad8583..389bd86a2d4 100644 --- a/src/sage/algebras/schur_algebra.py +++ b/src/sage/algebras/schur_algebra.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.groups sage.modules r""" Schur algebras for `GL_n` diff --git a/src/sage/algebras/shuffle_algebra.py b/src/sage/algebras/shuffle_algebra.py index 2db55513d66..0926f180ade 100644 --- a/src/sage/algebras/shuffle_algebra.py +++ b/src/sage/algebras/shuffle_algebra.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Shuffle algebras diff --git a/src/sage/algebras/splitting_algebra.py b/src/sage/algebras/splitting_algebra.py index 991d6240a09..57c809ba2f4 100644 --- a/src/sage/algebras/splitting_algebra.py +++ b/src/sage/algebras/splitting_algebra.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.libs.pari sage.modules r""" Splitting Algebras diff --git a/src/sage/algebras/steenrod/all.py b/src/sage/algebras/steenrod/all.py index 134b2b032cf..f10017c5d3a 100644 --- a/src/sage/algebras/steenrod/all.py +++ b/src/sage/algebras/steenrod/all.py @@ -1,8 +1,10 @@ +# sage_setup: distribution = sagemath-combinat """ The Steenrod algebra """ -from .steenrod_algebra import SteenrodAlgebra, Sq from sage.misc.lazy_import import lazy_import +lazy_import('sage.algebras.steenrod.steenrod_algebra', ['SteenrodAlgebra', 'Sq']) lazy_import('sage.algebras.steenrod.steenrod_algebra_bases', 'steenrod_algebra_basis', deprecation=(32647, 'removed from namespace')) +del lazy_import diff --git a/src/sage/algebras/steenrod/steenrod_algebra.py b/src/sage/algebras/steenrod/steenrod_algebra.py index 3f9153cf962..49745df290d 100644 --- a/src/sage/algebras/steenrod/steenrod_algebra.py +++ b/src/sage/algebras/steenrod/steenrod_algebra.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" The Steenrod algebra diff --git a/src/sage/algebras/steenrod/steenrod_algebra_bases.py b/src/sage/algebras/steenrod/steenrod_algebra_bases.py index f439827ff69..fcbba639c03 100644 --- a/src/sage/algebras/steenrod/steenrod_algebra_bases.py +++ b/src/sage/algebras/steenrod/steenrod_algebra_bases.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat """ Steenrod algebra bases diff --git a/src/sage/algebras/steenrod/steenrod_algebra_misc.py b/src/sage/algebras/steenrod/steenrod_algebra_misc.py index c2cb488ab4a..5984f6b9e84 100644 --- a/src/sage/algebras/steenrod/steenrod_algebra_misc.py +++ b/src/sage/algebras/steenrod/steenrod_algebra_misc.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat """ Miscellaneous functions for the Steenrod algebra and its elements diff --git a/src/sage/algebras/steenrod/steenrod_algebra_mult.py b/src/sage/algebras/steenrod/steenrod_algebra_mult.py index 5672755f3fa..73a65f3849a 100644 --- a/src/sage/algebras/steenrod/steenrod_algebra_mult.py +++ b/src/sage/algebras/steenrod/steenrod_algebra_mult.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.rings.finite_rings r""" Multiplication for elements of the Steenrod algebra diff --git a/src/sage/algebras/tensor_algebra.py b/src/sage/algebras/tensor_algebra.py index a14ab916336..ceeba471da2 100644 --- a/src/sage/algebras/tensor_algebra.py +++ b/src/sage/algebras/tensor_algebra.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Tensor Algebras diff --git a/src/sage/algebras/weyl_algebra.py b/src/sage/algebras/weyl_algebra.py index e439f3c3217..505b5766fcc 100644 --- a/src/sage/algebras/weyl_algebra.py +++ b/src/sage/algebras/weyl_algebra.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.combinat sage.modules r""" Weyl Algebras diff --git a/src/sage/algebras/yangian.py b/src/sage/algebras/yangian.py index 8e19b92ba07..62ac37bbeef 100644 --- a/src/sage/algebras/yangian.py +++ b/src/sage/algebras/yangian.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Yangians diff --git a/src/sage/algebras/yokonuma_hecke_algebra.py b/src/sage/algebras/yokonuma_hecke_algebra.py index 747169d7abb..55e87f833bf 100644 --- a/src/sage/algebras/yokonuma_hecke_algebra.py +++ b/src/sage/algebras/yokonuma_hecke_algebra.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.modules """ Yokonuma-Hecke Algebras diff --git a/src/sage/all.py b/src/sage/all.py index b1f35e3a738..2bf07cdfb79 100644 --- a/src/sage/all.py +++ b/src/sage/all.py @@ -57,98 +57,95 @@ import operator import math -################ end setup warnings ############################### - -from .all__sagemath_repl import * # includes .all__sagemath_objects, .all__sagemath_environment - -################################################################### +# includes .all__sagemath_objects, .all__sagemath_environment +from sage.all__sagemath_repl import * # This import also sets up the interrupt handler from cysignals.signals import (AlarmInterrupt, SignalError, - sig_on_reset as sig_on_count) + sig_on_reset as sig_on_count) -from time import sleep +from time import sleep from functools import reduce # in order to keep reduce in python3 import sage.misc.lazy_import -from sage.misc.all import * # takes a while -from sage.typeset.all import * +from sage.misc.all import * # takes a while +from sage.typeset.all import * from sage.misc.sh import sh -from sage.libs.all import * +from sage.libs.all import * from sage.data_structures.all import * -from sage.structure.all import * -from sage.rings.all import * -from sage.arith.all import * -from sage.matrix.all import * - -from sage.symbolic.all import * -from sage.modules.all import * -from sage.monoids.all import * -from sage.algebras.all import * -from sage.modular.all import * -from sage.sat.all import * -from sage.schemes.all import * -from sage.graphs.all import * -from sage.groups.all import * -from sage.arith.power import generic_power as power -from sage.databases.all import * +from sage.structure.all import * +from sage.rings.all import * +from sage.arith.all import * +from sage.matrix.all import * + +from sage.symbolic.all import * +from sage.modules.all import * +from sage.monoids.all import * +from sage.algebras.all import * +from sage.modular.all import * +from sage.sat.all import * +from sage.schemes.all import * +from sage.graphs.all import * +from sage.groups.all import * +from sage.arith.power import generic_power as power +from sage.databases.all import * from sage.categories.all import * -from sage.sets.all import * +from sage.sets.all import * from sage.probability.all import * from sage.interfaces.all import * -from sage.functions.all import * -from sage.calculus.all import * +from sage.functions.all import * +from sage.calculus.all import * lazy_import('sage.tests', 'all', as_='tests', deprecation=27337) -from sage.cpython.all import * +from sage.cpython.all import * -from sage.crypto.all import * +from sage.crypto.all import * import sage.crypto.mq as mq -from sage.plot.all import * -from sage.plot.plot3d.all import * +from sage.plot.all import * +from sage.plot.plot3d.all import * -from sage.coding.all import * -from sage.combinat.all import * +from sage.coding.all import * +from sage.combinat.all import * from sage.lfunctions.all import * -from sage.geometry.all import * -from sage.geometry.triangulation.all import * -from sage.geometry.riemannian_manifolds.all import * +from sage.geometry.all import * +from sage.geometry.triangulation.all import * +from sage.geometry.riemannian_manifolds.all import * -from sage.dynamics.all import * +from sage.dynamics.all import * -from sage.homology.all import * +from sage.homology.all import * -from sage.topology.all import * +from sage.topology.all import * from sage.quadratic_forms.all import * -from sage.games.all import * +from sage.games.all import * -from sage.logic.all import * +from sage.logic.all import * -from sage.numerical.all import * +from sage.numerical.all import * -from sage.stats.all import * +from sage.stats.all import * import sage.stats.all as stats -from sage.parallel.all import * +from sage.parallel.all import * -from sage.ext.fast_callable import fast_callable -from sage.ext.fast_eval import fast_float +from sage.ext.fast_callable import fast_callable +from sage.ext.fast_eval import fast_float from sage.sandpiles.all import * -from sage.tensor.all import * +from sage.tensor.all import * -from sage.matroids.all import * +from sage.matroids.all import * from sage.game_theory.all import * @@ -168,7 +165,7 @@ _init_qqbar() ########################################################### -#### WARNING: +# WARNING: # DO *not* import numpy / matplotlib / networkx here!! # Each takes a surprisingly long time to initialize, # and that initialization should be done more on-the-fly @@ -190,31 +187,37 @@ copying = license copyright = license + def quit_sage(verbose=True): """ Does nothing. Code that needs cleanup should register its own handler using the atexit module. """ from sage.misc.superseded import deprecation - deprecation(8784, 'quit_sage is deprecated and now does nothing; please simply delete it') + deprecation( + 8784, 'quit_sage is deprecated and now does nothing; please simply delete it') from sage.misc.persist import register_unpickle_override register_unpickle_override('sage.categories.category', 'Sets', Sets) -register_unpickle_override('sage.categories.category_types', 'HeckeModules', HeckeModules) +register_unpickle_override('sage.categories.category_types', + 'HeckeModules', HeckeModules) register_unpickle_override('sage.categories.category_types', 'Objects', Objects) register_unpickle_override('sage.categories.category_types', 'Rings', Rings) register_unpickle_override('sage.categories.category_types', 'Fields', Fields) -register_unpickle_override('sage.categories.category_types', 'VectorSpaces', VectorSpaces) -register_unpickle_override('sage.categories.category_types', 'Schemes_over_base', sage.categories.schemes.Schemes_over_base) -register_unpickle_override('sage.categories.category_types', 'ModularAbelianVarieties', ModularAbelianVarieties) +register_unpickle_override('sage.categories.category_types', + 'VectorSpaces', VectorSpaces) +register_unpickle_override('sage.categories.category_types', + 'Schemes_over_base', sage.categories.schemes.Schemes_over_base) +register_unpickle_override('sage.categories.category_types', + 'ModularAbelianVarieties', ModularAbelianVarieties) register_unpickle_override('sage.libs.pari.gen_py', 'pari', pari) # Cache the contents of star imports. sage.misc.lazy_import.save_cache_file() -### Debugging for Singular, see trac #10903 +# Debugging for Singular, see trac #10903 # from sage.libs.singular.ring import poison_currRing # sys.settrace(poison_currRing) @@ -241,7 +244,7 @@ def quit_sage(verbose=True): sage.misc.lazy_import.finish_startup() -### Python broke large ints; see trac #34506 +# Python broke large ints; see trac #34506 if hasattr(sys, "set_int_max_str_digits"): sys.set_int_max_str_digits(0) diff --git a/src/sage/all__sagemath_bliss.py b/src/sage/all__sagemath_bliss.py index e69de29bb2d..00e01e7dfe7 100644 --- a/src/sage/all__sagemath_bliss.py +++ b/src/sage/all__sagemath_bliss.py @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-bliss diff --git a/src/sage/all__sagemath_categories.py b/src/sage/all__sagemath_categories.py index 4f438a77cbe..cb37b0baf2f 100644 --- a/src/sage/all__sagemath_categories.py +++ b/src/sage/all__sagemath_categories.py @@ -1,4 +1,5 @@ -from .all__sagemath_objects import * +# sage_setup: distribution = sagemath-categories +from sage.all__sagemath_objects import * from sage.categories.all import * diff --git a/src/sage/all__sagemath_coxeter3.py b/src/sage/all__sagemath_coxeter3.py index e69de29bb2d..61138b7bc1a 100644 --- a/src/sage/all__sagemath_coxeter3.py +++ b/src/sage/all__sagemath_coxeter3.py @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-coxeter3 diff --git a/src/sage/all__sagemath_environment.py b/src/sage/all__sagemath_environment.py index f68c74ab115..4baf97bae83 100644 --- a/src/sage/all__sagemath_environment.py +++ b/src/sage/all__sagemath_environment.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-environment from sage.env import SAGE_ROOT, SAGE_SRC, SAGE_DOC_SRC, SAGE_LOCAL, DOT_SAGE, SAGE_ENV from sage.misc.all__sagemath_environment import * diff --git a/src/sage/all__sagemath_mcqd.py b/src/sage/all__sagemath_mcqd.py index e69de29bb2d..9d46f0ff6ba 100644 --- a/src/sage/all__sagemath_mcqd.py +++ b/src/sage/all__sagemath_mcqd.py @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-mcqd diff --git a/src/sage/all__sagemath_meataxe.py b/src/sage/all__sagemath_meataxe.py index e69de29bb2d..fd1e327ee2f 100644 --- a/src/sage/all__sagemath_meataxe.py +++ b/src/sage/all__sagemath_meataxe.py @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-meataxe diff --git a/src/sage/all__sagemath_objects.py b/src/sage/all__sagemath_objects.py index 7780f245aae..e5861c865a4 100644 --- a/src/sage/all__sagemath_objects.py +++ b/src/sage/all__sagemath_objects.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects import os import sys import operator @@ -9,16 +10,16 @@ # This import also sets up the interrupt handler from cysignals.signals import (AlarmInterrupt, SignalError, - sig_on_reset as sig_on_count) + sig_on_reset as sig_on_count) -from time import sleep +from time import sleep -from sage.misc.all__sagemath_objects import * -from sage.structure.all import * -from sage.arith.power import generic_power as power +from sage.misc.all__sagemath_objects import * +from sage.structure.all import * +from sage.arith.power import generic_power as power from sage.categories.all__sagemath_objects import * -from sage.cpython.all import * +from sage.cpython.all import * from cysignals.alarm import alarm, cancel_alarm diff --git a/src/sage/all__sagemath_repl.py b/src/sage/all__sagemath_repl.py index d77919bc8bd..2bbf2476a74 100644 --- a/src/sage/all__sagemath_repl.py +++ b/src/sage/all__sagemath_repl.py @@ -1,8 +1,12 @@ -############ setup warning filters before importing Sage stuff #### +# sage_setup: distribution = sagemath-repl + +# Set up warning filters before importing Sage stuff + import sys import warnings -__with_pydebug = hasattr(sys, 'gettotalrefcount') # This is a Python debug build (--with-pydebug) +# This is a Python debug build (--with-pydebug) +__with_pydebug = hasattr(sys, 'gettotalrefcount') if __with_pydebug: # a debug build does not install the default warning filters. Sadly, this breaks doctests so we # have to re-add them: @@ -16,38 +20,38 @@ # Ignore all deprecations from IPython etc. warnings.filterwarnings('ignore', category=DeprecationWarning, - module='(IPython|ipykernel|jupyter_client|jupyter_core|nbformat|notebook|ipywidgets|storemagic|jedi)') + module='(IPython|ipykernel|jupyter_client|jupyter_core|nbformat|notebook|ipywidgets|storemagic|jedi)') # scipy 1.18 introduced reprecation warnings on a number of things they are moving to # numpy, e.g. DeprecationWarning: scipy.array is deprecated # and will be removed in SciPy 2.0.0, use numpy.array instead # This affects networkx 2.2 up and including 2.4 (cf. :issue:29766) warnings.filterwarnings('ignore', category=DeprecationWarning, - module='(scipy|networkx)') + module='(scipy|networkx)') # However, be sure to keep OUR deprecation warnings warnings.filterwarnings('default', category=DeprecationWarning, - message=r'[\s\S]*See https?://trac\.sagemath\.org/[0-9]* for details.') + message=r'[\s\S]*See https?://trac\.sagemath\.org/[0-9]* for details.') # Ignore Python 3.9 deprecation warnings warnings.filterwarnings('ignore', category=DeprecationWarning, - module='ast') + module='ast') # Ignore packaging 20.5 deprecation warnings warnings.filterwarnings('ignore', category=DeprecationWarning, - module='(.*[.]_vendor[.])?packaging') + module='(.*[.]_vendor[.])?packaging') # Ignore a few warnings triggered by pythran 0.12.1 warnings.filterwarnings('ignore', category=DeprecationWarning, - message='\n\n `numpy.distutils` is deprecated since NumPy 1.23.0', - module='pythran.dist') + message='\n\n `numpy.distutils` is deprecated since NumPy 1.23.0', + module='pythran.dist') warnings.filterwarnings('ignore', category=DeprecationWarning, - message='pkg_resources is deprecated as an API|' - 'Deprecated call to `pkg_resources.declare_namespace(.*)`', - module='pkg_resources|setuptools.sandbox') + message='pkg_resources is deprecated as an API|' + 'Deprecated call to `pkg_resources.declare_namespace(.*)`', + module='pkg_resources|setuptools.sandbox') warnings.filterwarnings('ignore', category=DeprecationWarning, - message='msvccompiler is deprecated and slated to be removed', - module='distutils.msvccompiler') + message='msvccompiler is deprecated and slated to be removed', + module='distutils.msvccompiler') warnings.filterwarnings('ignore', category=DeprecationWarning, message='The distutils(.sysconfig module| package) is deprecated', @@ -97,11 +101,11 @@ r"removed from itertools in Python 3.14.") -from .all__sagemath_objects import * -from .all__sagemath_environment import * +from sage.all__sagemath_objects import * +from sage.all__sagemath_environment import * -from sage.doctest.all import * -from sage.repl.all import * +from sage.doctest.all import * +from sage.repl.all import * from sage.misc.all__sagemath_repl import * # For doctesting. These are overwritten later diff --git a/src/sage/all__sagemath_sirocco.py b/src/sage/all__sagemath_sirocco.py index e69de29bb2d..44db2511e89 100644 --- a/src/sage/all__sagemath_sirocco.py +++ b/src/sage/all__sagemath_sirocco.py @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-sirocco diff --git a/src/sage/all__sagemath_tdlib.py b/src/sage/all__sagemath_tdlib.py index e69de29bb2d..e26612c8409 100644 --- a/src/sage/all__sagemath_tdlib.py +++ b/src/sage/all__sagemath_tdlib.py @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-tdlib diff --git a/src/sage/all_cmdline.py b/src/sage/all_cmdline.py index 197d34ebc90..33d0712c996 100644 --- a/src/sage/all_cmdline.py +++ b/src/sage/all_cmdline.py @@ -19,7 +19,7 @@ from sage.misc.lazy_import import lazy_import -for pkg in ['axiom', 'fricas', 'gap' , 'gap3', 'giac', 'gp', +for pkg in ['axiom', 'fricas', 'gap', 'gap3', 'giac', 'gp', 'gnuplot', 'kash', 'magma', 'macaulay2', 'maple', 'mathematica', 'mathics', 'matlab', 'mupad', 'mwrank', 'octave', 'qepcad', 'singular', diff --git a/src/sage/arith/all.py b/src/sage/arith/all.py index 3446336de68..705fb82ed52 100644 --- a/src/sage/arith/all.py +++ b/src/sage/arith/all.py @@ -1,96 +1,37 @@ +# sage_setup: distribution = sagemath-categories from sage.misc.lazy_import import lazy_import -from sage.arith.misc import ( - algdep, - bernoulli, - is_prime, - is_prime_power, - is_pseudoprime, - is_pseudoprime_power, - prime_powers, - primes_first_n, - eratosthenes, - primes, - next_prime_power, - next_probable_prime, - next_prime, - previous_prime, - previous_prime_power, - random_prime, - divisors, - sigma, - gcd, - GCD, - xlcm, - xgcd, - xkcd, - inverse_mod, - get_gcd, - get_inverse_mod, - power_mod, - rational_reconstruction, - mqrr_rational_reconstruction, - trial_division, - factor, - prime_divisors, - odd_part, - prime_to_m_part, - is_square, - is_squarefree, - euler_phi, - carmichael_lambda, - crt, - CRT, - CRT_list, - CRT_basis, - CRT_vectors, - multinomial, - multinomial_coefficients, - binomial, - factorial, - kronecker_symbol, - kronecker, - legendre_symbol, - primitive_root, - nth_prime, - quadratic_residues, - moebius, - continuant, - number_of_divisors, - hilbert_symbol, - hilbert_conductor, - hilbert_conductor_inverse, - falling_factorial, - rising_factorial, - integer_ceil, - integer_floor, - two_squares, - three_squares, - four_squares, - sum_of_k_squares, - subfactorial, - is_power_of_two, - differences, - sort_complex_numbers_for_display, - fundamental_discriminant, - squarefree_divisors, - radical, - binomial_coefficients, - jacobi_symbol, - dedekind_sum, - prime_factors, - prime_range, - valuation, -) +from sage.arith.misc import (algdep, bernoulli, is_prime, is_prime_power, + is_pseudoprime, is_pseudoprime_power, + prime_powers, primes_first_n, eratosthenes, primes, + next_prime_power, next_probable_prime, next_prime, + previous_prime, previous_prime_power, random_prime, + divisors, sigma, gcd, GCD, xlcm, xgcd, xkcd, + inverse_mod, get_gcd, get_inverse_mod, power_mod, + rational_reconstruction, mqrr_rational_reconstruction, + trial_division, factor, prime_divisors, odd_part, prime_to_m_part, + is_square, is_squarefree, euler_phi, carmichael_lambda, crt, CRT, + CRT_list, CRT_basis, CRT_vectors, multinomial, multinomial_coefficients, + binomial, factorial, kronecker_symbol, kronecker, legendre_symbol, + primitive_root, nth_prime, quadratic_residues, moebius, + continuant, number_of_divisors, hilbert_symbol, hilbert_conductor, + hilbert_conductor_inverse, falling_factorial, rising_factorial, + integer_ceil, integer_floor, + two_squares, three_squares, four_squares, sum_of_k_squares, + subfactorial, is_power_of_two, differences, + sort_complex_numbers_for_display, + fundamental_discriminant, squarefree_divisors, + radical, binomial_coefficients, jacobi_symbol, + dedekind_sum, + prime_factors, prime_range, valuation) lazy_import("sage.arith.misc", ("Sigma", "Moebius", "Euler_Phi"), deprecation=30322) from sage.arith.functions import lcm - LCM = lcm from sage.arith.srange import xsrange, srange, ellipsis_iter, ellipsis_range - sxrange = xsrange σ = sigma +del lazy_import diff --git a/src/sage/arith/all__sagemath_objects.py b/src/sage/arith/all__sagemath_objects.py index 38e44245ad3..31d80d17daa 100644 --- a/src/sage/arith/all__sagemath_objects.py +++ b/src/sage/arith/all__sagemath_objects.py @@ -1,2 +1,5 @@ +# sage_setup: distribution = sagemath-objects # The presence of this file ensures that sage_setup for sagemath-objects # considers this directory as a namespace package + +from sage.arith.power import generic_power as power diff --git a/src/sage/arith/constants.pxd b/src/sage/arith/constants.pxd index 371960ec3bc..b588791fd66 100644 --- a/src/sage/arith/constants.pxd +++ b/src/sage/arith/constants.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # # Various mathematical constants, represented as double precision hex # float. We use these instead of decimal constants like 3.1415... diff --git a/src/sage/arith/functions.pxd b/src/sage/arith/functions.pxd index 9ddfc38b38b..af3c4e6afc3 100644 --- a/src/sage/arith/functions.pxd +++ b/src/sage/arith/functions.pxd @@ -1,3 +1,5 @@ +# sage_setup: distribution = sagemath-categories + cpdef LCM_list(v) cdef LCM_generic(itr, ret) diff --git a/src/sage/arith/functions.pyx b/src/sage/arith/functions.pyx index f0c7c03220e..5d9b1c81f82 100644 --- a/src/sage/arith/functions.pyx +++ b/src/sage/arith/functions.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Fast Arithmetic Functions """ @@ -30,7 +31,7 @@ def lcm(a, b=None): - ``a,b`` -- two elements of a ring with lcm or - - ``a`` -- a list or tuple of elements of a ring with lcm + - ``a`` -- a list, tuple or iterable of elements of a ring with lcm OUTPUT: @@ -135,7 +136,7 @@ cpdef LCM_list(v): INPUT: - - ``v`` -- an iterable + - ``v`` -- an iterable OUTPUT: integer diff --git a/src/sage/arith/long.pxd b/src/sage/arith/long.pxd index 76c7d7f015d..44923f802da 100644 --- a/src/sage/arith/long.pxd +++ b/src/sage/arith/long.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects # sage.doctest: needs sage.misc.cython r""" Fast conversion of Python objects to C long diff --git a/src/sage/arith/misc.py b/src/sage/arith/misc.py index 6d11707f785..20fbb3fcf78 100644 --- a/src/sage/arith/misc.py +++ b/src/sage/arith/misc.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-categories r""" Miscellaneous arithmetic functions diff --git a/src/sage/arith/multi_modular.pxd b/src/sage/arith/multi_modular.pxd index 300bbf29008..3409268b33f 100644 --- a/src/sage/arith/multi_modular.pxd +++ b/src/sage/arith/multi_modular.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories from sage.ext.mod_int cimport * from sage.libs.gmp.types cimport mpz_t diff --git a/src/sage/arith/multi_modular.pyx b/src/sage/arith/multi_modular.pyx index f9252624eec..566466da805 100644 --- a/src/sage/arith/multi_modular.pyx +++ b/src/sage/arith/multi_modular.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: optional - primecountpy """ Utility classes for multi-modular algorithms diff --git a/src/sage/arith/numerical_approx.pxd b/src/sage/arith/numerical_approx.pxd index 85f92eca336..794e443e449 100644 --- a/src/sage/arith/numerical_approx.pxd +++ b/src/sage/arith/numerical_approx.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects # sage.doctest: needs sage.rings.real_mpfr cpdef inline long digits_to_bits(d) except -1: diff --git a/src/sage/arith/numerical_approx.pyx b/src/sage/arith/numerical_approx.pyx index 6698a0ec317..642b9418646 100644 --- a/src/sage/arith/numerical_approx.pyx +++ b/src/sage/arith/numerical_approx.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects # sage.doctest: needs sage.rings.real_mpfr r""" Generic numerical approximation function diff --git a/src/sage/arith/power.pxd b/src/sage/arith/power.pxd index 7651245d2eb..8fe386ad09d 100644 --- a/src/sage/arith/power.pxd +++ b/src/sage/arith/power.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects from cpython.number cimport PyNumber_TrueDivide from sage.structure.element cimport Element diff --git a/src/sage/arith/power.pyx b/src/sage/arith/power.pyx index e9a1f7972eb..85096b6c703 100644 --- a/src/sage/arith/power.pyx +++ b/src/sage/arith/power.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects """ Generic implementation of powering diff --git a/src/sage/arith/rational_reconstruction.pxd b/src/sage/arith/rational_reconstruction.pxd index 6bbd246c2df..cf1182c58a2 100644 --- a/src/sage/arith/rational_reconstruction.pxd +++ b/src/sage/arith/rational_reconstruction.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories from sage.libs.gmp.types cimport mpz_t, mpq_t cdef int mpq_rational_reconstruction(mpq_t answer, mpz_t a, mpz_t m) except -1 diff --git a/src/sage/arith/rational_reconstruction.pyx b/src/sage/arith/rational_reconstruction.pyx index bd07977411a..47991a9862b 100644 --- a/src/sage/arith/rational_reconstruction.pyx +++ b/src/sage/arith/rational_reconstruction.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Rational reconstruction diff --git a/src/sage/arith/srange.pyx b/src/sage/arith/srange.pyx index d4815ae60b7..fed04106ddb 100644 --- a/src/sage/arith/srange.pyx +++ b/src/sage/arith/srange.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Ranges and the ``[1,2,..,n]`` notation diff --git a/src/sage/calculus/all.py b/src/sage/calculus/all.py index c83a97f6eb4..90a2f2f8d7a 100644 --- a/src/sage/calculus/all.py +++ b/src/sage/calculus/all.py @@ -1,233 +1,15 @@ +# sage_setup: distribution = sagemath-symbolics -from .calculus import maxima as maxima_calculus -from .calculus import (laplace, inverse_laplace, - limit, lim) +from sage.calculus.all__sagemath_modules import * -from .integration import numerical_integral, monte_carlo_integral -integral_numerical = numerical_integral +from sage.calculus import desolvers +from sage.calculus.calculus import maxima as maxima_calculus +from sage.calculus.calculus import (laplace, inverse_laplace, + limit, lim) -from .interpolation import spline, Spline - -from .functional import (diff, derivative, - expand, - taylor, simplify) - -from .functions import (wronskian, jacobian) - -from .ode import ode_solver, ode_system - -from .desolvers import (desolve, desolve_laplace, desolve_system, - eulers_method, eulers_method_2x2, - eulers_method_2x2_plot, desolve_rk4, desolve_system_rk4, - desolve_odeint, desolve_mintides, desolve_tides_mpfr) - -from .var import (var, function, clear_vars) - -from .transforms.all import * - -# We lazy_import the following modules since they import numpy which slows down sage startup -from sage.misc.lazy_import import lazy_import -lazy_import("sage.calculus.riemann", ["Riemann_Map"]) -lazy_import("sage.calculus.interpolators", ["polygon_spline", "complex_cubic_spline"]) - -from sage.modules.free_module_element import vector -from sage.matrix.constructor import matrix - - -def symbolic_expression(x): - """ - Create a symbolic expression or vector of symbolic expressions from x. - - INPUT: - - - ``x`` - an object - - OUTPUT: - - - a symbolic expression. - - EXAMPLES:: - - sage: a = symbolic_expression(3/2); a - 3/2 - sage: type(a) - - sage: R. = QQ[]; type(x) - - sage: a = symbolic_expression(2*x^2 + 3); a - 2*x^2 + 3 - sage: type(a) - - sage: from sage.structure.element import Expression - sage: isinstance(a, Expression) - True - sage: a in SR - True - sage: a.parent() - Symbolic Ring - - Note that equations exist in the symbolic ring:: - - sage: E = EllipticCurve('15a'); E - Elliptic Curve defined by y^2 + x*y + y = x^3 + x^2 - 10*x - 10 over Rational Field - sage: symbolic_expression(E) - x*y + y^2 + y == x^3 + x^2 - 10*x - 10 - sage: symbolic_expression(E) in SR - True - - If ``x`` is a list or tuple, create a vector of symbolic expressions:: - - sage: v = symbolic_expression([x,1]); v - (x, 1) - sage: v.base_ring() - Symbolic Ring - sage: v = symbolic_expression((x,1)); v - (x, 1) - sage: v.base_ring() - Symbolic Ring - sage: v = symbolic_expression((3,1)); v - (3, 1) - sage: v.base_ring() - Symbolic Ring - sage: E = EllipticCurve('15a'); E - Elliptic Curve defined by y^2 + x*y + y = x^3 + x^2 - 10*x - 10 over Rational Field - sage: v = symbolic_expression([E,E]); v - (x*y + y^2 + y == x^3 + x^2 - 10*x - 10, x*y + y^2 + y == x^3 + x^2 - 10*x - 10) - sage: v.base_ring() - Symbolic Ring - - Likewise, if ``x`` is a vector, create a vector of symbolic expressions:: - - sage: u = vector([1, 2, 3]) - sage: v = symbolic_expression(u); v - (1, 2, 3) - sage: v.parent() - Vector space of dimension 3 over Symbolic Ring - - If ``x`` is a list or tuple of lists/tuples/vectors, create a matrix of symbolic expressions:: - - sage: M = symbolic_expression([[1, x, x^2], (x, x^2, x^3), vector([x^2, x^3, x^4])]); M - [ 1 x x^2] - [ x x^2 x^3] - [x^2 x^3 x^4] - sage: M.parent() - Full MatrixSpace of 3 by 3 dense matrices over Symbolic Ring - - If ``x`` is a matrix, create a matrix of symbolic expressions:: - - sage: A = matrix([[1, 2, 3], [4, 5, 6]]) - sage: B = symbolic_expression(A); B - [1 2 3] - [4 5 6] - sage: B.parent() - Full MatrixSpace of 2 by 3 dense matrices over Symbolic Ring - - If ``x`` is a function, for example defined by a ``lambda`` expression, create a - symbolic function:: - - sage: f = symbolic_expression(lambda z: z^2 + 1); f - z |--> z^2 + 1 - sage: f.parent() - Callable function ring with argument z - sage: f(7) - 50 - - If ``x`` is a list or tuple of functions, or if ``x`` is a function that returns a list - or tuple, create a callable symbolic vector:: - - sage: symbolic_expression([lambda mu, nu: mu^2 + nu^2, lambda mu, nu: mu^2 - nu^2]) - (mu, nu) |--> (mu^2 + nu^2, mu^2 - nu^2) - sage: f = symbolic_expression(lambda uwu: [1, uwu, uwu^2]); f - uwu |--> (1, uwu, uwu^2) - sage: f.parent() - Vector space of dimension 3 over Callable function ring with argument uwu - sage: f(5) - (1, 5, 25) - sage: f(5).parent() - Vector space of dimension 3 over Symbolic Ring - - TESTS: - - Lists, tuples, and vectors of length 0 become vectors over a symbolic ring:: - - sage: symbolic_expression([]).parent() - Vector space of dimension 0 over Symbolic Ring - sage: symbolic_expression(()).parent() - Vector space of dimension 0 over Symbolic Ring - sage: symbolic_expression(vector(QQ, 0)).parent() - Vector space of dimension 0 over Symbolic Ring - - If a matrix has dimension 0, the result is still a matrix over a symbolic ring:: - - sage: symbolic_expression(matrix(QQ, 2, 0)).parent() - Full MatrixSpace of 2 by 0 dense matrices over Symbolic Ring - sage: symbolic_expression(matrix(QQ, 0, 3)).parent() - Full MatrixSpace of 0 by 3 dense matrices over Symbolic Ring - - Also functions defined using ``def`` can be used, but we do not advertise it as a use case:: - - sage: def sos(x, y): - ....: return x^2 + y^2 - sage: symbolic_expression(sos) - (x, y) |--> x^2 + y^2 - - Functions that take a varying number of arguments or keyword-only arguments are not accepted:: - - sage: def variadic(x, *y): - ....: return x - sage: symbolic_expression(variadic) - Traceback (most recent call last): - ... - TypeError: unable to convert to a symbolic expression - - sage: def function_with_keyword_only_arg(x, *, sign=1): - ....: return sign * x - sage: symbolic_expression(function_with_keyword_only_arg) - Traceback (most recent call last): - ... - TypeError: unable to convert - to a symbolic expression - """ - from sage.symbolic.expression import Expression - from sage.symbolic.ring import SR - from sage.modules.free_module_element import is_FreeModuleElement - from sage.structure.element import is_Matrix - - if isinstance(x, Expression): - return x - elif hasattr(x, '_symbolic_'): - return x._symbolic_(SR) - elif isinstance(x, (tuple, list)) or is_FreeModuleElement(x): - expressions = [symbolic_expression(item) for item in x] - if not expressions: - # Make sure it is symbolic also when length is 0 - return vector(SR, 0) - if is_FreeModuleElement(expressions[0]): - return matrix(expressions) - return vector(expressions) - elif is_Matrix(x): - if not x.nrows() or not x.ncols(): - # Make sure it is symbolic and of correct dimensions - # also when a matrix dimension is 0 - return matrix(SR, x.nrows(), x.ncols()) - rows = [symbolic_expression(row) for row in x.rows()] - return matrix(rows) - elif callable(x): - from inspect import signature, Parameter - try: - s = signature(x) - except ValueError: - pass - else: - if all(param.kind in (Parameter.POSITIONAL_ONLY, Parameter.POSITIONAL_OR_KEYWORD) - for param in s.parameters.values()): - vars = [SR.var(name) for name in s.parameters.keys()] - result = x(*vars) - if isinstance(result, (tuple, list)): - return vector(SR, result).function(*vars) - else: - return SR(result).function(*vars) - return SR(x) - - -from . import desolvers +from sage.calculus.desolvers import (desolve, desolve_laplace, desolve_system, + eulers_method, eulers_method_2x2, + eulers_method_2x2_plot, desolve_rk4, desolve_system_rk4, + desolve_odeint, desolve_mintides, desolve_tides_mpfr) +from sage.calculus.expr import symbolic_expression +from sage.calculus.var import (var, function, clear_vars) diff --git a/src/sage/calculus/all__sagemath_categories.py b/src/sage/calculus/all__sagemath_categories.py new file mode 100644 index 00000000000..cf9a7fbd0b2 --- /dev/null +++ b/src/sage/calculus/all__sagemath_categories.py @@ -0,0 +1 @@ +from sage.calculus.functional import diff, derivative, expand, simplify, taylor diff --git a/src/sage/calculus/all__sagemath_modules.py b/src/sage/calculus/all__sagemath_modules.py new file mode 100644 index 00000000000..f12d63a3b7f --- /dev/null +++ b/src/sage/calculus/all__sagemath_modules.py @@ -0,0 +1,18 @@ +from sage.calculus.all__sagemath_categories import * + +from sage.calculus.integration import numerical_integral, monte_carlo_integral +integral_numerical = numerical_integral + +from sage.calculus.interpolation import spline, Spline + +from sage.calculus.functions import wronskian, jacobian + +from sage.calculus.ode import ode_solver, ode_system + +# We lazy_import the following modules since they import numpy which slows down sage startup +from sage.misc.lazy_import import lazy_import +lazy_import("sage.calculus.riemann", ["Riemann_Map"]) +lazy_import("sage.calculus.interpolators", ["polygon_spline", "complex_cubic_spline"]) + +from sage.calculus.transforms.all import * +del lazy_import diff --git a/src/sage/calculus/calculus.py b/src/sage/calculus/calculus.py index 5bf4c0eec49..0f71699bc2f 100644 --- a/src/sage/calculus/calculus.py +++ b/src/sage/calculus/calculus.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Symbolic Computation diff --git a/src/sage/calculus/desolvers.py b/src/sage/calculus/desolvers.py index afeee69ce89..c601c605642 100644 --- a/src/sage/calculus/desolvers.py +++ b/src/sage/calculus/desolvers.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Solving ordinary differential equations diff --git a/src/sage/calculus/expr.py b/src/sage/calculus/expr.py new file mode 100644 index 00000000000..0aa62851d24 --- /dev/null +++ b/src/sage/calculus/expr.py @@ -0,0 +1,203 @@ +r""" +Constructor for symbolic expressions +""" + +from sage.misc.lazy_import import lazy_import +from sage.structure.element import is_Matrix +from sage.symbolic.expression import Expression +from sage.symbolic.ring import SR + +lazy_import('sage.modules.free_module_element', ['vector', 'FreeModuleElement']) +lazy_import('sage.matrix.constructor', 'matrix') + + +def symbolic_expression(x): + """ + Create a symbolic expression or vector of symbolic expressions from x. + + INPUT: + + - ``x`` - an object + + OUTPUT: + + - a symbolic expression. + + EXAMPLES:: + + sage: a = symbolic_expression(3/2); a + 3/2 + sage: type(a) + + sage: R. = QQ[]; type(x) + + sage: a = symbolic_expression(2*x^2 + 3); a + 2*x^2 + 3 + sage: type(a) + + sage: from sage.structure.element import Expression + sage: isinstance(a, Expression) + True + sage: a in SR + True + sage: a.parent() + Symbolic Ring + + Note that equations exist in the symbolic ring:: + + sage: # needs sage.schemes + sage: E = EllipticCurve('15a'); E + Elliptic Curve defined by y^2 + x*y + y = x^3 + x^2 - 10*x - 10 over Rational Field + sage: symbolic_expression(E) + x*y + y^2 + y == x^3 + x^2 - 10*x - 10 + sage: symbolic_expression(E) in SR + True + + If ``x`` is a list or tuple, create a vector of symbolic expressions:: + + sage: v = symbolic_expression([x,1]); v + (x, 1) + sage: v.base_ring() + Symbolic Ring + sage: v = symbolic_expression((x,1)); v + (x, 1) + sage: v.base_ring() + Symbolic Ring + sage: v = symbolic_expression((3,1)); v + (3, 1) + sage: v.base_ring() + Symbolic Ring + sage: E = EllipticCurve('15a'); E + Elliptic Curve defined by y^2 + x*y + y = x^3 + x^2 - 10*x - 10 over Rational Field + sage: v = symbolic_expression([E,E]); v + (x*y + y^2 + y == x^3 + x^2 - 10*x - 10, x*y + y^2 + y == x^3 + x^2 - 10*x - 10) + sage: v.base_ring() + Symbolic Ring + + Likewise, if ``x`` is a vector, create a vector of symbolic expressions:: + + sage: u = vector([1, 2, 3]) + sage: v = symbolic_expression(u); v + (1, 2, 3) + sage: v.parent() + Vector space of dimension 3 over Symbolic Ring + + If ``x`` is a list or tuple of lists/tuples/vectors, create a matrix of symbolic expressions:: + + sage: M = symbolic_expression([[1, x, x^2], (x, x^2, x^3), vector([x^2, x^3, x^4])]); M + [ 1 x x^2] + [ x x^2 x^3] + [x^2 x^3 x^4] + sage: M.parent() + Full MatrixSpace of 3 by 3 dense matrices over Symbolic Ring + + If ``x`` is a matrix, create a matrix of symbolic expressions:: + + sage: A = matrix([[1, 2, 3], [4, 5, 6]]) + sage: B = symbolic_expression(A); B + [1 2 3] + [4 5 6] + sage: B.parent() + Full MatrixSpace of 2 by 3 dense matrices over Symbolic Ring + + If ``x`` is a function, for example defined by a ``lambda`` expression, create a + symbolic function:: + + sage: f = symbolic_expression(lambda z: z^2 + 1); f + z |--> z^2 + 1 + sage: f.parent() + Callable function ring with argument z + sage: f(7) + 50 + + If ``x`` is a list or tuple of functions, or if ``x`` is a function that returns a list + or tuple, create a callable symbolic vector:: + + sage: symbolic_expression([lambda mu, nu: mu^2 + nu^2, lambda mu, nu: mu^2 - nu^2]) + (mu, nu) |--> (mu^2 + nu^2, mu^2 - nu^2) + sage: f = symbolic_expression(lambda uwu: [1, uwu, uwu^2]); f + uwu |--> (1, uwu, uwu^2) + sage: f.parent() + Vector space of dimension 3 over Callable function ring with argument uwu + sage: f(5) + (1, 5, 25) + sage: f(5).parent() + Vector space of dimension 3 over Symbolic Ring + + TESTS: + + Lists, tuples, and vectors of length 0 become vectors over a symbolic ring:: + + sage: symbolic_expression([]).parent() + Vector space of dimension 0 over Symbolic Ring + sage: symbolic_expression(()).parent() + Vector space of dimension 0 over Symbolic Ring + sage: symbolic_expression(vector(QQ, 0)).parent() + Vector space of dimension 0 over Symbolic Ring + + If a matrix has dimension 0, the result is still a matrix over a symbolic ring:: + + sage: symbolic_expression(matrix(QQ, 2, 0)).parent() + Full MatrixSpace of 2 by 0 dense matrices over Symbolic Ring + sage: symbolic_expression(matrix(QQ, 0, 3)).parent() + Full MatrixSpace of 0 by 3 dense matrices over Symbolic Ring + + Also functions defined using ``def`` can be used, but we do not advertise it as a use case:: + + sage: def sos(x, y): + ....: return x^2 + y^2 + sage: symbolic_expression(sos) + (x, y) |--> x^2 + y^2 + + Functions that take a varying number of arguments or keyword-only arguments are not accepted:: + + sage: def variadic(x, *y): + ....: return x + sage: symbolic_expression(variadic) + Traceback (most recent call last): + ... + TypeError: unable to convert to a symbolic expression + + sage: def function_with_keyword_only_arg(x, *, sign=1): + ....: return sign * x + sage: symbolic_expression(function_with_keyword_only_arg) + Traceback (most recent call last): + ... + TypeError: unable to convert + to a symbolic expression + """ + if isinstance(x, Expression): + return x + elif hasattr(x, '_symbolic_'): + return x._symbolic_(SR) + elif isinstance(x, (tuple, list, FreeModuleElement)): + expressions = [symbolic_expression(item) for item in x] + if not expressions: + # Make sure it is symbolic also when length is 0 + return vector(SR, 0) + if isinstance(expressions[0], FreeModuleElement): + return matrix(expressions) + return vector(expressions) + elif is_Matrix(x): + if not x.nrows() or not x.ncols(): + # Make sure it is symbolic and of correct dimensions + # also when a matrix dimension is 0 + return matrix(SR, x.nrows(), x.ncols()) + rows = [symbolic_expression(row) for row in x.rows()] + return matrix(rows) + elif callable(x): + from inspect import signature, Parameter + try: + s = signature(x) + except ValueError: + pass + else: + if all(param.kind in (Parameter.POSITIONAL_ONLY, Parameter.POSITIONAL_OR_KEYWORD) + for param in s.parameters.values()): + vars = [SR.var(name) for name in s.parameters.keys()] + result = x(*vars) + if isinstance(result, (tuple, list)): + return vector(SR, result).function(*vars) + else: + return SR(result).function(*vars) + return SR(x) diff --git a/src/sage/calculus/functional.py b/src/sage/calculus/functional.py index 109de21a5d9..1d1ae4791b7 100644 --- a/src/sage/calculus/functional.py +++ b/src/sage/calculus/functional.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.symbolic """ Functional notation support for common calculus methods diff --git a/src/sage/calculus/functions.py b/src/sage/calculus/functions.py index 11a23aac323..77eaba98343 100644 --- a/src/sage/calculus/functions.py +++ b/src/sage/calculus/functions.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.symbolic r""" Calculus functions diff --git a/src/sage/calculus/integration.pyx b/src/sage/calculus/integration.pyx index f0cd3a9f1ca..8faaf040e3b 100644 --- a/src/sage/calculus/integration.pyx +++ b/src/sage/calculus/integration.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.symbolic """ Numerical Integration diff --git a/src/sage/calculus/interpolation.pxd b/src/sage/calculus/interpolation.pxd index 9d60459a03b..d5d5b0c983a 100644 --- a/src/sage/calculus/interpolation.pxd +++ b/src/sage/calculus/interpolation.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.libs.gsl.interp cimport * cdef class Spline: diff --git a/src/sage/calculus/interpolation.pyx b/src/sage/calculus/interpolation.pyx index c2acab64fd9..bb5d2144990 100644 --- a/src/sage/calculus/interpolation.pyx +++ b/src/sage/calculus/interpolation.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Real Interpolation using GSL """ diff --git a/src/sage/calculus/interpolators.pyx b/src/sage/calculus/interpolators.pyx index 0e1f5fc7209..bf2b1b759da 100644 --- a/src/sage/calculus/interpolators.pyx +++ b/src/sage/calculus/interpolators.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs numpy """ Complex Interpolation diff --git a/src/sage/calculus/ode.pxd b/src/sage/calculus/ode.pxd index 2de37b91764..6be7660f5f7 100644 --- a/src/sage/calculus/ode.pxd +++ b/src/sage/calculus/ode.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules cdef class ode_system: cdef int c_j(self,double , double *, double *,double *) noexcept diff --git a/src/sage/calculus/ode.pyx b/src/sage/calculus/ode.pyx index 081b4f6bd83..1a58e0ef1dc 100644 --- a/src/sage/calculus/ode.pyx +++ b/src/sage/calculus/ode.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Solving ODE numerically by GSL diff --git a/src/sage/calculus/predefined.py b/src/sage/calculus/predefined.py index 8e7f499b1ae..fcfb0b17208 100644 --- a/src/sage/calculus/predefined.py +++ b/src/sage/calculus/predefined.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics from sage.symbolic.ring import var as _var a = _var('a') diff --git a/src/sage/calculus/riemann.pyx b/src/sage/calculus/riemann.pyx index a4f9545bffb..b6c88377430 100644 --- a/src/sage/calculus/riemann.pyx +++ b/src/sage/calculus/riemann.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs numpy sage.symbolic """ Riemann Mapping diff --git a/src/sage/calculus/test_sympy.py b/src/sage/calculus/test_sympy.py index 20736fcf6a6..ba9853bb356 100644 --- a/src/sage/calculus/test_sympy.py +++ b/src/sage/calculus/test_sympy.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.symbolic r""" A Sample Session using SymPy diff --git a/src/sage/calculus/tests.py b/src/sage/calculus/tests.py index ac76b5e4f70..32b13c0dd3f 100644 --- a/src/sage/calculus/tests.py +++ b/src/sage/calculus/tests.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Calculus Tests and Examples diff --git a/src/sage/calculus/transforms/all.py b/src/sage/calculus/transforms/all.py index 379b3b69c37..6ade15d66c0 100644 --- a/src/sage/calculus/transforms/all.py +++ b/src/sage/calculus/transforms/all.py @@ -1,5 +1,7 @@ +# sage_setup: distribution = sagemath-modules from sage.misc.lazy_import import lazy_import lazy_import("sage.calculus.transforms.fft", ["FastFourierTransform", "FFT"]) lazy_import("sage.calculus.transforms.dwt", ["WaveletTransform", "DWT"]) -from .dft import IndexedSequence +from sage.calculus.transforms.dft import IndexedSequence +del lazy_import diff --git a/src/sage/calculus/transforms/dft.py b/src/sage/calculus/transforms/dft.py index 1b165fa6503..3a6d6f18db0 100644 --- a/src/sage/calculus/transforms/dft.py +++ b/src/sage/calculus/transforms/dft.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Discrete Fourier Transforms diff --git a/src/sage/calculus/transforms/dwt.pxd b/src/sage/calculus/transforms/dwt.pxd index c4087a7f7e0..eaa49e2d9d5 100644 --- a/src/sage/calculus/transforms/dwt.pxd +++ b/src/sage/calculus/transforms/dwt.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.libs.gsl.wavelet cimport * from sage.libs.gsl.array cimport GSLDoubleArray diff --git a/src/sage/calculus/transforms/dwt.pyx b/src/sage/calculus/transforms/dwt.pyx index 1330f6ac063..15cd94445b1 100644 --- a/src/sage/calculus/transforms/dwt.pyx +++ b/src/sage/calculus/transforms/dwt.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Discrete Wavelet Transform diff --git a/src/sage/calculus/transforms/fft.pxd b/src/sage/calculus/transforms/fft.pxd index 780483318f1..67d416159dd 100644 --- a/src/sage/calculus/transforms/fft.pxd +++ b/src/sage/calculus/transforms/fft.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.libs.gsl.fft cimport * cdef class FastFourierTransform_base: diff --git a/src/sage/calculus/transforms/fft.pyx b/src/sage/calculus/transforms/fft.pyx index 363fa65a836..0afa7432442 100644 --- a/src/sage/calculus/transforms/fft.pyx +++ b/src/sage/calculus/transforms/fft.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Fast Fourier Transforms Using GSL diff --git a/src/sage/calculus/var.pyx b/src/sage/calculus/var.pyx index 12958b0970a..2ebaf1583ca 100644 --- a/src/sage/calculus/var.pyx +++ b/src/sage/calculus/var.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics # cython: old_style_globals=True """ Symbolic variables diff --git a/src/sage/calculus/wester.py b/src/sage/calculus/wester.py index e33409a49ac..95b35e0bb0b 100644 --- a/src/sage/calculus/wester.py +++ b/src/sage/calculus/wester.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.symbolic r""" Further examples from Wester's paper diff --git a/src/sage/categories/action.pxd b/src/sage/categories/action.pxd index 5883adebc97..0cedf7be6b5 100644 --- a/src/sage/categories/action.pxd +++ b/src/sage/categories/action.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects from sage.structure.element cimport Element from sage.categories.morphism cimport Morphism from sage.categories.map cimport Map diff --git a/src/sage/categories/action.pyx b/src/sage/categories/action.pyx index 27cf3e0b26c..5379dbda101 100644 --- a/src/sage/categories/action.pyx +++ b/src/sage/categories/action.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects r""" Group, ring, etc. actions on objects diff --git a/src/sage/categories/additive_groups.py b/src/sage/categories/additive_groups.py index 25623d0eeb3..cf079c79406 100644 --- a/src/sage/categories/additive_groups.py +++ b/src/sage/categories/additive_groups.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Additive groups """ diff --git a/src/sage/categories/additive_magmas.py b/src/sage/categories/additive_magmas.py index cfd518fa32b..ce01324c6b0 100644 --- a/src/sage/categories/additive_magmas.py +++ b/src/sage/categories/additive_magmas.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Additive magmas """ diff --git a/src/sage/categories/additive_monoids.py b/src/sage/categories/additive_monoids.py index c0576cd8616..3d76c87113b 100644 --- a/src/sage/categories/additive_monoids.py +++ b/src/sage/categories/additive_monoids.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Additive monoids """ diff --git a/src/sage/categories/additive_semigroups.py b/src/sage/categories/additive_semigroups.py index 038221fe5be..2df1cb6e997 100644 --- a/src/sage/categories/additive_semigroups.py +++ b/src/sage/categories/additive_semigroups.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Additive semigroups """ diff --git a/src/sage/categories/affine_weyl_groups.py b/src/sage/categories/affine_weyl_groups.py index 7ae931201a9..9a26f8c5590 100644 --- a/src/sage/categories/affine_weyl_groups.py +++ b/src/sage/categories/affine_weyl_groups.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Affine Weyl groups """ diff --git a/src/sage/categories/algebra_functor.py b/src/sage/categories/algebra_functor.py index 051374fa43c..005e0f3669f 100644 --- a/src/sage/categories/algebra_functor.py +++ b/src/sage/categories/algebra_functor.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects # sage.doctest: needs sage.groups r""" Group algebras and beyond: the Algebra functorial construction diff --git a/src/sage/categories/algebra_ideals.py b/src/sage/categories/algebra_ideals.py index c33fa0ef7b0..c973743adc1 100644 --- a/src/sage/categories/algebra_ideals.py +++ b/src/sage/categories/algebra_ideals.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Algebra ideals """ diff --git a/src/sage/categories/algebra_modules.py b/src/sage/categories/algebra_modules.py index e827cc7130d..8a84fa109d7 100644 --- a/src/sage/categories/algebra_modules.py +++ b/src/sage/categories/algebra_modules.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Algebra modules """ diff --git a/src/sage/categories/algebras.py b/src/sage/categories/algebras.py index e4c54abf7c1..7dcf02467ff 100644 --- a/src/sage/categories/algebras.py +++ b/src/sage/categories/algebras.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Algebras diff --git a/src/sage/categories/algebras_with_basis.py b/src/sage/categories/algebras_with_basis.py index 0d1f72eb17c..ac7bc6f8040 100644 --- a/src/sage/categories/algebras_with_basis.py +++ b/src/sage/categories/algebras_with_basis.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Algebras With Basis """ diff --git a/src/sage/categories/all.py b/src/sage/categories/all.py index a344ed2a296..0be0369ef76 100644 --- a/src/sage/categories/all.py +++ b/src/sage/categories/all.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Sage categories quickref @@ -109,31 +110,31 @@ # * with basis from sage.categories.modules_with_basis import ModulesWithBasis FreeModules = ModulesWithBasis -from sage.categories.hecke_modules import HeckeModules -from sage.categories.algebras_with_basis import AlgebrasWithBasis -from sage.categories.coalgebras_with_basis import CoalgebrasWithBasis -from sage.categories.bialgebras_with_basis import BialgebrasWithBasis +from sage.categories.hecke_modules import HeckeModules +from sage.categories.algebras_with_basis import AlgebrasWithBasis +from sage.categories.coalgebras_with_basis import CoalgebrasWithBasis +from sage.categories.bialgebras_with_basis import BialgebrasWithBasis from sage.categories.hopf_algebras_with_basis import HopfAlgebrasWithBasis # finite dimensional * with basis -from sage.categories.finite_dimensional_modules_with_basis import FiniteDimensionalModulesWithBasis -from sage.categories.finite_dimensional_algebras_with_basis import FiniteDimensionalAlgebrasWithBasis -from sage.categories.finite_dimensional_coalgebras_with_basis import FiniteDimensionalCoalgebrasWithBasis -from sage.categories.finite_dimensional_bialgebras_with_basis import FiniteDimensionalBialgebrasWithBasis +from sage.categories.finite_dimensional_modules_with_basis import FiniteDimensionalModulesWithBasis +from sage.categories.finite_dimensional_algebras_with_basis import FiniteDimensionalAlgebrasWithBasis +from sage.categories.finite_dimensional_coalgebras_with_basis import FiniteDimensionalCoalgebrasWithBasis +from sage.categories.finite_dimensional_bialgebras_with_basis import FiniteDimensionalBialgebrasWithBasis from sage.categories.finite_dimensional_hopf_algebras_with_basis import FiniteDimensionalHopfAlgebrasWithBasis # graded * -from sage.categories.graded_modules import GradedModules -from sage.categories.graded_algebras import GradedAlgebras -from sage.categories.graded_coalgebras import GradedCoalgebras -from sage.categories.graded_bialgebras import GradedBialgebras +from sage.categories.graded_modules import GradedModules +from sage.categories.graded_algebras import GradedAlgebras +from sage.categories.graded_coalgebras import GradedCoalgebras +from sage.categories.graded_bialgebras import GradedBialgebras from sage.categories.graded_hopf_algebras import GradedHopfAlgebras # graded * with basis -from sage.categories.graded_modules_with_basis import GradedModulesWithBasis -from sage.categories.graded_algebras_with_basis import GradedAlgebrasWithBasis -from sage.categories.graded_coalgebras_with_basis import GradedCoalgebrasWithBasis -from sage.categories.graded_bialgebras_with_basis import GradedBialgebrasWithBasis +from sage.categories.graded_modules_with_basis import GradedModulesWithBasis +from sage.categories.graded_algebras_with_basis import GradedAlgebrasWithBasis +from sage.categories.graded_coalgebras_with_basis import GradedCoalgebrasWithBasis +from sage.categories.graded_bialgebras_with_basis import GradedBialgebrasWithBasis from sage.categories.graded_hopf_algebras_with_basis import GradedHopfAlgebrasWithBasis # Coxeter groups @@ -155,3 +156,5 @@ # lie conformal algebras lazy_import('sage.categories.lie_conformal_algebras', 'LieConformalAlgebras') +del lazy_import +del install_doc diff --git a/src/sage/categories/all__sagemath_objects.py b/src/sage/categories/all__sagemath_objects.py index d87b4a1d20e..42d003d22e1 100644 --- a/src/sage/categories/all__sagemath_objects.py +++ b/src/sage/categories/all__sagemath_objects.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects # Subset of sage.categories.all that is made available by the sage-objects distribution from sage.misc.lazy_import import lazy_import @@ -17,12 +18,16 @@ from sage.categories.cartesian_product import cartesian_product -from sage.categories.functor import ForgetfulFunctor, IdentityFunctor +from sage.categories.functor import (ForgetfulFunctor, + IdentityFunctor) -from sage.categories.homset import Hom, hom, End, end, Homset, HomsetWithBase +from sage.categories.homset import (Hom, hom, + End, end, + Homset, HomsetWithBase) from sage.categories.morphism import Morphism from sage.categories.realizations import Realizations from sage.categories.sets_with_partial_maps import SetsWithPartialMaps +del lazy_import diff --git a/src/sage/categories/aperiodic_semigroups.py b/src/sage/categories/aperiodic_semigroups.py index 474930f2525..b7ecff10622 100644 --- a/src/sage/categories/aperiodic_semigroups.py +++ b/src/sage/categories/aperiodic_semigroups.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Aperiodic semigroups """ diff --git a/src/sage/categories/associative_algebras.py b/src/sage/categories/associative_algebras.py index 268c9054e97..f478602d5d4 100644 --- a/src/sage/categories/associative_algebras.py +++ b/src/sage/categories/associative_algebras.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Associative algebras """ diff --git a/src/sage/categories/basic.py b/src/sage/categories/basic.py index 568c9b7c114..cfc385513cb 100644 --- a/src/sage/categories/basic.py +++ b/src/sage/categories/basic.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects r""" A subset of sage.categories.all with just the basic categories needed for sage startup (i.e. to define ZZ, QQ, ...). diff --git a/src/sage/categories/bialgebras.py b/src/sage/categories/bialgebras.py index b927766568b..92df3723ad1 100644 --- a/src/sage/categories/bialgebras.py +++ b/src/sage/categories/bialgebras.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.combinat r""" Bialgebras diff --git a/src/sage/categories/bialgebras_with_basis.py b/src/sage/categories/bialgebras_with_basis.py index ced37464419..ece28d15f06 100644 --- a/src/sage/categories/bialgebras_with_basis.py +++ b/src/sage/categories/bialgebras_with_basis.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Bialgebras with basis """ diff --git a/src/sage/categories/bimodules.py b/src/sage/categories/bimodules.py index 4e92f890cd0..ec5c6fc21ea 100644 --- a/src/sage/categories/bimodules.py +++ b/src/sage/categories/bimodules.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Bimodules """ diff --git a/src/sage/categories/cartesian_product.py b/src/sage/categories/cartesian_product.py index bfedd135b2e..f4d5f0a630f 100644 --- a/src/sage/categories/cartesian_product.py +++ b/src/sage/categories/cartesian_product.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects """ Cartesian Product Functorial Construction diff --git a/src/sage/categories/category.py b/src/sage/categories/category.py index 84ba7163bd8..18ac6c211f4 100644 --- a/src/sage/categories/category.py +++ b/src/sage/categories/category.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects r""" Categories diff --git a/src/sage/categories/category_cy_helper.pxd b/src/sage/categories/category_cy_helper.pxd index f50ce4e8226..3883df6685e 100644 --- a/src/sage/categories/category_cy_helper.pxd +++ b/src/sage/categories/category_cy_helper.pxd @@ -1,3 +1,5 @@ +# sage_setup: distribution = sagemath-objects + cpdef tuple _sort_uniq(categories) cdef class AxiomContainer(dict): pass diff --git a/src/sage/categories/category_cy_helper.pyx b/src/sage/categories/category_cy_helper.pyx index d3859221c13..dc5cf578daa 100644 --- a/src/sage/categories/category_cy_helper.pyx +++ b/src/sage/categories/category_cy_helper.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects """ Fast functions for the category framework diff --git a/src/sage/categories/category_singleton.pxd b/src/sage/categories/category_singleton.pxd index b9b4a703b8d..b001228a042 100644 --- a/src/sage/categories/category_singleton.pxd +++ b/src/sage/categories/category_singleton.pxd @@ -1,2 +1,3 @@ +# sage_setup: distribution = sagemath-objects cdef class Category_contains_method_by_parent_class: cdef type _parent_class_of_category diff --git a/src/sage/categories/category_singleton.pyx b/src/sage/categories/category_singleton.pyx index 543ce0375f7..446c3f5ee33 100644 --- a/src/sage/categories/category_singleton.pyx +++ b/src/sage/categories/category_singleton.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects r""" Singleton categories """ diff --git a/src/sage/categories/category_types.py b/src/sage/categories/category_types.py index d80f5aa7bac..aba27e4dade 100644 --- a/src/sage/categories/category_types.py +++ b/src/sage/categories/category_types.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects """ Specific category classes diff --git a/src/sage/categories/category_with_axiom.py b/src/sage/categories/category_with_axiom.py index 005e86d7b87..30d306d77bb 100644 --- a/src/sage/categories/category_with_axiom.py +++ b/src/sage/categories/category_with_axiom.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects r""" Axioms diff --git a/src/sage/categories/chain_complexes.py b/src/sage/categories/chain_complexes.py index 9616aa608c4..c2cd0e92c38 100644 --- a/src/sage/categories/chain_complexes.py +++ b/src/sage/categories/chain_complexes.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Category of chain complexes """ diff --git a/src/sage/categories/classical_crystals.py b/src/sage/categories/classical_crystals.py index fb5d2c7cde8..777eb16dddc 100644 --- a/src/sage/categories/classical_crystals.py +++ b/src/sage/categories/classical_crystals.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.graphs sage.combinat r""" Classical Crystals diff --git a/src/sage/categories/coalgebras.py b/src/sage/categories/coalgebras.py index 07b18882d49..2b79d9d3fc6 100644 --- a/src/sage/categories/coalgebras.py +++ b/src/sage/categories/coalgebras.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.combinat r""" Coalgebras diff --git a/src/sage/categories/coalgebras_with_basis.py b/src/sage/categories/coalgebras_with_basis.py index 1a3ecfe8302..03e6fd2a5cd 100644 --- a/src/sage/categories/coalgebras_with_basis.py +++ b/src/sage/categories/coalgebras_with_basis.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Coalgebras with basis """ diff --git a/src/sage/categories/coercion_methods.pyx b/src/sage/categories/coercion_methods.pyx index 830bd238c66..0084b39d5eb 100644 --- a/src/sage/categories/coercion_methods.pyx +++ b/src/sage/categories/coercion_methods.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Coercion methods for categories diff --git a/src/sage/categories/commutative_additive_groups.py b/src/sage/categories/commutative_additive_groups.py index ce1dfc5186a..b4ef4794212 100644 --- a/src/sage/categories/commutative_additive_groups.py +++ b/src/sage/categories/commutative_additive_groups.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Commutative additive groups """ diff --git a/src/sage/categories/commutative_additive_monoids.py b/src/sage/categories/commutative_additive_monoids.py index ac0bceaf43b..1b38ab845a2 100644 --- a/src/sage/categories/commutative_additive_monoids.py +++ b/src/sage/categories/commutative_additive_monoids.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Commutative additive monoids """ diff --git a/src/sage/categories/commutative_additive_semigroups.py b/src/sage/categories/commutative_additive_semigroups.py index 93c0f2eab5c..db28e51221b 100644 --- a/src/sage/categories/commutative_additive_semigroups.py +++ b/src/sage/categories/commutative_additive_semigroups.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Commutative additive semigroups """ diff --git a/src/sage/categories/commutative_algebra_ideals.py b/src/sage/categories/commutative_algebra_ideals.py index e47e1c4f87e..3df812635e8 100644 --- a/src/sage/categories/commutative_algebra_ideals.py +++ b/src/sage/categories/commutative_algebra_ideals.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Commutative algebra ideals """ diff --git a/src/sage/categories/commutative_algebras.py b/src/sage/categories/commutative_algebras.py index 986a45db3e3..f7dded587dc 100644 --- a/src/sage/categories/commutative_algebras.py +++ b/src/sage/categories/commutative_algebras.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Commutative algebras """ diff --git a/src/sage/categories/commutative_ring_ideals.py b/src/sage/categories/commutative_ring_ideals.py index 8659b0c793b..630070dd526 100644 --- a/src/sage/categories/commutative_ring_ideals.py +++ b/src/sage/categories/commutative_ring_ideals.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Commutative ring ideals """ diff --git a/src/sage/categories/commutative_rings.py b/src/sage/categories/commutative_rings.py index 4e63eb8b594..9296f27d10a 100644 --- a/src/sage/categories/commutative_rings.py +++ b/src/sage/categories/commutative_rings.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Commutative rings """ diff --git a/src/sage/categories/complete_discrete_valuation.py b/src/sage/categories/complete_discrete_valuation.py index 7376d947530..ac3fddcf460 100644 --- a/src/sage/categories/complete_discrete_valuation.py +++ b/src/sage/categories/complete_discrete_valuation.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Complete Discrete Valuation Rings (CDVR) and Fields (CDVF) """ diff --git a/src/sage/categories/complex_reflection_groups.py b/src/sage/categories/complex_reflection_groups.py index d9d30d41e40..d94d928216d 100644 --- a/src/sage/categories/complex_reflection_groups.py +++ b/src/sage/categories/complex_reflection_groups.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Complex reflection groups """ diff --git a/src/sage/categories/complex_reflection_or_generalized_coxeter_groups.py b/src/sage/categories/complex_reflection_or_generalized_coxeter_groups.py index ca2f1e09235..b3ccdbc7195 100644 --- a/src/sage/categories/complex_reflection_or_generalized_coxeter_groups.py +++ b/src/sage/categories/complex_reflection_or_generalized_coxeter_groups.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.groups r""" Common category for Generalized Coxeter Groups or Complex Reflection Groups diff --git a/src/sage/categories/covariant_functorial_construction.py b/src/sage/categories/covariant_functorial_construction.py index c38fe295dbf..039b31b736e 100644 --- a/src/sage/categories/covariant_functorial_construction.py +++ b/src/sage/categories/covariant_functorial_construction.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects r""" Covariant Functorial Constructions diff --git a/src/sage/categories/coxeter_group_algebras.py b/src/sage/categories/coxeter_group_algebras.py index 5cececc3fef..97ae4942578 100644 --- a/src/sage/categories/coxeter_group_algebras.py +++ b/src/sage/categories/coxeter_group_algebras.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.combinat sage.groups r""" Coxeter Group Algebras diff --git a/src/sage/categories/coxeter_groups.py b/src/sage/categories/coxeter_groups.py index 7bbb286778d..d80c9aa0287 100644 --- a/src/sage/categories/coxeter_groups.py +++ b/src/sage/categories/coxeter_groups.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Coxeter Groups """ diff --git a/src/sage/categories/crystals.py b/src/sage/categories/crystals.py index 5bf8f46d201..138b77bd3b4 100644 --- a/src/sage/categories/crystals.py +++ b/src/sage/categories/crystals.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.graphs sage.combinat r""" Crystals diff --git a/src/sage/categories/cw_complexes.py b/src/sage/categories/cw_complexes.py index 69faafeeb83..c0c4e178da9 100644 --- a/src/sage/categories/cw_complexes.py +++ b/src/sage/categories/cw_complexes.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" CW Complexes """ diff --git a/src/sage/categories/discrete_valuation.py b/src/sage/categories/discrete_valuation.py index 24b15bca488..830c148c95b 100644 --- a/src/sage/categories/discrete_valuation.py +++ b/src/sage/categories/discrete_valuation.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Discrete Valuation Rings (DVR) and Fields (DVF) """ diff --git a/src/sage/categories/distributive_magmas_and_additive_magmas.py b/src/sage/categories/distributive_magmas_and_additive_magmas.py index 6d1c7511c11..830c6c77c8c 100644 --- a/src/sage/categories/distributive_magmas_and_additive_magmas.py +++ b/src/sage/categories/distributive_magmas_and_additive_magmas.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Distributive Magmas and Additive Magmas """ diff --git a/src/sage/categories/division_rings.py b/src/sage/categories/division_rings.py index cd26f46acae..ff6cee76ed6 100644 --- a/src/sage/categories/division_rings.py +++ b/src/sage/categories/division_rings.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Division rings """ diff --git a/src/sage/categories/domains.py b/src/sage/categories/domains.py index 18e2907b8ef..4902bb89897 100644 --- a/src/sage/categories/domains.py +++ b/src/sage/categories/domains.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Domains """ diff --git a/src/sage/categories/drinfeld_modules.py b/src/sage/categories/drinfeld_modules.py index 380318c37ff..56264109214 100644 --- a/src/sage/categories/drinfeld_modules.py +++ b/src/sage/categories/drinfeld_modules.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.rings.finite_rings r""" Drinfeld modules over a base diff --git a/src/sage/categories/dual.py b/src/sage/categories/dual.py index 2b21f81cbda..60503a8e83a 100644 --- a/src/sage/categories/dual.py +++ b/src/sage/categories/dual.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Dual functorial construction diff --git a/src/sage/categories/enumerated_sets.py b/src/sage/categories/enumerated_sets.py index 08150e61360..9a8ff91ef1e 100644 --- a/src/sage/categories/enumerated_sets.py +++ b/src/sage/categories/enumerated_sets.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Enumerated sets """ diff --git a/src/sage/categories/euclidean_domains.py b/src/sage/categories/euclidean_domains.py index eb02736f6e1..8ba23dcb876 100644 --- a/src/sage/categories/euclidean_domains.py +++ b/src/sage/categories/euclidean_domains.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Euclidean domains diff --git a/src/sage/categories/examples/algebras_with_basis.py b/src/sage/categories/examples/algebras_with_basis.py index e19d74ff3c9..1540bb50c6d 100644 --- a/src/sage/categories/examples/algebras_with_basis.py +++ b/src/sage/categories/examples/algebras_with_basis.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.combinat r""" Examples of algebras with basis diff --git a/src/sage/categories/examples/all.py b/src/sage/categories/examples/all.py index e69de29bb2d..b230a6a2ad9 100644 --- a/src/sage/categories/examples/all.py +++ b/src/sage/categories/examples/all.py @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-categories diff --git a/src/sage/categories/examples/commutative_additive_monoids.py b/src/sage/categories/examples/commutative_additive_monoids.py index 20728722d9f..c805471fa52 100644 --- a/src/sage/categories/examples/commutative_additive_monoids.py +++ b/src/sage/categories/examples/commutative_additive_monoids.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Examples of commutative additive monoids """ diff --git a/src/sage/categories/examples/commutative_additive_semigroups.py b/src/sage/categories/examples/commutative_additive_semigroups.py index 0b3cb314e74..f30288675fe 100644 --- a/src/sage/categories/examples/commutative_additive_semigroups.py +++ b/src/sage/categories/examples/commutative_additive_semigroups.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Examples of commutative additive semigroups """ diff --git a/src/sage/categories/examples/coxeter_groups.py b/src/sage/categories/examples/coxeter_groups.py index ac76a708bec..f2791ac09ca 100644 --- a/src/sage/categories/examples/coxeter_groups.py +++ b/src/sage/categories/examples/coxeter_groups.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Examples of Coxeter groups """ diff --git a/src/sage/categories/examples/crystals.py b/src/sage/categories/examples/crystals.py index 520b97c34d5..4786a4ed6fd 100644 --- a/src/sage/categories/examples/crystals.py +++ b/src/sage/categories/examples/crystals.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.combinat sage.graphs r""" Example of a crystal diff --git a/src/sage/categories/examples/cw_complexes.py b/src/sage/categories/examples/cw_complexes.py index 0fefb254c20..89262cd6b43 100644 --- a/src/sage/categories/examples/cw_complexes.py +++ b/src/sage/categories/examples/cw_complexes.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Examples of CW complexes """ diff --git a/src/sage/categories/examples/facade_sets.py b/src/sage/categories/examples/facade_sets.py index bff442e2c5c..f088ca106c6 100644 --- a/src/sage/categories/examples/facade_sets.py +++ b/src/sage/categories/examples/facade_sets.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Example of facade set """ diff --git a/src/sage/categories/examples/filtered_algebras_with_basis.py b/src/sage/categories/examples/filtered_algebras_with_basis.py index 57d106e4555..fd3e6b67968 100644 --- a/src/sage/categories/examples/filtered_algebras_with_basis.py +++ b/src/sage/categories/examples/filtered_algebras_with_basis.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Examples of filtered algebra with basis """ diff --git a/src/sage/categories/examples/filtered_modules_with_basis.py b/src/sage/categories/examples/filtered_modules_with_basis.py index a76726099bc..d62c3d906ff 100644 --- a/src/sage/categories/examples/filtered_modules_with_basis.py +++ b/src/sage/categories/examples/filtered_modules_with_basis.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.combinat r""" Examples of filtered modules with basis diff --git a/src/sage/categories/examples/finite_coxeter_groups.py b/src/sage/categories/examples/finite_coxeter_groups.py index 84e4c1f95b4..9abf9304929 100644 --- a/src/sage/categories/examples/finite_coxeter_groups.py +++ b/src/sage/categories/examples/finite_coxeter_groups.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.combinat sage.groups r""" Examples of finite Coxeter groups diff --git a/src/sage/categories/examples/finite_dimensional_algebras_with_basis.py b/src/sage/categories/examples/finite_dimensional_algebras_with_basis.py index df8957dbaf7..9fb25719a25 100644 --- a/src/sage/categories/examples/finite_dimensional_algebras_with_basis.py +++ b/src/sage/categories/examples/finite_dimensional_algebras_with_basis.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.modules r""" Example of a finite dimensional algebra with basis diff --git a/src/sage/categories/examples/finite_dimensional_lie_algebras_with_basis.py b/src/sage/categories/examples/finite_dimensional_lie_algebras_with_basis.py index e8db64d11a9..7a88557d47a 100644 --- a/src/sage/categories/examples/finite_dimensional_lie_algebras_with_basis.py +++ b/src/sage/categories/examples/finite_dimensional_lie_algebras_with_basis.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.modules r""" Examples of a finite dimensional Lie algebra with basis diff --git a/src/sage/categories/examples/finite_enumerated_sets.py b/src/sage/categories/examples/finite_enumerated_sets.py index 6a606f7b9e3..264b9bc13ba 100644 --- a/src/sage/categories/examples/finite_enumerated_sets.py +++ b/src/sage/categories/examples/finite_enumerated_sets.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Examples of finite enumerated sets """ diff --git a/src/sage/categories/examples/finite_monoids.py b/src/sage/categories/examples/finite_monoids.py index 0a4c1374893..20119abac66 100644 --- a/src/sage/categories/examples/finite_monoids.py +++ b/src/sage/categories/examples/finite_monoids.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Examples of finite monoids """ diff --git a/src/sage/categories/examples/finite_semigroups.py b/src/sage/categories/examples/finite_semigroups.py index 13712de76fe..d019e6895e4 100644 --- a/src/sage/categories/examples/finite_semigroups.py +++ b/src/sage/categories/examples/finite_semigroups.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Examples of finite semigroups """ diff --git a/src/sage/categories/examples/finite_weyl_groups.py b/src/sage/categories/examples/finite_weyl_groups.py index 10fef899c94..b3321bdb58b 100644 --- a/src/sage/categories/examples/finite_weyl_groups.py +++ b/src/sage/categories/examples/finite_weyl_groups.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Examples of finite Weyl groups """ diff --git a/src/sage/categories/examples/graded_connected_hopf_algebras_with_basis.py b/src/sage/categories/examples/graded_connected_hopf_algebras_with_basis.py index 2290419adb3..28699e17256 100644 --- a/src/sage/categories/examples/graded_connected_hopf_algebras_with_basis.py +++ b/src/sage/categories/examples/graded_connected_hopf_algebras_with_basis.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.modules r""" Examples of graded connected Hopf algebras with basis diff --git a/src/sage/categories/examples/graded_modules_with_basis.py b/src/sage/categories/examples/graded_modules_with_basis.py index 8ddfb7eed04..348bc5b9568 100644 --- a/src/sage/categories/examples/graded_modules_with_basis.py +++ b/src/sage/categories/examples/graded_modules_with_basis.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.combinat r""" Examples of graded modules with basis diff --git a/src/sage/categories/examples/graphs.py b/src/sage/categories/examples/graphs.py index 063eeff1427..f67427d311b 100644 --- a/src/sage/categories/examples/graphs.py +++ b/src/sage/categories/examples/graphs.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Examples of graphs """ diff --git a/src/sage/categories/examples/hopf_algebras_with_basis.py b/src/sage/categories/examples/hopf_algebras_with_basis.py index 7f05827c28a..ea876abcbcf 100644 --- a/src/sage/categories/examples/hopf_algebras_with_basis.py +++ b/src/sage/categories/examples/hopf_algebras_with_basis.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.groups sage.modules r""" Examples of Hopf algebras with basis diff --git a/src/sage/categories/examples/infinite_enumerated_sets.py b/src/sage/categories/examples/infinite_enumerated_sets.py index df4151f21c2..8f23d276988 100644 --- a/src/sage/categories/examples/infinite_enumerated_sets.py +++ b/src/sage/categories/examples/infinite_enumerated_sets.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Examples of infinite enumerated sets """ diff --git a/src/sage/categories/examples/lie_algebras.py b/src/sage/categories/examples/lie_algebras.py index 135c122efa2..23deb1c7a7c 100644 --- a/src/sage/categories/examples/lie_algebras.py +++ b/src/sage/categories/examples/lie_algebras.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.modules r""" Examples of a Lie algebra diff --git a/src/sage/categories/examples/lie_algebras_with_basis.py b/src/sage/categories/examples/lie_algebras_with_basis.py index ca711e1cdb4..8366503691a 100644 --- a/src/sage/categories/examples/lie_algebras_with_basis.py +++ b/src/sage/categories/examples/lie_algebras_with_basis.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.combinat sage.modules r""" Examples of a Lie algebra with basis diff --git a/src/sage/categories/examples/magmas.py b/src/sage/categories/examples/magmas.py index a4858bc2606..538929c70a0 100644 --- a/src/sage/categories/examples/magmas.py +++ b/src/sage/categories/examples/magmas.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Examples of magmas """ diff --git a/src/sage/categories/examples/manifolds.py b/src/sage/categories/examples/manifolds.py index 6a748884eec..ce433618dc2 100644 --- a/src/sage/categories/examples/manifolds.py +++ b/src/sage/categories/examples/manifolds.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Examples of manifolds """ diff --git a/src/sage/categories/examples/monoids.py b/src/sage/categories/examples/monoids.py index 1d2b87279d2..fe0646eab6c 100644 --- a/src/sage/categories/examples/monoids.py +++ b/src/sage/categories/examples/monoids.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Examples of monoids """ diff --git a/src/sage/categories/examples/posets.py b/src/sage/categories/examples/posets.py index 20f461860c9..6cd523ceb96 100644 --- a/src/sage/categories/examples/posets.py +++ b/src/sage/categories/examples/posets.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Examples of posets """ diff --git a/src/sage/categories/examples/semigroups.py b/src/sage/categories/examples/semigroups.py index 797fd1b4b03..7e45dd8434e 100644 --- a/src/sage/categories/examples/semigroups.py +++ b/src/sage/categories/examples/semigroups.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Examples of semigroups """ diff --git a/src/sage/categories/examples/semigroups_cython.pyx b/src/sage/categories/examples/semigroups_cython.pyx index b456c2868f8..4f7a6990586 100644 --- a/src/sage/categories/examples/semigroups_cython.pyx +++ b/src/sage/categories/examples/semigroups_cython.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Examples of semigroups in cython """ diff --git a/src/sage/categories/examples/sets_cat.py b/src/sage/categories/examples/sets_cat.py index fbadb9ca405..2c91d652726 100644 --- a/src/sage/categories/examples/sets_cat.py +++ b/src/sage/categories/examples/sets_cat.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.libs.pari """ Examples of sets diff --git a/src/sage/categories/examples/sets_with_grading.py b/src/sage/categories/examples/sets_with_grading.py index 9968d83942b..487c5100578 100644 --- a/src/sage/categories/examples/sets_with_grading.py +++ b/src/sage/categories/examples/sets_with_grading.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Example of a set with grading """ diff --git a/src/sage/categories/examples/with_realizations.py b/src/sage/categories/examples/with_realizations.py index 85b4b86daa0..2ff92851892 100644 --- a/src/sage/categories/examples/with_realizations.py +++ b/src/sage/categories/examples/with_realizations.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.combinat sage.modules r""" Examples of parents endowed with multiple realizations diff --git a/src/sage/categories/facade_sets.py b/src/sage/categories/facade_sets.py index 3f7fcf98abb..4719c9b9ec3 100644 --- a/src/sage/categories/facade_sets.py +++ b/src/sage/categories/facade_sets.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects r""" Facade Sets diff --git a/src/sage/categories/fields.py b/src/sage/categories/fields.py index 7407632a93f..3c3db094252 100644 --- a/src/sage/categories/fields.py +++ b/src/sage/categories/fields.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Fields """ diff --git a/src/sage/categories/filtered_algebras.py b/src/sage/categories/filtered_algebras.py index d0db31a98eb..bb16bc0374b 100644 --- a/src/sage/categories/filtered_algebras.py +++ b/src/sage/categories/filtered_algebras.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Filtered Algebras """ diff --git a/src/sage/categories/filtered_algebras_with_basis.py b/src/sage/categories/filtered_algebras_with_basis.py index 1abddc81a18..dd8074ab474 100644 --- a/src/sage/categories/filtered_algebras_with_basis.py +++ b/src/sage/categories/filtered_algebras_with_basis.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Filtered Algebras With Basis diff --git a/src/sage/categories/filtered_hopf_algebras_with_basis.py b/src/sage/categories/filtered_hopf_algebras_with_basis.py index dadd10dd70e..5efd48c6f02 100644 --- a/src/sage/categories/filtered_hopf_algebras_with_basis.py +++ b/src/sage/categories/filtered_hopf_algebras_with_basis.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Filtered Hopf algebras with basis """ diff --git a/src/sage/categories/filtered_modules.py b/src/sage/categories/filtered_modules.py index 780ef974956..e6ad7e0d918 100644 --- a/src/sage/categories/filtered_modules.py +++ b/src/sage/categories/filtered_modules.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Filtered Modules diff --git a/src/sage/categories/filtered_modules_with_basis.py b/src/sage/categories/filtered_modules_with_basis.py index 2705c2c3d55..4da72b5b762 100644 --- a/src/sage/categories/filtered_modules_with_basis.py +++ b/src/sage/categories/filtered_modules_with_basis.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Filtered Modules With Basis diff --git a/src/sage/categories/finite_complex_reflection_groups.py b/src/sage/categories/finite_complex_reflection_groups.py index 2fdc9912f89..f77ca9058a7 100644 --- a/src/sage/categories/finite_complex_reflection_groups.py +++ b/src/sage/categories/finite_complex_reflection_groups.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Finite Complex Reflection Groups """ diff --git a/src/sage/categories/finite_coxeter_groups.py b/src/sage/categories/finite_coxeter_groups.py index afc4ca43a40..ceadffa942a 100644 --- a/src/sage/categories/finite_coxeter_groups.py +++ b/src/sage/categories/finite_coxeter_groups.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.combinat sage.groups r""" Finite Coxeter Groups diff --git a/src/sage/categories/finite_crystals.py b/src/sage/categories/finite_crystals.py index 4d5fdda550d..b934c692375 100644 --- a/src/sage/categories/finite_crystals.py +++ b/src/sage/categories/finite_crystals.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.combinat sage.graphs r""" Finite Crystals diff --git a/src/sage/categories/finite_dimensional_algebras_with_basis.py b/src/sage/categories/finite_dimensional_algebras_with_basis.py index e1df9318ec3..58516af5b96 100644 --- a/src/sage/categories/finite_dimensional_algebras_with_basis.py +++ b/src/sage/categories/finite_dimensional_algebras_with_basis.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Finite dimensional algebras with basis diff --git a/src/sage/categories/finite_dimensional_bialgebras_with_basis.py b/src/sage/categories/finite_dimensional_bialgebras_with_basis.py index 02f1005e0de..54a7479fd0b 100644 --- a/src/sage/categories/finite_dimensional_bialgebras_with_basis.py +++ b/src/sage/categories/finite_dimensional_bialgebras_with_basis.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Finite dimensional bialgebras with basis """ diff --git a/src/sage/categories/finite_dimensional_coalgebras_with_basis.py b/src/sage/categories/finite_dimensional_coalgebras_with_basis.py index 60b135080da..69cede64fd1 100644 --- a/src/sage/categories/finite_dimensional_coalgebras_with_basis.py +++ b/src/sage/categories/finite_dimensional_coalgebras_with_basis.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Finite dimensional coalgebras with basis """ diff --git a/src/sage/categories/finite_dimensional_graded_lie_algebras_with_basis.py b/src/sage/categories/finite_dimensional_graded_lie_algebras_with_basis.py index bb0cb5db92d..6eb17b4ad0a 100644 --- a/src/sage/categories/finite_dimensional_graded_lie_algebras_with_basis.py +++ b/src/sage/categories/finite_dimensional_graded_lie_algebras_with_basis.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Finite Dimensional Graded Lie Algebras With Basis diff --git a/src/sage/categories/finite_dimensional_hopf_algebras_with_basis.py b/src/sage/categories/finite_dimensional_hopf_algebras_with_basis.py index da3f1365584..f90e1dfd1c7 100644 --- a/src/sage/categories/finite_dimensional_hopf_algebras_with_basis.py +++ b/src/sage/categories/finite_dimensional_hopf_algebras_with_basis.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Finite dimensional Hopf algebras with basis """ diff --git a/src/sage/categories/finite_dimensional_lie_algebras_with_basis.py b/src/sage/categories/finite_dimensional_lie_algebras_with_basis.py index 6cb7badd99a..70268b73041 100644 --- a/src/sage/categories/finite_dimensional_lie_algebras_with_basis.py +++ b/src/sage/categories/finite_dimensional_lie_algebras_with_basis.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Finite Dimensional Lie Algebras With Basis @@ -445,7 +446,7 @@ def centralizer_basis(self, S): sage: H.centralizer_basis(H) [z] - sage: # needs sage.combinat sage.groupssage.modules + sage: # needs sage.combinat sage.groups sage.modules sage: D = DescentAlgebra(QQ, 4).D() sage: L = LieAlgebra(associative=D) sage: L.centralizer_basis(L) @@ -456,6 +457,15 @@ def centralizer_basis(self, S): (D{}, D{1} + D{1, 2} + D{2, 3} + D{3}, D{1, 2, 3} + D{1, 3} + D{2}) + + sage: scoeffs = {('a','d'): {'a':1}, ('a','e'): {'b':-1}, + ....: ('b','d'): {'b':1}, ('b','e'): {'a':1}, + ....: ('d','e'): {'c':1}} + sage: L. = LieAlgebra(QQ, scoeffs) + sage: L.centralizer_basis([a, c]) + [a, b, c] + sage: L.centralizer_basis([a, e]) + [c] """ from sage.matrix.constructor import matrix @@ -481,7 +491,7 @@ def centralizer_basis(self, S): [[sum(m[i,j] * sc[x,xp][k] for j,xp in enumerate(X) if (x, xp) in sc) for x in X] - for i in range(d) for k in range(d)]) + for i in range(m.nrows()) for k in range(d)]) C = c_mat.right_kernel().basis_matrix() return [self.from_vector(c) for c in C] @@ -531,6 +541,99 @@ def center(self): """ return self.centralizer(self) + def normalizer_basis(self, S): + r""" + Return a basis of the normalizer of ``S`` in ``self``. + + INPUT: + + - ``S`` -- a subalgebra of ``self`` or a list of elements that + represent generators for a subalgebra + + .. SEEALSO:: + + :meth:`normalizer` + + EXAMPLES:: + + sage: scoeffs = {('a','d'): {'a':1}, ('a','e'): {'b':-1}, + ....: ('b','d'): {'b':1}, ('b','e'): {'a':1}, + ....: ('d','e'): {'c':1}} + sage: L. = LieAlgebra(QQ, scoeffs) + sage: L.normalizer_basis([a, e]) + [b, c] + + sage: S = L.subalgebra([a, e]) + sage: L.normalizer_basis(S) + [a, b, c, e] + + When the subalgebra is the ambient Lie algebra, we return the + basis of the ambient Lie algebra:: + + sage: L.normalizer_basis(L) + Finite family {'a': a, 'b': b, 'c': c, 'd': d, 'e': e} + sage: L.normalizer_basis([a, b, c, a, d + e, a + e]) + Finite family {'a': a, 'b': b, 'c': c, 'd': d, 'e': e} + """ + from sage.matrix.constructor import matrix + + if S is self: + return self.basis() + if isinstance(S, (list, tuple)): + m = matrix([v.to_vector() for v in self.echelon_form(S)]) + else: + m = self.subalgebra(S).basis_matrix() + + if m.nrows() == self.dimension(): + return self.basis() + + S = self.structure_coefficients() + sc = {} + for k in S.keys(): + v = S[k].to_vector() + sc[k] = v + sc[k[1], k[0]] = -v + X = self.basis().keys() + d = len(X) + ret = [] + t = m.nrows() + c_mat = matrix(self.base_ring(), + [[sum(m[i,j] * sc[x,xp][k] for j, xp in enumerate(X) + if (x, xp) in sc) + for x in X] + + [0]*(i*t) + [-m[j,k] for j in range(t)] + [0]*((t-i-1)*t) + for i in range(t) for k in range(d)]) + C = c_mat.right_kernel().basis_matrix() + return [self.from_vector(c[:d]) for c in C] + + def normalizer(self, S): + r""" + Return the normalizer of ``S`` in ``self``. + + INPUT: + + - ``S`` -- a subalgebra of ``self`` or a list of elements that + represent generators for a subalgebra + + .. SEEALSO:: + + :meth:`normalizer_basis` + + EXAMPLES:: + + sage: scoeffs = {('a','d'): {'a':1}, ('a','e'): {'b':-1}, + ....: ('b','d'): {'b':1}, ('b','e'): {'a':1}, + ....: ('d','e'): {'c':1}} + sage: L. = LieAlgebra(QQ, scoeffs) + sage: L.normalizer([a, e]) + Subalgebra generated by (b, c) of Lie algebra on + 5 generators (a, b, c, d, e) over Rational Field + sage: L.normalizer([a, c, e]) + Subalgebra generated by (b, c, d) of Lie algebra on + 5 generators (a, b, c, d, e) over Rational Field + """ + return self.subalgebra(self.normalizer_basis(S)) + @cached_method def derivations_basis(self): r""" @@ -1927,6 +2030,90 @@ def to_prod(vec, index): return [UEA.sum(to_prod(vec, index) for index in vec.support()) for vec in tens] + def faithful_representation(self, algorithm=None): + r""" + Return a faithful representation of ``self``. + + By Ado's and Iwasawa's theorems, every finite dimensional + Lie algebra has a faithful finite dimensional representation. + + INPUT: + + - ``algorithm`` -- one of the following depending on the + classification of the Lie algebra: + + Nilpotent Lie algebras: + + * ``'regular'`` -- use the universal enveloping algebra quotient + :class:`~sage.algebras.lie_algebras.representation.FaithfulRepresentationNilpotentPBW` + * ``'minimal'`` -- construct the minimal representation (for + precise details, see the documentation of + :class:`~sage.algebras.lie_algebras.representation.FaithfulRepresentationNilpotentPBW`) + + Solvable but not nilpotent: + + * Not implemented + + Semisimple: + + * Not implemented + + General case + + * Not implemented + + EXAMPLES:: + + sage: H2 = lie_algebras.Heisenberg(QQ, 2) + sage: H2.is_nilpotent() + True + sage: F = H2.faithful_representation(); F + Faithful 16 dimensional representation of + Heisenberg algebra of rank 2 over Rational Field + sage: M = H2.faithful_representation(algorithm="minimal"); M + Minimal faithful representation of + Heisenberg algebra of rank 2 over Rational Field + sage: M.dimension() + 4 + sage: H2.faithful_representation(algorithm="invalid") + Traceback (most recent call last): + ... + ValueError: invalid algorithm 'invalid' + + sage: scoeffs = {('a','d'): {'a':1}, ('a','e'): {'b':-1}, + ....: ('b','d'): {'b':1}, ('b','e'): {'a':1}, + ....: ('d','e'): {'c':1}} + sage: L. = LieAlgebra(QQ, scoeffs) + sage: L.is_nilpotent() + False + sage: L.is_solvable() + True + sage: L.faithful_representation() + Traceback (most recent call last): + ... + NotImplementedError: only implemented for nilpotent Lie algebras + + sage: sl3 = LieAlgebra(QQ, cartan_type=['A', 2]) + sage: sl3.is_semisimple() + True + sage: sl3.faithful_representation() + Traceback (most recent call last): + ... + NotImplementedError: only implemented for nilpotent Lie algebras + """ + if self.is_nilpotent(): + if algorithm is None: + algorithm = "regular" + if algorithm == "regular": + from sage.algebras.lie_algebras.representation import FaithfulRepresentationNilpotentPBW + return FaithfulRepresentationNilpotentPBW(self, minimal=False) + if algorithm == "minimal": + from sage.algebras.lie_algebras.representation import FaithfulRepresentationNilpotentPBW + return FaithfulRepresentationNilpotentPBW(self, minimal=True) + else: + raise NotImplementedError("only implemented for nilpotent Lie algebras") + raise ValueError("invalid algorithm '{}'".format(algorithm)) + class ElementMethods: def adjoint_matrix(self, sparse=False): # In #11111 (more or less) by using matrix of a morphism """ diff --git a/src/sage/categories/finite_dimensional_modules_with_basis.py b/src/sage/categories/finite_dimensional_modules_with_basis.py index ab22cd355d5..7cf24baa57d 100644 --- a/src/sage/categories/finite_dimensional_modules_with_basis.py +++ b/src/sage/categories/finite_dimensional_modules_with_basis.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Finite dimensional modules with basis """ diff --git a/src/sage/categories/finite_dimensional_nilpotent_lie_algebras_with_basis.py b/src/sage/categories/finite_dimensional_nilpotent_lie_algebras_with_basis.py index 78d801a5ef4..ae3a38d9dda 100644 --- a/src/sage/categories/finite_dimensional_nilpotent_lie_algebras_with_basis.py +++ b/src/sage/categories/finite_dimensional_nilpotent_lie_algebras_with_basis.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Finite Dimensional Nilpotent Lie Algebras With Basis diff --git a/src/sage/categories/finite_dimensional_semisimple_algebras_with_basis.py b/src/sage/categories/finite_dimensional_semisimple_algebras_with_basis.py index da4b297ddde..2cbcc8aac61 100644 --- a/src/sage/categories/finite_dimensional_semisimple_algebras_with_basis.py +++ b/src/sage/categories/finite_dimensional_semisimple_algebras_with_basis.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Finite dimensional semisimple algebras with basis """ diff --git a/src/sage/categories/finite_enumerated_sets.py b/src/sage/categories/finite_enumerated_sets.py index 38958d8d024..b3b9ede2deb 100644 --- a/src/sage/categories/finite_enumerated_sets.py +++ b/src/sage/categories/finite_enumerated_sets.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Finite Enumerated Sets """ diff --git a/src/sage/categories/finite_fields.py b/src/sage/categories/finite_fields.py index d9333c80707..6219c8dc357 100644 --- a/src/sage/categories/finite_fields.py +++ b/src/sage/categories/finite_fields.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Finite fields """ diff --git a/src/sage/categories/finite_groups.py b/src/sage/categories/finite_groups.py index 70cc029e389..a88a56e96cf 100644 --- a/src/sage/categories/finite_groups.py +++ b/src/sage/categories/finite_groups.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.groups r""" Finite groups diff --git a/src/sage/categories/finite_lattice_posets.py b/src/sage/categories/finite_lattice_posets.py index 96f2385404c..773d8c4914d 100644 --- a/src/sage/categories/finite_lattice_posets.py +++ b/src/sage/categories/finite_lattice_posets.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Finite lattice posets """ diff --git a/src/sage/categories/finite_monoids.py b/src/sage/categories/finite_monoids.py index b446dc925cb..9b26acb459c 100644 --- a/src/sage/categories/finite_monoids.py +++ b/src/sage/categories/finite_monoids.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Finite monoids """ diff --git a/src/sage/categories/finite_permutation_groups.py b/src/sage/categories/finite_permutation_groups.py index a8c008ac170..dcc4bfa66db 100644 --- a/src/sage/categories/finite_permutation_groups.py +++ b/src/sage/categories/finite_permutation_groups.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.groups r""" Finite Permutation Groups diff --git a/src/sage/categories/finite_posets.py b/src/sage/categories/finite_posets.py index 68317bbb4c3..c1f9a4e6f76 100644 --- a/src/sage/categories/finite_posets.py +++ b/src/sage/categories/finite_posets.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.combinat sage.graphs r""" Finite posets diff --git a/src/sage/categories/finite_semigroups.py b/src/sage/categories/finite_semigroups.py index ad384fc2b79..b699e33c9ab 100644 --- a/src/sage/categories/finite_semigroups.py +++ b/src/sage/categories/finite_semigroups.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Finite semigroups """ diff --git a/src/sage/categories/finite_sets.py b/src/sage/categories/finite_sets.py index 494ec2cdc6c..0f464e2cb9c 100644 --- a/src/sage/categories/finite_sets.py +++ b/src/sage/categories/finite_sets.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Finite sets """ diff --git a/src/sage/categories/finite_weyl_groups.py b/src/sage/categories/finite_weyl_groups.py index 8e0346eb5ab..3e790d78965 100644 --- a/src/sage/categories/finite_weyl_groups.py +++ b/src/sage/categories/finite_weyl_groups.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Finite Weyl Groups """ diff --git a/src/sage/categories/finitely_generated_lambda_bracket_algebras.py b/src/sage/categories/finitely_generated_lambda_bracket_algebras.py index 5ff1634ca43..ac1e775b90a 100644 --- a/src/sage/categories/finitely_generated_lambda_bracket_algebras.py +++ b/src/sage/categories/finitely_generated_lambda_bracket_algebras.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Finitely Generated Lambda bracket Algebras diff --git a/src/sage/categories/finitely_generated_lie_conformal_algebras.py b/src/sage/categories/finitely_generated_lie_conformal_algebras.py index 90b18df668f..11066c7d160 100644 --- a/src/sage/categories/finitely_generated_lie_conformal_algebras.py +++ b/src/sage/categories/finitely_generated_lie_conformal_algebras.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Finitely Generated Lie Conformal Algebras diff --git a/src/sage/categories/finitely_generated_magmas.py b/src/sage/categories/finitely_generated_magmas.py index fe845e8b92a..d89f2477045 100644 --- a/src/sage/categories/finitely_generated_magmas.py +++ b/src/sage/categories/finitely_generated_magmas.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Finitely generated magmas """ diff --git a/src/sage/categories/finitely_generated_semigroups.py b/src/sage/categories/finitely_generated_semigroups.py index 369e6375a16..b3e2a46f3a4 100644 --- a/src/sage/categories/finitely_generated_semigroups.py +++ b/src/sage/categories/finitely_generated_semigroups.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Finitely generated semigroups """ diff --git a/src/sage/categories/function_fields.py b/src/sage/categories/function_fields.py index 6c949b6197a..02ba3021741 100644 --- a/src/sage/categories/function_fields.py +++ b/src/sage/categories/function_fields.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Function fields """ diff --git a/src/sage/categories/functor.pxd b/src/sage/categories/functor.pxd index 22eec36f7ad..76fa0fe1c6e 100644 --- a/src/sage/categories/functor.pxd +++ b/src/sage/categories/functor.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects from sage.structure.sage_object cimport SageObject cdef class Functor(SageObject): diff --git a/src/sage/categories/functor.pyx b/src/sage/categories/functor.pyx index 889de1d7e7d..8d6af8b7639 100644 --- a/src/sage/categories/functor.pyx +++ b/src/sage/categories/functor.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects """ Functors diff --git a/src/sage/categories/g_sets.py b/src/sage/categories/g_sets.py index 5967fcf7d5f..d49f790a9e0 100644 --- a/src/sage/categories/g_sets.py +++ b/src/sage/categories/g_sets.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" G-Sets """ diff --git a/src/sage/categories/gcd_domains.py b/src/sage/categories/gcd_domains.py index e946db6fa29..6ffb6456625 100644 --- a/src/sage/categories/gcd_domains.py +++ b/src/sage/categories/gcd_domains.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Gcd domains """ diff --git a/src/sage/categories/generalized_coxeter_groups.py b/src/sage/categories/generalized_coxeter_groups.py index 844472ba6be..5e0641ed37e 100644 --- a/src/sage/categories/generalized_coxeter_groups.py +++ b/src/sage/categories/generalized_coxeter_groups.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Generalized Coxeter Groups """ diff --git a/src/sage/categories/graded_algebras.py b/src/sage/categories/graded_algebras.py index 190355b59c5..dc48ad19d54 100644 --- a/src/sage/categories/graded_algebras.py +++ b/src/sage/categories/graded_algebras.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Graded Algebras """ diff --git a/src/sage/categories/graded_algebras_with_basis.py b/src/sage/categories/graded_algebras_with_basis.py index 62d4816b208..9b44bc9567b 100644 --- a/src/sage/categories/graded_algebras_with_basis.py +++ b/src/sage/categories/graded_algebras_with_basis.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Graded algebras with basis """ diff --git a/src/sage/categories/graded_bialgebras.py b/src/sage/categories/graded_bialgebras.py index eff325b320e..ceb0c7fe26e 100644 --- a/src/sage/categories/graded_bialgebras.py +++ b/src/sage/categories/graded_bialgebras.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Graded bialgebras """ diff --git a/src/sage/categories/graded_bialgebras_with_basis.py b/src/sage/categories/graded_bialgebras_with_basis.py index d1727c0f40c..f97855196e7 100644 --- a/src/sage/categories/graded_bialgebras_with_basis.py +++ b/src/sage/categories/graded_bialgebras_with_basis.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Graded bialgebras with basis """ diff --git a/src/sage/categories/graded_coalgebras.py b/src/sage/categories/graded_coalgebras.py index 1b3a3c1d154..12d07b0f679 100644 --- a/src/sage/categories/graded_coalgebras.py +++ b/src/sage/categories/graded_coalgebras.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Graded Coalgebras """ diff --git a/src/sage/categories/graded_coalgebras_with_basis.py b/src/sage/categories/graded_coalgebras_with_basis.py index 9efb1854780..bb4a44c676b 100644 --- a/src/sage/categories/graded_coalgebras_with_basis.py +++ b/src/sage/categories/graded_coalgebras_with_basis.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Graded coalgebras with basis """ diff --git a/src/sage/categories/graded_hopf_algebras.py b/src/sage/categories/graded_hopf_algebras.py index 60d5befd6f5..97daf47ebfc 100644 --- a/src/sage/categories/graded_hopf_algebras.py +++ b/src/sage/categories/graded_hopf_algebras.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Graded Hopf algebras """ diff --git a/src/sage/categories/graded_hopf_algebras_with_basis.py b/src/sage/categories/graded_hopf_algebras_with_basis.py index 60cf4977eae..3c0458c0e03 100644 --- a/src/sage/categories/graded_hopf_algebras_with_basis.py +++ b/src/sage/categories/graded_hopf_algebras_with_basis.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Graded Hopf algebras with basis """ diff --git a/src/sage/categories/graded_lie_algebras.py b/src/sage/categories/graded_lie_algebras.py index fac1436c428..ee8ab5df338 100644 --- a/src/sage/categories/graded_lie_algebras.py +++ b/src/sage/categories/graded_lie_algebras.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Graded Lie Algebras diff --git a/src/sage/categories/graded_lie_algebras_with_basis.py b/src/sage/categories/graded_lie_algebras_with_basis.py index 8552218e074..ddf5d8616a2 100644 --- a/src/sage/categories/graded_lie_algebras_with_basis.py +++ b/src/sage/categories/graded_lie_algebras_with_basis.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Graded Lie Algebras With Basis """ diff --git a/src/sage/categories/graded_lie_conformal_algebras.py b/src/sage/categories/graded_lie_conformal_algebras.py index a17c067ae4e..75924494963 100644 --- a/src/sage/categories/graded_lie_conformal_algebras.py +++ b/src/sage/categories/graded_lie_conformal_algebras.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Graded Lie Conformal Algebras diff --git a/src/sage/categories/graded_modules.py b/src/sage/categories/graded_modules.py index ff66b885913..b24f210ad31 100644 --- a/src/sage/categories/graded_modules.py +++ b/src/sage/categories/graded_modules.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Graded modules """ diff --git a/src/sage/categories/graded_modules_with_basis.py b/src/sage/categories/graded_modules_with_basis.py index adb16235761..057f1e793f5 100644 --- a/src/sage/categories/graded_modules_with_basis.py +++ b/src/sage/categories/graded_modules_with_basis.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Graded modules with basis """ diff --git a/src/sage/categories/graphs.py b/src/sage/categories/graphs.py index 7142081516e..572156be286 100644 --- a/src/sage/categories/graphs.py +++ b/src/sage/categories/graphs.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Graphs """ diff --git a/src/sage/categories/group_algebras.py b/src/sage/categories/group_algebras.py index c5cceb53633..6329899f2d7 100644 --- a/src/sage/categories/group_algebras.py +++ b/src/sage/categories/group_algebras.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Group Algebras diff --git a/src/sage/categories/groupoid.py b/src/sage/categories/groupoid.py index 95af5df164c..0f67bd47608 100644 --- a/src/sage/categories/groupoid.py +++ b/src/sage/categories/groupoid.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.groups r""" Groupoid diff --git a/src/sage/categories/groups.py b/src/sage/categories/groups.py index 54c23ae3176..332185e5b7a 100644 --- a/src/sage/categories/groups.py +++ b/src/sage/categories/groups.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Groups """ diff --git a/src/sage/categories/h_trivial_semigroups.py b/src/sage/categories/h_trivial_semigroups.py index 5630068d671..9b1f0ab57b0 100644 --- a/src/sage/categories/h_trivial_semigroups.py +++ b/src/sage/categories/h_trivial_semigroups.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" H-trivial semigroups """ diff --git a/src/sage/categories/hecke_modules.py b/src/sage/categories/hecke_modules.py index 6a575fd17d6..ba767c3b74c 100644 --- a/src/sage/categories/hecke_modules.py +++ b/src/sage/categories/hecke_modules.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Hecke modules """ diff --git a/src/sage/categories/highest_weight_crystals.py b/src/sage/categories/highest_weight_crystals.py index 32cbf77c87a..8a4afe675d1 100644 --- a/src/sage/categories/highest_weight_crystals.py +++ b/src/sage/categories/highest_weight_crystals.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.combinat sage.graphs r""" Highest Weight Crystals diff --git a/src/sage/categories/homset.py b/src/sage/categories/homset.py index deb489a9042..e20a5faaf99 100644 --- a/src/sage/categories/homset.py +++ b/src/sage/categories/homset.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects r""" Homsets diff --git a/src/sage/categories/homsets.py b/src/sage/categories/homsets.py index b915dbb12fe..bdf8c482cc0 100644 --- a/src/sage/categories/homsets.py +++ b/src/sage/categories/homsets.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects r""" Homset categories """ diff --git a/src/sage/categories/hopf_algebras.py b/src/sage/categories/hopf_algebras.py index 49091b3de60..acc85774aff 100644 --- a/src/sage/categories/hopf_algebras.py +++ b/src/sage/categories/hopf_algebras.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Hopf algebras """ diff --git a/src/sage/categories/hopf_algebras_with_basis.py b/src/sage/categories/hopf_algebras_with_basis.py index d56adc36eb1..f4bbb6af51d 100644 --- a/src/sage/categories/hopf_algebras_with_basis.py +++ b/src/sage/categories/hopf_algebras_with_basis.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Hopf algebras with basis """ diff --git a/src/sage/categories/infinite_enumerated_sets.py b/src/sage/categories/infinite_enumerated_sets.py index e65bf944b87..c5f5df3ffd9 100644 --- a/src/sage/categories/infinite_enumerated_sets.py +++ b/src/sage/categories/infinite_enumerated_sets.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Infinite Enumerated Sets diff --git a/src/sage/categories/integral_domains.py b/src/sage/categories/integral_domains.py index b6e6f59a196..ae47e5205f6 100644 --- a/src/sage/categories/integral_domains.py +++ b/src/sage/categories/integral_domains.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Integral domains """ diff --git a/src/sage/categories/isomorphic_objects.py b/src/sage/categories/isomorphic_objects.py index f1473997c14..658402aea09 100644 --- a/src/sage/categories/isomorphic_objects.py +++ b/src/sage/categories/isomorphic_objects.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects """ Isomorphic Objects Functorial Construction diff --git a/src/sage/categories/j_trivial_semigroups.py b/src/sage/categories/j_trivial_semigroups.py index 8ca78c83a1e..c09e1cea144 100644 --- a/src/sage/categories/j_trivial_semigroups.py +++ b/src/sage/categories/j_trivial_semigroups.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" J-trivial semigroups """ diff --git a/src/sage/categories/kac_moody_algebras.py b/src/sage/categories/kac_moody_algebras.py index 52f738243b8..ed2ba241bdf 100644 --- a/src/sage/categories/kac_moody_algebras.py +++ b/src/sage/categories/kac_moody_algebras.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Kac-Moody Algebras diff --git a/src/sage/categories/l_trivial_semigroups.py b/src/sage/categories/l_trivial_semigroups.py index ef4a8c41016..478003e0e48 100644 --- a/src/sage/categories/l_trivial_semigroups.py +++ b/src/sage/categories/l_trivial_semigroups.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" L-trivial semigroups """ diff --git a/src/sage/categories/lambda_bracket_algebras.py b/src/sage/categories/lambda_bracket_algebras.py index 56818bf4d04..9c93d417489 100644 --- a/src/sage/categories/lambda_bracket_algebras.py +++ b/src/sage/categories/lambda_bracket_algebras.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Lambda Bracket Algebras diff --git a/src/sage/categories/lambda_bracket_algebras_with_basis.py b/src/sage/categories/lambda_bracket_algebras_with_basis.py index 62fe41f3336..c79d1cc8c8a 100644 --- a/src/sage/categories/lambda_bracket_algebras_with_basis.py +++ b/src/sage/categories/lambda_bracket_algebras_with_basis.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Lambda Bracket Algebras With Basis diff --git a/src/sage/categories/lattice_posets.py b/src/sage/categories/lattice_posets.py index f14fa364415..29b1738c6ac 100644 --- a/src/sage/categories/lattice_posets.py +++ b/src/sage/categories/lattice_posets.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Lattice posets """ diff --git a/src/sage/categories/left_modules.py b/src/sage/categories/left_modules.py index 51de3497a53..a6394582d4d 100644 --- a/src/sage/categories/left_modules.py +++ b/src/sage/categories/left_modules.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Left modules """ diff --git a/src/sage/categories/lie_algebras.py b/src/sage/categories/lie_algebras.py index d0958f12d89..c0b80226c9a 100644 --- a/src/sage/categories/lie_algebras.py +++ b/src/sage/categories/lie_algebras.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Lie Algebras diff --git a/src/sage/categories/lie_algebras_with_basis.py b/src/sage/categories/lie_algebras_with_basis.py index 67570b611b3..7cdf3fd7bca 100644 --- a/src/sage/categories/lie_algebras_with_basis.py +++ b/src/sage/categories/lie_algebras_with_basis.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Lie Algebras With Basis diff --git a/src/sage/categories/lie_conformal_algebras.py b/src/sage/categories/lie_conformal_algebras.py index d1e77c3c56b..561d9e1e693 100644 --- a/src/sage/categories/lie_conformal_algebras.py +++ b/src/sage/categories/lie_conformal_algebras.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Lie Conformal Algebras diff --git a/src/sage/categories/lie_conformal_algebras_with_basis.py b/src/sage/categories/lie_conformal_algebras_with_basis.py index bedf8934fc4..d0bac7f4087 100644 --- a/src/sage/categories/lie_conformal_algebras_with_basis.py +++ b/src/sage/categories/lie_conformal_algebras_with_basis.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Lie Conformal Algebras With Basis diff --git a/src/sage/categories/lie_groups.py b/src/sage/categories/lie_groups.py index 2d32a158fa3..fe64f6f1a97 100644 --- a/src/sage/categories/lie_groups.py +++ b/src/sage/categories/lie_groups.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Lie Groups """ diff --git a/src/sage/categories/loop_crystals.py b/src/sage/categories/loop_crystals.py index ad5f913cabc..76e4e1adba7 100644 --- a/src/sage/categories/loop_crystals.py +++ b/src/sage/categories/loop_crystals.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.graphs sage.combinat r""" Loop Crystals diff --git a/src/sage/categories/magmas.py b/src/sage/categories/magmas.py index 247603d3d31..882cb4d1052 100644 --- a/src/sage/categories/magmas.py +++ b/src/sage/categories/magmas.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Magmas """ diff --git a/src/sage/categories/magmas_and_additive_magmas.py b/src/sage/categories/magmas_and_additive_magmas.py index 784cf625ec6..5b7796ecbfa 100644 --- a/src/sage/categories/magmas_and_additive_magmas.py +++ b/src/sage/categories/magmas_and_additive_magmas.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Magmas and Additive Magmas """ diff --git a/src/sage/categories/magmatic_algebras.py b/src/sage/categories/magmatic_algebras.py index 763f5aab764..049645af1ce 100644 --- a/src/sage/categories/magmatic_algebras.py +++ b/src/sage/categories/magmatic_algebras.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Non-unital non-associative algebras """ diff --git a/src/sage/categories/manifolds.py b/src/sage/categories/manifolds.py index f8dc1da4de0..554e7053f8c 100644 --- a/src/sage/categories/manifolds.py +++ b/src/sage/categories/manifolds.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Manifolds """ diff --git a/src/sage/categories/map.pxd b/src/sage/categories/map.pxd index 0467b872353..6f3b3bb8a91 100644 --- a/src/sage/categories/map.pxd +++ b/src/sage/categories/map.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects from sage.structure.parent cimport Parent from sage.structure.element cimport Element diff --git a/src/sage/categories/map.pyx b/src/sage/categories/map.pyx index b41b7538c59..c814bd2d8ff 100644 --- a/src/sage/categories/map.pyx +++ b/src/sage/categories/map.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects r""" Base class for maps diff --git a/src/sage/categories/matrix_algebras.py b/src/sage/categories/matrix_algebras.py index 08b102d7451..57953f5af2e 100644 --- a/src/sage/categories/matrix_algebras.py +++ b/src/sage/categories/matrix_algebras.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Matrix algebras """ diff --git a/src/sage/categories/metric_spaces.py b/src/sage/categories/metric_spaces.py index 205e8746363..ecf43e9c361 100644 --- a/src/sage/categories/metric_spaces.py +++ b/src/sage/categories/metric_spaces.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Metric Spaces """ diff --git a/src/sage/categories/modular_abelian_varieties.py b/src/sage/categories/modular_abelian_varieties.py index 804361a7f99..4fd64663291 100644 --- a/src/sage/categories/modular_abelian_varieties.py +++ b/src/sage/categories/modular_abelian_varieties.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Modular abelian varieties """ diff --git a/src/sage/categories/modules.py b/src/sage/categories/modules.py index c5b1aa2afb5..0fd23631072 100644 --- a/src/sage/categories/modules.py +++ b/src/sage/categories/modules.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Modules """ diff --git a/src/sage/categories/modules_with_basis.py b/src/sage/categories/modules_with_basis.py index e1fa796ba3b..2a1fe2dd117 100644 --- a/src/sage/categories/modules_with_basis.py +++ b/src/sage/categories/modules_with_basis.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Modules With Basis diff --git a/src/sage/categories/monoid_algebras.py b/src/sage/categories/monoid_algebras.py index a387d7f74f4..70bf7b9f881 100644 --- a/src/sage/categories/monoid_algebras.py +++ b/src/sage/categories/monoid_algebras.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Monoid algebras """ diff --git a/src/sage/categories/monoids.py b/src/sage/categories/monoids.py index 7d763bb59b7..dad363c876b 100644 --- a/src/sage/categories/monoids.py +++ b/src/sage/categories/monoids.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Monoids """ diff --git a/src/sage/categories/morphism.pxd b/src/sage/categories/morphism.pxd index e5befc8207e..88cda6baf93 100644 --- a/src/sage/categories/morphism.pxd +++ b/src/sage/categories/morphism.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects from sage.structure.element cimport Element from sage.categories.map cimport Map diff --git a/src/sage/categories/morphism.pyx b/src/sage/categories/morphism.pyx index 0e4805ef1b4..24e36f1295c 100644 --- a/src/sage/categories/morphism.pyx +++ b/src/sage/categories/morphism.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects """ Morphisms diff --git a/src/sage/categories/number_fields.py b/src/sage/categories/number_fields.py index 6f9829cd499..8c6ed11d4c3 100644 --- a/src/sage/categories/number_fields.py +++ b/src/sage/categories/number_fields.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Number fields """ diff --git a/src/sage/categories/objects.py b/src/sage/categories/objects.py index 0b72e0f5d6f..742be48099f 100644 --- a/src/sage/categories/objects.py +++ b/src/sage/categories/objects.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects r""" Objects """ diff --git a/src/sage/categories/partially_ordered_monoids.py b/src/sage/categories/partially_ordered_monoids.py index 0f41b6c330f..81c9b58734b 100644 --- a/src/sage/categories/partially_ordered_monoids.py +++ b/src/sage/categories/partially_ordered_monoids.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Partially ordered monoids """ diff --git a/src/sage/categories/permutation_groups.py b/src/sage/categories/permutation_groups.py index 7e71ad4d857..59dfaaeaaf8 100644 --- a/src/sage/categories/permutation_groups.py +++ b/src/sage/categories/permutation_groups.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Permutation groups """ diff --git a/src/sage/categories/pointed_sets.py b/src/sage/categories/pointed_sets.py index 27376140dbe..3a16a61988d 100644 --- a/src/sage/categories/pointed_sets.py +++ b/src/sage/categories/pointed_sets.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Pointed sets """ diff --git a/src/sage/categories/polyhedra.py b/src/sage/categories/polyhedra.py index 256eb99498d..9b65b40bcd9 100644 --- a/src/sage/categories/polyhedra.py +++ b/src/sage/categories/polyhedra.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Polyhedral subsets of free ZZ, QQ or RR-modules. """ diff --git a/src/sage/categories/poor_man_map.py b/src/sage/categories/poor_man_map.py index 6fc55a02104..b20aa7977c5 100644 --- a/src/sage/categories/poor_man_map.py +++ b/src/sage/categories/poor_man_map.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Poor Man's map """ diff --git a/src/sage/categories/posets.py b/src/sage/categories/posets.py index cd08f65ad45..0d846648e6f 100644 --- a/src/sage/categories/posets.py +++ b/src/sage/categories/posets.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.graphs, sage.combinat r""" Posets diff --git a/src/sage/categories/primer.py b/src/sage/categories/primer.py index c7339b712e3..3e1a5aee832 100644 --- a/src/sage/categories/primer.py +++ b/src/sage/categories/primer.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects r""" Elements, parents, and categories in Sage: a primer diff --git a/src/sage/categories/principal_ideal_domains.py b/src/sage/categories/principal_ideal_domains.py index f020cfb383d..4155dc764a5 100644 --- a/src/sage/categories/principal_ideal_domains.py +++ b/src/sage/categories/principal_ideal_domains.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Principal ideal domains """ diff --git a/src/sage/categories/pushout.py b/src/sage/categories/pushout.py index e8eee82998d..f1e4674a790 100644 --- a/src/sage/categories/pushout.py +++ b/src/sage/categories/pushout.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects """ Coercion via construction functors """ diff --git a/src/sage/categories/quantum_group_representations.py b/src/sage/categories/quantum_group_representations.py index fc8a4697941..6b79ca4ea08 100644 --- a/src/sage/categories/quantum_group_representations.py +++ b/src/sage/categories/quantum_group_representations.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Quantum Group Representations diff --git a/src/sage/categories/quotient_fields.py b/src/sage/categories/quotient_fields.py index e33a48d4ceb..9ab5393c976 100644 --- a/src/sage/categories/quotient_fields.py +++ b/src/sage/categories/quotient_fields.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Quotient fields """ diff --git a/src/sage/categories/quotients.py b/src/sage/categories/quotients.py index bda06208d80..97b6243d7b1 100644 --- a/src/sage/categories/quotients.py +++ b/src/sage/categories/quotients.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects """ Quotients Functorial Construction diff --git a/src/sage/categories/r_trivial_semigroups.py b/src/sage/categories/r_trivial_semigroups.py index a73f28931eb..840970e97c8 100644 --- a/src/sage/categories/r_trivial_semigroups.py +++ b/src/sage/categories/r_trivial_semigroups.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" R-trivial semigroups """ diff --git a/src/sage/categories/realizations.py b/src/sage/categories/realizations.py index d22b6f6a80a..f73652b8357 100644 --- a/src/sage/categories/realizations.py +++ b/src/sage/categories/realizations.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects """ Realizations Covariant Functorial Construction diff --git a/src/sage/categories/regular_crystals.py b/src/sage/categories/regular_crystals.py index 5a0ac6291b5..3af41941d42 100644 --- a/src/sage/categories/regular_crystals.py +++ b/src/sage/categories/regular_crystals.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.combinat sage.graphs r""" Regular Crystals diff --git a/src/sage/categories/regular_supercrystals.py b/src/sage/categories/regular_supercrystals.py index 044f556a1f7..f7f6f3fa80e 100644 --- a/src/sage/categories/regular_supercrystals.py +++ b/src/sage/categories/regular_supercrystals.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.combinat sage.graphs r""" Regular Supercrystals diff --git a/src/sage/categories/right_modules.py b/src/sage/categories/right_modules.py index 47a8081d2a9..aa6582f2400 100644 --- a/src/sage/categories/right_modules.py +++ b/src/sage/categories/right_modules.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Right modules """ diff --git a/src/sage/categories/ring_ideals.py b/src/sage/categories/ring_ideals.py index fd634f1caef..2b28d4c0e2f 100644 --- a/src/sage/categories/ring_ideals.py +++ b/src/sage/categories/ring_ideals.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Ring ideals """ diff --git a/src/sage/categories/rings.py b/src/sage/categories/rings.py index 9685fb80dd4..e3e2fba3190 100644 --- a/src/sage/categories/rings.py +++ b/src/sage/categories/rings.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Rings """ diff --git a/src/sage/categories/rngs.py b/src/sage/categories/rngs.py index 1841b45d1d5..e1a04c939c8 100644 --- a/src/sage/categories/rngs.py +++ b/src/sage/categories/rngs.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Rngs """ diff --git a/src/sage/categories/schemes.py b/src/sage/categories/schemes.py index cf78a901209..5b6d1939a54 100644 --- a/src/sage/categories/schemes.py +++ b/src/sage/categories/schemes.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Schemes """ diff --git a/src/sage/categories/semigroups.py b/src/sage/categories/semigroups.py index 7c894a03112..fe34b5e9b22 100644 --- a/src/sage/categories/semigroups.py +++ b/src/sage/categories/semigroups.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Semigroups """ diff --git a/src/sage/categories/semirings.py b/src/sage/categories/semirings.py index 62e6f7d918f..624a867608a 100644 --- a/src/sage/categories/semirings.py +++ b/src/sage/categories/semirings.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Semirngs """ diff --git a/src/sage/categories/semisimple_algebras.py b/src/sage/categories/semisimple_algebras.py index 453b854b7e7..7837a140608 100644 --- a/src/sage/categories/semisimple_algebras.py +++ b/src/sage/categories/semisimple_algebras.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Semisimple Algebras """ diff --git a/src/sage/categories/sets_cat.py b/src/sage/categories/sets_cat.py index 0a523f00903..60b42e527d5 100644 --- a/src/sage/categories/sets_cat.py +++ b/src/sage/categories/sets_cat.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects r""" Sets """ diff --git a/src/sage/categories/sets_with_grading.py b/src/sage/categories/sets_with_grading.py index a29d8c9c59c..9f9037e94b5 100644 --- a/src/sage/categories/sets_with_grading.py +++ b/src/sage/categories/sets_with_grading.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Sets With a Grading """ diff --git a/src/sage/categories/sets_with_partial_maps.py b/src/sage/categories/sets_with_partial_maps.py index 4210548b0fd..01993c2fb82 100644 --- a/src/sage/categories/sets_with_partial_maps.py +++ b/src/sage/categories/sets_with_partial_maps.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects r""" SetsWithPartialMaps """ diff --git a/src/sage/categories/shephard_groups.py b/src/sage/categories/shephard_groups.py index 945274bcd84..2b68f4d37d8 100644 --- a/src/sage/categories/shephard_groups.py +++ b/src/sage/categories/shephard_groups.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Shephard Groups """ diff --git a/src/sage/categories/signed_tensor.py b/src/sage/categories/signed_tensor.py index c5281b7275a..f11c9a9f2bb 100644 --- a/src/sage/categories/signed_tensor.py +++ b/src/sage/categories/signed_tensor.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Signed Tensor Product Functorial Construction diff --git a/src/sage/categories/simplicial_complexes.py b/src/sage/categories/simplicial_complexes.py index 9750dcab686..6cd81a778cb 100644 --- a/src/sage/categories/simplicial_complexes.py +++ b/src/sage/categories/simplicial_complexes.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Simplicial Complexes """ diff --git a/src/sage/categories/simplicial_sets.py b/src/sage/categories/simplicial_sets.py index 7b7bbf827af..6d5ac1823a3 100644 --- a/src/sage/categories/simplicial_sets.py +++ b/src/sage/categories/simplicial_sets.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Simplicial Sets """ diff --git a/src/sage/categories/subobjects.py b/src/sage/categories/subobjects.py index 53ad660d75a..367b599d05a 100644 --- a/src/sage/categories/subobjects.py +++ b/src/sage/categories/subobjects.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects """ Subobjects Functorial Construction diff --git a/src/sage/categories/subquotients.py b/src/sage/categories/subquotients.py index ede07cadec1..d4ced65976d 100644 --- a/src/sage/categories/subquotients.py +++ b/src/sage/categories/subquotients.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects """ Subquotient Functorial Construction diff --git a/src/sage/categories/super_algebras.py b/src/sage/categories/super_algebras.py index 329ebebe420..abb2d404002 100644 --- a/src/sage/categories/super_algebras.py +++ b/src/sage/categories/super_algebras.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Super Algebras """ diff --git a/src/sage/categories/super_algebras_with_basis.py b/src/sage/categories/super_algebras_with_basis.py index 014fe6e563e..46731a1609f 100644 --- a/src/sage/categories/super_algebras_with_basis.py +++ b/src/sage/categories/super_algebras_with_basis.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Super algebras with basis """ diff --git a/src/sage/categories/super_hopf_algebras_with_basis.py b/src/sage/categories/super_hopf_algebras_with_basis.py index b3b86d0973d..f66ada295e7 100644 --- a/src/sage/categories/super_hopf_algebras_with_basis.py +++ b/src/sage/categories/super_hopf_algebras_with_basis.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Super Hopf algebras with basis """ diff --git a/src/sage/categories/super_lie_conformal_algebras.py b/src/sage/categories/super_lie_conformal_algebras.py index 9e38c4aa3e1..8e6c0865cfb 100644 --- a/src/sage/categories/super_lie_conformal_algebras.py +++ b/src/sage/categories/super_lie_conformal_algebras.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Super Lie Conformal Algebras diff --git a/src/sage/categories/super_modules.py b/src/sage/categories/super_modules.py index a6d17ea32b0..9dd6cc0675c 100644 --- a/src/sage/categories/super_modules.py +++ b/src/sage/categories/super_modules.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Super modules """ diff --git a/src/sage/categories/super_modules_with_basis.py b/src/sage/categories/super_modules_with_basis.py index ef4bbc048e8..3992deb600e 100644 --- a/src/sage/categories/super_modules_with_basis.py +++ b/src/sage/categories/super_modules_with_basis.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Super modules with basis """ diff --git a/src/sage/categories/supercommutative_algebras.py b/src/sage/categories/supercommutative_algebras.py index 1928c7057dc..2b35e4de93c 100644 --- a/src/sage/categories/supercommutative_algebras.py +++ b/src/sage/categories/supercommutative_algebras.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Supercommutative Algebras """ diff --git a/src/sage/categories/supercrystals.py b/src/sage/categories/supercrystals.py index 239aa8c0a86..0f3fc9702e4 100644 --- a/src/sage/categories/supercrystals.py +++ b/src/sage/categories/supercrystals.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.graphs sage.combinat r""" Supercrystals diff --git a/src/sage/categories/tensor.py b/src/sage/categories/tensor.py index 01208e6217e..11e470e378f 100644 --- a/src/sage/categories/tensor.py +++ b/src/sage/categories/tensor.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Tensor Product Functorial Construction diff --git a/src/sage/categories/topological_spaces.py b/src/sage/categories/topological_spaces.py index 7ab806e6a2b..5a4d0affb51 100644 --- a/src/sage/categories/topological_spaces.py +++ b/src/sage/categories/topological_spaces.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Topological Spaces """ diff --git a/src/sage/categories/triangular_kac_moody_algebras.py b/src/sage/categories/triangular_kac_moody_algebras.py index f5730707d36..0a7988282d3 100644 --- a/src/sage/categories/triangular_kac_moody_algebras.py +++ b/src/sage/categories/triangular_kac_moody_algebras.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Kac-Moody Algebras With Triangular Decomposition Basis diff --git a/src/sage/categories/tutorial.py b/src/sage/categories/tutorial.py index fc2e2abe6f9..2c4ae1b2447 100644 --- a/src/sage/categories/tutorial.py +++ b/src/sage/categories/tutorial.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Implementing a new parent: a tutorial diff --git a/src/sage/categories/unique_factorization_domains.py b/src/sage/categories/unique_factorization_domains.py index 3f5467b0a16..a4a66111f4b 100644 --- a/src/sage/categories/unique_factorization_domains.py +++ b/src/sage/categories/unique_factorization_domains.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Unique factorization domains """ diff --git a/src/sage/categories/unital_algebras.py b/src/sage/categories/unital_algebras.py index 0f4fa24600d..2b90b404f26 100644 --- a/src/sage/categories/unital_algebras.py +++ b/src/sage/categories/unital_algebras.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Unital algebras """ diff --git a/src/sage/categories/vector_bundles.py b/src/sage/categories/vector_bundles.py index 3f3bed1f2d0..7f190a3ed81 100644 --- a/src/sage/categories/vector_bundles.py +++ b/src/sage/categories/vector_bundles.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.symbolic r""" Vector Bundles diff --git a/src/sage/categories/vector_spaces.py b/src/sage/categories/vector_spaces.py index 570fe58254b..1cae70f1d45 100644 --- a/src/sage/categories/vector_spaces.py +++ b/src/sage/categories/vector_spaces.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Vector Spaces """ diff --git a/src/sage/categories/weyl_groups.py b/src/sage/categories/weyl_groups.py index 9d5d6f28daa..9779d6b4a93 100644 --- a/src/sage/categories/weyl_groups.py +++ b/src/sage/categories/weyl_groups.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.combinat sage.groups r""" Weyl Groups diff --git a/src/sage/categories/with_realizations.py b/src/sage/categories/with_realizations.py index eaabcdaf04a..b747bdbedeb 100644 --- a/src/sage/categories/with_realizations.py +++ b/src/sage/categories/with_realizations.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects """ With Realizations Covariant Functorial Construction diff --git a/src/sage/coding/abstract_code.py b/src/sage/coding/abstract_code.py index 0b2031a74f2..e1d8a8922da 100644 --- a/src/sage/coding/abstract_code.py +++ b/src/sage/coding/abstract_code.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: optional - sage.modules sage.rings.finite_rings r""" Codes diff --git a/src/sage/coding/ag_code.py b/src/sage/coding/ag_code.py index 0f189bb69a0..32832f0550d 100644 --- a/src/sage/coding/ag_code.py +++ b/src/sage/coding/ag_code.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: optional - sage.rings.finite_rings sage.schemes """ AG codes diff --git a/src/sage/coding/ag_code_decoders.pyx b/src/sage/coding/ag_code_decoders.pyx index 9ce2aa2f8ce..555f42c90f1 100644 --- a/src/sage/coding/ag_code_decoders.pyx +++ b/src/sage/coding/ag_code_decoders.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: optional - sage.rings.finite_rings sage.schemes r""" Decoders for AG codes diff --git a/src/sage/coding/all.py b/src/sage/coding/all.py index e5ff88308b7..ea26cb7ecaf 100644 --- a/src/sage/coding/all.py +++ b/src/sage/coding/all.py @@ -1,12 +1,15 @@ +# sage_setup: distribution = sagemath-modules -from sage.misc.lazy_import import lazy_import as _lazy_import +from sage.misc.lazy_import import lazy_import -_lazy_import("sage.coding.code_constructions", ["permutation_action", - "walsh_matrix"]) +lazy_import("sage.coding.code_constructions", ["permutation_action", + "walsh_matrix"]) -_lazy_import("sage.coding.linear_code", "LinearCode") +lazy_import("sage.coding.linear_code", "LinearCode") # Functions removed from the global namespace -_lazy_import('sage.coding', 'codes_catalog', 'codes') -_lazy_import('sage.coding', 'channels_catalog', 'channels') +lazy_import('sage.coding', 'codes_catalog', 'codes') +lazy_import('sage.coding', 'channels_catalog', 'channels') + +del lazy_import diff --git a/src/sage/coding/all__sagemath_gap.py b/src/sage/coding/all__sagemath_gap.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/coding/bch_code.py b/src/sage/coding/bch_code.py index 40fa088354a..2532f189e92 100644 --- a/src/sage/coding/bch_code.py +++ b/src/sage/coding/bch_code.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: optional - sage.modules sage.rings.finite_rings r""" BCH code diff --git a/src/sage/coding/binary_code.pxd b/src/sage/coding/binary_code.pxd index 38be220c731..1a1f0f95220 100644 --- a/src/sage/coding/binary_code.pxd +++ b/src/sage/coding/binary_code.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules cdef int *hamming_weights() noexcept ctypedef unsigned int codeword diff --git a/src/sage/coding/binary_code.pyx b/src/sage/coding/binary_code.pyx index 81065a7dbd3..ace250d3e2c 100644 --- a/src/sage/coding/binary_code.pyx +++ b/src/sage/coding/binary_code.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: optional - sage.modules sage.rings.finite_rings r""" Optimized low-level binary code representation diff --git a/src/sage/coding/bounds_catalog.py b/src/sage/coding/bounds_catalog.py index aa4c2dd9996..ef354485820 100644 --- a/src/sage/coding/bounds_catalog.py +++ b/src/sage/coding/bounds_catalog.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Index of bounds on the parameters of codes diff --git a/src/sage/coding/channel.py b/src/sage/coding/channel.py index 353c540575c..0a8be025e2d 100644 --- a/src/sage/coding/channel.py +++ b/src/sage/coding/channel.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: optional - sage.modules sage.rings.finite_rings r""" Channels diff --git a/src/sage/coding/channels_catalog.py b/src/sage/coding/channels_catalog.py index b121fe847d8..464c06c1906 100644 --- a/src/sage/coding/channels_catalog.py +++ b/src/sage/coding/channels_catalog.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Index of channels diff --git a/src/sage/coding/code_bounds.py b/src/sage/coding/code_bounds.py index 7b80eec172a..3c6b5234fcd 100644 --- a/src/sage/coding/code_bounds.py +++ b/src/sage/coding/code_bounds.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Bounds for parameters of codes diff --git a/src/sage/coding/code_constructions.py b/src/sage/coding/code_constructions.py index 6870c28ec87..0c1fa8eceff 100644 --- a/src/sage/coding/code_constructions.py +++ b/src/sage/coding/code_constructions.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: optional - sage.modules sage.rings.finite_rings r""" Linear code constructors that do not preserve the structural information diff --git a/src/sage/coding/codecan/all.py b/src/sage/coding/codecan/all.py index e69de29bb2d..dd59a6da735 100644 --- a/src/sage/coding/codecan/all.py +++ b/src/sage/coding/codecan/all.py @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-gap diff --git a/src/sage/coding/codecan/all__sagemath_gap.py b/src/sage/coding/codecan/all__sagemath_gap.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/coding/codecan/autgroup_can_label.pyx b/src/sage/coding/codecan/autgroup_can_label.pyx index f656771e179..21a6b4dfaa5 100644 --- a/src/sage/coding/codecan/autgroup_can_label.pyx +++ b/src/sage/coding/codecan/autgroup_can_label.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-gap # sage.doctest: needs sage.libs.pari r""" Canonical forms and automorphisms for linear codes over finite fields diff --git a/src/sage/coding/codecan/codecan.pxd b/src/sage/coding/codecan/codecan.pxd index 279688d2333..fc6d8e0844b 100644 --- a/src/sage/coding/codecan/codecan.pxd +++ b/src/sage/coding/codecan/codecan.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-gap from sage.groups.perm_gps.permgroup_element cimport PermutationGroupElement from sage.groups.semimonomial_transformations.semimonomial_transformation cimport SemimonomialTransformation from sage.modules.free_module_element cimport FreeModuleElement diff --git a/src/sage/coding/codecan/codecan.pyx b/src/sage/coding/codecan/codecan.pyx index 89a04d61433..f110fb8c7d6 100644 --- a/src/sage/coding/codecan/codecan.pyx +++ b/src/sage/coding/codecan/codecan.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-gap r""" Canonical forms and automorphism group computation for linear codes over finite fields diff --git a/src/sage/coding/codes_catalog.py b/src/sage/coding/codes_catalog.py index 96021d5fdd3..b8b855ef5d6 100644 --- a/src/sage/coding/codes_catalog.py +++ b/src/sage/coding/codes_catalog.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Index of code constructions diff --git a/src/sage/coding/cyclic_code.py b/src/sage/coding/cyclic_code.py index 8cab59c2504..fb0905c0f9b 100644 --- a/src/sage/coding/cyclic_code.py +++ b/src/sage/coding/cyclic_code.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: optional - sage.modules sage.rings.finite_rings r""" Cyclic code diff --git a/src/sage/coding/databases.py b/src/sage/coding/databases.py index 989d67e89d8..3e0b19e7485 100644 --- a/src/sage/coding/databases.py +++ b/src/sage/coding/databases.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: optional - sage.modules sage.rings.finite_rings r""" Access functions to online databases for coding theory diff --git a/src/sage/coding/decoder.py b/src/sage/coding/decoder.py index 503c31a3b39..865effc82a4 100644 --- a/src/sage/coding/decoder.py +++ b/src/sage/coding/decoder.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: optional - sage.modules sage.rings.finite_rings r""" Decoders diff --git a/src/sage/coding/decoders_catalog.py b/src/sage/coding/decoders_catalog.py index a9f2417880e..0db103c8b09 100644 --- a/src/sage/coding/decoders_catalog.py +++ b/src/sage/coding/decoders_catalog.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Index of decoders diff --git a/src/sage/coding/delsarte_bounds.py b/src/sage/coding/delsarte_bounds.py index 0f8fa305a08..0af010a4242 100644 --- a/src/sage/coding/delsarte_bounds.py +++ b/src/sage/coding/delsarte_bounds.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Delsarte (or linear programming) bounds diff --git a/src/sage/coding/encoder.py b/src/sage/coding/encoder.py index f603f337008..61179556be5 100644 --- a/src/sage/coding/encoder.py +++ b/src/sage/coding/encoder.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: optional - sage.modules sage.rings.finite_rings r""" Encoders diff --git a/src/sage/coding/encoders_catalog.py b/src/sage/coding/encoders_catalog.py index e6ac68267fd..a22a897c8da 100644 --- a/src/sage/coding/encoders_catalog.py +++ b/src/sage/coding/encoders_catalog.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Index of encoders diff --git a/src/sage/coding/extended_code.py b/src/sage/coding/extended_code.py index c27acc58066..0082156c89f 100644 --- a/src/sage/coding/extended_code.py +++ b/src/sage/coding/extended_code.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: optional - sage.modules sage.rings.finite_rings r""" Extended code diff --git a/src/sage/coding/gabidulin_code.py b/src/sage/coding/gabidulin_code.py index 0ba1d13ec41..513cad4a82a 100644 --- a/src/sage/coding/gabidulin_code.py +++ b/src/sage/coding/gabidulin_code.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: optional - sage.modules sage.rings.finite_rings r""" Gabidulin Code diff --git a/src/sage/coding/golay_code.py b/src/sage/coding/golay_code.py index e698605825e..69ef064b766 100644 --- a/src/sage/coding/golay_code.py +++ b/src/sage/coding/golay_code.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Golay code diff --git a/src/sage/coding/goppa_code.py b/src/sage/coding/goppa_code.py index a642fb86049..6de6742ad11 100644 --- a/src/sage/coding/goppa_code.py +++ b/src/sage/coding/goppa_code.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: optional - sage.modules sage.rings.finite_rings r""" Goppa code diff --git a/src/sage/coding/grs_code.py b/src/sage/coding/grs_code.py index 7a39d548c44..8b46bde5c34 100644 --- a/src/sage/coding/grs_code.py +++ b/src/sage/coding/grs_code.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: optional - sage.modules sage.rings.finite_rings r""" Reed-Solomon codes and Generalized Reed-Solomon codes diff --git a/src/sage/coding/guava.py b/src/sage/coding/guava.py index 92e2dc80451..6916d5ae290 100644 --- a/src/sage/coding/guava.py +++ b/src/sage/coding/guava.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: optional - sage.libs.gap sage.modules sage.rings.finite_rings r""" Constructions of generator matrices using the GUAVA package for GAP diff --git a/src/sage/coding/guruswami_sudan/all.py b/src/sage/coding/guruswami_sudan/all.py index e69de29bb2d..6f6ab52d0f2 100644 --- a/src/sage/coding/guruswami_sudan/all.py +++ b/src/sage/coding/guruswami_sudan/all.py @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-modules diff --git a/src/sage/coding/guruswami_sudan/gs_decoder.py b/src/sage/coding/guruswami_sudan/gs_decoder.py index d992a881c04..48fa955258c 100644 --- a/src/sage/coding/guruswami_sudan/gs_decoder.py +++ b/src/sage/coding/guruswami_sudan/gs_decoder.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.modules sage.rings.finite_rings r""" Guruswami-Sudan decoder for (Generalized) Reed-Solomon codes diff --git a/src/sage/coding/guruswami_sudan/interpolation.py b/src/sage/coding/guruswami_sudan/interpolation.py index 62ed9f3a8f1..b5723a43eeb 100644 --- a/src/sage/coding/guruswami_sudan/interpolation.py +++ b/src/sage/coding/guruswami_sudan/interpolation.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: optional - sage.modules sage.rings.finite_rings """ Interpolation algorithms for the Guruswami-Sudan decoder diff --git a/src/sage/coding/guruswami_sudan/utils.py b/src/sage/coding/guruswami_sudan/utils.py index d899bd0e12e..23b0ed0112c 100644 --- a/src/sage/coding/guruswami_sudan/utils.py +++ b/src/sage/coding/guruswami_sudan/utils.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: optional - sage.modules sage.rings.finite_rings r""" Guruswami-Sudan utility methods diff --git a/src/sage/coding/hamming_code.py b/src/sage/coding/hamming_code.py index 5209a0c3754..a15a0c1cd63 100644 --- a/src/sage/coding/hamming_code.py +++ b/src/sage/coding/hamming_code.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: optional - sage.modules sage.rings.finite_rings r""" Hamming codes diff --git a/src/sage/coding/information_set_decoder.py b/src/sage/coding/information_set_decoder.py index dad1f2b06f3..013fc579fd4 100644 --- a/src/sage/coding/information_set_decoder.py +++ b/src/sage/coding/information_set_decoder.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: optional - sage.modules sage.rings.finite_rings r""" Information-set decoding for linear codes diff --git a/src/sage/coding/kasami_codes.pyx b/src/sage/coding/kasami_codes.pyx index 4c35ed34e33..ffc137a8fb1 100644 --- a/src/sage/coding/kasami_codes.pyx +++ b/src/sage/coding/kasami_codes.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: optional - sage.modules sage.rings.finite_rings r""" Kasami code diff --git a/src/sage/coding/linear_code.py b/src/sage/coding/linear_code.py index 1a0f037ddad..7cb4bd974b8 100644 --- a/src/sage/coding/linear_code.py +++ b/src/sage/coding/linear_code.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: optional - sage.modules sage.rings.finite_rings r""" Generic structures for linear codes over the Hamming metric diff --git a/src/sage/coding/linear_code_no_metric.py b/src/sage/coding/linear_code_no_metric.py index 95963d8a2a1..5ef951d5cd8 100644 --- a/src/sage/coding/linear_code_no_metric.py +++ b/src/sage/coding/linear_code_no_metric.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: optional - sage.modules sage.rings.finite_rings r""" Generic structures for linear codes of any metric diff --git a/src/sage/coding/linear_rank_metric.py b/src/sage/coding/linear_rank_metric.py index 6a7cd14cb62..c65d79b03e4 100644 --- a/src/sage/coding/linear_rank_metric.py +++ b/src/sage/coding/linear_rank_metric.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: optional - sage.modules sage.rings.finite_rings r""" Generic structures for linear codes over the rank metric diff --git a/src/sage/coding/parity_check_code.py b/src/sage/coding/parity_check_code.py index 0adafbbba57..6ba44d2d4a7 100644 --- a/src/sage/coding/parity_check_code.py +++ b/src/sage/coding/parity_check_code.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: optional - sage.modules sage.rings.finite_rings r""" Parity-check code diff --git a/src/sage/coding/punctured_code.py b/src/sage/coding/punctured_code.py index 3caab922b1b..06b6408b65d 100644 --- a/src/sage/coding/punctured_code.py +++ b/src/sage/coding/punctured_code.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: optional - sage.modules sage.rings.finite_rings r""" Punctured code diff --git a/src/sage/coding/reed_muller_code.py b/src/sage/coding/reed_muller_code.py index 1d55ba6fa38..0dd83061609 100644 --- a/src/sage/coding/reed_muller_code.py +++ b/src/sage/coding/reed_muller_code.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: optional - sage.modules sage.rings.finite_rings r""" Reed-Muller code diff --git a/src/sage/coding/self_dual_codes.py b/src/sage/coding/self_dual_codes.py index d60d161d28d..14f2989d9bd 100644 --- a/src/sage/coding/self_dual_codes.py +++ b/src/sage/coding/self_dual_codes.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: optional - sage.groups sage.modules r""" Enumerating binary self-dual codes diff --git a/src/sage/coding/source_coding/all.py b/src/sage/coding/source_coding/all.py index dc95b1fb9f3..756fb6c6df0 100644 --- a/src/sage/coding/source_coding/all.py +++ b/src/sage/coding/source_coding/all.py @@ -1 +1,3 @@ -from .huffman import Huffman +# sage_setup: distribution = sagemath-modules + +from sage.coding.source_coding.huffman import Huffman diff --git a/src/sage/coding/source_coding/huffman.py b/src/sage/coding/source_coding/huffman.py index 1d41f84d77f..f8f2f4367c8 100644 --- a/src/sage/coding/source_coding/huffman.py +++ b/src/sage/coding/source_coding/huffman.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Huffman encoding diff --git a/src/sage/coding/subfield_subcode.py b/src/sage/coding/subfield_subcode.py index c876ef73e63..f74356a4939 100644 --- a/src/sage/coding/subfield_subcode.py +++ b/src/sage/coding/subfield_subcode.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: optional - sage.modules sage.rings.finite_rings r""" Subfield subcode diff --git a/src/sage/coding/two_weight_db.py b/src/sage/coding/two_weight_db.py index 1ad3d584310..e42edbf39f7 100644 --- a/src/sage/coding/two_weight_db.py +++ b/src/sage/coding/two_weight_db.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: optional - sage.modules sage.rings.finite_rings r""" Database of two-weight codes diff --git a/src/sage/combinat/abstract_tree.py b/src/sage/combinat/abstract_tree.py index 126185b4eb4..aa213eee58e 100644 --- a/src/sage/combinat/abstract_tree.py +++ b/src/sage/combinat/abstract_tree.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs r""" Abstract Recursive Trees diff --git a/src/sage/combinat/affine_permutation.py b/src/sage/combinat/affine_permutation.py index 193d1f1c966..e6cd7b42bf2 100644 --- a/src/sage/combinat/affine_permutation.py +++ b/src/sage/combinat/affine_permutation.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.groups r""" Affine Permutations diff --git a/src/sage/combinat/algebraic_combinatorics.py b/src/sage/combinat/algebraic_combinatorics.py index 3dd16bf7799..16cbd1de52a 100644 --- a/src/sage/combinat/algebraic_combinatorics.py +++ b/src/sage/combinat/algebraic_combinatorics.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Algebraic combinatorics diff --git a/src/sage/combinat/all.py b/src/sage/combinat/all.py index d1f391013e2..2b7d906d02f 100644 --- a/src/sage/combinat/all.py +++ b/src/sage/combinat/all.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Combinatorics @@ -50,256 +51,15 @@ install_doc(__package__, __doc__) # install modules quickref and tutorial to the containing package -from . import quickref, tutorial +from sage.combinat import quickref, tutorial install_dict(__package__, {'quickref': quickref, 'tutorial': tutorial}) del quickref, tutorial from sage.misc.lazy_import import lazy_import -from .combinat import (CombinatorialClass, CombinatorialObject, - MapCombinatorialClass, - bell_number, bell_polynomial, bernoulli_polynomial, - catalan_number, euler_number, - fibonacci, fibonacci_sequence, fibonacci_xrange, - lucas_number1, lucas_number2, - number_of_tuples, number_of_unordered_tuples, - polygonal_number, stirling_number1, stirling_number2, - tuples, unordered_tuples) - -lazy_import('sage.combinat.combinat', - ('InfiniteAbstractCombinatorialClass', 'UnionCombinatorialClass', - 'FilteredCombinatorialClass'), - deprecation=(31545, 'this class is deprecated, do not use')) - - -from .expnums import expnums - -from sage.combinat.chas.all import * -from sage.combinat.crystals.all import * -from .rigged_configurations.all import * - -from sage.combinat.dlx import DLXMatrix, AllExactCovers, OneExactCover - -# block designs, etc -from sage.combinat.designs.all import * - -# Free modules and friends -from .free_module import CombinatorialFreeModule -from .debruijn_sequence import DeBruijnSequences - -from .schubert_polynomial import SchubertPolynomialRing -lazy_import('sage.combinat.key_polynomial', 'KeyPolynomialBasis', as_='KeyPolynomials') -from .symmetric_group_algebra import SymmetricGroupAlgebra, HeckeAlgebraSymmetricGroupT -from .symmetric_group_representations import SymmetricGroupRepresentation, SymmetricGroupRepresentations -from .yang_baxter_graph import YangBaxterGraph - -# Permutations -from .permutation import Permutation, Permutations, Arrangements, CyclicPermutations, CyclicPermutationsOfPartition -from .affine_permutation import AffinePermutationGroup -lazy_import('sage.combinat.colored_permutations', ['ColoredPermutations', - 'SignedPermutation', - 'SignedPermutations']) -from .derangements import Derangements -lazy_import('sage.combinat.baxter_permutations', ['BaxterPermutations']) - -# RSK -from .rsk import RSK, RSK_inverse, robinson_schensted_knuth, robinson_schensted_knuth_inverse, InsertionRules - -# HillmanGrassl -lazy_import("sage.combinat.hillman_grassl", ["WeakReversePlanePartition", "WeakReversePlanePartitions"]) - -# PerfectMatchings -from .perfect_matching import PerfectMatching, PerfectMatchings - -# Integer lists -from .integer_lists import IntegerListsLex - -# Compositions -from .composition import Composition, Compositions -from .composition_signed import SignedCompositions - -# Partitions -from .partition import (Partition, Partitions, PartitionsInBox, - OrderedPartitions, PartitionsGreatestLE, - PartitionsGreatestEQ, number_of_partitions) - -lazy_import('sage.combinat.partition_tuple', ['PartitionTuple', 'PartitionTuples']) -lazy_import('sage.combinat.partition_kleshchev', ['KleshchevPartitions']) -lazy_import('sage.combinat.skew_partition', ['SkewPartition', 'SkewPartitions']) - -# Partition algebra -from .partition_algebra import SetPartitionsAk, SetPartitionsPk, SetPartitionsTk, SetPartitionsIk, SetPartitionsBk, SetPartitionsSk, SetPartitionsRk, SetPartitionsPRk - -# Raising operators -lazy_import('sage.combinat.partition_shifting_algebras', 'ShiftingOperatorAlgebra') - -# Diagram algebra -from .diagram_algebras import PartitionAlgebra, BrauerAlgebra, TemperleyLiebAlgebra, PlanarAlgebra, PropagatingIdeal - -# Descent algebra -lazy_import('sage.combinat.descent_algebra', 'DescentAlgebra') - -# Vector Partitions -lazy_import('sage.combinat.vector_partition', - ['VectorPartition', 'VectorPartitions']) - -# Similarity class types -from .similarity_class_type import PrimarySimilarityClassType, PrimarySimilarityClassTypes, SimilarityClassType, SimilarityClassTypes - -# Cores -from .core import Core, Cores - -# Tableaux -lazy_import('sage.combinat.tableau', - ["Tableau", "SemistandardTableau", "StandardTableau", "RowStandardTableau", "IncreasingTableau", - "Tableaux", "SemistandardTableaux", "StandardTableaux", "RowStandardTableaux", "IncreasingTableaux"]) -from .skew_tableau import SkewTableau, SkewTableaux, StandardSkewTableaux, SemistandardSkewTableaux -from .ribbon_shaped_tableau import RibbonShapedTableau, RibbonShapedTableaux, StandardRibbonShapedTableaux -from .ribbon_tableau import RibbonTableaux, RibbonTableau, MultiSkewTableaux, MultiSkewTableau, SemistandardMultiSkewTableaux -from .composition_tableau import CompositionTableau, CompositionTableaux - -lazy_import('sage.combinat.tableau_tuple', - ['TableauTuple', 'StandardTableauTuple', 'RowStandardTableauTuple', - 'TableauTuples', 'StandardTableauTuples', 'RowStandardTableauTuples']) -from .k_tableau import WeakTableau, WeakTableaux, StrongTableau, StrongTableaux -lazy_import('sage.combinat.lr_tableau', ['LittlewoodRichardsonTableau', - 'LittlewoodRichardsonTableaux']) -lazy_import('sage.combinat.shifted_primed_tableau', ['ShiftedPrimedTableaux', - 'ShiftedPrimedTableau']) - -# SuperTableaux -lazy_import('sage.combinat.super_tableau', - ["StandardSuperTableau", "SemistandardSuperTableau", "StandardSuperTableaux", "SemistandardSuperTableaux"]) - -# Words -from .words.all import * - -lazy_import('sage.combinat.subword', 'Subwords') - -from .graph_path import GraphPaths - -# Tuples -from .tuple import Tuples, UnorderedTuples - -# Alternating sign matrices -lazy_import('sage.combinat.alternating_sign_matrix', ('AlternatingSignMatrix', - 'AlternatingSignMatrices', - 'MonotoneTriangles', - 'ContreTableaux', - 'TruncatedStaircases')) - -# Decorated Permutations -lazy_import('sage.combinat.decorated_permutation', ('DecoratedPermutation', - 'DecoratedPermutations')) - -# Plane Partitions -lazy_import('sage.combinat.plane_partition', ('PlanePartition', - 'PlanePartitions')) - -# Parking Functions -lazy_import('sage.combinat.non_decreasing_parking_function', - ['NonDecreasingParkingFunctions', 'NonDecreasingParkingFunction']) -lazy_import('sage.combinat.parking_functions', - ['ParkingFunctions', 'ParkingFunction']) - -# Trees and Tamari interval posets -from .ordered_tree import (OrderedTree, OrderedTrees, - LabelledOrderedTree, LabelledOrderedTrees) -from .binary_tree import (BinaryTree, BinaryTrees, - LabelledBinaryTree, LabelledBinaryTrees) -lazy_import('sage.combinat.interval_posets', ['TamariIntervalPoset', 'TamariIntervalPosets']) -lazy_import('sage.combinat.rooted_tree', ('RootedTree', 'RootedTrees', - 'LabelledRootedTree', 'LabelledRootedTrees')) - -from .combination import Combinations - -from .set_partition import SetPartition, SetPartitions -from .set_partition_ordered import OrderedSetPartition, OrderedSetPartitions -lazy_import('sage.combinat.multiset_partition_into_sets_ordered', - ['OrderedMultisetPartitionIntoSets', - 'OrderedMultisetPartitionsIntoSets']) -from .subset import Subsets, subsets, powerset, uniq -from .necklace import Necklaces -lazy_import('sage.combinat.dyck_word', ('DyckWords', 'DyckWord')) -lazy_import('sage.combinat.nu_dyck_word', ('NuDyckWords', 'NuDyckWord')) -from .sloane_functions import sloane -lazy_import('sage.combinat.superpartition', ('SuperPartition', - 'SuperPartitions')) - -lazy_import('sage.combinat.parallelogram_polyomino', - ['ParallelogramPolyomino', 'ParallelogramPolyominoes']) - -from .root_system.all import * -from .sf.all import * -from .ncsf_qsym.all import * -from .ncsym.all import * -lazy_import('sage.combinat.fqsym', 'FreeQuasisymmetricFunctions') -from .matrices.all import * -# Posets -from .posets.all import * - -# Cluster Algebras and Quivers -from .cluster_algebra_quiver.all import * - -from . import ranker - -from .integer_vector import IntegerVectors -from .integer_vector_weighted import WeightedIntegerVectors -from .integer_vectors_mod_permgroup import IntegerVectorsModPermutationGroup - -lazy_import('sage.combinat.q_analogues', ['gaussian_binomial', 'q_binomial', 'number_of_irreducible_polynomials']) - -from .species.all import * - -lazy_import('sage.combinat.kazhdan_lusztig', 'KazhdanLusztigPolynomial') - -lazy_import('sage.combinat.degree_sequences', 'DegreeSequences') - -lazy_import('sage.combinat.cyclic_sieving_phenomenon', - ['CyclicSievingPolynomial', 'CyclicSievingCheck']) - -lazy_import('sage.combinat.sidon_sets', 'sidon_sets') - -# Puzzles -lazy_import('sage.combinat.knutson_tao_puzzles', 'KnutsonTaoPuzzleSolver') - -# Gelfand-Tsetlin patterns -lazy_import('sage.combinat.gelfand_tsetlin_patterns', - ['GelfandTsetlinPattern', 'GelfandTsetlinPatterns']) - -# Finite State Machines (Automaton, Transducer) -lazy_import('sage.combinat.finite_state_machine', - ['Automaton', 'Transducer', 'FiniteStateMachine']) -lazy_import('sage.combinat.finite_state_machine_generators', - ['automata', 'transducers']) - -# Sequences -lazy_import('sage.combinat.binary_recurrence_sequences', - 'BinaryRecurrenceSequence') -lazy_import('sage.combinat.recognizable_series', 'RecognizableSeriesSpace') -lazy_import('sage.combinat.regular_sequence', 'RegularSequenceRing') - -# Six Vertex Model -lazy_import('sage.combinat.six_vertex_model', 'SixVertexModel') - -# sine-Gordon Y-systems -lazy_import('sage.combinat.sine_gordon', 'SineGordonYsystem') - -# Fully Packed Loop -lazy_import('sage.combinat.fully_packed_loop', ['FullyPackedLoop', 'FullyPackedLoops']) - -# Subword complex and cluster complex -lazy_import('sage.combinat.subword_complex', 'SubwordComplex') -lazy_import("sage.combinat.cluster_complex", "ClusterComplex") - -# Constellations -lazy_import('sage.combinat.constellation', ['Constellation', 'Constellations']) - -# Growth diagrams -lazy_import('sage.combinat.growth', 'GrowthDiagram') - -# Path Tableaux -lazy_import('sage.combinat.path_tableaux', 'catalog', as_='path_tableaux') - -# Bijectionist -lazy_import('sage.combinat.bijectionist', 'Bijectionist') +from sage.combinat.all__sagemath_combinat import * +from sage.combinat.all__sagemath_modules import * +from sage.combinat.all__sagemath_graphs import * +del lazy_import +del install_dict +del install_doc diff --git a/src/sage/combinat/all__sagemath_categories.py b/src/sage/combinat/all__sagemath_categories.py new file mode 100644 index 00000000000..854cf866f40 --- /dev/null +++ b/src/sage/combinat/all__sagemath_categories.py @@ -0,0 +1,33 @@ +from sage.combinat.matrices.all__sagemath_categories import * + +from sage.misc.lazy_import import lazy_import + +# Integer lists +from sage.combinat.integer_lists import IntegerListsLex +from sage.combinat.integer_vector import IntegerVectors + +from sage.combinat.combinat import (CombinatorialClass, CombinatorialObject, + MapCombinatorialClass, + bell_number, bell_polynomial, bernoulli_polynomial, + catalan_number, euler_number, + fibonacci, fibonacci_sequence, fibonacci_xrange, + lucas_number1, lucas_number2, + number_of_tuples, number_of_unordered_tuples, + polygonal_number, stirling_number1, stirling_number2, + tuples, unordered_tuples) + +lazy_import('sage.combinat.combinat', + ('InfiniteAbstractCombinatorialClass', 'UnionCombinatorialClass', + 'FilteredCombinatorialClass'), + deprecation=(31545, 'this class is deprecated, do not use')) + +from sage.combinat.combination import Combinations +from sage.combinat.composition import Composition, Compositions +from sage.combinat.permutation import Permutation, Permutations, Arrangements, CyclicPermutations, CyclicPermutationsOfPartition +from sage.combinat.subset import Subsets, subsets, powerset, uniq +from sage.combinat.tuple import Tuples, UnorderedTuples + + +from sage.combinat.dlx import DLXMatrix, AllExactCovers, OneExactCover + +del lazy_import diff --git a/src/sage/combinat/all__sagemath_combinat.py b/src/sage/combinat/all__sagemath_combinat.py new file mode 100644 index 00000000000..7968f3fde4a --- /dev/null +++ b/src/sage/combinat/all__sagemath_combinat.py @@ -0,0 +1,201 @@ +from sage.combinat.all__sagemath_categories import * + +from sage.misc.lazy_import import lazy_import + +from sage.combinat.expnums import expnums + +from sage.combinat.chas.all import * +from sage.combinat.crystals.all import * +from sage.combinat.rigged_configurations.all import * + +# Free modules and friends +from sage.combinat.debruijn_sequence import DeBruijnSequences + +lazy_import('sage.combinat.schubert_polynomial', 'SchubertPolynomialRing') +lazy_import('sage.combinat.key_polynomial', 'KeyPolynomialBasis', as_='KeyPolynomials') +lazy_import('sage.combinat.symmetric_group_algebra', [ + 'SymmetricGroupAlgebra', 'HeckeAlgebraSymmetricGroupT']) +lazy_import('sage.combinat.symmetric_group_representations', [ + 'SymmetricGroupRepresentation', 'SymmetricGroupRepresentations']) + +# Permutations +lazy_import('sage.combinat.affine_permutation', 'AffinePermutationGroup') +lazy_import('sage.combinat.colored_permutations', ['ColoredPermutations', + 'SignedPermutation', + 'SignedPermutations']) +from sage.combinat.derangements import Derangements +lazy_import('sage.combinat.baxter_permutations', ['BaxterPermutations']) + +# RSK +from sage.combinat.rsk import RSK, RSK_inverse, robinson_schensted_knuth, robinson_schensted_knuth_inverse, InsertionRules + +# HillmanGrassl +lazy_import("sage.combinat.hillman_grassl", [ + "WeakReversePlanePartition", "WeakReversePlanePartitions"]) + +# PerfectMatchings +from sage.combinat.perfect_matching import PerfectMatching, PerfectMatchings + +# Compositions +from sage.combinat.composition_signed import SignedCompositions + +# Partitions +from sage.combinat.partition import (Partition, Partitions, PartitionsInBox, + OrderedPartitions, PartitionsGreatestLE, + PartitionsGreatestEQ, number_of_partitions) + +lazy_import('sage.combinat.partition_tuple', ['PartitionTuple', 'PartitionTuples']) +lazy_import('sage.combinat.partition_kleshchev', ['KleshchevPartitions']) +lazy_import('sage.combinat.skew_partition', ['SkewPartition', 'SkewPartitions']) + +# Partition algebra +from sage.combinat.partition_algebra import (SetPartitionsAk, SetPartitionsPk, + SetPartitionsTk, SetPartitionsIk, + SetPartitionsBk, SetPartitionsSk, + SetPartitionsRk, SetPartitionsPRk) + +# Raising operators +lazy_import('sage.combinat.partition_shifting_algebras', 'ShiftingOperatorAlgebra') + +# Diagram algebra +lazy_import('sage.combinat.diagram_algebras', ['PartitionAlgebra', 'BrauerAlgebra', 'TemperleyLiebAlgebra', + 'PlanarAlgebra', 'PropagatingIdeal']) + +# Descent algebra +lazy_import('sage.combinat.descent_algebra', 'DescentAlgebra') + +# Vector Partitions +lazy_import('sage.combinat.vector_partition', + ['VectorPartition', 'VectorPartitions']) + +# Similarity class types +lazy_import('sage.combinat.similarity_class_type', ['PrimarySimilarityClassType', 'PrimarySimilarityClassTypes', + 'SimilarityClassType', 'SimilarityClassTypes']) + +# Cores +from sage.combinat.core import Core, Cores + +# Tableaux +lazy_import('sage.combinat.tableau', + ["Tableau", "SemistandardTableau", "StandardTableau", "RowStandardTableau", "IncreasingTableau", + "Tableaux", "SemistandardTableaux", "StandardTableaux", "RowStandardTableaux", "IncreasingTableaux"]) +from sage.combinat.skew_tableau import SkewTableau, SkewTableaux, StandardSkewTableaux, SemistandardSkewTableaux +from sage.combinat.ribbon_shaped_tableau import RibbonShapedTableau, RibbonShapedTableaux, StandardRibbonShapedTableaux +from sage.combinat.ribbon_tableau import RibbonTableaux, RibbonTableau, MultiSkewTableaux, MultiSkewTableau, SemistandardMultiSkewTableaux +from sage.combinat.composition_tableau import CompositionTableau, CompositionTableaux + +lazy_import('sage.combinat.tableau_tuple', + ['TableauTuple', 'StandardTableauTuple', 'RowStandardTableauTuple', + 'TableauTuples', 'StandardTableauTuples', 'RowStandardTableauTuples']) +from sage.combinat.k_tableau import WeakTableau, WeakTableaux, StrongTableau, StrongTableaux +lazy_import('sage.combinat.lr_tableau', ['LittlewoodRichardsonTableau', + 'LittlewoodRichardsonTableaux']) +lazy_import('sage.combinat.shifted_primed_tableau', ['ShiftedPrimedTableaux', + 'ShiftedPrimedTableau']) + +# SuperTableaux +lazy_import('sage.combinat.super_tableau', + ["StandardSuperTableau", "SemistandardSuperTableau", "StandardSuperTableaux", "SemistandardSuperTableaux"]) + +# Words +from sage.combinat.words.all import * + +lazy_import('sage.combinat.subword', 'Subwords') + +# Alternating sign matrices +lazy_import('sage.combinat.alternating_sign_matrix', ('AlternatingSignMatrix', + 'AlternatingSignMatrices', + 'MonotoneTriangles', + 'ContreTableaux', + 'TruncatedStaircases')) + +# Decorated Permutations +lazy_import('sage.combinat.decorated_permutation', ('DecoratedPermutation', + 'DecoratedPermutations')) + +# Plane Partitions +lazy_import('sage.combinat.plane_partition', ('PlanePartition', + 'PlanePartitions')) + +# Parking Functions +lazy_import('sage.combinat.non_decreasing_parking_function', + ['NonDecreasingParkingFunctions', 'NonDecreasingParkingFunction']) +lazy_import('sage.combinat.parking_functions', + ['ParkingFunctions', 'ParkingFunction']) + +from sage.combinat.set_partition import SetPartition, SetPartitions +from sage.combinat.set_partition_ordered import OrderedSetPartition, OrderedSetPartitions +lazy_import('sage.combinat.multiset_partition_into_sets_ordered', + ['OrderedMultisetPartitionIntoSets', + 'OrderedMultisetPartitionsIntoSets']) +from sage.combinat.necklace import Necklaces +lazy_import('sage.combinat.dyck_word', ('DyckWords', 'DyckWord')) +lazy_import('sage.combinat.nu_dyck_word', ('NuDyckWords', 'NuDyckWord')) +from sage.combinat.sloane_functions import sloane +lazy_import('sage.combinat.superpartition', ('SuperPartition', + 'SuperPartitions')) + +lazy_import('sage.combinat.parallelogram_polyomino', + ['ParallelogramPolyomino', 'ParallelogramPolyominoes']) + +from sage.combinat.sf.all import * +from sage.combinat.ncsf_qsym.all import * +from sage.combinat.ncsym.all import * +lazy_import('sage.combinat.fqsym', 'FreeQuasisymmetricFunctions') +from sage.combinat.matrices.all import * + +lazy_import('sage.combinat.integer_vector_weighted', 'WeightedIntegerVectors') +lazy_import('sage.combinat.integer_vectors_mod_permgroup', + 'IntegerVectorsModPermutationGroup') + +lazy_import('sage.combinat.q_analogues', ['gaussian_binomial', 'q_binomial', 'number_of_irreducible_polynomials']) + +from sage.combinat.species.all import * + +lazy_import('sage.combinat.kazhdan_lusztig', 'KazhdanLusztigPolynomial') + +lazy_import('sage.combinat.degree_sequences', 'DegreeSequences') + +lazy_import('sage.combinat.cyclic_sieving_phenomenon', + ['CyclicSievingPolynomial', 'CyclicSievingCheck']) + +lazy_import('sage.combinat.sidon_sets', 'sidon_sets') + +# Puzzles +lazy_import('sage.combinat.knutson_tao_puzzles', 'KnutsonTaoPuzzleSolver') + +# Gelfand-Tsetlin patterns +lazy_import('sage.combinat.gelfand_tsetlin_patterns', + ['GelfandTsetlinPattern', 'GelfandTsetlinPatterns']) + +# Sequences +lazy_import('sage.combinat.binary_recurrence_sequences', + 'BinaryRecurrenceSequence') +lazy_import('sage.combinat.recognizable_series', 'RecognizableSeriesSpace') +lazy_import('sage.combinat.regular_sequence', 'RegularSequenceRing') + +# Six Vertex Model +lazy_import('sage.combinat.six_vertex_model', 'SixVertexModel') + +# sine-Gordon Y-systems +lazy_import('sage.combinat.sine_gordon', 'SineGordonYsystem') + +# Fully Packed Loop +lazy_import('sage.combinat.fully_packed_loop', ['FullyPackedLoop', 'FullyPackedLoops']) + +# Subword complex and cluster complex +lazy_import('sage.combinat.subword_complex', 'SubwordComplex') +lazy_import("sage.combinat.cluster_complex", "ClusterComplex") + +# Constellations +lazy_import('sage.combinat.constellation', ['Constellation', 'Constellations']) + +# Growth diagrams +lazy_import('sage.combinat.growth', 'GrowthDiagram') + +# Path Tableaux +lazy_import('sage.combinat.path_tableaux', 'catalog', as_='path_tableaux') + +# Bijectionist +lazy_import('sage.combinat.bijectionist', 'Bijectionist') +del lazy_import diff --git a/src/sage/combinat/all__sagemath_flint.py b/src/sage/combinat/all__sagemath_flint.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/combinat/all__sagemath_gap.py b/src/sage/combinat/all__sagemath_gap.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/combinat/all__sagemath_graphs.py b/src/sage/combinat/all__sagemath_graphs.py new file mode 100644 index 00000000000..d789b89078b --- /dev/null +++ b/src/sage/combinat/all__sagemath_graphs.py @@ -0,0 +1,33 @@ +from sage.combinat.all__sagemath_categories import * + +from sage.misc.lazy_import import lazy_import + +# Posets +from sage.combinat.posets.all import * + +# Trees and Tamari interval posets +from sage.combinat.ordered_tree import (OrderedTree, OrderedTrees, + LabelledOrderedTree, LabelledOrderedTrees) +from sage.combinat.binary_tree import (BinaryTree, BinaryTrees, + LabelledBinaryTree, LabelledBinaryTrees) +lazy_import('sage.combinat.rooted_tree', ('RootedTree', 'RootedTrees', + 'LabelledRootedTree', 'LabelledRootedTrees')) +lazy_import('sage.combinat.interval_posets', [ + 'TamariIntervalPoset', 'TamariIntervalPosets']) + +from sage.combinat.graph_path import GraphPaths + +from sage.combinat.yang_baxter_graph import YangBaxterGraph + +# block designs, etc +from sage.combinat.designs.all import * + +# Cluster Algebras and Quivers +from sage.combinat.cluster_algebra_quiver.all import * + +# Finite State Machines (Automaton, Transducer) +lazy_import('sage.combinat.finite_state_machine', + ['Automaton', 'Transducer', 'FiniteStateMachine']) +lazy_import('sage.combinat.finite_state_machine_generators', + ['automata', 'transducers']) +del lazy_import diff --git a/src/sage/combinat/all__sagemath_modules.py b/src/sage/combinat/all__sagemath_modules.py new file mode 100644 index 00000000000..a2459fcafc0 --- /dev/null +++ b/src/sage/combinat/all__sagemath_modules.py @@ -0,0 +1,6 @@ +from sage.combinat.all__sagemath_categories import * + +from sage.combinat.free_module import CombinatorialFreeModule +from sage.combinat import ranker + +from sage.combinat.root_system.all import * diff --git a/src/sage/combinat/alternating_sign_matrix.py b/src/sage/combinat/alternating_sign_matrix.py index d327d84ae1d..64b119553cf 100644 --- a/src/sage/combinat/alternating_sign_matrix.py +++ b/src/sage/combinat/alternating_sign_matrix.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Alternating Sign Matrices diff --git a/src/sage/combinat/backtrack.py b/src/sage/combinat/backtrack.py index ab9c35bc23c..6e473a7f8fa 100644 --- a/src/sage/combinat/backtrack.py +++ b/src/sage/combinat/backtrack.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Backtracking diff --git a/src/sage/combinat/baxter_permutations.py b/src/sage/combinat/baxter_permutations.py index 648ce9c6a26..0b8bd1c3a10 100644 --- a/src/sage/combinat/baxter_permutations.py +++ b/src/sage/combinat/baxter_permutations.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat """ Baxter permutations """ diff --git a/src/sage/combinat/bijectionist.py b/src/sage/combinat/bijectionist.py index 6f34e76b883..7cfe72e3246 100644 --- a/src/sage/combinat/bijectionist.py +++ b/src/sage/combinat/bijectionist.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.numerical.mip r""" A bijectionist's toolkit diff --git a/src/sage/combinat/binary_recurrence_sequences.py b/src/sage/combinat/binary_recurrence_sequences.py index 9c1b9bdf931..b993cda3b1b 100644 --- a/src/sage/combinat/binary_recurrence_sequences.py +++ b/src/sage/combinat/binary_recurrence_sequences.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules """ Binary Recurrence Sequences diff --git a/src/sage/combinat/binary_tree.py b/src/sage/combinat/binary_tree.py index 26e459e13e3..c736e7a36d6 100644 --- a/src/sage/combinat/binary_tree.py +++ b/src/sage/combinat/binary_tree.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs """ Binary Trees diff --git a/src/sage/combinat/blob_algebra.py b/src/sage/combinat/blob_algebra.py index 595063a69fd..10a5d171569 100644 --- a/src/sage/combinat/blob_algebra.py +++ b/src/sage/combinat/blob_algebra.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Blob Algebras diff --git a/src/sage/combinat/cartesian_product.py b/src/sage/combinat/cartesian_product.py index c5a16d3f8ee..83e329c1ed2 100644 --- a/src/sage/combinat/cartesian_product.py +++ b/src/sage/combinat/cartesian_product.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Cartesian Products """ diff --git a/src/sage/combinat/catalog_partitions.py b/src/sage/combinat/catalog_partitions.py index 302e8f112d6..14cdccd8592 100644 --- a/src/sage/combinat/catalog_partitions.py +++ b/src/sage/combinat/catalog_partitions.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Enumerated sets of partitions, tableaux, ... diff --git a/src/sage/combinat/chas/all.py b/src/sage/combinat/chas/all.py index 5833abbe49c..14146102882 100644 --- a/src/sage/combinat/chas/all.py +++ b/src/sage/combinat/chas/all.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat """ Combinatorial Hopf algebras @@ -18,3 +19,5 @@ lazy_import('sage.combinat.chas.fsym', ['FreeSymmetricFunctions']) lazy_import('sage.combinat.chas.wqsym', ['WordQuasiSymmetricFunctions']) +del lazy_import +del install_doc diff --git a/src/sage/combinat/chas/fsym.py b/src/sage/combinat/chas/fsym.py index 10210028932..d671bb7f68c 100644 --- a/src/sage/combinat/chas/fsym.py +++ b/src/sage/combinat/chas/fsym.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Poirier-Reutenauer Hopf algebra of standard tableaux diff --git a/src/sage/combinat/chas/wqsym.py b/src/sage/combinat/chas/wqsym.py index 567e1f1b9f5..1e4df78da9e 100644 --- a/src/sage/combinat/chas/wqsym.py +++ b/src/sage/combinat/chas/wqsym.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Word Quasi-symmetric functions diff --git a/src/sage/combinat/cluster_algebra_quiver/all.py b/src/sage/combinat/cluster_algebra_quiver/all.py index 5b28d09d1c6..4a7344218aa 100644 --- a/src/sage/combinat/cluster_algebra_quiver/all.py +++ b/src/sage/combinat/cluster_algebra_quiver/all.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs r""" Cluster algebras and quivers @@ -12,7 +13,8 @@ install_doc(__package__, __doc__) from sage.misc.lazy_import import lazy_import -lazy_import("sage.combinat.cluster_algebra_quiver.quiver_mutation_type", "QuiverMutationType") +lazy_import("sage.combinat.cluster_algebra_quiver.quiver_mutation_type", + "QuiverMutationType") lazy_import("sage.combinat.cluster_algebra_quiver.quiver", "ClusterQuiver") lazy_import("sage.combinat.cluster_algebra_quiver.cluster_seed", "ClusterSeed") diff --git a/src/sage/combinat/cluster_algebra_quiver/cluster_seed.py b/src/sage/combinat/cluster_algebra_quiver/cluster_seed.py index 8656b47152c..6531fcabeef 100644 --- a/src/sage/combinat/cluster_algebra_quiver/cluster_seed.py +++ b/src/sage/combinat/cluster_algebra_quiver/cluster_seed.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # sage.doctest: needs sage.graphs sage.modules r""" ClusterSeed diff --git a/src/sage/combinat/cluster_algebra_quiver/interact.py b/src/sage/combinat/cluster_algebra_quiver/interact.py index 695e3d1d449..c054ab64a89 100644 --- a/src/sage/combinat/cluster_algebra_quiver/interact.py +++ b/src/sage/combinat/cluster_algebra_quiver/interact.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs import ipywidgets as widgets from sage.misc.latex import latex from sage.repl.rich_output.pretty_print import pretty_print diff --git a/src/sage/combinat/cluster_algebra_quiver/mutation_class.py b/src/sage/combinat/cluster_algebra_quiver/mutation_class.py index 1278cd159ab..5792be84044 100644 --- a/src/sage/combinat/cluster_algebra_quiver/mutation_class.py +++ b/src/sage/combinat/cluster_algebra_quiver/mutation_class.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # sage.doctest: needs sage.graphs r""" mutation_class diff --git a/src/sage/combinat/cluster_algebra_quiver/mutation_type.py b/src/sage/combinat/cluster_algebra_quiver/mutation_type.py index 6c5edc6aa3f..6bba2f1a452 100644 --- a/src/sage/combinat/cluster_algebra_quiver/mutation_type.py +++ b/src/sage/combinat/cluster_algebra_quiver/mutation_type.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # sage.doctest: needs sage.graphs r""" Helper functions for mutation types of quivers diff --git a/src/sage/combinat/cluster_algebra_quiver/quiver.py b/src/sage/combinat/cluster_algebra_quiver/quiver.py index 3fc3499ef67..d77059af6b6 100644 --- a/src/sage/combinat/cluster_algebra_quiver/quiver.py +++ b/src/sage/combinat/cluster_algebra_quiver/quiver.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # sage.doctest: needs sage.graphs sage.modules r""" Quiver diff --git a/src/sage/combinat/cluster_algebra_quiver/quiver_mutation_type.py b/src/sage/combinat/cluster_algebra_quiver/quiver_mutation_type.py index d4b99fc9c23..f39ea4216c7 100644 --- a/src/sage/combinat/cluster_algebra_quiver/quiver_mutation_type.py +++ b/src/sage/combinat/cluster_algebra_quiver/quiver_mutation_type.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # sage.doctest: needs sage.graphs r""" Quiver mutation types diff --git a/src/sage/combinat/cluster_complex.py b/src/sage/combinat/cluster_complex.py index a1f7489f1ad..f63c7a6b9f3 100644 --- a/src/sage/combinat/cluster_complex.py +++ b/src/sage/combinat/cluster_complex.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.graphs r""" Cluster complex (or generalized dual associahedron) diff --git a/src/sage/combinat/colored_permutations.py b/src/sage/combinat/colored_permutations.py index 44950aada12..1617a7f5db4 100644 --- a/src/sage/combinat/colored_permutations.py +++ b/src/sage/combinat/colored_permutations.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Colored Permutations diff --git a/src/sage/combinat/combinat.py b/src/sage/combinat/combinat.py index bd5e7102d66..e9efdc3ea6e 100644 --- a/src/sage/combinat/combinat.py +++ b/src/sage/combinat/combinat.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Combinatorial Functions diff --git a/src/sage/combinat/combinat_cython.pxd b/src/sage/combinat/combinat_cython.pxd index 40cae00a781..01be51d4a3d 100644 --- a/src/sage/combinat/combinat_cython.pxd +++ b/src/sage/combinat/combinat_cython.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories from sage.libs.gmp.all cimport mpz_t cdef mpz_stirling_s2(mpz_t s, unsigned long n, unsigned long k) diff --git a/src/sage/combinat/combinat_cython.pyx b/src/sage/combinat/combinat_cython.pyx index 421994394c2..223cf6ce01a 100644 --- a/src/sage/combinat/combinat_cython.pyx +++ b/src/sage/combinat/combinat_cython.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # cython: binding=True """ Fast computation of combinatorial functions (Cython + mpz) diff --git a/src/sage/combinat/combination.py b/src/sage/combinat/combination.py index 916ca836c6b..51407c49aac 100644 --- a/src/sage/combinat/combination.py +++ b/src/sage/combinat/combination.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Combinations diff --git a/src/sage/combinat/combinatorial_map.py b/src/sage/combinat/combinatorial_map.py index 84876e52f56..aff4782781b 100644 --- a/src/sage/combinat/combinatorial_map.py +++ b/src/sage/combinat/combinatorial_map.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Combinatorial maps diff --git a/src/sage/combinat/composition.py b/src/sage/combinat/composition.py index e528aea368b..862d81f58bd 100644 --- a/src/sage/combinat/composition.py +++ b/src/sage/combinat/composition.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Integer compositions diff --git a/src/sage/combinat/composition_signed.py b/src/sage/combinat/composition_signed.py index 03e9acfe31e..09a790bf88c 100644 --- a/src/sage/combinat/composition_signed.py +++ b/src/sage/combinat/composition_signed.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Signed Compositions """ diff --git a/src/sage/combinat/composition_tableau.py b/src/sage/combinat/composition_tableau.py index 8ee363fb275..cff29fdb772 100644 --- a/src/sage/combinat/composition_tableau.py +++ b/src/sage/combinat/composition_tableau.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Composition Tableaux diff --git a/src/sage/combinat/constellation.py b/src/sage/combinat/constellation.py index 0ad3151925e..73499121b19 100644 --- a/src/sage/combinat/constellation.py +++ b/src/sage/combinat/constellation.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.groups r""" Constellations diff --git a/src/sage/combinat/core.py b/src/sage/combinat/core.py index 41265d793db..7fbe02f7e16 100644 --- a/src/sage/combinat/core.py +++ b/src/sage/combinat/core.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat """ Cores diff --git a/src/sage/combinat/counting.py b/src/sage/combinat/counting.py index a067d781dec..a77803c1e46 100644 --- a/src/sage/combinat/counting.py +++ b/src/sage/combinat/counting.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Counting diff --git a/src/sage/combinat/crystals/affine.py b/src/sage/combinat/crystals/affine.py index 186d2ea373e..81ee3e29fd5 100644 --- a/src/sage/combinat/crystals/affine.py +++ b/src/sage/combinat/crystals/affine.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Affine Crystals diff --git a/src/sage/combinat/crystals/affine_factorization.py b/src/sage/combinat/crystals/affine_factorization.py index b1d820032af..ee8d8343799 100644 --- a/src/sage/combinat/crystals/affine_factorization.py +++ b/src/sage/combinat/crystals/affine_factorization.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Affine factorization crystal of type `A` diff --git a/src/sage/combinat/crystals/affinization.py b/src/sage/combinat/crystals/affinization.py index d849e407c3f..4b7a81c5f4b 100644 --- a/src/sage/combinat/crystals/affinization.py +++ b/src/sage/combinat/crystals/affinization.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Affinization Crystals diff --git a/src/sage/combinat/crystals/alcove_path.py b/src/sage/combinat/crystals/alcove_path.py index 2bec96841a2..ef39ccb164f 100644 --- a/src/sage/combinat/crystals/alcove_path.py +++ b/src/sage/combinat/crystals/alcove_path.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Alcove paths diff --git a/src/sage/combinat/crystals/all.py b/src/sage/combinat/crystals/all.py index 397639405c9..5fc1f5f4d71 100644 --- a/src/sage/combinat/crystals/all.py +++ b/src/sage/combinat/crystals/all.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Crystals @@ -28,3 +29,5 @@ from sage.misc.lazy_import import lazy_import lazy_import('sage.combinat.crystals', 'catalog', 'crystals') +del lazy_import +del install_doc diff --git a/src/sage/combinat/crystals/bkk_crystals.py b/src/sage/combinat/crystals/bkk_crystals.py index b3658fd28a4..2163195aacb 100644 --- a/src/sage/combinat/crystals/bkk_crystals.py +++ b/src/sage/combinat/crystals/bkk_crystals.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules """ Benkart-Kang-Kashiwara crystals for the general-linear Lie superalgebra diff --git a/src/sage/combinat/crystals/catalog.py b/src/sage/combinat/crystals/catalog.py index 0c884314255..79744ccd7bc 100644 --- a/src/sage/combinat/crystals/catalog.py +++ b/src/sage/combinat/crystals/catalog.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Catalog Of Crystals diff --git a/src/sage/combinat/crystals/catalog_elementary_crystals.py b/src/sage/combinat/crystals/catalog_elementary_crystals.py index 51db8aa065a..02c97006d5a 100644 --- a/src/sage/combinat/crystals/catalog_elementary_crystals.py +++ b/src/sage/combinat/crystals/catalog_elementary_crystals.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat """ Catalog Of Elementary Crystals diff --git a/src/sage/combinat/crystals/catalog_infinity_crystals.py b/src/sage/combinat/crystals/catalog_infinity_crystals.py index 7f09b0f04f8..cbec9d97205 100644 --- a/src/sage/combinat/crystals/catalog_infinity_crystals.py +++ b/src/sage/combinat/crystals/catalog_infinity_crystals.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Catalog Of Crystal Models For `B(\infty)` diff --git a/src/sage/combinat/crystals/catalog_kirillov_reshetikhin.py b/src/sage/combinat/crystals/catalog_kirillov_reshetikhin.py index 62b196e4ed6..cfd82ccd9b4 100644 --- a/src/sage/combinat/crystals/catalog_kirillov_reshetikhin.py +++ b/src/sage/combinat/crystals/catalog_kirillov_reshetikhin.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat """ Catalog Of Crystal Models For Kirillov-Reshetikhin Crystals diff --git a/src/sage/combinat/crystals/crystals.py b/src/sage/combinat/crystals/crystals.py index fb8f150e479..12efae47147 100644 --- a/src/sage/combinat/crystals/crystals.py +++ b/src/sage/combinat/crystals/crystals.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" An introduction to crystals diff --git a/src/sage/combinat/crystals/direct_sum.py b/src/sage/combinat/crystals/direct_sum.py index 190a3279513..92474bfe3c1 100644 --- a/src/sage/combinat/crystals/direct_sum.py +++ b/src/sage/combinat/crystals/direct_sum.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules """ Direct Sum of Crystals diff --git a/src/sage/combinat/crystals/elementary_crystals.py b/src/sage/combinat/crystals/elementary_crystals.py index c89dd7504fd..27b18fcd2a1 100644 --- a/src/sage/combinat/crystals/elementary_crystals.py +++ b/src/sage/combinat/crystals/elementary_crystals.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Elementary Crystals diff --git a/src/sage/combinat/crystals/fast_crystals.py b/src/sage/combinat/crystals/fast_crystals.py index aebc499e9fb..d8c205bf228 100644 --- a/src/sage/combinat/crystals/fast_crystals.py +++ b/src/sage/combinat/crystals/fast_crystals.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Fast Rank Two Crystals diff --git a/src/sage/combinat/crystals/fully_commutative_stable_grothendieck.py b/src/sage/combinat/crystals/fully_commutative_stable_grothendieck.py index e63e1a4a3ce..92c19eb2c52 100644 --- a/src/sage/combinat/crystals/fully_commutative_stable_grothendieck.py +++ b/src/sage/combinat/crystals/fully_commutative_stable_grothendieck.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Fully commutative stable Grothendieck crystal diff --git a/src/sage/combinat/crystals/generalized_young_walls.py b/src/sage/combinat/crystals/generalized_young_walls.py index 12ab091f6cd..6986d2a5cc8 100644 --- a/src/sage/combinat/crystals/generalized_young_walls.py +++ b/src/sage/combinat/crystals/generalized_young_walls.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Crystals of Generalized Young Walls diff --git a/src/sage/combinat/crystals/highest_weight_crystals.py b/src/sage/combinat/crystals/highest_weight_crystals.py index 96d7377c029..1272c24f027 100644 --- a/src/sage/combinat/crystals/highest_weight_crystals.py +++ b/src/sage/combinat/crystals/highest_weight_crystals.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Highest weight crystals diff --git a/src/sage/combinat/crystals/induced_structure.py b/src/sage/combinat/crystals/induced_structure.py index 95ed85bf5f8..1d308b0b9b2 100644 --- a/src/sage/combinat/crystals/induced_structure.py +++ b/src/sage/combinat/crystals/induced_structure.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Induced Crystals diff --git a/src/sage/combinat/crystals/infinity_crystals.py b/src/sage/combinat/crystals/infinity_crystals.py index 6219da38391..bc2d3d892ff 100644 --- a/src/sage/combinat/crystals/infinity_crystals.py +++ b/src/sage/combinat/crystals/infinity_crystals.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" `\mathcal{B}(\infty)` Crystals of Tableaux in Nonexceptional Types and `G_2` diff --git a/src/sage/combinat/crystals/kac_modules.py b/src/sage/combinat/crystals/kac_modules.py index 23ed28b90c2..ddcd8492af1 100644 --- a/src/sage/combinat/crystals/kac_modules.py +++ b/src/sage/combinat/crystals/kac_modules.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules """ Crystals of Kac modules of the general-linear Lie superalgebra diff --git a/src/sage/combinat/crystals/kirillov_reshetikhin.py b/src/sage/combinat/crystals/kirillov_reshetikhin.py index 1e58c8ead35..dac5a48f7a9 100644 --- a/src/sage/combinat/crystals/kirillov_reshetikhin.py +++ b/src/sage/combinat/crystals/kirillov_reshetikhin.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Kirillov-Reshetikhin Crystals diff --git a/src/sage/combinat/crystals/kyoto_path_model.py b/src/sage/combinat/crystals/kyoto_path_model.py index e7ae0b47275..06589da80f3 100644 --- a/src/sage/combinat/crystals/kyoto_path_model.py +++ b/src/sage/combinat/crystals/kyoto_path_model.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Kyoto Path Model for Affine Highest Weight Crystals diff --git a/src/sage/combinat/crystals/letters.pxd b/src/sage/combinat/crystals/letters.pxd index 4f8e25da411..da06502c59c 100644 --- a/src/sage/combinat/crystals/letters.pxd +++ b/src/sage/combinat/crystals/letters.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat from sage.structure.element cimport Element cdef class Letter(Element): diff --git a/src/sage/combinat/crystals/letters.pyx b/src/sage/combinat/crystals/letters.pyx index f54a4705047..ffdf8d0d519 100644 --- a/src/sage/combinat/crystals/letters.pyx +++ b/src/sage/combinat/crystals/letters.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Crystals of letters diff --git a/src/sage/combinat/crystals/littelmann_path.py b/src/sage/combinat/crystals/littelmann_path.py index c2d8397f737..c26f801f0bb 100644 --- a/src/sage/combinat/crystals/littelmann_path.py +++ b/src/sage/combinat/crystals/littelmann_path.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Littelmann paths diff --git a/src/sage/combinat/crystals/monomial_crystals.py b/src/sage/combinat/crystals/monomial_crystals.py index 7ba4b52bb51..8ebf0124876 100644 --- a/src/sage/combinat/crystals/monomial_crystals.py +++ b/src/sage/combinat/crystals/monomial_crystals.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Crystals of Modified Nakajima Monomials diff --git a/src/sage/combinat/crystals/multisegments.py b/src/sage/combinat/crystals/multisegments.py index 92de6809f4f..bb0a0bc3ccf 100644 --- a/src/sage/combinat/crystals/multisegments.py +++ b/src/sage/combinat/crystals/multisegments.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Crystal of Bernstein-Zelevinsky Multisegments diff --git a/src/sage/combinat/crystals/mv_polytopes.py b/src/sage/combinat/crystals/mv_polytopes.py index 341ad417443..6d78a4e3ce3 100644 --- a/src/sage/combinat/crystals/mv_polytopes.py +++ b/src/sage/combinat/crystals/mv_polytopes.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Crystal Of Mirković-Vilonen (MV) Polytopes diff --git a/src/sage/combinat/crystals/pbw_crystal.py b/src/sage/combinat/crystals/pbw_crystal.py index 9859438ae58..6db2bf4d99a 100644 --- a/src/sage/combinat/crystals/pbw_crystal.py +++ b/src/sage/combinat/crystals/pbw_crystal.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" `\mathcal{B}(\infty)` Crystal Of PBW Monomials diff --git a/src/sage/combinat/crystals/pbw_datum.pxd b/src/sage/combinat/crystals/pbw_datum.pxd index 9c3aab083df..643d297b9df 100644 --- a/src/sage/combinat/crystals/pbw_datum.pxd +++ b/src/sage/combinat/crystals/pbw_datum.pxd @@ -1,3 +1,5 @@ +# sage_setup: distribution = sagemath-combinat + cpdef tuple compute_new_lusztig_datum(list enhanced_braid_chain, initial_lusztig_datum) cpdef tuple tropical_plucker_relation(tuple a, lusztig_datum) cpdef list enhance_braid_move_chain(braid_move_chain, cartan_type) diff --git a/src/sage/combinat/crystals/pbw_datum.pyx b/src/sage/combinat/crystals/pbw_datum.pyx index 2adcb09d902..429c58640ca 100644 --- a/src/sage/combinat/crystals/pbw_datum.pyx +++ b/src/sage/combinat/crystals/pbw_datum.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" PBW Data diff --git a/src/sage/combinat/crystals/polyhedral_realization.py b/src/sage/combinat/crystals/polyhedral_realization.py index c4193b44655..a9007307d32 100644 --- a/src/sage/combinat/crystals/polyhedral_realization.py +++ b/src/sage/combinat/crystals/polyhedral_realization.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Polyhedral Realization of `B(\infty)` diff --git a/src/sage/combinat/crystals/spins.pxd b/src/sage/combinat/crystals/spins.pxd index 3ef5e0b7c5f..715c44ba815 100644 --- a/src/sage/combinat/crystals/spins.pxd +++ b/src/sage/combinat/crystals/spins.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat from sage.structure.element cimport Element cdef class Spin(Element): diff --git a/src/sage/combinat/crystals/spins.pyx b/src/sage/combinat/crystals/spins.pyx index 62299a434f5..d3d66730179 100644 --- a/src/sage/combinat/crystals/spins.pyx +++ b/src/sage/combinat/crystals/spins.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Spin Crystals diff --git a/src/sage/combinat/crystals/star_crystal.py b/src/sage/combinat/crystals/star_crystal.py index 02427149ed4..45bffe85726 100644 --- a/src/sage/combinat/crystals/star_crystal.py +++ b/src/sage/combinat/crystals/star_crystal.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Star-Crystal Structure On `B(\infty)` diff --git a/src/sage/combinat/crystals/subcrystal.py b/src/sage/combinat/crystals/subcrystal.py index b9caabafd72..7e227aa96a6 100644 --- a/src/sage/combinat/crystals/subcrystal.py +++ b/src/sage/combinat/crystals/subcrystal.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Subcrystals diff --git a/src/sage/combinat/crystals/tensor_product.py b/src/sage/combinat/crystals/tensor_product.py index 726c974e781..09382e5834a 100644 --- a/src/sage/combinat/crystals/tensor_product.py +++ b/src/sage/combinat/crystals/tensor_product.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules """ Tensor Products of Crystals diff --git a/src/sage/combinat/crystals/tensor_product_element.pxd b/src/sage/combinat/crystals/tensor_product_element.pxd index 792d6d3351e..e05c1cf4d59 100644 --- a/src/sage/combinat/crystals/tensor_product_element.pxd +++ b/src/sage/combinat/crystals/tensor_product_element.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat from sage.structure.list_clone cimport ClonableArray cdef class ImmutableListWithParent(ClonableArray): diff --git a/src/sage/combinat/crystals/tensor_product_element.pyx b/src/sage/combinat/crystals/tensor_product_element.pyx index 42a7f271092..226942ea7c8 100644 --- a/src/sage/combinat/crystals/tensor_product_element.pyx +++ b/src/sage/combinat/crystals/tensor_product_element.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules """ Tensor Products of Crystal Elements diff --git a/src/sage/combinat/crystals/virtual_crystal.py b/src/sage/combinat/crystals/virtual_crystal.py index e7286e58c01..7bdf411852a 100644 --- a/src/sage/combinat/crystals/virtual_crystal.py +++ b/src/sage/combinat/crystals/virtual_crystal.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Virtual Crystals diff --git a/src/sage/combinat/cyclic_sieving_phenomenon.py b/src/sage/combinat/cyclic_sieving_phenomenon.py index 8ad3bfc1f0c..fe52a18d788 100644 --- a/src/sage/combinat/cyclic_sieving_phenomenon.py +++ b/src/sage/combinat/cyclic_sieving_phenomenon.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Cyclic sieving phenomenon diff --git a/src/sage/combinat/debruijn_sequence.pyx b/src/sage/combinat/debruijn_sequence.pyx index 02e224283c2..a2962c3d174 100644 --- a/src/sage/combinat/debruijn_sequence.pyx +++ b/src/sage/combinat/debruijn_sequence.pyx @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-combinat r""" De Bruijn sequences diff --git a/src/sage/combinat/decorated_permutation.py b/src/sage/combinat/decorated_permutation.py index f687818ef25..e427b16becc 100644 --- a/src/sage/combinat/decorated_permutation.py +++ b/src/sage/combinat/decorated_permutation.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Decorated permutations diff --git a/src/sage/combinat/degree_sequences.pyx b/src/sage/combinat/degree_sequences.pyx index 6a0b070a44e..4bd259945bb 100644 --- a/src/sage/combinat/degree_sequences.pyx +++ b/src/sage/combinat/degree_sequences.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Degree sequences diff --git a/src/sage/combinat/derangements.py b/src/sage/combinat/derangements.py index e9e1de647e8..0bc68e99bf5 100644 --- a/src/sage/combinat/derangements.py +++ b/src/sage/combinat/derangements.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat """ Derangements diff --git a/src/sage/combinat/descent_algebra.py b/src/sage/combinat/descent_algebra.py index bb7db9e326e..39893e43f6a 100644 --- a/src/sage/combinat/descent_algebra.py +++ b/src/sage/combinat/descent_algebra.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules """ Descent Algebras diff --git a/src/sage/combinat/designs/all.py b/src/sage/combinat/designs/all.py index 0948c6fa281..32d2aa35bac 100644 --- a/src/sage/combinat/designs/all.py +++ b/src/sage/combinat/designs/all.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs r""" Combinatorial designs and incidence structures @@ -43,7 +44,8 @@ lazy_import('sage.combinat.designs.incidence_structures', 'IncidenceStructure') -lazy_import('sage.combinat.designs.incidence_structures', 'IncidenceStructure', 'BlockDesign') +lazy_import('sage.combinat.designs.incidence_structures', + 'IncidenceStructure', 'BlockDesign') lazy_import('sage.combinat.designs.incidence_structures', 'IncidenceStructure', as_='Hypergraph') @@ -51,4 +53,6 @@ lazy_import('sage.combinat.designs.covering_design', ['CoveringDesign', 'schonheim', 'trivial_covering_design']) -from . import design_catalog as designs +from sage.combinat.designs import design_catalog as designs +del lazy_import +del install_doc diff --git a/src/sage/combinat/designs/bibd.py b/src/sage/combinat/designs/bibd.py index d17c325bdc0..4d1050c174a 100644 --- a/src/sage/combinat/designs/bibd.py +++ b/src/sage/combinat/designs/bibd.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs r""" Balanced Incomplete Block Designs (BIBD) diff --git a/src/sage/combinat/designs/block_design.py b/src/sage/combinat/designs/block_design.py index 08a92c6fe54..22c5466a31d 100644 --- a/src/sage/combinat/designs/block_design.py +++ b/src/sage/combinat/designs/block_design.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # sage.doctest: needs sage.rings.finite_rings r""" Block designs diff --git a/src/sage/combinat/designs/covering_array.py b/src/sage/combinat/designs/covering_array.py index 1596c708152..7053c66a048 100644 --- a/src/sage/combinat/designs/covering_array.py +++ b/src/sage/combinat/designs/covering_array.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs r""" Covering Arrays (CA) diff --git a/src/sage/combinat/designs/covering_design.py b/src/sage/combinat/designs/covering_design.py index a855dc601dc..8cb182f31b8 100644 --- a/src/sage/combinat/designs/covering_design.py +++ b/src/sage/combinat/designs/covering_design.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs r""" Covering designs: coverings of `t`-element subsets of a `v`-set by `k`-sets diff --git a/src/sage/combinat/designs/database.py b/src/sage/combinat/designs/database.py index e4d80442f3c..c3200a07adf 100644 --- a/src/sage/combinat/designs/database.py +++ b/src/sage/combinat/designs/database.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs r""" Database of small combinatorial designs diff --git a/src/sage/combinat/designs/design_catalog.py b/src/sage/combinat/designs/design_catalog.py index 8bf7f14fd0b..4f77341f9f1 100644 --- a/src/sage/combinat/designs/design_catalog.py +++ b/src/sage/combinat/designs/design_catalog.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs r""" Catalog of designs diff --git a/src/sage/combinat/designs/designs_pyx.pxd b/src/sage/combinat/designs/designs_pyx.pxd index 345a41f2945..fef0692369c 100644 --- a/src/sage/combinat/designs/designs_pyx.pxd +++ b/src/sage/combinat/designs/designs_pyx.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # Cached informations about OA(k,n) # # - max_true: max k such that OA(k,n,existence=True) previously returned True diff --git a/src/sage/combinat/designs/designs_pyx.pyx b/src/sage/combinat/designs/designs_pyx.pyx index 4a237ec82b3..11c9c5abe9d 100644 --- a/src/sage/combinat/designs/designs_pyx.pyx +++ b/src/sage/combinat/designs/designs_pyx.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs r""" Cython functions for combinatorial designs diff --git a/src/sage/combinat/designs/difference_family.py b/src/sage/combinat/designs/difference_family.py index 8c2b2b0b01c..f3c228ffca3 100644 --- a/src/sage/combinat/designs/difference_family.py +++ b/src/sage/combinat/designs/difference_family.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs r""" Difference families diff --git a/src/sage/combinat/designs/difference_matrices.py b/src/sage/combinat/designs/difference_matrices.py index 25986ca2c79..7e1a53f99e2 100644 --- a/src/sage/combinat/designs/difference_matrices.py +++ b/src/sage/combinat/designs/difference_matrices.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # sage.doctest: needs sage.rings.finite_rings r""" Difference Matrices diff --git a/src/sage/combinat/designs/evenly_distributed_sets.pyx b/src/sage/combinat/designs/evenly_distributed_sets.pyx index 013288872e4..566c4973cda 100644 --- a/src/sage/combinat/designs/evenly_distributed_sets.pyx +++ b/src/sage/combinat/designs/evenly_distributed_sets.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # sage.doctest: needs sage.rings.finite_rings r""" Evenly distributed sets in finite fields diff --git a/src/sage/combinat/designs/ext_rep.py b/src/sage/combinat/designs/ext_rep.py index 2227a1e9f63..b12fd7d9846 100644 --- a/src/sage/combinat/designs/ext_rep.py +++ b/src/sage/combinat/designs/ext_rep.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs r""" External Representations of Block Designs diff --git a/src/sage/combinat/designs/gen_quadrangles_with_spread.pyx b/src/sage/combinat/designs/gen_quadrangles_with_spread.pyx index 72baf1a5d28..d7d0e956954 100644 --- a/src/sage/combinat/designs/gen_quadrangles_with_spread.pyx +++ b/src/sage/combinat/designs/gen_quadrangles_with_spread.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # sage.doctest: needs sage.libs.gap r""" Database of generalised quadrangles with spread diff --git a/src/sage/combinat/designs/group_divisible_designs.py b/src/sage/combinat/designs/group_divisible_designs.py index aee3bcc96cf..6342049e2e4 100644 --- a/src/sage/combinat/designs/group_divisible_designs.py +++ b/src/sage/combinat/designs/group_divisible_designs.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # sage.doctest: needs sage.rings.finite_rings r""" Group-Divisible Designs (GDD) diff --git a/src/sage/combinat/designs/incidence_structures.py b/src/sage/combinat/designs/incidence_structures.py index 79c95d2c4fb..97dcf4f366b 100644 --- a/src/sage/combinat/designs/incidence_structures.py +++ b/src/sage/combinat/designs/incidence_structures.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs r""" Incidence structures (i.e. hypergraphs, i.e. set systems) diff --git a/src/sage/combinat/designs/latin_squares.py b/src/sage/combinat/designs/latin_squares.py index 58662fbeb88..6dc87323a47 100644 --- a/src/sage/combinat/designs/latin_squares.py +++ b/src/sage/combinat/designs/latin_squares.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # sage.doctest: needs sage.modules r""" Mutually Orthogonal Latin Squares (MOLS) diff --git a/src/sage/combinat/designs/orthogonal_arrays.py b/src/sage/combinat/designs/orthogonal_arrays.py index b4a14b0e7b6..f621b51a54c 100644 --- a/src/sage/combinat/designs/orthogonal_arrays.py +++ b/src/sage/combinat/designs/orthogonal_arrays.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # sage.doctest: needs sage.rings.finite_rings sage.schemes r""" Orthogonal arrays (OA) diff --git a/src/sage/combinat/designs/orthogonal_arrays_build_recursive.py b/src/sage/combinat/designs/orthogonal_arrays_build_recursive.py index 56f7cbc3bac..021bab7e2c4 100644 --- a/src/sage/combinat/designs/orthogonal_arrays_build_recursive.py +++ b/src/sage/combinat/designs/orthogonal_arrays_build_recursive.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # sage.doctest: needs sage.rings.finite_rings r""" Orthogonal arrays (build recursive constructions) diff --git a/src/sage/combinat/designs/orthogonal_arrays_find_recursive.pyx b/src/sage/combinat/designs/orthogonal_arrays_find_recursive.pyx index 7e80ab00034..bb172b96e3a 100644 --- a/src/sage/combinat/designs/orthogonal_arrays_find_recursive.pyx +++ b/src/sage/combinat/designs/orthogonal_arrays_find_recursive.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # sage.doctest: needs sage.rings.finite_rings sage.schemes # cython: cdivision=True r""" diff --git a/src/sage/combinat/designs/resolvable_bibd.py b/src/sage/combinat/designs/resolvable_bibd.py index e79e996dcb5..0efc8d163bf 100644 --- a/src/sage/combinat/designs/resolvable_bibd.py +++ b/src/sage/combinat/designs/resolvable_bibd.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # sage.doctest: needs sage.rings.finite_rings r""" Resolvable Balanced Incomplete Block Design (RBIBD) diff --git a/src/sage/combinat/designs/steiner_quadruple_systems.py b/src/sage/combinat/designs/steiner_quadruple_systems.py index 7c7819c4138..aa09e6582de 100644 --- a/src/sage/combinat/designs/steiner_quadruple_systems.py +++ b/src/sage/combinat/designs/steiner_quadruple_systems.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs r""" Steiner Quadruple Systems diff --git a/src/sage/combinat/designs/subhypergraph_search.pyx b/src/sage/combinat/designs/subhypergraph_search.pyx index 968159b9012..12ad945fdc4 100644 --- a/src/sage/combinat/designs/subhypergraph_search.pyx +++ b/src/sage/combinat/designs/subhypergraph_search.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs r""" Hypergraph isomorphic copy search diff --git a/src/sage/combinat/designs/twographs.py b/src/sage/combinat/designs/twographs.py index 8ba2bc12681..dca9ea623ff 100644 --- a/src/sage/combinat/designs/twographs.py +++ b/src/sage/combinat/designs/twographs.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs r""" Two-graphs diff --git a/src/sage/combinat/diagram.py b/src/sage/combinat/diagram.py index 00b94920726..b8561c0f28d 100644 --- a/src/sage/combinat/diagram.py +++ b/src/sage/combinat/diagram.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Combinatorial diagrams diff --git a/src/sage/combinat/diagram_algebras.py b/src/sage/combinat/diagram_algebras.py index a5c1045028a..7311e10257a 100644 --- a/src/sage/combinat/diagram_algebras.py +++ b/src/sage/combinat/diagram_algebras.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Diagram and Partition Algebras @@ -3898,6 +3899,245 @@ def convertI(x): return self._from_dict(d, remove_zeros=True) +class HalfTemperleyLiebDiagrams(UniqueRepresentation, Parent): + r""" + Half diagrams for the Temperley-Lieb algebra cell modules. + """ + def __init__(self, order, defects): + r""" + Initialize ``self``. + + TESTS:: + + sage: import sage.combinat.diagram_algebras as da + sage: htld = da.HalfTemperleyLiebDiagrams(7, 3) + sage: TestSuite(htld).run() + """ + Parent.__init__(self, category=FiniteEnumeratedSets()) + self._order = ZZ(order) + self._defects = ZZ(defects) + if (self._order - self._defects) % 2: + raise ValueError("the number of non-defects must be even") + + def _repr_(self): + r""" + TESTS:: + + sage: import sage.combinat.diagram_algebras as da + sage: da.HalfTemperleyLiebDiagrams(7, 5) + Half Temperley-Lieb diagrams of order 7 with 5 defects + """ + return "Half Temperley-Lieb diagrams of order {} with {} defects".format(self._order, self._defects) + + def __iter__(self): + r""" + TESTS:: + + sage: import sage.combinat.diagram_algebras as da + sage: list(da.HalfTemperleyLiebDiagrams(5, 3)) + [{{1, 2}}, {{2, 3}}, {{3, 4}}, {{4, 5}}] + """ + n = self._order + k = self._defects + b = (n - k) // 2 + from sage.combinat.dyck_word import DyckWords + for dw in DyckWords(b+k, b): + ret = [] + offset = 0 + for D in dw.catalan_factorization(): + ret.extend((offset+a+1, offset+b) for (a, b) in D.tunnels()) + offset += len(D) + 1 + yield self.element_class(self, ret) + + def __contains__(self, obj): + r""" + Check containment. + + TESTS:: + + sage: import sage.combinat.diagram_algebras as da + sage: htld = da.HalfTemperleyLiebDiagrams(7, 3) + sage: htld.an_element() in htld + True + """ + return isinstance(obj, self.Element) and obj.parent() is self + + def cardinality(self): + r""" + Return the cardinality of ``self``. + + EXAMPLES:: + + sage: import sage.combinat.diagram_algebras as da + sage: htld = da.HalfTemperleyLiebDiagrams(7, 3) + sage: htld.cardinality() + 14 + """ + from sage.functions.other import binomial + n = self._order + k = self._defects + b = (n - k) // 2 + return (k + 1) * binomial(n, b) // (b + k + 1) + + def _element_constructor_(self, d): + r""" + Construct an element of ``self``. + + EXAMPLES:: + + sage: import sage.combinat.diagram_algebras as da + sage: htld = da.HalfTemperleyLiebDiagrams(7, 3) + sage: htld([[1, 4], [2, 3]]) + {{1, 4}, {2, 3}} + """ + return self.element_class(self, d) + + class Element(AbstractPartitionDiagram): + def _latex_(self): + r""" + Return a latex representation of ``self``. + + EXAMPLES:: + + sage: import sage.combinat.diagram_algebras as da + sage: htld = da.HalfTemperleyLiebDiagrams(7, 3) + sage: d = htld([[1, 2], [4, 5]]) + sage: latex(d) + \begin{tikzpicture}[scale = 0.5,thick, baseline={(0,-1ex/2)}] + \tikzstyle{vertex} = [shape = circle, minimum size = 7pt, inner sep = 1pt] + \node[vertex] (G--7) at (9.0, -1) [shape = circle, draw] {}; + \node[vertex] (G--7) at (9.0, -1) [shape = circle, draw] {}; + \node[vertex] (G--6) at (7.5, -1) [shape = circle, draw] {}; + \node[vertex] (G--6) at (7.5, -1) [shape = circle, draw] {}; + \node[vertex] (G--5) at (6.0, -1) [shape = circle, draw] {}; + \node[vertex] (G--4) at (4.5, -1) [shape = circle, draw] {}; + \node[vertex] (G--3) at (3.0, -1) [shape = circle, draw] {}; + \node[vertex] (G--3) at (3.0, -1) [shape = circle, draw] {}; + \node[vertex] (G--2) at (1.5, -1) [shape = circle, draw] {}; + \node[vertex] (G--1) at (0.0, -1) [shape = circle, draw] {}; + \draw[] (G--7) .. controls +(0.0, 0.4) and +(-0.0, 0.4) .. (G--7); + \draw[] (G--6) .. controls +(0.0, 0.4) and +(-0.0, 0.4) .. (G--6); + \draw[] (G--5) .. controls +(-0.5, 0.5) and +(0.5, 0.5) .. (G--4); + \draw[] (G--3) .. controls +(0.0, 0.4) and +(-0.0, 0.4) .. (G--3); + \draw[] (G--2) .. controls +(-0.5, 0.5) and +(0.5, 0.5) .. (G--1); + \end{tikzpicture} + """ + defects = self.defects() + temp = [[-b, -a] for (a, b) in self] + [[-d, -d] for d in defects] + temp.sort() + return diagram_latex(temp) + + def _ascii_art_(self): + r""" + Return an ascii art representation of ``self``. + + EXAMPLES:: + + sage: import sage.combinat.diagram_algebras as da + sage: htld = da.HalfTemperleyLiebDiagrams(7, 3) + sage: d = htld([[1, 2], [4, 5]]) + sage: ascii_art(d) + .-. | .-. | | + o o o o o o o + sage: htld = da.HalfTemperleyLiebDiagrams(8, 0) + sage: d = htld([[1, 6], [2, 3], [4, 5], [7, 8]]) + sage: ascii_art(d) + .---------. + | .-. .-. | .-. + o o o o o o o o + """ + defects = self.defects() + temp = [[-b, -a] for (a, b) in self] + [[-d, d] for d in defects] + rank = self.parent()._order + temp.append([rank, rank]) + temp.sort() + ret = TL_diagram_ascii_art(temp) + from sage.typeset.ascii_art import AsciiArt + return AsciiArt(ret[2:]) + + def _unicode_art_(self): + r""" + Return an ascii art representation of ``self``. + + EXAMPLES:: + + sage: import sage.combinat.diagram_algebras as da + sage: htld = da.HalfTemperleyLiebDiagrams(7, 3) + sage: d = htld([[1, 2], [4, 5]]) + sage: unicode_art(d) + ╭─╮ │ ╭─╮ │ │ + ⚬ ⚬ ⚬ ⚬ ⚬ ⚬ ⚬ + sage: htld = da.HalfTemperleyLiebDiagrams(8, 0) + sage: d = htld([[1, 6], [2, 3], [4, 5], [7, 8]]) + sage: unicode_art(d) + ╭─────────╮ + │ ╭─╮ ╭─╮ │ ╭─╮ + ⚬ ⚬ ⚬ ⚬ ⚬ ⚬ ⚬ ⚬ + """ + defects = self.defects() + temp = [[-b, -a] for (a, b) in self] + [[-d, d] for d in defects] + rank = self.parent()._order + temp.append([rank, rank]) + temp.sort() + ret = TL_diagram_ascii_art(temp, use_unicode=True) + from sage.typeset.unicode_art import UnicodeArt + return UnicodeArt(ret[2:]) + + def defects(self): + r""" + Return the defects of ``self``. + + EXAMPLES:: + + sage: import sage.combinat.diagram_algebras as da + sage: htld = da.HalfTemperleyLiebDiagrams(7, 3) + sage: d = htld([[1, 2], [4, 5]]) + sage: d.defects() + frozenset({3, 6, 7}) + """ + order = self.parent()._order + return frozenset(range(1, order+1)) - frozenset(e for B in self for e in B) + + def check(self): + r""" + Check the validity of the input of ``self``. + + EXAMPLES:: + + sage: import sage.combinat.diagram_algebras as da + sage: htld = da.HalfTemperleyLiebDiagrams(7, 3) + sage: htld([[1,2], [3,4]]) # indirect doctest + {{1, 2}, {3, 4}} + sage: htld([[1,2], [-1, -2]]) # indirect doctest + Traceback (most recent call last): + ... + ValueError: {{-2, -1}, {1, 2}} does not represent a half TL diagram of order 7 + sage: htld([[1,2,3], [4,5]]) # indirect doctest + Traceback (most recent call last): + ... + ValueError: all blocks of {{1, 2, 3}, {4, 5}} must be of size 2 + sage: htld([[1,2], [3,4], [5,6]]) # indirect doctest + Traceback (most recent call last): + ... + ValueError: {{1, 2}, {3, 4}, {5, 6}} does not have 3 defects + sage: htld([[1,3], [2,4]]) # indirect doctest + Traceback (most recent call last): + ... + ValueError: {{1, 3}, {2, 4}} is not planar + """ + tst = frozenset(e for B in self._base_diagram for e in B) + P = self.parent() + if not (tst <= frozenset(range(1, P._order+1))): + raise ValueError("{} does not represent a half TL diagram of order {}".format( + self, self.parent()._order)) + if any(len(block) != 2 for block in self): + raise ValueError("all blocks of {} must be of size 2".format(self)) + if len(tst) != P._order - P._defects: + raise ValueError("{} does not have {} defects".format(self, P._defects)) + if not self.is_planar(): + raise ValueError("{} is not planar".format(self)) + + class TemperleyLiebAlgebra(SubPartitionAlgebra, UnitDiagramMixin): r""" A Temperley--Lieb algebra. @@ -3948,6 +4188,60 @@ class TemperleyLiebAlgebra(SubPartitionAlgebra, UnitDiagramMixin): True sage: b[0]^5 == x^4*b[0] True + + The Temperley-Lieb algebra is a cellular algebra, and we verify that + the dimensions of the simple modules at `q = 0` is given by + :oeis:`A050166`:: + + sage: for k in range(1,5): + ....: TL = TemperleyLiebAlgebra(2*k, 0, QQ) + ....: print("".join("{:3}".format(TL.cell_module(la).simple_module().dimension()) + ....: for la in reversed(TL.cell_poset()) if la != 0)) + 1 + 1 2 + 1 4 5 + 1 6 14 14 + sage: for k in range(1,4): + ....: TL = TemperleyLiebAlgebra(2*k+1, 0, QQ) + ....: print("".join("{:3}".format(TL.cell_module(la).simple_module().dimension()) + ....: for la in reversed(TL.cell_poset()) if la != 0)) + 1 2 + 1 4 5 + 1 6 14 14 + + Additional examples when the Temperley-Lieb algebra is not semisimple:: + + sage: TL = TemperleyLiebAlgebra(8, -1, QQ) + sage: for la in TL.cell_poset(): + ....: CM = TL.cell_module(la) + ....: if not CM.nonzero_bilinear_form(): + ....: continue + ....: print(la, CM.dimension(), CM.simple_module().dimension()) + ....: + 0 14 1 + 2 28 28 + 4 20 13 + 6 7 7 + 8 1 1 + sage: for k in range(1,5): + ....: TL = TemperleyLiebAlgebra(2*k, -1, QQ) + ....: print("".join("{:3}".format(TL.cell_module(la).simple_module().dimension()) + ....: for la in reversed(TL.cell_poset()) + ....: if TL.cell_module(la).nonzero_bilinear_form())) + 1 1 + 1 3 1 + 1 4 9 1 + 1 7 13 28 1 + sage: C5. = CyclotomicField(5) + sage: for k in range(1,5): + ....: TL = TemperleyLiebAlgebra(2*k, z5+~z5, C5) + ....: print("".join("{:3}".format(TL.cell_module(la).simple_module().dimension()) + ....: for la in reversed(TL.cell_poset()) + ....: if TL.cell_module(la).nonzero_bilinear_form())) + 1 1 + 1 3 2 + 1 5 8 5 + 1 7 20 21 13 """ @staticmethod def __classcall_private__(cls, k, q, base_ring=None, prefix="T"): @@ -3976,8 +4270,12 @@ def __init__(self, k, q, base_ring, prefix): sage: R. = QQ[] sage: TL = TemperleyLiebAlgebra(2, q, R) sage: TestSuite(TL).run() + + sage: TL = TemperleyLiebAlgebra(3, 0, QQ) + sage: TestSuite(TL).run() """ - SubPartitionAlgebra.__init__(self, k, q, base_ring, prefix, TemperleyLiebDiagrams(k)) + cat = AssociativeAlgebras(base_ring.category()).Unital().FiniteDimensional().WithBasis().Cellular() + SubPartitionAlgebra.__init__(self, k, q, base_ring, prefix, TemperleyLiebDiagrams(k), category=cat) def _repr_(self): """ @@ -4059,6 +4357,153 @@ def _unicode_art_term(self, diagram): """ return TL_diagram_ascii_art(diagram, use_unicode=True) + @cached_method + def cell_poset(self): + """ + Return the cell poset of ``self``. + + EXAMPLES:: + + sage: R. = QQ[] + sage: TL = TemperleyLiebAlgebra(7, q, R) + sage: TL.cell_poset().cover_relations() + [[1, 3], [3, 5], [5, 7]] + + sage: TL = TemperleyLiebAlgebra(8, q, R) + sage: TL.cell_poset().cover_relations() + [[0, 2], [2, 4], [4, 6], [6, 8]] + """ + from sage.combinat.posets.posets import Poset + return Poset({k-2: [k] for k in range(self._k, 1, -2)}) + + def cell_module_indices(self, la): + r""" + Return the indices of the cell module of ``self`` + indexed by ``la`` . + + This is the finite set `M(\lambda)`. + + EXAMPLES:: + + sage: R. = QQ[] + sage: TL = TemperleyLiebAlgebra(8, q, R) + sage: TL.cell_module_indices(4) + Half Temperley-Lieb diagrams of order 8 with 4 defects + """ + return HalfTemperleyLiebDiagrams(self._k, la) + + def _to_cellular_element(self, d): + r""" + Return the image in the cellular basis of the basis element + of ``self`` indexed by ``d``. + + EXAMPLES:: + + sage: R. = QQ[] + sage: TL = TemperleyLiebAlgebra(3, q, R) + sage: for d in TL.basis().keys(): + ....: print(d) + ....: print(TL._to_cellular_element(d)) + {{-3, 3}, {-2, -1}, {1, 2}} + C(1, {{1, 2}}, {{1, 2}}) + {{-3, 1}, {-2, -1}, {2, 3}} + C(1, {{2, 3}}, {{1, 2}}) + {{-3, -2}, {-1, 1}, {2, 3}} + C(1, {{2, 3}}, {{2, 3}}) + {{-3, -2}, {-1, 3}, {1, 2}} + C(1, {{1, 2}}, {{2, 3}}) + {{-3, 3}, {-2, 2}, {-1, 1}} + C(3, {}, {}) + """ + C = self.cellular_basis() + top = [] + bottom = [] + defects = ZZ.zero() + for (a, b) in d: + if b < 0: + bottom.append((-b, -a)) + elif a > 0: + top.append((a, b)) + else: + defects += ZZ.one() + CMI = self.cell_module_indices(defects) + tup = (defects, CMI(top), CMI(bottom)) + return C.monomial(C._indices(tup)) + + def _from_cellular_index(self, x): + r""" + Return the image in ``self`` from the index of the + cellular basis ``x``. + + EXAMPLES:: + + sage: R. = QQ[] + sage: TL = TemperleyLiebAlgebra(3, q, R) + sage: C = TL.cellular_basis() + sage: for i in C.basis().keys(): + ....: print(i) + ....: print(TL._from_cellular_index(i)) + (1, {{1, 2}}, {{1, 2}}) + T{{-3, 3}, {-2, -1}, {1, 2}} + (1, {{1, 2}}, {{2, 3}}) + T{{-3, -2}, {-1, 3}, {1, 2}} + (1, {{2, 3}}, {{1, 2}}) + T{{-3, 1}, {-2, -1}, {2, 3}} + (1, {{2, 3}}, {{2, 3}}) + T{{-3, -2}, {-1, 1}, {2, 3}} + (3, {}, {}) + T{{-3, 3}, {-2, 2}, {-1, 1}} + + sage: TL = TemperleyLiebAlgebra(4, QQ.zero(), QQ) + sage: C = TL.cellular_basis() + sage: [TL._from_cellular_index(i) for i in C.basis().keys()] + [T{{-4, -3}, {-2, -1}, {1, 2}, {3, 4}}, + T{{-4, -1}, {-3, -2}, {1, 2}, {3, 4}}, + T{{-4, -3}, {-2, -1}, {1, 4}, {2, 3}}, + T{{-4, -1}, {-3, -2}, {1, 4}, {2, 3}}, + T{{-4, 4}, {-3, 3}, {-2, -1}, {1, 2}}, + T{{-4, 4}, {-3, -2}, {-1, 3}, {1, 2}}, + T{{-4, -3}, {-2, 4}, {-1, 3}, {1, 2}}, + T{{-4, 4}, {-3, 1}, {-2, -1}, {2, 3}}, + T{{-4, 4}, {-3, -2}, {-1, 1}, {2, 3}}, + T{{-4, -3}, {-2, 4}, {-1, 1}, {2, 3}}, + T{{-4, 2}, {-3, 1}, {-2, -1}, {3, 4}}, + T{{-4, 2}, {-3, -2}, {-1, 1}, {3, 4}}, + T{{-4, -3}, {-2, 2}, {-1, 1}, {3, 4}}, + T{{-4, 4}, {-3, 3}, {-2, 2}, {-1, 1}}] + """ + _, top, bottom = x + bottom = [[-b, -a] for (a, b) in bottom] + tmiss = frozenset(range(1, self._k+1)) - frozenset(e for B in top for e in B) + bmiss = frozenset(range(-1, -self._k-1, -1)) - frozenset(e for B in bottom for e in B) + prop = list(zip(sorted(tmiss, reverse=True), sorted(bmiss))) + return self.monomial(self._indices(bottom + prop + list(top))) + + def cellular_involution(self, x): + r""" + Return the cellular involution of ``x`` in ``self``. + + EXAMPLES:: + + sage: TL = TemperleyLiebAlgebra(4, QQ.zero(), QQ) + sage: ascii_art(TL.an_element()) + o o o o o o o o + o o o o | `-` | | `-` | + 2* `-` `-` + 2* `-----` + 3* `---. | + .-. .-. .-. .-. .-. | | + o o o o o o o o o o o o + sage: ascii_art(TL.cellular_involution(TL.an_element())) + o o o o o o o o + o o o o `-` `-` `-` | | + 2* `-` `-` + 2* .-----. + 3* .---` | + .-. .-. | .-. | | .-. | + o o o o o o o o o o o o + """ + M = x.monomial_coefficients(copy=False) + I = self._indices + return self._from_dict({d.dual(): c for d, c in M.items()}, + remove_zeros=False) + class PlanarAlgebra(SubPartitionAlgebra, UnitDiagramMixin): r""" diff --git a/src/sage/combinat/dlx.py b/src/sage/combinat/dlx.py index 58bb1bc624f..df63635e961 100644 --- a/src/sage/combinat/dlx.py +++ b/src/sage/combinat/dlx.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Exact Cover Problem via Dancing Links """ diff --git a/src/sage/combinat/dyck_word.py b/src/sage/combinat/dyck_word.py index 6316e1f9ba6..5061b08f483 100644 --- a/src/sage/combinat/dyck_word.py +++ b/src/sage/combinat/dyck_word.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Dyck Words diff --git a/src/sage/combinat/e_one_star.py b/src/sage/combinat/e_one_star.py index 2d04619f393..85c0c5a02a1 100644 --- a/src/sage/combinat/e_one_star.py +++ b/src/sage/combinat/e_one_star.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Substitutions over unit cube faces (Rauzy fractals) diff --git a/src/sage/combinat/enumerated_sets.py b/src/sage/combinat/enumerated_sets.py index f529886da82..1554a2c5786 100644 --- a/src/sage/combinat/enumerated_sets.py +++ b/src/sage/combinat/enumerated_sets.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat """ Enumerated sets and combinatorial objects diff --git a/src/sage/combinat/enumeration_mod_permgroup.pxd b/src/sage/combinat/enumeration_mod_permgroup.pxd index 24a0e15217c..aace492701b 100644 --- a/src/sage/combinat/enumeration_mod_permgroup.pxd +++ b/src/sage/combinat/enumeration_mod_permgroup.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-gap from sage.structure.list_clone cimport ClonableIntArray cpdef list all_children(ClonableIntArray v, int max_part) diff --git a/src/sage/combinat/enumeration_mod_permgroup.pyx b/src/sage/combinat/enumeration_mod_permgroup.pyx index 70b05c6276b..9ea12608ec9 100644 --- a/src/sage/combinat/enumeration_mod_permgroup.pyx +++ b/src/sage/combinat/enumeration_mod_permgroup.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-gap # sage.doctest: needs sage.combinat r""" Tools for enumeration modulo the action of a permutation group diff --git a/src/sage/combinat/expnums.pyx b/src/sage/combinat/expnums.pyx index 216850b43f1..4b03dfa0957 100644 --- a/src/sage/combinat/expnums.pyx +++ b/src/sage/combinat/expnums.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Compute Bell and Uppuluri-Carpenter numbers diff --git a/src/sage/combinat/family.py b/src/sage/combinat/family.py index a7b2c592b3e..359dcc80e47 100644 --- a/src/sage/combinat/family.py +++ b/src/sage/combinat/family.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Families diff --git a/src/sage/combinat/fast_vector_partitions.pyx b/src/sage/combinat/fast_vector_partitions.pyx index fe937b75ee7..84550e3e222 100644 --- a/src/sage/combinat/fast_vector_partitions.pyx +++ b/src/sage/combinat/fast_vector_partitions.pyx @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-combinat r""" Brent Yorgey's fast algorithm for integer vector (multiset) partitions. diff --git a/src/sage/combinat/finite_state_machine.py b/src/sage/combinat/finite_state_machine.py index 2955d037769..7f64dc181b9 100644 --- a/src/sage/combinat/finite_state_machine.py +++ b/src/sage/combinat/finite_state_machine.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # sage.doctest: needs sage.graphs sage.modules r""" Finite state machines, automata, transducers diff --git a/src/sage/combinat/finite_state_machine_generators.py b/src/sage/combinat/finite_state_machine_generators.py index 86307f490f9..90ee5aa0b15 100644 --- a/src/sage/combinat/finite_state_machine_generators.py +++ b/src/sage/combinat/finite_state_machine_generators.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # sage.doctest: needs sage.graphs sage.modules r""" Common Automata and Transducers (Finite State Machines Generators) diff --git a/src/sage/combinat/fqsym.py b/src/sage/combinat/fqsym.py index fbfbf7b54bc..98595ccfad5 100644 --- a/src/sage/combinat/fqsym.py +++ b/src/sage/combinat/fqsym.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Free Quasi-symmetric functions diff --git a/src/sage/combinat/free_dendriform_algebra.py b/src/sage/combinat/free_dendriform_algebra.py index 900b9a7ca5d..0a1c4cd2e2b 100644 --- a/src/sage/combinat/free_dendriform_algebra.py +++ b/src/sage/combinat/free_dendriform_algebra.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Free Dendriform Algebras diff --git a/src/sage/combinat/free_module.py b/src/sage/combinat/free_module.py index 19cec377fc8..306d56f0a32 100644 --- a/src/sage/combinat/free_module.py +++ b/src/sage/combinat/free_module.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Free modules """ @@ -498,15 +499,35 @@ def change_ring(self, R): Free module generated by {'a', 'b', 'c'} over Rational Field sage: F_QQ.change_ring(ZZ) == F True + + sage: T = F.tensor(F); T + Free module generated by {'a', 'b', 'c'} over Integer Ring + # Free module generated by {'a', 'b', 'c'} over Integer Ring + sage: T.change_ring(QQ) + Free module generated by {'a', 'b', 'c'} over Rational Field + # Free module generated by {'a', 'b', 'c'} over Rational Field + + sage: G = CombinatorialFreeModule(ZZ, ['x','y']); G + Free module generated by {'x', 'y'} over Integer Ring + sage: T = F.cartesian_product(G); T + Free module generated by {'a', 'b', 'c'} over Integer Ring + (+) Free module generated by {'x', 'y'} over Integer Ring + sage: T.change_ring(QQ) + Free module generated by {'a', 'b', 'c'} over Rational Field + (+) Free module generated by {'x', 'y'} over Rational Field """ if R is self.base_ring(): return self construction = self.construction() if construction is not None: - functor, _ = construction + functor, args = construction from sage.categories.pushout import VectorFunctor if isinstance(functor, VectorFunctor): return functor(R) + from sage.categories.tensor import TensorProductFunctor + from sage.categories.cartesian_product import CartesianProductFunctor + if isinstance(functor, (TensorProductFunctor, CartesianProductFunctor)): + return functor([f.change_ring(R) for f in args]) raise NotImplementedError('the method change_ring() has not yet been implemented') # For backwards compatibility @@ -1003,10 +1024,10 @@ def from_vector(self, vector, order=None, coerce=True): if order is None: order = self.get_order() if not coerce or vector.base_ring() is self.base_ring(): - return self._from_dict({order[i]: c for i,c in vector.items()}, + return self._from_dict({order[i]: c for i, c in vector.items()}, coerce=False) R = self.base_ring() - return self._from_dict({order[i]: R(c) for i,c in vector.items() if R(c)}, + return self._from_dict({order[i]: R(c) for i, c in vector.items() if R(c)}, coerce=False, remove_zeros=False) def sum(self, iter_of_elements): @@ -1243,430 +1264,434 @@ def _from_dict(self, d, coerce=False, remove_zeros=True): class CombinatorialFreeModule_Tensor(CombinatorialFreeModule): - """ - Tensor Product of Free Modules + """ + Tensor Product of Free Modules - EXAMPLES: + EXAMPLES: - We construct two free modules, assign them short names, and construct their tensor product:: + We construct two free modules, assign them short names, and construct their tensor product:: - sage: F = CombinatorialFreeModule(ZZ, [1,2]); F.rename("F") - sage: G = CombinatorialFreeModule(ZZ, [3,4]); G.rename("G") - sage: T = tensor([F, G]); T - F # G + sage: F = CombinatorialFreeModule(ZZ, [1,2]); F.rename("F") + sage: G = CombinatorialFreeModule(ZZ, [3,4]); G.rename("G") + sage: T = tensor([F, G]); T + F # G - sage: T.category() - Category of tensor products of - finite dimensional modules with basis over Integer Ring + sage: T.category() + Category of tensor products of + finite dimensional modules with basis over Integer Ring - sage: T.construction() # todo: not implemented - [tensor, ] + sage: T.construction() # todo: not implemented + [tensor, ] - T is a free module, with same base ring as F and G:: + T is a free module, with same base ring as F and G:: - sage: T.base_ring() - Integer Ring + sage: T.base_ring() + Integer Ring - The basis of T is indexed by tuples of basis indices of F and G:: + The basis of T is indexed by tuples of basis indices of F and G:: - sage: T.basis().keys() - Image of Cartesian product of {1, 2}, {3, 4} - by The map from Cartesian product of {1, 2}, {3, 4} - sage: T.basis().keys().list() - [(1, 3), (1, 4), (2, 3), (2, 4)] + sage: T.basis().keys() + Image of Cartesian product of {1, 2}, {3, 4} + by The map from Cartesian product of {1, 2}, {3, 4} + sage: T.basis().keys().list() + [(1, 3), (1, 4), (2, 3), (2, 4)] - FIXME: Should elements of a CartesianProduct be tuples (making them hashable)? + FIXME: Should elements of a CartesianProduct be tuples (making them hashable)? - Here are the basis elements themselves:: + Here are the basis elements themselves:: - sage: T.basis().cardinality() - 4 - sage: list(T.basis()) - [B[1] # B[3], B[1] # B[4], B[2] # B[3], B[2] # B[4]] + sage: T.basis().cardinality() + 4 + sage: list(T.basis()) + [B[1] # B[3], B[1] # B[4], B[2] # B[3], B[2] # B[4]] - The tensor product is associative and flattens sub tensor products:: + The tensor product is associative and flattens sub tensor products:: - sage: H = CombinatorialFreeModule(ZZ, [5,6]); H.rename("H") - sage: tensor([F, tensor([G, H])]) - F # G # H - sage: tensor([tensor([F, G]), H]) - F # G # H - sage: tensor([F, G, H]) - F # G # H + sage: H = CombinatorialFreeModule(ZZ, [5,6]); H.rename("H") + sage: tensor([F, tensor([G, H])]) + F # G # H + sage: tensor([tensor([F, G]), H]) + F # G # H + sage: tensor([F, G, H]) + F # G # H - We now compute the tensor product of elements of free modules:: + We now compute the tensor product of elements of free modules:: - sage: f = F.monomial(1) + 2 * F.monomial(2) - sage: g = 2*G.monomial(3) + G.monomial(4) - sage: h = H.monomial(5) + H.monomial(6) - sage: tensor([f, g]) - 2*B[1] # B[3] + B[1] # B[4] + 4*B[2] # B[3] + 2*B[2] # B[4] + sage: f = F.monomial(1) + 2 * F.monomial(2) + sage: g = 2*G.monomial(3) + G.monomial(4) + sage: h = H.monomial(5) + H.monomial(6) + sage: tensor([f, g]) + 2*B[1] # B[3] + B[1] # B[4] + 4*B[2] # B[3] + 2*B[2] # B[4] - Again, the tensor product is associative on elements:: + Again, the tensor product is associative on elements:: - sage: tensor([f, tensor([g, h])]) == tensor([f, g, h]) - True - sage: tensor([tensor([f, g]), h]) == tensor([f, g, h]) - True + sage: tensor([f, tensor([g, h])]) == tensor([f, g, h]) + True + sage: tensor([tensor([f, g]), h]) == tensor([f, g, h]) + True - Note further that the tensor product spaces need not preexist:: + Note further that the tensor product spaces need not preexist:: - sage: t = tensor([f, g, h]) - sage: t.parent() - F # G # H + sage: t = tensor([f, g, h]) + sage: t.parent() + F # G # H + TESTS:: + + sage: tensor([tensor([F, G]), H]) == tensor([F, G, H]) + True + sage: tensor([F, tensor([G, H])]) == tensor([F, G, H]) + True + """ + @staticmethod + def __classcall_private__(cls, modules, **options): + """ TESTS:: + sage: F = CombinatorialFreeModule(ZZ, [1,2]) + sage: G = CombinatorialFreeModule(ZZ, [3,4]) + sage: H = CombinatorialFreeModule(ZZ, [4]) sage: tensor([tensor([F, G]), H]) == tensor([F, G, H]) True sage: tensor([F, tensor([G, H])]) == tensor([F, G, H]) True + + Check that :issue:`19608` is fixed:: + + sage: T = tensor([F, G, H]) + sage: T in Modules(ZZ).FiniteDimensional() + True """ - @staticmethod - def __classcall_private__(cls, modules, **options): - """ - TESTS:: - - sage: F = CombinatorialFreeModule(ZZ, [1,2]) - sage: G = CombinatorialFreeModule(ZZ, [3,4]) - sage: H = CombinatorialFreeModule(ZZ, [4]) - sage: tensor([tensor([F, G]), H]) == tensor([F, G, H]) - True - sage: tensor([F, tensor([G, H])]) == tensor([F, G, H]) - True - - Check that :issue:`19608` is fixed:: - - sage: T = tensor([F, G, H]) - sage: T in Modules(ZZ).FiniteDimensional() - True - """ - assert (len(modules) > 0) - R = modules[0].base_ring() - assert (all(module in ModulesWithBasis(R)) for module in modules) - # should check the base ring - # flatten the list of modules so that tensor(A, tensor(B,C)) gets rewritten into tensor(A, B, C) - modules = sum([module._sets if isinstance(module, CombinatorialFreeModule_Tensor) else (module,) for module in modules], ()) - if all('FiniteDimensional' in M.category().axioms() for M in modules): - options['category'] = options['category'].FiniteDimensional() - return super(CombinatorialFreeModule.Tensor, cls).__classcall__(cls, modules, **options) - - def __init__(self, modules, **options): - """ - TESTS:: - - sage: F = CombinatorialFreeModule(ZZ, [1,2]); F - F - """ - self._sets = modules - indices = CartesianProduct_iters(*[module.basis().keys() - for module in modules]).map(tuple) - CombinatorialFreeModule.__init__(self, modules[0].base_ring(), indices, **options) - # the following is not the best option, but it's better than nothing. - if 'tensor_symbol' in options: - self._print_options['tensor_symbol'] = options['tensor_symbol'] - - def _repr_(self): - r""" - This is customizable by setting - ``self.print_options('tensor_symbol'=...)``. - - TESTS:: - - sage: F = CombinatorialFreeModule(ZZ, [1,2,3]) - sage: G = CombinatorialFreeModule(ZZ, [1,2,3,8]) - sage: F.rename("F") - sage: G.rename("G") - sage: T = tensor([F, G]) - sage: T # indirect doctest - F # G - sage: T.print_options(tensor_symbol=' @ ') # note the spaces - sage: T # indirect doctest - F @ G - - To avoid a side\--effect on another doctest, we revert the change:: - - sage: T.print_options(tensor_symbol=' # ') - """ - from sage.categories.tensor import tensor - if hasattr(self, "_print_options"): - symb = self._print_options['tensor_symbol'] - if symb is None: - symb = tensor.symbol - else: + assert (len(modules) > 0) + R = modules[0].base_ring() + assert (all(module in ModulesWithBasis(R)) for module in modules) + # should check the base ring + # flatten the list of modules so that tensor(A, tensor(B,C)) gets rewritten into tensor(A, B, C) + modules = sum([module._sets if isinstance(module, CombinatorialFreeModule_Tensor) else (module,) for module in modules], ()) + if all('FiniteDimensional' in M.category().axioms() for M in modules): + options['category'] = options['category'].FiniteDimensional() + return super(CombinatorialFreeModule.Tensor, cls).__classcall__(cls, modules, **options) + + def __init__(self, modules, **options): + """ + TESTS:: + + sage: F = CombinatorialFreeModule(ZZ, [1,2]); F + F + """ + self._sets = modules + indices = CartesianProduct_iters(*[module.basis().keys() + for module in modules]).map(tuple) + CombinatorialFreeModule.__init__(self, modules[0].base_ring(), indices, **options) + # the following is not the best option, but it's better than nothing. + if 'tensor_symbol' in options: + self._print_options['tensor_symbol'] = options['tensor_symbol'] + + def _repr_(self): + r""" + This is customizable by setting + ``self.print_options('tensor_symbol'=...)``. + + TESTS:: + + sage: F = CombinatorialFreeModule(ZZ, [1,2,3]) + sage: G = CombinatorialFreeModule(ZZ, [1,2,3,8]) + sage: F.rename("F") + sage: G.rename("G") + sage: T = tensor([F, G]) + sage: T # indirect doctest + F # G + sage: T.print_options(tensor_symbol=' @ ') # note the spaces + sage: T # indirect doctest + F @ G + + To avoid a side\--effect on another doctest, we revert the change:: + + sage: T.print_options(tensor_symbol=' # ') + """ + from sage.categories.tensor import tensor + if hasattr(self, "_print_options"): + symb = self._print_options['tensor_symbol'] + if symb is None: symb = tensor.symbol - return symb.join("%s" % module for module in self._sets) - # TODO: make this overridable by setting _name - - def tensor_factors(self): - """ - Return the tensor factors of this tensor product. - - EXAMPLES:: - - sage: F = CombinatorialFreeModule(ZZ, [1,2]) - sage: F.rename("F") - sage: G = CombinatorialFreeModule(ZZ, [3,4]) - sage: G.rename("G") - sage: T = tensor([F, G]); T - F # G - sage: T.tensor_factors() - (F, G) - """ - return self._sets - - def _ascii_art_(self, term): - """ - TESTS:: - - sage: R = NonCommutativeSymmetricFunctions(QQ).R() # needs sage.combinat - sage: Partitions.options(diagram_str="#", convention="french") # needs sage.combinat - sage: s = ascii_art(tensor((R[1,2], R[3,1,2]))); s # needs sage.combinat - R # R - # ### - ## # - ## - - Check that the breakpoints are correct (:issue:`29202`):: - - sage: s._breakpoints # needs sage.combinat - [6] - """ - if hasattr(self, "_print_options"): - symb = self._print_options['tensor_symbol'] - if symb is None: - symb = tensor.symbol - else: + else: + symb = tensor.symbol + return symb.join("%s" % module for module in self._sets) + # TODO: make this overridable by setting _name + + def tensor_factors(self): + """ + Return the tensor factors of this tensor product. + + EXAMPLES:: + + sage: F = CombinatorialFreeModule(ZZ, [1,2]) + sage: F.rename("F") + sage: G = CombinatorialFreeModule(ZZ, [3,4]) + sage: G.rename("G") + sage: T = tensor([F, G]); T + F # G + sage: T.tensor_factors() + (F, G) + """ + return self._sets + + def _ascii_art_(self, term): + """ + TESTS:: + + sage: R = NonCommutativeSymmetricFunctions(QQ).R() # needs sage.combinat + sage: Partitions.options(diagram_str="#", convention="french") # needs sage.combinat + sage: s = ascii_art(tensor((R[1,2], R[3,1,2]))); s # needs sage.combinat + R # R + # ### + ## # + ## + + Check that the breakpoints are correct (:issue:`29202`):: + + sage: s._breakpoints # needs sage.combinat + [6] + """ + if hasattr(self, "_print_options"): + symb = self._print_options['tensor_symbol'] + if symb is None: symb = tensor.symbol - return ascii_art(*(module._ascii_art_term(t) - for module, t in zip(self._sets, term)), - sep=AsciiArt([symb], breakpoints=[len(symb)])) - - _ascii_art_term = _ascii_art_ - - def _unicode_art_(self, term): - """ - TESTS:: - - sage: R = NonCommutativeSymmetricFunctions(QQ).R() # needs sage.combinat - sage: Partitions.options(diagram_str="#", convention="french") # needs sage.combinat - sage: s = unicode_art(tensor((R[1,2], R[3,1,2]))); s # needs sage.combinat - R ⊗ R - ┌┐ ┌┬┬┐ - ├┼┐ └┴┼┤ - └┴┘ ├┼┐ - └┴┘ - - Check that the breakpoints are correct (:issue:`29202`):: - - sage: s._breakpoints # needs sage.combinat - [7] - """ - if hasattr(self, "_print_options"): - symb = self._print_options['tensor_symbol'] - if symb is None: - symb = tensor.unicode_symbol - else: + else: + symb = tensor.symbol + return ascii_art(*(module._ascii_art_term(t) + for module, t in zip(self._sets, term)), + sep=AsciiArt([symb], breakpoints=[len(symb)])) + + _ascii_art_term = _ascii_art_ + + def _unicode_art_(self, term): + """ + TESTS:: + + sage: R = NonCommutativeSymmetricFunctions(QQ).R() # needs sage.combinat + sage: Partitions.options(diagram_str="#", convention="french") # needs sage.combinat + sage: s = unicode_art(tensor((R[1,2], R[3,1,2]))); s # needs sage.combinat + R ⊗ R + ┌┐ ┌┬┬┐ + ├┼┐ └┴┼┤ + └┴┘ ├┼┐ + └┴┘ + + Check that the breakpoints are correct (:issue:`29202`):: + + sage: s._breakpoints # needs sage.combinat + [7] + """ + if hasattr(self, "_print_options"): + symb = self._print_options['tensor_symbol'] + if symb is None: symb = tensor.unicode_symbol - return unicode_art(*(module._unicode_art_term(t) - for module, t in zip(self._sets, term)), - sep=UnicodeArt([symb], breakpoints=[len(symb)])) - - _unicode_art_term = _unicode_art_ - - def _latex_(self): - r""" - TESTS:: - - sage: F = CombinatorialFreeModule(ZZ, [1,2,3]) - sage: G = CombinatorialFreeModule(ZZ, [1,2,3,8]) - sage: F.rename("F") - sage: G.rename("G") - sage: latex(tensor([F, F, G])) # indirect doctest - \text{\texttt{F}} \otimes \text{\texttt{F}} \otimes \text{\texttt{G}} - sage: F._latex_ = lambda : "F" - sage: G._latex_ = lambda : "G" - sage: latex(tensor([F, F, G])) # indirect doctest - F \otimes F \otimes G - """ - from sage.misc.latex import latex - symb = " \\otimes " - return symb.join("%s" % latex(module) for module in self._sets) - - def _repr_term(self, term): - """ - TESTS:: - - sage: F = CombinatorialFreeModule(ZZ, [1,2,3], prefix="F") - sage: G = CombinatorialFreeModule(ZZ, [1,2,3,4], prefix="G") - sage: f = F.monomial(1) + 2 * F.monomial(2) - sage: g = 2*G.monomial(3) + G.monomial(4) - sage: tensor([f, g]) # indirect doctest - 2*F[1] # G[3] + F[1] # G[4] + 4*F[2] # G[3] + 2*F[2] # G[4] - """ - if hasattr(self, "_print_options"): - symb = self._print_options['tensor_symbol'] - if symb is None: - symb = tensor.symbol - else: + else: + symb = tensor.unicode_symbol + return unicode_art(*(module._unicode_art_term(t) + for module, t in zip(self._sets, term)), + sep=UnicodeArt([symb], breakpoints=[len(symb)])) + + _unicode_art_term = _unicode_art_ + + def _latex_(self): + r""" + TESTS:: + + sage: F = CombinatorialFreeModule(ZZ, [1,2,3]) + sage: G = CombinatorialFreeModule(ZZ, [1,2,3,8]) + sage: F.rename("F") + sage: G.rename("G") + sage: latex(tensor([F, F, G])) # indirect doctest + \text{\texttt{F}} \otimes \text{\texttt{F}} \otimes \text{\texttt{G}} + sage: F._latex_ = lambda : "F" + sage: G._latex_ = lambda : "G" + sage: latex(tensor([F, F, G])) # indirect doctest + F \otimes F \otimes G + """ + from sage.misc.latex import latex + symb = " \\otimes " + return symb.join("%s" % latex(module) for module in self._sets) + + def _repr_term(self, term): + """ + TESTS:: + + sage: F = CombinatorialFreeModule(ZZ, [1,2,3], prefix="F") + sage: G = CombinatorialFreeModule(ZZ, [1,2,3,4], prefix="G") + sage: f = F.monomial(1) + 2 * F.monomial(2) + sage: g = 2*G.monomial(3) + G.monomial(4) + sage: tensor([f, g]) # indirect doctest + 2*F[1] # G[3] + F[1] # G[4] + 4*F[2] # G[3] + 2*F[2] # G[4] + """ + if hasattr(self, "_print_options"): + symb = self._print_options['tensor_symbol'] + if symb is None: symb = tensor.symbol - return symb.join(module._repr_term(t) for (module, t) in zip(self._sets, term)) - - def _latex_term(self, term): - r""" - TESTS:: - - sage: F = CombinatorialFreeModule(ZZ, [1,2,3], prefix='x') - sage: G = CombinatorialFreeModule(ZZ, [1,2,3,4], prefix='y') - sage: f = F.monomial(1) + 2 * F.monomial(2) - sage: g = 2*G.monomial(3) + G.monomial(4) - sage: latex(tensor([f, g])) # indirect doctest - 2 x_{1} \otimes y_{3} + x_{1} \otimes y_{4} + 4 x_{2} \otimes y_{3} + 2 x_{2} \otimes y_{4} - """ - symb = " \\otimes " - return symb.join(module._latex_term(t) for (module, t) in zip(self._sets, term)) - - @cached_method - def tensor_constructor(self, modules): - r""" - INPUT: - - - ``modules`` -- a tuple `(F_1,\dots,F_n)` of - free modules whose tensor product is self - - Returns the canonical multilinear morphism from - `F_1 \times \dots \times F_n` to `F_1 \otimes \dots \otimes F_n` - - EXAMPLES:: - - sage: F = CombinatorialFreeModule(ZZ, [1,2]); F.rename("F") - sage: G = CombinatorialFreeModule(ZZ, [3,4]); G.rename("G") - sage: H = CombinatorialFreeModule(ZZ, [5,6]); H.rename("H") - - sage: f = F.monomial(1) + 2*F.monomial(2) - sage: g = 2*G.monomial(3) + G.monomial(4) - sage: h = H.monomial(5) + H.monomial(6) - sage: FG = tensor([F, G]) - sage: phi_fg = FG.tensor_constructor((F, G)) - sage: phi_fg(f, g) - 2*B[1] # B[3] + B[1] # B[4] + 4*B[2] # B[3] + 2*B[2] # B[4] - - sage: FGH = tensor([F, G, H]) - sage: phi_fgh = FGH.tensor_constructor((F, G, H)) - sage: phi_fgh(f, g, h) - 2*B[1] # B[3] # B[5] + 2*B[1] # B[3] # B[6] + B[1] # B[4] # B[5] - + B[1] # B[4] # B[6] + 4*B[2] # B[3] # B[5] + 4*B[2] # B[3] # B[6] - + 2*B[2] # B[4] # B[5] + 2*B[2] # B[4] # B[6] - - sage: phi_fg_h = FGH.tensor_constructor((FG, H)) - sage: phi_fg_h(phi_fg(f, g), h) - 2*B[1] # B[3] # B[5] + 2*B[1] # B[3] # B[6] + B[1] # B[4] # B[5] - + B[1] # B[4] # B[6] + 4*B[2] # B[3] # B[5] + 4*B[2] # B[3] # B[6] - + 2*B[2] # B[4] # B[5] + 2*B[2] # B[4] # B[6] - """ - assert (module in ModulesWithBasis(self.base_ring()) for module in modules) - assert (tensor(modules) == self) - # a list l such that l[i] is True if modules[i] is readily a tensor product - is_tensor = [isinstance(module, CombinatorialFreeModule_Tensor) for module in modules] - # the tensor_constructor, on basis elements - result = self.monomial * CartesianProductWithFlattening(is_tensor) - # TODO: make this into an element of Hom( A x B, C ) when those will exist - for i in range(len(modules)): - result = modules[i]._module_morphism(result, position=i, - codomain=self) - return result - - def _tensor_of_elements(self, elements): - """ - Returns the tensor product of the specified elements. - The result should be in ``self``. - - EXAMPLES:: - - sage: F = CombinatorialFreeModule(ZZ, [1,2]); F.rename("F") - sage: G = CombinatorialFreeModule(ZZ, [3,4]); G.rename("G") - sage: H = CombinatorialFreeModule(ZZ, [5,6]); H.rename("H") - - sage: f = F.monomial(1) + 2 * F.monomial(2) - sage: g = 2*G.monomial(3) + G.monomial(4) - sage: h = H.monomial(5) + H.monomial(6) - - sage: GH = tensor([G, H]) - sage: gh = GH._tensor_of_elements([g, h]); gh - 2*B[3] # B[5] + 2*B[3] # B[6] + B[4] # B[5] + B[4] # B[6] - - sage: FGH = tensor([F, G, H]) - sage: FGH._tensor_of_elements([f, g, h]) - 2*B[1] # B[3] # B[5] + 2*B[1] # B[3] # B[6] + B[1] # B[4] # B[5] + B[1] # B[4] # B[6] + 4*B[2] # B[3] # B[5] + 4*B[2] # B[3] # B[6] + 2*B[2] # B[4] # B[5] + 2*B[2] # B[4] # B[6] - - sage: FGH._tensor_of_elements([f, gh]) - 2*B[1] # B[3] # B[5] + 2*B[1] # B[3] # B[6] + B[1] # B[4] # B[5] + B[1] # B[4] # B[6] + 4*B[2] # B[3] # B[5] + 4*B[2] # B[3] # B[6] + 2*B[2] # B[4] # B[5] + 2*B[2] # B[4] # B[6] - """ - return self.tensor_constructor(tuple(element.parent() for element in elements))(*elements) - - def _coerce_map_from_(self, R): - """ - Return ``True`` if there is a coercion from ``R`` into ``self`` and - ``False`` otherwise. The things that coerce into ``self`` are: - - - Anything with a coercion into ``self.base_ring()``. - - - A tensor algebra whose factors have a coercion into the - corresponding factors of ``self``. - - TESTS:: - - sage: C = CombinatorialFreeModule(ZZ, ZZ) - sage: C2 = CombinatorialFreeModule(ZZ, NN) - sage: M = C.module_morphism(lambda x: C2.monomial(abs(x)), codomain=C2) - sage: M.register_as_coercion() - sage: C2(C.basis()[3]) - B[3] - sage: C2(C.basis()[3] + C.basis()[-3]) - 2*B[3] - sage: S = C.tensor(C) - sage: S2 = C2.tensor(C2) - sage: S2.has_coerce_map_from(S) - True - sage: S.has_coerce_map_from(S2) - False - sage: S.an_element() - 3*B[0] # B[-1] + 2*B[0] # B[0] + 2*B[0] # B[1] - sage: S2(S.an_element()) - 2*B[0] # B[0] + 5*B[0] # B[1] - - :: - - sage: C = CombinatorialFreeModule(ZZ, Set([1,2])) - sage: D = CombinatorialFreeModule(ZZ, Set([2,4])) - sage: f = C.module_morphism(on_basis=lambda x: D.monomial(2*x), codomain=D) - sage: f.register_as_coercion() - sage: T = tensor((C,C)) - sage: p = D.an_element() - sage: T(tensor((p,p))) - Traceback (most recent call last): - ... - NotImplementedError - sage: T = tensor((D,D)) - sage: p = C.an_element() - sage: T(tensor((p,p))) - 4*B[2] # B[2] + 4*B[2] # B[4] + 4*B[4] # B[2] + 4*B[4] # B[4] - """ - if ((R in ModulesWithBasis(self.base_ring()).TensorProducts() or - R in GradedAlgebrasWithBasis(self.base_ring()).SignedTensorProducts()) - and isinstance(R, CombinatorialFreeModule_Tensor) - and len(R._sets) == len(self._sets) - and all(self._sets[i].has_coerce_map_from(M) - for i, M in enumerate(R._sets))): - modules = R._sets - vector_map = [self._sets[i]._internal_coerce_map_from(M) - for i, M in enumerate(modules)] - return R.module_morphism(lambda x: self._tensor_of_elements( - [vector_map[i](M.monomial(x[i])) - for i, M in enumerate(modules)]), codomain=self) - - return super()._coerce_map_from_(R) + else: + symb = tensor.symbol + return symb.join(module._repr_term(t) for (module, t) in zip(self._sets, term)) + + def _latex_term(self, term): + r""" + TESTS:: + + sage: F = CombinatorialFreeModule(ZZ, [1,2,3], prefix='x') + sage: G = CombinatorialFreeModule(ZZ, [1,2,3,4], prefix='y') + sage: f = F.monomial(1) + 2 * F.monomial(2) + sage: g = 2*G.monomial(3) + G.monomial(4) + sage: latex(tensor([f, g])) # indirect doctest + 2 x_{1} \otimes y_{3} + x_{1} \otimes y_{4} + 4 x_{2} \otimes y_{3} + 2 x_{2} \otimes y_{4} + """ + symb = " \\otimes " + return symb.join(module._latex_term(t) for (module, t) in zip(self._sets, term)) + + @cached_method + def tensor_constructor(self, modules): + r""" + INPUT: + + - ``modules`` -- a tuple `(F_1,\dots,F_n)` of + free modules whose tensor product is self + + Returns the canonical multilinear morphism from + `F_1 \times \dots \times F_n` to `F_1 \otimes \dots \otimes F_n` + + EXAMPLES:: + + sage: F = CombinatorialFreeModule(ZZ, [1,2]); F.rename("F") + sage: G = CombinatorialFreeModule(ZZ, [3,4]); G.rename("G") + sage: H = CombinatorialFreeModule(ZZ, [5,6]); H.rename("H") + + sage: f = F.monomial(1) + 2*F.monomial(2) + sage: g = 2*G.monomial(3) + G.monomial(4) + sage: h = H.monomial(5) + H.monomial(6) + sage: FG = tensor([F, G]) + sage: phi_fg = FG.tensor_constructor((F, G)) + sage: phi_fg(f, g) + 2*B[1] # B[3] + B[1] # B[4] + 4*B[2] # B[3] + 2*B[2] # B[4] + + sage: FGH = tensor([F, G, H]) + sage: phi_fgh = FGH.tensor_constructor((F, G, H)) + sage: phi_fgh(f, g, h) + 2*B[1] # B[3] # B[5] + 2*B[1] # B[3] # B[6] + B[1] # B[4] # B[5] + + B[1] # B[4] # B[6] + 4*B[2] # B[3] # B[5] + 4*B[2] # B[3] # B[6] + + 2*B[2] # B[4] # B[5] + 2*B[2] # B[4] # B[6] + + sage: phi_fg_h = FGH.tensor_constructor((FG, H)) + sage: phi_fg_h(phi_fg(f, g), h) + 2*B[1] # B[3] # B[5] + 2*B[1] # B[3] # B[6] + B[1] # B[4] # B[5] + + B[1] # B[4] # B[6] + 4*B[2] # B[3] # B[5] + 4*B[2] # B[3] # B[6] + + 2*B[2] # B[4] # B[5] + 2*B[2] # B[4] # B[6] + """ + assert (module in ModulesWithBasis(self.base_ring()) for module in modules) + assert (tensor(modules) == self) + # a list l such that l[i] is True if modules[i] is readily a tensor product + is_tensor = [isinstance(module, CombinatorialFreeModule_Tensor) for module in modules] + # the tensor_constructor, on basis elements + result = self.monomial * CartesianProductWithFlattening(is_tensor) + # TODO: make this into an element of Hom( A x B, C ) when those will exist + for i in range(len(modules)): + result = modules[i]._module_morphism(result, position=i, + codomain=self) + return result + + def _tensor_of_elements(self, elements): + """ + Returns the tensor product of the specified elements. + The result should be in ``self``. + + EXAMPLES:: + + sage: F = CombinatorialFreeModule(ZZ, [1,2]); F.rename("F") + sage: G = CombinatorialFreeModule(ZZ, [3,4]); G.rename("G") + sage: H = CombinatorialFreeModule(ZZ, [5,6]); H.rename("H") + + sage: f = F.monomial(1) + 2 * F.monomial(2) + sage: g = 2*G.monomial(3) + G.monomial(4) + sage: h = H.monomial(5) + H.monomial(6) + + sage: GH = tensor([G, H]) + sage: gh = GH._tensor_of_elements([g, h]); gh + 2*B[3] # B[5] + 2*B[3] # B[6] + B[4] # B[5] + B[4] # B[6] + + sage: FGH = tensor([F, G, H]) + sage: FGH._tensor_of_elements([f, g, h]) + 2*B[1] # B[3] # B[5] + 2*B[1] # B[3] # B[6] + B[1] # B[4] # B[5] + + B[1] # B[4] # B[6] + 4*B[2] # B[3] # B[5] + 4*B[2] # B[3] # B[6] + + 2*B[2] # B[4] # B[5] + 2*B[2] # B[4] # B[6] + + sage: FGH._tensor_of_elements([f, gh]) + 2*B[1] # B[3] # B[5] + 2*B[1] # B[3] # B[6] + B[1] # B[4] # B[5] + + B[1] # B[4] # B[6] + 4*B[2] # B[3] # B[5] + 4*B[2] # B[3] # B[6] + + 2*B[2] # B[4] # B[5] + 2*B[2] # B[4] # B[6] + """ + return self.tensor_constructor(tuple(element.parent() for element in elements))(*elements) + + def _coerce_map_from_(self, R): + """ + Return ``True`` if there is a coercion from ``R`` into ``self`` and + ``False`` otherwise. The things that coerce into ``self`` are: + + - Anything with a coercion into ``self.base_ring()``. + + - A tensor algebra whose factors have a coercion into the + corresponding factors of ``self``. + + TESTS:: + + sage: C = CombinatorialFreeModule(ZZ, ZZ) + sage: C2 = CombinatorialFreeModule(ZZ, NN) + sage: M = C.module_morphism(lambda x: C2.monomial(abs(x)), codomain=C2) + sage: M.register_as_coercion() + sage: C2(C.basis()[3]) + B[3] + sage: C2(C.basis()[3] + C.basis()[-3]) + 2*B[3] + sage: S = C.tensor(C) + sage: S2 = C2.tensor(C2) + sage: S2.has_coerce_map_from(S) + True + sage: S.has_coerce_map_from(S2) + False + sage: S.an_element() + 3*B[0] # B[-1] + 2*B[0] # B[0] + 2*B[0] # B[1] + sage: S2(S.an_element()) + 2*B[0] # B[0] + 5*B[0] # B[1] + + :: + + sage: C = CombinatorialFreeModule(ZZ, Set([1,2])) + sage: D = CombinatorialFreeModule(ZZ, Set([2,4])) + sage: f = C.module_morphism(on_basis=lambda x: D.monomial(2*x), codomain=D) + sage: f.register_as_coercion() + sage: T = tensor((C,C)) + sage: p = D.an_element() + sage: T(tensor((p,p))) + Traceback (most recent call last): + ... + NotImplementedError + sage: T = tensor((D,D)) + sage: p = C.an_element() + sage: T(tensor((p,p))) + 4*B[2] # B[2] + 4*B[2] # B[4] + 4*B[4] # B[2] + 4*B[4] # B[4] + """ + if ((R in ModulesWithBasis(self.base_ring()).TensorProducts() or + R in GradedAlgebrasWithBasis(self.base_ring()).SignedTensorProducts()) + and isinstance(R, CombinatorialFreeModule_Tensor) + and len(R._sets) == len(self._sets) + and all(self._sets[i].has_coerce_map_from(M) + for i, M in enumerate(R._sets))): + modules = R._sets + vector_map = [self._sets[i]._internal_coerce_map_from(M) + for i, M in enumerate(modules)] + return R.module_morphism(lambda x: self._tensor_of_elements( + [vector_map[i](M.monomial(x[i])) + for i, M in enumerate(modules)]), codomain=self) + + return super()._coerce_map_from_(R) class CartesianProductWithFlattening: diff --git a/src/sage/combinat/free_prelie_algebra.py b/src/sage/combinat/free_prelie_algebra.py index 88d54b1f443..5454c0ca0ee 100644 --- a/src/sage/combinat/free_prelie_algebra.py +++ b/src/sage/combinat/free_prelie_algebra.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.graphs sage.modules r""" Free Pre-Lie Algebras diff --git a/src/sage/combinat/fully_commutative_elements.py b/src/sage/combinat/fully_commutative_elements.py index c6d072eb432..9da2ee91d46 100644 --- a/src/sage/combinat/fully_commutative_elements.py +++ b/src/sage/combinat/fully_commutative_elements.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Fully commutative elements of Coxeter groups diff --git a/src/sage/combinat/fully_packed_loop.py b/src/sage/combinat/fully_packed_loop.py index 949ee9c6504..755865bc203 100644 --- a/src/sage/combinat/fully_packed_loop.py +++ b/src/sage/combinat/fully_packed_loop.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Fully packed loops diff --git a/src/sage/combinat/gelfand_tsetlin_patterns.py b/src/sage/combinat/gelfand_tsetlin_patterns.py index 354c440c58b..ccb065167e1 100644 --- a/src/sage/combinat/gelfand_tsetlin_patterns.py +++ b/src/sage/combinat/gelfand_tsetlin_patterns.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Gelfand-Tsetlin Patterns diff --git a/src/sage/combinat/graph_path.py b/src/sage/combinat/graph_path.py index 2fb255579dd..bf732904ab3 100644 --- a/src/sage/combinat/graph_path.py +++ b/src/sage/combinat/graph_path.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs r""" Paths in Directed Acyclic Graphs """ diff --git a/src/sage/combinat/gray_codes.py b/src/sage/combinat/gray_codes.py index e2508e0e01c..8572fc8b183 100644 --- a/src/sage/combinat/gray_codes.py +++ b/src/sage/combinat/gray_codes.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Gray codes diff --git a/src/sage/combinat/grossman_larson_algebras.py b/src/sage/combinat/grossman_larson_algebras.py index db2f1de5eca..6520f47e2a7 100644 --- a/src/sage/combinat/grossman_larson_algebras.py +++ b/src/sage/combinat/grossman_larson_algebras.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.graphs sage.modules r""" Grossman-Larson Hopf Algebras diff --git a/src/sage/combinat/growth.py b/src/sage/combinat/growth.py index b940fec97b8..bf2ae12b401 100644 --- a/src/sage/combinat/growth.py +++ b/src/sage/combinat/growth.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.graphs r""" Growth diagrams and dual graded graphs diff --git a/src/sage/combinat/hall_polynomial.py b/src/sage/combinat/hall_polynomial.py index 9d2326e60f8..aa52259eaf0 100644 --- a/src/sage/combinat/hall_polynomial.py +++ b/src/sage/combinat/hall_polynomial.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Hall Polynomials diff --git a/src/sage/combinat/hillman_grassl.py b/src/sage/combinat/hillman_grassl.py index 5a85d4e48d3..1eddaffd9ce 100644 --- a/src/sage/combinat/hillman_grassl.py +++ b/src/sage/combinat/hillman_grassl.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" The Hillman-Grassl correspondence diff --git a/src/sage/combinat/integer_lists/__init__.py b/src/sage/combinat/integer_lists/__init__.py index 4e0c59ff8a6..b0f381d27bf 100644 --- a/src/sage/combinat/integer_lists/__init__.py +++ b/src/sage/combinat/integer_lists/__init__.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories from .base import IntegerListsBackend, Envelope from .lists import IntegerLists from .invlex import IntegerListsLex diff --git a/src/sage/combinat/integer_lists/base.pxd b/src/sage/combinat/integer_lists/base.pxd index 3d373a64fe0..03af138ca01 100644 --- a/src/sage/combinat/integer_lists/base.pxd +++ b/src/sage/combinat/integer_lists/base.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories cdef class Envelope(): cdef readonly sign cdef f diff --git a/src/sage/combinat/integer_lists/base.pyx b/src/sage/combinat/integer_lists/base.pyx index 6da2125396e..0a463195426 100644 --- a/src/sage/combinat/integer_lists/base.pyx +++ b/src/sage/combinat/integer_lists/base.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Enumerated set of lists of integers with constraints: base classes diff --git a/src/sage/combinat/integer_lists/invlex.pxd b/src/sage/combinat/integer_lists/invlex.pxd index 143306b4448..087a4f1cc9d 100644 --- a/src/sage/combinat/integer_lists/invlex.pxd +++ b/src/sage/combinat/integer_lists/invlex.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories from sage.combinat.integer_lists.base cimport IntegerListsBackend cdef class IntegerListsBackend_invlex(IntegerListsBackend): cdef public bint check diff --git a/src/sage/combinat/integer_lists/invlex.pyx b/src/sage/combinat/integer_lists/invlex.pyx index d8ab12b0a3d..b78c0a5353a 100644 --- a/src/sage/combinat/integer_lists/invlex.pyx +++ b/src/sage/combinat/integer_lists/invlex.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Enumerated set of lists of integers with constraints, in inverse lexicographic order diff --git a/src/sage/combinat/integer_lists/lists.py b/src/sage/combinat/integer_lists/lists.py index 8e121461056..cc2661d38fc 100644 --- a/src/sage/combinat/integer_lists/lists.py +++ b/src/sage/combinat/integer_lists/lists.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Enumerated set of lists of integers with constraints: front-end diff --git a/src/sage/combinat/integer_lists/nn.py b/src/sage/combinat/integer_lists/nn.py index 4329c6164d9..8788dbc6ca8 100644 --- a/src/sage/combinat/integer_lists/nn.py +++ b/src/sage/combinat/integer_lists/nn.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories from sage.sets.family import Family from sage.combinat.integer_lists import IntegerListsLex from sage.rings.semirings.non_negative_integer_semiring import NN diff --git a/src/sage/combinat/integer_matrices.py b/src/sage/combinat/integer_matrices.py index 238d0ef4091..cefc635fbf0 100644 --- a/src/sage/combinat/integer_matrices.py +++ b/src/sage/combinat/integer_matrices.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Counting, generating, and manipulating non-negative integer matrices diff --git a/src/sage/combinat/integer_vector.py b/src/sage/combinat/integer_vector.py index 61a3229e5d0..1da722d945c 100644 --- a/src/sage/combinat/integer_vector.py +++ b/src/sage/combinat/integer_vector.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ (Non-negative) Integer vectors diff --git a/src/sage/combinat/integer_vector_weighted.py b/src/sage/combinat/integer_vector_weighted.py index 7540aca9a07..5b482f42939 100644 --- a/src/sage/combinat/integer_vector_weighted.py +++ b/src/sage/combinat/integer_vector_weighted.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat """ Weighted Integer Vectors diff --git a/src/sage/combinat/integer_vectors_mod_permgroup.py b/src/sage/combinat/integer_vectors_mod_permgroup.py index 7877fedee44..65b6def8d87 100644 --- a/src/sage/combinat/integer_vectors_mod_permgroup.py +++ b/src/sage/combinat/integer_vectors_mod_permgroup.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.groups r""" Integer vectors modulo the action of a permutation group diff --git a/src/sage/combinat/interval_posets.py b/src/sage/combinat/interval_posets.py index bc0cada6c37..70f962f20ca 100644 --- a/src/sage/combinat/interval_posets.py +++ b/src/sage/combinat/interval_posets.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs r""" Tamari Interval-posets diff --git a/src/sage/combinat/k_tableau.py b/src/sage/combinat/k_tableau.py index c7d58d17686..bbca259484e 100644 --- a/src/sage/combinat/k_tableau.py +++ b/src/sage/combinat/k_tableau.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Strong and weak tableaux diff --git a/src/sage/combinat/kazhdan_lusztig.py b/src/sage/combinat/kazhdan_lusztig.py index 11e50379d1d..25c5447e32a 100644 --- a/src/sage/combinat/kazhdan_lusztig.py +++ b/src/sage/combinat/kazhdan_lusztig.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Kazhdan-Lusztig Polynomials diff --git a/src/sage/combinat/key_polynomial.py b/src/sage/combinat/key_polynomial.py index 43db18cc72f..b565b471420 100644 --- a/src/sage/combinat/key_polynomial.py +++ b/src/sage/combinat/key_polynomial.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Key polynomials diff --git a/src/sage/combinat/knutson_tao_puzzles.py b/src/sage/combinat/knutson_tao_puzzles.py index 1c0215fa093..e5e76ccbb57 100644 --- a/src/sage/combinat/knutson_tao_puzzles.py +++ b/src/sage/combinat/knutson_tao_puzzles.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Knutson-Tao Puzzles diff --git a/src/sage/combinat/lr_tableau.py b/src/sage/combinat/lr_tableau.py index a94f576a134..c424dbdbb67 100644 --- a/src/sage/combinat/lr_tableau.py +++ b/src/sage/combinat/lr_tableau.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Littlewood-Richardson tableaux diff --git a/src/sage/combinat/matrices/all.py b/src/sage/combinat/matrices/all.py index 0f6adbb5355..cca0aef31ad 100644 --- a/src/sage/combinat/matrices/all.py +++ b/src/sage/combinat/matrices/all.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Combinatorics on matrices @@ -10,10 +11,14 @@ from sage.misc.namespace_package import install_doc install_doc(__package__, __doc__) +from sage.combinat.matrices.all__sagemath_categories import * + from sage.misc.lazy_import import lazy_import lazy_import('sage.combinat.matrices.latin', ['LatinSquare', 'LatinSquare_generator']) -lazy_import('sage.combinat.matrices.dlxcpp', 'DLXCPP') lazy_import('sage.combinat.matrices.hadamard_matrix', ['hadamard_matrix', 'hadamard_matrix_www']) + +del install_doc +del lazy_import diff --git a/src/sage/combinat/matrices/all__sagemath_categories.py b/src/sage/combinat/matrices/all__sagemath_categories.py new file mode 100644 index 00000000000..b168b0b1127 --- /dev/null +++ b/src/sage/combinat/matrices/all__sagemath_categories.py @@ -0,0 +1,4 @@ +from sage.misc.lazy_import import lazy_import + +lazy_import('sage.combinat.matrices.dlxcpp', 'DLXCPP') +del lazy_import diff --git a/src/sage/combinat/matrices/dancing_links.pyx b/src/sage/combinat/matrices/dancing_links.pyx index 0ef6eed0026..e58974c4914 100644 --- a/src/sage/combinat/matrices/dancing_links.pyx +++ b/src/sage/combinat/matrices/dancing_links.pyx @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-categories # distutils: language = c++ """ Dancing Links internal pyx code diff --git a/src/sage/combinat/matrices/dlxcpp.py b/src/sage/combinat/matrices/dlxcpp.py index 3cdc3774d76..7c41db0a8f7 100644 --- a/src/sage/combinat/matrices/dlxcpp.py +++ b/src/sage/combinat/matrices/dlxcpp.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Dancing links C++ wrapper """ diff --git a/src/sage/combinat/matrices/hadamard_matrix.py b/src/sage/combinat/matrices/hadamard_matrix.py index 14d6a30a8f5..7652da0a179 100644 --- a/src/sage/combinat/matrices/hadamard_matrix.py +++ b/src/sage/combinat/matrices/hadamard_matrix.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.graphs sage.modules r""" Hadamard matrices diff --git a/src/sage/combinat/matrices/latin.py b/src/sage/combinat/matrices/latin.py index cba9aefa694..d70f6d2d55b 100644 --- a/src/sage/combinat/matrices/latin.py +++ b/src/sage/combinat/matrices/latin.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.groups sage.modules r""" Latin Squares diff --git a/src/sage/combinat/misc.py b/src/sage/combinat/misc.py index 2a4341e8f4c..81a3b80c9c5 100644 --- a/src/sage/combinat/misc.py +++ b/src/sage/combinat/misc.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Miscellaneous """ diff --git a/src/sage/combinat/multiset_partition_into_sets_ordered.py b/src/sage/combinat/multiset_partition_into_sets_ordered.py index 967f6ad93af..0e688693f75 100755 --- a/src/sage/combinat/multiset_partition_into_sets_ordered.py +++ b/src/sage/combinat/multiset_partition_into_sets_ordered.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Ordered Multiset Partitions into Sets and the Minimaj Crystal diff --git a/src/sage/combinat/ncsf_qsym/all.py b/src/sage/combinat/ncsf_qsym/all.py index db6cb1f065e..768eb014edf 100644 --- a/src/sage/combinat/ncsf_qsym/all.py +++ b/src/sage/combinat/ncsf_qsym/all.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Non-commutative symmetric functions and quasi-symmetric functions @@ -12,5 +13,10 @@ from sage.misc.namespace_package import install_doc install_doc(__package__, __doc__) -from .qsym import QuasiSymmetricFunctions -from .ncsf import NonCommutativeSymmetricFunctions +from sage.misc.lazy_import import lazy_import + +lazy_import('sage.combinat.ncsf_qsym.qsym', 'QuasiSymmetricFunctions') +lazy_import('sage.combinat.ncsf_qsym.ncsf', 'NonCommutativeSymmetricFunctions') + +del install_doc +del lazy_import diff --git a/src/sage/combinat/ncsf_qsym/combinatorics.py b/src/sage/combinat/ncsf_qsym/combinatorics.py index cba0de3d45b..f53a782d82b 100644 --- a/src/sage/combinat/ncsf_qsym/combinatorics.py +++ b/src/sage/combinat/ncsf_qsym/combinatorics.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Common combinatorial tools diff --git a/src/sage/combinat/ncsf_qsym/generic_basis_code.py b/src/sage/combinat/ncsf_qsym/generic_basis_code.py index 4fe908d727c..a11f23cdf67 100644 --- a/src/sage/combinat/ncsf_qsym/generic_basis_code.py +++ b/src/sage/combinat/ncsf_qsym/generic_basis_code.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules """ Generic code for bases diff --git a/src/sage/combinat/ncsf_qsym/ncsf.py b/src/sage/combinat/ncsf_qsym/ncsf.py index db4492da607..d14f2720286 100644 --- a/src/sage/combinat/ncsf_qsym/ncsf.py +++ b/src/sage/combinat/ncsf_qsym/ncsf.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules """ Non-Commutative Symmetric Functions diff --git a/src/sage/combinat/ncsf_qsym/qsym.py b/src/sage/combinat/ncsf_qsym/qsym.py index de940bda556..410399ddf58 100644 --- a/src/sage/combinat/ncsf_qsym/qsym.py +++ b/src/sage/combinat/ncsf_qsym/qsym.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Quasisymmetric functions diff --git a/src/sage/combinat/ncsf_qsym/tutorial.py b/src/sage/combinat/ncsf_qsym/tutorial.py index 4b7f1d199ae..e4efe77d997 100644 --- a/src/sage/combinat/ncsf_qsym/tutorial.py +++ b/src/sage/combinat/ncsf_qsym/tutorial.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Introduction to Quasisymmetric Functions diff --git a/src/sage/combinat/ncsym/all.py b/src/sage/combinat/ncsym/all.py index 7a174e45ccf..fb16bc191ce 100644 --- a/src/sage/combinat/ncsym/all.py +++ b/src/sage/combinat/ncsym/all.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Symmetric functions in non-commuting variables @@ -11,5 +12,10 @@ from sage.misc.namespace_package import install_doc install_doc(__package__, __doc__) -from .ncsym import SymmetricFunctionsNonCommutingVariables -from .dual import SymmetricFunctionsNonCommutingVariablesDual +from sage.misc.lazy_import import lazy_import + +lazy_import('sage.combinat.ncsym.ncsym', 'SymmetricFunctionsNonCommutingVariables') +lazy_import('sage.combinat.ncsym.dual', 'SymmetricFunctionsNonCommutingVariablesDual') + +del install_doc +del lazy_import diff --git a/src/sage/combinat/ncsym/bases.py b/src/sage/combinat/ncsym/bases.py index 466d1ad42e5..6fe3c6635ab 100644 --- a/src/sage/combinat/ncsym/bases.py +++ b/src/sage/combinat/ncsym/bases.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Bases for `NCSym` diff --git a/src/sage/combinat/ncsym/dual.py b/src/sage/combinat/ncsym/dual.py index 38ae7135882..db2b7350cb8 100644 --- a/src/sage/combinat/ncsym/dual.py +++ b/src/sage/combinat/ncsym/dual.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules """ Dual Symmetric Functions in Non-Commuting Variables diff --git a/src/sage/combinat/ncsym/ncsym.py b/src/sage/combinat/ncsym/ncsym.py index 8ebc0b899bd..5514ecd324f 100644 --- a/src/sage/combinat/ncsym/ncsym.py +++ b/src/sage/combinat/ncsym/ncsym.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules """ Symmetric Functions in Non-Commuting Variables diff --git a/src/sage/combinat/necklace.py b/src/sage/combinat/necklace.py index 54a3dc992f0..abba40c9186 100644 --- a/src/sage/combinat/necklace.py +++ b/src/sage/combinat/necklace.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat """ Necklaces diff --git a/src/sage/combinat/non_decreasing_parking_function.py b/src/sage/combinat/non_decreasing_parking_function.py index 532b4bf8762..ec573aa6272 100644 --- a/src/sage/combinat/non_decreasing_parking_function.py +++ b/src/sage/combinat/non_decreasing_parking_function.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Non-Decreasing Parking Functions diff --git a/src/sage/combinat/nu_dyck_word.py b/src/sage/combinat/nu_dyck_word.py index ddc54a03612..f47fb7c63ba 100644 --- a/src/sage/combinat/nu_dyck_word.py +++ b/src/sage/combinat/nu_dyck_word.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" `\nu`-Dyck Words diff --git a/src/sage/combinat/nu_tamari_lattice.py b/src/sage/combinat/nu_tamari_lattice.py index d28faf6c7ed..386a36a4c1b 100644 --- a/src/sage/combinat/nu_tamari_lattice.py +++ b/src/sage/combinat/nu_tamari_lattice.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # sage.doctest: needs sage.combinat r""" `\nu`-Tamari lattice diff --git a/src/sage/combinat/ordered_tree.py b/src/sage/combinat/ordered_tree.py index e46e02fc971..d7b515e4f15 100644 --- a/src/sage/combinat/ordered_tree.py +++ b/src/sage/combinat/ordered_tree.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs """ Ordered Rooted Trees diff --git a/src/sage/combinat/output.py b/src/sage/combinat/output.py index 7f223921d7e..9f33b726dd1 100644 --- a/src/sage/combinat/output.py +++ b/src/sage/combinat/output.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Output functions diff --git a/src/sage/combinat/parallelogram_polyomino.py b/src/sage/combinat/parallelogram_polyomino.py index 53d35bca831..d0c59f32bb1 100644 --- a/src/sage/combinat/parallelogram_polyomino.py +++ b/src/sage/combinat/parallelogram_polyomino.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Parallelogram Polyominoes diff --git a/src/sage/combinat/parking_functions.py b/src/sage/combinat/parking_functions.py index fc677e47f90..436f402503a 100644 --- a/src/sage/combinat/parking_functions.py +++ b/src/sage/combinat/parking_functions.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Parking Functions diff --git a/src/sage/combinat/partition.py b/src/sage/combinat/partition.py index cb65aec8aec..f5c83e8bb3a 100644 --- a/src/sage/combinat/partition.py +++ b/src/sage/combinat/partition.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Integer partitions diff --git a/src/sage/combinat/partition_algebra.py b/src/sage/combinat/partition_algebra.py index d1d9db36979..586fce9d615 100644 --- a/src/sage/combinat/partition_algebra.py +++ b/src/sage/combinat/partition_algebra.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Partition/Diagram Algebras diff --git a/src/sage/combinat/partition_kleshchev.py b/src/sage/combinat/partition_kleshchev.py index 44204aad33b..bcf454ad36e 100644 --- a/src/sage/combinat/partition_kleshchev.py +++ b/src/sage/combinat/partition_kleshchev.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Kleshchev partitions diff --git a/src/sage/combinat/partition_shifting_algebras.py b/src/sage/combinat/partition_shifting_algebras.py index 90f1f10d59f..c32dad544af 100644 --- a/src/sage/combinat/partition_shifting_algebras.py +++ b/src/sage/combinat/partition_shifting_algebras.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Partition Shifting Algebras diff --git a/src/sage/combinat/partition_tuple.py b/src/sage/combinat/partition_tuple.py index 182c0b8813d..c0eafc6c14d 100644 --- a/src/sage/combinat/partition_tuple.py +++ b/src/sage/combinat/partition_tuple.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Partition tuples diff --git a/src/sage/combinat/partitions.pyx b/src/sage/combinat/partitions.pyx index c461797067c..fe4c5c3b65d 100644 --- a/src/sage/combinat/partitions.pyx +++ b/src/sage/combinat/partitions.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat """ Iterators over the partitions of an integer diff --git a/src/sage/combinat/path_tableaux/all.py b/src/sage/combinat/path_tableaux/all.py index 42a2e8ca4a5..38c8bbbc181 100644 --- a/src/sage/combinat/path_tableaux/all.py +++ b/src/sage/combinat/path_tableaux/all.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Path tableaux @@ -10,3 +11,4 @@ # install the docstring of this module to the containing package from sage.misc.namespace_package import install_doc install_doc(__package__, __doc__) +del install_doc diff --git a/src/sage/combinat/path_tableaux/catalog.py b/src/sage/combinat/path_tableaux/catalog.py index 0605c6da583..77cd5a33722 100644 --- a/src/sage/combinat/path_tableaux/catalog.py +++ b/src/sage/combinat/path_tableaux/catalog.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Catalog of Path Tableaux diff --git a/src/sage/combinat/path_tableaux/dyck_path.py b/src/sage/combinat/path_tableaux/dyck_path.py index c3c24929e99..0286b65e827 100644 --- a/src/sage/combinat/path_tableaux/dyck_path.py +++ b/src/sage/combinat/path_tableaux/dyck_path.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Dyck Paths diff --git a/src/sage/combinat/path_tableaux/frieze.py b/src/sage/combinat/path_tableaux/frieze.py index 7e667743e4a..63f0131b2d7 100644 --- a/src/sage/combinat/path_tableaux/frieze.py +++ b/src/sage/combinat/path_tableaux/frieze.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Frieze Patterns diff --git a/src/sage/combinat/path_tableaux/path_tableau.py b/src/sage/combinat/path_tableaux/path_tableau.py index 66bec5fe5d2..afc2a7cfba6 100644 --- a/src/sage/combinat/path_tableaux/path_tableau.py +++ b/src/sage/combinat/path_tableaux/path_tableau.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Path Tableaux diff --git a/src/sage/combinat/path_tableaux/semistandard.py b/src/sage/combinat/path_tableaux/semistandard.py index 040710d48f0..394b2ebede7 100644 --- a/src/sage/combinat/path_tableaux/semistandard.py +++ b/src/sage/combinat/path_tableaux/semistandard.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Semistandard Tableaux ===================== diff --git a/src/sage/combinat/perfect_matching.py b/src/sage/combinat/perfect_matching.py index 84e481cb621..a1004d66429 100644 --- a/src/sage/combinat/perfect_matching.py +++ b/src/sage/combinat/perfect_matching.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Perfect matchings diff --git a/src/sage/combinat/permutation.py b/src/sage/combinat/permutation.py index 3919d9866da..0a7b7f851ae 100644 --- a/src/sage/combinat/permutation.py +++ b/src/sage/combinat/permutation.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Permutations diff --git a/src/sage/combinat/permutation_cython.pxd b/src/sage/combinat/permutation_cython.pxd index 094dafc8ddc..45e190dc059 100644 --- a/src/sage/combinat/permutation_cython.pxd +++ b/src/sage/combinat/permutation_cython.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories from cpython.array cimport array cdef void reset_swap(int n, int *c, int *o) noexcept diff --git a/src/sage/combinat/permutation_cython.pyx b/src/sage/combinat/permutation_cython.pyx index d16a0b175a9..38bfe1ec8a5 100644 --- a/src/sage/combinat/permutation_cython.pyx +++ b/src/sage/combinat/permutation_cython.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Permutations (Cython file) diff --git a/src/sage/combinat/plane_partition.py b/src/sage/combinat/plane_partition.py index f4fe1286cef..58ddb02d616 100644 --- a/src/sage/combinat/plane_partition.py +++ b/src/sage/combinat/plane_partition.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Plane Partitions diff --git a/src/sage/combinat/posets/all.py b/src/sage/combinat/posets/all.py index f7f8bdcc7fc..f481f16e446 100644 --- a/src/sage/combinat/posets/all.py +++ b/src/sage/combinat/posets/all.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs r""" Posets @@ -36,8 +37,10 @@ from sage.misc.namespace_package import install_doc install_doc(__package__, __doc__) -from .posets import Poset +from sage.combinat.posets.posets import Poset -from .lattices import LatticePoset, MeetSemilattice, JoinSemilattice +from sage.combinat.posets.lattices import LatticePoset, MeetSemilattice, JoinSemilattice -from .poset_examples import posets, Posets +from sage.combinat.posets.poset_examples import posets, Posets + +del install_doc diff --git a/src/sage/combinat/posets/all__sagemath_flint.py b/src/sage/combinat/posets/all__sagemath_flint.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/combinat/posets/cartesian_product.py b/src/sage/combinat/posets/cartesian_product.py index 325789a6269..12322b39274 100644 --- a/src/sage/combinat/posets/cartesian_product.py +++ b/src/sage/combinat/posets/cartesian_product.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs """ Cartesian products of Posets diff --git a/src/sage/combinat/posets/d_complete.py b/src/sage/combinat/posets/d_complete.py index aa3c527ef8f..9d2a6ca2ae3 100644 --- a/src/sage/combinat/posets/d_complete.py +++ b/src/sage/combinat/posets/d_complete.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # sage.doctest: needs sage.combinat sage.modules r""" D-Complete Posets diff --git a/src/sage/combinat/posets/elements.py b/src/sage/combinat/posets/elements.py index 5d033c5c26a..97de070ceb9 100644 --- a/src/sage/combinat/posets/elements.py +++ b/src/sage/combinat/posets/elements.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # sage.doctest: needs sage.modules r""" Elements of posets, lattices, semilattices, etc. diff --git a/src/sage/combinat/posets/forest.py b/src/sage/combinat/posets/forest.py index f730b4147de..73b97c8d1f4 100644 --- a/src/sage/combinat/posets/forest.py +++ b/src/sage/combinat/posets/forest.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs r""" Forest Posets diff --git a/src/sage/combinat/posets/hasse_cython.pyx b/src/sage/combinat/posets/hasse_cython.pyx index 2048febd192..f53b47a878c 100644 --- a/src/sage/combinat/posets/hasse_cython.pyx +++ b/src/sage/combinat/posets/hasse_cython.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # cython: binding=True r""" Some fast computations for finite posets diff --git a/src/sage/combinat/posets/hasse_cython_flint.pyx b/src/sage/combinat/posets/hasse_cython_flint.pyx index 5d2c5b967ae..79e1ccfaaed 100644 --- a/src/sage/combinat/posets/hasse_cython_flint.pyx +++ b/src/sage/combinat/posets/hasse_cython_flint.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint # cython: binding=True # sage.doctest: needs sage.libs.flint sage.graphs sage.modules r""" diff --git a/src/sage/combinat/posets/hasse_diagram.py b/src/sage/combinat/posets/hasse_diagram.py index 3622c934234..d8d25a11fa5 100644 --- a/src/sage/combinat/posets/hasse_diagram.py +++ b/src/sage/combinat/posets/hasse_diagram.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs r""" Hasse diagrams of posets diff --git a/src/sage/combinat/posets/incidence_algebras.py b/src/sage/combinat/posets/incidence_algebras.py index 3fc3f2a0b76..aef6d739669 100644 --- a/src/sage/combinat/posets/incidence_algebras.py +++ b/src/sage/combinat/posets/incidence_algebras.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # sage.doctest: needs sage.modules r""" Incidence Algebras diff --git a/src/sage/combinat/posets/lattices.py b/src/sage/combinat/posets/lattices.py index b626b2eb81f..74fc21a48cc 100644 --- a/src/sage/combinat/posets/lattices.py +++ b/src/sage/combinat/posets/lattices.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # sage.doctest: needs sage.modules r""" Finite lattices and semilattices diff --git a/src/sage/combinat/posets/linear_extension_iterator.pyx b/src/sage/combinat/posets/linear_extension_iterator.pyx index 142287d88c2..dbd927e8956 100644 --- a/src/sage/combinat/posets/linear_extension_iterator.pyx +++ b/src/sage/combinat/posets/linear_extension_iterator.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # cython: binding=True r""" Fast linear extension iterator diff --git a/src/sage/combinat/posets/linear_extensions.py b/src/sage/combinat/posets/linear_extensions.py index 640dff1e708..b47821257f9 100644 --- a/src/sage/combinat/posets/linear_extensions.py +++ b/src/sage/combinat/posets/linear_extensions.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs r""" Linear Extensions of Posets diff --git a/src/sage/combinat/posets/mobile.py b/src/sage/combinat/posets/mobile.py index 5e18f5c4856..3ae921afd97 100644 --- a/src/sage/combinat/posets/mobile.py +++ b/src/sage/combinat/posets/mobile.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs """ Mobile posets """ diff --git a/src/sage/combinat/posets/moebius_algebra.py b/src/sage/combinat/posets/moebius_algebra.py index 5a8074c3272..8239cebda60 100644 --- a/src/sage/combinat/posets/moebius_algebra.py +++ b/src/sage/combinat/posets/moebius_algebra.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # sage.doctest: needs sage.modules r""" Möbius Algebras diff --git a/src/sage/combinat/posets/poset_examples.py b/src/sage/combinat/posets/poset_examples.py index ae6887e5e89..0b9503cf32c 100644 --- a/src/sage/combinat/posets/poset_examples.py +++ b/src/sage/combinat/posets/poset_examples.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # sage.doctest: needs sage.combinat sage.modules r""" Catalog of posets and lattices diff --git a/src/sage/combinat/posets/posets.py b/src/sage/combinat/posets/posets.py index bea6feab369..de8f9028545 100644 --- a/src/sage/combinat/posets/posets.py +++ b/src/sage/combinat/posets/posets.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # sage.doctest: needs sage.graphs sage.modules r""" Finite posets diff --git a/src/sage/combinat/q_analogues.py b/src/sage/combinat/q_analogues.py index 561372ff2b0..1c6bb90ea46 100644 --- a/src/sage/combinat/q_analogues.py +++ b/src/sage/combinat/q_analogues.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" `q`-Analogues """ diff --git a/src/sage/combinat/q_bernoulli.pyx b/src/sage/combinat/q_bernoulli.pyx index 854a80190f3..ec22bcdcdd9 100644 --- a/src/sage/combinat/q_bernoulli.pyx +++ b/src/sage/combinat/q_bernoulli.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat """ `q`-Bernoulli Numbers and Polynomials """ diff --git a/src/sage/combinat/quickref.py b/src/sage/combinat/quickref.py index ee7d9ca8ec1..17ca1fd9d47 100644 --- a/src/sage/combinat/quickref.py +++ b/src/sage/combinat/quickref.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Combinatorics quickref diff --git a/src/sage/combinat/ranker.py b/src/sage/combinat/ranker.py index d56dbd54f45..feb8409b6f4 100644 --- a/src/sage/combinat/ranker.py +++ b/src/sage/combinat/ranker.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Rankers """ diff --git a/src/sage/combinat/recognizable_series.py b/src/sage/combinat/recognizable_series.py index 8194e695d13..2f2f1c2b331 100644 --- a/src/sage/combinat/recognizable_series.py +++ b/src/sage/combinat/recognizable_series.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Recognizable Series diff --git a/src/sage/combinat/regular_sequence.py b/src/sage/combinat/regular_sequence.py index 6822fc7dd3d..6dab274aa98 100644 --- a/src/sage/combinat/regular_sequence.py +++ b/src/sage/combinat/regular_sequence.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules sage.symbolic r""" `k`-regular sequences diff --git a/src/sage/combinat/restricted_growth.py b/src/sage/combinat/restricted_growth.py index b638356e4db..37e33b3688c 100644 --- a/src/sage/combinat/restricted_growth.py +++ b/src/sage/combinat/restricted_growth.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat """ Restricted growth arrays diff --git a/src/sage/combinat/ribbon.py b/src/sage/combinat/ribbon.py index 6c662f505c7..557ed1aa9a6 100644 --- a/src/sage/combinat/ribbon.py +++ b/src/sage/combinat/ribbon.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Ribbons """ diff --git a/src/sage/combinat/ribbon_shaped_tableau.py b/src/sage/combinat/ribbon_shaped_tableau.py index 84458d104f3..3effad089c1 100644 --- a/src/sage/combinat/ribbon_shaped_tableau.py +++ b/src/sage/combinat/ribbon_shaped_tableau.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Ribbon Shaped Tableaux """ diff --git a/src/sage/combinat/ribbon_tableau.py b/src/sage/combinat/ribbon_tableau.py index db82cbfd660..67d8485c315 100644 --- a/src/sage/combinat/ribbon_tableau.py +++ b/src/sage/combinat/ribbon_tableau.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Ribbon Tableaux """ diff --git a/src/sage/combinat/rigged_configurations/all.py b/src/sage/combinat/rigged_configurations/all.py index 36a10774a89..5c22fa880ba 100644 --- a/src/sage/combinat/rigged_configurations/all.py +++ b/src/sage/combinat/rigged_configurations/all.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Rigged configurations @@ -41,3 +42,5 @@ lazy_import('sage.combinat.rigged_configurations.rigged_configurations', 'RiggedConfigurations') +del lazy_import +del install_doc diff --git a/src/sage/combinat/rigged_configurations/bij_abstract_class.py b/src/sage/combinat/rigged_configurations/bij_abstract_class.py index 520ce241d57..5c553841531 100644 --- a/src/sage/combinat/rigged_configurations/bij_abstract_class.py +++ b/src/sage/combinat/rigged_configurations/bij_abstract_class.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Abstract classes for the rigged configuration bijections diff --git a/src/sage/combinat/rigged_configurations/bij_infinity.py b/src/sage/combinat/rigged_configurations/bij_infinity.py index 0fd8ee7fdc9..03ad4f03aeb 100644 --- a/src/sage/combinat/rigged_configurations/bij_infinity.py +++ b/src/sage/combinat/rigged_configurations/bij_infinity.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Bijection between rigged configurations for `B(\infty)` and marginally large tableaux diff --git a/src/sage/combinat/rigged_configurations/bij_type_A.py b/src/sage/combinat/rigged_configurations/bij_type_A.py index 2a623f322da..6a5dbdb7e02 100644 --- a/src/sage/combinat/rigged_configurations/bij_type_A.py +++ b/src/sage/combinat/rigged_configurations/bij_type_A.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Bijection classes for type `A_n^{(1)}` diff --git a/src/sage/combinat/rigged_configurations/bij_type_A2_dual.py b/src/sage/combinat/rigged_configurations/bij_type_A2_dual.py index ceb6ad8f1b8..080b73e900d 100644 --- a/src/sage/combinat/rigged_configurations/bij_type_A2_dual.py +++ b/src/sage/combinat/rigged_configurations/bij_type_A2_dual.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Bijection classes for type `A_{2n}^{(2)\dagger}` diff --git a/src/sage/combinat/rigged_configurations/bij_type_A2_even.py b/src/sage/combinat/rigged_configurations/bij_type_A2_even.py index 8fa552a1077..b28430bd836 100644 --- a/src/sage/combinat/rigged_configurations/bij_type_A2_even.py +++ b/src/sage/combinat/rigged_configurations/bij_type_A2_even.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Bijection classes for type `A_{2n}^{(2)}` diff --git a/src/sage/combinat/rigged_configurations/bij_type_A2_odd.py b/src/sage/combinat/rigged_configurations/bij_type_A2_odd.py index ea7862ef3ef..cbedbae3fe6 100644 --- a/src/sage/combinat/rigged_configurations/bij_type_A2_odd.py +++ b/src/sage/combinat/rigged_configurations/bij_type_A2_odd.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Bijection classes for type `A_{2n-1}^{(2)}`. diff --git a/src/sage/combinat/rigged_configurations/bij_type_B.py b/src/sage/combinat/rigged_configurations/bij_type_B.py index 51fd8f198bc..46889635bd6 100644 --- a/src/sage/combinat/rigged_configurations/bij_type_B.py +++ b/src/sage/combinat/rigged_configurations/bij_type_B.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Bijection classes for type `B_n^{(1)}` diff --git a/src/sage/combinat/rigged_configurations/bij_type_C.py b/src/sage/combinat/rigged_configurations/bij_type_C.py index 9e0997e1479..182f178230a 100644 --- a/src/sage/combinat/rigged_configurations/bij_type_C.py +++ b/src/sage/combinat/rigged_configurations/bij_type_C.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Bijection classes for type `C_n^{(1)}` diff --git a/src/sage/combinat/rigged_configurations/bij_type_D.py b/src/sage/combinat/rigged_configurations/bij_type_D.py index ab9b41b89bd..9b102414dfd 100644 --- a/src/sage/combinat/rigged_configurations/bij_type_D.py +++ b/src/sage/combinat/rigged_configurations/bij_type_D.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Bijection classes for type `D_n^{(1)}` diff --git a/src/sage/combinat/rigged_configurations/bij_type_D_tri.py b/src/sage/combinat/rigged_configurations/bij_type_D_tri.py index b82ff955642..37770d2a07b 100644 --- a/src/sage/combinat/rigged_configurations/bij_type_D_tri.py +++ b/src/sage/combinat/rigged_configurations/bij_type_D_tri.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Bijection classes for type `D_4^{(3)}` diff --git a/src/sage/combinat/rigged_configurations/bij_type_D_twisted.py b/src/sage/combinat/rigged_configurations/bij_type_D_twisted.py index ce177ffb468..431e137223c 100644 --- a/src/sage/combinat/rigged_configurations/bij_type_D_twisted.py +++ b/src/sage/combinat/rigged_configurations/bij_type_D_twisted.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Bijection classes for type `D_{n+1}^{(2)}` diff --git a/src/sage/combinat/rigged_configurations/bij_type_E67.py b/src/sage/combinat/rigged_configurations/bij_type_E67.py index af59d3048f5..7c14ca00739 100644 --- a/src/sage/combinat/rigged_configurations/bij_type_E67.py +++ b/src/sage/combinat/rigged_configurations/bij_type_E67.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Bijection classes for type `E_{6,7}^{(1)}` diff --git a/src/sage/combinat/rigged_configurations/bijection.py b/src/sage/combinat/rigged_configurations/bijection.py index 850270930a6..e236611bfd2 100644 --- a/src/sage/combinat/rigged_configurations/bijection.py +++ b/src/sage/combinat/rigged_configurations/bijection.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Bijection between rigged configurations and KR tableaux diff --git a/src/sage/combinat/rigged_configurations/kleber_tree.py b/src/sage/combinat/rigged_configurations/kleber_tree.py index c3a2bbeaf0a..cebc4b277ea 100644 --- a/src/sage/combinat/rigged_configurations/kleber_tree.py +++ b/src/sage/combinat/rigged_configurations/kleber_tree.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.graphs sage.modules r""" Kleber Trees diff --git a/src/sage/combinat/rigged_configurations/kr_tableaux.py b/src/sage/combinat/rigged_configurations/kr_tableaux.py index 8bdc1d275b9..7073cbb3a05 100644 --- a/src/sage/combinat/rigged_configurations/kr_tableaux.py +++ b/src/sage/combinat/rigged_configurations/kr_tableaux.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Kirillov-Reshetikhin Tableaux diff --git a/src/sage/combinat/rigged_configurations/rc_crystal.py b/src/sage/combinat/rigged_configurations/rc_crystal.py index 171928862ef..8e171da5871 100644 --- a/src/sage/combinat/rigged_configurations/rc_crystal.py +++ b/src/sage/combinat/rigged_configurations/rc_crystal.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Crystal of Rigged Configurations diff --git a/src/sage/combinat/rigged_configurations/rc_infinity.py b/src/sage/combinat/rigged_configurations/rc_infinity.py index 5d5ec854771..d5dc63dfc49 100644 --- a/src/sage/combinat/rigged_configurations/rc_infinity.py +++ b/src/sage/combinat/rigged_configurations/rc_infinity.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Rigged Configurations of `\mathcal{B}(\infty)` diff --git a/src/sage/combinat/rigged_configurations/rigged_configuration_element.py b/src/sage/combinat/rigged_configurations/rigged_configuration_element.py index 8e1e76ed41d..0f8572f04cf 100644 --- a/src/sage/combinat/rigged_configurations/rigged_configuration_element.py +++ b/src/sage/combinat/rigged_configurations/rigged_configuration_element.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Rigged Configuration Elements diff --git a/src/sage/combinat/rigged_configurations/rigged_configurations.py b/src/sage/combinat/rigged_configurations/rigged_configurations.py index 33de9927c12..e55947bb1f3 100644 --- a/src/sage/combinat/rigged_configurations/rigged_configurations.py +++ b/src/sage/combinat/rigged_configurations/rigged_configurations.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Rigged Configurations diff --git a/src/sage/combinat/rigged_configurations/rigged_partition.pxd b/src/sage/combinat/rigged_configurations/rigged_partition.pxd index e99258f33b2..1da1c05cf64 100644 --- a/src/sage/combinat/rigged_configurations/rigged_partition.pxd +++ b/src/sage/combinat/rigged_configurations/rigged_partition.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat from sage.structure.sage_object cimport SageObject cdef class RiggedPartition(SageObject): diff --git a/src/sage/combinat/rigged_configurations/rigged_partition.pyx b/src/sage/combinat/rigged_configurations/rigged_partition.pyx index 97ff48d7918..77618dc2afc 100644 --- a/src/sage/combinat/rigged_configurations/rigged_partition.pyx +++ b/src/sage/combinat/rigged_configurations/rigged_partition.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Rigged Partitions diff --git a/src/sage/combinat/rigged_configurations/tensor_product_kr_tableaux.py b/src/sage/combinat/rigged_configurations/tensor_product_kr_tableaux.py index a2ccd72e902..f78e8821dc1 100644 --- a/src/sage/combinat/rigged_configurations/tensor_product_kr_tableaux.py +++ b/src/sage/combinat/rigged_configurations/tensor_product_kr_tableaux.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Tensor Product of Kirillov-Reshetikhin Tableaux diff --git a/src/sage/combinat/rigged_configurations/tensor_product_kr_tableaux_element.py b/src/sage/combinat/rigged_configurations/tensor_product_kr_tableaux_element.py index 8db94443af2..ed33700bb28 100644 --- a/src/sage/combinat/rigged_configurations/tensor_product_kr_tableaux_element.py +++ b/src/sage/combinat/rigged_configurations/tensor_product_kr_tableaux_element.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Tensor Product of Kirillov-Reshetikhin Tableaux Elements diff --git a/src/sage/combinat/root_system/all.py b/src/sage/combinat/root_system/all.py index 263a4d916d2..645b64640c4 100644 --- a/src/sage/combinat/root_system/all.py +++ b/src/sage/combinat/root_system/all.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Root Systems @@ -121,12 +122,12 @@ from sage.misc.lazy_import import lazy_import -from .cartan_type import CartanType -from .dynkin_diagram import DynkinDiagram -from .cartan_matrix import CartanMatrix -from .coxeter_matrix import CoxeterMatrix -from .coxeter_type import CoxeterType -from .root_system import RootSystem, WeylDim +from sage.combinat.root_system.cartan_type import CartanType +lazy_import('sage.combinat.root_system.dynkin_diagram', 'DynkinDiagram') +lazy_import('sage.combinat.root_system.cartan_matrix', 'CartanMatrix') +lazy_import('sage.combinat.root_system.coxeter_matrix', 'CoxeterMatrix') +from sage.combinat.root_system.coxeter_type import CoxeterType +from sage.combinat.root_system.root_system import RootSystem, WeylDim lazy_import('sage.combinat.root_system.weyl_group', ['WeylGroup', 'WeylGroupElement']) lazy_import('sage.combinat.root_system.reflection_group_real', @@ -136,7 +137,11 @@ lazy_import('sage.combinat.root_system.coxeter_group', 'CoxeterGroup') lazy_import('sage.combinat.root_system.weyl_characters', ['WeylCharacterRing', 'WeightRing']) -from .branching_rules import BranchingRule, branching_rule_from_plethysm, branching_rule - -lazy_import('sage.combinat.root_system.non_symmetric_macdonald_polynomials', 'NonSymmetricMacdonaldPolynomials') -lazy_import('sage.combinat.root_system.integrable_representations', 'IntegrableRepresentation') +from sage.combinat.root_system.branching_rules import BranchingRule, branching_rule_from_plethysm, branching_rule + +lazy_import('sage.combinat.root_system.non_symmetric_macdonald_polynomials', + 'NonSymmetricMacdonaldPolynomials') +lazy_import('sage.combinat.root_system.integrable_representations', + 'IntegrableRepresentation') +del lazy_import +del install_doc diff --git a/src/sage/combinat/root_system/all__sagemath_gap.py b/src/sage/combinat/root_system/all__sagemath_gap.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/combinat/root_system/ambient_space.py b/src/sage/combinat/root_system/ambient_space.py index a8aa765ee5d..54b1461762b 100644 --- a/src/sage/combinat/root_system/ambient_space.py +++ b/src/sage/combinat/root_system/ambient_space.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Ambient lattices and ambient spaces """ diff --git a/src/sage/combinat/root_system/associahedron.py b/src/sage/combinat/root_system/associahedron.py index 448b1009036..8f111dbbf0c 100644 --- a/src/sage/combinat/root_system/associahedron.py +++ b/src/sage/combinat/root_system/associahedron.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.combinat sage.geometry.polyhedron r""" Associahedron diff --git a/src/sage/combinat/root_system/braid_move_calculator.py b/src/sage/combinat/root_system/braid_move_calculator.py index 38931a00229..aa89a038084 100644 --- a/src/sage/combinat/root_system/braid_move_calculator.py +++ b/src/sage/combinat/root_system/braid_move_calculator.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.libs.gap """ Braid Move Calculator diff --git a/src/sage/combinat/root_system/braid_orbit.pyx b/src/sage/combinat/root_system/braid_orbit.pyx index 5107038df4c..e43a69d3cc0 100644 --- a/src/sage/combinat/root_system/braid_orbit.pyx +++ b/src/sage/combinat/root_system/braid_orbit.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # cython: wraparound=False, boundscheck=False """ Braid Orbit diff --git a/src/sage/combinat/root_system/branching_rules.py b/src/sage/combinat/root_system/branching_rules.py index b2ace92a56d..25c1644e9f0 100644 --- a/src/sage/combinat/root_system/branching_rules.py +++ b/src/sage/combinat/root_system/branching_rules.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.libs.gap """ Branching Rules diff --git a/src/sage/combinat/root_system/cartan_matrix.py b/src/sage/combinat/root_system/cartan_matrix.py index 23da5ab2e4b..e1d266159c3 100644 --- a/src/sage/combinat/root_system/cartan_matrix.py +++ b/src/sage/combinat/root_system/cartan_matrix.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Cartan matrices diff --git a/src/sage/combinat/root_system/cartan_type.py b/src/sage/combinat/root_system/cartan_type.py index e4526d5f079..d8c79be478d 100644 --- a/src/sage/combinat/root_system/cartan_type.py +++ b/src/sage/combinat/root_system/cartan_type.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Cartan types diff --git a/src/sage/combinat/root_system/coxeter_group.py b/src/sage/combinat/root_system/coxeter_group.py index 012daffdf87..b7b7deb7fe4 100644 --- a/src/sage/combinat/root_system/coxeter_group.py +++ b/src/sage/combinat/root_system/coxeter_group.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Coxeter Groups """ diff --git a/src/sage/combinat/root_system/coxeter_matrix.py b/src/sage/combinat/root_system/coxeter_matrix.py index 4ac8ea335ed..d4e97a18b49 100644 --- a/src/sage/combinat/root_system/coxeter_matrix.py +++ b/src/sage/combinat/root_system/coxeter_matrix.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.graphs """ Coxeter Matrices diff --git a/src/sage/combinat/root_system/coxeter_type.py b/src/sage/combinat/root_system/coxeter_type.py index 88a53e4bd98..fc4e0d824bf 100644 --- a/src/sage/combinat/root_system/coxeter_type.py +++ b/src/sage/combinat/root_system/coxeter_type.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Coxeter Types """ diff --git a/src/sage/combinat/root_system/dynkin_diagram.py b/src/sage/combinat/root_system/dynkin_diagram.py index f5aa29ba129..4f5ca0c1e11 100644 --- a/src/sage/combinat/root_system/dynkin_diagram.py +++ b/src/sage/combinat/root_system/dynkin_diagram.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.combinat sage.graphs """ Dynkin diagrams diff --git a/src/sage/combinat/root_system/extended_affine_weyl_group.py b/src/sage/combinat/root_system/extended_affine_weyl_group.py index e81477653c2..f257dc7e455 100644 --- a/src/sage/combinat/root_system/extended_affine_weyl_group.py +++ b/src/sage/combinat/root_system/extended_affine_weyl_group.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.libs.gap r""" Extended Affine Weyl Groups diff --git a/src/sage/combinat/root_system/fundamental_group.py b/src/sage/combinat/root_system/fundamental_group.py index 8905471a5ab..2024231334e 100644 --- a/src/sage/combinat/root_system/fundamental_group.py +++ b/src/sage/combinat/root_system/fundamental_group.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.graphs sage.groups r""" Fundamental Group of an Extended Affine Weyl Group diff --git a/src/sage/combinat/root_system/hecke_algebra_representation.py b/src/sage/combinat/root_system/hecke_algebra_representation.py index 1dc8d16ad59..dea69183500 100644 --- a/src/sage/combinat/root_system/hecke_algebra_representation.py +++ b/src/sage/combinat/root_system/hecke_algebra_representation.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.libs.gap sage.groups r""" Hecke algebra representations diff --git a/src/sage/combinat/root_system/integrable_representations.py b/src/sage/combinat/root_system/integrable_representations.py index a1cb764e19a..10cd1427782 100644 --- a/src/sage/combinat/root_system/integrable_representations.py +++ b/src/sage/combinat/root_system/integrable_representations.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.graphs sage.modules """ Integrable Representations of Affine Lie Algebras diff --git a/src/sage/combinat/root_system/non_symmetric_macdonald_polynomials.py b/src/sage/combinat/root_system/non_symmetric_macdonald_polynomials.py index 34e7e0817f1..a4c211f12e4 100644 --- a/src/sage/combinat/root_system/non_symmetric_macdonald_polynomials.py +++ b/src/sage/combinat/root_system/non_symmetric_macdonald_polynomials.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.graphs r""" Nonsymmetric Macdonald polynomials diff --git a/src/sage/combinat/root_system/pieri_factors.py b/src/sage/combinat/root_system/pieri_factors.py index 28b26d8bf6f..ee8e22e1f66 100644 --- a/src/sage/combinat/root_system/pieri_factors.py +++ b/src/sage/combinat/root_system/pieri_factors.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.libs.gap r""" Pieri Factors diff --git a/src/sage/combinat/root_system/plot.py b/src/sage/combinat/root_system/plot.py index 5d591febe43..4ace75da390 100644 --- a/src/sage/combinat/root_system/plot.py +++ b/src/sage/combinat/root_system/plot.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.geometry.polyhedron sage.plot sage.symbolic r""" Tutorial: visualizing root systems diff --git a/src/sage/combinat/root_system/reflection_group_c.pyx b/src/sage/combinat/root_system/reflection_group_c.pyx index dbfc76282f8..0a5c4d6792a 100644 --- a/src/sage/combinat/root_system/reflection_group_c.pyx +++ b/src/sage/combinat/root_system/reflection_group_c.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-gap # cython: wraparound=False, boundscheck=False # sage.doctest: needs sage.graphs r""" diff --git a/src/sage/combinat/root_system/reflection_group_complex.py b/src/sage/combinat/root_system/reflection_group_complex.py index 0b80aa73a71..91405dfb630 100644 --- a/src/sage/combinat/root_system/reflection_group_complex.py +++ b/src/sage/combinat/root_system/reflection_group_complex.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-gap # sage.doctest: optional - gap3, needs sage.libs.gap r""" Finite complex reflection groups diff --git a/src/sage/combinat/root_system/reflection_group_element.pxd b/src/sage/combinat/root_system/reflection_group_element.pxd index 218dd6c2575..8c2e98cbb2a 100644 --- a/src/sage/combinat/root_system/reflection_group_element.pxd +++ b/src/sage/combinat/root_system/reflection_group_element.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-gap from sage.groups.perm_gps.permgroup_element cimport PermutationGroupElement cdef class ComplexReflectionGroupElement(PermutationGroupElement): diff --git a/src/sage/combinat/root_system/reflection_group_element.pyx b/src/sage/combinat/root_system/reflection_group_element.pyx index 3d81a84ff4b..42912520be8 100644 --- a/src/sage/combinat/root_system/reflection_group_element.pyx +++ b/src/sage/combinat/root_system/reflection_group_element.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-gap r""" Reflection group elements diff --git a/src/sage/combinat/root_system/reflection_group_real.py b/src/sage/combinat/root_system/reflection_group_real.py index 8ae2acee1c8..7cdf6216596 100644 --- a/src/sage/combinat/root_system/reflection_group_real.py +++ b/src/sage/combinat/root_system/reflection_group_real.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-gap # sage.doctest: optional - gap3 r""" Finite real reflection groups diff --git a/src/sage/combinat/root_system/root_lattice_realization_algebras.py b/src/sage/combinat/root_system/root_lattice_realization_algebras.py index 30251e983a7..adac4a1090b 100644 --- a/src/sage/combinat/root_system/root_lattice_realization_algebras.py +++ b/src/sage/combinat/root_system/root_lattice_realization_algebras.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Group algebras of root lattice realizations """ diff --git a/src/sage/combinat/root_system/root_lattice_realizations.py b/src/sage/combinat/root_system/root_lattice_realizations.py index ea1f4d285b2..ea7a29e0d9c 100644 --- a/src/sage/combinat/root_system/root_lattice_realizations.py +++ b/src/sage/combinat/root_system/root_lattice_realizations.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Root lattice realizations """ diff --git a/src/sage/combinat/root_system/root_space.py b/src/sage/combinat/root_system/root_space.py index a375b3b8074..a6436855d98 100644 --- a/src/sage/combinat/root_system/root_space.py +++ b/src/sage/combinat/root_system/root_space.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Root lattices and root spaces """ diff --git a/src/sage/combinat/root_system/root_system.py b/src/sage/combinat/root_system/root_system.py index c80cffbdb87..e3d5e0048bd 100644 --- a/src/sage/combinat/root_system/root_system.py +++ b/src/sage/combinat/root_system/root_system.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Root systems ============ diff --git a/src/sage/combinat/root_system/type_A.py b/src/sage/combinat/root_system/type_A.py index 48d1474c1f4..6f9ba424e59 100644 --- a/src/sage/combinat/root_system/type_A.py +++ b/src/sage/combinat/root_system/type_A.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Root system data for type A """ diff --git a/src/sage/combinat/root_system/type_A_affine.py b/src/sage/combinat/root_system/type_A_affine.py index 57ed18afd01..cbd0b2798a4 100644 --- a/src/sage/combinat/root_system/type_A_affine.py +++ b/src/sage/combinat/root_system/type_A_affine.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Root system data for (untwisted) type A affine """ diff --git a/src/sage/combinat/root_system/type_A_infinity.py b/src/sage/combinat/root_system/type_A_infinity.py index 9e0f4711ccd..9b7a2c3a112 100644 --- a/src/sage/combinat/root_system/type_A_infinity.py +++ b/src/sage/combinat/root_system/type_A_infinity.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Root system data for type A infinity """ diff --git a/src/sage/combinat/root_system/type_B.py b/src/sage/combinat/root_system/type_B.py index 8e9cb6e75a5..2e59dec208f 100644 --- a/src/sage/combinat/root_system/type_B.py +++ b/src/sage/combinat/root_system/type_B.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Root system data for type B """ diff --git a/src/sage/combinat/root_system/type_BC_affine.py b/src/sage/combinat/root_system/type_BC_affine.py index 740dfa2e5f3..3dd5c47a511 100644 --- a/src/sage/combinat/root_system/type_BC_affine.py +++ b/src/sage/combinat/root_system/type_BC_affine.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Root system data for type BC affine """ diff --git a/src/sage/combinat/root_system/type_B_affine.py b/src/sage/combinat/root_system/type_B_affine.py index 047144f02d6..0f6a07310e6 100644 --- a/src/sage/combinat/root_system/type_B_affine.py +++ b/src/sage/combinat/root_system/type_B_affine.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Root system data for (untwisted) type B affine """ diff --git a/src/sage/combinat/root_system/type_C.py b/src/sage/combinat/root_system/type_C.py index 8c7ebce3359..fdd1426c107 100644 --- a/src/sage/combinat/root_system/type_C.py +++ b/src/sage/combinat/root_system/type_C.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Root system data for type C """ diff --git a/src/sage/combinat/root_system/type_C_affine.py b/src/sage/combinat/root_system/type_C_affine.py index adaf5c77562..cdb2763f75b 100644 --- a/src/sage/combinat/root_system/type_C_affine.py +++ b/src/sage/combinat/root_system/type_C_affine.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Root system data for (untwisted) type C affine """ diff --git a/src/sage/combinat/root_system/type_D.py b/src/sage/combinat/root_system/type_D.py index 5f1469e48a8..b116f2e7979 100644 --- a/src/sage/combinat/root_system/type_D.py +++ b/src/sage/combinat/root_system/type_D.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Root system data for type D """ diff --git a/src/sage/combinat/root_system/type_D_affine.py b/src/sage/combinat/root_system/type_D_affine.py index f77204e4a01..b33f999c56c 100644 --- a/src/sage/combinat/root_system/type_D_affine.py +++ b/src/sage/combinat/root_system/type_D_affine.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Root system data for (untwisted) type D affine """ diff --git a/src/sage/combinat/root_system/type_E.py b/src/sage/combinat/root_system/type_E.py index 22e81d52b34..1720211b977 100644 --- a/src/sage/combinat/root_system/type_E.py +++ b/src/sage/combinat/root_system/type_E.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Root system data for type E """ diff --git a/src/sage/combinat/root_system/type_E_affine.py b/src/sage/combinat/root_system/type_E_affine.py index 3268d0603e5..47ae656d984 100644 --- a/src/sage/combinat/root_system/type_E_affine.py +++ b/src/sage/combinat/root_system/type_E_affine.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Root system data for (untwisted) type E affine """ diff --git a/src/sage/combinat/root_system/type_F.py b/src/sage/combinat/root_system/type_F.py index 5d699d31c5a..699bd011188 100644 --- a/src/sage/combinat/root_system/type_F.py +++ b/src/sage/combinat/root_system/type_F.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Root system data for type F """ diff --git a/src/sage/combinat/root_system/type_F_affine.py b/src/sage/combinat/root_system/type_F_affine.py index 3d2dc8350ee..ee2ccfe3275 100644 --- a/src/sage/combinat/root_system/type_F_affine.py +++ b/src/sage/combinat/root_system/type_F_affine.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Root system data for (untwisted) type F affine """ diff --git a/src/sage/combinat/root_system/type_G.py b/src/sage/combinat/root_system/type_G.py index a2a1612f8df..bc4c065d715 100644 --- a/src/sage/combinat/root_system/type_G.py +++ b/src/sage/combinat/root_system/type_G.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Root system data for type G """ diff --git a/src/sage/combinat/root_system/type_G_affine.py b/src/sage/combinat/root_system/type_G_affine.py index 582f7d9ed03..e7321b348c2 100644 --- a/src/sage/combinat/root_system/type_G_affine.py +++ b/src/sage/combinat/root_system/type_G_affine.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Root system data for (untwisted) type G affine """ diff --git a/src/sage/combinat/root_system/type_H.py b/src/sage/combinat/root_system/type_H.py index 44f4b15db55..8ad752fb01a 100644 --- a/src/sage/combinat/root_system/type_H.py +++ b/src/sage/combinat/root_system/type_H.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Root system data for type H """ diff --git a/src/sage/combinat/root_system/type_I.py b/src/sage/combinat/root_system/type_I.py index 76a24817bf9..66876b41e55 100644 --- a/src/sage/combinat/root_system/type_I.py +++ b/src/sage/combinat/root_system/type_I.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Root system data for type I """ diff --git a/src/sage/combinat/root_system/type_Q.py b/src/sage/combinat/root_system/type_Q.py index b2aa3748e71..4184b396d75 100644 --- a/src/sage/combinat/root_system/type_Q.py +++ b/src/sage/combinat/root_system/type_Q.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Root system data for type Q """ diff --git a/src/sage/combinat/root_system/type_affine.py b/src/sage/combinat/root_system/type_affine.py index f903f40bf92..cf28cf89d8b 100644 --- a/src/sage/combinat/root_system/type_affine.py +++ b/src/sage/combinat/root_system/type_affine.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Root system data for affine Cartan types """ diff --git a/src/sage/combinat/root_system/type_dual.py b/src/sage/combinat/root_system/type_dual.py index d7ec7e262a3..05d936adeb4 100644 --- a/src/sage/combinat/root_system/type_dual.py +++ b/src/sage/combinat/root_system/type_dual.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Root system data for dual Cartan types """ diff --git a/src/sage/combinat/root_system/type_folded.py b/src/sage/combinat/root_system/type_folded.py index 58f4911c361..b3be9273f5e 100644 --- a/src/sage/combinat/root_system/type_folded.py +++ b/src/sage/combinat/root_system/type_folded.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Root system data for folded Cartan types diff --git a/src/sage/combinat/root_system/type_marked.py b/src/sage/combinat/root_system/type_marked.py index a9ca7d15a35..b2c54c37249 100644 --- a/src/sage/combinat/root_system/type_marked.py +++ b/src/sage/combinat/root_system/type_marked.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Root system data for Cartan types with marked nodes """ diff --git a/src/sage/combinat/root_system/type_reducible.py b/src/sage/combinat/root_system/type_reducible.py index 3b2e6bbedc4..b733a6e8189 100644 --- a/src/sage/combinat/root_system/type_reducible.py +++ b/src/sage/combinat/root_system/type_reducible.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Root system data for reducible Cartan types """ diff --git a/src/sage/combinat/root_system/type_relabel.py b/src/sage/combinat/root_system/type_relabel.py index d90e97cd375..c7032804dd4 100644 --- a/src/sage/combinat/root_system/type_relabel.py +++ b/src/sage/combinat/root_system/type_relabel.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Root system data for relabelled Cartan types """ diff --git a/src/sage/combinat/root_system/type_super_A.py b/src/sage/combinat/root_system/type_super_A.py index c2717a572ff..fc93a52b8a4 100644 --- a/src/sage/combinat/root_system/type_super_A.py +++ b/src/sage/combinat/root_system/type_super_A.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Root system data for super type A """ diff --git a/src/sage/combinat/root_system/weight_lattice_realizations.py b/src/sage/combinat/root_system/weight_lattice_realizations.py index 82f076c2475..5fe021d55f9 100644 --- a/src/sage/combinat/root_system/weight_lattice_realizations.py +++ b/src/sage/combinat/root_system/weight_lattice_realizations.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Weight lattice realizations """ diff --git a/src/sage/combinat/root_system/weight_space.py b/src/sage/combinat/root_system/weight_space.py index 8a5118714c7..2f8d71444d3 100644 --- a/src/sage/combinat/root_system/weight_space.py +++ b/src/sage/combinat/root_system/weight_space.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Weight lattices and weight spaces """ diff --git a/src/sage/combinat/root_system/weyl_characters.py b/src/sage/combinat/root_system/weyl_characters.py index a42929606b1..36fc6d23977 100644 --- a/src/sage/combinat/root_system/weyl_characters.py +++ b/src/sage/combinat/root_system/weyl_characters.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.graphs sage.groups sage.modules """ Weyl Character Rings diff --git a/src/sage/combinat/root_system/weyl_group.py b/src/sage/combinat/root_system/weyl_group.py index 2c8091e7e41..f51d63f9dd6 100644 --- a/src/sage/combinat/root_system/weyl_group.py +++ b/src/sage/combinat/root_system/weyl_group.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-gap # sage.doctest: needs sage.groups sage.modules """ Weyl Groups diff --git a/src/sage/combinat/rooted_tree.py b/src/sage/combinat/rooted_tree.py index 74aeeff0bba..5ad58e2d6d7 100644 --- a/src/sage/combinat/rooted_tree.py +++ b/src/sage/combinat/rooted_tree.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs r""" Rooted (Unordered) Trees diff --git a/src/sage/combinat/rsk.py b/src/sage/combinat/rsk.py index 21557d306de..ee058c24f4d 100644 --- a/src/sage/combinat/rsk.py +++ b/src/sage/combinat/rsk.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Robinson-Schensted-Knuth correspondence diff --git a/src/sage/combinat/schubert_polynomial.py b/src/sage/combinat/schubert_polynomial.py index 1fd435591de..8e6097c3d94 100644 --- a/src/sage/combinat/schubert_polynomial.py +++ b/src/sage/combinat/schubert_polynomial.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Schubert Polynomials diff --git a/src/sage/combinat/set_partition.py b/src/sage/combinat/set_partition.py index 0c22c6a2edc..a820cd9bd69 100644 --- a/src/sage/combinat/set_partition.py +++ b/src/sage/combinat/set_partition.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Set Partitions diff --git a/src/sage/combinat/set_partition_iterator.pyx b/src/sage/combinat/set_partition_iterator.pyx index ff7d2e7c6c3..66d2d829acc 100644 --- a/src/sage/combinat/set_partition_iterator.pyx +++ b/src/sage/combinat/set_partition_iterator.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # cython: binding=True r""" Fast set partition iterators diff --git a/src/sage/combinat/set_partition_ordered.py b/src/sage/combinat/set_partition_ordered.py index 782b13df638..d5cc5c8f250 100644 --- a/src/sage/combinat/set_partition_ordered.py +++ b/src/sage/combinat/set_partition_ordered.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Ordered Set Partitions diff --git a/src/sage/combinat/sf/all.py b/src/sage/combinat/sf/all.py index 00f8e4f2bdf..36b1fc6cf20 100644 --- a/src/sage/combinat/sf/all.py +++ b/src/sage/combinat/sf/all.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Symmetric Functions @@ -36,7 +37,7 @@ # In the long run, this will be the single entry point # Nothing else will be exported -lazy_import('sage.combinat.sf.sf', 'SymmetricFunctions') +from sage.combinat.sf.sf import SymmetricFunctions # Advanced stuff: @@ -45,3 +46,5 @@ lazy_import('sage.combinat.sf.ns_macdonald', ['NonattackingFillings', 'AugmentedLatticeDiagramFilling', 'LatticeDiagram']) +del lazy_import +del install_doc diff --git a/src/sage/combinat/sf/character.py b/src/sage/combinat/sf/character.py index 6fd2490ff11..60881eaf63f 100644 --- a/src/sage/combinat/sf/character.py +++ b/src/sage/combinat/sf/character.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Characters of the symmetric group as bases of the symmetric functions diff --git a/src/sage/combinat/sf/classical.py b/src/sage/combinat/sf/classical.py index 792272417a8..b8cb0b7b481 100644 --- a/src/sage/combinat/sf/classical.py +++ b/src/sage/combinat/sf/classical.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules """ Classical symmetric functions diff --git a/src/sage/combinat/sf/dual.py b/src/sage/combinat/sf/dual.py index aae10602f2d..edb13f5d681 100644 --- a/src/sage/combinat/sf/dual.py +++ b/src/sage/combinat/sf/dual.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules """ Generic dual bases symmetric functions @@ -292,7 +293,7 @@ def basis_name(self): Return the name of the basis of ``self``. This is used for output and, for the classical bases of - symmetric functions, to connect this basis with Symmetrica. + symmetric functions, to connect this basis with :ref:`Symmetrica `. EXAMPLES:: diff --git a/src/sage/combinat/sf/elementary.py b/src/sage/combinat/sf/elementary.py index f0942314323..1e6b080e4c1 100644 --- a/src/sage/combinat/sf/elementary.py +++ b/src/sage/combinat/sf/elementary.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules """ Elementary symmetric functions diff --git a/src/sage/combinat/sf/hall_littlewood.py b/src/sage/combinat/sf/hall_littlewood.py index 8d656533166..887600864e2 100644 --- a/src/sage/combinat/sf/hall_littlewood.py +++ b/src/sage/combinat/sf/hall_littlewood.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Hall-Littlewood Polynomials diff --git a/src/sage/combinat/sf/hecke.py b/src/sage/combinat/sf/hecke.py index e0b7f965ba7..1c3793f2f5f 100644 --- a/src/sage/combinat/sf/hecke.py +++ b/src/sage/combinat/sf/hecke.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Hecke Character Basis diff --git a/src/sage/combinat/sf/homogeneous.py b/src/sage/combinat/sf/homogeneous.py index 29cf294ea80..99e7185e8db 100644 --- a/src/sage/combinat/sf/homogeneous.py +++ b/src/sage/combinat/sf/homogeneous.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Homogeneous symmetric functions diff --git a/src/sage/combinat/sf/jack.py b/src/sage/combinat/sf/jack.py index 8c62cfb08df..c47d2b29b64 100644 --- a/src/sage/combinat/sf/jack.py +++ b/src/sage/combinat/sf/jack.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Jack Symmetric Functions diff --git a/src/sage/combinat/sf/k_dual.py b/src/sage/combinat/sf/k_dual.py index add64a28fdf..5dcb12701cc 100644 --- a/src/sage/combinat/sf/k_dual.py +++ b/src/sage/combinat/sf/k_dual.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Quotient of symmetric function space by ideal generated by Hall-Littlewood symmetric functions diff --git a/src/sage/combinat/sf/kfpoly.py b/src/sage/combinat/sf/kfpoly.py index 09283745aa5..869d2169e32 100644 --- a/src/sage/combinat/sf/kfpoly.py +++ b/src/sage/combinat/sf/kfpoly.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Kostka-Foulkes Polynomials diff --git a/src/sage/combinat/sf/llt.py b/src/sage/combinat/sf/llt.py index 05a4f50c92a..63019625fb4 100644 --- a/src/sage/combinat/sf/llt.py +++ b/src/sage/combinat/sf/llt.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" LLT symmetric functions diff --git a/src/sage/combinat/sf/macdonald.py b/src/sage/combinat/sf/macdonald.py index c6021ac25de..7f1e2177ae7 100644 --- a/src/sage/combinat/sf/macdonald.py +++ b/src/sage/combinat/sf/macdonald.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Macdonald Polynomials diff --git a/src/sage/combinat/sf/monomial.py b/src/sage/combinat/sf/monomial.py index 583008830af..594dffa7a54 100644 --- a/src/sage/combinat/sf/monomial.py +++ b/src/sage/combinat/sf/monomial.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules """ Monomial symmetric functions diff --git a/src/sage/combinat/sf/multiplicative.py b/src/sage/combinat/sf/multiplicative.py index 7ff9797f81a..a11ff5d8b7e 100644 --- a/src/sage/combinat/sf/multiplicative.py +++ b/src/sage/combinat/sf/multiplicative.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Multiplicative symmetric functions diff --git a/src/sage/combinat/sf/new_kschur.py b/src/sage/combinat/sf/new_kschur.py index 59ce50c74e2..97596200c96 100644 --- a/src/sage/combinat/sf/new_kschur.py +++ b/src/sage/combinat/sf/new_kschur.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules """ `k`-Schur Functions diff --git a/src/sage/combinat/sf/ns_macdonald.py b/src/sage/combinat/sf/ns_macdonald.py index 582e2f99568..61443cc6865 100644 --- a/src/sage/combinat/sf/ns_macdonald.py +++ b/src/sage/combinat/sf/ns_macdonald.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules """ Non-symmetric Macdonald Polynomials diff --git a/src/sage/combinat/sf/orthogonal.py b/src/sage/combinat/sf/orthogonal.py index 3ab5f56debc..38017601031 100644 --- a/src/sage/combinat/sf/orthogonal.py +++ b/src/sage/combinat/sf/orthogonal.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules """ Orthogonal Symmetric Functions diff --git a/src/sage/combinat/sf/orthotriang.py b/src/sage/combinat/sf/orthotriang.py index 17c636ce5ea..b5b325873ef 100644 --- a/src/sage/combinat/sf/orthotriang.py +++ b/src/sage/combinat/sf/orthotriang.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules """ Symmetric functions defined by orthogonality and triangularity diff --git a/src/sage/combinat/sf/powersum.py b/src/sage/combinat/sf/powersum.py index 9521eaccd32..049c18e48ad 100644 --- a/src/sage/combinat/sf/powersum.py +++ b/src/sage/combinat/sf/powersum.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules """ Power sum symmetric functions diff --git a/src/sage/combinat/sf/schur.py b/src/sage/combinat/sf/schur.py index 40e1de75812..c553fd411df 100644 --- a/src/sage/combinat/sf/schur.py +++ b/src/sage/combinat/sf/schur.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules """ Schur symmetric functions diff --git a/src/sage/combinat/sf/sf.py b/src/sage/combinat/sf/sf.py index cca184e91c3..99f8ab93aec 100644 --- a/src/sage/combinat/sf/sf.py +++ b/src/sage/combinat/sf/sf.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules """ Symmetric functions, with their multiple realizations diff --git a/src/sage/combinat/sf/sfa.py b/src/sage/combinat/sf/sfa.py index d569b6ce1dd..56a32dea180 100644 --- a/src/sage/combinat/sf/sfa.py +++ b/src/sage/combinat/sf/sfa.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Symmetric Functions @@ -641,7 +642,8 @@ def corresponding_basis_over(self, R): sage: Sym = SymmetricFunctions(P) sage: mj = Sym.macdonald().J() sage: mj.corresponding_basis_over(Integers(13)['q','t']) - Symmetric Functions over Multivariate Polynomial Ring in q, t over Ring of integers modulo 13 in the Macdonald J basis + Symmetric Functions over Multivariate Polynomial Ring in q, t over + Ring of integers modulo 13 in the Macdonald J basis TESTS: diff --git a/src/sage/combinat/sf/symplectic.py b/src/sage/combinat/sf/symplectic.py index f6db1782489..ed3c4459a28 100644 --- a/src/sage/combinat/sf/symplectic.py +++ b/src/sage/combinat/sf/symplectic.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules """ Symplectic Symmetric Functions diff --git a/src/sage/combinat/sf/witt.py b/src/sage/combinat/sf/witt.py index 37a07f8139f..27fe3bcd6e2 100644 --- a/src/sage/combinat/sf/witt.py +++ b/src/sage/combinat/sf/witt.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules """ Witt symmetric functions @@ -23,7 +24,6 @@ from sage.arith.misc import divisors from sage.combinat.integer_lists.invlex import IntegerListsLex from sage.combinat.partitions import ZS1_iterator -from sage.matrix.constructor import matrix from sage.misc.cachefunc import cached_method diff --git a/src/sage/combinat/shard_order.py b/src/sage/combinat/shard_order.py index d33bc2173f6..f995284fe07 100644 --- a/src/sage/combinat/shard_order.py +++ b/src/sage/combinat/shard_order.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs r""" Shard intersection order diff --git a/src/sage/combinat/shifted_primed_tableau.py b/src/sage/combinat/shifted_primed_tableau.py index a05a8b0bee8..18b948c424d 100644 --- a/src/sage/combinat/shifted_primed_tableau.py +++ b/src/sage/combinat/shifted_primed_tableau.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules """ Shifted primed tableaux diff --git a/src/sage/combinat/shuffle.py b/src/sage/combinat/shuffle.py index 846a214e30d..72a73e731eb 100644 --- a/src/sage/combinat/shuffle.py +++ b/src/sage/combinat/shuffle.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Shuffle product of iterables diff --git a/src/sage/combinat/sidon_sets.py b/src/sage/combinat/sidon_sets.py index 9ba6bdb5c71..7841a665d77 100644 --- a/src/sage/combinat/sidon_sets.py +++ b/src/sage/combinat/sidon_sets.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Sidon sets and their generalizations, Sidon `g`-sets diff --git a/src/sage/combinat/similarity_class_type.py b/src/sage/combinat/similarity_class_type.py index 64acd5696dc..8cba310930f 100644 --- a/src/sage/combinat/similarity_class_type.py +++ b/src/sage/combinat/similarity_class_type.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Similarity class types of matrices with entries in a finite field diff --git a/src/sage/combinat/sine_gordon.py b/src/sage/combinat/sine_gordon.py index 209acd4486e..4514a5169d0 100644 --- a/src/sage/combinat/sine_gordon.py +++ b/src/sage/combinat/sine_gordon.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" sine-Gordon Y-system plotter diff --git a/src/sage/combinat/six_vertex_model.py b/src/sage/combinat/six_vertex_model.py index 11b3267eb61..f94444c529b 100644 --- a/src/sage/combinat/six_vertex_model.py +++ b/src/sage/combinat/six_vertex_model.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Six Vertex Model """ diff --git a/src/sage/combinat/skew_partition.py b/src/sage/combinat/skew_partition.py index 3337d6b2fb7..9b894d5abf8 100644 --- a/src/sage/combinat/skew_partition.py +++ b/src/sage/combinat/skew_partition.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Skew Partitions diff --git a/src/sage/combinat/skew_tableau.py b/src/sage/combinat/skew_tableau.py index a342e7005e8..e47cfe0c2eb 100644 --- a/src/sage/combinat/skew_tableau.py +++ b/src/sage/combinat/skew_tableau.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Skew Tableaux diff --git a/src/sage/combinat/sloane_functions.py b/src/sage/combinat/sloane_functions.py index e9911d47506..643db7ca2a7 100644 --- a/src/sage/combinat/sloane_functions.py +++ b/src/sage/combinat/sloane_functions.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.libs.gap sage.libs.flint sage.libs.pari sage.modules r""" Functions that compute some of the sequences in Sloane's tables @@ -859,7 +860,7 @@ def _eval(self, n): sage: [sloane.A003418._eval(n) for n in range(1,11)] [1, 2, 6, 12, 60, 60, 420, 840, 2520, 2520] """ - return arith.lcm([i for i in range(1, n+1)]) + return arith.lcm(range(1, n + 1)) class A007318(SloaneSequence): diff --git a/src/sage/combinat/specht_module.py b/src/sage/combinat/specht_module.py index 127903829f7..fd93cf0bdf8 100644 --- a/src/sage/combinat/specht_module.py +++ b/src/sage/combinat/specht_module.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.groups sage.modules r""" Specht Modules diff --git a/src/sage/combinat/species/all.py b/src/sage/combinat/species/all.py index 6bda0eab5db..bec54ab9161 100644 --- a/src/sage/combinat/species/all.py +++ b/src/sage/combinat/species/all.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Combinatorial species @@ -48,3 +49,4 @@ lazy_import("sage.combinat.species.recursive_species", "CombinatorialSpecies") lazy_import("sage.combinat.species", "library", as_="species") del lazy_import +del install_doc diff --git a/src/sage/combinat/species/characteristic_species.py b/src/sage/combinat/species/characteristic_species.py index 37ce75abe28..1ef62596491 100644 --- a/src/sage/combinat/species/characteristic_species.py +++ b/src/sage/combinat/species/characteristic_species.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat """ Characteristic Species """ diff --git a/src/sage/combinat/species/composition_species.py b/src/sage/combinat/species/composition_species.py index ccfe0141803..a11ae4b731c 100644 --- a/src/sage/combinat/species/composition_species.py +++ b/src/sage/combinat/species/composition_species.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat """ Composition species """ diff --git a/src/sage/combinat/species/cycle_species.py b/src/sage/combinat/species/cycle_species.py index c808f6a0db1..9d27db8761e 100644 --- a/src/sage/combinat/species/cycle_species.py +++ b/src/sage/combinat/species/cycle_species.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat """ Cycle Species """ diff --git a/src/sage/combinat/species/empty_species.py b/src/sage/combinat/species/empty_species.py index 5c4762cb34d..98c544d8c66 100644 --- a/src/sage/combinat/species/empty_species.py +++ b/src/sage/combinat/species/empty_species.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat """ Empty Species """ diff --git a/src/sage/combinat/species/functorial_composition_species.py b/src/sage/combinat/species/functorial_composition_species.py index b327492a54a..c2f49c42e67 100644 --- a/src/sage/combinat/species/functorial_composition_species.py +++ b/src/sage/combinat/species/functorial_composition_species.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat """ Functorial composition species """ diff --git a/src/sage/combinat/species/generating_series.py b/src/sage/combinat/species/generating_series.py index b7b208c3d87..d6d3ca62708 100644 --- a/src/sage/combinat/species/generating_series.py +++ b/src/sage/combinat/species/generating_series.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Generating Series diff --git a/src/sage/combinat/species/library.py b/src/sage/combinat/species/library.py index c50a9fe75fa..8d6bb4679c9 100644 --- a/src/sage/combinat/species/library.py +++ b/src/sage/combinat/species/library.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat """ Examples of Combinatorial Species """ diff --git a/src/sage/combinat/species/linear_order_species.py b/src/sage/combinat/species/linear_order_species.py index 0761dea576d..ca63ba6db40 100644 --- a/src/sage/combinat/species/linear_order_species.py +++ b/src/sage/combinat/species/linear_order_species.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat """ Linear-order Species """ diff --git a/src/sage/combinat/species/misc.py b/src/sage/combinat/species/misc.py index 12a9b2c8f70..2cf4ecee33e 100644 --- a/src/sage/combinat/species/misc.py +++ b/src/sage/combinat/species/misc.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.groups """ Miscellaneous Functions diff --git a/src/sage/combinat/species/partition_species.py b/src/sage/combinat/species/partition_species.py index dea38378a7a..414c2717c34 100644 --- a/src/sage/combinat/species/partition_species.py +++ b/src/sage/combinat/species/partition_species.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.libs.flint """ Partition Species @@ -182,7 +183,7 @@ def _structures(self, structure_class, labels): yield structure_class(self, labels, []) return - u = [i for i in reversed(range(1, n + 1))] + u = list(range(n, 0, -1)) s0 = u.pop() # Reconstruct the set partitions from diff --git a/src/sage/combinat/species/permutation_species.py b/src/sage/combinat/species/permutation_species.py index eebcc2cddce..8acc9d49a79 100644 --- a/src/sage/combinat/species/permutation_species.py +++ b/src/sage/combinat/species/permutation_species.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.groups sage.libs.flint """ Permutation species diff --git a/src/sage/combinat/species/product_species.py b/src/sage/combinat/species/product_species.py index 90209e64776..e0ef889faa1 100644 --- a/src/sage/combinat/species/product_species.py +++ b/src/sage/combinat/species/product_species.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat """ Product species """ diff --git a/src/sage/combinat/species/recursive_species.py b/src/sage/combinat/species/recursive_species.py index 8eaabf0d2a8..c35e7843b2c 100644 --- a/src/sage/combinat/species/recursive_species.py +++ b/src/sage/combinat/species/recursive_species.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat """ Recursive Species """ diff --git a/src/sage/combinat/species/set_species.py b/src/sage/combinat/species/set_species.py index 94aa893cf46..1d837ba723b 100644 --- a/src/sage/combinat/species/set_species.py +++ b/src/sage/combinat/species/set_species.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat """ Set Species """ diff --git a/src/sage/combinat/species/species.py b/src/sage/combinat/species/species.py index 705dbd22494..af092883c79 100644 --- a/src/sage/combinat/species/species.py +++ b/src/sage/combinat/species/species.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat """ Combinatorial Species diff --git a/src/sage/combinat/species/structure.py b/src/sage/combinat/species/structure.py index b3003ed0f13..6fd7396888b 100644 --- a/src/sage/combinat/species/structure.py +++ b/src/sage/combinat/species/structure.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Species structures diff --git a/src/sage/combinat/species/subset_species.py b/src/sage/combinat/species/subset_species.py index 2e7a6697e29..fff66dd3f63 100644 --- a/src/sage/combinat/species/subset_species.py +++ b/src/sage/combinat/species/subset_species.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat """ Subset Species """ diff --git a/src/sage/combinat/species/sum_species.py b/src/sage/combinat/species/sum_species.py index b3ff129dc55..ff3ebbe8f94 100644 --- a/src/sage/combinat/species/sum_species.py +++ b/src/sage/combinat/species/sum_species.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat """ Sum species """ diff --git a/src/sage/combinat/subset.py b/src/sage/combinat/subset.py index 822420d6514..cc485a9ee8f 100644 --- a/src/sage/combinat/subset.py +++ b/src/sage/combinat/subset.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Subsets @@ -741,7 +742,8 @@ def last(self): if self._k > self._s.cardinality(): raise EmptySetError - return self.element_class([i for i in itertools.islice(reversed(self._s), int(self._k))]) + return self.element_class(list(itertools.islice(reversed(self._s), + int(self._k)))) def _fast_iterator(self): r""" diff --git a/src/sage/combinat/subsets_hereditary.py b/src/sage/combinat/subsets_hereditary.py index 33b576e3cf1..12f62cd64ce 100644 --- a/src/sage/combinat/subsets_hereditary.py +++ b/src/sage/combinat/subsets_hereditary.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Subsets satisfying a hereditary property """ diff --git a/src/sage/combinat/subsets_pairwise.py b/src/sage/combinat/subsets_pairwise.py index ed5613157f2..9f207f5cc4d 100644 --- a/src/sage/combinat/subsets_pairwise.py +++ b/src/sage/combinat/subsets_pairwise.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Subsets whose elements satisfy a predicate pairwise """ diff --git a/src/sage/combinat/subword.py b/src/sage/combinat/subword.py index e5a9afcb804..dcf22a70a5a 100644 --- a/src/sage/combinat/subword.py +++ b/src/sage/combinat/subword.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Subwords diff --git a/src/sage/combinat/subword_complex.py b/src/sage/combinat/subword_complex.py index 0439d7f72f0..314fad7f9a2 100644 --- a/src/sage/combinat/subword_complex.py +++ b/src/sage/combinat/subword_complex.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.graphs sage.modules r""" Subword complex @@ -1854,8 +1855,8 @@ def cover_relations(self, label=False): """ N = len(self.group().long_element(as_word=True)) F = self.greedy_facet(side="positive") - Fs = set([F]) - seen = set([F]) + Fs = {F} + seen = {F} covers = [] while Fs: F = Fs.pop() @@ -1895,7 +1896,7 @@ def increasing_flip_graph(self, label=True): from sage.graphs.digraph import DiGraph return DiGraph(self.cover_relations(label=label)) - def interval(self, I, J): + def interval(self, I, J) -> set: """ Return the interval [I,J] in the increasing flip graph subword complex. @@ -1924,7 +1925,7 @@ def interval(self, I, J): """ G = self.increasing_flip_graph() paths = G.all_paths(I, J) - return set(K for path in paths for K in path) + return {K for path in paths for K in path} def increasing_flip_poset(self): """ @@ -2125,8 +2126,8 @@ def _greedy_flip_algorithm(Q, w): flip_to_ancestors.append(j) next_index = i + 1 has_new_child = True - facet_list.append([x for x in F]) - extended_root_conf_indices_list.append([x for x in R]) + facet_list.append(list(F)) + extended_root_conf_indices_list.append(list(R)) if not has_new_child: i = flip_to_ancestors.pop() if i != -1: diff --git a/src/sage/combinat/subword_complex_c.pyx b/src/sage/combinat/subword_complex_c.pyx index 5b155efda75..6a015a14791 100644 --- a/src/sage/combinat/subword_complex_c.pyx +++ b/src/sage/combinat/subword_complex_c.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.modules cpdef int _flip_c(W, set positions, list extended_root_conf_indices, diff --git a/src/sage/combinat/super_tableau.py b/src/sage/combinat/super_tableau.py index ffcdb0fc374..199841b1117 100644 --- a/src/sage/combinat/super_tableau.py +++ b/src/sage/combinat/super_tableau.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Super Tableaux diff --git a/src/sage/combinat/superpartition.py b/src/sage/combinat/superpartition.py index a2e77f8a5b1..8a22d17c089 100644 --- a/src/sage/combinat/superpartition.py +++ b/src/sage/combinat/superpartition.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Super Partitions @@ -691,7 +692,7 @@ def add_horizontal_border_strip_star(self, h) -> list: # TODO: Check that this is not supposed to be # a tuple of size 1 + [(i) for i in circ_list if row_changed[i[0]] == 0]] - if len(set([k for (j, k) in new_sp[1]])) == len(new_sp[1]): + if len({k for j, k in new_sp[1]}) == len(new_sp[1]): out += [SuperPartition.from_circled_diagram(*new_sp)] return out diff --git a/src/sage/combinat/symmetric_group_algebra.py b/src/sage/combinat/symmetric_group_algebra.py index b0214063e3b..9d1a436656d 100644 --- a/src/sage/combinat/symmetric_group_algebra.py +++ b/src/sage/combinat/symmetric_group_algebra.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules sage.groups r""" Symmetric Group Algebra diff --git a/src/sage/combinat/symmetric_group_representations.py b/src/sage/combinat/symmetric_group_representations.py index d95317335ab..50f5c0d2ada 100644 --- a/src/sage/combinat/symmetric_group_representations.py +++ b/src/sage/combinat/symmetric_group_representations.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules sage.groups r""" Representations of the Symmetric Group diff --git a/src/sage/combinat/t_sequences.py b/src/sage/combinat/t_sequences.py index 7f0e8492ca4..8e9c8111818 100644 --- a/src/sage/combinat/t_sequences.py +++ b/src/sage/combinat/t_sequences.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" T-sequences diff --git a/src/sage/combinat/tableau.py b/src/sage/combinat/tableau.py index bb1aeaf28be..c5c8adb78d3 100644 --- a/src/sage/combinat/tableau.py +++ b/src/sage/combinat/tableau.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Tableaux diff --git a/src/sage/combinat/tableau_residues.py b/src/sage/combinat/tableau_residues.py index ae3f65e7196..a1f79ee4ad2 100644 --- a/src/sage/combinat/tableau_residues.py +++ b/src/sage/combinat/tableau_residues.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Residue sequences of tableaux @@ -340,7 +341,7 @@ def __getitem__(self, k): except (IndexError, KeyError): raise IndexError('k must be in the range 1, 2, ..., {}'.format(len(self))) - def residues(self): + def residues(self) -> list: r""" Return a list of the residue sequence. @@ -350,7 +351,7 @@ def residues(self): sage: ResidueSequence(3,(0,0,1),[0,0,1,1,2,2,3,3]).residues() [0, 0, 1, 1, 2, 2, 0, 0] """ - return [r for r in self] + return list(self) def restrict(self, m): r""" diff --git a/src/sage/combinat/tableau_tuple.py b/src/sage/combinat/tableau_tuple.py index 1568175325e..77d6a68d9b9 100644 --- a/src/sage/combinat/tableau_tuple.py +++ b/src/sage/combinat/tableau_tuple.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" TableauTuples @@ -597,7 +598,7 @@ def components(self): 6 7 8 9 """ - return [t for t in self] + return list(self) def to_list(self): """ @@ -2371,9 +2372,8 @@ def list(self): ([[3, 5], [4]], [[1, 2]])] """ if self.is_finite(): - return [y for y in self] - else: - raise NotImplementedError('this is an infinite set of tableaux') + return list(self) + raise NotImplementedError('this is an infinite set of tableaux') class TableauTuples_all(TableauTuples): @@ -2666,7 +2666,7 @@ def an_element(self): if self.size() == 0: return self.element_class(self, [[] for _ in range(self.level())]) - tab = [[[m for m in range(1, self.size() + 1)]]] + tab = [[list(range(1, self.size() + 1))]] for _ in range(self.level() - 1): tab.append([]) return self.element_class(self, tab) diff --git a/src/sage/combinat/tamari_lattices.py b/src/sage/combinat/tamari_lattices.py index b84b587e1b3..87bef01f18f 100644 --- a/src/sage/combinat/tamari_lattices.py +++ b/src/sage/combinat/tamari_lattices.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # sage.doctest: needs sage.modules r""" Generalized Tamari lattices @@ -92,11 +93,11 @@ def paths_in_triangle(i, j, a, b) -> list[tuple[int, ...]]: return [tuple([1] * j)] if (j - 1) * a >= (i) * b: - result = [u + tuple([1]) for u in paths_in_triangle(i, j - 1, a, b)] - result += [u + tuple([0]) for u in paths_in_triangle(i - 1, j, a, b)] + result = [u + (1,) for u in paths_in_triangle(i, j - 1, a, b)] + result += [u + (0,) for u in paths_in_triangle(i - 1, j, a, b)] return result - return [u + tuple([0]) for u in paths_in_triangle(i - 1, j, a, b)] + return [u + (0,) for u in paths_in_triangle(i - 1, j, a, b)] def swap(p, i, m=1) -> tuple[int, ...]: @@ -156,7 +157,7 @@ def swap(p, i, m=1) -> tuple[int, ...]: height -= 1 if height <= 0: found = True - q = [k for k in p] + q = list(p) for k in range(i, j): q[k] = p[k + 1] q[j] = 0 diff --git a/src/sage/combinat/tiling.py b/src/sage/combinat/tiling.py index a6284b83e1b..16f46e9d845 100644 --- a/src/sage/combinat/tiling.py +++ b/src/sage/combinat/tiling.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Tiling Solver @@ -991,12 +992,13 @@ def canonical_isometric_copies(self, orientation_preserving=True, """ if mod_box_isometries: L = ncube_isometry_group_cosets(self._dimension, orientation_preserving) - P_cosets = set(frozenset((m * self).canonical() for m in coset) for coset in L) + P_cosets = {frozenset((m * self).canonical() for m in coset) + for coset in L} P_cosets_representents = [min(s, key=lambda a: a.sorted_list()) for s in P_cosets] - return sorted(P_cosets_representents, key=lambda a:a.sorted_list()) + return sorted(P_cosets_representents, key=lambda a: a.sorted_list()) else: L = ncube_isometry_group(self._dimension, orientation_preserving) - P_images = set((m * self).canonical() for m in L) + P_images = {(m * self).canonical() for m in L} return sorted(P_images, key=lambda a: a.sorted_list()) def translated_copies(self, box): @@ -1222,8 +1224,8 @@ def isometric_copies(self, box, orientation_preserving=True, raise ValueError("Dimension of input box must match the " "dimension of the polyomino") box_min_coords, box_max_coords = box.bounding_box() - if mod_box_isometries and len(set(b-a for (a,b) in zip(box_min_coords, - box_max_coords))) < box._dimension: + if mod_box_isometries and len({b - a for a, b in zip(box_min_coords, + box_max_coords)}) < box._dimension: raise NotImplementedError("The code below assumes that the" " sizes of the box (={}) are all distinct when" " argument `mod_box_isometries` is True.".format(box)) @@ -1267,8 +1269,8 @@ def isometric_copies_intersection(self, box, orientation_preserving=True): """ all_distinct_cano = self.canonical_isometric_copies(orientation_preserving, mod_box_isometries=False) - return set([t for cano in all_distinct_cano - for t in cano.translated_copies_intersection(box=box)]) + return {t for cano in all_distinct_cano + for t in cano.translated_copies_intersection(box=box)} def neighbor_edges(self): r""" @@ -1766,11 +1768,10 @@ def coord_to_int_dict(self): ((2, 0), 4), ((2, 1), 5)] """ if self._reusable: - return dict((c, i) for i, c in enumerate(self.space())) - else: - number_of_pieces = len(self._pieces) - return dict((c, i+number_of_pieces) - for i, c in enumerate(self.space())) + return {c: i for i, c in enumerate(self.space())} + + number_of_pieces = len(self._pieces) + return {c: i + number_of_pieces for i, c in enumerate(self.space())} @cached_method def int_to_coord_dict(self): @@ -1811,14 +1812,10 @@ def int_to_coord_dict(self): True sage: all(B[A[i]] == i for i in A) True - """ if self._reusable: - return dict((i, c) for i, c in enumerate(self.space())) - else: - number_of_pieces = len(self._pieces) - return dict((i+number_of_pieces, c) - for i, c in enumerate(self.space())) + return dict(enumerate(self.space())) + return dict(enumerate(self.space(), start=len(self._pieces))) @cached_method def rows_for_piece(self, i, mod_box_isometries=False): diff --git a/src/sage/combinat/tools.py b/src/sage/combinat/tools.py index 63c611581c8..feb2c5d4975 100644 --- a/src/sage/combinat/tools.py +++ b/src/sage/combinat/tools.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Transitive ideal closure tool """ diff --git a/src/sage/combinat/triangles_FHM.py b/src/sage/combinat/triangles_FHM.py index 8e3399d4da4..39313e439da 100644 --- a/src/sage/combinat/triangles_FHM.py +++ b/src/sage/combinat/triangles_FHM.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat """ Combinatorial triangles for posets and fans diff --git a/src/sage/combinat/tuple.py b/src/sage/combinat/tuple.py index 54d1caf9181..1ce84561b94 100644 --- a/src/sage/combinat/tuple.py +++ b/src/sage/combinat/tuple.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Tuples """ @@ -77,7 +78,7 @@ def __init__(self, S, k): """ self.S = S self.k = k - self._index_list = list(set(S.index(s) for s in S)) + self._index_list = list({S.index(s) for s in S}) category = FiniteEnumeratedSets() Parent.__init__(self, category=category) @@ -168,7 +169,7 @@ def __init__(self, S, k): """ self.S = S self.k = k - self._index_list = list(set(S.index(s) for s in S)) + self._index_list = list({S.index(s) for s in S}) category = FiniteEnumeratedSets() Parent.__init__(self, category=category) diff --git a/src/sage/combinat/tutorial.py b/src/sage/combinat/tutorial.py index 6f9fad1c5dd..5279e06b03e 100644 --- a/src/sage/combinat/tutorial.py +++ b/src/sage/combinat/tutorial.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Introduction to combinatorics in Sage diff --git a/src/sage/combinat/vector_partition.py b/src/sage/combinat/vector_partition.py index 2bd89dbb244..e7b42038796 100644 --- a/src/sage/combinat/vector_partition.py +++ b/src/sage/combinat/vector_partition.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Vector Partitions diff --git a/src/sage/combinat/words/abstract_word.py b/src/sage/combinat/words/abstract_word.py index 4b385e3e79f..20da53699ec 100644 --- a/src/sage/combinat/words/abstract_word.py +++ b/src/sage/combinat/words/abstract_word.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Abstract word (finite or infinite) diff --git a/src/sage/combinat/words/all.py b/src/sage/combinat/words/all.py index 687b572c8e5..64c4ab6b47a 100644 --- a/src/sage/combinat/words/all.py +++ b/src/sage/combinat/words/all.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Combinatorics on words @@ -43,11 +44,16 @@ from sage.misc.namespace_package import install_doc install_doc(__package__, __doc__) -from .alphabet import Alphabet, build_alphabet -from .morphism import WordMorphism -from .paths import WordPaths -from .word import Word -from .word_options import WordOptions -from .word_generators import words -from .words import Words, FiniteWords, InfiniteWords -from .lyndon_word import LyndonWord, LyndonWords, StandardBracketedLyndonWords +from sage.misc.lazy_import import lazy_import + +from sage.combinat.words.alphabet import Alphabet, build_alphabet +from sage.combinat.words.morphism import WordMorphism +lazy_import('sage.combinat.words.paths', 'WordPaths') +from sage.combinat.words.word import Word +from sage.combinat.words.word_options import WordOptions +from sage.combinat.words.word_generators import words +from sage.combinat.words.words import Words, FiniteWords, InfiniteWords +from sage.combinat.words.lyndon_word import LyndonWord, LyndonWords, StandardBracketedLyndonWords + +del install_doc +del lazy_import diff --git a/src/sage/combinat/words/alphabet.py b/src/sage/combinat/words/alphabet.py index 19ac17054b8..ea53ac437d0 100644 --- a/src/sage/combinat/words/alphabet.py +++ b/src/sage/combinat/words/alphabet.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Alphabet diff --git a/src/sage/combinat/words/finite_word.py b/src/sage/combinat/words/finite_word.py index b596f87e56d..6ac287f2679 100644 --- a/src/sage/combinat/words/finite_word.py +++ b/src/sage/combinat/words/finite_word.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Finite word @@ -1426,7 +1427,7 @@ def factor_set(self, n=None, algorithm='suffix tree'): return Set(self.factor_iterator(n)) elif algorithm == 'naive': if n is None: - S = set([self[0:0]]) + S = {self[0:0]} for n in range(1, self.length()+1): for i in range(self.length()-n+1): S.add(self[i:i+n]) @@ -3006,7 +3007,7 @@ def palindromes(self, f=None): [word: , word: ab, word: abbabaab, word: ba, word: baba, word: bbabaa] """ LPS = self.lps_lengths(f) - return set(self[i - LPS[i]: i] for i in range(len(self) + 1)) + return {self[i - LPS[i]: i] for i in range(len(self) + 1)} def palindromic_complexity(self, n): r""" @@ -6415,7 +6416,7 @@ def delta(self): return Words()([]) ss = self[0] c = 0 - v = list() + v = [] max_c = 0 for s in self: if s == ss: diff --git a/src/sage/combinat/words/infinite_word.py b/src/sage/combinat/words/infinite_word.py index 8baae7c1c3c..1fee1c7c8cf 100644 --- a/src/sage/combinat/words/infinite_word.py +++ b/src/sage/combinat/words/infinite_word.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Infinite word diff --git a/src/sage/combinat/words/lyndon_word.py b/src/sage/combinat/words/lyndon_word.py index c466166d78a..81c91897c2d 100644 --- a/src/sage/combinat/words/lyndon_word.py +++ b/src/sage/combinat/words/lyndon_word.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat """ Lyndon words """ diff --git a/src/sage/combinat/words/morphic.py b/src/sage/combinat/words/morphic.py index 6a7a7877185..b5da6376fa5 100644 --- a/src/sage/combinat/words/morphic.py +++ b/src/sage/combinat/words/morphic.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Morphic words diff --git a/src/sage/combinat/words/morphism.py b/src/sage/combinat/words/morphism.py index f490ac96cd0..eb3b6b5a485 100644 --- a/src/sage/combinat/words/morphism.py +++ b/src/sage/combinat/words/morphism.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Word morphisms/substitutions @@ -401,7 +402,7 @@ def __init__(self, data, domain=None, codomain=None): self._morph = {} - dom_alph = list() + dom_alph = [] for key, val in data.items(): dom_alph.append(key) if val in codomain.alphabet(): @@ -950,7 +951,8 @@ def __mul__(self, other): sage: m * WordMorphism('') WordMorphism: """ - return WordMorphism(dict((key, self(w)) for key, w in other._morph.items()), codomain=self.codomain()) + return WordMorphism({key: self(w) for key, w in other._morph.items()}, + codomain=self.codomain()) def __pow__(self, exp): r""" @@ -1090,7 +1092,8 @@ def restrict_domain(self, alphabet): ... TypeError: 'sage.rings.integer.Integer' object is not iterable """ - return WordMorphism(dict((a, self(a)) for a in alphabet if a in self.domain().alphabet())) + return WordMorphism({a: self(a) for a in alphabet + if a in self.domain().alphabet()}) def _matrix_(self, R=None): r""" @@ -1276,7 +1279,7 @@ def image(self, letter): """ return self._morph[letter] - def images(self): + def images(self) -> list: r""" Return the list of all the images of the letters of the alphabet under ``self``. @@ -1698,7 +1701,7 @@ def is_prolongable(self, letter): def is_uniform(self, k=None): r""" - Return True if self is a `k`-uniform morphism. + Return ``True`` if ``self`` is a `k`-uniform morphism. Let `k` be a positive integer. A morphism `\phi` is called `k`-uniform if for every letter `\alpha`, we have `|\phi(\alpha)| = k`. In other @@ -1707,9 +1710,10 @@ def is_uniform(self, k=None): INPUT: - - ``k`` - a positive integer or None. If set to a positive integer, - then the function return True if self is `k`-uniform. If set to - None, then the function return True if self is uniform. + - ``k`` - a positive integer or ``None``. If set to a positive integer, + then the function return ``True`` if ``self`` is `k`-uniform. + If set to ``None``, then the function return ``True`` if ``self`` + is uniform. EXAMPLES:: @@ -1725,11 +1729,19 @@ def is_uniform(self, k=None): False sage: tau.is_uniform(k=2) True + + TESTS:: + + sage: phi = WordMorphism('') + sage: phi.is_uniform() + True """ if k is None: - return len(set(w.length() for w in self.images())) == 1 - else: - return all(w.length() == k for w in self.images()) + try: + k = self.images()[0].length() + except IndexError: + return True + return all(w.length() == k for w in self.images()) def fixed_point(self, letter): r""" @@ -1980,7 +1992,7 @@ def periodic_points(self): raise NotImplementedError("f should be non erasing") A = self.domain().alphabet() - d = dict((letter, self(letter)[0]) for letter in A) + d = {letter: self(letter)[0] for letter in A} G = set(self.growing_letters()) res = [] @@ -2173,7 +2185,8 @@ def conjugate(self, pos): sage: m.conjugate(2) WordMorphism: a->cdeab, b->zxy """ - return WordMorphism(dict((key, w.conjugate(pos)) for (key, w) in self._morph.items())) + return WordMorphism({key: w.conjugate(pos) + for (key, w) in self._morph.items()}) def has_left_conjugate(self): r""" @@ -3785,7 +3798,7 @@ def try_create_h(f, k): h = {letter: [letter] if image else [] for letter, image in f.items()} elif len(Y) < len(X): # Trivial case #2. k = {x: [y] for x, y in zip(X, Y)} - k_inverse = {y: x for y, x in zip(Y, X)} + k_inverse = dict(zip(Y, X)) h = {x: [k_inverse[y] for y in image] for x, image in f.items()} elif not self.is_injective(): # Non-trivial but a fast case. k = dict(f) @@ -3822,7 +3835,7 @@ def try_create_h(f, k): for comb in combinations(factors, len(X) - 1): if any(x.is_proper_prefix(y) for x in comb for y in comb): continue - k = {x: image for x, image in zip(X, comb)} + k = dict(zip(X, comb)) h = try_create_h(f, k) if h: break diff --git a/src/sage/combinat/words/paths.py b/src/sage/combinat/words/paths.py index f5506152d44..7601062f6d1 100644 --- a/src/sage/combinat/words/paths.py +++ b/src/sage/combinat/words/paths.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat sage.modules r""" Word paths diff --git a/src/sage/combinat/words/shuffle_product.py b/src/sage/combinat/words/shuffle_product.py index 719e0122e5c..1ee79610a48 100644 --- a/src/sage/combinat/words/shuffle_product.py +++ b/src/sage/combinat/words/shuffle_product.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Shuffle product of words diff --git a/src/sage/combinat/words/suffix_trees.py b/src/sage/combinat/words/suffix_trees.py index 8375bde1a8a..dc87e6ace61 100644 --- a/src/sage/combinat/words/suffix_trees.py +++ b/src/sage/combinat/words/suffix_trees.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Suffix Tries and Suffix Trees """ @@ -136,7 +137,7 @@ def _process_letter(self, letter): self._suffix_link[old_s] = self._transition_function[(r, letter)] # update the active state self._active_state = \ - self._transition_function[(self._active_state, letter)] + self._transition_function[(self._active_state, letter)] def process_letter(self, letter): r""" @@ -177,7 +178,7 @@ def process_letter(self, letter): # functionality to the class. ##### - def _repr_(self): + def _repr_(self) -> str: """ TESTS:: @@ -189,12 +190,12 @@ def _repr_(self): def node_to_word(self, state=0): r""" - Returns the word obtained by reading the edge labels from 0 to + Return the word obtained by reading the edge labels from 0 to ``state``. INPUT: - - ``state`` - (default: 0) a state + - ``state`` -- (default: 0) a state EXAMPLES:: @@ -213,18 +214,18 @@ def node_to_word(self, state=0): # Starting from the active state, # read labels along the unique path to the root. - (u,letter) = tf_inv[state] + u, letter = tf_inv[state] w = letter s = u while s != 0: - (u,letter) = tf_inv[s] + u, letter = tf_inv[s] w = letter * w s = u return w def word(self): r""" - Returns the word whose suffix tree this is. + Return the word whose suffix tree this is. EXAMPLES:: @@ -238,10 +239,10 @@ def word(self): """ return self.node_to_word(self._active_state) - def __eq__(self,other): + def __eq__(self, other) -> bool: r""" - If self and other have the same transition function, the same - suffix link, and the same word, then they are equal. + If ``self`` and ``other`` have the same transition function, + the same suffix link, and the same word, then they are equal. TESTS:: @@ -259,7 +260,7 @@ def __eq__(self,other): sage: t == s True """ - if not isinstance(other,SuffixTrie): + if not isinstance(other, SuffixTrie): return False return self._transition_function == other._transition_function \ and self._suffix_link == other._suffix_link \ @@ -267,13 +268,13 @@ def __eq__(self,other): def transition_function(self, node, word): r""" - Returns the state reached by beginning at ``node`` and following the + Return the state reached by beginning at ``node`` and following the arrows in the transition graph labelled by the letters of ``word``. INPUT: - - ``node`` - a node - - ``word`` - a word + - ``node`` -- a node + - ``word`` -- a word EXAMPLES:: @@ -281,7 +282,7 @@ def transition_function(self, node, word): sage: w = Words([0,1])([0,1,0,1,1]) sage: t = SuffixTrie(w) sage: all(t.transition_function(u, letter) == v - ....: for ((u, letter), v) in t._transition_function.items()) + ....: for (u, letter), v in t._transition_function.items()) True """ if node == -1: @@ -316,7 +317,8 @@ def states(self): def suffix_link(self, state): r""" - Evaluates the suffix link map of the suffix trie on ``state``. + Evaluate the suffix link map of the suffix trie on ``state``. + Note that the suffix link map is not defined on -1. INPUT: @@ -351,7 +353,7 @@ def suffix_link(self, state): ... TypeError: 17 is not a state """ - if not isinstance(state, (int,Integer)): + if not isinstance(state, (int, Integer)): raise TypeError("%s is not an integer" % state) if state == -1: raise TypeError("suffix link is not defined for -1") @@ -361,8 +363,10 @@ def suffix_link(self, state): def active_state(self): r""" - Returns the active state of the suffix trie. This is the state - corresponding to the word as a suffix of itself. + Return the active state of the suffix trie. + + This is the state corresponding to the word as a suffix of + itself. EXAMPLES:: @@ -383,10 +387,11 @@ def active_state(self): def final_states(self): r""" - Returns the set of final states of the suffix trie. These are the - states corresponding to the suffixes of ``self.word()``. They are - obtained be repeatedly following the suffix link from the active - state until we reach 0. + Return the set of final states of the suffix trie. + + These are the states corresponding to the suffixes of + ``self.word()``. They are obtained be repeatedly following the + suffix link from the active state until we reach 0. EXAMPLES:: @@ -403,7 +408,7 @@ def final_states(self): F.append(s) return Set(F) - def has_suffix(self,word): + def has_suffix(self, word) -> bool: r""" Return ``True`` if and only if ``word`` is a suffix of ``self.word()``. @@ -423,16 +428,16 @@ def has_suffix(self,word): q = self._active_state if q == s: return True - else: - while q != 0: - q = self._suffix_link[q] - if q == s: - return True + + while q != 0: + q = self._suffix_link[q] + if q == s: + return True return False def to_digraph(self): r""" - Returns a ``DiGraph`` object of the transition graph of the suffix + Return a ``DiGraph`` object of the transition graph of the suffix trie. EXAMPLES:: @@ -451,14 +456,14 @@ def to_digraph(self): [0 0 0 0 0 0] """ dag = {} - for ((u, letter), v) in self._transition_function.items(): + for (u, letter), v in self._transition_function.items(): dag.setdefault(u, {})[v] = letter return DiGraph(dag) def plot(self, layout='tree', tree_root=0, tree_orientation='up', - vertex_colors=None, edge_labels=True, *args, **kwds): + vertex_colors=None, edge_labels=True, *args, **kwds): r""" - Returns a Graphics object corresponding to the transition graph of + Return a Graphics object corresponding to the transition graph of the suffix trie. EXAMPLES:: @@ -474,20 +479,20 @@ def plot(self, layout='tree', tree_root=0, tree_orientation='up', """ tree = self.to_digraph() - for (u,v,label) in tree.edge_iterator(): + for u, v, label in tree.edge_iterator(): tree.set_edge_label(u, v, label.string_rep()) if vertex_colors is None: suffix_nodes = self.final_states() non_suffix_nodes = list(set(self.states()) - set(suffix_nodes)) - vertex_colors = {'#fec7b8':suffix_nodes,'#ffffff':non_suffix_nodes} + vertex_colors = {'#fec7b8': suffix_nodes, '#ffffff': non_suffix_nodes} return tree.plot(layout=layout, tree_root=tree_root, - tree_orientation=tree_orientation, - vertex_colors=vertex_colors, edge_labels=edge_labels, - *args, **kwds) + tree_orientation=tree_orientation, + vertex_colors=vertex_colors, edge_labels=edge_labels, + *args, **kwds) def show(self, *args, **kwds): r""" - Displays the output of ``self.plot()``. + Display the output of :meth:`plot`. EXAMPLES:: @@ -581,9 +586,9 @@ def __init__(self, word): Implicit Suffix Tree of the word: cacao """ # For constructing the suffix tree. - self._transition_function = {0:{}} - self._suffix_link = {0:-1} - self._active_state = (0,(1,1)) + self._transition_function = {0: {}} + self._suffix_link = {0: -1} + self._active_state = (0, (1, 1)) self._letters = [] for letter in word: self._letters.append(letter) @@ -631,34 +636,38 @@ def _process_letter(self, letter): sage: s Implicit Suffix Tree of the word: 01011 """ - (s,(k,i)) = self._active_state + s, (k, i) = self._active_state old_r = 0 - (end_state, r) = self._test_and_split(s,(k,i-1),letter) + end_state, r = self._test_and_split(s, (k, i-1), letter) while not end_state: # adjoin a new state rr and create a transition from r to rr rr = len(self._transition_function) self._transition_function[rr] = {} - self._transition_function[r][(i,None)] = rr + self._transition_function[r][(i, None)] = rr # update the suffix link, if necessary if old_r != 0: self._suffix_link[old_r] = r old_r = r # follow the suffix link to the next state - (s, k) = self._canonize(self._suffix_link[s], (k,i-1)) - (end_state, r) = self._test_and_split(s, (k,i-1), letter) + s, k = self._canonize(self._suffix_link[s], (k, i-1)) + end_state, r = self._test_and_split(s, (k, i-1), letter) # update the suffix link, if necessary if old_r != 0: self._suffix_link[old_r] = s # set the active state - (s,k) = self._canonize(s,(k,i)) + s, k = self._canonize(s, (k, i)) self._active_state = (s, (k, i+1)) return def _test_and_split(self, s, k_p, letter): r""" - Helper function for _process_letter. Tests to see whether an edge - needs to be split. Returns ``(True, state)``, where ``state`` is the - next state to process (either a newly created state or the original s). + Helper function for :meth:`_process_letter`. Test to see + whether an edge needs to be split. + + OUTPUT: + + ``(True, state)``, where ``state`` is the next state to + process (either a newly created state or the original ``s``). TESTS:: @@ -669,15 +678,15 @@ def _test_and_split(self, s, k_p, letter): sage: t._test_and_split(0, (4,5), w.parent().alphabet().rank("o")) (False, 3) """ - (k, p) = k_p + k, p = k_p if k <= p: # find the transition from s that begins with k-th letter - ((kk,pp), ss) = self._find_transition(s, self._letters[k-1]) + (kk, pp), ss = self._find_transition(s, self._letters[k - 1]) if letter == self._letters[kk + p - k]: return (True, s) else: # replace transition above by transitions - del self._transition_function[s][(kk,pp)] + del self._transition_function[s][(kk, pp)] r = len(self._transition_function) self._transition_function[r] = {} self._transition_function[s][(kk, kk+p-k)] = r @@ -692,7 +701,7 @@ def _test_and_split(self, s, k_p, letter): def _canonize(self, s, k_p): r""" - Given an implicit or explicit reference pair for a node, returns + Given an implicit or explicit reference pair for a node, return the canonical reference pair. Recall that a node r is referenced as (s, (k,p)), where s is an @@ -709,22 +718,23 @@ def _canonize(self, s, k_p): sage: t._canonize(0,(2,5)) (5, 3) """ - (k, p) = k_p + k, p = k_p if p < k: return (s, k) else: - ((kk,pp), ss) = self._find_transition(s, self._letters[k-1]) + (kk, pp), ss = self._find_transition(s, self._letters[k - 1]) while pp is not None and pp - kk <= p - k: k = k + pp - kk + 1 s = ss if k <= p: - ((kk,pp), ss) = self._find_transition(s, self._letters[k-1]) + (kk, pp), ss = self._find_transition(s, self._letters[k-1]) return (s, k) def _find_transition(self, state, letter): r""" - Returns the transition from state that begins with letter. Returns - ``None`` if no such transition exists. + Return the transition from state that begins with letter. + + This returns ``None`` if no such transition exists. The transitions are stored as a dictionary of dictionaries: keyed by the nodes, with the corresponding dictionary keyed by pairs @@ -754,12 +764,12 @@ def _find_transition(self, state, letter): """ if state == -1: return ((0, 0), 0) - else: - if state in self._transition_function: - for ((k,p),s) in self._transition_function[state].items(): - if self._letters[k-1] == letter: - return ((k,p), s) - return None + + if state in self._transition_function: + for (k, p), s in self._transition_function[state].items(): + if self._letters[k - 1] == letter: + return ((k, p), s) + return None ##### # The following are not necessary for constructing the implicit suffix @@ -770,7 +780,7 @@ def _find_transition(self, state, letter): # Visualization ##### - def _repr_(self): + def _repr_(self) -> str: r""" TESTS:: @@ -782,7 +792,7 @@ def _repr_(self): def word(self): r""" - Returns the word whose implicit suffix tree this is. + Return the word whose implicit suffix tree this is. TESTS:: @@ -792,9 +802,10 @@ def word(self): """ return self._word - def transition_function_dictionary(self): + def transition_function_dictionary(self) -> dict: r""" - Returns the transition function as a dictionary of dictionaries. + Return the transition function as a dictionary of dictionaries. + The format is consistent with the input format for ``DiGraph``. EXAMPLES:: @@ -813,13 +824,13 @@ def transition_function_dictionary(self): {0: {1: (0, None), 2: (1, None)}} """ d = {} - for (u,v,(i,j)) in self.edge_iterator(): - d.setdefault(u, {})[v] = (i,j) + for u, v, (i, j) in self.edge_iterator(): + d.setdefault(u, {})[v] = (i, j) return d def to_digraph(self, word_labels=False): r""" - Returns a ``DiGraph`` object of the transition graph of the suffix tree. + Return a ``DiGraph`` object of the transition graph of the suffix tree. INPUT: @@ -840,18 +851,18 @@ def to_digraph(self, word_labels=False): return DiGraph(d) d = self.transition_function_dictionary() for u in d: - for (v, (i, j)) in d[u].items(): + for v, (i, j) in d[u].items(): if word_labels: d[u][v] = self._word[i:j] elif j is None: - d[u][v] = (i,len(self._letters)) + d[u][v] = (i, len(self._letters)) return DiGraph(d) def plot(self, word_labels=False, layout='tree', tree_root=0, - tree_orientation='up', vertex_colors=None, edge_labels=True, - *args, **kwds): + tree_orientation='up', vertex_colors=None, edge_labels=True, + *args, **kwds): r""" - Returns a Graphics object corresponding to the transition graph of + Return a Graphics object corresponding to the transition graph of the suffix tree. INPUT: @@ -883,18 +894,18 @@ def plot(self, word_labels=False, layout='tree', tree_root=0, """ tree = self.to_digraph(word_labels=word_labels) if word_labels: - for (u,v,label) in tree.edge_iterator(): + for u, v, label in tree.edge_iterator(): tree.set_edge_label(u, v, label.string_rep()) if vertex_colors is None: - vertex_colors = {'#fec7b8':tree.vertices(sort=True)} + vertex_colors = {'#fec7b8': tree.vertices(sort=True)} return tree.plot(layout=layout, tree_root=tree_root, - tree_orientation=tree_orientation, - vertex_colors=vertex_colors, edge_labels=edge_labels, - *args, **kwds) + tree_orientation=tree_orientation, + vertex_colors=vertex_colors, edge_labels=edge_labels, + *args, **kwds) def show(self, word_labels=None, *args, **kwds): r""" - Displays the output of ``self.plot()``. + Display the output of :meth:`plot`. INPUT: @@ -917,10 +928,10 @@ def show(self, word_labels=None, *args, **kwds): # Various methods ##### - def __eq__(self,other): + def __eq__(self, other) -> bool: r""" - If self and other have the same transition function and the - same word, then they are equal. + If ``self`` and ``other`` have the same transition function + and the same word, then they are equal. TESTS:: @@ -930,22 +941,25 @@ def __eq__(self,other): sage: ImplicitSuffixTree(w) == ImplicitSuffixTree(u) True """ - if not isinstance(other,ImplicitSuffixTree): + if not isinstance(other, ImplicitSuffixTree): return False return self._transition_function == other._transition_function \ and self._letters == other._letters def transition_function(self, word, node=0): r""" - Returns the node obtained by starting from ``node`` and following the - edges labelled by the letters of ``word``. Returns ``("explicit", - end_node)`` if we end at ``end_node``, or ``("implicit", edge, d)`` - if we end `d` spots along an edge. + Return the node obtained by starting from ``node`` and following the + edges labelled by the letters of ``word``. + + OUTPUT: + + ``("explicit", end_node)`` if we end at ``end_node``, or + ``("implicit", edge, d)`` if we end `d` spots along an edge. INPUT: - - ``word`` - a word - - ``node`` - (default: 0) starting node + - ``word`` -- a word + - ``node`` -- (default: 0) starting node EXAMPLES:: @@ -963,31 +977,31 @@ def transition_function(self, word, node=0): """ if word.is_empty(): return "explicit", node - ((k,p),s) = self._find_transition(node, word[0]) + (k, p), s = self._find_transition(node, word[0]) if p is None: # test that word is a prefix of self._letters[k-1:] if word == self._word[k-1:(k-1)+word.length()]: if word.length() == len(self._letters) - k + 1: return "explicit", s else: - edge = (node,s) + edge = (node, s) return "implicit", edge, word.length() else: # find longest common prefix - m = min(p-k+1,word.length()) + m = min(p-k+1, word.length()) i = 0 while i < m and self._word[k-1+i] == word[i]: i += 1 if i == p-k+1: - return self.transition_function(word[p-k+1:],s) + return self.transition_function(word[p-k+1:], s) else: - edge = (node,s) + edge = (node, s) return "implicit", edge, i return "explicit", node - def states(self): + def states(self) -> list: r""" - Returns the states (explicit nodes) of the suffix tree. + Return the states (explicit nodes) of the suffix tree. EXAMPLES:: @@ -1001,7 +1015,8 @@ def states(self): def suffix_link(self, state): r""" - Evaluates the suffix link map of the implicit suffix tree on ``state``. + Evaluate the suffix link map of the implicit suffix tree on ``state``. + Note that the suffix link is not defined for all states. The suffix link of a state `x'` that corresponds to the suffix `x` is @@ -1030,12 +1045,11 @@ def suffix_link(self, state): """ if state in self._suffix_link: return self._suffix_link[state] - else: - raise TypeError("there is no suffix link from %s" % state) + raise TypeError("there is no suffix link from %s" % state) def active_state(self): r""" - Returns the active state of the suffix tree. + Return the active state of the suffix tree. EXAMPLES:: @@ -1049,7 +1063,7 @@ def active_state(self): def process_letter(self, letter): r""" - Modifies the current implicit suffix tree producing the implicit + Modify the current implicit suffix tree producing the implicit suffix tree for ``self.word() + letter``. EXAMPLES:: @@ -1075,10 +1089,12 @@ def process_letter(self, letter): def to_explicit_suffix_tree(self): r""" - Converts self to an explicit suffix tree. It is obtained by - processing an end of string letter as if it were a regular - letter, except that no new leaf nodes are created (thus, the only - thing that happens is that some implicit nodes become explicit). + Convert ``self`` to an explicit suffix tree. + + It is obtained by processing an end of string letter as if it + were a regular letter, except that no new leaf nodes are + created (thus, the only thing that happens is that some + implicit nodes become explicit). EXAMPLES:: @@ -1096,20 +1112,21 @@ def to_explicit_suffix_tree(self): # append a new unique symbol to the word and process the new letter end_of_string = object() self._letters.append(end_of_string) - (s,(k,i)) = self._active_state - (end_state, r) = self._test_and_split(s,(k,i-1), end_of_string) + s, (k, i) = self._active_state + end_state, r = self._test_and_split(s, (k, i-1), end_of_string) while not end_state: - (s, k) = self._canonize(self._suffix_link[s], (k,i-1)) - (end_state, r) = self._test_and_split(s, (k,i-1), end_of_string) + s, k = self._canonize(self._suffix_link[s], (k, i-1)) + end_state, r = self._test_and_split(s, (k, i-1), end_of_string) # remove the end of string symbol from the word self._letters.pop() return def edge_iterator(self): r""" - Returns an iterator over the edges of the suffix tree. The - edge from `u` to `v` labelled by `(i,j)` is returned as the tuple - `(u,v,(i,j))`. + Return an iterator over the edges of the suffix tree. + + The edge from `u` to `v` labelled by `(i,j)` is yielded as + the tuple `(u,v,(i,j))`. EXAMPLES:: @@ -1124,11 +1141,11 @@ def edge_iterator(self): queue = [0] while queue: v = queue.pop() - for ((i,j),u) in self._transition_function[v].items(): - yield (v,u,(i-1,j)) + for (i, j), u in self._transition_function[v].items(): + yield (v, u, (i - 1, j)) queue.append(u) - def number_of_factors(self,n=None): + def number_of_factors(self, n=None): r""" Count the number of distinct factors of ``self.word()``. @@ -1189,7 +1206,7 @@ def number_of_factors(self,n=None): if n is None: length_word = self.word().length() num_factors = 1 # empty word - for (u, v, (i, j)) in self.edge_iterator(): + for u, v, (i, j) in self.edge_iterator(): if j is None: num_factors += length_word - i else: @@ -1198,12 +1215,12 @@ def number_of_factors(self,n=None): num_factors = 0 queue = [(0, 0)] while queue: - (v, l) = queue.pop() + v, l = queue.pop() if l == n: num_factors += 1 if l < n: - if self._transition_function[v] != {}: - for ((i, j), u) in self._transition_function[v].items(): + if self._transition_function[v]: + for (i, j), u in self._transition_function[v].items(): if j is None: j = self.word().length() if j - i >= n - l: @@ -1256,27 +1273,27 @@ def factor_iterator(self, n=None): queue = [(0, 0, -1, 0)] yield w[0:0] while queue: - (v,i,j,l) = queue.pop() - for k in range(i,j+1): + v, i, j, l = queue.pop() + for k in range(i, j+1): yield w[j-l:k] - for ((i,j),u) in self._transition_function[v].items(): + for (i, j), u in self._transition_function[v].items(): if j is None: j = wlen - queue.append((u,i,j, l+j-i+1)) + queue.append((u, i, j, l+j-i+1)) elif isinstance(n, (int, Integer)): queue = [(0, 0, -1, 0)] while queue: - (v,i,j,l) = queue.pop() + v, i, j, l = queue.pop() if l == n: yield w[j-l:j] if l < n: - for ((i,j),u) in self._transition_function[v].items(): + for (i, j), u in self._transition_function[v].items(): if j is None: j = wlen if j - i >= n - l: yield w[i-l-1:i-l+n-1] else: - queue.append((u,i,j, l+j-i+1)) + queue.append((u, i, j, l+j-i+1)) else: raise TypeError("not an integer or None: %s" % n) @@ -1319,7 +1336,7 @@ def LZ_decomposition(self): w = self.word() while i < len(w): l = 0 - ((x, y), successor) = self._find_transition(0, w[i]) + (x, y), successor = self._find_transition(0, w[i]) x = x-1 while x < i+l: if y is None: @@ -1329,7 +1346,7 @@ def LZ_decomposition(self): if i+l >= len(w): l = len(w)-i break - ((x, y), successor) = self._find_transition(successor, w[i+l]) + (x, y), successor = self._find_transition(successor, w[i+l]) x = x-1 i += max(1, l) iB.append(i) @@ -1407,14 +1424,15 @@ def suffix_walk(self, edge, l): sage: T.suffix_walk((7, 3), 1) ('implicit', (9, 4), 1) """ + start, end = edge # Select the transition that corresponds to edge - for (i, j) in self._transition_function[edge[0]]: - if self._transition_function[edge[0]][(i, j)] == edge[1]: - break + ij = next(ij for ij, target in self._transition_function[start].items() + if target == end) + # self.word()[i-1:j] is the word on the edges - i -= 1 - parent = self.suffix_link(edge[0]) - return self._count_and_skip(parent, i, i+l) + i = ij[0] - 1 + parent = self.suffix_link(start) + return self._count_and_skip(parent, i, i + l) def leftmost_covering_set(self): r""" @@ -1458,8 +1476,8 @@ def condition1_square_pairs(i): """ for k in range(1, B[i+1]-B[i]+1): q = B[i+1]-k - k1 = w.longest_forward_extension(B[i+1],q) if B[i+1] < len(w) else 0 - k2 = w.longest_backward_extension(B[i+1]-1,q-1) if q > 0 else 0 + k1 = w.longest_forward_extension(B[i+1], q) if B[i+1] < len(w) else 0 + k2 = w.longest_backward_extension(B[i+1]-1, q-1) if q > 0 else 0 start = max(q-k2, q-k+1) if k1+k2 >= k and k1 > 0 and start >= B[i]: yield (start, 2*k) @@ -1481,13 +1499,13 @@ def condition2_square_pairs(i): k2 = w.longest_backward_extension(B[i]-1, q-1) if B[i] > 0 else 0 start = max(B[i]-k2, B[i]-k+1) if k1+k2 >= k and k1 > 0 and start+k <= B[i+1] and k2 > 0: - yield (start,2*k) + yield (start, 2*k) w = self.word() B = self.LZ_decomposition() P = [[] for _ in w] - for i in range(len(B)-1): - for (i,l) in chain(condition2_square_pairs(i), condition1_square_pairs(i)): + for i in range(len(B) - 1): + for i, l in chain(condition2_square_pairs(i), condition1_square_pairs(i)): P[i].append(l) for l in P: l.reverse() @@ -1499,9 +1517,10 @@ def condition2_square_pairs(i): def uncompactify(self): r""" - Returns the tree obtained from self by splitting edges so that they - are labelled by exactly one letter. The resulting tree is - isomorphic to the suffix trie. + Return the tree obtained from ``self`` by splitting edges so that they + are labelled by exactly one letter. + + The resulting tree is isomorphic to the suffix trie. EXAMPLES:: @@ -1516,21 +1535,21 @@ def uncompactify(self): newtree = DiGraph() newtree.add_vertices(range(tree.order())) new_node = tree.order() + 1 - for (u,v,label) in tree.edge_iterator(): + for u, v, label in tree.edge_iterator(): if len(label) == 1: - newtree.add_edge(u,v) + newtree.add_edge(u, v) else: - newtree.add_edge(u,new_node,label[0]) + newtree.add_edge(u, new_node, label[0]) for w in label[1:-1]: - newtree.add_edge(new_node,new_node+1,w) + newtree.add_edge(new_node, new_node+1, w) new_node += 1 - newtree.add_edge(new_node,v,label[-1]) + newtree.add_edge(new_node, v, label[-1]) new_node += 1 return newtree def trie_type_dict(self): r""" - Returns a dictionary in a format compatible with that of the suffix + Return a dictionary in a format compatible with that of the suffix trie transition function. EXAMPLES:: @@ -1546,17 +1565,17 @@ def trie_type_dict(self): """ d = {} new_node = len(self._transition_function) - for (u, dd) in self._transition_function.items(): - for (sl, v) in dd.items(): + for u, dd in self._transition_function.items(): + for sl, v in dd.items(): w = self._word[sl[0]-1:sl[1]] if w.length() == 1: - d[u,w] = v + d[u, w] = v else: - d[u,w[0:1]] = new_node - for i in range(1,w.length()-1): + d[u, w[0:1]] = new_node + for i in range(1, w.length()-1): d[new_node, w[i:i+1]] = new_node + 1 new_node += 1 - d[new_node,w[-1:]] = v + d[new_node, w[-1:]] = v new_node += 1 return d @@ -1639,13 +1658,15 @@ def __repr__(self): """ w = self.word() if len(w) > 40: - w = str(w[:40])+'...' - return "Decorated suffix tree of : {}".format(w) + w = str(w[:40]) + '...' + return f"Decorated suffix tree of : {w}" def _partial_labeling(self): r""" Make a depth-first search in the suffix tree and mark some squares of a - leftmost covering set of the tree. Used by ``self._complete_labeling``. + leftmost covering set of the tree. + + This is used by :meth:`_complete_labeling`. EXAMPLES:: @@ -1671,12 +1692,13 @@ def node_processing(node, parent, head): OUTPUT: ``(i, pos)``, the new head of ``P(node)`` """ i, pos = head + pano = (parent, node) while pos < len(P[i]) and P[i][pos] > string_depth[parent]: label = P[i][pos] - string_depth[parent] - if (parent, node) in labeling: - labeling[(parent, node)].append(label) + if pano in labeling: + labeling[pano].append(label) else: - labeling[(parent, node)] = [label] + labeling[pano] = [label] pos += 1 return (i, pos) @@ -1703,11 +1725,11 @@ def treat_node(current_node, parent): if current_node in D: node_list = (n, 0) for child in D[current_node]: - (i, j) = D[current_node][child] + i, j = D[current_node][child] if j is None: j = n - string_depth[child] = string_depth[current_node]+j-i - child_list = treat_node(child,current_node) + string_depth[child] = string_depth[current_node] + j - i + child_list = treat_node(child, current_node) if child_list[0] < node_list[0]: node_list = child_list else: # The node is a child @@ -1725,7 +1747,7 @@ def treat_node(current_node, parent): def _complete_labeling(self): r""" - Returns a dictionary of edges of ``self``, with marked points for the end + Return a dictionary of edges of ``self``, with marked points for the end of each distinct squares that can be found in ``self.word()``. EXAMPLES:: @@ -1759,7 +1781,7 @@ def walk_chain(u, v, l, start): successful = False if final_state[0] == 'explicit': parent = final_state[1] - transition = self._find_transition(parent,self._letters[start]) + transition = self._find_transition(parent, self._letters[start]) if transition is not None: child = transition[1] successful = True @@ -1782,14 +1804,16 @@ def walk_chain(u, v, l, start): def treat_node(current_node, i, j): r""" - Execute a depth-first search on self and start a suffix walk for - labeled points on each edges of T. The function is recursive, call - treat_node(0,0,0) to initiate the search. + Execute a depth-first search on ``self`` and start a suffix walk + for labeled points on each edges of T. + + The function is recursive, call + ``treat_node(0,0,0)`` to initiate the search. INPUT: - - ``current_node`` - The node to treat - - ``(i, j)`` - Pair of index such that the path from 0 to + - ``current_node`` -- The node to treat + - ``(i, j)`` -- Pair of index such that the path from 0 to ``current_node`` reads ``self.word()[i:j]`` """ @@ -1844,14 +1868,13 @@ def treat_node(current_node, i, j): pair = (square_start, edge_label[0]+l-square_start) squares.append(pair) - if output != "pair" and output != "word": - raise ValueError("``output`` should be 'pair' or 'word'; got {}".format( - output)) + if output not in ["pair", "word"]: + msg = f"output should be 'pair' or 'word'; got {output}" + raise ValueError(msg) D = self.transition_function_dictionary() Q = self.labeling squares = [(0, 0)] treat_node(0, 0, 0) if output == "pair": return squares - else: - return [self.word()[i:i+l] for (i, l) in squares] + return [self.word()[i:i + l] for i, l in squares] diff --git a/src/sage/combinat/words/word.py b/src/sage/combinat/words/word.py index 222501a5dfd..9bfc13c6d89 100644 --- a/src/sage/combinat/words/word.py +++ b/src/sage/combinat/words/word.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Word classes diff --git a/src/sage/combinat/words/word_char.pyx b/src/sage/combinat/words/word_char.pyx index 069f17fbcbc..142d041a107 100644 --- a/src/sage/combinat/words/word_char.pyx +++ b/src/sage/combinat/words/word_char.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Fast word datatype using an array of unsigned char """ diff --git a/src/sage/combinat/words/word_datatypes.pxd b/src/sage/combinat/words/word_datatypes.pxd index c3329bd5a78..5a2019651ec 100644 --- a/src/sage/combinat/words/word_datatypes.pxd +++ b/src/sage/combinat/words/word_datatypes.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat cdef class WordDatatype(): cdef public _parent cdef _hash diff --git a/src/sage/combinat/words/word_datatypes.pyx b/src/sage/combinat/words/word_datatypes.pyx index 62132c64032..4c31a02959a 100644 --- a/src/sage/combinat/words/word_datatypes.pyx +++ b/src/sage/combinat/words/word_datatypes.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Datatypes for finite words """ diff --git a/src/sage/combinat/words/word_generators.py b/src/sage/combinat/words/word_generators.py index 3c38103cff4..afa595bac30 100644 --- a/src/sage/combinat/words/word_generators.py +++ b/src/sage/combinat/words/word_generators.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Common words diff --git a/src/sage/combinat/words/word_infinite_datatypes.py b/src/sage/combinat/words/word_infinite_datatypes.py index 8dbf97ed59a..f20eac6c730 100644 --- a/src/sage/combinat/words/word_infinite_datatypes.py +++ b/src/sage/combinat/words/word_infinite_datatypes.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Datatypes for words defined by iterators and callables """ diff --git a/src/sage/combinat/words/word_options.py b/src/sage/combinat/words/word_options.py index 2d2bf3bc7ff..7a6d553f3cb 100644 --- a/src/sage/combinat/words/word_options.py +++ b/src/sage/combinat/words/word_options.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" User-customizable options for words """ diff --git a/src/sage/combinat/words/words.py b/src/sage/combinat/words/words.py index 9cdc76c7eac..0ebb653d0bd 100644 --- a/src/sage/combinat/words/words.py +++ b/src/sage/combinat/words/words.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Set of words diff --git a/src/sage/combinat/yang_baxter_graph.py b/src/sage/combinat/yang_baxter_graph.py index bcfac20fdb3..6b10cb086dc 100644 --- a/src/sage/combinat/yang_baxter_graph.py +++ b/src/sage/combinat/yang_baxter_graph.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs r""" Yang-Baxter Graphs """ @@ -335,7 +336,7 @@ def _edges_in_bfs(self): seen[self._root] = True while queue: u = queue.pop() - l = sorted(list(digraph.neighbor_out_iterator(u))) + l = sorted(digraph.neighbor_out_iterator(u)) for w in l: if w not in seen: seen[w] = True @@ -585,7 +586,7 @@ def __init__(self, partition): """ self._partition = partition beta = sorted(self._partition, reverse=True) - root = sum([tuple(range(b)) for b in beta], tuple())[::-1] + root = sum((tuple(range(b)) for b in beta), ())[::-1] operators = [SwapIncreasingOperator(i) for i in range(sum(partition) - 1)] super().__init__(root, operators) diff --git a/src/sage/cpython/__init__.py b/src/sage/cpython/__init__.py index 0e4de12a8b1..1742d8853b4 100644 --- a/src/sage/cpython/__init__.py +++ b/src/sage/cpython/__init__.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects # sage.cpython is an ordinary package, not a namespace package. # This package is imported very early, which is why workarounds/monkey-patching diff --git a/src/sage/cpython/_py2_random.py b/src/sage/cpython/_py2_random.py index 38ca23416ed..0da28217eec 100644 --- a/src/sage/cpython/_py2_random.py +++ b/src/sage/cpython/_py2_random.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects """ Except from the `random` module from Python 2.7.14 used solely for consistency in the doctest suite for random results that depend on the Python PRNG. diff --git a/src/sage/cpython/all.py b/src/sage/cpython/all.py index d48ee4c7d45..f17f7a6559a 100644 --- a/src/sage/cpython/all.py +++ b/src/sage/cpython/all.py @@ -1,2 +1,3 @@ +# sage_setup: distribution = sagemath-objects from sage.cpython.debug import getattr_debug, type_debug from sage.cpython.getattr import raw_getattr diff --git a/src/sage/cpython/atexit.pyx b/src/sage/cpython/atexit.pyx index e5a82735137..dc132a9d25d 100644 --- a/src/sage/cpython/atexit.pyx +++ b/src/sage/cpython/atexit.pyx @@ -1,4 +1,4 @@ -# -*- encoding: utf-8 -*- +# sage_setup: distribution = sagemath-objects """Utilities for interfacing with the standard library's atexit module.""" diff --git a/src/sage/cpython/builtin_types.pyx b/src/sage/cpython/builtin_types.pyx index bfac8c414a7..f094d909dbf 100644 --- a/src/sage/cpython/builtin_types.pyx +++ b/src/sage/cpython/builtin_types.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects from cpython.object cimport PyTypeObject cdef extern from *: diff --git a/src/sage/cpython/cython_metaclass.pxd b/src/sage/cpython/cython_metaclass.pxd index 189eb04f1c4..fc4bb020ed0 100644 --- a/src/sage/cpython/cython_metaclass.pxd +++ b/src/sage/cpython/cython_metaclass.pxd @@ -1,2 +1,3 @@ +# sage_setup: distribution = sagemath-objects cdef extern from "cython_metaclass.h": PyMethodDescr_CallSelf(desc, self) diff --git a/src/sage/cpython/cython_metaclass.pyx b/src/sage/cpython/cython_metaclass.pyx index a8fa92fc1a8..6447ed19e6d 100644 --- a/src/sage/cpython/cython_metaclass.pyx +++ b/src/sage/cpython/cython_metaclass.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects """ Metaclasses for Cython extension types diff --git a/src/sage/cpython/debug.pyx b/src/sage/cpython/debug.pyx index 09680986673..79aba1a7fbe 100644 --- a/src/sage/cpython/debug.pyx +++ b/src/sage/cpython/debug.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects """ Various functions to debug Python internals """ diff --git a/src/sage/cpython/dict_del_by_value.pxd b/src/sage/cpython/dict_del_by_value.pxd index 71572b8951f..1bb9f8bd1c5 100644 --- a/src/sage/cpython/dict_del_by_value.pxd +++ b/src/sage/cpython/dict_del_by_value.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects from cpython.object cimport PyObject cdef extern from "Python.h": ctypedef struct PyDictObject diff --git a/src/sage/cpython/dict_del_by_value.pyx b/src/sage/cpython/dict_del_by_value.pyx index e00b4bcd611..44f0700206e 100644 --- a/src/sage/cpython/dict_del_by_value.pyx +++ b/src/sage/cpython/dict_del_by_value.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects """ Delete item from PyDict by exact value and hash diff --git a/src/sage/cpython/getattr.pxd b/src/sage/cpython/getattr.pxd index e0987cfa4c5..adf20ae9766 100644 --- a/src/sage/cpython/getattr.pxd +++ b/src/sage/cpython/getattr.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects # A class that allows for a more efficient creation # of attribute errors, so that raising them requires # less time. diff --git a/src/sage/cpython/getattr.pyx b/src/sage/cpython/getattr.pyx index d8a5795c0c4..899fbe62ecc 100644 --- a/src/sage/cpython/getattr.pyx +++ b/src/sage/cpython/getattr.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects """ Variants of getattr() """ diff --git a/src/sage/cpython/pycore_long.pxd b/src/sage/cpython/pycore_long.pxd index 41de637ff18..4fe503a247e 100644 --- a/src/sage/cpython/pycore_long.pxd +++ b/src/sage/cpython/pycore_long.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects from cpython.longintrepr cimport py_long, digit cdef extern from "pycore_long.h": diff --git a/src/sage/cpython/python_debug.pxd b/src/sage/cpython/python_debug.pxd index a7a2f112d00..f43779e5362 100644 --- a/src/sage/cpython/python_debug.pxd +++ b/src/sage/cpython/python_debug.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects # Python can be built with extensive debugging support. This file lets # Sage know about which debugging options are enabled. # diff --git a/src/sage/cpython/string.pxd b/src/sage/cpython/string.pxd index 1fde0aec0de..58c80d14987 100644 --- a/src/sage/cpython/string.pxd +++ b/src/sage/cpython/string.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects # **************************************************************************** # Copyright (C) 2017 Erik M. Bray # diff --git a/src/sage/cpython/string.pyx b/src/sage/cpython/string.pyx index a35fbd41881..fe472fd95bc 100644 --- a/src/sage/cpython/string.pyx +++ b/src/sage/cpython/string.pyx @@ -1,4 +1,4 @@ -# -*- encoding: utf-8 -*- +# sage_setup: distribution = sagemath-objects """ String <-> bytes encoding/decoding diff --git a/src/sage/cpython/type.pxd b/src/sage/cpython/type.pxd index f3f80c7a6c6..2f77fe0a88e 100644 --- a/src/sage/cpython/type.pxd +++ b/src/sage/cpython/type.pxd @@ -1 +1,2 @@ +# sage_setup: distribution = sagemath-objects cpdef bint can_assign_class(obj) noexcept diff --git a/src/sage/cpython/type.pyx b/src/sage/cpython/type.pyx index f9dcabc5df4..d2041c13ab5 100644 --- a/src/sage/cpython/type.pyx +++ b/src/sage/cpython/type.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects """ Type internals """ diff --git a/src/sage/cpython/wrapperdescr.pxd b/src/sage/cpython/wrapperdescr.pxd index b6775860710..100d3a758bb 100644 --- a/src/sage/cpython/wrapperdescr.pxd +++ b/src/sage/cpython/wrapperdescr.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects from cpython.object cimport PyObject, PyTypeObject cdef extern from *: diff --git a/src/sage/cpython/wrapperdescr.pyx b/src/sage/cpython/wrapperdescr.pyx index 776e4fe94a8..1e74353e798 100644 --- a/src/sage/cpython/wrapperdescr.pyx +++ b/src/sage/cpython/wrapperdescr.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects """ Slot wrappers diff --git a/src/sage/crypto/__init__.py b/src/sage/crypto/__init__.py index 107a9733a62..8d79ceb4559 100644 --- a/src/sage/crypto/__init__.py +++ b/src/sage/crypto/__init__.py @@ -1,2 +1,3 @@ +# sage_setup: distribution = sagemath-modules from sage.misc.lazy_import import lazy_import lazy_import('sage.crypto.lattice', 'gen_lattice') diff --git a/src/sage/crypto/all.py b/src/sage/crypto/all.py index 1ea6c8f20a7..e878d30ac8f 100644 --- a/src/sage/crypto/all.py +++ b/src/sage/crypto/all.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules import sage.crypto.sbox from sage.misc.persist import register_unpickle_override register_unpickle_override('sage.crypto.mq.sbox', 'SBox', sage.crypto.sbox.SBox) @@ -10,13 +11,14 @@ 'ShiftCryptosystem', 'TranspositionCryptosystem', 'VigenereCryptosystem', - ]) + ]) lazy_import('sage.crypto.stream', ['LFSRCryptosystem', 'ShrinkingGeneratorCryptosystem', - ]) + ]) lazy_import('sage.crypto.lfsr', ['lfsr_sequence', 'lfsr_autocorrelation', 'lfsr_connection_polynomial', - ]) + ]) +del lazy_import diff --git a/src/sage/crypto/block_cipher/all.py b/src/sage/crypto/block_cipher/all.py index 0a5ec657f5d..822866ce5ec 100644 --- a/src/sage/crypto/block_cipher/all.py +++ b/src/sage/crypto/block_cipher/all.py @@ -1,5 +1,7 @@ +# sage_setup: distribution = sagemath-modules from sage.misc.lazy_import import lazy_import lazy_import('sage.crypto.block_cipher.miniaes', 'MiniAES') lazy_import('sage.crypto.block_cipher.sdes', 'SimplifiedDES') lazy_import('sage.crypto.block_cipher.present', 'PRESENT') +del lazy_import diff --git a/src/sage/crypto/block_cipher/des.py b/src/sage/crypto/block_cipher/des.py index 6799dd8e4c1..2af44a9473f 100644 --- a/src/sage/crypto/block_cipher/des.py +++ b/src/sage/crypto/block_cipher/des.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.modules sage.rings.finite_rings r""" DES diff --git a/src/sage/crypto/block_cipher/miniaes.py b/src/sage/crypto/block_cipher/miniaes.py index 6eb9568b9fc..45cf03ad43c 100644 --- a/src/sage/crypto/block_cipher/miniaes.py +++ b/src/sage/crypto/block_cipher/miniaes.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.combinat sage.modules sage.rings.finite_rings r""" Mini-AES diff --git a/src/sage/crypto/block_cipher/present.py b/src/sage/crypto/block_cipher/present.py index d6f6146af3a..b69b54fb74d 100644 --- a/src/sage/crypto/block_cipher/present.py +++ b/src/sage/crypto/block_cipher/present.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.modules sage.rings.finite_rings r""" PRESENT diff --git a/src/sage/crypto/block_cipher/sdes.py b/src/sage/crypto/block_cipher/sdes.py index 30b8cf2516c..04f8d373ef8 100644 --- a/src/sage/crypto/block_cipher/sdes.py +++ b/src/sage/crypto/block_cipher/sdes.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.combinat sage.rings.finite_rings r""" Simplified DES diff --git a/src/sage/crypto/boolean_function.pxd b/src/sage/crypto/boolean_function.pxd index 5703943123c..50ba8283b1c 100644 --- a/src/sage/crypto/boolean_function.pxd +++ b/src/sage/crypto/boolean_function.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules cdef inline unsigned int hamming_weight(unsigned int x) noexcept: # valid for 32bits x -= (x>>1) & 0x55555555UL # 0-2 in 2 bits diff --git a/src/sage/crypto/boolean_function.pyx b/src/sage/crypto/boolean_function.pyx index 70833c63dc3..0a5cb43da49 100644 --- a/src/sage/crypto/boolean_function.pyx +++ b/src/sage/crypto/boolean_function.pyx @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-modules """ Boolean functions diff --git a/src/sage/crypto/cipher.py b/src/sage/crypto/cipher.py index 14e9df6a504..0b5403415f7 100644 --- a/src/sage/crypto/cipher.py +++ b/src/sage/crypto/cipher.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.combinat """ Ciphers diff --git a/src/sage/crypto/classical.py b/src/sage/crypto/classical.py index e88ad4924bb..8d7b820fc10 100644 --- a/src/sage/crypto/classical.py +++ b/src/sage/crypto/classical.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.combinat r""" Classical Cryptosystems diff --git a/src/sage/crypto/classical_cipher.py b/src/sage/crypto/classical_cipher.py index b775c426058..d071c537d13 100644 --- a/src/sage/crypto/classical_cipher.py +++ b/src/sage/crypto/classical_cipher.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.combinat """ Classical Ciphers diff --git a/src/sage/crypto/cryptosystem.py b/src/sage/crypto/cryptosystem.py index 488b9a014b5..6524ecc0185 100644 --- a/src/sage/crypto/cryptosystem.py +++ b/src/sage/crypto/cryptosystem.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.combinat r""" Cryptosystems diff --git a/src/sage/crypto/lattice.py b/src/sage/crypto/lattice.py index 513730ff89f..a5d81c1bb7c 100644 --- a/src/sage/crypto/lattice.py +++ b/src/sage/crypto/lattice.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.modules """ Hard Lattice Generator diff --git a/src/sage/crypto/lfsr.py b/src/sage/crypto/lfsr.py index 869bdcf5990..5b25196d732 100644 --- a/src/sage/crypto/lfsr.py +++ b/src/sage/crypto/lfsr.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.rings.finite_rings r""" Linear feedback shift register (LFSR) sequence commands diff --git a/src/sage/crypto/lwe.py b/src/sage/crypto/lwe.py index 40281916b19..5d70e237f5d 100644 --- a/src/sage/crypto/lwe.py +++ b/src/sage/crypto/lwe.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs scipy sage.symbolic """ (Ring-)LWE oracle generators diff --git a/src/sage/crypto/mq/__init__.py b/src/sage/crypto/mq/__init__.py index bc96f8eb607..a0b767f60a5 100644 --- a/src/sage/crypto/mq/__init__.py +++ b/src/sage/crypto/mq/__init__.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.misc.lazy_import import lazy_import lazy_import('sage.crypto.mq.rijndael_gf', 'RijndaelGF') lazy_import('sage.crypto.mq.sr', 'SR') diff --git a/src/sage/crypto/mq/mpolynomialsystemgenerator.py b/src/sage/crypto/mq/mpolynomialsystemgenerator.py index 4416d9ef7f6..31690a55e34 100644 --- a/src/sage/crypto/mq/mpolynomialsystemgenerator.py +++ b/src/sage/crypto/mq/mpolynomialsystemgenerator.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Abstract base class for generators of polynomial systems diff --git a/src/sage/crypto/mq/rijndael_gf.py b/src/sage/crypto/mq/rijndael_gf.py index 55ae295f2cd..5192c742694 100644 --- a/src/sage/crypto/mq/rijndael_gf.py +++ b/src/sage/crypto/mq/rijndael_gf.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.modules sage.rings.finite_rings r""" Rijndael-GF diff --git a/src/sage/crypto/mq/sbox.py b/src/sage/crypto/mq/sbox.py index b05411fe0d3..ea2e3ea529e 100644 --- a/src/sage/crypto/mq/sbox.py +++ b/src/sage/crypto/mq/sbox.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.misc.lazy_import import lazy_import lazy_import('sage.crypto.sbox', ['SBox', diff --git a/src/sage/crypto/mq/sr.py b/src/sage/crypto/mq/sr.py index 5fcffef726d..80ff73420bb 100644 --- a/src/sage/crypto/mq/sr.py +++ b/src/sage/crypto/mq/sr.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.modules sage.rings.finite_rings r""" Small Scale Variants of the AES (SR) Polynomial System Generator diff --git a/src/sage/crypto/public_key/all.py b/src/sage/crypto/public_key/all.py index 56416dd76b5..c19d3da50f3 100644 --- a/src/sage/crypto/public_key/all.py +++ b/src/sage/crypto/public_key/all.py @@ -1,3 +1,5 @@ +# sage_setup: distribution = sagemath-modules from sage.misc.lazy_import import lazy_import lazy_import('sage.crypto.public_key.blum_goldwasser', 'BlumGoldwasser') +del lazy_import diff --git a/src/sage/crypto/public_key/blum_goldwasser.py b/src/sage/crypto/public_key/blum_goldwasser.py index 1d090673400..c759cc2784f 100644 --- a/src/sage/crypto/public_key/blum_goldwasser.py +++ b/src/sage/crypto/public_key/blum_goldwasser.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.combinat r""" Blum-Goldwasser Probabilistic Encryption diff --git a/src/sage/crypto/sbox.pyx b/src/sage/crypto/sbox.pyx index 322f7ca5f45..45f958ad0cc 100644 --- a/src/sage/crypto/sbox.pyx +++ b/src/sage/crypto/sbox.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.modules sage.rings.finite_rings r""" S-Boxes and Their Algebraic Representations diff --git a/src/sage/crypto/sboxes.py b/src/sage/crypto/sboxes.py index 749593c401b..5f16103a641 100644 --- a/src/sage/crypto/sboxes.py +++ b/src/sage/crypto/sboxes.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.modules sage.rings.finite_rings r""" S-Boxes used in cryptographic schemes diff --git a/src/sage/crypto/stream.py b/src/sage/crypto/stream.py index 636f588ad97..a7d8760d7d5 100644 --- a/src/sage/crypto/stream.py +++ b/src/sage/crypto/stream.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.combinat sage.rings.finite_rings """ Stream Cryptosystems diff --git a/src/sage/crypto/stream_cipher.py b/src/sage/crypto/stream_cipher.py index 7eb69e3c7b7..f2262ee43de 100644 --- a/src/sage/crypto/stream_cipher.py +++ b/src/sage/crypto/stream_cipher.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.combinat sage.rings.finite_rings """ Stream Ciphers diff --git a/src/sage/crypto/util.py b/src/sage/crypto/util.py index 8590c83db5c..1610427b90e 100644 --- a/src/sage/crypto/util.py +++ b/src/sage/crypto/util.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.combinat """ Utility Functions for Cryptography diff --git a/src/sage/data_structures/all.py b/src/sage/data_structures/all.py index eac1b4b8931..86dc95c5bd8 100644 --- a/src/sage/data_structures/all.py +++ b/src/sage/data_structures/all.py @@ -1,2 +1,3 @@ +# sage_setup: distribution = sagemath-categories -from sage.data_structures.bitset import Bitset, FrozenBitset +from sage.data_structures.all__sagemath_categories import * diff --git a/src/sage/data_structures/all__sagemath_categories.py b/src/sage/data_structures/all__sagemath_categories.py new file mode 100644 index 00000000000..fe98668667d --- /dev/null +++ b/src/sage/data_structures/all__sagemath_categories.py @@ -0,0 +1 @@ +from sage.data_structures.bitset import Bitset, FrozenBitset diff --git a/src/sage/data_structures/all__sagemath_combinat.py b/src/sage/data_structures/all__sagemath_combinat.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/data_structures/all__sagemath_flint.py b/src/sage/data_structures/all__sagemath_flint.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/data_structures/binary_matrix.pxd b/src/sage/data_structures/binary_matrix.pxd index a2eb8d709bb..6c4a8598797 100644 --- a/src/sage/data_structures/binary_matrix.pxd +++ b/src/sage/data_structures/binary_matrix.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" A binary matrix datatype in Cython diff --git a/src/sage/data_structures/binary_search.pxd b/src/sage/data_structures/binary_search.pxd index 5eee088e8b8..88b025a3766 100644 --- a/src/sage/data_structures/binary_search.pxd +++ b/src/sage/data_structures/binary_search.pxd @@ -1,2 +1,3 @@ +# sage_setup: distribution = sagemath-categories cdef Py_ssize_t binary_search(Py_ssize_t* v, Py_ssize_t n, Py_ssize_t x, Py_ssize_t* ins) noexcept -cdef Py_ssize_t binary_search0(Py_ssize_t* v, Py_ssize_t n, Py_ssize_t x) noexcept \ No newline at end of file +cdef Py_ssize_t binary_search0(Py_ssize_t* v, Py_ssize_t n, Py_ssize_t x) noexcept diff --git a/src/sage/data_structures/binary_search.pyx b/src/sage/data_structures/binary_search.pyx index 173affa5687..47d92ca3a16 100644 --- a/src/sage/data_structures/binary_search.pyx +++ b/src/sage/data_structures/binary_search.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # We can probably get away with only having the mpz_binary_searches in here. # I'm too scared to get rid of it at 2am though. cdef Py_ssize_t binary_search(Py_ssize_t* v, Py_ssize_t n, Py_ssize_t x, Py_ssize_t* ins) noexcept: diff --git a/src/sage/data_structures/bitset.pxd b/src/sage/data_structures/bitset.pxd index 35343fa28ae..6f980b21837 100644 --- a/src/sage/data_structures/bitset.pxd +++ b/src/sage/data_structures/bitset.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories #***************************************************************************** # Copyright (C) 2008 Robert Bradshaw # diff --git a/src/sage/data_structures/bitset.pyx b/src/sage/data_structures/bitset.pyx index 8a5e91c0a9a..8c3c28f281f 100644 --- a/src/sage/data_structures/bitset.pyx +++ b/src/sage/data_structures/bitset.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Bitsets diff --git a/src/sage/data_structures/bitset_base.pxd b/src/sage/data_structures/bitset_base.pxd index df40d666d86..df569e4fddf 100644 --- a/src/sage/data_structures/bitset_base.pxd +++ b/src/sage/data_structures/bitset_base.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # distutils: depends = bitset_intrinsics.h # distutils: libraries = gmp """ diff --git a/src/sage/data_structures/bitset_base.pyx b/src/sage/data_structures/bitset_base.pyx index 182812a891f..bb94d74e131 100644 --- a/src/sage/data_structures/bitset_base.pyx +++ b/src/sage/data_structures/bitset_base.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Few functions from ``bitset_base.pxd`` that are not inlined. """ diff --git a/src/sage/data_structures/blas_dict.pxd b/src/sage/data_structures/blas_dict.pxd index 7464c0daba8..b40130c88d5 100644 --- a/src/sage/data_structures/blas_dict.pxd +++ b/src/sage/data_structures/blas_dict.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories cpdef int iaxpy(a, dict X, dict Y, bint remove_zeros=*, bint factor_on_left=*) except -1 cpdef dict axpy(a, dict X, dict Y, bint factor_on_left=*) cpdef dict negate(dict D) diff --git a/src/sage/data_structures/blas_dict.pyx b/src/sage/data_structures/blas_dict.pyx index c13cab2aab9..b53b102377a 100644 --- a/src/sage/data_structures/blas_dict.pyx +++ b/src/sage/data_structures/blas_dict.pyx @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-categories r""" Basic Linear Algebra Subroutines on dictionaries diff --git a/src/sage/data_structures/bounded_integer_sequences.pxd b/src/sage/data_structures/bounded_integer_sequences.pxd index c87fc914921..0abfd7d3082 100644 --- a/src/sage/data_structures/bounded_integer_sequences.pxd +++ b/src/sage/data_structures/bounded_integer_sequences.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint from sage.libs.gmp.types cimport * from sage.data_structures.bitset cimport * diff --git a/src/sage/data_structures/bounded_integer_sequences.pyx b/src/sage/data_structures/bounded_integer_sequences.pyx index 40638ab399c..faed83a1d5e 100644 --- a/src/sage/data_structures/bounded_integer_sequences.pyx +++ b/src/sage/data_structures/bounded_integer_sequences.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint r""" Sequences of bounded integers diff --git a/src/sage/data_structures/list_of_pairs.pxd b/src/sage/data_structures/list_of_pairs.pxd index 4dbb57c201c..e16c6ae628c 100644 --- a/src/sage/data_structures/list_of_pairs.pxd +++ b/src/sage/data_structures/list_of_pairs.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories cimport cython cdef struct pair_s: diff --git a/src/sage/data_structures/list_of_pairs.pyx b/src/sage/data_structures/list_of_pairs.pyx index 258320353a0..a8e213aea36 100644 --- a/src/sage/data_structures/list_of_pairs.pyx +++ b/src/sage/data_structures/list_of_pairs.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" A data structure to store lists of integer pairs of large size. """ diff --git a/src/sage/data_structures/mutable_poset.py b/src/sage/data_structures/mutable_poset.py index 03b5a7019c2..852a29cd534 100644 --- a/src/sage/data_structures/mutable_poset.py +++ b/src/sage/data_structures/mutable_poset.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Mutable Poset diff --git a/src/sage/data_structures/sparse_bitset.pxd b/src/sage/data_structures/sparse_bitset.pxd index 9b95c55675b..9bebdb48b22 100644 --- a/src/sage/data_structures/sparse_bitset.pxd +++ b/src/sage/data_structures/sparse_bitset.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Sparse bitset. diff --git a/src/sage/data_structures/stream.py b/src/sage/data_structures/stream.py index c67c2b3de04..0841c040c75 100644 --- a/src/sage/data_structures/stream.py +++ b/src/sage/data_structures/stream.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Streams diff --git a/src/sage/databases/all.py b/src/sage/databases/all.py index a6571c7a5df..1f1e9ace1d8 100644 --- a/src/sage/databases/all.py +++ b/src/sage/databases/all.py @@ -5,7 +5,7 @@ * CremonaDatabase() - Cremona's tables of elliptic curves and related data. - * findstat -- The FindStat database (http://www.findstat.org/). + * findstat -- The FindStat database (https://www.findstat.org/). * JonesDatabase() -- returns the John Jones table of number fields with bounded ramification and degree <= 6. @@ -48,7 +48,7 @@ # **************************************************************************** from sage.misc.lazy_import import lazy_import -from .sql_db import SQLQuery, SQLDatabase +from sage.databases.sql_db import SQLQuery, SQLDatabase lazy_import('sage.databases.conway', 'ConwayPolynomials') @@ -67,16 +67,17 @@ lazy_import('sage.databases.odlyzko', 'zeta_zeros') -from .db_modular_polynomials import \ - ClassicalModularPolynomialDatabase, \ - DedekindEtaModularPolynomialDatabase, \ - DedekindEtaModularCorrespondenceDatabase, \ - AtkinModularPolynomialDatabase, \ - AtkinModularCorrespondenceDatabase +from sage.databases.db_modular_polynomials import \ + ClassicalModularPolynomialDatabase, \ + DedekindEtaModularPolynomialDatabase, \ + DedekindEtaModularCorrespondenceDatabase, \ + AtkinModularPolynomialDatabase, \ + AtkinModularCorrespondenceDatabase -from .db_class_polynomials import \ - HilbertClassPolynomialDatabase +from sage.databases.db_class_polynomials import \ + HilbertClassPolynomialDatabase lazy_import('sage.databases.cunningham_tables', 'cunningham_prime_factors') lazy_import('sage.databases.findstat', ['findstat', 'findmap']) +del lazy_import diff --git a/src/sage/databases/all__sagemath_graphs.py b/src/sage/databases/all__sagemath_graphs.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/databases/conway.py b/src/sage/databases/conway.py index b1f76292ce8..393f8428468 100644 --- a/src/sage/databases/conway.py +++ b/src/sage/databases/conway.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- r""" Frank Lübeck's tables of Conway polynomials over finite fields """ diff --git a/src/sage/databases/cubic_hecke_db.py b/src/sage/databases/cubic_hecke_db.py index ad3dc8cd399..c4c2eab0f8c 100644 --- a/src/sage/databases/cubic_hecke_db.py +++ b/src/sage/databases/cubic_hecke_db.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- r""" Cubic Hecke database diff --git a/src/sage/databases/findstat.py b/src/sage/databases/findstat.py index 062bde84b74..3b27e18a06d 100644 --- a/src/sage/databases/findstat.py +++ b/src/sage/databases/findstat.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- r""" FindStat - the search engine for combinatorial statistics and maps diff --git a/src/sage/databases/knotinfo_db.py b/src/sage/databases/knotinfo_db.py index 8817a304d85..251ffb224fe 100644 --- a/src/sage/databases/knotinfo_db.py +++ b/src/sage/databases/knotinfo_db.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-graphs r""" KnotInfo database diff --git a/src/sage/databases/oeis.py b/src/sage/databases/oeis.py index 040a2460289..83024b84db2 100644 --- a/src/sage/databases/oeis.py +++ b/src/sage/databases/oeis.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- r""" The On-Line Encyclopedia of Integer Sequences (OEIS) diff --git a/src/sage/databases/sql_db.py b/src/sage/databases/sql_db.py index ebc6d5f0eea..cae2b9c8430 100644 --- a/src/sage/databases/sql_db.py +++ b/src/sage/databases/sql_db.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- r""" Relational (sqlite) Databases Module diff --git a/src/sage/doctest/__init__.py b/src/sage/doctest/__init__.py index 95280f2c603..d0892b4ed55 100644 --- a/src/sage/doctest/__init__.py +++ b/src/sage/doctest/__init__.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-repl # This flag gets set to True by sage.doctest.forker.init_sage at the # beginning of each doctest run. DOCTEST_MODE = False diff --git a/src/sage/doctest/all.py b/src/sage/doctest/all.py index bc363e7830c..626c4fb42b1 100644 --- a/src/sage/doctest/all.py +++ b/src/sage/doctest/all.py @@ -1,2 +1,4 @@ +# sage_setup: distribution = sagemath-repl from sage.misc.lazy_import import lazy_import lazy_import('sage.doctest.control', 'run_doctests') +del lazy_import diff --git a/src/sage/doctest/control.py b/src/sage/doctest/control.py index 38c99e6dd72..602b5276543 100644 --- a/src/sage/doctest/control.py +++ b/src/sage/doctest/control.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-repl """ Classes involved in doctesting @@ -1102,9 +1103,7 @@ def source_baseline(self, source): EXAMPLES:: sage: from sage.doctest.control import DocTestDefaults, DocTestController - sage: from sage.env import SAGE_SRC - sage: import os - sage: filename = os.path.join(SAGE_SRC,'sage','doctest','util.py') + sage: filename = sage.doctest.util.__file__ sage: DD = DocTestDefaults() sage: DC = DocTestController(DD, [filename]) sage: DC.expand_files_into_sources() diff --git a/src/sage/doctest/external.py b/src/sage/doctest/external.py index 85eefc27119..5dc1ed7b823 100644 --- a/src/sage/doctest/external.py +++ b/src/sage/doctest/external.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-repl """ Detecting external software diff --git a/src/sage/doctest/fixtures.py b/src/sage/doctest/fixtures.py index 9fbfdf86db9..01f931727df 100644 --- a/src/sage/doctest/fixtures.py +++ b/src/sage/doctest/fixtures.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-repl r""" Fixtures to help testing functionality diff --git a/src/sage/doctest/forker.py b/src/sage/doctest/forker.py index 42598a761c9..48b991316dd 100644 --- a/src/sage/doctest/forker.py +++ b/src/sage/doctest/forker.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-repl """ Processes for running doctests @@ -575,11 +576,10 @@ def _run(self, test, compileflags, out): sage: from sage.doctest.forker import SageDocTestRunner sage: from sage.doctest.sources import FileDocTestSource sage: from sage.doctest.control import DocTestDefaults; DD = DocTestDefaults() - sage: from sage.env import SAGE_SRC sage: import doctest, sys, os sage: DTR = SageDocTestRunner(SageOutputChecker(), verbose=False, sage_options=DD, optionflags=doctest.NORMALIZE_WHITESPACE|doctest.ELLIPSIS) - sage: filename = os.path.join(SAGE_SRC,'sage','doctest','forker.py') - sage: FDS = FileDocTestSource(filename,DD) + sage: filename = sage.doctest.forker.__file__ + sage: FDS = FileDocTestSource(filename, DD) sage: doctests, extras = FDS.create_doctests(globals()) sage: DTR.run(doctests[0], clear_globs=False) # indirect doctest TestResults(failed=0, attempted=4) @@ -876,12 +876,11 @@ def run(self, test, compileflags=0, out=None, clear_globs=True): sage: from sage.doctest.forker import SageDocTestRunner sage: from sage.doctest.sources import FileDocTestSource sage: from sage.doctest.control import DocTestDefaults; DD = DocTestDefaults() - sage: from sage.env import SAGE_SRC sage: import doctest, sys, os sage: DTR = SageDocTestRunner(SageOutputChecker(), verbose=False, sage_options=DD, ....: optionflags=doctest.NORMALIZE_WHITESPACE|doctest.ELLIPSIS) - sage: filename = os.path.join(SAGE_SRC,'sage','doctest','forker.py') - sage: FDS = FileDocTestSource(filename,DD) + sage: filename = sage.doctest.forker.__file__ + sage: FDS = FileDocTestSource(filename, DD) sage: doctests, extras = FDS.create_doctests(globals()) sage: DTR.run(doctests[0], clear_globs=False) TestResults(failed=0, attempted=4) @@ -1021,11 +1020,10 @@ def update_digests(self, example): sage: from sage.doctest.forker import SageDocTestRunner sage: from sage.doctest.sources import FileDocTestSource sage: from sage.doctest.control import DocTestDefaults; DD = DocTestDefaults() - sage: from sage.env import SAGE_SRC sage: import doctest, sys, os, hashlib sage: DTR = SageDocTestRunner(SageOutputChecker(), verbose=False, sage_options=DD, optionflags=doctest.NORMALIZE_WHITESPACE|doctest.ELLIPSIS) - sage: filename = os.path.join(SAGE_SRC,'sage','doctest','forker.py') - sage: FDS = FileDocTestSource(filename,DD) + sage: filename = sage.doctest.forker.__file__ + sage: FDS = FileDocTestSource(filename, DD) sage: doctests, extras = FDS.create_doctests(globals()) sage: DTR.running_global_digest.hexdigest() 'd41d8cd98f00b204e9800998ecf8427e' @@ -1083,12 +1081,11 @@ def compile_and_execute(self, example, compiler, globs): sage: from sage.doctest.sources import FileDocTestSource sage: from sage.doctest.util import RecordingDict sage: from sage.doctest.control import DocTestDefaults; DD = DocTestDefaults() - sage: from sage.env import SAGE_SRC sage: import doctest, sys, os, hashlib sage: DTR = SageDocTestRunner(SageOutputChecker(), verbose=False, sage_options=DD, ....: optionflags=doctest.NORMALIZE_WHITESPACE|doctest.ELLIPSIS) sage: DTR.running_doctest_digest = hashlib.md5() - sage: filename = os.path.join(SAGE_SRC, 'sage', 'doctest', 'forker.py') + sage: filename = sage.doctest.forker.__file__ sage: FDS = FileDocTestSource(filename, DD) sage: globs = RecordingDict(globals()) sage: 'doctest_var' in globs @@ -1203,16 +1200,15 @@ def _failure_header(self, test, example, message='Failed example:'): sage: from sage.doctest.forker import SageDocTestRunner sage: from sage.doctest.sources import FileDocTestSource sage: from sage.doctest.control import DocTestDefaults; DD = DocTestDefaults() - sage: from sage.env import SAGE_SRC sage: import doctest, sys, os sage: DTR = SageDocTestRunner(SageOutputChecker(), verbose=False, sage_options=DD, optionflags=doctest.NORMALIZE_WHITESPACE|doctest.ELLIPSIS) - sage: filename = os.path.join(SAGE_SRC,'sage','doctest','forker.py') - sage: FDS = FileDocTestSource(filename,DD) + sage: filename = sage.doctest.forker.__file__ + sage: FDS = FileDocTestSource(filename, DD) sage: doctests, extras = FDS.create_doctests(globals()) sage: ex = doctests[0].examples[0] sage: print(DTR._failure_header(doctests[0], ex)) ********************************************************************** - File ".../sage/doctest/forker.py", line 11, in sage.doctest.forker + File ".../sage/doctest/forker.py", line 12, in sage.doctest.forker Failed example: doctest_var = 42; doctest_var^2 @@ -1222,7 +1218,7 @@ def _failure_header(self, test, example, message='Failed example:'): sage: import doctest sage: print(doctest.DocTestRunner._failure_header(DTR, doctests[0], ex)) ********************************************************************** - File ".../sage/doctest/forker.py", line 11, in sage.doctest.forker + File ".../sage/doctest/forker.py", line 12, in sage.doctest.forker Failed example: doctest_var = Integer(42); doctest_var**Integer(2) @@ -1231,7 +1227,7 @@ def _failure_header(self, test, example, message='Failed example:'): sage: print(DTR._failure_header(doctests[0], ex, message='Hello there!')) ********************************************************************** - File ".../sage/doctest/forker.py", line 11, in sage.doctest.forker + File ".../sage/doctest/forker.py", line 12, in sage.doctest.forker Hello there! doctest_var = 42; doctest_var^2 @@ -1315,15 +1311,14 @@ def report_start(self, out, test, example): sage: from sage.doctest.forker import SageDocTestRunner sage: from sage.doctest.sources import FileDocTestSource sage: from sage.doctest.control import DocTestDefaults; DD = DocTestDefaults() - sage: from sage.env import SAGE_SRC sage: import doctest, sys, os sage: DTR = SageDocTestRunner(SageOutputChecker(), verbose=True, sage_options=DD, optionflags=doctest.NORMALIZE_WHITESPACE|doctest.ELLIPSIS) - sage: filename = os.path.join(SAGE_SRC,'sage','doctest','forker.py') - sage: FDS = FileDocTestSource(filename,DD) + sage: filename = sage.doctest.forker.__file__ + sage: FDS = FileDocTestSource(filename, DD) sage: doctests, extras = FDS.create_doctests(globals()) sage: ex = doctests[0].examples[0] sage: DTR.report_start(sys.stdout.write, doctests[0], ex) - Trying (line 11): doctest_var = 42; doctest_var^2 + Trying (line 12): doctest_var = 42; doctest_var^2 Expecting: 1764 """ @@ -1369,11 +1364,10 @@ def report_success(self, out, test, example, got, *, check_duration=0): sage: from sage.doctest.sources import FileDocTestSource sage: from sage.doctest.control import DocTestDefaults; DD = DocTestDefaults() sage: from sage.misc.timing import walltime - sage: from sage.env import SAGE_SRC sage: import doctest, sys, os sage: DTR = SageDocTestRunner(SageOutputChecker(), verbose=True, sage_options=DD, optionflags=doctest.NORMALIZE_WHITESPACE|doctest.ELLIPSIS) - sage: filename = os.path.join(SAGE_SRC,'sage','doctest','forker.py') - sage: FDS = FileDocTestSource(filename,DD) + sage: filename = sage.doctest.forker.__file__ + sage: FDS = FileDocTestSource(filename, DD) sage: doctests, extras = FDS.create_doctests(globals()) sage: ex = doctests[0].examples[0] sage: ex.walltime = 0.0 @@ -1410,17 +1404,16 @@ def report_failure(self, out, test, example, got, globs): sage: from sage.doctest.forker import SageDocTestRunner sage: from sage.doctest.sources import FileDocTestSource sage: from sage.doctest.control import DocTestDefaults; DD = DocTestDefaults() - sage: from sage.env import SAGE_SRC sage: import doctest, sys, os sage: DTR = SageDocTestRunner(SageOutputChecker(), verbose=True, sage_options=DD, optionflags=doctest.NORMALIZE_WHITESPACE|doctest.ELLIPSIS) - sage: filename = os.path.join(SAGE_SRC,'sage','doctest','forker.py') - sage: FDS = FileDocTestSource(filename,DD) + sage: filename = sage.doctest.forker.__file__ + sage: FDS = FileDocTestSource(filename, DD) sage: doctests, extras = FDS.create_doctests(globals()) sage: ex = doctests[0].examples[0] sage: DTR.no_failure_yet = True sage: DTR.report_failure(sys.stdout.write, doctests[0], ex, 'BAD ANSWER\n', {}) ********************************************************************** - File ".../sage/doctest/forker.py", line 11, in sage.doctest.forker + File ".../sage/doctest/forker.py", line 12, in sage.doctest.forker Failed example: doctest_var = 42; doctest_var^2 Expected: @@ -1544,17 +1537,16 @@ def report_overtime(self, out, test, example, got, *, check_duration=0): sage: from sage.doctest.sources import FileDocTestSource sage: from sage.doctest.control import DocTestDefaults; DD = DocTestDefaults() sage: from sage.misc.timing import walltime - sage: from sage.env import SAGE_SRC sage: import doctest, sys, os sage: DTR = SageDocTestRunner(SageOutputChecker(), verbose=True, sage_options=DD, optionflags=doctest.NORMALIZE_WHITESPACE|doctest.ELLIPSIS) - sage: filename = os.path.join(SAGE_SRC,'sage','doctest','forker.py') - sage: FDS = FileDocTestSource(filename,DD) + sage: filename = sage.doctest.forker.__file__ + sage: FDS = FileDocTestSource(filename, DD) sage: doctests, extras = FDS.create_doctests(globals()) sage: ex = doctests[0].examples[0] sage: ex.walltime = 1.23 sage: DTR.report_overtime(sys.stdout.write, doctests[0], ex, 'BAD ANSWER\n', check_duration=2.34) ********************************************************************** - File ".../sage/doctest/forker.py", line 11, in sage.doctest.forker + File ".../sage/doctest/forker.py", line 12, in sage.doctest.forker Warning, slow doctest: doctest_var = 42; doctest_var^2 Test ran for 1.23 s, check ran for 2.34 s @@ -1672,11 +1664,10 @@ def update_results(self, D): sage: from sage.doctest.forker import SageDocTestRunner sage: from sage.doctest.sources import FileDocTestSource, DictAsObject sage: from sage.doctest.control import DocTestDefaults; DD = DocTestDefaults() - sage: from sage.env import SAGE_SRC sage: import doctest, sys, os sage: DTR = SageDocTestRunner(SageOutputChecker(), verbose=False, sage_options=DD, optionflags=doctest.NORMALIZE_WHITESPACE|doctest.ELLIPSIS) - sage: filename = os.path.join(SAGE_SRC,'sage','doctest','forker.py') - sage: FDS = FileDocTestSource(filename,DD) + sage: filename = sage.doctest.forker.__file__ + sage: FDS = FileDocTestSource(filename, DD) sage: doctests, extras = FDS.create_doctests(globals()) sage: from sage.doctest.util import Timer sage: T = Timer().start() @@ -1754,7 +1745,6 @@ def serial_dispatch(self): sage: from sage.doctest.forker import DocTestDispatcher sage: from sage.doctest.reporting import DocTestReporter sage: from sage.doctest.util import Timer - sage: from sage.env import SAGE_SRC sage: import os sage: homset = os.path.join(SAGE_SRC, 'sage', 'rings', 'homset.py') sage: ideal = os.path.join(SAGE_SRC, 'sage', 'rings', 'ideal.py') @@ -1801,7 +1791,6 @@ def parallel_dispatch(self): sage: from sage.doctest.forker import DocTestDispatcher sage: from sage.doctest.reporting import DocTestReporter sage: from sage.doctest.util import Timer - sage: from sage.env import SAGE_SRC sage: import os sage: crem = os.path.join(SAGE_SRC, 'sage', 'databases', 'cremona.py') sage: bigo = os.path.join(SAGE_SRC, 'sage', 'rings', 'big_oh.py') @@ -2136,7 +2125,6 @@ def dispatch(self): sage: from sage.doctest.forker import DocTestDispatcher sage: from sage.doctest.reporting import DocTestReporter sage: from sage.doctest.util import Timer - sage: from sage.env import SAGE_SRC sage: import os sage: freehom = os.path.join(SAGE_SRC, 'sage', 'modules', 'free_module_homspace.py') sage: bigo = os.path.join(SAGE_SRC, 'sage', 'rings', 'big_oh.py') @@ -2191,10 +2179,9 @@ class should be accessed by the child process. sage: from sage.doctest.sources import FileDocTestSource sage: from sage.doctest.reporting import DocTestReporter sage: from sage.doctest.control import DocTestController, DocTestDefaults - sage: from sage.env import SAGE_SRC - sage: filename = os.path.join(SAGE_SRC,'sage','doctest','util.py') + sage: filename = sage.doctest.util.__file__ sage: DD = DocTestDefaults() - sage: FDS = FileDocTestSource(filename,DD) + sage: FDS = FileDocTestSource(filename, DD) sage: W = DocTestWorker(FDS, DD) sage: W.start() sage: DC = DocTestController(DD, filename) @@ -2316,10 +2303,9 @@ def start(self): sage: from sage.doctest.sources import FileDocTestSource sage: from sage.doctest.reporting import DocTestReporter sage: from sage.doctest.control import DocTestController, DocTestDefaults - sage: from sage.env import SAGE_SRC - sage: filename = os.path.join(SAGE_SRC,'sage','doctest','util.py') + sage: filename = sage.doctest.util.__file__ sage: DD = DocTestDefaults() - sage: FDS = FileDocTestSource(filename,DD) + sage: FDS = FileDocTestSource(filename, DD) sage: W = DocTestWorker(FDS, DD) sage: W.start() sage: try: @@ -2356,10 +2342,9 @@ def read_messages(self): sage: from sage.doctest.sources import FileDocTestSource sage: from sage.doctest.reporting import DocTestReporter sage: from sage.doctest.control import DocTestController, DocTestDefaults - sage: from sage.env import SAGE_SRC - sage: filename = os.path.join(SAGE_SRC,'sage','doctest','util.py') + sage: filename = sage.doctest.util.__file__ sage: DD = DocTestDefaults(verbose=True,nthreads=2) - sage: FDS = FileDocTestSource(filename,DD) + sage: FDS = FileDocTestSource(filename, DD) sage: W = DocTestWorker(FDS, DD) sage: W.start() sage: while W.rmessages is not None: @@ -2391,10 +2376,9 @@ def save_result_output(self): sage: from sage.doctest.sources import FileDocTestSource sage: from sage.doctest.reporting import DocTestReporter sage: from sage.doctest.control import DocTestController, DocTestDefaults - sage: from sage.env import SAGE_SRC - sage: filename = os.path.join(SAGE_SRC,'sage','doctest','util.py') + sage: filename = sage.doctest.util.__file__ sage: DD = DocTestDefaults() - sage: FDS = FileDocTestSource(filename,DD) + sage: FDS = FileDocTestSource(filename, DD) sage: W = DocTestWorker(FDS, DD) sage: W.start() sage: W.join() @@ -2452,10 +2436,9 @@ def kill(self): sage: from sage.doctest.sources import FileDocTestSource sage: from sage.doctest.reporting import DocTestReporter sage: from sage.doctest.control import DocTestController, DocTestDefaults - sage: from sage.env import SAGE_SRC sage: filename = os.path.join(SAGE_SRC,'sage','doctest','tests','99seconds.rst') sage: DD = DocTestDefaults() - sage: FDS = FileDocTestSource(filename,DD) + sage: FDS = FileDocTestSource(filename, DD) We set up the worker to start by blocking ``SIGQUIT``, such that killing will fail initially:: @@ -2522,11 +2505,10 @@ class DocTestTask(): sage: from sage.doctest.forker import DocTestTask sage: from sage.doctest.sources import FileDocTestSource sage: from sage.doctest.control import DocTestDefaults, DocTestController - sage: from sage.env import SAGE_SRC sage: import os - sage: filename = os.path.join(SAGE_SRC,'sage','doctest','sources.py') + sage: filename = sage.doctest.sources.__file__ sage: DD = DocTestDefaults() - sage: FDS = FileDocTestSource(filename,DD) + sage: FDS = FileDocTestSource(filename, DD) sage: DTT = DocTestTask(FDS) sage: DC = DocTestController(DD,[filename]) sage: ntests, results = DTT(options=DD) @@ -2545,10 +2527,9 @@ def __init__(self, source): sage: from sage.doctest.forker import DocTestTask sage: from sage.doctest.sources import FileDocTestSource sage: from sage.doctest.control import DocTestDefaults - sage: from sage.env import SAGE_SRC sage: import os - sage: filename = os.path.join(SAGE_SRC,'sage','doctest','sources.py') - sage: FDS = FileDocTestSource(filename,DocTestDefaults()) + sage: filename = sage.doctest.sources.__file__ + sage: FDS = FileDocTestSource(filename, DocTestDefaults()) sage: DocTestTask(FDS) """ @@ -2588,11 +2569,10 @@ def __call__(self, options, outtmpfile=None, msgfile=None, result_queue=None, *, sage: from sage.doctest.forker import DocTestTask sage: from sage.doctest.sources import FileDocTestSource sage: from sage.doctest.control import DocTestDefaults, DocTestController - sage: from sage.env import SAGE_SRC sage: import os - sage: filename = os.path.join(SAGE_SRC,'sage','doctest','parsing.py') + sage: filename = sage.doctest.parsing.__file__ sage: DD = DocTestDefaults() - sage: FDS = FileDocTestSource(filename,DD) + sage: FDS = FileDocTestSource(filename, DD) sage: DTT = DocTestTask(FDS) sage: DC = DocTestController(DD, [filename]) sage: ntests, runner = DTT(options=DD) diff --git a/src/sage/doctest/parsing.py b/src/sage/doctest/parsing.py index 8c70c723b90..06d504f6d41 100644 --- a/src/sage/doctest/parsing.py +++ b/src/sage/doctest/parsing.py @@ -1,4 +1,4 @@ -# -*- encoding: utf-8 -*- +# sage_setup: distribution = sagemath-repl """ Parsing docstrings @@ -782,10 +782,8 @@ class OriginalSource(): sage: from sage.doctest.sources import FileDocTestSource sage: from sage.doctest.control import DocTestDefaults - sage: from sage.env import SAGE_SRC - sage: import os - sage: filename = os.path.join(SAGE_SRC,'sage','doctest','forker.py') - sage: FDS = FileDocTestSource(filename,DocTestDefaults()) + sage: filename = sage.doctest.forker.__file__ + sage: FDS = FileDocTestSource(filename, DocTestDefaults()) sage: doctests, extras = FDS.create_doctests(globals()) sage: ex = doctests[0].examples[0] sage: ex.sage_source @@ -809,10 +807,8 @@ def __init__(self, example): sage: from sage.doctest.sources import FileDocTestSource sage: from sage.doctest.control import DocTestDefaults - sage: from sage.env import SAGE_SRC - sage: import os - sage: filename = os.path.join(SAGE_SRC,'sage','doctest','forker.py') - sage: FDS = FileDocTestSource(filename,DocTestDefaults()) + sage: filename = sage.doctest.forker.__file__ + sage: FDS = FileDocTestSource(filename, DocTestDefaults()) sage: doctests, extras = FDS.create_doctests(globals()) sage: ex = doctests[0].examples[0] sage: from sage.doctest.parsing import OriginalSource @@ -827,10 +823,8 @@ def __enter__(self): sage: from sage.doctest.sources import FileDocTestSource sage: from sage.doctest.control import DocTestDefaults - sage: from sage.env import SAGE_SRC - sage: import os - sage: filename = os.path.join(SAGE_SRC,'sage','doctest','forker.py') - sage: FDS = FileDocTestSource(filename,DocTestDefaults()) + sage: filename = sage.doctest.forker.__file__ + sage: FDS = FileDocTestSource(filename, DocTestDefaults()) sage: doctests, extras = FDS.create_doctests(globals()) sage: ex = doctests[0].examples[0] sage: from sage.doctest.parsing import OriginalSource @@ -847,10 +841,8 @@ def __exit__(self, *args): sage: from sage.doctest.sources import FileDocTestSource sage: from sage.doctest.control import DocTestDefaults - sage: from sage.env import SAGE_SRC - sage: import os - sage: filename = os.path.join(SAGE_SRC,'sage','doctest','forker.py') - sage: FDS = FileDocTestSource(filename,DocTestDefaults()) + sage: filename = sage.doctest.forker.__file__ + sage: FDS = FileDocTestSource(filename, DocTestDefaults()) sage: doctests, extras = FDS.create_doctests(globals()) sage: ex = doctests[0].examples[0] sage: from sage.doctest.parsing import OriginalSource diff --git a/src/sage/doctest/reporting.py b/src/sage/doctest/reporting.py index 1161bafd31c..c1ac8a6c7b8 100644 --- a/src/sage/doctest/reporting.py +++ b/src/sage/doctest/reporting.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-repl r""" Reporting doctest results @@ -109,10 +109,8 @@ def __init__(self, controller): sage: from sage.doctest.reporting import DocTestReporter sage: from sage.doctest.control import DocTestController, DocTestDefaults - sage: from sage.env import SAGE_SRC - sage: import os - sage: filename = os.path.join(SAGE_SRC,'sage','doctest','reporting.py') - sage: DC = DocTestController(DocTestDefaults(),[filename]) + sage: filename = sage.doctest.reporting.__file__ + sage: DC = DocTestController(DocTestDefaults(), [filename]) sage: DTR = DocTestReporter(DC) """ self.controller = controller @@ -133,10 +131,8 @@ def were_doctests_with_optional_tag_run(self, tag): sage: from sage.doctest.reporting import DocTestReporter sage: from sage.doctest.control import DocTestController, DocTestDefaults - sage: from sage.env import SAGE_SRC - sage: import os - sage: filename = os.path.join(SAGE_SRC,'sage','doctest','reporting.py') - sage: DC = DocTestController(DocTestDefaults(),[filename]) + sage: filename = sage.doctest.reporting.__file__ + sage: DC = DocTestController(DocTestDefaults(), [filename]) sage: DTR = DocTestReporter(DC) :: @@ -150,7 +146,7 @@ def were_doctests_with_optional_tag_run(self, tag): ``latex`` are run by default since :issue:`32174`:: sage: filename = os.path.join(SAGE_SRC,'sage','misc','latex.py') - sage: DC = DocTestController(DocTestDefaults(),[filename]) + sage: DC = DocTestController(DocTestDefaults(), [filename]) sage: DTR = DocTestReporter(DC) sage: DTR.were_doctests_with_optional_tag_run('latex') # optional - latex True @@ -178,10 +174,9 @@ def report_head(self, source, fail_msg=None): sage: from sage.doctest.control import DocTestController, DocTestDefaults sage: from sage.doctest.sources import FileDocTestSource sage: from sage.doctest.forker import SageDocTestRunner - sage: from sage.env import SAGE_SRC - sage: filename = os.path.join(SAGE_SRC,'sage','doctest','reporting.py') + sage: filename = sage.doctest.reporting.__file__ sage: DD = DocTestDefaults() - sage: FDS = FileDocTestSource(filename,DD) + sage: FDS = FileDocTestSource(filename, DD) sage: DC = DocTestController(DD, [filename]) sage: DTR = DocTestReporter(DC) sage: print(DTR.report_head(FDS)) @@ -261,12 +256,11 @@ def report(self, source, timeout, return_code, results, output, pid=None): sage: from sage.doctest.forker import SageDocTestRunner sage: from sage.doctest.parsing import SageOutputChecker sage: from sage.doctest.util import Timer - sage: from sage.env import SAGE_SRC - sage: import os, sys, doctest - sage: filename = os.path.join(SAGE_SRC,'sage','doctest','reporting.py') + sage: import doctest + sage: filename = sage.doctest.reporting.__file__ sage: DD = DocTestDefaults() - sage: FDS = FileDocTestSource(filename,DD) - sage: DC = DocTestController(DD,[filename]) + sage: FDS = FileDocTestSource(filename, DD) + sage: DC = DocTestController(DD, [filename]) sage: DTR = DocTestReporter(DC) You can report a timeout:: @@ -339,13 +333,15 @@ def report(self, source, timeout, return_code, results, output, pid=None): Or tell the user that everything succeeded:: sage: doctests, extras = FDS.create_doctests(globals()) - sage: runner = SageDocTestRunner(SageOutputChecker(), verbose=False, sage_options=DD, - ....: optionflags=doctest.NORMALIZE_WHITESPACE|doctest.ELLIPSIS) + sage: runner = SageDocTestRunner( + ....: SageOutputChecker(), verbose=False, sage_options=DD, + ....: optionflags=doctest.NORMALIZE_WHITESPACE|doctest.ELLIPSIS) sage: Timer().start().stop().annotate(runner) sage: D = DictAsObject({'err':None}) sage: runner.update_results(D) 0 - sage: DTR.report(FDS, False, 0, (sum([len(t.examples) for t in doctests]), D), "Good tests") + sage: DTR.report(FDS, False, 0, (sum([len(t.examples) for t in doctests]), D), + ....: "Good tests") [... tests, ... s] sage: DTR.stats {'sage.doctest.reporting': {'ntests': ..., 'walltime': ...}} @@ -355,7 +351,8 @@ def report(self, source, timeout, return_code, results, output, pid=None): sage: runner.failures = 1 sage: runner.update_results(D) 1 - sage: DTR.report(FDS, False, 0, (sum([len(t.examples) for t in doctests]), D), "Doctest output including the failure...") + sage: DTR.report(FDS, False, 0, (sum([len(t.examples) for t in doctests]), D), + ....: "Doctest output including the failure...") [... tests, 1 failure, ... s] If the user has requested that we report on skipped doctests, @@ -365,7 +362,7 @@ def report(self, source, timeout, return_code, results, output, pid=None): sage: from collections import defaultdict sage: optionals = defaultdict(int) sage: optionals['magma'] = 5; optionals['long time'] = 4; optionals[''] = 1; optionals['not tested'] = 2 - sage: D = DictAsObject(dict(err=None,optionals=optionals)) + sage: D = DictAsObject(dict(err=None, optionals=optionals)) sage: runner.failures = 0 sage: runner.update_results(D) 0 @@ -391,20 +388,23 @@ def report(self, source, timeout, return_code, results, output, pid=None): sage: DC = DocTestController(DD, [filename]) sage: DTR = DocTestReporter(DC) sage: doctests, extras = FDS.create_doctests(globals()) - sage: runner = SageDocTestRunner(SageOutputChecker(), verbose=False, sage_options=DD, - ....: optionflags=doctest.NORMALIZE_WHITESPACE|doctest.ELLIPSIS) + sage: runner = SageDocTestRunner( + ....: SageOutputChecker(), verbose=False, sage_options=DD, + ....: optionflags=doctest.NORMALIZE_WHITESPACE|doctest.ELLIPSIS) sage: Timer().start().stop().annotate(runner) sage: D = DictAsObject({'err':None}) sage: runner.update_results(D) 0 - sage: DTR.report(FDS, False, 0, (sum([len(t.examples) for t in doctests]), D), "Good tests") + sage: DTR.report(FDS, False, 0, (sum([len(t.examples) for t in doctests]), D), + ....: "Good tests") However, failures are still output in the errors-only mode:: sage: runner.failures = 1 sage: runner.update_results(D) 1 - sage: DTR.report(FDS, False, 0, (sum([len(t.examples) for t in doctests]), D), "Failed test") + sage: DTR.report(FDS, False, 0, (sum([len(t.examples) for t in doctests]), D), + ....: "Failed test") [... tests, 1 failure, ... s] """ log = self.controller.log @@ -598,12 +598,11 @@ def finalize(self): sage: from sage.doctest.forker import SageDocTestRunner sage: from sage.doctest.parsing import SageOutputChecker sage: from sage.doctest.util import Timer - sage: from sage.env import SAGE_SRC - sage: import os, sys, doctest - sage: filename = os.path.join(SAGE_SRC,'sage','doctest','reporting.py') + sage: import doctest + sage: filename = sage.doctest.reporting.__file__ sage: DD = DocTestDefaults() - sage: FDS = FileDocTestSource(filename,DD) - sage: DC = DocTestController(DD,[filename]) + sage: FDS = FileDocTestSource(filename, DD) + sage: DC = DocTestController(DD, [filename]) sage: DTR = DocTestReporter(DC) Now we pretend to run some doctests:: @@ -621,19 +620,23 @@ def finalize(self): Output before bad exit ********************************************************************** sage: doctests, extras = FDS.create_doctests(globals()) - sage: runner = SageDocTestRunner(SageOutputChecker(), verbose=False, sage_options=DD,optionflags=doctest.NORMALIZE_WHITESPACE|doctest.ELLIPSIS) + sage: runner = SageDocTestRunner( + ....: SageOutputChecker(), verbose=False, sage_options=DD, + ....: optionflags=doctest.NORMALIZE_WHITESPACE|doctest.ELLIPSIS) sage: t = Timer().start().stop() sage: t.annotate(runner) sage: DC.timer = t sage: D = DictAsObject({'err':None}) sage: runner.update_results(D) 0 - sage: DTR.report(FDS, False, 0, (sum([len(t.examples) for t in doctests]), D), "Good tests") + sage: DTR.report(FDS, False, 0, (sum([len(t.examples) for t in doctests]), D), + ....: "Good tests") [... tests, ... s] sage: runner.failures = 1 sage: runner.update_results(D) 1 - sage: DTR.report(FDS, False, 0, (sum([len(t.examples) for t in doctests]), D), "Doctest output including the failure...") + sage: DTR.report(FDS, False, 0, (sum([len(t.examples) for t in doctests]), D), + ....: "Doctest output including the failure...") [... tests, 1 failure, ... s] Now we can show the output of finalize:: diff --git a/src/sage/doctest/sources.py b/src/sage/doctest/sources.py index fdad2749083..61165b62aeb 100644 --- a/src/sage/doctest/sources.py +++ b/src/sage/doctest/sources.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-repl """ Classes for sources of doctests @@ -82,11 +83,10 @@ def get_basename(path): EXAMPLES:: sage: from sage.doctest.sources import get_basename - sage: from sage.env import SAGE_SRC sage: import os - sage: get_basename(os.path.join(SAGE_SRC, 'sage', 'doctest', 'sources.py')) + sage: get_basename(sage.doctest.sources.__file__) 'sage.doctest.sources' - sage: get_basename(os.path.join(SAGE_SRC, 'sage', 'structure', 'element.pxd')) + sage: get_basename(os.path.join(sage.structure.__path__[0], 'element.pxd')) 'sage.structure.element.pxd' """ if path is None: @@ -140,10 +140,8 @@ def __init__(self, options): sage: from sage.doctest.control import DocTestDefaults sage: from sage.doctest.sources import FileDocTestSource - sage: from sage.env import SAGE_SRC - sage: import os - sage: filename = os.path.join(SAGE_SRC,'sage','doctest','sources.py') - sage: FDS = FileDocTestSource(filename,DocTestDefaults()) + sage: filename = sage.doctest.sources.__file__ + sage: FDS = FileDocTestSource(filename, DocTestDefaults()) sage: TestSuite(FDS).run() """ self.options = options @@ -156,12 +154,10 @@ def __eq__(self, other): sage: from sage.doctest.control import DocTestDefaults sage: from sage.doctest.sources import FileDocTestSource - sage: from sage.env import SAGE_SRC - sage: import os - sage: filename = os.path.join(SAGE_SRC,'sage','doctest','sources.py') + sage: filename = sage.doctest.sources.__file__ sage: DD = DocTestDefaults() - sage: FDS = FileDocTestSource(filename,DD) - sage: FDS2 = FileDocTestSource(filename,DD) + sage: FDS = FileDocTestSource(filename, DD) + sage: FDS2 = FileDocTestSource(filename, DD) sage: FDS == FDS2 True """ @@ -177,12 +173,10 @@ def __ne__(self, other): sage: from sage.doctest.control import DocTestDefaults sage: from sage.doctest.sources import FileDocTestSource - sage: from sage.env import SAGE_SRC - sage: import os - sage: filename = os.path.join(SAGE_SRC,'sage','doctest','sources.py') + sage: filename = sage.doctest.sources.__file__ sage: DD = DocTestDefaults() - sage: FDS = FileDocTestSource(filename,DD) - sage: FDS2 = FileDocTestSource(filename,DD) + sage: FDS = FileDocTestSource(filename, DD) + sage: FDS2 = FileDocTestSource(filename, DD) sage: FDS != FDS2 False """ @@ -217,10 +211,8 @@ def _process_doc(self, doctests, doc, namespace, start): sage: from sage.doctest.control import DocTestDefaults sage: from sage.doctest.sources import FileDocTestSource sage: from sage.doctest.parsing import SageDocTestParser - sage: from sage.env import SAGE_SRC - sage: import os - sage: filename = os.path.join(SAGE_SRC,'sage','doctest','util.py') - sage: FDS = FileDocTestSource(filename,DocTestDefaults()) + sage: filename = sage.doctest.util.__file__ + sage: FDS = FileDocTestSource(filename, DocTestDefaults()) sage: doctests, _ = FDS.create_doctests({}) sage: manual_doctests = [] sage: for dt in doctests: @@ -291,10 +283,8 @@ def _create_doctests(self, namespace, tab_okay=None): sage: from sage.doctest.control import DocTestDefaults sage: from sage.doctest.sources import FileDocTestSource sage: from sage.doctest.util import NestedName - sage: from sage.env import SAGE_SRC - sage: import os - sage: filename = os.path.join(SAGE_SRC,'sage','doctest','sources.py') - sage: FDS = FileDocTestSource(filename,DocTestDefaults()) + sage: filename = sage.doctest.sources.__file__ + sage: FDS = FileDocTestSource(filename, DocTestDefaults()) sage: FDS.qualified_name = NestedName('sage.doctest.sources') sage: doctests, extras = FDS._create_doctests({}) sage: len(doctests) @@ -523,10 +513,8 @@ class FileDocTestSource(DocTestSource): sage: from sage.doctest.control import DocTestDefaults sage: from sage.doctest.sources import FileDocTestSource - sage: from sage.env import SAGE_SRC - sage: import os - sage: filename = os.path.join(SAGE_SRC,'sage','doctest','sources.py') - sage: FDS = FileDocTestSource(filename,DocTestDefaults()) + sage: filename = sage.doctest.sources.__file__ + sage: FDS = FileDocTestSource(filename, DocTestDefaults()) sage: FDS.basename 'sage.doctest.sources' @@ -539,7 +527,7 @@ class FileDocTestSource(DocTestSource): sage: from sage.doctest.control import DocTestDefaults sage: from sage.doctest.sources import FileDocTestSource sage: filename = tmp_filename(ext=".txtt") - sage: FDS = FileDocTestSource(filename,DocTestDefaults()) + sage: FDS = FileDocTestSource(filename, DocTestDefaults()) Traceback (most recent call last): ... ValueError: unknown extension for the file to test (=...txtt), @@ -554,10 +542,8 @@ def __init__(self, path, options): sage: from sage.doctest.control import DocTestDefaults sage: from sage.doctest.sources import FileDocTestSource - sage: from sage.env import SAGE_SRC - sage: import os - sage: filename = os.path.join(SAGE_SRC,'sage','doctest','sources.py') - sage: FDS = FileDocTestSource(filename,DocTestDefaults(randorder=0)) + sage: filename = sage.doctest.sources.__file__ + sage: FDS = FileDocTestSource(filename, DocTestDefaults(randorder=0)) sage: FDS.options.randorder 0 """ @@ -645,16 +631,17 @@ def printpath(self): sage: from sage.doctest.control import DocTestDefaults sage: from sage.doctest.sources import FileDocTestSource - sage: from sage.env import SAGE_SRC sage: import os - sage: root = os.path.realpath(os.path.join(SAGE_SRC,'sage')) - sage: filename = os.path.join(root,'doctest','sources.py') + sage: filename = os.path.realpath(sage.doctest.sources.__file__) + sage: root = os.path.join(os.path.dirname(filename), '..') sage: cwd = os.getcwd() sage: os.chdir(root) - sage: FDS = FileDocTestSource(filename,DocTestDefaults(randorder=0,abspath=False)) + sage: FDS = FileDocTestSource(filename, DocTestDefaults(randorder=0, + ....: abspath=False)) sage: FDS.printpath 'doctest/sources.py' - sage: FDS = FileDocTestSource(filename,DocTestDefaults(randorder=0,abspath=True)) + sage: FDS = FileDocTestSource(filename, DocTestDefaults(randorder=0, + ....: abspath=True)) sage: FDS.printpath '.../sage/doctest/sources.py' sage: os.chdir(cwd) @@ -677,10 +664,8 @@ def basename(self): sage: from sage.doctest.control import DocTestDefaults sage: from sage.doctest.sources import FileDocTestSource - sage: from sage.env import SAGE_SRC - sage: import os sage: filename = os.path.join(SAGE_SRC,'sage','rings','integer.pyx') - sage: FDS = FileDocTestSource(filename,DocTestDefaults()) + sage: FDS = FileDocTestSource(filename, DocTestDefaults()) sage: FDS.basename 'sage.rings.integer' """ @@ -700,7 +685,6 @@ def in_lib(self): sage: from sage.doctest.control import DocTestDefaults sage: from sage.doctest.sources import FileDocTestSource - sage: from sage.env import SAGE_SRC sage: import os sage: filename = os.path.join(SAGE_SRC, 'sage', 'rings', 'integer.pyx') sage: FDS = FileDocTestSource(filename, DocTestDefaults()) @@ -713,10 +697,10 @@ def in_lib(self): You can override the default:: - sage: FDS = FileDocTestSource("hello_world.py",DocTestDefaults()) + sage: FDS = FileDocTestSource("hello_world.py", DocTestDefaults()) sage: FDS.in_lib False - sage: FDS = FileDocTestSource("hello_world.py",DocTestDefaults(force_lib=True)) + sage: FDS = FileDocTestSource("hello_world.py", DocTestDefaults(force_lib=True)) sage: FDS.in_lib True """ @@ -732,9 +716,7 @@ def file_optional_tags(self): sage: from sage.doctest.control import DocTestDefaults sage: from sage.doctest.sources import FileDocTestSource - sage: from sage.env import SAGE_SRC - sage: import os - sage: filename = os.path.join(SAGE_SRC, 'sage', 'repl', 'user_globals.py') + sage: filename = sage.repl.user_globals.__file__ sage: FDS = FileDocTestSource(filename, DocTestDefaults()) sage: FDS.file_optional_tags {'sage.modules': None} @@ -760,10 +742,8 @@ def create_doctests(self, namespace): sage: from sage.doctest.control import DocTestDefaults sage: from sage.doctest.sources import FileDocTestSource - sage: from sage.env import SAGE_SRC - sage: import os - sage: filename = os.path.join(SAGE_SRC,'sage','doctest','sources.py') - sage: FDS = FileDocTestSource(filename,DocTestDefaults()) + sage: filename = sage.doctest.sources.__file__ + sage: FDS = FileDocTestSource(filename, DocTestDefaults()) sage: doctests, extras = FDS.create_doctests(globals()) sage: len(doctests) 43 @@ -774,8 +754,8 @@ def create_doctests(self, namespace): sage: doctests[20].name 'sage.doctest.sources.FileDocTestSource.create_doctests' - sage: doctests[20].examples[10].source - 'doctests[Integer(20)].examples[Integer(10)].source\n' + sage: doctests[20].examples[8].source + 'doctests[Integer(20)].examples[Integer(8)].source\n' TESTS: @@ -787,7 +767,7 @@ def create_doctests(self, namespace): sage: gp.get_precision() == 38 # needs sage.libs.pari False # 32-bit True # 64-bit - sage: ex = doctests[20].examples[13] + sage: ex = doctests[20].examples[11] sage: ((bitness == '64' and ex.want == 'True \n') # needs sage.libs.pari ....: or (bitness == '32' and ex.want == 'False \n')) True @@ -835,7 +815,6 @@ def _test_enough_doctests(self, check_extras=True, verbose=True): sage: # not tested (because the output will change when source files are changed) sage: from sage.doctest.control import DocTestDefaults sage: from sage.doctest.sources import FileDocTestSource - sage: from sage.env import SAGE_SRC sage: cwd = os.getcwd() sage: os.chdir(SAGE_SRC) sage: import itertools @@ -942,10 +921,8 @@ def parse_docstring(self, docstring, namespace, start): sage: from sage.doctest.sources import FileDocTestSource sage: from sage.doctest.parsing import SageDocTestParser sage: from sage.doctest.util import NestedName - sage: from sage.env import SAGE_SRC - sage: import os - sage: filename = os.path.join(SAGE_SRC,'sage','doctest','util.py') - sage: FDS = FileDocTestSource(filename,DocTestDefaults()) + sage: filename = sage.doctest.util.__file__ + sage: FDS = FileDocTestSource(filename, DocTestDefaults()) sage: doctests, _ = FDS.create_doctests({}) sage: for dt in doctests: ....: FDS.qualified_name = dt.name @@ -964,10 +941,8 @@ class PythonSource(SourceLanguage): sage: from sage.doctest.control import DocTestDefaults sage: from sage.doctest.sources import FileDocTestSource - sage: from sage.env import SAGE_SRC - sage: import os - sage: filename = os.path.join(SAGE_SRC,'sage','doctest','sources.py') - sage: FDS = FileDocTestSource(filename,DocTestDefaults()) + sage: filename = sage.doctest.sources.__file__ + sage: FDS = FileDocTestSource(filename, DocTestDefaults()) sage: type(FDS) """ @@ -982,10 +957,8 @@ def _init(self): sage: from sage.doctest.control import DocTestDefaults sage: from sage.doctest.sources import FileDocTestSource - sage: from sage.env import SAGE_SRC - sage: import os - sage: filename = os.path.join(SAGE_SRC,'sage','doctest','sources.py') - sage: FDS = FileDocTestSource(filename,DocTestDefaults()) + sage: filename = sage.doctest.sources.__file__ + sage: FDS = FileDocTestSource(filename, DocTestDefaults()) sage: FDS._init() sage: FDS.last_indent -1 @@ -1019,10 +992,8 @@ def _update_quotetype(self, line): sage: from sage.doctest.control import DocTestDefaults sage: from sage.doctest.sources import FileDocTestSource - sage: from sage.env import SAGE_SRC - sage: import os - sage: filename = os.path.join(SAGE_SRC,'sage','doctest','sources.py') - sage: FDS = FileDocTestSource(filename,DocTestDefaults()) + sage: filename = sage.doctest.sources.__file__ + sage: FDS = FileDocTestSource(filename, DocTestDefaults()) sage: FDS._init() sage: FDS._update_quotetype('\"\"\"'); print(" ".join(list(FDS.quotetype))) " " " @@ -1116,10 +1087,8 @@ def starting_docstring(self, line): sage: from sage.doctest.control import DocTestDefaults sage: from sage.doctest.sources import FileDocTestSource sage: from sage.doctest.util import NestedName - sage: from sage.env import SAGE_SRC - sage: import os - sage: filename = os.path.join(SAGE_SRC,'sage','doctest','sources.py') - sage: FDS = FileDocTestSource(filename,DocTestDefaults()) + sage: filename = sage.doctest.sources.__file__ + sage: FDS = FileDocTestSource(filename, DocTestDefaults()) sage: FDS._init() sage: FDS.starting_docstring("r'''") <...Match object...> @@ -1185,7 +1154,7 @@ def ending_docstring(self, line): OUTPUT: - an object that, when evaluated in a boolean context, gives - True or False depending on whether the input line marks the + ``True`` or ``False`` depending on whether the input line marks the end of a docstring. EXAMPLES:: @@ -1193,10 +1162,8 @@ def ending_docstring(self, line): sage: from sage.doctest.control import DocTestDefaults sage: from sage.doctest.sources import FileDocTestSource sage: from sage.doctest.util import NestedName - sage: from sage.env import SAGE_SRC - sage: import os - sage: filename = os.path.join(SAGE_SRC,'sage','doctest','sources.py') - sage: FDS = FileDocTestSource(filename,DocTestDefaults()) + sage: filename = sage.doctest.sources.__file__ + sage: FDS = FileDocTestSource(filename, DocTestDefaults()) sage: FDS._init() sage: FDS.quotetype = "'''" sage: FDS.ending_docstring("'''") @@ -1229,7 +1196,8 @@ def _neutralize_doctests(self, reindent): sage: from sage.doctest.sources import StringDocTestSource, PythonSource sage: from sage.structure.dynamic_class import dynamic_class sage: s = "'''\n sage: 2 + 2\n 4\n'''" - sage: PythonStringSource = dynamic_class('PythonStringSource',(StringDocTestSource, PythonSource)) + sage: PythonStringSource = dynamic_class('PythonStringSource', + ....: (StringDocTestSource, PythonSource)) sage: PSS = PythonStringSource('', s, DocTestDefaults(), 'runtime') sage: print(PSS._neutralize_doctests(0)) ''' @@ -1264,7 +1232,7 @@ class TexSource(SourceLanguage): sage: from sage.doctest.control import DocTestDefaults sage: from sage.doctest.sources import FileDocTestSource sage: filename = "sage_paper.tex" - sage: FDS = FileDocTestSource(filename,DocTestDefaults()) + sage: FDS = FileDocTestSource(filename, DocTestDefaults()) sage: type(FDS) """ @@ -1280,7 +1248,7 @@ def _init(self): sage: from sage.doctest.control import DocTestDefaults sage: from sage.doctest.sources import FileDocTestSource sage: filename = "sage_paper.tex" - sage: FDS = FileDocTestSource(filename,DocTestDefaults()) + sage: FDS = FileDocTestSource(filename, DocTestDefaults()) sage: FDS._init() sage: FDS.skipping False @@ -1312,7 +1280,7 @@ def starting_docstring(self, line): sage: from sage.doctest.control import DocTestDefaults sage: from sage.doctest.sources import FileDocTestSource sage: filename = "sage_paper.tex" - sage: FDS = FileDocTestSource(filename,DocTestDefaults()) + sage: FDS = FileDocTestSource(filename, DocTestDefaults()) sage: FDS._init() We start docstrings with \begin{verbatim} or \begin{lstlisting}:: @@ -1391,7 +1359,7 @@ def ending_docstring(self, line, check_skip=True): sage: from sage.doctest.control import DocTestDefaults sage: from sage.doctest.sources import FileDocTestSource sage: filename = "sage_paper.tex" - sage: FDS = FileDocTestSource(filename,DocTestDefaults()) + sage: FDS = FileDocTestSource(filename, DocTestDefaults()) sage: FDS._init() sage: FDS.ending_docstring(r"\end{verbatim}") True @@ -1442,7 +1410,7 @@ class RestSource(SourceLanguage): sage: from sage.doctest.control import DocTestDefaults sage: from sage.doctest.sources import FileDocTestSource sage: filename = "sage_doc.rst" - sage: FDS = FileDocTestSource(filename,DocTestDefaults()) + sage: FDS = FileDocTestSource(filename, DocTestDefaults()) sage: type(FDS) """ @@ -1458,7 +1426,7 @@ def _init(self): sage: from sage.doctest.control import DocTestDefaults sage: from sage.doctest.sources import FileDocTestSource sage: filename = "sage_doc.rst" - sage: FDS = FileDocTestSource(filename,DocTestDefaults()) + sage: FDS = FileDocTestSource(filename, DocTestDefaults()) sage: FDS._init() sage: FDS.link_all False @@ -1490,7 +1458,7 @@ def starting_docstring(self, line): sage: from sage.doctest.control import DocTestDefaults sage: from sage.doctest.sources import FileDocTestSource sage: filename = "sage_doc.rst" - sage: FDS = FileDocTestSource(filename,DocTestDefaults()) + sage: FDS = FileDocTestSource(filename, DocTestDefaults()) sage: FDS._init() sage: FDS.starting_docstring("Hello world::") True @@ -1548,7 +1516,7 @@ def ending_docstring(self, line): sage: from sage.doctest.control import DocTestDefaults sage: from sage.doctest.sources import FileDocTestSource sage: filename = "sage_doc.rst" - sage: FDS = FileDocTestSource(filename,DocTestDefaults()) + sage: FDS = FileDocTestSource(filename, DocTestDefaults()) sage: FDS._init() sage: FDS.starting_docstring("Hello world::") True @@ -1594,7 +1562,7 @@ def parse_docstring(self, docstring, namespace, start): sage: from sage.doctest.parsing import SageDocTestParser sage: from sage.doctest.util import NestedName sage: filename = "sage_doc.rst" - sage: FDS = FileDocTestSource(filename,DocTestDefaults()) + sage: FDS = FileDocTestSource(filename, DocTestDefaults()) sage: FDS.parser = SageDocTestParser(set(['sage'])) sage: FDS.qualified_name = NestedName('sage_doc') sage: s = "Some text::\n\n def example_python_function(a, \ diff --git a/src/sage/doctest/test.py b/src/sage/doctest/test.py index cb2cecc0b8b..4907d30d58d 100644 --- a/src/sage/doctest/test.py +++ b/src/sage/doctest/test.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-repl """ Test the doctesting framework diff --git a/src/sage/doctest/util.py b/src/sage/doctest/util.py index b68068a0ce1..3fe9d3408bd 100644 --- a/src/sage/doctest/util.py +++ b/src/sage/doctest/util.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-repl """ Utility functions diff --git a/src/sage/dynamics/all.py b/src/sage/dynamics/all.py index e5c553a3d54..fddc4e83a98 100644 --- a/src/sage/dynamics/all.py +++ b/src/sage/dynamics/all.py @@ -20,14 +20,22 @@ from sage.misc.namespace_package import install_doc install_doc(__package__, __doc__) +from sage.dynamics.all__sagemath_schemes import * + +try: + from sage.dynamics.all__sagemath_symbolics import * +except ImportError: + pass + from sage.misc.lazy_import import lazy_import -from sage.dynamics.arithmetic_dynamics.all import * -from sage.dynamics.complex_dynamics.all import * from sage.dynamics.cellular_automata.all import * # Discrete dynamical systems lazy_import('sage.dynamics.finite_dynamical_system', ['DiscreteDynamicalSystem']) -lazy_import('sage.dynamics', 'finite_dynamical_system_catalog', 'finite_dynamical_systems') +lazy_import('sage.dynamics', 'finite_dynamical_system_catalog', + 'finite_dynamical_systems') +del lazy_import +del install_doc diff --git a/src/sage/dynamics/all__sagemath_schemes.py b/src/sage/dynamics/all__sagemath_schemes.py new file mode 100644 index 00000000000..b1eac4ead2f --- /dev/null +++ b/src/sage/dynamics/all__sagemath_schemes.py @@ -0,0 +1 @@ +from sage.dynamics.arithmetic_dynamics.all import * diff --git a/src/sage/dynamics/all__sagemath_symbolics.py b/src/sage/dynamics/all__sagemath_symbolics.py new file mode 100644 index 00000000000..1bffe1dffa6 --- /dev/null +++ b/src/sage/dynamics/all__sagemath_symbolics.py @@ -0,0 +1,5 @@ +from sage.misc.lazy_import import lazy_import + +lazy_import('sage.dynamics.complex_dynamics.mandel_julia', + ["mandelbrot_plot", "external_ray", "kneading_sequence", "julia_plot"]) +del lazy_import diff --git a/src/sage/dynamics/arithmetic_dynamics/affine_ds.py b/src/sage/dynamics/arithmetic_dynamics/affine_ds.py index 6938068bbc6..d89c79ee259 100644 --- a/src/sage/dynamics/arithmetic_dynamics/affine_ds.py +++ b/src/sage/dynamics/arithmetic_dynamics/affine_ds.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes r""" Dynamical systems on affine schemes diff --git a/src/sage/dynamics/arithmetic_dynamics/all.py b/src/sage/dynamics/arithmetic_dynamics/all.py index f536734b5d9..563f3f5205b 100644 --- a/src/sage/dynamics/arithmetic_dynamics/all.py +++ b/src/sage/dynamics/arithmetic_dynamics/all.py @@ -1,12 +1,14 @@ +# sage_setup: distribution = sagemath-schemes from sage.misc.lazy_import import lazy_import -from .generic_ds import DynamicalSystem -from .affine_ds import DynamicalSystem_affine -from .projective_ds import DynamicalSystem_projective -from .product_projective_ds import DynamicalSystem_product_projective -from .berkovich_ds import DynamicalSystem_Berkovich -from .dynamical_semigroup import DynamicalSemigroup -from .dynamical_semigroup import DynamicalSemigroup_affine -from .dynamical_semigroup import DynamicalSemigroup_projective +from sage.dynamics.arithmetic_dynamics.generic_ds import DynamicalSystem +from sage.dynamics.arithmetic_dynamics.affine_ds import DynamicalSystem_affine +from sage.dynamics.arithmetic_dynamics.projective_ds import DynamicalSystem_projective +from sage.dynamics.arithmetic_dynamics.product_projective_ds import DynamicalSystem_product_projective +from sage.dynamics.arithmetic_dynamics.berkovich_ds import DynamicalSystem_Berkovich +from sage.dynamics.arithmetic_dynamics.dynamical_semigroup import DynamicalSemigroup +from sage.dynamics.arithmetic_dynamics.dynamical_semigroup import DynamicalSemigroup_affine +from sage.dynamics.arithmetic_dynamics.dynamical_semigroup import DynamicalSemigroup_projective lazy_import('sage.dynamics.arithmetic_dynamics.wehlerK3', 'WehlerK3Surface') lazy_import('sage.dynamics.arithmetic_dynamics.wehlerK3', 'random_WehlerK3Surface') +del lazy_import diff --git a/src/sage/dynamics/arithmetic_dynamics/berkovich_ds.py b/src/sage/dynamics/arithmetic_dynamics/berkovich_ds.py index 5559a48ecce..976d00fe6fd 100644 --- a/src/sage/dynamics/arithmetic_dynamics/berkovich_ds.py +++ b/src/sage/dynamics/arithmetic_dynamics/berkovich_ds.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.rings.padics r""" Dynamical systems on Berkovich space over `\CC_p`. diff --git a/src/sage/dynamics/arithmetic_dynamics/dynamical_semigroup.py b/src/sage/dynamics/arithmetic_dynamics/dynamical_semigroup.py index ebb8702a7db..540f633d545 100644 --- a/src/sage/dynamics/arithmetic_dynamics/dynamical_semigroup.py +++ b/src/sage/dynamics/arithmetic_dynamics/dynamical_semigroup.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes r""" Dynamical semigroups diff --git a/src/sage/dynamics/arithmetic_dynamics/endPN_automorphism_group.py b/src/sage/dynamics/arithmetic_dynamics/endPN_automorphism_group.py index c82f10aed0d..10c7ef51ce3 100644 --- a/src/sage/dynamics/arithmetic_dynamics/endPN_automorphism_group.py +++ b/src/sage/dynamics/arithmetic_dynamics/endPN_automorphism_group.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes r""" Automorphism groups of dynamical systems of the projective line diff --git a/src/sage/dynamics/arithmetic_dynamics/endPN_minimal_model.py b/src/sage/dynamics/arithmetic_dynamics/endPN_minimal_model.py index 9a2e5fd6e15..af921d7fc96 100644 --- a/src/sage/dynamics/arithmetic_dynamics/endPN_minimal_model.py +++ b/src/sage/dynamics/arithmetic_dynamics/endPN_minimal_model.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes r""" Sage functions to compute minimal models of rational functions under the conjugation action of `PGL_2(QQ)`. diff --git a/src/sage/dynamics/arithmetic_dynamics/generic_ds.py b/src/sage/dynamics/arithmetic_dynamics/generic_ds.py index 0afff17895c..3ed33e439a1 100644 --- a/src/sage/dynamics/arithmetic_dynamics/generic_ds.py +++ b/src/sage/dynamics/arithmetic_dynamics/generic_ds.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes r""" Generic dynamical systems on schemes diff --git a/src/sage/dynamics/arithmetic_dynamics/product_projective_ds.py b/src/sage/dynamics/arithmetic_dynamics/product_projective_ds.py index 44565197717..12a032a7d63 100644 --- a/src/sage/dynamics/arithmetic_dynamics/product_projective_ds.py +++ b/src/sage/dynamics/arithmetic_dynamics/product_projective_ds.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes r""" Dynamical systems for products of projective spaces diff --git a/src/sage/dynamics/arithmetic_dynamics/projective_ds.py b/src/sage/dynamics/arithmetic_dynamics/projective_ds.py index 353eb1ea041..876704c49e6 100644 --- a/src/sage/dynamics/arithmetic_dynamics/projective_ds.py +++ b/src/sage/dynamics/arithmetic_dynamics/projective_ds.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-schemes r""" Dynamical systems on projective schemes diff --git a/src/sage/dynamics/arithmetic_dynamics/projective_ds_helper.pyx b/src/sage/dynamics/arithmetic_dynamics/projective_ds_helper.pyx index f05806f4935..9f7b8d6523f 100644 --- a/src/sage/dynamics/arithmetic_dynamics/projective_ds_helper.pyx +++ b/src/sage/dynamics/arithmetic_dynamics/projective_ds_helper.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes r""" Dynamical systems on projective varieties (Cython helper) diff --git a/src/sage/dynamics/arithmetic_dynamics/wehlerK3.py b/src/sage/dynamics/arithmetic_dynamics/wehlerK3.py index 7d775faf96a..bc05c39dc98 100644 --- a/src/sage/dynamics/arithmetic_dynamics/wehlerK3.py +++ b/src/sage/dynamics/arithmetic_dynamics/wehlerK3.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes r""" Wehler K3 Surfaces diff --git a/src/sage/dynamics/cellular_automata/all.py b/src/sage/dynamics/cellular_automata/all.py index 9f13ad1c13a..ff4151c0588 100644 --- a/src/sage/dynamics/cellular_automata/all.py +++ b/src/sage/dynamics/cellular_automata/all.py @@ -3,3 +3,4 @@ from sage.misc.lazy_import import lazy_import lazy_import("sage.dynamics.cellular_automata.solitons", ["SolitonCellularAutomata", "PeriodicSolitonCellularAutomata"]) +del lazy_import diff --git a/src/sage/dynamics/cellular_automata/elementary.py b/src/sage/dynamics/cellular_automata/elementary.py index 26e68c37b01..77d5b705fcb 100644 --- a/src/sage/dynamics/cellular_automata/elementary.py +++ b/src/sage/dynamics/cellular_automata/elementary.py @@ -1,4 +1,3 @@ -# -*- encoding: utf-8 -*- """ Elementary Cellular Automata diff --git a/src/sage/dynamics/cellular_automata/glca.py b/src/sage/dynamics/cellular_automata/glca.py index 6b062f2a441..8c896a981e9 100644 --- a/src/sage/dynamics/cellular_automata/glca.py +++ b/src/sage/dynamics/cellular_automata/glca.py @@ -1,4 +1,3 @@ -# -*- encoding: utf-8 -*- """ Graftal Lace Cellular Automata diff --git a/src/sage/dynamics/complex_dynamics/all.py b/src/sage/dynamics/complex_dynamics/all.py index a4f82d614e5..9bd84366db6 100644 --- a/src/sage/dynamics/complex_dynamics/all.py +++ b/src/sage/dynamics/complex_dynamics/all.py @@ -1,3 +1,5 @@ +# sage_setup: distribution = sagemath-symbolics from sage.misc.lazy_import import lazy_import lazy_import("sage.dynamics.complex_dynamics.mandel_julia", ["mandelbrot_plot", "external_ray", "kneading_sequence", "julia_plot"]) +del lazy_import diff --git a/src/sage/dynamics/complex_dynamics/mandel_julia.py b/src/sage/dynamics/complex_dynamics/mandel_julia.py index f3d6fbfa5a0..43810d6582b 100644 --- a/src/sage/dynamics/complex_dynamics/mandel_julia.py +++ b/src/sage/dynamics/complex_dynamics/mandel_julia.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Mandelbrot and Julia sets diff --git a/src/sage/dynamics/complex_dynamics/mandel_julia_helper.pyx b/src/sage/dynamics/complex_dynamics/mandel_julia_helper.pyx index 43ce0effd58..b3731884dda 100644 --- a/src/sage/dynamics/complex_dynamics/mandel_julia_helper.pyx +++ b/src/sage/dynamics/complex_dynamics/mandel_julia_helper.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics # cython: binding=True # sage.doctest: needs sage.plot r""" diff --git a/src/sage/dynamics/finite_dynamical_system.py b/src/sage/dynamics/finite_dynamical_system.py index 4295070615a..915db6dc580 100644 --- a/src/sage/dynamics/finite_dynamical_system.py +++ b/src/sage/dynamics/finite_dynamical_system.py @@ -98,22 +98,15 @@ class DiscreteDynamicalSystem(SageObject, metaclass=ClasscallMetaclass): A *discrete dynamical system* (henceforth *DDS*) is a pair `(X, \phi)` of a set `X` and a map `\phi : X \to X`. - This set `X` is called the *ground set* of the DDS, while - the map `\phi` is called the *evolution* of the DDS. - - A *discrete dynamical system* (short: *DDS*) is a pair - `(X, \phi)` of a set `X` and a map `\phi : X \to X`. - (This is one of several things known as a "discrete - dynamical system" in mathematics.) - Thus, a DDS is the same as an endomorphism of a set. - The DDS is said to be *finite* if `X` is finite. - The DDS is said to be *invertible* if the map `\phi` is - invertible. The set `X` is called the *ground set* of the DDS; the map `\phi` is called the *evolution* of the DDS; the inverse map `\phi^{-1}` (when it exists) is called the *inverse evolution* of the DDS. + The DDS is called *finite* if `X` is finite. + The DDS is called *invertible* if the map `\phi` is + invertible. + Given a DDS `(X, \phi)`, we can study * its orbits (i.e., the lists @@ -138,7 +131,7 @@ class DiscreteDynamicalSystem(SageObject, metaclass=ClasscallMetaclass): - ``X`` -- set, list, tuple, or another iterable, or ``None`` (default: ``None``); the ground set for the DDS. - Tthis can be ``None`` (in which case Sage will not know + This can be ``None`` (in which case Sage will not know the ground set, but can still apply evolution to any elements that are provided to it). Make sure to set the ``create_tuple`` argument to diff --git a/src/sage/env.py b/src/sage/env.py index bb228e7f041..80101c829e4 100644 --- a/src/sage/env.py +++ b/src/sage/env.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-environment r""" Sage Runtime Environment diff --git a/src/sage/ext/all__sagemath_categories.py b/src/sage/ext/all__sagemath_categories.py new file mode 100644 index 00000000000..ec13d6e405f --- /dev/null +++ b/src/sage/ext/all__sagemath_categories.py @@ -0,0 +1,2 @@ +from sage.ext.fast_callable import fast_callable +from sage.ext.fast_eval import fast_float diff --git a/src/sage/ext/all__sagemath_modules.py b/src/sage/ext/all__sagemath_modules.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/ext/all__sagemath_objects.py b/src/sage/ext/all__sagemath_objects.py index 38e44245ad3..40da49fdd73 100644 --- a/src/sage/ext/all__sagemath_objects.py +++ b/src/sage/ext/all__sagemath_objects.py @@ -1,2 +1,3 @@ +# sage_setup: distribution = sagemath-objects # The presence of this file ensures that sage_setup for sagemath-objects # considers this directory as a namespace package diff --git a/src/sage/ext/all__sagemath_pari.py b/src/sage/ext/all__sagemath_pari.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/ext/all__sagemath_symbolics.py b/src/sage/ext/all__sagemath_symbolics.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/ext/cplusplus.pxd b/src/sage/ext/cplusplus.pxd index d748bf2347a..d5d2035ebe3 100644 --- a/src/sage/ext/cplusplus.pxd +++ b/src/sage/ext/cplusplus.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects #***************************************************************************** # Copyright (C) 2017 Jeroen Demeyer # diff --git a/src/sage/ext/fast_callable.pxd b/src/sage/ext/fast_callable.pxd index 73dd0311c12..9e03efad5d5 100644 --- a/src/sage/ext/fast_callable.pxd +++ b/src/sage/ext/fast_callable.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories cdef class Wrapper: cdef readonly object _orig_args cdef readonly object _metadata diff --git a/src/sage/ext/fast_callable.pyx b/src/sage/ext/fast_callable.pyx index b9072da61c5..64f2e5be722 100644 --- a/src/sage/ext/fast_callable.pyx +++ b/src/sage/ext/fast_callable.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Fast Expression Evaluation diff --git a/src/sage/ext/fast_eval.pxd b/src/sage/ext/fast_eval.pxd index e69de29bb2d..b230a6a2ad9 100644 --- a/src/sage/ext/fast_eval.pxd +++ b/src/sage/ext/fast_eval.pxd @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-categories diff --git a/src/sage/ext/fast_eval.pyx b/src/sage/ext/fast_eval.pyx index 52fbc8f7406..961b0825c8b 100644 --- a/src/sage/ext/fast_eval.pyx +++ b/src/sage/ext/fast_eval.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Fast Numerical Evaluation diff --git a/src/sage/ext/memory.pyx b/src/sage/ext/memory.pyx index 26a5c848bb5..c8671fa37cb 100644 --- a/src/sage/ext/memory.pyx +++ b/src/sage/ext/memory.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari """ Low-level memory allocation functions diff --git a/src/sage/ext/mod_int.pxd b/src/sage/ext/mod_int.pxd index f2ef6fe5527..98be0ab54dd 100644 --- a/src/sage/ext/mod_int.pxd +++ b/src/sage/ext/mod_int.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects """ The `mod_int` Data Type diff --git a/src/sage/ext/stdsage.pxd b/src/sage/ext/stdsage.pxd index ddd3fd76504..e8e8f3823f3 100644 --- a/src/sage/ext/stdsage.pxd +++ b/src/sage/ext/stdsage.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects """ Standard C helper code for Cython modules """ diff --git a/src/sage/ext_data/all__sagemath_gap.py b/src/sage/ext_data/all__sagemath_gap.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/ext_data/all__sagemath_singular.py b/src/sage/ext_data/all__sagemath_singular.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/features/__init__.py b/src/sage/features/__init__.py index a8b11ef7db5..5fdefceb7ee 100644 --- a/src/sage/features/__init__.py +++ b/src/sage/features/__init__.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-environment r""" Testing for features of the environment at runtime diff --git a/src/sage/features/all.py b/src/sage/features/all.py index 599bc575dd7..a53d095c596 100644 --- a/src/sage/features/all.py +++ b/src/sage/features/all.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-environment r""" Enumeration of all defined features """ diff --git a/src/sage/features/bliss.py b/src/sage/features/bliss.py index 37fc4d7f8c3..cfdd84da1c7 100644 --- a/src/sage/features/bliss.py +++ b/src/sage/features/bliss.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-environment r""" Features for testing the presence of ``bliss`` """ diff --git a/src/sage/features/cddlib.py b/src/sage/features/cddlib.py index b8fdb6fed8e..24b67ef9f8e 100644 --- a/src/sage/features/cddlib.py +++ b/src/sage/features/cddlib.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-environment r""" Feature for testing the presence of ``cddlib`` """ diff --git a/src/sage/features/csdp.py b/src/sage/features/csdp.py index 8f2e18dc182..866ca1c21d1 100644 --- a/src/sage/features/csdp.py +++ b/src/sage/features/csdp.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-environment r""" Feature for testing the presence of ``csdp`` """ diff --git a/src/sage/features/cython.py b/src/sage/features/cython.py index 8f03155ac2f..30f66eb3426 100644 --- a/src/sage/features/cython.py +++ b/src/sage/features/cython.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-environment r""" Features for testing the presence of ``cython`` """ diff --git a/src/sage/features/databases.py b/src/sage/features/databases.py index 844ed54de17..7a05270532c 100644 --- a/src/sage/features/databases.py +++ b/src/sage/features/databases.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-environment r""" Features for testing the presence of various databases """ diff --git a/src/sage/features/dvipng.py b/src/sage/features/dvipng.py index 281084a6e72..66fbee39561 100644 --- a/src/sage/features/dvipng.py +++ b/src/sage/features/dvipng.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-environment r""" Feature for testing the presence of ``dvipng`` """ diff --git a/src/sage/features/ffmpeg.py b/src/sage/features/ffmpeg.py index 36a23594162..366249875d7 100644 --- a/src/sage/features/ffmpeg.py +++ b/src/sage/features/ffmpeg.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-environment r""" Feature for testing the presence of ``ffmpeg`` """ diff --git a/src/sage/features/four_ti_2.py b/src/sage/features/four_ti_2.py index 2af1c1e25d2..655674cbde1 100644 --- a/src/sage/features/four_ti_2.py +++ b/src/sage/features/four_ti_2.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-environment r""" Features for testing the presence of ``4ti2`` """ diff --git a/src/sage/features/fricas.py b/src/sage/features/fricas.py index a52e082d114..d5b7d469207 100644 --- a/src/sage/features/fricas.py +++ b/src/sage/features/fricas.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-environment r""" Features for testing the presence of ``fricas`` """ diff --git a/src/sage/features/gap.py b/src/sage/features/gap.py index 314ba1cc514..fdcbceee102 100644 --- a/src/sage/features/gap.py +++ b/src/sage/features/gap.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-environment r""" Features for testing the presence of the SageMath interfaces to ``gap`` and of GAP packages """ diff --git a/src/sage/features/gfan.py b/src/sage/features/gfan.py index a58090b4c91..e3545392934 100644 --- a/src/sage/features/gfan.py +++ b/src/sage/features/gfan.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-environment r""" Features for testing the presence of ``gfan`` """ diff --git a/src/sage/features/graph_generators.py b/src/sage/features/graph_generators.py index 47c4557241c..8f384af9ed3 100644 --- a/src/sage/features/graph_generators.py +++ b/src/sage/features/graph_generators.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-environment r""" Features for testing the presence of graph generator programs ``benzene``, ``buckygen``, ``plantri`` """ diff --git a/src/sage/features/graphviz.py b/src/sage/features/graphviz.py index abf9b7615fa..4e6ae9a6c4a 100644 --- a/src/sage/features/graphviz.py +++ b/src/sage/features/graphviz.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-environment r""" Features for testing the presence of ``graphviz`` """ diff --git a/src/sage/features/igraph.py b/src/sage/features/igraph.py index bcf81f9cec7..00d260f2ac7 100644 --- a/src/sage/features/igraph.py +++ b/src/sage/features/igraph.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-environment r""" Check for igraph """ diff --git a/src/sage/features/imagemagick.py b/src/sage/features/imagemagick.py index fceeed8b727..526ac278877 100644 --- a/src/sage/features/imagemagick.py +++ b/src/sage/features/imagemagick.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-environment r""" Feature for testing the presence of ``imagemagick`` diff --git a/src/sage/features/interfaces.py b/src/sage/features/interfaces.py index ddfc3b9b7ee..6d5249ab443 100644 --- a/src/sage/features/interfaces.py +++ b/src/sage/features/interfaces.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-environment r""" Features for testing whether interpreter interfaces to ``magma``, ``maple``, ``mathematica`` etc. are functional """ diff --git a/src/sage/features/internet.py b/src/sage/features/internet.py index 576b0136926..bba178bd326 100644 --- a/src/sage/features/internet.py +++ b/src/sage/features/internet.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-environment r""" Feature for testing if the Internet is available """ diff --git a/src/sage/features/join_feature.py b/src/sage/features/join_feature.py index 24c6583c123..ae95d073da4 100644 --- a/src/sage/features/join_feature.py +++ b/src/sage/features/join_feature.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-environment r""" Join features """ diff --git a/src/sage/features/kenzo.py b/src/sage/features/kenzo.py index 72f703da15f..39b8dd9a936 100644 --- a/src/sage/features/kenzo.py +++ b/src/sage/features/kenzo.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-environment r""" Feature for testing the presence of ``kenzo`` """ diff --git a/src/sage/features/latex.py b/src/sage/features/latex.py index 874c5ca7bfb..6f366ff86f6 100644 --- a/src/sage/features/latex.py +++ b/src/sage/features/latex.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-environment r""" Features for testing the presence of ``latex`` and equivalent programs """ diff --git a/src/sage/features/latte.py b/src/sage/features/latte.py index 4df8b1cd586..7e973978c24 100644 --- a/src/sage/features/latte.py +++ b/src/sage/features/latte.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-environment r""" Features for testing the presence of ``latte_int`` """ diff --git a/src/sage/features/lrs.py b/src/sage/features/lrs.py index 6eb0a11b642..52506e496e5 100644 --- a/src/sage/features/lrs.py +++ b/src/sage/features/lrs.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-environment r""" Feature for testing the presence of ``lrslib`` """ diff --git a/src/sage/features/mcqd.py b/src/sage/features/mcqd.py index 036e8fc727b..25dc159f8d3 100644 --- a/src/sage/features/mcqd.py +++ b/src/sage/features/mcqd.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-environment r""" Features for testing the presence of ``mcqd`` """ diff --git a/src/sage/features/meataxe.py b/src/sage/features/meataxe.py index cc2a69cfeff..319b58866ca 100644 --- a/src/sage/features/meataxe.py +++ b/src/sage/features/meataxe.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-environment r""" Feature for testing the presence of ``meataxe`` """ diff --git a/src/sage/features/mip_backends.py b/src/sage/features/mip_backends.py index 98b4766c1f5..a6aa0ff2525 100644 --- a/src/sage/features/mip_backends.py +++ b/src/sage/features/mip_backends.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-environment r""" Features for testing the presence of :class:`MixedIntegerLinearProgram` backends """ diff --git a/src/sage/features/msolve.py b/src/sage/features/msolve.py index c90f7e5aaf6..4328af54876 100644 --- a/src/sage/features/msolve.py +++ b/src/sage/features/msolve.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-environment r""" Feature for testing the presence of msolve diff --git a/src/sage/features/nauty.py b/src/sage/features/nauty.py index 4a07264f927..79542de74fc 100644 --- a/src/sage/features/nauty.py +++ b/src/sage/features/nauty.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-environment r""" Features for testing the presence of nauty executables """ diff --git a/src/sage/features/normaliz.py b/src/sage/features/normaliz.py index 80b3891daf3..6d1de88bf58 100644 --- a/src/sage/features/normaliz.py +++ b/src/sage/features/normaliz.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-environment r""" Feature for testing the presence of ``pynormaliz`` """ diff --git a/src/sage/features/palp.py b/src/sage/features/palp.py index b58a8fc2e54..b35634ac800 100644 --- a/src/sage/features/palp.py +++ b/src/sage/features/palp.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-environment r""" Feature for testing the presence of ``palp`` """ diff --git a/src/sage/features/pandoc.py b/src/sage/features/pandoc.py index 00ee6055024..1c4450b9b0c 100644 --- a/src/sage/features/pandoc.py +++ b/src/sage/features/pandoc.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-environment r""" Feature for testing the presence of ``pandoc`` """ diff --git a/src/sage/features/pdf2svg.py b/src/sage/features/pdf2svg.py index 98578ecb6a1..af20d011ac3 100644 --- a/src/sage/features/pdf2svg.py +++ b/src/sage/features/pdf2svg.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-environment r""" Feature for testing the presence of ``pdf2svg`` """ diff --git a/src/sage/features/phitigra.py b/src/sage/features/phitigra.py index 6c1896bd8df..ea4d855cf53 100644 --- a/src/sage/features/phitigra.py +++ b/src/sage/features/phitigra.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-environment r""" Check for ``phitigra`` """ diff --git a/src/sage/features/pkg_systems.py b/src/sage/features/pkg_systems.py index 72ecd494344..4f6db21b735 100644 --- a/src/sage/features/pkg_systems.py +++ b/src/sage/features/pkg_systems.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-environment r""" Features for testing the presence of package systems ``sage_spkg``, ``conda``, ``pip``, ``debian``, ``fedora`` etc. """ diff --git a/src/sage/features/polymake.py b/src/sage/features/polymake.py index d2b433b1c7f..10dfab73346 100644 --- a/src/sage/features/polymake.py +++ b/src/sage/features/polymake.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-environment r""" Feature for testing the presence of ``jupymake``, the Python interface to polymake """ diff --git a/src/sage/features/poppler.py b/src/sage/features/poppler.py index b8f8586e7f5..c4777e9c6ca 100644 --- a/src/sage/features/poppler.py +++ b/src/sage/features/poppler.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-environment r""" Check for poppler features diff --git a/src/sage/features/rubiks.py b/src/sage/features/rubiks.py index 07250532cb6..2429645d2ff 100644 --- a/src/sage/features/rubiks.py +++ b/src/sage/features/rubiks.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-environment r""" Features for testing the presence of ``rubiks`` """ diff --git a/src/sage/features/sagemath.py b/src/sage/features/sagemath.py index 75a925895c5..207fa37ce15 100644 --- a/src/sage/features/sagemath.py +++ b/src/sage/features/sagemath.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-environment r""" Features for testing the presence of Python modules in the Sage library diff --git a/src/sage/features/singular.py b/src/sage/features/singular.py index fce89a8e91c..d6469b6f7f4 100644 --- a/src/sage/features/singular.py +++ b/src/sage/features/singular.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-environment r""" Features for testing the presence of ``singular`` and the SageMath interfaces to it """ diff --git a/src/sage/features/sphinx.py b/src/sage/features/sphinx.py index a70e8a11eee..ec7c8be17b6 100644 --- a/src/sage/features/sphinx.py +++ b/src/sage/features/sphinx.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-environment r""" Features for testing the presence of ``sphinx`` """ diff --git a/src/sage/features/standard.py b/src/sage/features/standard.py index c2090fc53a4..94272802aad 100644 --- a/src/sage/features/standard.py +++ b/src/sage/features/standard.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-environment r""" Check for various standard packages (for modularized distributions) diff --git a/src/sage/features/symengine_py.py b/src/sage/features/symengine_py.py index d32492085b7..0e602e0b84d 100644 --- a/src/sage/features/symengine_py.py +++ b/src/sage/features/symengine_py.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-environment r""" Check for symengine_py """ diff --git a/src/sage/features/tdlib.py b/src/sage/features/tdlib.py index 128c056a49c..eb0b3b10c93 100644 --- a/src/sage/features/tdlib.py +++ b/src/sage/features/tdlib.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-environment r""" Features for testing the presence of ``tdlib`` """ diff --git a/src/sage/functions/airy.py b/src/sage/functions/airy.py index 11f4c56be8c..11bd49f5339 100644 --- a/src/sage/functions/airy.py +++ b/src/sage/functions/airy.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Airy functions diff --git a/src/sage/functions/all.py b/src/sage/functions/all.py index 4cf9005f7e3..cd3ef41a7ab 100644 --- a/src/sage/functions/all.py +++ b/src/sage/functions/all.py @@ -1,93 +1,97 @@ +# sage_setup: distribution = sagemath-categories from sage.misc.lazy_import import lazy_import lazy_import('sage.functions.piecewise', 'piecewise') lazy_import('sage.functions.error', ['erf', 'erfc', 'erfi', 'erfinv', - 'fresnel_sin', 'fresnel_cos']) + 'fresnel_sin', 'fresnel_cos']) -from .trig import ( sin, cos, sec, csc, cot, tan, - asin, acos, atan, - acot, acsc, asec, - arcsin, arccos, arctan, - arccot, arccsc, arcsec, - arctan2, atan2) +from sage.functions.trig import (sin, cos, sec, csc, cot, tan, + asin, acos, atan, + acot, acsc, asec, + arcsin, arccos, arctan, + arccot, arccsc, arcsec, + arctan2, atan2) -from .hyperbolic import ( tanh, sinh, cosh, coth, sech, csch, - asinh, acosh, atanh, acoth, asech, acsch, - arcsinh, arccosh, arctanh, arccoth, arcsech, arccsch ) +from sage.functions.hyperbolic import (tanh, sinh, cosh, coth, sech, csch, + asinh, acosh, atanh, acoth, asech, acsch, + arcsinh, arccosh, arctanh, arccoth, arcsech, arccsch) -reciprocal_trig_functions = {'sec': cos, 'csc': sin, 'cot': tan, 'sech': cosh, 'csch': sinh, 'coth': tanh} +reciprocal_trig_functions = {'sec': cos, 'csc': sin, + 'cot': tan, 'sech': cosh, 'csch': sinh, 'coth': tanh} -from .other import ( ceil, floor, abs_symbolic, sqrt, real_nth_root, - arg, real_part, real, frac, - factorial, binomial, - imag_part, imag, imaginary, conjugate, cases, - complex_root_of) +from sage.functions.other import (ceil, floor, abs_symbolic, sqrt, real_nth_root, + arg, real_part, real, frac, + factorial, binomial, + imag_part, imag, imaginary, conjugate, cases, + complex_root_of) -from .log import (exp, exp_polar, log, ln, polylog, dilog, lambert_w, harmonic_number) +from sage.functions.log import (exp, exp_polar, log, ln, + polylog, dilog, lambert_w, harmonic_number) -from .transcendental import (zeta, zetaderiv, zeta_symmetric, hurwitz_zeta, - dickman_rho, stieltjes) +from sage.functions.transcendental import (zeta, zetaderiv, zeta_symmetric, hurwitz_zeta, + dickman_rho, stieltjes) -from .bessel import (bessel_I, bessel_J, bessel_K, bessel_Y, - Bessel, struve_H, struve_L, hankel1, hankel2, +from sage.functions.bessel import (bessel_I, bessel_J, bessel_K, bessel_Y, + Bessel, struve_H, struve_L, hankel1, hankel2, spherical_bessel_J, spherical_bessel_Y, spherical_hankel1, spherical_hankel2) -from .special import (spherical_harmonic, elliptic_e, - elliptic_f, elliptic_ec, elliptic_eu, - elliptic_kc, elliptic_pi, elliptic_j) +from sage.functions.special import (spherical_harmonic, elliptic_e, + elliptic_f, elliptic_ec, elliptic_eu, + elliptic_kc, elliptic_pi, elliptic_j) -from .jacobi import (jacobi, inverse_jacobi, jacobi_nd, jacobi_ns, jacobi_nc, - jacobi_dn, jacobi_ds, jacobi_dc, jacobi_sn, jacobi_sd, - jacobi_sc, jacobi_cn, jacobi_cd, jacobi_cs, jacobi_am, - inverse_jacobi_nd, inverse_jacobi_ns, inverse_jacobi_nc, - inverse_jacobi_dn, inverse_jacobi_ds, inverse_jacobi_dc, - inverse_jacobi_sn, inverse_jacobi_sd, inverse_jacobi_sc, - inverse_jacobi_cn, inverse_jacobi_cd, inverse_jacobi_cs) +from sage.functions.jacobi import (jacobi, inverse_jacobi, jacobi_nd, jacobi_ns, jacobi_nc, + jacobi_dn, jacobi_ds, jacobi_dc, jacobi_sn, jacobi_sd, + jacobi_sc, jacobi_cn, jacobi_cd, jacobi_cs, jacobi_am, + inverse_jacobi_nd, inverse_jacobi_ns, inverse_jacobi_nc, + inverse_jacobi_dn, inverse_jacobi_ds, inverse_jacobi_dc, + inverse_jacobi_sn, inverse_jacobi_sd, inverse_jacobi_sc, + inverse_jacobi_cn, inverse_jacobi_cd, inverse_jacobi_cs) -from .orthogonal_polys import (chebyshev_T, - chebyshev_U, - gen_laguerre, - gen_legendre_P, - gen_legendre_Q, - hermite, - jacobi_P, - laguerre, - legendre_P, - legendre_Q, - ultraspherical, - gegenbauer, - krawtchouk, - meixner, - hahn) +from sage.functions.orthogonal_polys import (chebyshev_T, + chebyshev_U, + gen_laguerre, + gen_legendre_P, + gen_legendre_Q, + hermite, + jacobi_P, + laguerre, + legendre_P, + legendre_Q, + ultraspherical, + gegenbauer, + krawtchouk, + meixner, + hahn) -from .spike_function import spike_function +from sage.functions.spike_function import spike_function -from .prime_pi import legendre_phi, partial_sieve_function, prime_pi +from sage.functions.prime_pi import legendre_phi, partial_sieve_function, prime_pi -from .wigner import (wigner_3j, clebsch_gordan, racah, wigner_6j, - wigner_9j, gaunt) +from sage.functions.wigner import (wigner_3j, clebsch_gordan, racah, wigner_6j, + wigner_9j, gaunt) -from .generalized import (dirac_delta, heaviside, unit_step, sgn, sign, - kronecker_delta) +from sage.functions.generalized import (dirac_delta, heaviside, unit_step, sgn, sign, + kronecker_delta) -from .min_max import max_symbolic, min_symbolic +from sage.functions.min_max import max_symbolic, min_symbolic -from .airy import airy_ai, airy_ai_prime, airy_bi, airy_bi_prime +from sage.functions.airy import airy_ai, airy_ai_prime, airy_bi, airy_bi_prime -from .exp_integral import (exp_integral_e, exp_integral_e1, log_integral, li, Li, - log_integral_offset, - sin_integral, cos_integral, Si, Ci, - sinh_integral, cosh_integral, Shi, Chi, - exponential_integral_1, Ei, exp_integral_ei) +from sage.functions.exp_integral import (exp_integral_e, exp_integral_e1, log_integral, li, Li, + log_integral_offset, + sin_integral, cos_integral, Si, Ci, + sinh_integral, cosh_integral, Shi, Chi, + exponential_integral_1, Ei, exp_integral_ei) -from .hypergeometric import hypergeometric, hypergeometric_M, hypergeometric_U +from sage.functions.hypergeometric import hypergeometric, hypergeometric_M, hypergeometric_U -from .gamma import (gamma, psi, beta, log_gamma, - gamma_inc, gamma_inc_lower) +from sage.functions.gamma import (gamma, psi, beta, log_gamma, + gamma_inc, gamma_inc_lower) Γ = gamma ψ = psi ζ = zeta +del lazy_import diff --git a/src/sage/functions/bessel.py b/src/sage/functions/bessel.py index cedbe56c00e..76fc6a6a3ae 100644 --- a/src/sage/functions/bessel.py +++ b/src/sage/functions/bessel.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Bessel functions diff --git a/src/sage/functions/error.py b/src/sage/functions/error.py index 76509ce5ef0..3467e18ddd2 100644 --- a/src/sage/functions/error.py +++ b/src/sage/functions/error.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Error functions diff --git a/src/sage/functions/exp_integral.py b/src/sage/functions/exp_integral.py index 913cb577bef..edc2b1debc4 100644 --- a/src/sage/functions/exp_integral.py +++ b/src/sage/functions/exp_integral.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Exponential integrals diff --git a/src/sage/functions/gamma.py b/src/sage/functions/gamma.py index 0af99e5dc20..a19795b8100 100644 --- a/src/sage/functions/gamma.py +++ b/src/sage/functions/gamma.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Gamma and related functions """ diff --git a/src/sage/functions/generalized.py b/src/sage/functions/generalized.py index 5e66d267828..9f31b8acc46 100644 --- a/src/sage/functions/generalized.py +++ b/src/sage/functions/generalized.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Generalized functions diff --git a/src/sage/functions/hyperbolic.py b/src/sage/functions/hyperbolic.py index 7c94892ba9d..5bf71461c2d 100644 --- a/src/sage/functions/hyperbolic.py +++ b/src/sage/functions/hyperbolic.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Hyperbolic functions diff --git a/src/sage/functions/hypergeometric.py b/src/sage/functions/hypergeometric.py index 6e2b26d284a..9c7859bbd90 100644 --- a/src/sage/functions/hypergeometric.py +++ b/src/sage/functions/hypergeometric.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Hypergeometric functions diff --git a/src/sage/functions/jacobi.py b/src/sage/functions/jacobi.py index 063dc8c7b78..c817ab0638c 100644 --- a/src/sage/functions/jacobi.py +++ b/src/sage/functions/jacobi.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Jacobi elliptic functions diff --git a/src/sage/functions/log.py b/src/sage/functions/log.py index 37e5f601e59..4268ea8b122 100644 --- a/src/sage/functions/log.py +++ b/src/sage/functions/log.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Logarithmic functions diff --git a/src/sage/functions/min_max.py b/src/sage/functions/min_max.py index caaed6f1193..38b68ba4314 100644 --- a/src/sage/functions/min_max.py +++ b/src/sage/functions/min_max.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Symbolic minimum and maximum diff --git a/src/sage/functions/orthogonal_polys.py b/src/sage/functions/orthogonal_polys.py index 8976001bc62..ee6e32738b2 100644 --- a/src/sage/functions/orthogonal_polys.py +++ b/src/sage/functions/orthogonal_polys.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Orthogonal polynomials diff --git a/src/sage/functions/other.py b/src/sage/functions/other.py index 3da7beec8ce..d5bf3e29425 100644 --- a/src/sage/functions/other.py +++ b/src/sage/functions/other.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Other functions diff --git a/src/sage/functions/piecewise.py b/src/sage/functions/piecewise.py index f621c324cc4..c5da81f777f 100644 --- a/src/sage/functions/piecewise.py +++ b/src/sage/functions/piecewise.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.symbolic r""" Piecewise functions diff --git a/src/sage/functions/prime_pi.pyx b/src/sage/functions/prime_pi.pyx index 8dede094229..2ecc6525e93 100644 --- a/src/sage/functions/prime_pi.pyx +++ b/src/sage/functions/prime_pi.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs primecountpy r""" Counting primes diff --git a/src/sage/functions/special.py b/src/sage/functions/special.py index e100ba3ee23..4eed8e0c2f8 100644 --- a/src/sage/functions/special.py +++ b/src/sage/functions/special.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Miscellaneous special functions diff --git a/src/sage/functions/spike_function.py b/src/sage/functions/spike_function.py index 4739ca7ffb4..737486e6e54 100644 --- a/src/sage/functions/spike_function.py +++ b/src/sage/functions/spike_function.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Spike functions diff --git a/src/sage/functions/transcendental.py b/src/sage/functions/transcendental.py index c0debecdc0d..a9fe2588a88 100644 --- a/src/sage/functions/transcendental.py +++ b/src/sage/functions/transcendental.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Number-theoretic functions """ diff --git a/src/sage/functions/trig.py b/src/sage/functions/trig.py index d4e723ec6e2..6c98de24eb0 100644 --- a/src/sage/functions/trig.py +++ b/src/sage/functions/trig.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Trigonometric functions """ diff --git a/src/sage/functions/wigner.py b/src/sage/functions/wigner.py index 0bafe13a246..4b740bb2bfd 100644 --- a/src/sage/functions/wigner.py +++ b/src/sage/functions/wigner.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Wigner, Clebsch-Gordan, Racah, and Gaunt coefficients diff --git a/src/sage/game_theory/all.py b/src/sage/game_theory/all.py index 4658885c3ab..f5caf04e6b7 100644 --- a/src/sage/game_theory/all.py +++ b/src/sage/game_theory/all.py @@ -1,6 +1,8 @@ +# sage_setup: distribution = sagemath-polyhedra from sage.misc.lazy_import import lazy_import lazy_import('sage.game_theory', 'catalog', 'game_theory') lazy_import('sage.game_theory.cooperative_game', 'CooperativeGame') lazy_import('sage.game_theory.normal_form_game', 'NormalFormGame') lazy_import('sage.game_theory.matching_game', 'MatchingGame') +del lazy_import diff --git a/src/sage/game_theory/catalog.py b/src/sage/game_theory/catalog.py index 9abb2c74151..58c3fb02a80 100644 --- a/src/sage/game_theory/catalog.py +++ b/src/sage/game_theory/catalog.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra r""" Catalog Of Games """ diff --git a/src/sage/game_theory/catalog_normal_form_games.py b/src/sage/game_theory/catalog_normal_form_games.py index ab7b48a4dc0..7733b970269 100644 --- a/src/sage/game_theory/catalog_normal_form_games.py +++ b/src/sage/game_theory/catalog_normal_form_games.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra r""" A catalog of normal form games diff --git a/src/sage/game_theory/cooperative_game.py b/src/sage/game_theory/cooperative_game.py index b95ba0f655a..1394c132960 100644 --- a/src/sage/game_theory/cooperative_game.py +++ b/src/sage/game_theory/cooperative_game.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra """ Co-operative Games With Finite Players diff --git a/src/sage/game_theory/gambit_docs.py b/src/sage/game_theory/gambit_docs.py index b2d8af991e9..e6acc5e6b69 100644 --- a/src/sage/game_theory/gambit_docs.py +++ b/src/sage/game_theory/gambit_docs.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra """ Using Gambit as a standalone package diff --git a/src/sage/game_theory/matching_game.py b/src/sage/game_theory/matching_game.py index 11c04f6e5b1..e356132be82 100644 --- a/src/sage/game_theory/matching_game.py +++ b/src/sage/game_theory/matching_game.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra """ Matching games diff --git a/src/sage/game_theory/normal_form_game.py b/src/sage/game_theory/normal_form_game.py index b053f3160b8..ce5002b3e9f 100644 --- a/src/sage/game_theory/normal_form_game.py +++ b/src/sage/game_theory/normal_form_game.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-polyhedra r""" Normal form games with N players. diff --git a/src/sage/game_theory/parser.py b/src/sage/game_theory/parser.py index d528116f244..0fd8892a6b1 100644 --- a/src/sage/game_theory/parser.py +++ b/src/sage/game_theory/parser.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra """ Parser For gambit And lrs Nash Equilibria """ diff --git a/src/sage/games/all.py b/src/sage/games/all.py index e3e31bcf03e..cef064e1383 100644 --- a/src/sage/games/all.py +++ b/src/sage/games/all.py @@ -1,2 +1,7 @@ -from .sudoku import Sudoku, sudoku -from .hexad import Minimog +# sage_setup: distribution = sagemath-combinat + +from sage.misc.lazy_import import lazy_import + +lazy_import('sage.games.sudoku', ['Sudoku', 'sudoku']) +lazy_import('sage.games.hexad', ['Minimog']) +del lazy_import diff --git a/src/sage/games/hexad.py b/src/sage/games/hexad.py index ddc08530b08..64138d012e3 100644 --- a/src/sage/games/hexad.py +++ b/src/sage/games/hexad.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Hexads in S(5, 6, 12) diff --git a/src/sage/games/quantumino.py b/src/sage/games/quantumino.py index d5646406882..16485d7ea42 100644 --- a/src/sage/games/quantumino.py +++ b/src/sage/games/quantumino.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-combinat r""" Family Games America's Quantumino solver diff --git a/src/sage/games/sudoku.py b/src/sage/games/sudoku.py index abcadd08ca3..a98632df734 100644 --- a/src/sage/games/sudoku.py +++ b/src/sage/games/sudoku.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Sudoku Puzzles diff --git a/src/sage/games/sudoku_backtrack.pyx b/src/sage/games/sudoku_backtrack.pyx index 9d02c4fcf9a..28504c3f109 100644 --- a/src/sage/games/sudoku_backtrack.pyx +++ b/src/sage/games/sudoku_backtrack.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" This module contains Cython code for a backtracking algorithm to solve Sudoku puzzles. diff --git a/src/sage/geometry/abc.pyx b/src/sage/geometry/abc.pyx index f3aee46d324..a40fc1933e4 100644 --- a/src/sage/geometry/abc.pyx +++ b/src/sage/geometry/abc.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Abstract base classes for classes in :mod:`~sage.geometry` """ diff --git a/src/sage/geometry/all.py b/src/sage/geometry/all.py index 3b7dcf756d8..ebf0d36f808 100644 --- a/src/sage/geometry/all.py +++ b/src/sage/geometry/all.py @@ -1,19 +1,12 @@ -from .polyhedron.all import * -from .hyperbolic_space.all import * -from .polyhedral_complex import PolyhedralComplex -from sage.misc.lazy_import import lazy_import +from sage.geometry.all__sagemath_polyhedra import * -lazy_import('sage.geometry.cone', ['Cone', 'random_cone']) -lazy_import('sage.geometry', 'cone_catalog', 'cones') -lazy_import('sage.geometry.fan', ['Fan', 'FaceFan', 'NormalFan', 'Fan2d']) -lazy_import('sage.geometry.fan_morphism', 'FanMorphism') -lazy_import('sage.geometry.lattice_polytope', - ['LatticePolytope', 'NefPartition', - 'ReflexivePolytope', 'ReflexivePolytopes']) -lazy_import('sage.geometry', 'lattice_polytope') -lazy_import('sage.geometry.toric_lattice', 'ToricLattice') -lazy_import('sage.geometry', 'toric_plotter') -lazy_import('sage.geometry.voronoi_diagram', 'VoronoiDiagram') -lazy_import('sage.geometry.ribbon_graph', 'RibbonGraph') -lazy_import('sage.geometry.hyperplane_arrangement.arrangement', 'HyperplaneArrangements') -lazy_import('sage.geometry.hyperplane_arrangement.library', 'hyperplane_arrangements') +try: + from sage.geometry.all__sagemath_symbolics import * +except ImportError: + pass + + +try: + from sage.geometry.all__sagemath_gap import * +except ImportError: + pass diff --git a/src/sage/geometry/all__sagemath_categories.py b/src/sage/geometry/all__sagemath_categories.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/geometry/all__sagemath_gap.py b/src/sage/geometry/all__sagemath_gap.py new file mode 100644 index 00000000000..34dc2709543 --- /dev/null +++ b/src/sage/geometry/all__sagemath_gap.py @@ -0,0 +1,5 @@ + +from sage.misc.lazy_import import lazy_import + +lazy_import('sage.geometry.ribbon_graph', 'RibbonGraph') +del lazy_import diff --git a/src/sage/geometry/all__sagemath_linbox.py b/src/sage/geometry/all__sagemath_linbox.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/geometry/all__sagemath_modules.py b/src/sage/geometry/all__sagemath_modules.py new file mode 100644 index 00000000000..4ea1510f4ab --- /dev/null +++ b/src/sage/geometry/all__sagemath_modules.py @@ -0,0 +1,4 @@ +from sage.misc.lazy_import import lazy_import + +lazy_import('sage.geometry.toric_lattice', 'ToricLattice') +del lazy_import diff --git a/src/sage/geometry/all__sagemath_polyhedra.py b/src/sage/geometry/all__sagemath_polyhedra.py new file mode 100644 index 00000000000..0b1852de7a5 --- /dev/null +++ b/src/sage/geometry/all__sagemath_polyhedra.py @@ -0,0 +1,20 @@ +from sage.geometry.all__sagemath_modules import * + +from sage.geometry.polyhedron.all import * +from sage.misc.lazy_import import lazy_import + +lazy_import('sage.geometry.polyhedral_complex', 'PolyhedralComplex') +lazy_import('sage.geometry.cone', ['Cone', 'random_cone']) +lazy_import('sage.geometry', 'cone_catalog', 'cones') +lazy_import('sage.geometry.fan', ['Fan', 'FaceFan', 'NormalFan', 'Fan2d']) +lazy_import('sage.geometry.fan_morphism', 'FanMorphism') +lazy_import('sage.geometry.lattice_polytope', + ['LatticePolytope', 'NefPartition', + 'ReflexivePolytope', 'ReflexivePolytopes']) +lazy_import('sage.geometry', 'lattice_polytope') +lazy_import('sage.geometry', 'toric_plotter') +lazy_import('sage.geometry.voronoi_diagram', 'VoronoiDiagram') +lazy_import('sage.geometry.hyperplane_arrangement.arrangement', + 'HyperplaneArrangements') +lazy_import('sage.geometry.hyperplane_arrangement.library', 'hyperplane_arrangements') +del lazy_import diff --git a/src/sage/geometry/all__sagemath_symbolics.py b/src/sage/geometry/all__sagemath_symbolics.py new file mode 100644 index 00000000000..fb690c97312 --- /dev/null +++ b/src/sage/geometry/all__sagemath_symbolics.py @@ -0,0 +1,7 @@ +from sage.misc.lazy_import import lazy_import + +lazy_import('sage.geometry.hyperbolic_space.hyperbolic_interface', 'HyperbolicPlane') + +from sage.geometry.riemannian_manifolds.all import * + +del lazy_import diff --git a/src/sage/geometry/cone.py b/src/sage/geometry/cone.py index fc0b3731945..91cfaf85ab0 100644 --- a/src/sage/geometry/cone.py +++ b/src/sage/geometry/cone.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra r""" Convex rational polyhedral cones diff --git a/src/sage/geometry/cone_catalog.py b/src/sage/geometry/cone_catalog.py index d6898d40087..015fb5aad12 100644 --- a/src/sage/geometry/cone_catalog.py +++ b/src/sage/geometry/cone_catalog.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra r""" Catalog of common polyhedral convex cones diff --git a/src/sage/geometry/convex_set.py b/src/sage/geometry/convex_set.py index dd7237f0e30..ab7b74341e3 100644 --- a/src/sage/geometry/convex_set.py +++ b/src/sage/geometry/convex_set.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra r""" Convex Sets """ diff --git a/src/sage/geometry/fan.py b/src/sage/geometry/fan.py index 832a76bb65d..34caa8a427a 100644 --- a/src/sage/geometry/fan.py +++ b/src/sage/geometry/fan.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra # sage.doctest: optional - sage.graphs sage.combinat r""" Rational polyhedral fans diff --git a/src/sage/geometry/fan_isomorphism.py b/src/sage/geometry/fan_isomorphism.py index 2cf79c13442..e59604f59e9 100644 --- a/src/sage/geometry/fan_isomorphism.py +++ b/src/sage/geometry/fan_isomorphism.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra """ Find isomorphisms between fans """ diff --git a/src/sage/geometry/fan_morphism.py b/src/sage/geometry/fan_morphism.py index 6f4fa78c5a3..fa1d82889d9 100644 --- a/src/sage/geometry/fan_morphism.py +++ b/src/sage/geometry/fan_morphism.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra # sage.doctest: optional - sage.graphs, sage.combinat r""" Morphisms between toric lattices compatible with fans diff --git a/src/sage/geometry/hasse_diagram.py b/src/sage/geometry/hasse_diagram.py index d30f08ac8d5..96048cc817e 100644 --- a/src/sage/geometry/hasse_diagram.py +++ b/src/sage/geometry/hasse_diagram.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra """ Construction of finite atomic and coatomic lattices from incidences diff --git a/src/sage/geometry/hyperbolic_space/all.py b/src/sage/geometry/hyperbolic_space/all.py index d1b2a930e04..88d94a913e4 100644 --- a/src/sage/geometry/hyperbolic_space/all.py +++ b/src/sage/geometry/hyperbolic_space/all.py @@ -1,3 +1,5 @@ +# sage_setup: distribution = sagemath-symbolics from sage.misc.lazy_import import lazy_import lazy_import('sage.geometry.hyperbolic_space.hyperbolic_interface', 'HyperbolicPlane') +del lazy_import diff --git a/src/sage/geometry/hyperbolic_space/hyperbolic_coercion.py b/src/sage/geometry/hyperbolic_space/hyperbolic_coercion.py index ff509d0d97f..fc0f68e417b 100644 --- a/src/sage/geometry/hyperbolic_space/hyperbolic_coercion.py +++ b/src/sage/geometry/hyperbolic_space/hyperbolic_coercion.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics """ Coercion Maps Between Hyperbolic Plane Models diff --git a/src/sage/geometry/hyperbolic_space/hyperbolic_constants.py b/src/sage/geometry/hyperbolic_space/hyperbolic_constants.py index 1ea800e58b0..b42f519014a 100644 --- a/src/sage/geometry/hyperbolic_space/hyperbolic_constants.py +++ b/src/sage/geometry/hyperbolic_space/hyperbolic_constants.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics from sage.matrix.constructor import matrix EPSILON = 10 ** -9 diff --git a/src/sage/geometry/hyperbolic_space/hyperbolic_geodesic.py b/src/sage/geometry/hyperbolic_space/hyperbolic_geodesic.py index 802de09a9f0..381fe39a9e4 100644 --- a/src/sage/geometry/hyperbolic_space/hyperbolic_geodesic.py +++ b/src/sage/geometry/hyperbolic_space/hyperbolic_geodesic.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Hyperbolic Geodesics diff --git a/src/sage/geometry/hyperbolic_space/hyperbolic_interface.py b/src/sage/geometry/hyperbolic_space/hyperbolic_interface.py index 11f4c08add9..e0d4055e09e 100644 --- a/src/sage/geometry/hyperbolic_space/hyperbolic_interface.py +++ b/src/sage/geometry/hyperbolic_space/hyperbolic_interface.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Interface to Hyperbolic Models diff --git a/src/sage/geometry/hyperbolic_space/hyperbolic_isometry.py b/src/sage/geometry/hyperbolic_space/hyperbolic_isometry.py index 89e73b83a07..f25205a8192 100644 --- a/src/sage/geometry/hyperbolic_space/hyperbolic_isometry.py +++ b/src/sage/geometry/hyperbolic_space/hyperbolic_isometry.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Hyperbolic Isometries diff --git a/src/sage/geometry/hyperbolic_space/hyperbolic_model.py b/src/sage/geometry/hyperbolic_space/hyperbolic_model.py index 33e5f0008fe..fd8c12ed990 100644 --- a/src/sage/geometry/hyperbolic_space/hyperbolic_model.py +++ b/src/sage/geometry/hyperbolic_space/hyperbolic_model.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Hyperbolic Models diff --git a/src/sage/geometry/hyperbolic_space/hyperbolic_point.py b/src/sage/geometry/hyperbolic_space/hyperbolic_point.py index 650c90a4403..e12330e1908 100644 --- a/src/sage/geometry/hyperbolic_space/hyperbolic_point.py +++ b/src/sage/geometry/hyperbolic_space/hyperbolic_point.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Hyperbolic Points diff --git a/src/sage/geometry/hyperplane_arrangement/affine_subspace.py b/src/sage/geometry/hyperplane_arrangement/affine_subspace.py index 7c1065553c4..74150f422f0 100644 --- a/src/sage/geometry/hyperplane_arrangement/affine_subspace.py +++ b/src/sage/geometry/hyperplane_arrangement/affine_subspace.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra """ Affine Subspaces of a Vector Space diff --git a/src/sage/geometry/hyperplane_arrangement/all.py b/src/sage/geometry/hyperplane_arrangement/all.py index e69de29bb2d..ca4c26e905d 100644 --- a/src/sage/geometry/hyperplane_arrangement/all.py +++ b/src/sage/geometry/hyperplane_arrangement/all.py @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-polyhedra diff --git a/src/sage/geometry/hyperplane_arrangement/arrangement.py b/src/sage/geometry/hyperplane_arrangement/arrangement.py index bb1e04efabe..68ec59accc4 100644 --- a/src/sage/geometry/hyperplane_arrangement/arrangement.py +++ b/src/sage/geometry/hyperplane_arrangement/arrangement.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra r""" Hyperplane Arrangements diff --git a/src/sage/geometry/hyperplane_arrangement/check_freeness.py b/src/sage/geometry/hyperplane_arrangement/check_freeness.py index e99c8ee9b39..385f83788f9 100644 --- a/src/sage/geometry/hyperplane_arrangement/check_freeness.py +++ b/src/sage/geometry/hyperplane_arrangement/check_freeness.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra # sage.doctest: optional - sage.libs.singular r""" Helper Functions For Freeness Of Hyperplane Arrangements diff --git a/src/sage/geometry/hyperplane_arrangement/hyperplane.py b/src/sage/geometry/hyperplane_arrangement/hyperplane.py index 9ca1a7c42ac..2a4f8eea174 100644 --- a/src/sage/geometry/hyperplane_arrangement/hyperplane.py +++ b/src/sage/geometry/hyperplane_arrangement/hyperplane.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra r""" Hyperplanes diff --git a/src/sage/geometry/hyperplane_arrangement/library.py b/src/sage/geometry/hyperplane_arrangement/library.py index cdfaca2faf0..280ac089c87 100644 --- a/src/sage/geometry/hyperplane_arrangement/library.py +++ b/src/sage/geometry/hyperplane_arrangement/library.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra r""" Library of Hyperplane Arrangements diff --git a/src/sage/geometry/hyperplane_arrangement/plot.py b/src/sage/geometry/hyperplane_arrangement/plot.py index be468c111bc..93a8112cd54 100644 --- a/src/sage/geometry/hyperplane_arrangement/plot.py +++ b/src/sage/geometry/hyperplane_arrangement/plot.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra """ Plotting of Hyperplane Arrangements diff --git a/src/sage/geometry/integral_points.pxi b/src/sage/geometry/integral_points.pxi index 40f26e39d69..613e917f4fe 100644 --- a/src/sage/geometry/integral_points.pxi +++ b/src/sage/geometry/integral_points.pxi @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-linbox r""" Cython helper methods to compute integral points in polyhedra. """ diff --git a/src/sage/geometry/integral_points.py b/src/sage/geometry/integral_points.py index 48153591bcf..bc6e4a0626f 100644 --- a/src/sage/geometry/integral_points.py +++ b/src/sage/geometry/integral_points.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra try: from .integral_points_integer_dense import ( parallelotope_points, diff --git a/src/sage/geometry/integral_points_generic_dense.pyx b/src/sage/geometry/integral_points_generic_dense.pyx index 5ff619f44d4..99b0a60e49e 100644 --- a/src/sage/geometry/integral_points_generic_dense.pyx +++ b/src/sage/geometry/integral_points_generic_dense.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra #cython: wraparound=False, boundscheck=False from sage.modules.vector_integer_dense cimport Vector_integer_dense as VectorClass diff --git a/src/sage/geometry/integral_points_integer_dense.pyx b/src/sage/geometry/integral_points_integer_dense.pyx index 0151ffed5c0..67b5009f191 100644 --- a/src/sage/geometry/integral_points_integer_dense.pyx +++ b/src/sage/geometry/integral_points_integer_dense.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-linbox #cython: wraparound=False, boundscheck=False from sage.modules.vector_integer_dense cimport Vector_integer_dense as VectorClass diff --git a/src/sage/geometry/lattice_polytope.py b/src/sage/geometry/lattice_polytope.py index b652e68c946..a35bbecbf70 100644 --- a/src/sage/geometry/lattice_polytope.py +++ b/src/sage/geometry/lattice_polytope.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra r""" Lattice and reflexive polytopes diff --git a/src/sage/geometry/linear_expression.py b/src/sage/geometry/linear_expression.py index 547d2eeb5a3..9c6d3cd7cfd 100644 --- a/src/sage/geometry/linear_expression.py +++ b/src/sage/geometry/linear_expression.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra """ Linear Expressions diff --git a/src/sage/geometry/newton_polygon.py b/src/sage/geometry/newton_polygon.py index 28101e70646..b0b3209f426 100644 --- a/src/sage/geometry/newton_polygon.py +++ b/src/sage/geometry/newton_polygon.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra """ Newton Polygons diff --git a/src/sage/geometry/palp_normal_form.pyx b/src/sage/geometry/palp_normal_form.pyx index fa756fe65b0..baaedefa467 100644 --- a/src/sage/geometry/palp_normal_form.pyx +++ b/src/sage/geometry/palp_normal_form.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra # sage.doctest: needs sage.groups r""" PALP normal form of vertices of a lattice polytope diff --git a/src/sage/geometry/point_collection.pyx b/src/sage/geometry/point_collection.pyx index aabb0bdcde3..162269b3a5f 100644 --- a/src/sage/geometry/point_collection.pyx +++ b/src/sage/geometry/point_collection.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra r""" Point collections diff --git a/src/sage/geometry/polyhedral_complex.py b/src/sage/geometry/polyhedral_complex.py index 09200a60be9..6194595c2c8 100644 --- a/src/sage/geometry/polyhedral_complex.py +++ b/src/sage/geometry/polyhedral_complex.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra # sage.doctest: optional - sage.graphs r""" Finite polyhedral complexes diff --git a/src/sage/geometry/polyhedron/all.py b/src/sage/geometry/polyhedron/all.py index 3668a0b8b50..848763439fb 100644 --- a/src/sage/geometry/polyhedron/all.py +++ b/src/sage/geometry/polyhedron/all.py @@ -1,5 +1,8 @@ +# sage_setup: distribution = sagemath-polyhedra from sage.misc.lazy_import import lazy_import lazy_import('sage.geometry.polyhedron.constructor', 'Polyhedron') lazy_import('sage.geometry.polyhedron.library', 'polytopes') -lazy_import('sage.geometry.polyhedron.combinatorial_polyhedron.base' , 'CombinatorialPolyhedron') +lazy_import('sage.geometry.polyhedron.combinatorial_polyhedron.base', + 'CombinatorialPolyhedron') +del lazy_import diff --git a/src/sage/geometry/polyhedron/backend_cdd.py b/src/sage/geometry/polyhedron/backend_cdd.py index e59f05d09a3..1f497350727 100644 --- a/src/sage/geometry/polyhedron/backend_cdd.py +++ b/src/sage/geometry/polyhedron/backend_cdd.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra r""" The cdd backend for polyhedral computations """ diff --git a/src/sage/geometry/polyhedron/backend_cdd_rdf.py b/src/sage/geometry/polyhedron/backend_cdd_rdf.py index 756e8df7b4a..3dc339a74f5 100644 --- a/src/sage/geometry/polyhedron/backend_cdd_rdf.py +++ b/src/sage/geometry/polyhedron/backend_cdd_rdf.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra # sage.doctest: optional - sage.rings.real_double r""" diff --git a/src/sage/geometry/polyhedron/backend_field.py b/src/sage/geometry/polyhedron/backend_field.py index 7026cca98b8..8c8c977124c 100644 --- a/src/sage/geometry/polyhedron/backend_field.py +++ b/src/sage/geometry/polyhedron/backend_field.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra """ The Python backend diff --git a/src/sage/geometry/polyhedron/backend_normaliz.py b/src/sage/geometry/polyhedron/backend_normaliz.py index 29b914531c4..f7e7b0ee782 100644 --- a/src/sage/geometry/polyhedron/backend_normaliz.py +++ b/src/sage/geometry/polyhedron/backend_normaliz.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra # sage.doctest: optional - pynormaliz """ The Normaliz backend for polyhedral computations diff --git a/src/sage/geometry/polyhedron/backend_number_field.py b/src/sage/geometry/polyhedron/backend_number_field.py index e79688bea5f..22834a0755f 100644 --- a/src/sage/geometry/polyhedron/backend_number_field.py +++ b/src/sage/geometry/polyhedron/backend_number_field.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra r""" The Python backend, using number fields internally """ diff --git a/src/sage/geometry/polyhedron/backend_polymake.py b/src/sage/geometry/polyhedron/backend_polymake.py index a2bce697e1c..ce75370f3ef 100644 --- a/src/sage/geometry/polyhedron/backend_polymake.py +++ b/src/sage/geometry/polyhedron/backend_polymake.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra """ The polymake backend for polyhedral computations diff --git a/src/sage/geometry/polyhedron/backend_ppl.py b/src/sage/geometry/polyhedron/backend_ppl.py index bb1a77e9f5d..106362e6031 100644 --- a/src/sage/geometry/polyhedron/backend_ppl.py +++ b/src/sage/geometry/polyhedron/backend_ppl.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra """ The PPL (Parma Polyhedra Library) backend for polyhedral computations """ diff --git a/src/sage/geometry/polyhedron/base.py b/src/sage/geometry/polyhedron/base.py index f9ce84be09d..1d032ee1df2 100644 --- a/src/sage/geometry/polyhedron/base.py +++ b/src/sage/geometry/polyhedron/base.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra r""" Base class for polyhedra: Miscellaneous methods """ diff --git a/src/sage/geometry/polyhedron/base0.py b/src/sage/geometry/polyhedron/base0.py index ea6a08837c5..2504976552f 100644 --- a/src/sage/geometry/polyhedron/base0.py +++ b/src/sage/geometry/polyhedron/base0.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra r""" Base class for polyhedra: Initialization and access to Vrepresentation and Hrepresentation """ diff --git a/src/sage/geometry/polyhedron/base1.py b/src/sage/geometry/polyhedron/base1.py index 507316f26a3..1e9d7a26bde 100644 --- a/src/sage/geometry/polyhedron/base1.py +++ b/src/sage/geometry/polyhedron/base1.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra r""" Base class for polyhedra: Implementation of the :class:`ConvexSet_base` API diff --git a/src/sage/geometry/polyhedron/base2.py b/src/sage/geometry/polyhedron/base2.py index 3b72b5088c7..ab1c8063a3b 100644 --- a/src/sage/geometry/polyhedron/base2.py +++ b/src/sage/geometry/polyhedron/base2.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra r""" Base class for polyhedra: Methods related to lattice points """ diff --git a/src/sage/geometry/polyhedron/base3.py b/src/sage/geometry/polyhedron/base3.py index d64cf38d26d..9bd0bf01ab1 100644 --- a/src/sage/geometry/polyhedron/base3.py +++ b/src/sage/geometry/polyhedron/base3.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra r""" Base class for polyhedra: Methods regarding the combinatorics of a polyhedron diff --git a/src/sage/geometry/polyhedron/base4.py b/src/sage/geometry/polyhedron/base4.py index bc31ab76102..9601d7df1ce 100644 --- a/src/sage/geometry/polyhedron/base4.py +++ b/src/sage/geometry/polyhedron/base4.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra # sage.doctest: needs sage.graphs r""" Base class for polyhedra: Graph-theoretic methods diff --git a/src/sage/geometry/polyhedron/base5.py b/src/sage/geometry/polyhedron/base5.py index a1e57a63b99..b36b7ebf6e3 100644 --- a/src/sage/geometry/polyhedron/base5.py +++ b/src/sage/geometry/polyhedron/base5.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra r""" Base class for polyhedra: Methods for constructing new polyhedra diff --git a/src/sage/geometry/polyhedron/base6.py b/src/sage/geometry/polyhedron/base6.py index aaa18f5b541..35341f122c2 100644 --- a/src/sage/geometry/polyhedron/base6.py +++ b/src/sage/geometry/polyhedron/base6.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra r""" Base class for polyhedra: Methods for plotting and affine hull projection """ diff --git a/src/sage/geometry/polyhedron/base7.py b/src/sage/geometry/polyhedron/base7.py index 55f9d23ea0b..bbe6737c843 100644 --- a/src/sage/geometry/polyhedron/base7.py +++ b/src/sage/geometry/polyhedron/base7.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra r""" Base class for polyhedra: Methods for triangulation and volume computation """ diff --git a/src/sage/geometry/polyhedron/base_QQ.py b/src/sage/geometry/polyhedron/base_QQ.py index ff0872b7dd7..426b73b359f 100644 --- a/src/sage/geometry/polyhedron/base_QQ.py +++ b/src/sage/geometry/polyhedron/base_QQ.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra r""" Base class for polyhedra over `\QQ` """ diff --git a/src/sage/geometry/polyhedron/base_RDF.py b/src/sage/geometry/polyhedron/base_RDF.py index b3ba587746e..4fbbf52750c 100644 --- a/src/sage/geometry/polyhedron/base_RDF.py +++ b/src/sage/geometry/polyhedron/base_RDF.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra # sage.doctest: optional - sage.rings.real_double """ diff --git a/src/sage/geometry/polyhedron/base_ZZ.py b/src/sage/geometry/polyhedron/base_ZZ.py index c450fbda0e0..7cc1432f0a5 100644 --- a/src/sage/geometry/polyhedron/base_ZZ.py +++ b/src/sage/geometry/polyhedron/base_ZZ.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra r""" Base class for polyhedra over `\ZZ` """ diff --git a/src/sage/geometry/polyhedron/base_mutable.py b/src/sage/geometry/polyhedron/base_mutable.py index 42e77a8fcf0..3b6842da210 100644 --- a/src/sage/geometry/polyhedron/base_mutable.py +++ b/src/sage/geometry/polyhedron/base_mutable.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra r""" Base class for mutable polyhedra. diff --git a/src/sage/geometry/polyhedron/base_number_field.py b/src/sage/geometry/polyhedron/base_number_field.py index ef912a5e501..148248f6e46 100644 --- a/src/sage/geometry/polyhedron/base_number_field.py +++ b/src/sage/geometry/polyhedron/base_number_field.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra r""" Support for internal use of number fields in backends for polyhedral computations """ diff --git a/src/sage/geometry/polyhedron/cdd_file_format.py b/src/sage/geometry/polyhedron/cdd_file_format.py index 728f20bb9b5..6934ebfd26c 100644 --- a/src/sage/geometry/polyhedron/cdd_file_format.py +++ b/src/sage/geometry/polyhedron/cdd_file_format.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra """ Generate cdd ``.ext`` / ``.ine`` file format """ diff --git a/src/sage/geometry/polyhedron/combinatorial_polyhedron/all.py b/src/sage/geometry/polyhedron/combinatorial_polyhedron/all.py index e69de29bb2d..ca4c26e905d 100644 --- a/src/sage/geometry/polyhedron/combinatorial_polyhedron/all.py +++ b/src/sage/geometry/polyhedron/combinatorial_polyhedron/all.py @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-polyhedra diff --git a/src/sage/geometry/polyhedron/combinatorial_polyhedron/base.pxd b/src/sage/geometry/polyhedron/combinatorial_polyhedron/base.pxd index a04a1186876..9418e743553 100644 --- a/src/sage/geometry/polyhedron/combinatorial_polyhedron/base.pxd +++ b/src/sage/geometry/polyhedron/combinatorial_polyhedron/base.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra cimport cython from sage.data_structures.list_of_pairs cimport ListOfPairs from sage.structure.sage_object cimport SageObject diff --git a/src/sage/geometry/polyhedron/combinatorial_polyhedron/base.pyx b/src/sage/geometry/polyhedron/combinatorial_polyhedron/base.pyx index 367049b9fc0..c4c4502bb8b 100644 --- a/src/sage/geometry/polyhedron/combinatorial_polyhedron/base.pyx +++ b/src/sage/geometry/polyhedron/combinatorial_polyhedron/base.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra r""" Combinatorial polyhedron diff --git a/src/sage/geometry/polyhedron/combinatorial_polyhedron/combinatorial_face.pxd b/src/sage/geometry/polyhedron/combinatorial_polyhedron/combinatorial_face.pxd index f39284ace68..71456157430 100644 --- a/src/sage/geometry/polyhedron/combinatorial_polyhedron/combinatorial_face.pxd +++ b/src/sage/geometry/polyhedron/combinatorial_polyhedron/combinatorial_face.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra cimport cython from sage.structure.sage_object cimport SageObject from sage.geometry.polyhedron.combinatorial_polyhedron.list_of_faces cimport ListOfFaces diff --git a/src/sage/geometry/polyhedron/combinatorial_polyhedron/combinatorial_face.pyx b/src/sage/geometry/polyhedron/combinatorial_polyhedron/combinatorial_face.pyx index fb780e29353..b701f6a25c4 100644 --- a/src/sage/geometry/polyhedron/combinatorial_polyhedron/combinatorial_face.pyx +++ b/src/sage/geometry/polyhedron/combinatorial_polyhedron/combinatorial_face.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra r""" Combinatorial face of a polyhedron diff --git a/src/sage/geometry/polyhedron/combinatorial_polyhedron/conversions.pxd b/src/sage/geometry/polyhedron/combinatorial_polyhedron/conversions.pxd index 2a0e950b469..9d876fa72f5 100644 --- a/src/sage/geometry/polyhedron/combinatorial_polyhedron/conversions.pxd +++ b/src/sage/geometry/polyhedron/combinatorial_polyhedron/conversions.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra from sage.geometry.polyhedron.combinatorial_polyhedron.face_list_data_structure cimport face_t diff --git a/src/sage/geometry/polyhedron/combinatorial_polyhedron/conversions.pyx b/src/sage/geometry/polyhedron/combinatorial_polyhedron/conversions.pyx index 951dd9e5420..f26e00cb65d 100644 --- a/src/sage/geometry/polyhedron/combinatorial_polyhedron/conversions.pyx +++ b/src/sage/geometry/polyhedron/combinatorial_polyhedron/conversions.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra r""" Conversions diff --git a/src/sage/geometry/polyhedron/combinatorial_polyhedron/face_data_structure.pxd b/src/sage/geometry/polyhedron/combinatorial_polyhedron/face_data_structure.pxd index 3ed71a664e1..ef347d8e9a9 100644 --- a/src/sage/geometry/polyhedron/combinatorial_polyhedron/face_data_structure.pxd +++ b/src/sage/geometry/polyhedron/combinatorial_polyhedron/face_data_structure.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra """ Cython data structure for combinatorial faces. """ diff --git a/src/sage/geometry/polyhedron/combinatorial_polyhedron/face_iterator.pxd b/src/sage/geometry/polyhedron/combinatorial_polyhedron/face_iterator.pxd index 3c015973dd1..b13c0cd7be0 100644 --- a/src/sage/geometry/polyhedron/combinatorial_polyhedron/face_iterator.pxd +++ b/src/sage/geometry/polyhedron/combinatorial_polyhedron/face_iterator.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra cimport cython from sage.structure.sage_object cimport SageObject from sage.geometry.polyhedron.combinatorial_polyhedron.list_of_faces cimport ListOfFaces diff --git a/src/sage/geometry/polyhedron/combinatorial_polyhedron/face_iterator.pyx b/src/sage/geometry/polyhedron/combinatorial_polyhedron/face_iterator.pyx index ca5634d31a7..1b2b8362864 100644 --- a/src/sage/geometry/polyhedron/combinatorial_polyhedron/face_iterator.pyx +++ b/src/sage/geometry/polyhedron/combinatorial_polyhedron/face_iterator.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra # distutils: extra_compile_args = OPENMP_CFLAGS # distutils: extra_link_args = OPENMP_CFLAGS r""" diff --git a/src/sage/geometry/polyhedron/combinatorial_polyhedron/face_list_data_structure.pxd b/src/sage/geometry/polyhedron/combinatorial_polyhedron/face_list_data_structure.pxd index 50bbd7c4026..4768c7809f2 100644 --- a/src/sage/geometry/polyhedron/combinatorial_polyhedron/face_list_data_structure.pxd +++ b/src/sage/geometry/polyhedron/combinatorial_polyhedron/face_list_data_structure.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra """ Inline cython methods for lists of faces. """ diff --git a/src/sage/geometry/polyhedron/combinatorial_polyhedron/face_list_data_structure.pyx b/src/sage/geometry/polyhedron/combinatorial_polyhedron/face_list_data_structure.pyx index 34adfb092dd..6b95606d751 100644 --- a/src/sage/geometry/polyhedron/combinatorial_polyhedron/face_list_data_structure.pyx +++ b/src/sage/geometry/polyhedron/combinatorial_polyhedron/face_list_data_structure.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra """ Sorting of a list of faces. """ diff --git a/src/sage/geometry/polyhedron/combinatorial_polyhedron/list_of_faces.pxd b/src/sage/geometry/polyhedron/combinatorial_polyhedron/list_of_faces.pxd index 62ba5b987cf..6f704dd760b 100644 --- a/src/sage/geometry/polyhedron/combinatorial_polyhedron/list_of_faces.pxd +++ b/src/sage/geometry/polyhedron/combinatorial_polyhedron/list_of_faces.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra cimport cython from sage.geometry.polyhedron.combinatorial_polyhedron.face_list_data_structure cimport face_list_t, face_t diff --git a/src/sage/geometry/polyhedron/combinatorial_polyhedron/list_of_faces.pyx b/src/sage/geometry/polyhedron/combinatorial_polyhedron/list_of_faces.pyx index 468347f5256..6a2b5960c32 100644 --- a/src/sage/geometry/polyhedron/combinatorial_polyhedron/list_of_faces.pyx +++ b/src/sage/geometry/polyhedron/combinatorial_polyhedron/list_of_faces.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra r""" List of faces diff --git a/src/sage/geometry/polyhedron/combinatorial_polyhedron/polyhedron_face_lattice.pxd b/src/sage/geometry/polyhedron/combinatorial_polyhedron/polyhedron_face_lattice.pxd index 824b832f238..72b4dd30889 100644 --- a/src/sage/geometry/polyhedron/combinatorial_polyhedron/polyhedron_face_lattice.pxd +++ b/src/sage/geometry/polyhedron/combinatorial_polyhedron/polyhedron_face_lattice.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra cimport cython from sage.geometry.polyhedron.combinatorial_polyhedron.list_of_faces cimport ListOfFaces from sage.geometry.polyhedron.combinatorial_polyhedron.face_data_structure cimport face_t diff --git a/src/sage/geometry/polyhedron/combinatorial_polyhedron/polyhedron_face_lattice.pyx b/src/sage/geometry/polyhedron/combinatorial_polyhedron/polyhedron_face_lattice.pyx index d0064795fa5..0e1f0df82bc 100644 --- a/src/sage/geometry/polyhedron/combinatorial_polyhedron/polyhedron_face_lattice.pyx +++ b/src/sage/geometry/polyhedron/combinatorial_polyhedron/polyhedron_face_lattice.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra r""" PolyhedronFaceLattice diff --git a/src/sage/geometry/polyhedron/constructor.py b/src/sage/geometry/polyhedron/constructor.py index ef95c2fb457..9b6e01a0367 100644 --- a/src/sage/geometry/polyhedron/constructor.py +++ b/src/sage/geometry/polyhedron/constructor.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra r""" Polyhedra diff --git a/src/sage/geometry/polyhedron/double_description.py b/src/sage/geometry/polyhedron/double_description.py index 089580e3146..08a18bfaa82 100644 --- a/src/sage/geometry/polyhedron/double_description.py +++ b/src/sage/geometry/polyhedron/double_description.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra r""" Double Description Algorithm for Cones diff --git a/src/sage/geometry/polyhedron/double_description_inhomogeneous.py b/src/sage/geometry/polyhedron/double_description_inhomogeneous.py index 9b7882a5bcd..28f4bbc6a17 100644 --- a/src/sage/geometry/polyhedron/double_description_inhomogeneous.py +++ b/src/sage/geometry/polyhedron/double_description_inhomogeneous.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra r""" Double Description for Arbitrary Polyhedra diff --git a/src/sage/geometry/polyhedron/face.py b/src/sage/geometry/polyhedron/face.py index 97319ed1740..bc67c1504c5 100644 --- a/src/sage/geometry/polyhedron/face.py +++ b/src/sage/geometry/polyhedron/face.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra """ A class to keep information about faces of a polyhedron diff --git a/src/sage/geometry/polyhedron/generating_function.py b/src/sage/geometry/polyhedron/generating_function.py index 7a33bd528b9..0d287fbe4d0 100644 --- a/src/sage/geometry/polyhedron/generating_function.py +++ b/src/sage/geometry/polyhedron/generating_function.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra # sage.doctest: optional - sage.combinat r""" Generating Function of Polyhedron's Integral Points diff --git a/src/sage/geometry/polyhedron/lattice_euclidean_group_element.py b/src/sage/geometry/polyhedron/lattice_euclidean_group_element.py index 79331133960..95a8fd63633 100644 --- a/src/sage/geometry/polyhedron/lattice_euclidean_group_element.py +++ b/src/sage/geometry/polyhedron/lattice_euclidean_group_element.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra """ Lattice Euclidean Group Elements diff --git a/src/sage/geometry/polyhedron/library.py b/src/sage/geometry/polyhedron/library.py index 81cf67b2d8b..da5e400f8c8 100644 --- a/src/sage/geometry/polyhedron/library.py +++ b/src/sage/geometry/polyhedron/library.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra r""" Library of commonly used, famous, or interesting polytopes diff --git a/src/sage/geometry/polyhedron/misc.py b/src/sage/geometry/polyhedron/misc.py index b47e51f79b8..28ed9250c5a 100644 --- a/src/sage/geometry/polyhedron/misc.py +++ b/src/sage/geometry/polyhedron/misc.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra r""" Miscellaneous helper functions """ diff --git a/src/sage/geometry/polyhedron/modules/all.py b/src/sage/geometry/polyhedron/modules/all.py index e69de29bb2d..ca4c26e905d 100644 --- a/src/sage/geometry/polyhedron/modules/all.py +++ b/src/sage/geometry/polyhedron/modules/all.py @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-polyhedra diff --git a/src/sage/geometry/polyhedron/modules/formal_polyhedra_module.py b/src/sage/geometry/polyhedron/modules/formal_polyhedra_module.py index 6255650b84f..d375d26ae7b 100644 --- a/src/sage/geometry/polyhedron/modules/formal_polyhedra_module.py +++ b/src/sage/geometry/polyhedron/modules/formal_polyhedra_module.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra r""" Formal modules generated by polyhedra """ diff --git a/src/sage/geometry/polyhedron/palp_database.py b/src/sage/geometry/polyhedron/palp_database.py index 60846d8df23..4534cb992ab 100644 --- a/src/sage/geometry/polyhedron/palp_database.py +++ b/src/sage/geometry/polyhedron/palp_database.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra # sage.doctest: optional - polytopes_db palp """ Access the PALP database(s) of reflexive lattice polytopes diff --git a/src/sage/geometry/polyhedron/parent.py b/src/sage/geometry/polyhedron/parent.py index 2d87ac6f202..dac8f2d438b 100644 --- a/src/sage/geometry/polyhedron/parent.py +++ b/src/sage/geometry/polyhedron/parent.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra r""" Parents for Polyhedra """ diff --git a/src/sage/geometry/polyhedron/plot.py b/src/sage/geometry/polyhedron/plot.py index 283d5163f81..46a024f3188 100644 --- a/src/sage/geometry/polyhedron/plot.py +++ b/src/sage/geometry/polyhedron/plot.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra """ Functions for plotting polyhedra """ diff --git a/src/sage/geometry/polyhedron/ppl_lattice_polygon.py b/src/sage/geometry/polyhedron/ppl_lattice_polygon.py index 933275357d8..95404238463 100644 --- a/src/sage/geometry/polyhedron/ppl_lattice_polygon.py +++ b/src/sage/geometry/polyhedron/ppl_lattice_polygon.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra """ Fast Lattice Polygons using PPL diff --git a/src/sage/geometry/polyhedron/ppl_lattice_polytope.py b/src/sage/geometry/polyhedron/ppl_lattice_polytope.py index 3cde1c6af81..837723aa173 100644 --- a/src/sage/geometry/polyhedron/ppl_lattice_polytope.py +++ b/src/sage/geometry/polyhedron/ppl_lattice_polytope.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra r""" Fast Lattice Polytopes using PPL. diff --git a/src/sage/geometry/polyhedron/representation.py b/src/sage/geometry/polyhedron/representation.py index ea803b2e558..de62ece29da 100644 --- a/src/sage/geometry/polyhedron/representation.py +++ b/src/sage/geometry/polyhedron/representation.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra """ H(yperplane) and V(ertex) representation objects for polyhedra """ diff --git a/src/sage/geometry/pseudolines.py b/src/sage/geometry/pseudolines.py index cc52979b577..034848ab63e 100644 --- a/src/sage/geometry/pseudolines.py +++ b/src/sage/geometry/pseudolines.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra r""" Pseudolines diff --git a/src/sage/geometry/relative_interior.py b/src/sage/geometry/relative_interior.py index 8f4a63a8a14..df303f0ac72 100644 --- a/src/sage/geometry/relative_interior.py +++ b/src/sage/geometry/relative_interior.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra r""" Relative Interiors of Polyhedra and Cones """ diff --git a/src/sage/geometry/ribbon_graph.py b/src/sage/geometry/ribbon_graph.py index 12918ae29b5..8e927bdedea 100644 --- a/src/sage/geometry/ribbon_graph.py +++ b/src/sage/geometry/ribbon_graph.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-gap r""" Ribbon Graphs diff --git a/src/sage/geometry/riemannian_manifolds/all.py b/src/sage/geometry/riemannian_manifolds/all.py index b375f473546..b379b366f24 100644 --- a/src/sage/geometry/riemannian_manifolds/all.py +++ b/src/sage/geometry/riemannian_manifolds/all.py @@ -1,5 +1,7 @@ +# sage_setup: distribution = sagemath-symbolics from sage.misc.lazy_import import lazy_import lazy_import('sage.geometry.riemannian_manifolds.parametrized_surface3d', 'ParametrizedSurface3D') lazy_import('sage.geometry.riemannian_manifolds.surface3d_generators', 'surfaces') +del lazy_import diff --git a/src/sage/geometry/riemannian_manifolds/parametrized_surface3d.py b/src/sage/geometry/riemannian_manifolds/parametrized_surface3d.py index 98362a2f70f..95eab06a3da 100644 --- a/src/sage/geometry/riemannian_manifolds/parametrized_surface3d.py +++ b/src/sage/geometry/riemannian_manifolds/parametrized_surface3d.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics """ Differential Geometry of Parametrized Surfaces diff --git a/src/sage/geometry/riemannian_manifolds/surface3d_generators.py b/src/sage/geometry/riemannian_manifolds/surface3d_generators.py index a75fdb0f2f2..576f420783d 100644 --- a/src/sage/geometry/riemannian_manifolds/surface3d_generators.py +++ b/src/sage/geometry/riemannian_manifolds/surface3d_generators.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Common parametrized surfaces in 3D. diff --git a/src/sage/geometry/toric_lattice.py b/src/sage/geometry/toric_lattice.py index 2759a2b1281..cbf20caeb58 100644 --- a/src/sage/geometry/toric_lattice.py +++ b/src/sage/geometry/toric_lattice.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Toric lattices diff --git a/src/sage/geometry/toric_lattice_element.pyx b/src/sage/geometry/toric_lattice_element.pyx index 8a2f87762eb..18cb15c212f 100644 --- a/src/sage/geometry/toric_lattice_element.pyx +++ b/src/sage/geometry/toric_lattice_element.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Toric lattice elements diff --git a/src/sage/geometry/toric_plotter.py b/src/sage/geometry/toric_plotter.py index 2943daa49bd..7a7f1976cc7 100644 --- a/src/sage/geometry/toric_plotter.py +++ b/src/sage/geometry/toric_plotter.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra r""" Toric plotter diff --git a/src/sage/geometry/triangulation/all.py b/src/sage/geometry/triangulation/all.py index d40e50321f8..9bbbc0f6270 100644 --- a/src/sage/geometry/triangulation/all.py +++ b/src/sage/geometry/triangulation/all.py @@ -1 +1,3 @@ -from .point_configuration import PointConfiguration +# sage_setup: distribution = sagemath-polyhedra + +from sage.geometry.triangulation.point_configuration import PointConfiguration diff --git a/src/sage/geometry/triangulation/base.pyx b/src/sage/geometry/triangulation/base.pyx index cb9cb948256..4331f0c24fd 100644 --- a/src/sage/geometry/triangulation/base.pyx +++ b/src/sage/geometry/triangulation/base.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra # distutils: sources = sage/geometry/triangulation/functions.cc sage/geometry/triangulation/data.cc sage/geometry/triangulation/triangulations.cc # distutils: depends = sage/geometry/triangulation/functions.h sage/geometry/triangulation/data.h sage/geometry/triangulation/triangulations.h # distutils: language = c++ diff --git a/src/sage/geometry/triangulation/data.pxd b/src/sage/geometry/triangulation/data.pxd index 1baf9381ef7..13bdc971669 100644 --- a/src/sage/geometry/triangulation/data.pxd +++ b/src/sage/geometry/triangulation/data.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra cdef extern from "data.h": cdef cppclass compact_simplices(): void push_back(int encoded_simplex) diff --git a/src/sage/geometry/triangulation/element.py b/src/sage/geometry/triangulation/element.py index e8c8d7e1a51..f40e555ae99 100644 --- a/src/sage/geometry/triangulation/element.py +++ b/src/sage/geometry/triangulation/element.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra """ A triangulation diff --git a/src/sage/geometry/triangulation/functions.pxd b/src/sage/geometry/triangulation/functions.pxd index fa981e5215b..875adc3fdba 100644 --- a/src/sage/geometry/triangulation/functions.pxd +++ b/src/sage/geometry/triangulation/functions.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra cdef extern from "functions.h": int factorial(int n) int binomial(int n, int D) diff --git a/src/sage/geometry/triangulation/point_configuration.py b/src/sage/geometry/triangulation/point_configuration.py index 89d486b1e4f..88f306b177c 100644 --- a/src/sage/geometry/triangulation/point_configuration.py +++ b/src/sage/geometry/triangulation/point_configuration.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra r""" Triangulations of a point configuration diff --git a/src/sage/geometry/triangulation/triangulations.pxd b/src/sage/geometry/triangulation/triangulations.pxd index 0111fb0dd5f..0caca05228c 100644 --- a/src/sage/geometry/triangulation/triangulations.pxd +++ b/src/sage/geometry/triangulation/triangulations.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra cdef extern from "triangulations.h": ctypedef void* triangulations_ptr cdef triangulations_ptr init_triangulations \ diff --git a/src/sage/geometry/voronoi_diagram.py b/src/sage/geometry/voronoi_diagram.py index 0cea1e91377..d2954a310fa 100644 --- a/src/sage/geometry/voronoi_diagram.py +++ b/src/sage/geometry/voronoi_diagram.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra r""" Voronoi diagram diff --git a/src/sage/graphs/all.py b/src/sage/graphs/all.py index 68529637000..4986f777404 100644 --- a/src/sage/graphs/all.py +++ b/src/sage/graphs/all.py @@ -1,17 +1,19 @@ +# sage_setup: distribution = sagemath-graphs from sage.misc.lazy_import import lazy_import lazy_import("sage.graphs.graph_generators", "graphs") lazy_import("sage.graphs.digraph_generators", "digraphs") lazy_import("sage.graphs.hypergraph_generators", "hypergraphs") -lazy_import("sage.graphs.graph_database", ["GraphDatabase", "GenericGraphQuery", "GraphQuery"]) -from .graph import Graph -from .digraph import DiGraph -from .bipartite_graph import BipartiteGraph +lazy_import("sage.graphs.graph_database", [ + "GraphDatabase", "GenericGraphQuery", "GraphQuery"]) +from sage.graphs.graph import Graph +from sage.graphs.digraph import DiGraph +from sage.graphs.bipartite_graph import BipartiteGraph import sage.graphs.weakly_chordal import sage.graphs.lovasz_theta import sage.graphs.partial_cube -from . import graph_list as graphs_list +from sage.graphs import graph_list as graphs_list lazy_import("sage.graphs", "graph_coloring") lazy_import("sage.graphs.graph_database", "graph_db_info") lazy_import("sage.graphs.graph_editor", "graph_editor") @@ -37,3 +39,4 @@ ... NameError: name 'clique_number' is not defined """ +del lazy_import diff --git a/src/sage/graphs/all__sagemath_bliss.py b/src/sage/graphs/all__sagemath_bliss.py index e69de29bb2d..00e01e7dfe7 100644 --- a/src/sage/graphs/all__sagemath_bliss.py +++ b/src/sage/graphs/all__sagemath_bliss.py @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-bliss diff --git a/src/sage/graphs/all__sagemath_flint.py b/src/sage/graphs/all__sagemath_flint.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/graphs/all__sagemath_mcqd.py b/src/sage/graphs/all__sagemath_mcqd.py index e69de29bb2d..9d46f0ff6ba 100644 --- a/src/sage/graphs/all__sagemath_mcqd.py +++ b/src/sage/graphs/all__sagemath_mcqd.py @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-mcqd diff --git a/src/sage/graphs/all__sagemath_tdlib.py b/src/sage/graphs/all__sagemath_tdlib.py index e69de29bb2d..e26612c8409 100644 --- a/src/sage/graphs/all__sagemath_tdlib.py +++ b/src/sage/graphs/all__sagemath_tdlib.py @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-tdlib diff --git a/src/sage/graphs/asteroidal_triples.pyx b/src/sage/graphs/asteroidal_triples.pyx index d2423c912e3..bf70c6dc4e1 100644 --- a/src/sage/graphs/asteroidal_triples.pyx +++ b/src/sage/graphs/asteroidal_triples.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # cython: binding=True r""" Asteroidal triples diff --git a/src/sage/graphs/base/all.py b/src/sage/graphs/base/all.py index e69de29bb2d..9d0d23c0337 100644 --- a/src/sage/graphs/base/all.py +++ b/src/sage/graphs/base/all.py @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-graphs diff --git a/src/sage/graphs/base/boost_graph.pxd b/src/sage/graphs/base/boost_graph.pxd index 7c7333a525b..c0b41e8b5cc 100644 --- a/src/sage/graphs/base/boost_graph.pxd +++ b/src/sage/graphs/base/boost_graph.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # distutils: language = c++ # distutils: extra_compile_args = -std=c++11 diff --git a/src/sage/graphs/base/boost_graph.pyx b/src/sage/graphs/base/boost_graph.pyx index b4474a96bd6..f69bcba3615 100644 --- a/src/sage/graphs/base/boost_graph.pyx +++ b/src/sage/graphs/base/boost_graph.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs r""" Interface to run Boost algorithms diff --git a/src/sage/graphs/base/c_graph.pxd b/src/sage/graphs/base/c_graph.pxd index 9cd670ccbc5..19710b4326d 100644 --- a/src/sage/graphs/base/c_graph.pxd +++ b/src/sage/graphs/base/c_graph.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs #************************************************************************** # Copyright (C) 2008-9 Robert L. Miller # diff --git a/src/sage/graphs/base/c_graph.pyx b/src/sage/graphs/base/c_graph.pyx index c8d68c4837f..c1ac19eab2b 100644 --- a/src/sage/graphs/base/c_graph.pyx +++ b/src/sage/graphs/base/c_graph.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # distutils: language = c++ r""" Fast compiled graphs diff --git a/src/sage/graphs/base/dense_graph.pxd b/src/sage/graphs/base/dense_graph.pxd index 82659713bd9..6fe1fa722e2 100644 --- a/src/sage/graphs/base/dense_graph.pxd +++ b/src/sage/graphs/base/dense_graph.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs #***************************************************************************** # Copyright (C) 2008-2009 Robert L. Miller # diff --git a/src/sage/graphs/base/dense_graph.pyx b/src/sage/graphs/base/dense_graph.pyx index eca8de6afed..3237a0cfbc6 100644 --- a/src/sage/graphs/base/dense_graph.pyx +++ b/src/sage/graphs/base/dense_graph.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs r""" Fast dense graphs diff --git a/src/sage/graphs/base/graph_backends.pxd b/src/sage/graphs/base/graph_backends.pxd index 063e70e575e..ad412643bab 100644 --- a/src/sage/graphs/base/graph_backends.pxd +++ b/src/sage/graphs/base/graph_backends.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs from sage.structure.sage_object cimport SageObject cdef class GenericGraphBackend(SageObject): diff --git a/src/sage/graphs/base/graph_backends.pyx b/src/sage/graphs/base/graph_backends.pyx index 77961c33cf6..dff96353d59 100644 --- a/src/sage/graphs/base/graph_backends.pyx +++ b/src/sage/graphs/base/graph_backends.pyx @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-graphs r""" Backends for Sage (di)graphs diff --git a/src/sage/graphs/base/overview.py b/src/sage/graphs/base/overview.py index e349d84b828..a1c781f1afc 100644 --- a/src/sage/graphs/base/overview.py +++ b/src/sage/graphs/base/overview.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs r""" Overview of (di)graph data structures diff --git a/src/sage/graphs/base/sparse_graph.pxd b/src/sage/graphs/base/sparse_graph.pxd index 540a8827801..78633ff96ce 100644 --- a/src/sage/graphs/base/sparse_graph.pxd +++ b/src/sage/graphs/base/sparse_graph.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # **************************************************************************** # Copyright (C) 2008-2009 Robert L. Miller # diff --git a/src/sage/graphs/base/sparse_graph.pyx b/src/sage/graphs/base/sparse_graph.pyx index 8672940c404..c0ddfa11f1f 100644 --- a/src/sage/graphs/base/sparse_graph.pyx +++ b/src/sage/graphs/base/sparse_graph.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs r""" Fast sparse graphs diff --git a/src/sage/graphs/base/static_dense_graph.pxd b/src/sage/graphs/base/static_dense_graph.pxd index 0e580a02b57..4f513679c41 100644 --- a/src/sage/graphs/base/static_dense_graph.pxd +++ b/src/sage/graphs/base/static_dense_graph.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs from sage.data_structures.binary_matrix cimport binary_matrix_t from libc.stdint cimport uint32_t, uint64_t diff --git a/src/sage/graphs/base/static_dense_graph.pyx b/src/sage/graphs/base/static_dense_graph.pyx index b23eab66a3b..eb8fda3c547 100644 --- a/src/sage/graphs/base/static_dense_graph.pyx +++ b/src/sage/graphs/base/static_dense_graph.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # cython: binding=True r""" Static dense graphs diff --git a/src/sage/graphs/base/static_sparse_backend.pxd b/src/sage/graphs/base/static_sparse_backend.pxd index 31f3b172a94..5e1a48a4f75 100644 --- a/src/sage/graphs/base/static_sparse_backend.pxd +++ b/src/sage/graphs/base/static_sparse_backend.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs from libc.stdint cimport uint64_t, uint32_t, INT32_MAX, UINT32_MAX from sage.data_structures.bitset cimport * diff --git a/src/sage/graphs/base/static_sparse_backend.pyx b/src/sage/graphs/base/static_sparse_backend.pyx index 1dc517a957a..2432cf7d5dd 100644 --- a/src/sage/graphs/base/static_sparse_backend.pyx +++ b/src/sage/graphs/base/static_sparse_backend.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs r""" Static sparse graph backend diff --git a/src/sage/graphs/base/static_sparse_graph.pxd b/src/sage/graphs/base/static_sparse_graph.pxd index bece6946be3..dd77fe1b3f0 100644 --- a/src/sage/graphs/base/static_sparse_graph.pxd +++ b/src/sage/graphs/base/static_sparse_graph.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs from cpython.object cimport PyObject from libc.stdint cimport uint32_t, uint64_t, UINT32_MAX from sage.data_structures.bitset cimport * diff --git a/src/sage/graphs/base/static_sparse_graph.pyx b/src/sage/graphs/base/static_sparse_graph.pyx index 4c68f4043d3..cffc224dd07 100644 --- a/src/sage/graphs/base/static_sparse_graph.pyx +++ b/src/sage/graphs/base/static_sparse_graph.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # cython: binding=True # distutils: language = c++ r""" diff --git a/src/sage/graphs/bipartite_graph.py b/src/sage/graphs/bipartite_graph.py index 6d8e909fa57..dbff11deafd 100644 --- a/src/sage/graphs/bipartite_graph.py +++ b/src/sage/graphs/bipartite_graph.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # autopep8: off r""" Bipartite graphs diff --git a/src/sage/graphs/centrality.pyx b/src/sage/graphs/centrality.pyx index d73c7571d18..3e6dcf681c4 100755 --- a/src/sage/graphs/centrality.pyx +++ b/src/sage/graphs/centrality.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs r""" Centrality diff --git a/src/sage/graphs/chrompoly.pyx b/src/sage/graphs/chrompoly.pyx index 920a2b0eee0..2dbec41de2a 100644 --- a/src/sage/graphs/chrompoly.pyx +++ b/src/sage/graphs/chrompoly.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint # cython: binding=True # sage.doctest: needs sage.libs.flint sage.graphs """ diff --git a/src/sage/graphs/cliquer.pxd b/src/sage/graphs/cliquer.pxd index df1576b164e..05f6ad93ab0 100644 --- a/src/sage/graphs/cliquer.pxd +++ b/src/sage/graphs/cliquer.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # distutils: libraries = cliquer cdef extern from "cliquer/graph.h": diff --git a/src/sage/graphs/cliquer.pyx b/src/sage/graphs/cliquer.pyx index 62ce4816ccd..f1f18fd992a 100644 --- a/src/sage/graphs/cliquer.pyx +++ b/src/sage/graphs/cliquer.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # cython: binding=True r""" Interface with Cliquer (clique-related problems) diff --git a/src/sage/graphs/comparability.pyx b/src/sage/graphs/comparability.pyx index b10ce489268..d30fa021066 100644 --- a/src/sage/graphs/comparability.pyx +++ b/src/sage/graphs/comparability.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # cython: binding=True r""" Comparability and permutation graphs diff --git a/src/sage/graphs/connectivity.pxd b/src/sage/graphs/connectivity.pxd index f529d2ebdea..ba23b20f2ba 100644 --- a/src/sage/graphs/connectivity.pxd +++ b/src/sage/graphs/connectivity.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs from memory_allocator cimport MemoryAllocator from sage.graphs.generic_graph_pyx cimport GenericGraph_pyx diff --git a/src/sage/graphs/connectivity.pyx b/src/sage/graphs/connectivity.pyx index ee387ab352b..3d9e1a1eda5 100644 --- a/src/sage/graphs/connectivity.pyx +++ b/src/sage/graphs/connectivity.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # cython: binding=True r""" Connectivity related functions diff --git a/src/sage/graphs/convexity_properties.pxd b/src/sage/graphs/convexity_properties.pxd index f6c1b68b6b8..7f9fc85c3c1 100644 --- a/src/sage/graphs/convexity_properties.pxd +++ b/src/sage/graphs/convexity_properties.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs from sage.data_structures.bitset cimport bitset_t from sage.data_structures.binary_matrix cimport binary_matrix_t diff --git a/src/sage/graphs/convexity_properties.pyx b/src/sage/graphs/convexity_properties.pyx index 60c7941147d..aa107fb4dee 100644 --- a/src/sage/graphs/convexity_properties.pyx +++ b/src/sage/graphs/convexity_properties.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # cython: binding=True r""" Convexity properties of graphs diff --git a/src/sage/graphs/digraph.py b/src/sage/graphs/digraph.py index e59b62bff9e..dcfd111c3cb 100644 --- a/src/sage/graphs/digraph.py +++ b/src/sage/graphs/digraph.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs r""" Directed graphs diff --git a/src/sage/graphs/digraph_generators.py b/src/sage/graphs/digraph_generators.py index a5804ab9c8e..073bb5a8dfc 100644 --- a/src/sage/graphs/digraph_generators.py +++ b/src/sage/graphs/digraph_generators.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs r""" Common digraphs diff --git a/src/sage/graphs/distances_all_pairs.pxd b/src/sage/graphs/distances_all_pairs.pxd index d87a001d143..3b6287215a0 100644 --- a/src/sage/graphs/distances_all_pairs.pxd +++ b/src/sage/graphs/distances_all_pairs.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs from libc.stdint cimport uint32_t cdef unsigned short * c_shortest_path_all_pairs(G, vertex_list=*) except NULL diff --git a/src/sage/graphs/distances_all_pairs.pyx b/src/sage/graphs/distances_all_pairs.pyx index 3eb15129d19..eae58b0319e 100644 --- a/src/sage/graphs/distances_all_pairs.pyx +++ b/src/sage/graphs/distances_all_pairs.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # cython: binding=True r""" Distances/shortest paths between all pairs of vertices diff --git a/src/sage/graphs/domination.py b/src/sage/graphs/domination.py index 6b119afed25..7a651fb9bce 100644 --- a/src/sage/graphs/domination.py +++ b/src/sage/graphs/domination.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs r""" Domination diff --git a/src/sage/graphs/dot2tex_utils.py b/src/sage/graphs/dot2tex_utils.py index f8eb55485ac..4c653e06598 100644 --- a/src/sage/graphs/dot2tex_utils.py +++ b/src/sage/graphs/dot2tex_utils.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs r""" This file contains some utility functions for the interface with dot2tex """ diff --git a/src/sage/graphs/edge_connectivity.pyx b/src/sage/graphs/edge_connectivity.pyx index aef8e43d98e..8e9a088eb6c 100644 --- a/src/sage/graphs/edge_connectivity.pyx +++ b/src/sage/graphs/edge_connectivity.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # cython: binding=True # distutils: language = c++ r""" diff --git a/src/sage/graphs/generators/all.py b/src/sage/graphs/generators/all.py index e69de29bb2d..9d0d23c0337 100644 --- a/src/sage/graphs/generators/all.py +++ b/src/sage/graphs/generators/all.py @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-graphs diff --git a/src/sage/graphs/generators/basic.py b/src/sage/graphs/generators/basic.py index 216ac0b4e39..405eeab95a1 100644 --- a/src/sage/graphs/generators/basic.py +++ b/src/sage/graphs/generators/basic.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs r""" Basic graphs diff --git a/src/sage/graphs/generators/chessboard.py b/src/sage/graphs/generators/chessboard.py index a76d6f98de7..79f08fe6492 100644 --- a/src/sage/graphs/generators/chessboard.py +++ b/src/sage/graphs/generators/chessboard.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs r""" Chessboard graphs diff --git a/src/sage/graphs/generators/classical_geometries.py b/src/sage/graphs/generators/classical_geometries.py index e27f7e11b6d..5b465cd3bb1 100644 --- a/src/sage/graphs/generators/classical_geometries.py +++ b/src/sage/graphs/generators/classical_geometries.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # sage.doctest: optional - sage.modules r""" Families of graphs derived from classical geometries over finite fields diff --git a/src/sage/graphs/generators/degree_sequence.py b/src/sage/graphs/generators/degree_sequence.py index 5250bd9cb1a..ab226e3eaf8 100644 --- a/src/sage/graphs/generators/degree_sequence.py +++ b/src/sage/graphs/generators/degree_sequence.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs r""" Graphs with a given degree sequence diff --git a/src/sage/graphs/generators/distance_regular.pyx b/src/sage/graphs/generators/distance_regular.pyx index f05e4d714f7..442f88883f6 100644 --- a/src/sage/graphs/generators/distance_regular.pyx +++ b/src/sage/graphs/generators/distance_regular.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs r""" Database of distance regular graphs diff --git a/src/sage/graphs/generators/families.py b/src/sage/graphs/generators/families.py index 0d039d8db05..8e97803ea37 100644 --- a/src/sage/graphs/generators/families.py +++ b/src/sage/graphs/generators/families.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs r""" Various families of graphs diff --git a/src/sage/graphs/generators/intersection.py b/src/sage/graphs/generators/intersection.py index 0434806fb73..ff948504a82 100644 --- a/src/sage/graphs/generators/intersection.py +++ b/src/sage/graphs/generators/intersection.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs r""" Intersection graphs diff --git a/src/sage/graphs/generators/platonic_solids.py b/src/sage/graphs/generators/platonic_solids.py index 5a572611539..db52f5a9ae8 100644 --- a/src/sage/graphs/generators/platonic_solids.py +++ b/src/sage/graphs/generators/platonic_solids.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs r""" 1-skeletons of Platonic solids diff --git a/src/sage/graphs/generators/random.py b/src/sage/graphs/generators/random.py index 9459124a0fe..8bf3614ecda 100644 --- a/src/sage/graphs/generators/random.py +++ b/src/sage/graphs/generators/random.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs r""" Random graphs diff --git a/src/sage/graphs/generators/smallgraphs.py b/src/sage/graphs/generators/smallgraphs.py index f1eaa816d6c..d19f712c904 100644 --- a/src/sage/graphs/generators/smallgraphs.py +++ b/src/sage/graphs/generators/smallgraphs.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs r""" Various small graphs diff --git a/src/sage/graphs/generators/world_map.py b/src/sage/graphs/generators/world_map.py index 588689d516c..f3c53f2219b 100644 --- a/src/sage/graphs/generators/world_map.py +++ b/src/sage/graphs/generators/world_map.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs r""" Graphs from the World Map diff --git a/src/sage/graphs/generic_graph.py b/src/sage/graphs/generic_graph.py index 4d147efcd2f..f9cf7f8961a 100644 --- a/src/sage/graphs/generic_graph.py +++ b/src/sage/graphs/generic_graph.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs r""" Generic graphs (common to directed/undirected) diff --git a/src/sage/graphs/generic_graph_pyx.pxd b/src/sage/graphs/generic_graph_pyx.pxd index a09c1d69333..317832d3b7a 100644 --- a/src/sage/graphs/generic_graph_pyx.pxd +++ b/src/sage/graphs/generic_graph_pyx.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs from sage.structure.sage_object cimport SageObject from sage.graphs.base.dense_graph cimport DenseGraph from memory_allocator cimport MemoryAllocator diff --git a/src/sage/graphs/generic_graph_pyx.pyx b/src/sage/graphs/generic_graph_pyx.pyx index 74a6f13c1c6..f67f51df11b 100644 --- a/src/sage/graphs/generic_graph_pyx.pyx +++ b/src/sage/graphs/generic_graph_pyx.pyx @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-graphs """ GenericGraph Cython functions diff --git a/src/sage/graphs/genus.pyx b/src/sage/graphs/genus.pyx index dae6f71308f..24d9ba36d0e 100644 --- a/src/sage/graphs/genus.pyx +++ b/src/sage/graphs/genus.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs """ Genus diff --git a/src/sage/graphs/graph.py b/src/sage/graphs/graph.py index d4f2e18a555..862d94354a4 100644 --- a/src/sage/graphs/graph.py +++ b/src/sage/graphs/graph.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs r""" Undirected graphs diff --git a/src/sage/graphs/graph_coloring.pyx b/src/sage/graphs/graph_coloring.pyx index e4b6dd9873e..900aede0ece 100644 --- a/src/sage/graphs/graph_coloring.pyx +++ b/src/sage/graphs/graph_coloring.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # cython: binding=True # distutils: language = c++ diff --git a/src/sage/graphs/graph_database.py b/src/sage/graphs/graph_database.py index 653201c3d10..f6f1dfc99f6 100644 --- a/src/sage/graphs/graph_database.py +++ b/src/sage/graphs/graph_database.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs """ Graph database diff --git a/src/sage/graphs/graph_decompositions/all.py b/src/sage/graphs/graph_decompositions/all.py index e69de29bb2d..9d0d23c0337 100644 --- a/src/sage/graphs/graph_decompositions/all.py +++ b/src/sage/graphs/graph_decompositions/all.py @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-graphs diff --git a/src/sage/graphs/graph_decompositions/all__sagemath_tdlib.py b/src/sage/graphs/graph_decompositions/all__sagemath_tdlib.py index e69de29bb2d..e26612c8409 100644 --- a/src/sage/graphs/graph_decompositions/all__sagemath_tdlib.py +++ b/src/sage/graphs/graph_decompositions/all__sagemath_tdlib.py @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-tdlib diff --git a/src/sage/graphs/graph_decompositions/bandwidth.pyx b/src/sage/graphs/graph_decompositions/bandwidth.pyx index 61bacd2daf5..659c9eefdb2 100644 --- a/src/sage/graphs/graph_decompositions/bandwidth.pyx +++ b/src/sage/graphs/graph_decompositions/bandwidth.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # cython: binding=True r""" Bandwidth of undirected graphs diff --git a/src/sage/graphs/graph_decompositions/clique_separators.pyx b/src/sage/graphs/graph_decompositions/clique_separators.pyx index 0989a5a9dae..e6d60adc6ac 100644 --- a/src/sage/graphs/graph_decompositions/clique_separators.pyx +++ b/src/sage/graphs/graph_decompositions/clique_separators.pyx @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-graphs # cython: binding=True # distutils: language = c++ r""" diff --git a/src/sage/graphs/graph_decompositions/cutwidth.pyx b/src/sage/graphs/graph_decompositions/cutwidth.pyx index 8aa99a242c9..f2fc9ee9951 100644 --- a/src/sage/graphs/graph_decompositions/cutwidth.pyx +++ b/src/sage/graphs/graph_decompositions/cutwidth.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # cython: binding=True r""" Cutwidth diff --git a/src/sage/graphs/graph_decompositions/fast_digraph.pxd b/src/sage/graphs/graph_decompositions/fast_digraph.pxd index 2687f8f974d..b2b2f44b989 100644 --- a/src/sage/graphs/graph_decompositions/fast_digraph.pxd +++ b/src/sage/graphs/graph_decompositions/fast_digraph.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs from libc.stdint cimport uint8_t cdef class FastDigraph: diff --git a/src/sage/graphs/graph_decompositions/fast_digraph.pyx b/src/sage/graphs/graph_decompositions/fast_digraph.pyx index 2d28ccf4d05..5e0924e06ff 100644 --- a/src/sage/graphs/graph_decompositions/fast_digraph.pyx +++ b/src/sage/graphs/graph_decompositions/fast_digraph.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs r""" Compact structure for fast operations on less than 32 vertices diff --git a/src/sage/graphs/graph_decompositions/graph_products.pyx b/src/sage/graphs/graph_decompositions/graph_products.pyx index 98bfb6ec0f5..df053ac937a 100644 --- a/src/sage/graphs/graph_decompositions/graph_products.pyx +++ b/src/sage/graphs/graph_decompositions/graph_products.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # cython: binding=True r""" Products of graphs diff --git a/src/sage/graphs/graph_decompositions/modular_decomposition.py b/src/sage/graphs/graph_decompositions/modular_decomposition.py index 6b1e825ba2e..d62c28c7922 100644 --- a/src/sage/graphs/graph_decompositions/modular_decomposition.py +++ b/src/sage/graphs/graph_decompositions/modular_decomposition.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs r""" Modular Decomposition diff --git a/src/sage/graphs/graph_decompositions/rankwidth.pxd b/src/sage/graphs/graph_decompositions/rankwidth.pxd index a23faceac4f..a970d155391 100644 --- a/src/sage/graphs/graph_decompositions/rankwidth.pxd +++ b/src/sage/graphs/graph_decompositions/rankwidth.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs cdef extern from "rw.h": ctypedef int uint_fast8_t ctypedef int uint_fast32_t diff --git a/src/sage/graphs/graph_decompositions/rankwidth.pyx b/src/sage/graphs/graph_decompositions/rankwidth.pyx index d817cf04a5d..438b0a9e1b2 100644 --- a/src/sage/graphs/graph_decompositions/rankwidth.pyx +++ b/src/sage/graphs/graph_decompositions/rankwidth.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # cython: binding=True # distutils: libraries = rw r""" diff --git a/src/sage/graphs/graph_decompositions/tree_decomposition.pxd b/src/sage/graphs/graph_decompositions/tree_decomposition.pxd index 2de876e8889..ace3fd5a327 100644 --- a/src/sage/graphs/graph_decompositions/tree_decomposition.pxd +++ b/src/sage/graphs/graph_decompositions/tree_decomposition.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs from sage.graphs.generic_graph_pyx cimport GenericGraph_pyx cdef class TreelengthConnected: diff --git a/src/sage/graphs/graph_decompositions/tree_decomposition.pyx b/src/sage/graphs/graph_decompositions/tree_decomposition.pyx index 0fb9f87c6ee..64bf05b0889 100644 --- a/src/sage/graphs/graph_decompositions/tree_decomposition.pyx +++ b/src/sage/graphs/graph_decompositions/tree_decomposition.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # cython: binding=True r""" Tree decompositions diff --git a/src/sage/graphs/graph_decompositions/vertex_separation.pxd b/src/sage/graphs/graph_decompositions/vertex_separation.pxd index fa757b2c28e..94a46c33c26 100644 --- a/src/sage/graphs/graph_decompositions/vertex_separation.pxd +++ b/src/sage/graphs/graph_decompositions/vertex_separation.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs from libc.stdint cimport uint8_t from sage.graphs.graph_decompositions.fast_digraph cimport FastDigraph diff --git a/src/sage/graphs/graph_decompositions/vertex_separation.pyx b/src/sage/graphs/graph_decompositions/vertex_separation.pyx index 2d49f4bdb29..bc1f8c8dade 100644 --- a/src/sage/graphs/graph_decompositions/vertex_separation.pyx +++ b/src/sage/graphs/graph_decompositions/vertex_separation.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # cython: binding=True r""" Vertex separation diff --git a/src/sage/graphs/graph_editor.py b/src/sage/graphs/graph_editor.py index fc1fc72ccc8..e09368db17a 100644 --- a/src/sage/graphs/graph_editor.py +++ b/src/sage/graphs/graph_editor.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs r""" Graph editor widget diff --git a/src/sage/graphs/graph_generators.py b/src/sage/graphs/graph_generators.py index 5a09c617ba2..6708600eb31 100644 --- a/src/sage/graphs/graph_generators.py +++ b/src/sage/graphs/graph_generators.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs r""" Common graphs diff --git a/src/sage/graphs/graph_generators_pyx.pyx b/src/sage/graphs/graph_generators_pyx.pyx index 033e8b22adc..1817e99c497 100644 --- a/src/sage/graphs/graph_generators_pyx.pyx +++ b/src/sage/graphs/graph_generators_pyx.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs r""" Common graphs and digraphs generators (Cython) diff --git a/src/sage/graphs/graph_input.py b/src/sage/graphs/graph_input.py index 52941853359..1da45c63e35 100644 --- a/src/sage/graphs/graph_input.py +++ b/src/sage/graphs/graph_input.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs r""" Functions for reading/building graphs/digraphs diff --git a/src/sage/graphs/graph_latex.py b/src/sage/graphs/graph_latex.py index 42cc1b369ab..9c18c959a29 100644 --- a/src/sage/graphs/graph_latex.py +++ b/src/sage/graphs/graph_latex.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # sage.doctest: needs sage.plot r""" LaTeX options for graphs diff --git a/src/sage/graphs/graph_list.py b/src/sage/graphs/graph_list.py index 6994a821948..d6bfcfd1369 100644 --- a/src/sage/graphs/graph_list.py +++ b/src/sage/graphs/graph_list.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs r""" Lists of graphs diff --git a/src/sage/graphs/graph_plot.py b/src/sage/graphs/graph_plot.py index 6e36a195197..8794587bab6 100644 --- a/src/sage/graphs/graph_plot.py +++ b/src/sage/graphs/graph_plot.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # sage.doctest: optional - sage.plot r""" Graph plotting diff --git a/src/sage/graphs/graph_plot_js.py b/src/sage/graphs/graph_plot_js.py index cd9c635c736..95440d5560b 100644 --- a/src/sage/graphs/graph_plot_js.py +++ b/src/sage/graphs/graph_plot_js.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # sage.doctest: needs sage.plot r""" Graph plotting in Javascript with d3.js diff --git a/src/sage/graphs/hyperbolicity.pyx b/src/sage/graphs/hyperbolicity.pyx index 78b3205b6fd..6cc36695efd 100644 --- a/src/sage/graphs/hyperbolicity.pyx +++ b/src/sage/graphs/hyperbolicity.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # cython: binding=True r""" Hyperbolicity diff --git a/src/sage/graphs/hypergraph_generators.py b/src/sage/graphs/hypergraph_generators.py index f5218e225f1..5141c02e968 100644 --- a/src/sage/graphs/hypergraph_generators.py +++ b/src/sage/graphs/hypergraph_generators.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs r""" Hypergraph generators diff --git a/src/sage/graphs/independent_sets.pxd b/src/sage/graphs/independent_sets.pxd index 91f65b64ff7..7089adec2ae 100644 --- a/src/sage/graphs/independent_sets.pxd +++ b/src/sage/graphs/independent_sets.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs from libc.stdint cimport uint32_t, uint64_t from sage.data_structures.binary_matrix cimport * diff --git a/src/sage/graphs/independent_sets.pyx b/src/sage/graphs/independent_sets.pyx index 3064ccbc86f..22303abefd5 100644 --- a/src/sage/graphs/independent_sets.pyx +++ b/src/sage/graphs/independent_sets.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs r""" Independent sets diff --git a/src/sage/graphs/isgci.py b/src/sage/graphs/isgci.py index 2315ea4679d..a573bce2fd7 100644 --- a/src/sage/graphs/isgci.py +++ b/src/sage/graphs/isgci.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs r""" ISGCI: Information System on Graph Classes and their Inclusions diff --git a/src/sage/graphs/isoperimetric_inequalities.pyx b/src/sage/graphs/isoperimetric_inequalities.pyx index 1d01e311c1c..0b17d17f59f 100644 --- a/src/sage/graphs/isoperimetric_inequalities.pyx +++ b/src/sage/graphs/isoperimetric_inequalities.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # cython: binding = True r""" Isoperimetric inequalities diff --git a/src/sage/graphs/line_graph.pyx b/src/sage/graphs/line_graph.pyx index 796e15d44ab..e17bcdb767e 100644 --- a/src/sage/graphs/line_graph.pyx +++ b/src/sage/graphs/line_graph.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # cython: binding=True r""" Line graphs diff --git a/src/sage/graphs/lovasz_theta.py b/src/sage/graphs/lovasz_theta.py index 5335a597ebf..8ebd37e2372 100644 --- a/src/sage/graphs/lovasz_theta.py +++ b/src/sage/graphs/lovasz_theta.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs r""" Lovász theta-function of graphs diff --git a/src/sage/graphs/matchpoly.pyx b/src/sage/graphs/matchpoly.pyx index 03b15c066d1..f04c258e8a2 100644 --- a/src/sage/graphs/matchpoly.pyx +++ b/src/sage/graphs/matchpoly.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint # cython: binding=True # sage.doctest: needs sage.libs.flint sage.graphs """ diff --git a/src/sage/graphs/orientations.py b/src/sage/graphs/orientations.py index 1ecb283ba2a..2658c416470 100644 --- a/src/sage/graphs/orientations.py +++ b/src/sage/graphs/orientations.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs r""" Orientations diff --git a/src/sage/graphs/partial_cube.py b/src/sage/graphs/partial_cube.py index 79b1edc957c..5f181f557d0 100644 --- a/src/sage/graphs/partial_cube.py +++ b/src/sage/graphs/partial_cube.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs r""" Partial cubes diff --git a/src/sage/graphs/path_enumeration.pyx b/src/sage/graphs/path_enumeration.pyx index 78832f89134..4ca9a5d21f8 100644 --- a/src/sage/graphs/path_enumeration.pyx +++ b/src/sage/graphs/path_enumeration.pyx @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-graphs # cython: binding=True # distutils: language = c++ r""" diff --git a/src/sage/graphs/planarity.pyx b/src/sage/graphs/planarity.pyx index 987669d97fe..351238ffacd 100644 --- a/src/sage/graphs/planarity.pyx +++ b/src/sage/graphs/planarity.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # distutils: libraries = planarity """ Wrapper for Boyer's (C) planarity algorithm diff --git a/src/sage/graphs/pq_trees.py b/src/sage/graphs/pq_trees.py index 66f0c9aaf67..3530bf7a0d7 100644 --- a/src/sage/graphs/pq_trees.py +++ b/src/sage/graphs/pq_trees.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs r""" PQ-Trees diff --git a/src/sage/graphs/print_graphs.py b/src/sage/graphs/print_graphs.py index e89610d0424..e0248c86806 100644 --- a/src/sage/graphs/print_graphs.py +++ b/src/sage/graphs/print_graphs.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs """ Print graph diff --git a/src/sage/graphs/schnyder.py b/src/sage/graphs/schnyder.py index b22ab6d3302..4371f22ceae 100644 --- a/src/sage/graphs/schnyder.py +++ b/src/sage/graphs/schnyder.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs """ Schnyder's algorithm for straight-line planar embeddings diff --git a/src/sage/graphs/spanning_tree.pyx b/src/sage/graphs/spanning_tree.pyx index ccddfa7f5b4..84088d585d0 100644 --- a/src/sage/graphs/spanning_tree.pyx +++ b/src/sage/graphs/spanning_tree.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # cython: binding=True r""" Spanning trees diff --git a/src/sage/graphs/strongly_regular_db.pyx b/src/sage/graphs/strongly_regular_db.pyx index 27cfd3da535..267ee25170e 100644 --- a/src/sage/graphs/strongly_regular_db.pyx +++ b/src/sage/graphs/strongly_regular_db.pyx @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-graphs r""" Database of strongly regular graphs diff --git a/src/sage/graphs/traversals.pxd b/src/sage/graphs/traversals.pxd index a81c72dcd9d..f937451fc7e 100644 --- a/src/sage/graphs/traversals.pxd +++ b/src/sage/graphs/traversals.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs from sage.graphs.base.static_sparse_graph cimport short_digraph cdef maximum_cardinality_search_M_short_digraph(short_digraph sd, diff --git a/src/sage/graphs/traversals.pyx b/src/sage/graphs/traversals.pyx index d7dfad47a30..06bf346271d 100644 --- a/src/sage/graphs/traversals.pyx +++ b/src/sage/graphs/traversals.pyx @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-graphs # cython: binding=True # distutils: language = c++ r""" diff --git a/src/sage/graphs/trees.pxd b/src/sage/graphs/trees.pxd index f2c81ab49a7..953d29c1f7e 100644 --- a/src/sage/graphs/trees.pxd +++ b/src/sage/graphs/trees.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs cdef class TreeIterator: cdef int vertices diff --git a/src/sage/graphs/trees.pyx b/src/sage/graphs/trees.pyx index 2fd64e9ef43..6e87c647667 100644 --- a/src/sage/graphs/trees.pyx +++ b/src/sage/graphs/trees.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs r""" Generation of trees diff --git a/src/sage/graphs/tutte_polynomial.py b/src/sage/graphs/tutte_polynomial.py index 6206b963b50..58012201b26 100644 --- a/src/sage/graphs/tutte_polynomial.py +++ b/src/sage/graphs/tutte_polynomial.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs r""" Tutte polynomial diff --git a/src/sage/graphs/views.pyx b/src/sage/graphs/views.pyx index d8eb1b3eae6..19660e48fd1 100644 --- a/src/sage/graphs/views.pyx +++ b/src/sage/graphs/views.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs r""" View classes diff --git a/src/sage/graphs/weakly_chordal.pyx b/src/sage/graphs/weakly_chordal.pyx index ea82042f996..f337d0d3281 100644 --- a/src/sage/graphs/weakly_chordal.pyx +++ b/src/sage/graphs/weakly_chordal.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # cython: binding=True r""" Weakly chordal graphs diff --git a/src/sage/groups/abelian_gps/abelian_aut.py b/src/sage/groups/abelian_gps/abelian_aut.py index b27f9bdb220..5b9f8f53b32 100644 --- a/src/sage/groups/abelian_gps/abelian_aut.py +++ b/src/sage/groups/abelian_gps/abelian_aut.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-gap r""" Automorphisms of abelian groups diff --git a/src/sage/groups/abelian_gps/abelian_group.py b/src/sage/groups/abelian_gps/abelian_group.py index 90cdcaa42fd..356e3e20284 100644 --- a/src/sage/groups/abelian_gps/abelian_group.py +++ b/src/sage/groups/abelian_gps/abelian_group.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Multiplicative Abelian Groups @@ -981,8 +982,8 @@ def gens_orders(self): TESTS:: sage: G, (g0, g1) = AbelianGroup(2, [48, 0]).objgens() - sage: G0 = G.subgroup([g0]) - sage: len(G0.gens()) == len(G0.gens_orders()) + sage: G0 = G.subgroup([g0]) # optional - gap_package_polycyclic + sage: len(G0.gens()) == len(G0.gens_orders()) # optional - gap_package_polycyclic True sage: F = AbelianGroup(3, [2], names='abc') sage: list(map(type, F.gens_orders())) diff --git a/src/sage/groups/abelian_gps/abelian_group_element.py b/src/sage/groups/abelian_gps/abelian_group_element.py index b081f1e1c4e..e7a95a13bba 100644 --- a/src/sage/groups/abelian_gps/abelian_group_element.py +++ b/src/sage/groups/abelian_gps/abelian_group_element.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Abelian group elements diff --git a/src/sage/groups/abelian_gps/abelian_group_gap.py b/src/sage/groups/abelian_gps/abelian_group_gap.py index 9ce83a6e33c..c51857fa4a3 100644 --- a/src/sage/groups/abelian_gps/abelian_group_gap.py +++ b/src/sage/groups/abelian_gps/abelian_group_gap.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-gap r""" Finitely generated abelian groups with GAP. diff --git a/src/sage/groups/abelian_gps/abelian_group_morphism.py b/src/sage/groups/abelian_gps/abelian_group_morphism.py index e4b7b82b42b..650567fe07d 100644 --- a/src/sage/groups/abelian_gps/abelian_group_morphism.py +++ b/src/sage/groups/abelian_gps/abelian_group_morphism.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-gap """ Homomorphisms of abelian groups diff --git a/src/sage/groups/abelian_gps/all.py b/src/sage/groups/abelian_gps/all.py index 2bb91f85f3b..6d1dd159ba6 100644 --- a/src/sage/groups/abelian_gps/all.py +++ b/src/sage/groups/abelian_gps/all.py @@ -1,8 +1,9 @@ +# sage_setup: distribution = sagemath-groups """ all.py -- export of abelian groups to Sage """ -#***************************************************************************** +# ***************************************************************************** # # Sage: Open Source Mathematical Software # @@ -17,13 +18,8 @@ # # The full text of the GPL is available at: # -# http://www.gnu.org/licenses/ -#***************************************************************************** +# https://www.gnu.org/licenses/ +# ***************************************************************************** -#from dual_abelian_group import DualAbelianGroup -from .abelian_group import AbelianGroup, word_problem -from .values import AbelianGroupWithValues - -# TODO: -# Implement group homset, conversion of generator images to morphism -from .abelian_group_morphism import AbelianGroupMorphism +from sage.groups.abelian_gps.all__sagemath_modules import * +from sage.groups.abelian_gps.all__sagemath_gap import * diff --git a/src/sage/groups/abelian_gps/all__sagemath_gap.py b/src/sage/groups/abelian_gps/all__sagemath_gap.py new file mode 100644 index 00000000000..80c0bd46216 --- /dev/null +++ b/src/sage/groups/abelian_gps/all__sagemath_gap.py @@ -0,0 +1,5 @@ + +# TODO: +# Implement group homset, conversion of generator images to morphism + +from sage.groups.abelian_gps.abelian_group_morphism import AbelianGroupMorphism diff --git a/src/sage/groups/abelian_gps/all__sagemath_modules.py b/src/sage/groups/abelian_gps/all__sagemath_modules.py new file mode 100644 index 00000000000..32a1f65f720 --- /dev/null +++ b/src/sage/groups/abelian_gps/all__sagemath_modules.py @@ -0,0 +1,4 @@ + +# from dual_abelian_group import DualAbelianGroup +from sage.groups.abelian_gps.abelian_group import AbelianGroup, word_problem +from sage.groups.abelian_gps.values import AbelianGroupWithValues diff --git a/src/sage/groups/abelian_gps/dual_abelian_group.py b/src/sage/groups/abelian_gps/dual_abelian_group.py index 4aecfd69816..2d8970e6897 100644 --- a/src/sage/groups/abelian_gps/dual_abelian_group.py +++ b/src/sage/groups/abelian_gps/dual_abelian_group.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.rings.number_field r""" Dual groups of Finite Multiplicative Abelian Groups diff --git a/src/sage/groups/abelian_gps/dual_abelian_group_element.py b/src/sage/groups/abelian_gps/dual_abelian_group_element.py index 6fdb8a68c4e..08afe59ecd5 100644 --- a/src/sage/groups/abelian_gps/dual_abelian_group_element.py +++ b/src/sage/groups/abelian_gps/dual_abelian_group_element.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.rings.number_field """ Elements (characters) of the dual group of a finite Abelian group diff --git a/src/sage/groups/abelian_gps/element_base.py b/src/sage/groups/abelian_gps/element_base.py index 0435c9835b9..9ed358c9807 100644 --- a/src/sage/groups/abelian_gps/element_base.py +++ b/src/sage/groups/abelian_gps/element_base.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Base class for abelian group elements diff --git a/src/sage/groups/abelian_gps/values.py b/src/sage/groups/abelian_gps/values.py index 3db117123f0..32992e04eb9 100644 --- a/src/sage/groups/abelian_gps/values.py +++ b/src/sage/groups/abelian_gps/values.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Multiplicative Abelian Groups With Values diff --git a/src/sage/groups/additive_abelian/additive_abelian_group.py b/src/sage/groups/additive_abelian/additive_abelian_group.py index 167b38a9cc0..05ed10d52c2 100644 --- a/src/sage/groups/additive_abelian/additive_abelian_group.py +++ b/src/sage/groups/additive_abelian/additive_abelian_group.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Additive Abelian Groups diff --git a/src/sage/groups/additive_abelian/additive_abelian_wrapper.py b/src/sage/groups/additive_abelian/additive_abelian_wrapper.py index bf16874d97f..05e017aa78d 100644 --- a/src/sage/groups/additive_abelian/additive_abelian_wrapper.py +++ b/src/sage/groups/additive_abelian/additive_abelian_wrapper.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Wrapper class for abelian groups diff --git a/src/sage/groups/additive_abelian/all.py b/src/sage/groups/additive_abelian/all.py index 956cf00614e..6b2648bb3dc 100644 --- a/src/sage/groups/additive_abelian/all.py +++ b/src/sage/groups/additive_abelian/all.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules -from .additive_abelian_group import AdditiveAbelianGroup -from .additive_abelian_wrapper import * +from sage.groups.additive_abelian.additive_abelian_group import AdditiveAbelianGroup +from sage.groups.additive_abelian.additive_abelian_wrapper import * diff --git a/src/sage/groups/additive_abelian/qmodnz.py b/src/sage/groups/additive_abelian/qmodnz.py index db0b23d5fe4..8c1b60ee80f 100644 --- a/src/sage/groups/additive_abelian/qmodnz.py +++ b/src/sage/groups/additive_abelian/qmodnz.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" This module implements `\Q/n\Z` for `n \in \Q`. diff --git a/src/sage/groups/additive_abelian/qmodnz_element.py b/src/sage/groups/additive_abelian/qmodnz_element.py index 10f92f76bf9..ea0191212f9 100644 --- a/src/sage/groups/additive_abelian/qmodnz_element.py +++ b/src/sage/groups/additive_abelian/qmodnz_element.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Elements of `\Q/n\Z`. diff --git a/src/sage/groups/affine_gps/affine_group.py b/src/sage/groups/affine_gps/affine_group.py index a811640c3c0..8e5662d5855 100644 --- a/src/sage/groups/affine_gps/affine_group.py +++ b/src/sage/groups/affine_gps/affine_group.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Affine Groups diff --git a/src/sage/groups/affine_gps/all.py b/src/sage/groups/affine_gps/all.py index e69de29bb2d..6f6ab52d0f2 100644 --- a/src/sage/groups/affine_gps/all.py +++ b/src/sage/groups/affine_gps/all.py @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-modules diff --git a/src/sage/groups/affine_gps/catalog.py b/src/sage/groups/affine_gps/catalog.py index cefcfeb97bf..5e86c8ded23 100644 --- a/src/sage/groups/affine_gps/catalog.py +++ b/src/sage/groups/affine_gps/catalog.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Type ``groups.affine.`` to access examples of groups implemented as affine groups. diff --git a/src/sage/groups/affine_gps/euclidean_group.py b/src/sage/groups/affine_gps/euclidean_group.py index 3154eee7a01..467d64eb017 100644 --- a/src/sage/groups/affine_gps/euclidean_group.py +++ b/src/sage/groups/affine_gps/euclidean_group.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Euclidean Groups diff --git a/src/sage/groups/affine_gps/group_element.py b/src/sage/groups/affine_gps/group_element.py index 42546194bb6..6b33bcf95d7 100644 --- a/src/sage/groups/affine_gps/group_element.py +++ b/src/sage/groups/affine_gps/group_element.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Elements of Affine Groups diff --git a/src/sage/groups/all.py b/src/sage/groups/all.py index 5fa9ccfac39..eda2cdcbe5b 100644 --- a/src/sage/groups/all.py +++ b/src/sage/groups/all.py @@ -1,37 +1,6 @@ -from sage.misc.lazy_import import lazy_import +# sage_setup: distribution = sagemath-groups -from .pari_group import PariGroup - -from .matrix_gps.all import * -from .abelian_gps.all import * - -from .perm_gps.all import * - -from .generic import (discrete_log, discrete_log_rho, discrete_log_lambda, - linear_relation, multiple, multiples, order_from_multiple) - -lazy_import('sage.groups.class_function', 'ClassFunction') - -from .additive_abelian.all import * - -lazy_import('sage.groups.conjugacy_classes', ['ConjugacyClass', 'ConjugacyClassGAP']) - -lazy_import('sage.groups.free_group', 'FreeGroup') -lazy_import('sage.groups.braid', 'BraidGroup') -lazy_import('sage.groups.cubic_braid', 'CubicBraidGroup') -lazy_import('sage.groups.cubic_braid', 'AssionGroupU') -lazy_import('sage.groups.cubic_braid', 'AssionGroupS') - -lazy_import('sage.groups.affine_gps.affine_group', 'AffineGroup') -lazy_import('sage.groups.affine_gps.euclidean_group', 'EuclideanGroup') - -lazy_import('sage.groups.artin', 'ArtinGroup') -lazy_import('sage.groups.raag', 'RightAngledArtinGroup') - -lazy_import('sage.groups', 'groups_catalog', 'groups') - -lazy_import('sage.groups.semimonomial_transformations.semimonomial_transformation_group', 'SemimonomialTransformationGroup') - -lazy_import('sage.groups.group_exp', ['GroupExp', 'GroupExp_Class', 'GroupExpElement']) - -lazy_import('sage.groups.group_semidirect_product', ['GroupSemidirectProduct', 'GroupSemidirectProductElement']) +from sage.groups.all__sagemath_modules import * +from sage.groups.all__sagemath_gap import * +from sage.groups.all__sagemath_pari import * +from sage.groups.all__sagemath_groups import * diff --git a/src/sage/groups/all__sagemath_categories.py b/src/sage/groups/all__sagemath_categories.py new file mode 100644 index 00000000000..cf28b7d6bff --- /dev/null +++ b/src/sage/groups/all__sagemath_categories.py @@ -0,0 +1,10 @@ +from sage.groups.all__sagemath_objects import * + +from sage.groups.generic import (discrete_log, discrete_log_rho, discrete_log_lambda, + linear_relation, multiple, multiples, order_from_multiple) + +from sage.misc.lazy_import import lazy_import + +lazy_import('sage.groups', 'groups_catalog', 'groups') + +del lazy_import diff --git a/src/sage/groups/all__sagemath_combinat.py b/src/sage/groups/all__sagemath_combinat.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/groups/all__sagemath_gap.py b/src/sage/groups/all__sagemath_gap.py new file mode 100644 index 00000000000..15278ba12aa --- /dev/null +++ b/src/sage/groups/all__sagemath_gap.py @@ -0,0 +1,3 @@ + +from sage.groups.perm_gps.all import * +from sage.groups.abelian_gps.all__sagemath_gap import * diff --git a/src/sage/groups/all__sagemath_graphs.py b/src/sage/groups/all__sagemath_graphs.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/groups/all__sagemath_groups.py b/src/sage/groups/all__sagemath_groups.py new file mode 100644 index 00000000000..c27a9ca05c5 --- /dev/null +++ b/src/sage/groups/all__sagemath_groups.py @@ -0,0 +1,32 @@ +from sage.groups.all__sagemath_modules import * + +try: + from sage.groups.all__sagemath_pari import * +except ImportError: + pass + +from sage.groups.all__sagemath_gap import * + +from sage.misc.lazy_import import lazy_import + +lazy_import('sage.groups.class_function', 'ClassFunction') + +lazy_import('sage.groups.conjugacy_classes', ['ConjugacyClass', 'ConjugacyClassGAP']) + +lazy_import('sage.groups.free_group', 'FreeGroup') +lazy_import('sage.groups.braid', 'BraidGroup') +lazy_import('sage.groups.cubic_braid', 'CubicBraidGroup') +lazy_import('sage.groups.cubic_braid', 'AssionGroupU') +lazy_import('sage.groups.cubic_braid', 'AssionGroupS') + +lazy_import('sage.groups.artin', 'ArtinGroup') +lazy_import('sage.groups.raag', 'RightAngledArtinGroup') + +lazy_import('sage.groups.semimonomial_transformations.semimonomial_transformation_group', + 'SemimonomialTransformationGroup') + +lazy_import('sage.groups.group_exp', ['GroupExp', 'GroupExp_Class', 'GroupExpElement']) + +lazy_import('sage.groups.group_semidirect_product', [ + 'GroupSemidirectProduct', 'GroupSemidirectProductElement']) +del lazy_import diff --git a/src/sage/groups/all__sagemath_modules.py b/src/sage/groups/all__sagemath_modules.py new file mode 100644 index 00000000000..6a3eb638a9b --- /dev/null +++ b/src/sage/groups/all__sagemath_modules.py @@ -0,0 +1,11 @@ +from sage.groups.all__sagemath_categories import * + +from sage.groups.additive_abelian.all import * +from sage.groups.abelian_gps.all__sagemath_modules import * +from sage.groups.matrix_gps.all__sagemath_modules import * + +from sage.misc.lazy_import import lazy_import + +lazy_import('sage.groups.affine_gps.affine_group', 'AffineGroup') +lazy_import('sage.groups.affine_gps.euclidean_group', 'EuclideanGroup') +del lazy_import diff --git a/src/sage/groups/all__sagemath_objects.py b/src/sage/groups/all__sagemath_objects.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/groups/all__sagemath_pari.py b/src/sage/groups/all__sagemath_pari.py new file mode 100644 index 00000000000..97f61bbfc2c --- /dev/null +++ b/src/sage/groups/all__sagemath_pari.py @@ -0,0 +1,2 @@ + +from sage.groups.pari_group import PariGroup diff --git a/src/sage/groups/artin.py b/src/sage/groups/artin.py index afb40463206..c3b747b8595 100644 --- a/src/sage/groups/artin.py +++ b/src/sage/groups/artin.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-groups """ Artin Groups diff --git a/src/sage/groups/braid.py b/src/sage/groups/braid.py index fb52b074218..4a2e081d2b7 100644 --- a/src/sage/groups/braid.py +++ b/src/sage/groups/braid.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-groups """ Braid groups diff --git a/src/sage/groups/cactus_group.py b/src/sage/groups/cactus_group.py index a4a6fe629b0..e4e1c41833e 100644 --- a/src/sage/groups/cactus_group.py +++ b/src/sage/groups/cactus_group.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-groups # sage.doctest: needs sage.rings.number_field r""" Cactus Groups diff --git a/src/sage/groups/class_function.py b/src/sage/groups/class_function.py index 901b0083b49..af465b4c8b0 100644 --- a/src/sage/groups/class_function.py +++ b/src/sage/groups/class_function.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-groups # sage.doctest: needs sage.rings.number_field r""" Class functions of groups. diff --git a/src/sage/groups/conjugacy_classes.py b/src/sage/groups/conjugacy_classes.py index 147cc803842..873d420b547 100644 --- a/src/sage/groups/conjugacy_classes.py +++ b/src/sage/groups/conjugacy_classes.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-groups r""" Conjugacy classes of groups diff --git a/src/sage/groups/cubic_braid.py b/src/sage/groups/cubic_braid.py index 9dd59e069f9..36fccfebbc3 100644 --- a/src/sage/groups/cubic_braid.py +++ b/src/sage/groups/cubic_braid.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-groups r""" Cubic Braid Groups diff --git a/src/sage/groups/finitely_presented.py b/src/sage/groups/finitely_presented.py index 3388c41d954..d1152a17740 100644 --- a/src/sage/groups/finitely_presented.py +++ b/src/sage/groups/finitely_presented.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-groups """ Finitely Presented Groups diff --git a/src/sage/groups/finitely_presented_catalog.py b/src/sage/groups/finitely_presented_catalog.py index 512e851628b..a21d3e582cb 100644 --- a/src/sage/groups/finitely_presented_catalog.py +++ b/src/sage/groups/finitely_presented_catalog.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-groups """ Type ``groups.presentation.`` to access examples of groups implemented as finite presentations (quotients of diff --git a/src/sage/groups/finitely_presented_named.py b/src/sage/groups/finitely_presented_named.py index d800bf014d0..262d205ccf4 100644 --- a/src/sage/groups/finitely_presented_named.py +++ b/src/sage/groups/finitely_presented_named.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-groups r""" Named Finitely Presented Groups diff --git a/src/sage/groups/fqf_orthogonal.py b/src/sage/groups/fqf_orthogonal.py index 8c996ad3c6a..fd14f5142cf 100644 --- a/src/sage/groups/fqf_orthogonal.py +++ b/src/sage/groups/fqf_orthogonal.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-groups r""" Orthogonal Groups of Torsion Quadratic Forms diff --git a/src/sage/groups/free_group.py b/src/sage/groups/free_group.py index 471940f6b95..2639df59f55 100644 --- a/src/sage/groups/free_group.py +++ b/src/sage/groups/free_group.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-groups """ Free Groups diff --git a/src/sage/groups/galois_group.py b/src/sage/groups/galois_group.py index a7439d18ab3..d7d479305fa 100644 --- a/src/sage/groups/galois_group.py +++ b/src/sage/groups/galois_group.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Galois groups of field extensions. diff --git a/src/sage/groups/galois_group_perm.py b/src/sage/groups/galois_group_perm.py index 7a640bcfe29..0c348e603a8 100644 --- a/src/sage/groups/galois_group_perm.py +++ b/src/sage/groups/galois_group_perm.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-gap r""" Galois groups of field extensions as permutation groups """ diff --git a/src/sage/groups/generic.py b/src/sage/groups/generic.py index cb406b444af..bf710fb566b 100644 --- a/src/sage/groups/generic.py +++ b/src/sage/groups/generic.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Miscellaneous generic functions diff --git a/src/sage/groups/group.pxd b/src/sage/groups/group.pxd index 8a38ba4b583..771408df9ab 100644 --- a/src/sage/groups/group.pxd +++ b/src/sage/groups/group.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects from sage.structure.parent cimport Parent cdef class Group(Parent): diff --git a/src/sage/groups/group.pyx b/src/sage/groups/group.pyx index 9ecbfde9d6f..d26829cc694 100644 --- a/src/sage/groups/group.pyx +++ b/src/sage/groups/group.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects """ Base class for groups """ diff --git a/src/sage/groups/group_exp.py b/src/sage/groups/group_exp.py index ffae5e73cb2..fe3567e5801 100644 --- a/src/sage/groups/group_exp.py +++ b/src/sage/groups/group_exp.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-groups r""" Functor that converts a commutative additive group into a multiplicative group. diff --git a/src/sage/groups/group_semidirect_product.py b/src/sage/groups/group_semidirect_product.py index 1805dbbc53a..e5e7077f271 100644 --- a/src/sage/groups/group_semidirect_product.py +++ b/src/sage/groups/group_semidirect_product.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-groups r""" Semidirect product of groups diff --git a/src/sage/groups/groups_catalog.py b/src/sage/groups/groups_catalog.py index a95ffaefb4a..d2c87813273 100644 --- a/src/sage/groups/groups_catalog.py +++ b/src/sage/groups/groups_catalog.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Examples of Groups diff --git a/src/sage/groups/indexed_free_group.py b/src/sage/groups/indexed_free_group.py index 79be1df663d..a2735e7ea6b 100644 --- a/src/sage/groups/indexed_free_group.py +++ b/src/sage/groups/indexed_free_group.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.combinat """ Indexed Free Groups diff --git a/src/sage/groups/kernel_subgroup.py b/src/sage/groups/kernel_subgroup.py index dec7a0be573..bcbca50b37f 100644 --- a/src/sage/groups/kernel_subgroup.py +++ b/src/sage/groups/kernel_subgroup.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-groups r""" Kernel Subgroups diff --git a/src/sage/groups/libgap_group.py b/src/sage/groups/libgap_group.py index 09889de4af5..3a181ff46ba 100644 --- a/src/sage/groups/libgap_group.py +++ b/src/sage/groups/libgap_group.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-gap """ Generic LibGAP-based Group diff --git a/src/sage/groups/libgap_mixin.py b/src/sage/groups/libgap_mixin.py index 50f8fdf2678..7da19cf8ada 100644 --- a/src/sage/groups/libgap_mixin.py +++ b/src/sage/groups/libgap_mixin.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-gap # sage.doctest: needs sage.modules """ Mix-in Class for GAP-based Groups diff --git a/src/sage/groups/libgap_morphism.py b/src/sage/groups/libgap_morphism.py index daac871629b..1b7a6d953ec 100644 --- a/src/sage/groups/libgap_morphism.py +++ b/src/sage/groups/libgap_morphism.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-gap r""" Group homomorphisms for groups with a GAP backend diff --git a/src/sage/groups/libgap_wrapper.pxd b/src/sage/groups/libgap_wrapper.pxd index 0c43b098140..42214521586 100644 --- a/src/sage/groups/libgap_wrapper.pxd +++ b/src/sage/groups/libgap_wrapper.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-gap from sage.structure.element cimport MultiplicativeGroupElement from sage.libs.gap.element cimport GapElement diff --git a/src/sage/groups/libgap_wrapper.pyx b/src/sage/groups/libgap_wrapper.pyx index 3d27ec44ea0..8e4c7ba883c 100644 --- a/src/sage/groups/libgap_wrapper.pyx +++ b/src/sage/groups/libgap_wrapper.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-gap """ LibGAP-based Groups diff --git a/src/sage/groups/lie_gps/all.py b/src/sage/groups/lie_gps/all.py index e69de29bb2d..11f290a2a34 100644 --- a/src/sage/groups/lie_gps/all.py +++ b/src/sage/groups/lie_gps/all.py @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-groups diff --git a/src/sage/groups/lie_gps/catalog.py b/src/sage/groups/lie_gps/catalog.py index 1b35d31d6b7..976df6bc1ac 100644 --- a/src/sage/groups/lie_gps/catalog.py +++ b/src/sage/groups/lie_gps/catalog.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-groups r""" Type ``groups.lie.`` to access examples of Lie groups. """ diff --git a/src/sage/groups/lie_gps/nilpotent_lie_group.py b/src/sage/groups/lie_gps/nilpotent_lie_group.py index 1164f28e056..9ee3d58da1a 100644 --- a/src/sage/groups/lie_gps/nilpotent_lie_group.py +++ b/src/sage/groups/lie_gps/nilpotent_lie_group.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-groups r""" Nilpotent Lie groups diff --git a/src/sage/groups/matrix_gps/all.py b/src/sage/groups/matrix_gps/all.py index c6360cd6a03..503b377f675 100644 --- a/src/sage/groups/matrix_gps/all.py +++ b/src/sage/groups/matrix_gps/all.py @@ -1,13 +1,5 @@ -from sage.misc.lazy_import import lazy_import +# sage_setup: distribution = sagemath-modules -lazy_import('sage.groups.matrix_gps.linear', 'GL') -lazy_import('sage.groups.matrix_gps.linear', 'SL') -lazy_import('sage.groups.matrix_gps.symplectic', 'Sp') -lazy_import('sage.groups.matrix_gps.unitary', 'SU') -lazy_import('sage.groups.matrix_gps.unitary', 'GU') -lazy_import('sage.groups.matrix_gps.orthogonal', 'GO') -lazy_import('sage.groups.matrix_gps.orthogonal', 'SO') -lazy_import('sage.groups.matrix_gps.finitely_generated', 'MatrixGroup') -lazy_import('sage.groups.matrix_gps.finitely_generated', 'QuaternionMatrixGroupGF3') +from sage.groups.matrix_gps.all__sagemath_modules import * import sage.groups.matrix_gps.pickling_overrides diff --git a/src/sage/groups/matrix_gps/all__sagemath_gap.py b/src/sage/groups/matrix_gps/all__sagemath_gap.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/groups/matrix_gps/all__sagemath_modules.py b/src/sage/groups/matrix_gps/all__sagemath_modules.py new file mode 100644 index 00000000000..e8ff9cf4fa6 --- /dev/null +++ b/src/sage/groups/matrix_gps/all__sagemath_modules.py @@ -0,0 +1,12 @@ +from sage.misc.lazy_import import lazy_import + +lazy_import('sage.groups.matrix_gps.linear', 'GL') +lazy_import('sage.groups.matrix_gps.linear', 'SL') +lazy_import('sage.groups.matrix_gps.symplectic', 'Sp') +lazy_import('sage.groups.matrix_gps.unitary', 'SU') +lazy_import('sage.groups.matrix_gps.unitary', 'GU') +lazy_import('sage.groups.matrix_gps.orthogonal', 'GO') +lazy_import('sage.groups.matrix_gps.orthogonal', 'SO') +lazy_import('sage.groups.matrix_gps.finitely_generated', 'MatrixGroup') +lazy_import('sage.groups.matrix_gps.finitely_generated', 'QuaternionMatrixGroupGF3') +del lazy_import diff --git a/src/sage/groups/matrix_gps/binary_dihedral.py b/src/sage/groups/matrix_gps/binary_dihedral.py index ccce9eeb17b..bf2a1b69342 100644 --- a/src/sage/groups/matrix_gps/binary_dihedral.py +++ b/src/sage/groups/matrix_gps/binary_dihedral.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-gap # sage.doctest: needs sage.libs.gap sage.modules sage.rings.number_field """ Binary Dihedral Groups diff --git a/src/sage/groups/matrix_gps/catalog.py b/src/sage/groups/matrix_gps/catalog.py index a9687740649..2419053f843 100644 --- a/src/sage/groups/matrix_gps/catalog.py +++ b/src/sage/groups/matrix_gps/catalog.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Library of Interesting Groups diff --git a/src/sage/groups/matrix_gps/coxeter_group.py b/src/sage/groups/matrix_gps/coxeter_group.py index b6a9e211ff0..99aefbddf97 100644 --- a/src/sage/groups/matrix_gps/coxeter_group.py +++ b/src/sage/groups/matrix_gps/coxeter_group.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.graphs """ Coxeter Groups As Matrix Groups diff --git a/src/sage/groups/matrix_gps/finitely_generated.py b/src/sage/groups/matrix_gps/finitely_generated.py index 6d487e5d123..e621ea4e82d 100644 --- a/src/sage/groups/matrix_gps/finitely_generated.py +++ b/src/sage/groups/matrix_gps/finitely_generated.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Finitely Generated Matrix Groups diff --git a/src/sage/groups/matrix_gps/finitely_generated_gap.py b/src/sage/groups/matrix_gps/finitely_generated_gap.py index 14bf551789f..11cc0a45b42 100644 --- a/src/sage/groups/matrix_gps/finitely_generated_gap.py +++ b/src/sage/groups/matrix_gps/finitely_generated_gap.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-gap """ Finitely Generated Matrix Groups with GAP """ diff --git a/src/sage/groups/matrix_gps/group_element.pxd b/src/sage/groups/matrix_gps/group_element.pxd index 36a5a9fc4ce..fadcded4ef9 100644 --- a/src/sage/groups/matrix_gps/group_element.pxd +++ b/src/sage/groups/matrix_gps/group_element.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.structure.element cimport MultiplicativeGroupElement, Element, MonoidElement, Matrix cpdef is_MatrixGroupElement(x) diff --git a/src/sage/groups/matrix_gps/group_element.pyx b/src/sage/groups/matrix_gps/group_element.pyx index 38bf1f03279..c123d0d1820 100644 --- a/src/sage/groups/matrix_gps/group_element.pyx +++ b/src/sage/groups/matrix_gps/group_element.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Matrix Group Elements diff --git a/src/sage/groups/matrix_gps/group_element_gap.pxd b/src/sage/groups/matrix_gps/group_element_gap.pxd index e0ecbefea5c..2c99c0d4e9a 100644 --- a/src/sage/groups/matrix_gps/group_element_gap.pxd +++ b/src/sage/groups/matrix_gps/group_element_gap.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-gap from sage.groups.libgap_wrapper cimport ElementLibGAP cdef class MatrixGroupElement_gap(ElementLibGAP): diff --git a/src/sage/groups/matrix_gps/group_element_gap.pyx b/src/sage/groups/matrix_gps/group_element_gap.pyx index b07c0f01a44..9e5e2922590 100644 --- a/src/sage/groups/matrix_gps/group_element_gap.pyx +++ b/src/sage/groups/matrix_gps/group_element_gap.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-gap r""" Matrix group elements implemented in GAP """ diff --git a/src/sage/groups/matrix_gps/heisenberg.py b/src/sage/groups/matrix_gps/heisenberg.py index 8a262ddf1c7..21ab7db9d45 100644 --- a/src/sage/groups/matrix_gps/heisenberg.py +++ b/src/sage/groups/matrix_gps/heisenberg.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-gap # sage.doctest: needs sage.libs.gap sage.modules """ Heisenberg Group diff --git a/src/sage/groups/matrix_gps/isometries.py b/src/sage/groups/matrix_gps/isometries.py index 424e5a0edf0..b351f5533b2 100644 --- a/src/sage/groups/matrix_gps/isometries.py +++ b/src/sage/groups/matrix_gps/isometries.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-gap r""" Groups of isometries diff --git a/src/sage/groups/matrix_gps/linear.py b/src/sage/groups/matrix_gps/linear.py index ef2bf1aa0be..1fa9dca7984 100644 --- a/src/sage/groups/matrix_gps/linear.py +++ b/src/sage/groups/matrix_gps/linear.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Linear Groups diff --git a/src/sage/groups/matrix_gps/linear_gap.py b/src/sage/groups/matrix_gps/linear_gap.py index f5c16f1c9fe..62d84711f6f 100644 --- a/src/sage/groups/matrix_gps/linear_gap.py +++ b/src/sage/groups/matrix_gps/linear_gap.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-gap """ Linear Groups with GAP """ diff --git a/src/sage/groups/matrix_gps/matrix_group.py b/src/sage/groups/matrix_gps/matrix_group.py index 2b87493fbc5..10bf5786f0e 100644 --- a/src/sage/groups/matrix_gps/matrix_group.py +++ b/src/sage/groups/matrix_gps/matrix_group.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Base classes for Matrix Groups diff --git a/src/sage/groups/matrix_gps/matrix_group_gap.py b/src/sage/groups/matrix_gps/matrix_group_gap.py index 84fd3d74996..29c40bb22be 100644 --- a/src/sage/groups/matrix_gps/matrix_group_gap.py +++ b/src/sage/groups/matrix_gps/matrix_group_gap.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-gap r""" Matrix group over a ring that GAP understands """ diff --git a/src/sage/groups/matrix_gps/named_group.py b/src/sage/groups/matrix_gps/named_group.py index 90c01e232e7..59766f21cfa 100644 --- a/src/sage/groups/matrix_gps/named_group.py +++ b/src/sage/groups/matrix_gps/named_group.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Base for Classical Matrix Groups diff --git a/src/sage/groups/matrix_gps/named_group_gap.py b/src/sage/groups/matrix_gps/named_group_gap.py index b8b1f54722c..3e4f0131a54 100644 --- a/src/sage/groups/matrix_gps/named_group_gap.py +++ b/src/sage/groups/matrix_gps/named_group_gap.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-gap """ Base for Classical Matrix Groups with GAP """ diff --git a/src/sage/groups/matrix_gps/orthogonal.py b/src/sage/groups/matrix_gps/orthogonal.py index 3ce9915dfec..d38ed37bd1a 100644 --- a/src/sage/groups/matrix_gps/orthogonal.py +++ b/src/sage/groups/matrix_gps/orthogonal.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Orthogonal Linear Groups diff --git a/src/sage/groups/matrix_gps/orthogonal_gap.py b/src/sage/groups/matrix_gps/orthogonal_gap.py index 39947bda211..b06ac22dd31 100644 --- a/src/sage/groups/matrix_gps/orthogonal_gap.py +++ b/src/sage/groups/matrix_gps/orthogonal_gap.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-gap r""" Orthogonal Linear Groups with GAP """ diff --git a/src/sage/groups/matrix_gps/symplectic.py b/src/sage/groups/matrix_gps/symplectic.py index 0e378b4d153..0476eb4b8f6 100644 --- a/src/sage/groups/matrix_gps/symplectic.py +++ b/src/sage/groups/matrix_gps/symplectic.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Symplectic Linear Groups diff --git a/src/sage/groups/matrix_gps/symplectic_gap.py b/src/sage/groups/matrix_gps/symplectic_gap.py index d348ed9f40f..a30ed541a78 100644 --- a/src/sage/groups/matrix_gps/symplectic_gap.py +++ b/src/sage/groups/matrix_gps/symplectic_gap.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-gap """ Symplectic Linear Groups with GAP """ diff --git a/src/sage/groups/matrix_gps/unitary.py b/src/sage/groups/matrix_gps/unitary.py index 43ac69c3983..0c18107a260 100644 --- a/src/sage/groups/matrix_gps/unitary.py +++ b/src/sage/groups/matrix_gps/unitary.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Unitary Groups `GU(n,q)` and `SU(n,q)` diff --git a/src/sage/groups/matrix_gps/unitary_gap.py b/src/sage/groups/matrix_gps/unitary_gap.py index ac2de20f96b..ce715e34903 100644 --- a/src/sage/groups/matrix_gps/unitary_gap.py +++ b/src/sage/groups/matrix_gps/unitary_gap.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-gap # sage.doctest: needs sage.rings.finite_rings r""" Unitary Groups `GU(n,q)` and `SU(n,q)` with GAP diff --git a/src/sage/groups/misc_gps/all.py b/src/sage/groups/misc_gps/all.py index e69de29bb2d..11f290a2a34 100644 --- a/src/sage/groups/misc_gps/all.py +++ b/src/sage/groups/misc_gps/all.py @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-groups diff --git a/src/sage/groups/misc_gps/argument_groups.py b/src/sage/groups/misc_gps/argument_groups.py index 1c949a57f51..cc533de027c 100644 --- a/src/sage/groups/misc_gps/argument_groups.py +++ b/src/sage/groups/misc_gps/argument_groups.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-groups r""" Groups of elements representing (complex) arguments. diff --git a/src/sage/groups/misc_gps/imaginary_groups.py b/src/sage/groups/misc_gps/imaginary_groups.py index 41fe79f9959..e197273ec6c 100644 --- a/src/sage/groups/misc_gps/imaginary_groups.py +++ b/src/sage/groups/misc_gps/imaginary_groups.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-groups r""" Groups of imaginary elements diff --git a/src/sage/groups/misc_gps/misc_groups.py b/src/sage/groups/misc_gps/misc_groups.py index fb6bcb30fb7..7b695bb6fab 100644 --- a/src/sage/groups/misc_gps/misc_groups.py +++ b/src/sage/groups/misc_gps/misc_groups.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-groups r""" Miscellaneous Groups diff --git a/src/sage/groups/misc_gps/misc_groups_catalog.py b/src/sage/groups/misc_gps/misc_groups_catalog.py index 5396677d0b1..2eb44762f04 100644 --- a/src/sage/groups/misc_gps/misc_groups_catalog.py +++ b/src/sage/groups/misc_gps/misc_groups_catalog.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-groups r""" Type ``groups.misc.`` to access examples of various groups not listed elsewhere. diff --git a/src/sage/groups/old.pxd b/src/sage/groups/old.pxd index 3409c5b1764..87b029a4992 100644 --- a/src/sage/groups/old.pxd +++ b/src/sage/groups/old.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects cimport sage.structure.parent_gens cdef class Group(sage.structure.parent.Parent): diff --git a/src/sage/groups/old.pyx b/src/sage/groups/old.pyx index 1833b4a2b74..a625dbcfb07 100644 --- a/src/sage/groups/old.pyx +++ b/src/sage/groups/old.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects """ Deprecated base class for groups """ diff --git a/src/sage/groups/pari_group.py b/src/sage/groups/pari_group.py index 62dc75cb821..ca7f41ff5b3 100644 --- a/src/sage/groups/pari_group.py +++ b/src/sage/groups/pari_group.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari # sage.doctest: needs sage.libs.pari r""" PARI Groups diff --git a/src/sage/groups/perm_gps/all.py b/src/sage/groups/perm_gps/all.py index ae405f298a2..56571fafe06 100644 --- a/src/sage/groups/perm_gps/all.py +++ b/src/sage/groups/perm_gps/all.py @@ -1,20 +1,22 @@ -from .permgroup_named import (SymmetricGroup, AlternatingGroup, - DihedralGroup, SplitMetacyclicGroup, - SemidihedralGroup, CyclicPermutationGroup, - DiCyclicGroup, TransitiveGroup, - PGL, PSL, PSp, PSU, PGU, - MathieuGroup, KleinFourGroup, QuaternionGroup, - PrimitiveGroup, PrimitiveGroups, - SuzukiGroup, TransitiveGroups, - GeneralDihedralGroup, SmallPermutationGroup) +# sage_setup: distribution = sagemath-gap -from .permgroup import PermutationGroup, PermutationGroup_generic, PermutationGroup_subgroup, direct_product_permgroups +from sage.groups.perm_gps.permgroup_named import (SymmetricGroup, AlternatingGroup, + DihedralGroup, SplitMetacyclicGroup, + SemidihedralGroup, CyclicPermutationGroup, + DiCyclicGroup, TransitiveGroup, + PGL, PSL, PSp, PSU, PGU, + MathieuGroup, KleinFourGroup, QuaternionGroup, + PrimitiveGroup, PrimitiveGroups, + SuzukiGroup, TransitiveGroups, + GeneralDihedralGroup, SmallPermutationGroup) -from .constructor import PermutationGroupElement +from sage.groups.perm_gps.permgroup import PermutationGroup, PermutationGroup_generic, PermutationGroup_subgroup, direct_product_permgroups -from .permgroup_morphism import (PermutationGroupMorphism as PermutationGroupMap, - PermutationGroupMorphism_im_gens, - PermutationGroupMorphism_id) +from sage.groups.perm_gps.constructor import PermutationGroupElement + +from sage.groups.perm_gps.permgroup_morphism import (PermutationGroupMorphism as PermutationGroupMap, + PermutationGroupMorphism_im_gens, + PermutationGroupMorphism_id) PermutationGroupMorphism = PermutationGroupMorphism_im_gens -from .cubegroup import CubeGroup, RubiksCube +from sage.groups.perm_gps.cubegroup import CubeGroup, RubiksCube diff --git a/src/sage/groups/perm_gps/all__sagemath_categories.py b/src/sage/groups/perm_gps/all__sagemath_categories.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/groups/perm_gps/all__sagemath_graphs.py b/src/sage/groups/perm_gps/all__sagemath_graphs.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/groups/perm_gps/all__sagemath_modules.py b/src/sage/groups/perm_gps/all__sagemath_modules.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/groups/perm_gps/constructor.py b/src/sage/groups/perm_gps/constructor.py index 5a130eb19be..2061c514436 100644 --- a/src/sage/groups/perm_gps/constructor.py +++ b/src/sage/groups/perm_gps/constructor.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-gap """ Constructor for permutations diff --git a/src/sage/groups/perm_gps/cubegroup.py b/src/sage/groups/perm_gps/cubegroup.py index 5a802bb4f48..ebd667a7d2a 100644 --- a/src/sage/groups/perm_gps/cubegroup.py +++ b/src/sage/groups/perm_gps/cubegroup.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-gap r""" Rubik's cube group functions diff --git a/src/sage/groups/perm_gps/partn_ref/all.py b/src/sage/groups/perm_gps/partn_ref/all.py index e69de29bb2d..b230a6a2ad9 100644 --- a/src/sage/groups/perm_gps/partn_ref/all.py +++ b/src/sage/groups/perm_gps/partn_ref/all.py @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-categories diff --git a/src/sage/groups/perm_gps/partn_ref/all__sagemath_categories.py b/src/sage/groups/perm_gps/partn_ref/all__sagemath_categories.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/groups/perm_gps/partn_ref/all__sagemath_gap.py b/src/sage/groups/perm_gps/partn_ref/all__sagemath_gap.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/groups/perm_gps/partn_ref/all__sagemath_graphs.py b/src/sage/groups/perm_gps/partn_ref/all__sagemath_graphs.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/groups/perm_gps/partn_ref/all__sagemath_modules.py b/src/sage/groups/perm_gps/partn_ref/all__sagemath_modules.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/groups/perm_gps/partn_ref/automorphism_group_canonical_label.pxd b/src/sage/groups/perm_gps/partn_ref/automorphism_group_canonical_label.pxd index 52f75a3df9c..62c9b138371 100644 --- a/src/sage/groups/perm_gps/partn_ref/automorphism_group_canonical_label.pxd +++ b/src/sage/groups/perm_gps/partn_ref/automorphism_group_canonical_label.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories #***************************************************************************** # Copyright (C) 2006 - 2011 Robert L. Miller # diff --git a/src/sage/groups/perm_gps/partn_ref/automorphism_group_canonical_label.pyx b/src/sage/groups/perm_gps/partn_ref/automorphism_group_canonical_label.pyx index 803f2533b7d..15838965934 100644 --- a/src/sage/groups/perm_gps/partn_ref/automorphism_group_canonical_label.pyx +++ b/src/sage/groups/perm_gps/partn_ref/automorphism_group_canonical_label.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.groups r""" Automorphism groups and canonical labels diff --git a/src/sage/groups/perm_gps/partn_ref/canonical_augmentation.pxd b/src/sage/groups/perm_gps/partn_ref/canonical_augmentation.pxd index 49e2f3cdbde..70ff0198384 100644 --- a/src/sage/groups/perm_gps/partn_ref/canonical_augmentation.pxd +++ b/src/sage/groups/perm_gps/partn_ref/canonical_augmentation.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Declaration file for canonical augmentation diff --git a/src/sage/groups/perm_gps/partn_ref/canonical_augmentation.pyx b/src/sage/groups/perm_gps/partn_ref/canonical_augmentation.pyx index 6143e509caa..95faace2536 100644 --- a/src/sage/groups/perm_gps/partn_ref/canonical_augmentation.pyx +++ b/src/sage/groups/perm_gps/partn_ref/canonical_augmentation.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Canonical augmentation diff --git a/src/sage/groups/perm_gps/partn_ref/data_structures.pxd b/src/sage/groups/perm_gps/partn_ref/data_structures.pxd index f53184bd082..0589ad87d07 100644 --- a/src/sage/groups/perm_gps/partn_ref/data_structures.pxd +++ b/src/sage/groups/perm_gps/partn_ref/data_structures.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories #***************************************************************************** # Copyright (C) 2006 - 2011 Robert L. Miller # diff --git a/src/sage/groups/perm_gps/partn_ref/data_structures.pyx b/src/sage/groups/perm_gps/partn_ref/data_structures.pyx index cb25f23a4d3..089ed979891 100644 --- a/src/sage/groups/perm_gps/partn_ref/data_structures.pyx +++ b/src/sage/groups/perm_gps/partn_ref/data_structures.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Data structures diff --git a/src/sage/groups/perm_gps/partn_ref/double_coset.pxd b/src/sage/groups/perm_gps/partn_ref/double_coset.pxd index 6c5d9e0f279..a0c86f1bcb5 100644 --- a/src/sage/groups/perm_gps/partn_ref/double_coset.pxd +++ b/src/sage/groups/perm_gps/partn_ref/double_coset.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories #***************************************************************************** # Copyright (C) 2006 - 2011 Robert L. Miller # diff --git a/src/sage/groups/perm_gps/partn_ref/double_coset.pyx b/src/sage/groups/perm_gps/partn_ref/double_coset.pyx index 73631b395c4..58b8c73381b 100644 --- a/src/sage/groups/perm_gps/partn_ref/double_coset.pyx +++ b/src/sage/groups/perm_gps/partn_ref/double_coset.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.groups r""" Double cosets diff --git a/src/sage/groups/perm_gps/partn_ref/refinement_binary.pxd b/src/sage/groups/perm_gps/partn_ref/refinement_binary.pxd index 4af69f4b5f5..dbcaa574b8e 100644 --- a/src/sage/groups/perm_gps/partn_ref/refinement_binary.pxd +++ b/src/sage/groups/perm_gps/partn_ref/refinement_binary.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules #***************************************************************************** # Copyright (C) 2006 - 2011 Robert L. Miller # diff --git a/src/sage/groups/perm_gps/partn_ref/refinement_binary.pyx b/src/sage/groups/perm_gps/partn_ref/refinement_binary.pyx index 6a3c07ac75d..3590d950164 100644 --- a/src/sage/groups/perm_gps/partn_ref/refinement_binary.pyx +++ b/src/sage/groups/perm_gps/partn_ref/refinement_binary.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: optional - sage.modules sage.rings.finite_rings """ Partition backtrack functions for binary codes diff --git a/src/sage/groups/perm_gps/partn_ref/refinement_graphs.pxd b/src/sage/groups/perm_gps/partn_ref/refinement_graphs.pxd index 464ddde015d..3dbbb6f8c5a 100644 --- a/src/sage/groups/perm_gps/partn_ref/refinement_graphs.pxd +++ b/src/sage/groups/perm_gps/partn_ref/refinement_graphs.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs #***************************************************************************** # Copyright (C) 2006 - 2011 Robert L. Miller # diff --git a/src/sage/groups/perm_gps/partn_ref/refinement_graphs.pyx b/src/sage/groups/perm_gps/partn_ref/refinement_graphs.pyx index 1b588487d1c..f5042c7bf58 100644 --- a/src/sage/groups/perm_gps/partn_ref/refinement_graphs.pyx +++ b/src/sage/groups/perm_gps/partn_ref/refinement_graphs.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs """ Graph-theoretic partition backtrack functions diff --git a/src/sage/groups/perm_gps/partn_ref/refinement_lists.pxd b/src/sage/groups/perm_gps/partn_ref/refinement_lists.pxd index e7b6cf42f6d..d8462ad64af 100644 --- a/src/sage/groups/perm_gps/partn_ref/refinement_lists.pxd +++ b/src/sage/groups/perm_gps/partn_ref/refinement_lists.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories #***************************************************************************** # Copyright (C) 2006 - 2011 Robert L. Miller # Copyright (C) 2009 Nicolas Borie diff --git a/src/sage/groups/perm_gps/partn_ref/refinement_lists.pyx b/src/sage/groups/perm_gps/partn_ref/refinement_lists.pyx index 00365bcbd3c..7959f355a02 100644 --- a/src/sage/groups/perm_gps/partn_ref/refinement_lists.pyx +++ b/src/sage/groups/perm_gps/partn_ref/refinement_lists.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Partition backtrack functions for lists -- a simple example of using partn_ref diff --git a/src/sage/groups/perm_gps/partn_ref/refinement_matrices.pxd b/src/sage/groups/perm_gps/partn_ref/refinement_matrices.pxd index 2cf087e9915..15a8c8a045b 100644 --- a/src/sage/groups/perm_gps/partn_ref/refinement_matrices.pxd +++ b/src/sage/groups/perm_gps/partn_ref/refinement_matrices.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules #***************************************************************************** # Copyright (C) 2006 - 2011 Robert L. Miller # diff --git a/src/sage/groups/perm_gps/partn_ref/refinement_matrices.pyx b/src/sage/groups/perm_gps/partn_ref/refinement_matrices.pyx index c8d4f86a8f1..616b45e6dba 100644 --- a/src/sage/groups/perm_gps/partn_ref/refinement_matrices.pyx +++ b/src/sage/groups/perm_gps/partn_ref/refinement_matrices.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Partition backtrack functions for matrices diff --git a/src/sage/groups/perm_gps/partn_ref/refinement_python.pxd b/src/sage/groups/perm_gps/partn_ref/refinement_python.pxd index 9f46107a1c1..96e68132042 100644 --- a/src/sage/groups/perm_gps/partn_ref/refinement_python.pxd +++ b/src/sage/groups/perm_gps/partn_ref/refinement_python.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories #***************************************************************************** # Copyright (C) 2006 - 2011 Robert L. Miller # diff --git a/src/sage/groups/perm_gps/partn_ref/refinement_python.pyx b/src/sage/groups/perm_gps/partn_ref/refinement_python.pyx index 23d5e7576c7..cef8a50bc58 100644 --- a/src/sage/groups/perm_gps/partn_ref/refinement_python.pyx +++ b/src/sage/groups/perm_gps/partn_ref/refinement_python.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Python interface to partition backtrack functions diff --git a/src/sage/groups/perm_gps/partn_ref/refinement_sets.pxd b/src/sage/groups/perm_gps/partn_ref/refinement_sets.pxd index 94bcbe5bf95..452dbd8a772 100644 --- a/src/sage/groups/perm_gps/partn_ref/refinement_sets.pxd +++ b/src/sage/groups/perm_gps/partn_ref/refinement_sets.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Declaration file for simple set datastructures diff --git a/src/sage/groups/perm_gps/partn_ref/refinement_sets.pyx b/src/sage/groups/perm_gps/partn_ref/refinement_sets.pyx index 6ccc0b28c45..232e4745c4c 100644 --- a/src/sage/groups/perm_gps/partn_ref/refinement_sets.pyx +++ b/src/sage/groups/perm_gps/partn_ref/refinement_sets.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Partition backtrack functions for sets diff --git a/src/sage/groups/perm_gps/partn_ref2/all.py b/src/sage/groups/perm_gps/partn_ref2/all.py index e69de29bb2d..dd59a6da735 100644 --- a/src/sage/groups/perm_gps/partn_ref2/all.py +++ b/src/sage/groups/perm_gps/partn_ref2/all.py @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-gap diff --git a/src/sage/groups/perm_gps/partn_ref2/refinement_generic.pxd b/src/sage/groups/perm_gps/partn_ref2/refinement_generic.pxd index 9ba66caff70..bef4ff59121 100644 --- a/src/sage/groups/perm_gps/partn_ref2/refinement_generic.pxd +++ b/src/sage/groups/perm_gps/partn_ref2/refinement_generic.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-gap #******************************************************************************* # Copyright (C) 2012 Thomas Feulner # diff --git a/src/sage/groups/perm_gps/partn_ref2/refinement_generic.pyx b/src/sage/groups/perm_gps/partn_ref2/refinement_generic.pyx index 261d1987897..b229fb8852d 100644 --- a/src/sage/groups/perm_gps/partn_ref2/refinement_generic.pyx +++ b/src/sage/groups/perm_gps/partn_ref2/refinement_generic.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-gap r""" Automorphism groups and canonical labels. diff --git a/src/sage/groups/perm_gps/permgroup.py b/src/sage/groups/perm_gps/permgroup.py index f001126ed84..4b33600db9f 100644 --- a/src/sage/groups/perm_gps/permgroup.py +++ b/src/sage/groups/perm_gps/permgroup.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-gap r""" Permutation groups diff --git a/src/sage/groups/perm_gps/permgroup_element.pxd b/src/sage/groups/perm_gps/permgroup_element.pxd index 21b509f06d1..81f767526b1 100644 --- a/src/sage/groups/perm_gps/permgroup_element.pxd +++ b/src/sage/groups/perm_gps/permgroup_element.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-gap from sage.structure.element cimport MultiplicativeGroupElement, MonoidElement, Element from sage.structure.list_clone cimport ClonableIntArray from sage.rings.polynomial.polydict cimport ETuple diff --git a/src/sage/groups/perm_gps/permgroup_element.pyx b/src/sage/groups/perm_gps/permgroup_element.pyx index 0d80d04a8af..00851d078c1 100644 --- a/src/sage/groups/perm_gps/permgroup_element.pyx +++ b/src/sage/groups/perm_gps/permgroup_element.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-gap r""" Permutation group elements diff --git a/src/sage/groups/perm_gps/permgroup_morphism.py b/src/sage/groups/perm_gps/permgroup_morphism.py index 206828b4e1a..a5a69f12d68 100644 --- a/src/sage/groups/perm_gps/permgroup_morphism.py +++ b/src/sage/groups/perm_gps/permgroup_morphism.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-gap r""" Permutation group homomorphisms diff --git a/src/sage/groups/perm_gps/permgroup_named.py b/src/sage/groups/perm_gps/permgroup_named.py index 69014066364..0840a1224f1 100644 --- a/src/sage/groups/perm_gps/permgroup_named.py +++ b/src/sage/groups/perm_gps/permgroup_named.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-gap r""" "Named" Permutation groups (such as the symmetric group, S_n) diff --git a/src/sage/groups/perm_gps/permutation_groups_catalog.py b/src/sage/groups/perm_gps/permutation_groups_catalog.py index 52f99920307..e91742a3e11 100644 --- a/src/sage/groups/perm_gps/permutation_groups_catalog.py +++ b/src/sage/groups/perm_gps/permutation_groups_catalog.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-gap r""" Catalog of permutation groups diff --git a/src/sage/groups/perm_gps/symgp_conjugacy_class.py b/src/sage/groups/perm_gps/symgp_conjugacy_class.py index 23f5cdab15c..8a2a75b8f97 100644 --- a/src/sage/groups/perm_gps/symgp_conjugacy_class.py +++ b/src/sage/groups/perm_gps/symgp_conjugacy_class.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-gap r""" Conjugacy Classes Of The Symmetric Group diff --git a/src/sage/groups/raag.py b/src/sage/groups/raag.py index 22c44cb2312..342f2a21d7d 100644 --- a/src/sage/groups/raag.py +++ b/src/sage/groups/raag.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-groups # sage.doctest: needs sage.graphs sage.rings.number_field r""" Right-Angled Artin Groups diff --git a/src/sage/groups/semimonomial_transformations/all.py b/src/sage/groups/semimonomial_transformations/all.py index e69de29bb2d..11f290a2a34 100644 --- a/src/sage/groups/semimonomial_transformations/all.py +++ b/src/sage/groups/semimonomial_transformations/all.py @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-groups diff --git a/src/sage/groups/semimonomial_transformations/semimonomial_transformation.pxd b/src/sage/groups/semimonomial_transformations/semimonomial_transformation.pxd index bd4f62d497f..178bd872df8 100644 --- a/src/sage/groups/semimonomial_transformations/semimonomial_transformation.pxd +++ b/src/sage/groups/semimonomial_transformations/semimonomial_transformation.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-groups from sage.structure.element cimport Element, MonoidElement, MultiplicativeGroupElement cdef class SemimonomialTransformation(MultiplicativeGroupElement): diff --git a/src/sage/groups/semimonomial_transformations/semimonomial_transformation.pyx b/src/sage/groups/semimonomial_transformations/semimonomial_transformation.pyx index baaefa1950e..460b7f566b3 100644 --- a/src/sage/groups/semimonomial_transformations/semimonomial_transformation.pyx +++ b/src/sage/groups/semimonomial_transformations/semimonomial_transformation.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-groups # sage.doctest: needs sage.rings.finite_rings r""" Elements of a semimonomial transformation group diff --git a/src/sage/groups/semimonomial_transformations/semimonomial_transformation_group.py b/src/sage/groups/semimonomial_transformations/semimonomial_transformation_group.py index e61c7bf64c7..8b91afca6cc 100644 --- a/src/sage/groups/semimonomial_transformations/semimonomial_transformation_group.py +++ b/src/sage/groups/semimonomial_transformations/semimonomial_transformation_group.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-groups # sage.doctest: needs sage.rings.finite_rings r""" Semimonomial transformation group diff --git a/src/sage/homology/algebraic_topological_model.py b/src/sage/homology/algebraic_topological_model.py index c7856836f28..caab0e0e6a7 100644 --- a/src/sage/homology/algebraic_topological_model.py +++ b/src/sage/homology/algebraic_topological_model.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.graphs r""" Algebraic topological model for a cell complex diff --git a/src/sage/homology/all.py b/src/sage/homology/all.py index d9306c19daa..4be53743f0a 100644 --- a/src/sage/homology/all.py +++ b/src/sage/homology/all.py @@ -1,6 +1,3 @@ -from .chain_complex import ChainComplex +# sage_setup: distribution = sagemath-modules -from .chain_complex_morphism import ChainComplexMorphism - -from sage.misc.lazy_import import lazy_import -lazy_import('sage.homology.koszul_complex', 'KoszulComplex') +from sage.homology.all__sagemath_modules import * diff --git a/src/sage/homology/all__sagemath_modules.py b/src/sage/homology/all__sagemath_modules.py new file mode 100644 index 00000000000..5ebb7604432 --- /dev/null +++ b/src/sage/homology/all__sagemath_modules.py @@ -0,0 +1,7 @@ +from sage.homology.chain_complex import ChainComplex + +from sage.homology.chain_complex_morphism import ChainComplexMorphism + +from sage.misc.lazy_import import lazy_import +lazy_import('sage.homology.koszul_complex', 'KoszulComplex') +del lazy_import diff --git a/src/sage/homology/chain_complex.py b/src/sage/homology/chain_complex.py index 0d692df4709..c01151ee7ed 100644 --- a/src/sage/homology/chain_complex.py +++ b/src/sage/homology/chain_complex.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-modules r""" Chain complexes diff --git a/src/sage/homology/chain_complex_homspace.py b/src/sage/homology/chain_complex_homspace.py index ad7a6bf9b84..eb550837a41 100644 --- a/src/sage/homology/chain_complex_homspace.py +++ b/src/sage/homology/chain_complex_homspace.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.graphs (because all doctests use SimplicialComplex) r""" Homspaces between chain complexes diff --git a/src/sage/homology/chain_complex_morphism.py b/src/sage/homology/chain_complex_morphism.py index afefe44eb79..0e6264c1b09 100644 --- a/src/sage/homology/chain_complex_morphism.py +++ b/src/sage/homology/chain_complex_morphism.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Morphisms of chain complexes diff --git a/src/sage/homology/chain_homotopy.py b/src/sage/homology/chain_homotopy.py index 91ae14eda11..8d5a1dd6351 100644 --- a/src/sage/homology/chain_homotopy.py +++ b/src/sage/homology/chain_homotopy.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-modules r""" Chain homotopies and chain contractions diff --git a/src/sage/homology/chains.py b/src/sage/homology/chains.py index b9a54940943..1bddf164ba4 100644 --- a/src/sage/homology/chains.py +++ b/src/sage/homology/chains.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.graphs (because all doctests use the catalogs simplicial_complexes, cubical_complexes) r""" Chains and cochains diff --git a/src/sage/homology/free_resolution.py b/src/sage/homology/free_resolution.py index 29c33e4e2a6..887713fb541 100644 --- a/src/sage/homology/free_resolution.py +++ b/src/sage/homology/free_resolution.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.libs.singular r""" Free resolutions diff --git a/src/sage/homology/graded_resolution.py b/src/sage/homology/graded_resolution.py index ceadd15c2de..7a46eb963d8 100644 --- a/src/sage/homology/graded_resolution.py +++ b/src/sage/homology/graded_resolution.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.libs.singular r""" Graded free resolutions diff --git a/src/sage/homology/hochschild_complex.py b/src/sage/homology/hochschild_complex.py index ea42164ef9d..0845517bcd6 100644 --- a/src/sage/homology/hochschild_complex.py +++ b/src/sage/homology/hochschild_complex.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.combinat (because all doctests use FreeAlgebra, SymmetricGroupAlgebra, etc.) """ Hochschild Complexes diff --git a/src/sage/homology/homology_group.py b/src/sage/homology/homology_group.py index 8d86d477ad8..12e07b61c07 100644 --- a/src/sage/homology/homology_group.py +++ b/src/sage/homology/homology_group.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Homology Groups diff --git a/src/sage/homology/homology_morphism.py b/src/sage/homology/homology_morphism.py index 1b4a69c2e7e..06eba661b3c 100644 --- a/src/sage/homology/homology_morphism.py +++ b/src/sage/homology/homology_morphism.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.graphs (because all doctests use the catalog simplicial_complexes) r""" Induced morphisms on homology diff --git a/src/sage/homology/homology_vector_space_with_basis.py b/src/sage/homology/homology_vector_space_with_basis.py index ace9775d56b..cc945e528ed 100644 --- a/src/sage/homology/homology_vector_space_with_basis.py +++ b/src/sage/homology/homology_vector_space_with_basis.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.graphs (because all doctests use the catalogs simplicial_complexes, cubical_complexes) """ diff --git a/src/sage/homology/koszul_complex.py b/src/sage/homology/koszul_complex.py index 22a1ceb5d80..5d0716e9772 100644 --- a/src/sage/homology/koszul_complex.py +++ b/src/sage/homology/koszul_complex.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Koszul Complexes """ diff --git a/src/sage/homology/matrix_utils.py b/src/sage/homology/matrix_utils.py index 4f10ae415a3..50a9ff6dba3 100644 --- a/src/sage/homology/matrix_utils.py +++ b/src/sage/homology/matrix_utils.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Utility Functions for Matrices diff --git a/src/sage/interacts/all.py b/src/sage/interacts/all.py index c53a1e11ecf..87d00072798 100644 --- a/src/sage/interacts/all.py +++ b/src/sage/interacts/all.py @@ -17,9 +17,10 @@ # **************************************************************************** from sage.misc.lazy_import import lazy_import -from . import calculus -from . import geometry -from . import statistics -from . import fractals -from . import algebra +from sage.interacts import calculus +from sage.interacts import geometry +from sage.interacts import statistics +from sage.interacts import fractals +from sage.interacts import algebra lazy_import('sage.interacts.library', 'demo') +del lazy_import diff --git a/src/sage/interfaces/abc.py b/src/sage/interfaces/abc.py index 9c451733631..e285fc0218b 100644 --- a/src/sage/interfaces/abc.py +++ b/src/sage/interfaces/abc.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Abstract base classes for interface elements """ diff --git a/src/sage/interfaces/all.py b/src/sage/interfaces/all.py index ed71b662362..5bc6576d935 100644 --- a/src/sage/interfaces/all.py +++ b/src/sage/interfaces/all.py @@ -1,15 +1,16 @@ +# sage_setup: distribution = sagemath-categories # interfaces to other interpreters -from .sage0 import sage0, sage0_version, Sage -from .gap import gap, gap_reset_workspace, Gap -from .gp import gp, gp_version, Gp +from sage.interfaces.sage0 import sage0, sage0_version, Sage +from sage.interfaces.gap import gap, gap_reset_workspace, Gap +from sage.interfaces.gp import gp, gp_version, Gp # import problems # from maxima_lib import maxima_lib -from .maxima import maxima, Maxima -from .singular import singular, singular_version, Singular +from sage.interfaces.maxima import maxima, Maxima +from sage.interfaces.singular import singular, singular_version, Singular -from .magma import magma, Magma -from .polymake import polymake +from sage.interfaces.magma import magma, Magma +from sage.interfaces.polymake import polymake from sage.misc.lazy_import import lazy_import @@ -48,3 +49,4 @@ 'kash', 'magma', 'macaulay2', 'maple', 'maxima', 'mathematica', 'mwrank', 'octave', 'r', 'singular', 'sage0', 'sage'] +del lazy_import diff --git a/src/sage/interfaces/all__sagemath_categories.py b/src/sage/interfaces/all__sagemath_categories.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/interfaces/all__sagemath_gap.py b/src/sage/interfaces/all__sagemath_gap.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/interfaces/all__sagemath_libecm.py b/src/sage/interfaces/all__sagemath_libecm.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/interfaces/all__sagemath_pari.py b/src/sage/interfaces/all__sagemath_pari.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/interfaces/all__sagemath_plot.py b/src/sage/interfaces/all__sagemath_plot.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/interfaces/all__sagemath_polyhedra.py b/src/sage/interfaces/all__sagemath_polyhedra.py index e69de29bb2d..ca4c26e905d 100644 --- a/src/sage/interfaces/all__sagemath_polyhedra.py +++ b/src/sage/interfaces/all__sagemath_polyhedra.py @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-polyhedra diff --git a/src/sage/interfaces/all__sagemath_symbolics.py b/src/sage/interfaces/all__sagemath_symbolics.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/interfaces/cleaner.py b/src/sage/interfaces/cleaner.py index 54bfac779ac..2d72be495e1 100644 --- a/src/sage/interfaces/cleaner.py +++ b/src/sage/interfaces/cleaner.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Interface to the Sage cleaner diff --git a/src/sage/interfaces/ecm.py b/src/sage/interfaces/ecm.py index ae1379861f2..0dc08138b35 100644 --- a/src/sage/interfaces/ecm.py +++ b/src/sage/interfaces/ecm.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-libecm r""" The Elliptic Curve Factorization Method diff --git a/src/sage/interfaces/expect.py b/src/sage/interfaces/expect.py index 340ada3f185..e2e9b6687ba 100644 --- a/src/sage/interfaces/expect.py +++ b/src/sage/interfaces/expect.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.libs.gap sage.libs.pari sage.libs.singular sage.symbolic """ Common Interface Functionality through Pexpect diff --git a/src/sage/interfaces/four_ti_2.py b/src/sage/interfaces/four_ti_2.py index 42fa64d0155..ff56f832365 100644 --- a/src/sage/interfaces/four_ti_2.py +++ b/src/sage/interfaces/four_ti_2.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra r""" Interface to 4ti2 diff --git a/src/sage/interfaces/fricas.py b/src/sage/interfaces/fricas.py index 87feb554d16..6b2036d2a64 100644 --- a/src/sage/interfaces/fricas.py +++ b/src/sage/interfaces/fricas.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics # sage.doctest: optional - fricas r""" Interface to FriCAS diff --git a/src/sage/interfaces/frobby.py b/src/sage/interfaces/frobby.py index 75e6da5b4d9..498a5a6da58 100644 --- a/src/sage/interfaces/frobby.py +++ b/src/sage/interfaces/frobby.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- r""" Interface to Frobby for fast computations on monomial ideals. diff --git a/src/sage/interfaces/gap.py b/src/sage/interfaces/gap.py index ee5861ac785..d087f32293a 100644 --- a/src/sage/interfaces/gap.py +++ b/src/sage/interfaces/gap.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-gap r""" Interface to GAP diff --git a/src/sage/interfaces/gap3.py b/src/sage/interfaces/gap3.py index de2a7fe4289..310f5a965a7 100644 --- a/src/sage/interfaces/gap3.py +++ b/src/sage/interfaces/gap3.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-gap r""" Interface to GAP3 diff --git a/src/sage/interfaces/gap_workspace.py b/src/sage/interfaces/gap_workspace.py index 70bb584fdef..fdb4d87f577 100644 --- a/src/sage/interfaces/gap_workspace.py +++ b/src/sage/interfaces/gap_workspace.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-gap r""" Support for (lib)GAP workspace files """ diff --git a/src/sage/interfaces/genus2reduction.py b/src/sage/interfaces/genus2reduction.py index 28d9d58473d..f2e3b7ab2e1 100644 --- a/src/sage/interfaces/genus2reduction.py +++ b/src/sage/interfaces/genus2reduction.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- r""" Conductor and reduction types for genus 2 curves diff --git a/src/sage/interfaces/giac.py b/src/sage/interfaces/giac.py index 9c4a3b5e1c1..4dc0ac9660b 100644 --- a/src/sage/interfaces/giac.py +++ b/src/sage/interfaces/giac.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Pexpect Interface to Giac diff --git a/src/sage/interfaces/gnuplot.py b/src/sage/interfaces/gnuplot.py index dc9b3f3e320..b5e6c32d145 100644 --- a/src/sage/interfaces/gnuplot.py +++ b/src/sage/interfaces/gnuplot.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-plot r""" Interface to the Gnuplot interpreter """ diff --git a/src/sage/interfaces/gp.py b/src/sage/interfaces/gp.py index 2e6a20339be..2b18888818e 100644 --- a/src/sage/interfaces/gp.py +++ b/src/sage/interfaces/gp.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari # sage.doctest: needs sage.libs.pari r""" Interface to the GP calculator of PARI/GP diff --git a/src/sage/interfaces/interface.py b/src/sage/interfaces/interface.py index 517c0c6fc7a..e49d5e19d3f 100644 --- a/src/sage/interfaces/interface.py +++ b/src/sage/interfaces/interface.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.libs.gap sage.libs.pari sage.libs.singular sage.symbolic r""" Common Interface Functionality diff --git a/src/sage/interfaces/jmoldata.py b/src/sage/interfaces/jmoldata.py index add4b453b3d..d0a1571fa3b 100644 --- a/src/sage/interfaces/jmoldata.py +++ b/src/sage/interfaces/jmoldata.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-plot r""" Interface for extracting data and generating images from Jmol readable files. diff --git a/src/sage/interfaces/latte.py b/src/sage/interfaces/latte.py index 6923be55d53..c2a1f0dfb23 100644 --- a/src/sage/interfaces/latte.py +++ b/src/sage/interfaces/latte.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra r""" Interface to LattE integrale programs """ diff --git a/src/sage/interfaces/magma.py b/src/sage/interfaces/magma.py index 48ed6deb722..9f0c2420571 100644 --- a/src/sage/interfaces/magma.py +++ b/src/sage/interfaces/magma.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Interface to Magma diff --git a/src/sage/interfaces/magma_free.py b/src/sage/interfaces/magma_free.py index 34d5b70f29a..e31e12b7e4c 100644 --- a/src/sage/interfaces/magma_free.py +++ b/src/sage/interfaces/magma_free.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics "Interface to the free online MAGMA calculator" # **************************************************************************** diff --git a/src/sage/interfaces/maple.py b/src/sage/interfaces/maple.py index 92e7d7c9200..59a9713a704 100644 --- a/src/sage/interfaces/maple.py +++ b/src/sage/interfaces/maple.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Interface to Maple diff --git a/src/sage/interfaces/mathematica.py b/src/sage/interfaces/mathematica.py index 99b531e80eb..7797f34b4ef 100644 --- a/src/sage/interfaces/mathematica.py +++ b/src/sage/interfaces/mathematica.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Interface to Mathematica diff --git a/src/sage/interfaces/mathics.py b/src/sage/interfaces/mathics.py index 48328d1b083..48e222078f8 100644 --- a/src/sage/interfaces/mathics.py +++ b/src/sage/interfaces/mathics.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Interface to Mathics diff --git a/src/sage/interfaces/maxima.py b/src/sage/interfaces/maxima.py index de0f6aad7fc..e6b48c39b06 100644 --- a/src/sage/interfaces/maxima.py +++ b/src/sage/interfaces/maxima.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Pexpect interface to Maxima diff --git a/src/sage/interfaces/maxima_abstract.py b/src/sage/interfaces/maxima_abstract.py index 767b5173823..539e8854403 100644 --- a/src/sage/interfaces/maxima_abstract.py +++ b/src/sage/interfaces/maxima_abstract.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-symbolics r""" Abstract interface to Maxima diff --git a/src/sage/interfaces/maxima_lib.py b/src/sage/interfaces/maxima_lib.py index 3efeed0bbee..13102783576 100644 --- a/src/sage/interfaces/maxima_lib.py +++ b/src/sage/interfaces/maxima_lib.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Library interface to Maxima diff --git a/src/sage/interfaces/povray.py b/src/sage/interfaces/povray.py index b892cb112cd..bfc8d445f6f 100644 --- a/src/sage/interfaces/povray.py +++ b/src/sage/interfaces/povray.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-plot r""" POV-Ray, The Persistence of Vision Ray Tracer """ diff --git a/src/sage/interfaces/process.pxd b/src/sage/interfaces/process.pxd index 3f1ae3f0dc8..99a14e6bb43 100644 --- a/src/sage/interfaces/process.pxd +++ b/src/sage/interfaces/process.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories cdef class ContainChildren(): cdef int parentpid cdef int exitcode, exceptcode diff --git a/src/sage/interfaces/process.pyx b/src/sage/interfaces/process.pyx index 016de82a30f..e8cda516797 100644 --- a/src/sage/interfaces/process.pyx +++ b/src/sage/interfaces/process.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Utilities for subprocess management """ diff --git a/src/sage/interfaces/qepcad.py b/src/sage/interfaces/qepcad.py index 6aa5b008859..732309f9c69 100644 --- a/src/sage/interfaces/qepcad.py +++ b/src/sage/interfaces/qepcad.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Interface to QEPCAD =================== diff --git a/src/sage/interfaces/quit.py b/src/sage/interfaces/quit.py index d93cdf2730a..d2757356784 100644 --- a/src/sage/interfaces/quit.py +++ b/src/sage/interfaces/quit.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Quitting interfaces """ diff --git a/src/sage/interfaces/r.py b/src/sage/interfaces/r.py index 232d767c944..2d0b393ab0c 100644 --- a/src/sage/interfaces/r.py +++ b/src/sage/interfaces/r.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- r""" Interfaces to R diff --git a/src/sage/interfaces/sage0.py b/src/sage/interfaces/sage0.py index 12aa8447eff..8da8f5017e3 100644 --- a/src/sage/interfaces/sage0.py +++ b/src/sage/interfaces/sage0.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.all r""" Interface to Sage diff --git a/src/sage/interfaces/sagespawn.pyx b/src/sage/interfaces/sagespawn.pyx index f146fa01ddb..7db6da52348 100644 --- a/src/sage/interfaces/sagespawn.pyx +++ b/src/sage/interfaces/sagespawn.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: optional - ptyprocess """ Sage wrapper around pexpect's ``spawn`` class and diff --git a/src/sage/interfaces/sympy.py b/src/sage/interfaces/sympy.py index d291727ee0e..c245a2c9da6 100644 --- a/src/sage/interfaces/sympy.py +++ b/src/sage/interfaces/sympy.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics # sage.doctest: optional - sympy """ SymPy --> Sage conversion diff --git a/src/sage/interfaces/sympy_wrapper.py b/src/sage/interfaces/sympy_wrapper.py index 5ad6095a787..56f00a036c6 100644 --- a/src/sage/interfaces/sympy_wrapper.py +++ b/src/sage/interfaces/sympy_wrapper.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics # sage.doctest: optional - sympy """ Wrapper Class for Sage Sets as SymPy Sets diff --git a/src/sage/interfaces/tab_completion.py b/src/sage/interfaces/tab_completion.py index ca106a67273..1cc27554350 100644 --- a/src/sage/interfaces/tab_completion.py +++ b/src/sage/interfaces/tab_completion.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Mixin For Extra Tab Completions diff --git a/src/sage/interfaces/tachyon.py b/src/sage/interfaces/tachyon.py index 253253620bd..46b76d6a563 100644 --- a/src/sage/interfaces/tachyon.py +++ b/src/sage/interfaces/tachyon.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-plot r""" The Tachyon Ray Tracer diff --git a/src/sage/interfaces/tides.py b/src/sage/interfaces/tides.py index 309046f30ac..2bf8218ed33 100644 --- a/src/sage/interfaces/tides.py +++ b/src/sage/interfaces/tides.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Interface to TIDES diff --git a/src/sage/knots/all.py b/src/sage/knots/all.py index d25acbda1a3..68945068849 100644 --- a/src/sage/knots/all.py +++ b/src/sage/knots/all.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs from sage.misc.lazy_import import lazy_import from sage.features.databases import DatabaseKnotInfo diff --git a/src/sage/knots/gauss_code.py b/src/sage/knots/gauss_code.py index 0a631bdd0d5..2438808364d 100644 --- a/src/sage/knots/gauss_code.py +++ b/src/sage/knots/gauss_code.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-graphs """ Helper functions related to Gauss codes of knots diff --git a/src/sage/knots/knot.py b/src/sage/knots/knot.py index 10f0e241608..76119f6c593 100644 --- a/src/sage/knots/knot.py +++ b/src/sage/knots/knot.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-graphs r""" Knots diff --git a/src/sage/knots/knot_table.py b/src/sage/knots/knot_table.py index 8defab899c4..85e1a156574 100644 --- a/src/sage/knots/knot_table.py +++ b/src/sage/knots/knot_table.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs r""" Rolfsen database of knots with at most 10 crossings. diff --git a/src/sage/knots/knotinfo.py b/src/sage/knots/knotinfo.py index d30fd678735..ea94af29ff2 100644 --- a/src/sage/knots/knotinfo.py +++ b/src/sage/knots/knotinfo.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-graphs r""" Access to the KnotInfo database diff --git a/src/sage/knots/link.py b/src/sage/knots/link.py index 7ddbe5879c3..9d988d877cf 100644 --- a/src/sage/knots/link.py +++ b/src/sage/knots/link.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs r""" Links diff --git a/src/sage/lfunctions/all.py b/src/sage/lfunctions/all.py index 9281f97ebbe..80b30c2ec6e 100644 --- a/src/sage/lfunctions/all.py +++ b/src/sage/lfunctions/all.py @@ -1,6 +1,8 @@ -from sage.misc.lazy_import import lazy_import as _lazy_import_ +from sage.misc.lazy_import import lazy_import -_lazy_import_("sage.lfunctions.dokchitser", "Dokchitser") -_lazy_import_("sage.lfunctions.sympow", "sympow") -_lazy_import_("sage.lfunctions.zero_sums", "LFunctionZeroSum") -_lazy_import_("sage.lfunctions.lcalc", "lcalc") +lazy_import("sage.lfunctions.dokchitser", "Dokchitser") +lazy_import("sage.lfunctions.sympow", "sympow") +lazy_import("sage.lfunctions.zero_sums", "LFunctionZeroSum") +lazy_import("sage.lfunctions.lcalc", "lcalc") + +del lazy_import diff --git a/src/sage/lfunctions/all__sagemath_lcalc.py b/src/sage/lfunctions/all__sagemath_lcalc.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/lfunctions/lcalc.py b/src/sage/lfunctions/lcalc.py index 73246cdd81e..e8b4c728575 100644 --- a/src/sage/lfunctions/lcalc.py +++ b/src/sage/lfunctions/lcalc.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-lcalc r""" Rubinstein's `L`-function calculator diff --git a/src/sage/lfunctions/pari.py b/src/sage/lfunctions/pari.py index 732eb115584..770d59c02b5 100644 --- a/src/sage/lfunctions/pari.py +++ b/src/sage/lfunctions/pari.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- """ `L`-functions from PARI diff --git a/src/sage/libs/all.py b/src/sage/libs/all.py index f85115a4da2..7c6e14767cf 100644 --- a/src/sage/libs/all.py +++ b/src/sage/libs/all.py @@ -1,19 +1,11 @@ - -import sage.libs.ntl.all as ntl - -from sage.libs.pari.all import pari, pari_gen, PariError - -import sage.libs.symmetrica.all as symmetrica - -from sage.misc.lazy_import import lazy_import -lazy_import('sage.libs.gap.libgap', 'libgap') - -lazy_import('sage.libs.eclib.constructor', 'CremonaModularSymbols') -lazy_import('sage.libs.eclib.interface', ['mwrank_EllipticCurve', 'mwrank_MordellWeil']) -lazy_import('sage.libs.eclib.mwrank', 'get_precision', 'mwrank_get_precision') -lazy_import('sage.libs.eclib.mwrank', 'set_precision', 'mwrank_set_precision') -lazy_import('sage.libs.eclib.mwrank', 'initprimes', 'mwrank_initprimes') - -lazy_import('sage.libs.flint.qsieve_sage', 'qsieve') - -lazy_import('sage.libs.giac.giac', 'libgiac') +from sage.libs.all__sagemath_combinat import * +from sage.libs.all__sagemath_gap import * +from sage.libs.all__sagemath_flint import * +from sage.libs.all__sagemath_ntl import * +from sage.libs.all__sagemath_pari import * +from sage.libs.all__sagemath_eclib import * + +try: + from sage.libs.all__sagemath_symbolics import * +except ImportError: + pass diff --git a/src/sage/libs/all__sagemath_brial.py b/src/sage/libs/all__sagemath_brial.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/libs/all__sagemath_combinat.py b/src/sage/libs/all__sagemath_combinat.py new file mode 100644 index 00000000000..49fc95742c3 --- /dev/null +++ b/src/sage/libs/all__sagemath_combinat.py @@ -0,0 +1,5 @@ +from sage.misc.lazy_import import lazy_import + +lazy_import('sage.libs.symmetrica', 'all', as_='symmetrica') + +del lazy_import diff --git a/src/sage/libs/all__sagemath_coxeter3.py b/src/sage/libs/all__sagemath_coxeter3.py index e69de29bb2d..61138b7bc1a 100644 --- a/src/sage/libs/all__sagemath_coxeter3.py +++ b/src/sage/libs/all__sagemath_coxeter3.py @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-coxeter3 diff --git a/src/sage/libs/all__sagemath_eclib.py b/src/sage/libs/all__sagemath_eclib.py new file mode 100644 index 00000000000..23d7839846c --- /dev/null +++ b/src/sage/libs/all__sagemath_eclib.py @@ -0,0 +1,10 @@ + +from sage.misc.lazy_import import lazy_import + +lazy_import('sage.libs.eclib.constructor', 'CremonaModularSymbols') +lazy_import('sage.libs.eclib.interface', ['mwrank_EllipticCurve', 'mwrank_MordellWeil']) +lazy_import('sage.libs.eclib.mwrank', 'get_precision', 'mwrank_get_precision') +lazy_import('sage.libs.eclib.mwrank', 'set_precision', 'mwrank_set_precision') +lazy_import('sage.libs.eclib.mwrank', 'initprimes', 'mwrank_initprimes') + +del lazy_import diff --git a/src/sage/libs/all__sagemath_flint.py b/src/sage/libs/all__sagemath_flint.py new file mode 100644 index 00000000000..b5e330d8329 --- /dev/null +++ b/src/sage/libs/all__sagemath_flint.py @@ -0,0 +1,16 @@ + +try: + from sage.libs.all__sagemath_pari import * +except ImportError: + pass + +try: + from sage.libs.all__sagemath_ntl import * +except ImportError: + pass + +from sage.misc.lazy_import import lazy_import + +lazy_import('sage.libs.flint.qsieve_sage', 'qsieve') + +del lazy_import diff --git a/src/sage/libs/all__sagemath_gap.py b/src/sage/libs/all__sagemath_gap.py new file mode 100644 index 00000000000..e4b82d9deb5 --- /dev/null +++ b/src/sage/libs/all__sagemath_gap.py @@ -0,0 +1,3 @@ +from sage.misc.lazy_import import lazy_import +lazy_import('sage.libs.gap.libgap', 'libgap') +del lazy_import diff --git a/src/sage/libs/all__sagemath_giac.py b/src/sage/libs/all__sagemath_giac.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/libs/all__sagemath_glpk.py b/src/sage/libs/all__sagemath_glpk.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/libs/all__sagemath_homfly.py b/src/sage/libs/all__sagemath_homfly.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/libs/all__sagemath_lcalc.py b/src/sage/libs/all__sagemath_lcalc.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/libs/all__sagemath_libbraiding.py b/src/sage/libs/all__sagemath_libbraiding.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/libs/all__sagemath_libecm.py b/src/sage/libs/all__sagemath_libecm.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/libs/all__sagemath_linbox.py b/src/sage/libs/all__sagemath_linbox.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/libs/all__sagemath_meataxe.py b/src/sage/libs/all__sagemath_meataxe.py index e69de29bb2d..fd1e327ee2f 100644 --- a/src/sage/libs/all__sagemath_meataxe.py +++ b/src/sage/libs/all__sagemath_meataxe.py @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-meataxe diff --git a/src/sage/libs/all__sagemath_modules.py b/src/sage/libs/all__sagemath_modules.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/libs/all__sagemath_mpmath.py b/src/sage/libs/all__sagemath_mpmath.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/libs/all__sagemath_ntl.py b/src/sage/libs/all__sagemath_ntl.py new file mode 100644 index 00000000000..ad98922f701 --- /dev/null +++ b/src/sage/libs/all__sagemath_ntl.py @@ -0,0 +1,2 @@ + +import sage.libs.ntl.all as ntl diff --git a/src/sage/libs/all__sagemath_objects.py b/src/sage/libs/all__sagemath_objects.py index 38e44245ad3..40da49fdd73 100644 --- a/src/sage/libs/all__sagemath_objects.py +++ b/src/sage/libs/all__sagemath_objects.py @@ -1,2 +1,3 @@ +# sage_setup: distribution = sagemath-objects # The presence of this file ensures that sage_setup for sagemath-objects # considers this directory as a namespace package diff --git a/src/sage/libs/all__sagemath_pari.py b/src/sage/libs/all__sagemath_pari.py new file mode 100644 index 00000000000..3babb25ee71 --- /dev/null +++ b/src/sage/libs/all__sagemath_pari.py @@ -0,0 +1 @@ +from sage.libs.pari.all import pari, pari_gen, PariError diff --git a/src/sage/libs/all__sagemath_singular.py b/src/sage/libs/all__sagemath_singular.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/libs/all__sagemath_sirocco.py b/src/sage/libs/all__sagemath_sirocco.py index e69de29bb2d..44db2511e89 100644 --- a/src/sage/libs/all__sagemath_sirocco.py +++ b/src/sage/libs/all__sagemath_sirocco.py @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-sirocco diff --git a/src/sage/libs/all__sagemath_symbolics.py b/src/sage/libs/all__sagemath_symbolics.py new file mode 100644 index 00000000000..9c096062eb5 --- /dev/null +++ b/src/sage/libs/all__sagemath_symbolics.py @@ -0,0 +1,4 @@ +from sage.misc.lazy_import import lazy_import + +lazy_import('sage.libs.giac.giac', 'libgiac') +del lazy_import diff --git a/src/sage/libs/arb/__init__.py b/src/sage/libs/arb/__init__.py index e69de29bb2d..d31bae41036 100644 --- a/src/sage/libs/arb/__init__.py +++ b/src/sage/libs/arb/__init__.py @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-flint diff --git a/src/sage/libs/arb/acb.pxd b/src/sage/libs/arb/acb.pxd index 9dac39b52a6..212ae927fcf 100644 --- a/src/sage/libs/arb/acb.pxd +++ b/src/sage/libs/arb/acb.pxd @@ -1,3 +1,5 @@ +# sage_setup: distribution = sagemath-flint + # Deprecated header file; use sage/libs/flint/acb.pxd instead # See https://github.com/sagemath/sage/pull/36449 diff --git a/src/sage/libs/arb/acb_calc.pxd b/src/sage/libs/arb/acb_calc.pxd index c06d7c5ad39..b2d79e9416d 100644 --- a/src/sage/libs/arb/acb_calc.pxd +++ b/src/sage/libs/arb/acb_calc.pxd @@ -1,3 +1,5 @@ +# sage_setup: distribution = sagemath-flint + # Deprecated header file; use sage/libs/flint/acb_calc.pxd instead # See https://github.com/sagemath/sage/pull/36449 diff --git a/src/sage/libs/arb/acb_elliptic.pxd b/src/sage/libs/arb/acb_elliptic.pxd index d1899d64b94..4bbd36ab55b 100644 --- a/src/sage/libs/arb/acb_elliptic.pxd +++ b/src/sage/libs/arb/acb_elliptic.pxd @@ -1,3 +1,5 @@ +# sage_setup: distribution = sagemath-flint + # Deprecated header file; use sage/libs/flint/acb_elliptic.pxd instead # See https://github.com/sagemath/sage/pull/36449 diff --git a/src/sage/libs/arb/acb_hypgeom.pxd b/src/sage/libs/arb/acb_hypgeom.pxd index 641dd595004..240a71df996 100644 --- a/src/sage/libs/arb/acb_hypgeom.pxd +++ b/src/sage/libs/arb/acb_hypgeom.pxd @@ -1,3 +1,5 @@ +# sage_setup: distribution = sagemath-flint + # Deprecated header file; use sage/libs/flint/acb_hypgeom.pxd instead # See https://github.com/sagemath/sage/pull/36449 diff --git a/src/sage/libs/arb/acb_mat.pxd b/src/sage/libs/arb/acb_mat.pxd index 5c16b9481a4..eab8badd5f8 100644 --- a/src/sage/libs/arb/acb_mat.pxd +++ b/src/sage/libs/arb/acb_mat.pxd @@ -1,3 +1,5 @@ +# sage_setup: distribution = sagemath-flint + # Deprecated header file; use sage/libs/flint/acb_mat.pxd instead # See https://github.com/sagemath/sage/pull/36449 diff --git a/src/sage/libs/arb/acb_modular.pxd b/src/sage/libs/arb/acb_modular.pxd index 46ef451ddd4..fcab53d4124 100644 --- a/src/sage/libs/arb/acb_modular.pxd +++ b/src/sage/libs/arb/acb_modular.pxd @@ -1,3 +1,5 @@ +# sage_setup: distribution = sagemath-flint + # Deprecated header file; use sage/libs/flint/acb_modular.pxd instead # See https://github.com/sagemath/sage/pull/36449 diff --git a/src/sage/libs/arb/acb_poly.pxd b/src/sage/libs/arb/acb_poly.pxd index 42f4eae1ad4..1fa3dee2c7d 100644 --- a/src/sage/libs/arb/acb_poly.pxd +++ b/src/sage/libs/arb/acb_poly.pxd @@ -1,3 +1,5 @@ +# sage_setup: distribution = sagemath-flint + # Deprecated header file; use sage/libs/flint/acb_poly.pxd instead # See https://github.com/sagemath/sage/pull/36449 diff --git a/src/sage/libs/arb/arb.pxd b/src/sage/libs/arb/arb.pxd index 704a5419c2f..acc5bdc5cde 100644 --- a/src/sage/libs/arb/arb.pxd +++ b/src/sage/libs/arb/arb.pxd @@ -1,3 +1,5 @@ +# sage_setup: distribution = sagemath-flint + # Deprecated header file; use sage/libs/flint/arb.pxd instead # See https://github.com/sagemath/sage/pull/36449 diff --git a/src/sage/libs/arb/arb_fmpz_poly.pxd b/src/sage/libs/arb/arb_fmpz_poly.pxd index a1de902aeb4..f0b3750967e 100644 --- a/src/sage/libs/arb/arb_fmpz_poly.pxd +++ b/src/sage/libs/arb/arb_fmpz_poly.pxd @@ -1,3 +1,5 @@ +# sage_setup: distribution = sagemath-flint + # Deprecated header file; use sage/libs/flint/arb_fmpz_poly.pxd instead # See https://github.com/sagemath/sage/pull/36449 diff --git a/src/sage/libs/arb/arb_hypgeom.pxd b/src/sage/libs/arb/arb_hypgeom.pxd index 09ef72742a1..e7e0389f5c6 100644 --- a/src/sage/libs/arb/arb_hypgeom.pxd +++ b/src/sage/libs/arb/arb_hypgeom.pxd @@ -1,3 +1,5 @@ +# sage_setup: distribution = sagemath-flint + # Deprecated header file; use sage/libs/flint/arb_hypgeom.pxd instead # See https://github.com/sagemath/sage/pull/36449 diff --git a/src/sage/libs/arb/arf.pxd b/src/sage/libs/arb/arf.pxd index bfdca642bc9..92a71f24bba 100644 --- a/src/sage/libs/arb/arf.pxd +++ b/src/sage/libs/arb/arf.pxd @@ -1,3 +1,5 @@ +# sage_setup: distribution = sagemath-flint + # Deprecated header file; use sage/libs/flint/arf.pxd instead # See https://github.com/sagemath/sage/pull/36449 diff --git a/src/sage/libs/arb/arith.pyx b/src/sage/libs/arb/arith.pyx index 8bc843aa2a3..d95977e4176 100644 --- a/src/sage/libs/arb/arith.pyx +++ b/src/sage/libs/arb/arith.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint """ Arithmetic functions using the arb library """ diff --git a/src/sage/libs/arb/bernoulli.pxd b/src/sage/libs/arb/bernoulli.pxd index a347f8e8378..4b9901c4895 100644 --- a/src/sage/libs/arb/bernoulli.pxd +++ b/src/sage/libs/arb/bernoulli.pxd @@ -1,3 +1,5 @@ +# sage_setup: distribution = sagemath-flint + # Deprecated header file; use sage/libs/flint/bernoulli.pxd instead # See https://github.com/sagemath/sage/pull/36449 diff --git a/src/sage/libs/arb/mag.pxd b/src/sage/libs/arb/mag.pxd index 7c75a4343cc..4a65282aaa6 100644 --- a/src/sage/libs/arb/mag.pxd +++ b/src/sage/libs/arb/mag.pxd @@ -1,3 +1,5 @@ +# sage_setup: distribution = sagemath-flint + # Deprecated header file; use sage/libs/flint/mag.pxd instead # See https://github.com/sagemath/sage/pull/36449 diff --git a/src/sage/libs/arb/types.pxd b/src/sage/libs/arb/types.pxd index 85969f380b8..7582aa556e8 100644 --- a/src/sage/libs/arb/types.pxd +++ b/src/sage/libs/arb/types.pxd @@ -1,3 +1,5 @@ +# sage_setup: distribution = sagemath-flint + # Deprecated header file; use sage/libs/flint/types.pxd instead # See https://github.com/sagemath/sage/pull/36449 diff --git a/src/sage/libs/braiding.pyx b/src/sage/libs/braiding.pyx index f3849a55d7e..c10601dfe56 100644 --- a/src/sage/libs/braiding.pyx +++ b/src/sage/libs/braiding.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-libbraiding # distutils: libraries = braiding # distutils: language = c++ r""" diff --git a/src/sage/libs/ecl.pxd b/src/sage/libs/ecl.pxd index 19472171403..24d872c59ff 100644 --- a/src/sage/libs/ecl.pxd +++ b/src/sage/libs/ecl.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics # distutils: extra_compile_args = ECL_CFLAGS # distutils: include_dirs = ECL_INCDIR # distutils: libraries = ECL_LIBRARIES diff --git a/src/sage/libs/ecl.pyx b/src/sage/libs/ecl.pyx index 1cc38a3ab3a..9095c57f38c 100644 --- a/src/sage/libs/ecl.pyx +++ b/src/sage/libs/ecl.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics """ Library interface to Embeddable Common Lisp (ECL) """ diff --git a/src/sage/libs/eclib/__init__.pxd b/src/sage/libs/eclib/__init__.pxd index d44d4fba865..8bade99e170 100644 --- a/src/sage/libs/eclib/__init__.pxd +++ b/src/sage/libs/eclib/__init__.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-eclib # distutils: language = c++ # distutils: libraries = ec NTL_LIBRARIES pari gmp m # distutils: extra_compile_args = NTL_CFLAGS diff --git a/src/sage/libs/eclib/__init__.py b/src/sage/libs/eclib/__init__.py index e69de29bb2d..95995325cb0 100644 --- a/src/sage/libs/eclib/__init__.py +++ b/src/sage/libs/eclib/__init__.py @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-eclib diff --git a/src/sage/libs/eclib/all.py b/src/sage/libs/eclib/all.py index 717a66fae7b..0be330b09e4 100644 --- a/src/sage/libs/eclib/all.py +++ b/src/sage/libs/eclib/all.py @@ -1,4 +1,6 @@ -from .constructor import CremonaModularSymbols -from .interface import mwrank_EllipticCurve, mwrank_MordellWeil -from .mwrank import get_precision, set_precision -from .mwrank import initprimes as mwrank_initprimes +# sage_setup: distribution = sagemath-eclib + +from sage.libs.eclib.constructor import CremonaModularSymbols +from sage.libs.eclib.interface import mwrank_EllipticCurve, mwrank_MordellWeil +from sage.libs.eclib.mwrank import get_precision, set_precision +from sage.libs.eclib.mwrank import initprimes as mwrank_initprimes diff --git a/src/sage/libs/eclib/constructor.py b/src/sage/libs/eclib/constructor.py index 7c1c21377d0..37e2e373a2b 100644 --- a/src/sage/libs/eclib/constructor.py +++ b/src/sage/libs/eclib/constructor.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-eclib "Cremona modular symbols" def CremonaModularSymbols(level, sign=0, cuspidal=False, verbose=0): diff --git a/src/sage/libs/eclib/homspace.pxd b/src/sage/libs/eclib/homspace.pxd index d3600547f1e..f9fdefe66f4 100644 --- a/src/sage/libs/eclib/homspace.pxd +++ b/src/sage/libs/eclib/homspace.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-eclib from sage.libs.eclib cimport homspace cdef class ModularSymbols: diff --git a/src/sage/libs/eclib/homspace.pyx b/src/sage/libs/eclib/homspace.pyx index 723bdc8c30e..77bf76b299a 100644 --- a/src/sage/libs/eclib/homspace.pyx +++ b/src/sage/libs/eclib/homspace.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-eclib "Cremona modular symbols" from cysignals.signals cimport sig_on, sig_off diff --git a/src/sage/libs/eclib/interface.py b/src/sage/libs/eclib/interface.py index 7b2b07b1f3f..bc78e4c47c4 100644 --- a/src/sage/libs/eclib/interface.py +++ b/src/sage/libs/eclib/interface.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-eclib r""" Sage interface to Cremona's ``eclib`` library (also known as ``mwrank``) diff --git a/src/sage/libs/eclib/mat.pxd b/src/sage/libs/eclib/mat.pxd index 509bd4d0ce8..f582ab4a21f 100644 --- a/src/sage/libs/eclib/mat.pxd +++ b/src/sage/libs/eclib/mat.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-eclib from sage.libs.eclib cimport mat cdef class Matrix: diff --git a/src/sage/libs/eclib/mat.pyx b/src/sage/libs/eclib/mat.pyx index b4b607ef083..80499d89297 100644 --- a/src/sage/libs/eclib/mat.pyx +++ b/src/sage/libs/eclib/mat.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-eclib """ Cremona matrices """ diff --git a/src/sage/libs/eclib/mwrank.pyx b/src/sage/libs/eclib/mwrank.pyx index bc475f907b6..a74860db330 100644 --- a/src/sage/libs/eclib/mwrank.pyx +++ b/src/sage/libs/eclib/mwrank.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-eclib """ Cython interface to Cremona's ``eclib`` library (also known as ``mwrank``) diff --git a/src/sage/libs/eclib/newforms.pxd b/src/sage/libs/eclib/newforms.pxd index 7f78a4f9f63..04398ec7748 100644 --- a/src/sage/libs/eclib/newforms.pxd +++ b/src/sage/libs/eclib/newforms.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-eclib from sage.libs.eclib cimport newforms cdef class ECModularSymbol: diff --git a/src/sage/libs/eclib/newforms.pyx b/src/sage/libs/eclib/newforms.pyx index a1dffcbe1e3..1cec125a369 100644 --- a/src/sage/libs/eclib/newforms.pyx +++ b/src/sage/libs/eclib/newforms.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-eclib """ Modular symbols using eclib newforms """ diff --git a/src/sage/libs/flint/__init__.py b/src/sage/libs/flint/__init__.py index e69de29bb2d..d31bae41036 100644 --- a/src/sage/libs/flint/__init__.py +++ b/src/sage/libs/flint/__init__.py @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-flint diff --git a/src/sage/libs/flint/arith.pxd b/src/sage/libs/flint/arith.pxd index 70e7f5e5d29..357c53ee0c8 100644 --- a/src/sage/libs/flint/arith.pxd +++ b/src/sage/libs/flint/arith.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint # distutils: libraries = flint # distutils: depends = flint/arith.h diff --git a/src/sage/libs/flint/arith.pyx b/src/sage/libs/flint/arith.pyx index fe599af4dfc..1ecabf5c1da 100644 --- a/src/sage/libs/flint/arith.pyx +++ b/src/sage/libs/flint/arith.pyx @@ -1,3 +1,5 @@ +# sage_setup: distribution = sagemath-flint + r""" Deprecated module. diff --git a/src/sage/libs/flint/flint.pxd b/src/sage/libs/flint/flint.pxd index 33af77f9c16..f685ba9ced4 100644 --- a/src/sage/libs/flint/flint.pxd +++ b/src/sage/libs/flint/flint.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint # distutils: libraries = flint # distutils: depends = flint/flint.h diff --git a/src/sage/libs/flint/fmpq.pxd b/src/sage/libs/flint/fmpq.pxd index 61ebabac2b0..80eac6af702 100644 --- a/src/sage/libs/flint/fmpq.pxd +++ b/src/sage/libs/flint/fmpq.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint # distutils: libraries = flint # distutils: depends = flint/fmpq.h diff --git a/src/sage/libs/flint/fmpq_mat.pxd b/src/sage/libs/flint/fmpq_mat.pxd index 0227b8523a6..5da5c44bfcc 100644 --- a/src/sage/libs/flint/fmpq_mat.pxd +++ b/src/sage/libs/flint/fmpq_mat.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint # distutils: libraries = flint # distutils: depends = flint/fmpq_mat.h diff --git a/src/sage/libs/flint/fmpq_poly.pxd b/src/sage/libs/flint/fmpq_poly.pxd index f8622ebfd41..db45362e456 100644 --- a/src/sage/libs/flint/fmpq_poly.pxd +++ b/src/sage/libs/flint/fmpq_poly.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint # distutils: libraries = flint # distutils: depends = flint/fmpq_poly.h diff --git a/src/sage/libs/flint/fmpq_poly_sage.pyx b/src/sage/libs/flint/fmpq_poly_sage.pyx index fcaf6407bfc..0c6813cf7b9 100644 --- a/src/sage/libs/flint/fmpq_poly_sage.pyx +++ b/src/sage/libs/flint/fmpq_poly_sage.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint # Functions removed from flint but still needed in Sage. Code adapted from # earlier versions of flint. diff --git a/src/sage/libs/flint/fmpz.pxd b/src/sage/libs/flint/fmpz.pxd index 237ac135cd9..ba4ee32db9b 100644 --- a/src/sage/libs/flint/fmpz.pxd +++ b/src/sage/libs/flint/fmpz.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint # distutils: libraries = flint # distutils: depends = flint/fmpz.h diff --git a/src/sage/libs/flint/fmpz_factor.pxd b/src/sage/libs/flint/fmpz_factor.pxd index 1e93305c7f5..7e1aaefbe70 100644 --- a/src/sage/libs/flint/fmpz_factor.pxd +++ b/src/sage/libs/flint/fmpz_factor.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint # distutils: libraries = flint # distutils: depends = flint/fmpz_factor.h diff --git a/src/sage/libs/flint/fmpz_factor_sage.pyx b/src/sage/libs/flint/fmpz_factor_sage.pyx index 330ba3d4d4e..71a898fa15c 100644 --- a/src/sage/libs/flint/fmpz_factor_sage.pyx +++ b/src/sage/libs/flint/fmpz_factor_sage.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint from cysignals.signals cimport sig_check from sage.libs.flint.fmpz cimport fmpz_get_mpz from sage.rings.integer cimport Integer diff --git a/src/sage/libs/flint/fmpz_mat.pxd b/src/sage/libs/flint/fmpz_mat.pxd index abde570c32f..871172b28aa 100644 --- a/src/sage/libs/flint/fmpz_mat.pxd +++ b/src/sage/libs/flint/fmpz_mat.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint # distutils: libraries = flint # distutils: depends = flint/fmpz_mat.h diff --git a/src/sage/libs/flint/fmpz_mod.pxd b/src/sage/libs/flint/fmpz_mod.pxd index 4089589dd53..6fa63df8209 100644 --- a/src/sage/libs/flint/fmpz_mod.pxd +++ b/src/sage/libs/flint/fmpz_mod.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint # distutils: libraries = flint # distutils: depends = flint/fmpz_mod.h diff --git a/src/sage/libs/flint/fmpz_mod_poly.pxd b/src/sage/libs/flint/fmpz_mod_poly.pxd index 302113e191b..f70a19f852a 100644 --- a/src/sage/libs/flint/fmpz_mod_poly.pxd +++ b/src/sage/libs/flint/fmpz_mod_poly.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint # distutils: libraries = flint # distutils: depends = flint/fmpz_mod_poly.h diff --git a/src/sage/libs/flint/fmpz_poly.pxd b/src/sage/libs/flint/fmpz_poly.pxd index 59508fe6c19..0a07a50b357 100644 --- a/src/sage/libs/flint/fmpz_poly.pxd +++ b/src/sage/libs/flint/fmpz_poly.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint # distutils: libraries = flint # distutils: depends = flint/fmpz_poly.h diff --git a/src/sage/libs/flint/fmpz_poly.pyx b/src/sage/libs/flint/fmpz_poly.pyx index ca3997316e7..d33c23cad33 100644 --- a/src/sage/libs/flint/fmpz_poly.pyx +++ b/src/sage/libs/flint/fmpz_poly.pyx @@ -1,3 +1,5 @@ +# sage_setup: distribution = sagemath-flint + r""" Deprecated module diff --git a/src/sage/libs/flint/fmpz_poly_mat.pxd b/src/sage/libs/flint/fmpz_poly_mat.pxd index 83ed1d8bced..56977d1ff3f 100644 --- a/src/sage/libs/flint/fmpz_poly_mat.pxd +++ b/src/sage/libs/flint/fmpz_poly_mat.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint # distutils: libraries = flint # distutils: depends = flint/fmpz_poly_mat.h diff --git a/src/sage/libs/flint/fmpz_poly_q.pxd b/src/sage/libs/flint/fmpz_poly_q.pxd index 26de673bb6c..88bafa5fc1e 100644 --- a/src/sage/libs/flint/fmpz_poly_q.pxd +++ b/src/sage/libs/flint/fmpz_poly_q.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint # distutils: libraries = flint # distutils: depends = flint/fmpz_poly_q.h diff --git a/src/sage/libs/flint/fmpz_vec.pxd b/src/sage/libs/flint/fmpz_vec.pxd index 0418fbc6242..0cfc343b8aa 100644 --- a/src/sage/libs/flint/fmpz_vec.pxd +++ b/src/sage/libs/flint/fmpz_vec.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint # distutils: libraries = flint # distutils: depends = flint/fmpz_vec.h diff --git a/src/sage/libs/flint/fq.pxd b/src/sage/libs/flint/fq.pxd index 01c8f5887a2..e2b65e3a46d 100644 --- a/src/sage/libs/flint/fq.pxd +++ b/src/sage/libs/flint/fq.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint # distutils: libraries = flint # distutils: depends = flint/fq.h diff --git a/src/sage/libs/flint/fq_nmod.pxd b/src/sage/libs/flint/fq_nmod.pxd index 83085408d29..4f2f7402b8c 100644 --- a/src/sage/libs/flint/fq_nmod.pxd +++ b/src/sage/libs/flint/fq_nmod.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint # distutils: libraries = flint # distutils: depends = flint/fq_nmod.h diff --git a/src/sage/libs/flint/nmod_poly.pxd b/src/sage/libs/flint/nmod_poly.pxd index eb5cd984fd6..2f98a8e6fee 100644 --- a/src/sage/libs/flint/nmod_poly.pxd +++ b/src/sage/libs/flint/nmod_poly.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint # distutils: libraries = flint # distutils: depends = flint/nmod_poly.h diff --git a/src/sage/libs/flint/nmod_poly_linkage.pxi b/src/sage/libs/flint/nmod_poly_linkage.pxi index 461679cba20..fb429ccf20e 100644 --- a/src/sage/libs/flint/nmod_poly_linkage.pxi +++ b/src/sage/libs/flint/nmod_poly_linkage.pxi @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint r""" Linkage for arithmetic with FLINT's nmod_poly_t elements. diff --git a/src/sage/libs/flint/nmod_vec.pxd b/src/sage/libs/flint/nmod_vec.pxd index 326ea21b98a..66d5cb63990 100644 --- a/src/sage/libs/flint/nmod_vec.pxd +++ b/src/sage/libs/flint/nmod_vec.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint # distutils: libraries = flint # distutils: depends = flint/nmod_vec.h diff --git a/src/sage/libs/flint/ntl_interface.pxd b/src/sage/libs/flint/ntl_interface.pxd index d6112383330..cf25aa73004 100644 --- a/src/sage/libs/flint/ntl_interface.pxd +++ b/src/sage/libs/flint/ntl_interface.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint # distutils: language = c++ # distutils: libraries = flint # distutils: depends = flint/NTL-interface.h diff --git a/src/sage/libs/flint/padic.pxd b/src/sage/libs/flint/padic.pxd index ef190a51a9e..fd46053d501 100644 --- a/src/sage/libs/flint/padic.pxd +++ b/src/sage/libs/flint/padic.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint # distutils: libraries = flint # distutils: depends = flint/padic.h diff --git a/src/sage/libs/flint/padic_poly.pxd b/src/sage/libs/flint/padic_poly.pxd index caca76b79db..09481dc9955 100644 --- a/src/sage/libs/flint/padic_poly.pxd +++ b/src/sage/libs/flint/padic_poly.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint # distutils: libraries = flint # distutils: depends = flint/padic_poly.h diff --git a/src/sage/libs/flint/qadic.pxd b/src/sage/libs/flint/qadic.pxd index 86db643ec2a..93d3ec98267 100644 --- a/src/sage/libs/flint/qadic.pxd +++ b/src/sage/libs/flint/qadic.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint # distutils: libraries = flint # distutils: depends = flint/qadic.h diff --git a/src/sage/libs/flint/qsieve.pxd b/src/sage/libs/flint/qsieve.pxd index fe25087758c..c5628bb377d 100644 --- a/src/sage/libs/flint/qsieve.pxd +++ b/src/sage/libs/flint/qsieve.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint # distutils: libraries = flint # distutils: depends = flint/qsieve.h diff --git a/src/sage/libs/flint/qsieve.pyx b/src/sage/libs/flint/qsieve.pyx index 7168a3beac8..3a405dfa316 100644 --- a/src/sage/libs/flint/qsieve.pyx +++ b/src/sage/libs/flint/qsieve.pyx @@ -1,3 +1,5 @@ +# sage_setup: distribution = sagemath-flint + r""" Deprecated module. diff --git a/src/sage/libs/flint/thread_pool.pxd b/src/sage/libs/flint/thread_pool.pxd index 137eae2b7a6..778245ef9cb 100644 --- a/src/sage/libs/flint/thread_pool.pxd +++ b/src/sage/libs/flint/thread_pool.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint # distutils: libraries = flint # distutils: depends = flint/thread_pool.h diff --git a/src/sage/libs/flint/types.pxd b/src/sage/libs/flint/types.pxd index 9e227fd87b0..d8c27deb02c 100644 --- a/src/sage/libs/flint/types.pxd +++ b/src/sage/libs/flint/types.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint # distutils: depends = flint/acb.h flint/acb_calc.h flint/acb_dft.h flint/acb_dirichlet.h flint/acb_elliptic.h flint/acb_hypgeom.h flint/acb_mat.h flint/acb_modular.h flint/acb_poly.h flint/acf.h flint/aprcl.h flint/arb.h flint/arb_calc.h flint/arb_fmpz_poly.h flint/arb_fpwrap.h flint/arb_hypgeom.h flint/arb_mat.h flint/arb_poly.h flint/arf.h flint/arith.h flint/bernoulli.h flint/bool_mat.h flint/ca.h flint/ca_ext.h flint/ca_field.h flint/ca_mat.h flint/ca_poly.h flint/ca_vec.h flint/calcium.h flint/d_mat.h flint/d_vec.h flint/dirichlet.h flint/dlog.h flint/double_extras.h flint/double_interval.h flint/fexpr.h flint/fexpr_builtin.h flint/fft.h flint/flint.h flint/fmpq.h flint/fmpq_mat.h flint/fmpq_mpoly.h flint/fmpq_mpoly_factor.h flint/fmpq_poly.h flint/fmpq_vec.h flint/fmpz.h flint/fmpz_extras.h flint/fmpz_factor.h flint/fmpz_lll.h flint/fmpz_mat.h flint/fmpz_mod.h flint/fmpz_mod_mat.h flint/fmpz_mod_mpoly.h flint/fmpz_mod_mpoly_factor.h flint/fmpz_mod_poly.h flint/fmpz_mod_poly_factor.h flint/fmpz_mod_vec.h flint/fmpz_mpoly.h flint/fmpz_mpoly_factor.h flint/fmpz_mpoly_q.h flint/fmpz_poly.h flint/fmpz_poly_factor.h flint/fmpz_poly_mat.h flint/fmpz_poly_q.h flint/fmpz_vec.h flint/fmpzi.h flint/fq.h flint/fq_default.h flint/fq_default_mat.h flint/fq_default_poly.h flint/fq_default_poly_factor.h flint/fq_embed.h flint/fq_mat.h flint/fq_nmod.h flint/fq_nmod_embed.h flint/fq_nmod_mat.h flint/fq_nmod_mpoly.h flint/fq_nmod_mpoly_factor.h flint/fq_nmod_poly.h flint/fq_nmod_poly_factor.h flint/fq_nmod_vec.h flint/fq_poly.h flint/fq_poly_factor.h flint/fq_vec.h flint/fq_zech.h flint/fq_zech_embed.h flint/fq_zech_mat.h flint/fq_zech_poly.h flint/fq_zech_poly_factor.h flint/fq_zech_vec.h flint/gr.h flint/gr_generic.h flint/gr_mat.h flint/gr_mpoly.h flint/gr_poly.h flint/gr_special.h flint/gr_vec.h flint/hypgeom.h flint/long_extras.h flint/mag.h flint/mpf_mat.h flint/mpf_vec.h flint/mpfr_mat.h flint/mpfr_vec.h flint/mpn_extras.h flint/mpoly.h flint/nf.h flint/nf_elem.h flint/nmod.h flint/nmod_mat.h flint/nmod_mpoly.h flint/nmod_mpoly_factor.h flint/nmod_poly.h flint/nmod_poly_factor.h flint/nmod_poly_mat.h flint/nmod_types.h flint/nmod_vec.h flint/padic.h flint/padic_mat.h flint/padic_poly.h flint/partitions.h flint/perm.h flint/profiler.h flint/qadic.h flint/qfb.h flint/qqbar.h flint/qsieve.h flint/thread_pool.h flint/ulong_extras.h # WARNING: src/sage/libs/flint/types.pxd is generated from diff --git a/src/sage/libs/flint/ulong_extras.pxd b/src/sage/libs/flint/ulong_extras.pxd index 8593c3725f2..d9ad42c0d9c 100644 --- a/src/sage/libs/flint/ulong_extras.pxd +++ b/src/sage/libs/flint/ulong_extras.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint # distutils: libraries = flint # distutils: depends = flint/ulong_extras.h diff --git a/src/sage/libs/flint/ulong_extras.pyx b/src/sage/libs/flint/ulong_extras.pyx index e4eee95b119..7a414d9ceb9 100644 --- a/src/sage/libs/flint/ulong_extras.pyx +++ b/src/sage/libs/flint/ulong_extras.pyx @@ -1,3 +1,5 @@ +# sage_setup: distribution = sagemath-flint + r""" Deprecated modules. diff --git a/src/sage/libs/gap/all.py b/src/sage/libs/gap/all.py index e69de29bb2d..dd59a6da735 100644 --- a/src/sage/libs/gap/all.py +++ b/src/sage/libs/gap/all.py @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-gap diff --git a/src/sage/libs/gap/all_documented_functions.py b/src/sage/libs/gap/all_documented_functions.py index 0820dc71064..f680ddff75a 100644 --- a/src/sage/libs/gap/all_documented_functions.py +++ b/src/sage/libs/gap/all_documented_functions.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-gap """nodoctest All Documented GAP Functions diff --git a/src/sage/libs/gap/assigned_names.py b/src/sage/libs/gap/assigned_names.py index e8d1f1707cc..e136e95f5e0 100644 --- a/src/sage/libs/gap/assigned_names.py +++ b/src/sage/libs/gap/assigned_names.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-gap """nodoctest List of assigned names in GAP diff --git a/src/sage/libs/gap/context_managers.py b/src/sage/libs/gap/context_managers.py index b42e9c02f4f..9252c3ee510 100644 --- a/src/sage/libs/gap/context_managers.py +++ b/src/sage/libs/gap/context_managers.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-gap """ Context Managers for LibGAP diff --git a/src/sage/libs/gap/element.pxd b/src/sage/libs/gap/element.pxd index ba4028cd91c..db7ac3be9f9 100644 --- a/src/sage/libs/gap/element.pxd +++ b/src/sage/libs/gap/element.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-gap #***************************************************************************** # Copyright (C) 2012 Volker Braun # diff --git a/src/sage/libs/gap/element.pyx b/src/sage/libs/gap/element.pyx index f1482997b86..83d2286113e 100644 --- a/src/sage/libs/gap/element.pyx +++ b/src/sage/libs/gap/element.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-gap """ GAP element wrapper diff --git a/src/sage/libs/gap/gap_functions.py b/src/sage/libs/gap/gap_functions.py index 5e35ca672bf..7df65a0db51 100644 --- a/src/sage/libs/gap/gap_functions.py +++ b/src/sage/libs/gap/gap_functions.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-gap """Common global functions defined by GAP.""" ############################################################################### diff --git a/src/sage/libs/gap/gap_globals.py b/src/sage/libs/gap/gap_globals.py index 4c3e6eb3aae..b2a413c06d9 100644 --- a/src/sage/libs/gap/gap_globals.py +++ b/src/sage/libs/gap/gap_globals.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-gap """Common globals defined by GAP.""" ############################################################################### diff --git a/src/sage/libs/gap/gap_includes.pxd b/src/sage/libs/gap/gap_includes.pxd index 1ed4378a6c7..67746723817 100644 --- a/src/sage/libs/gap/gap_includes.pxd +++ b/src/sage/libs/gap/gap_includes.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-gap # distutils: libraries = gap gmp m ############################################################################### # Copyright (C) 2009, William Stein diff --git a/src/sage/libs/gap/libgap.pyx b/src/sage/libs/gap/libgap.pyx index 328a5096160..5683b632fb1 100644 --- a/src/sage/libs/gap/libgap.pyx +++ b/src/sage/libs/gap/libgap.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-gap """ Library Interface to GAP diff --git a/src/sage/libs/gap/operations.py b/src/sage/libs/gap/operations.py index 434d1a01511..0cbfb8ffa5a 100644 --- a/src/sage/libs/gap/operations.py +++ b/src/sage/libs/gap/operations.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-gap """ Operations for LibGAP Elements diff --git a/src/sage/libs/gap/saved_workspace.py b/src/sage/libs/gap/saved_workspace.py index fdaf18f4644..43e5e066ed4 100644 --- a/src/sage/libs/gap/saved_workspace.py +++ b/src/sage/libs/gap/saved_workspace.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-gap """ LibGAP Workspace Support diff --git a/src/sage/libs/gap/test.py b/src/sage/libs/gap/test.py index eee697218ee..c96c6ceddf9 100644 --- a/src/sage/libs/gap/test.py +++ b/src/sage/libs/gap/test.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-gap """ Short tests for GAP """ diff --git a/src/sage/libs/gap/test_long.py b/src/sage/libs/gap/test_long.py index 262db5ad287..a365b2c4a4a 100644 --- a/src/sage/libs/gap/test_long.py +++ b/src/sage/libs/gap/test_long.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-gap """ Long tests for GAP diff --git a/src/sage/libs/gap/util.pxd b/src/sage/libs/gap/util.pxd index bb559f7c6a3..eb5d5711ad3 100644 --- a/src/sage/libs/gap/util.pxd +++ b/src/sage/libs/gap/util.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-gap #***************************************************************************** # Copyright (C) 2012 Volker Braun # diff --git a/src/sage/libs/gap/util.pyx b/src/sage/libs/gap/util.pyx index 3e75d71ff06..3586bee9211 100644 --- a/src/sage/libs/gap/util.pyx +++ b/src/sage/libs/gap/util.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-gap """ Utility functions for GAP """ diff --git a/src/sage/libs/giac/__init__.py b/src/sage/libs/giac/__init__.py index e7d7bc67d14..ffc5714017a 100644 --- a/src/sage/libs/giac/__init__.py +++ b/src/sage/libs/giac/__init__.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-giac """ Wrappers for Giac functions diff --git a/src/sage/libs/giac/auto-methods.pxi b/src/sage/libs/giac/auto-methods.pxi index 9af4c0023bf..92166556652 100644 --- a/src/sage/libs/giac/auto-methods.pxi +++ b/src/sage/libs/giac/auto-methods.pxi @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-giac # file auto generated by mkkeywords.py cdef class GiacMethods_base: """ diff --git a/src/sage/libs/giac/giac.pxd b/src/sage/libs/giac/giac.pxd index 1d9da88d8d4..b1c57995763 100644 --- a/src/sage/libs/giac/giac.pxd +++ b/src/sage/libs/giac/giac.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-giac # distutils: language = c++ # **************************************************************************** # Copyright (C) 2012, Frederic Han diff --git a/src/sage/libs/giac/giac.pyx b/src/sage/libs/giac/giac.pyx index 74e4587440f..628d457eb20 100644 --- a/src/sage/libs/giac/giac.pyx +++ b/src/sage/libs/giac/giac.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-giac # distutils: libraries = giac # distutils: language = c++ r""" diff --git a/src/sage/libs/giac/keywords.pxi b/src/sage/libs/giac/keywords.pxi index 9bc7eebe0b5..e1253b9746a 100644 --- a/src/sage/libs/giac/keywords.pxi +++ b/src/sage/libs/giac/keywords.pxi @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-giac # file auto generated by mkkeywords.py blacklist = ['eval', 'cas_setup', 'i', 'list', 'input', 'in', 'sto', 'string', 'and', 'break', 'continue', 'else', 'for', 'from', 'if', 'not', 'or', 'pow', 'print', 'return', 'set[]', 'try', 'while', 'open', 'output', 'do', 'of', 'Request', 'i[]', '[]', 'ffunction', 'sleep', '[..]'] diff --git a/src/sage/libs/glpk/__init__.py b/src/sage/libs/glpk/__init__.py index e69de29bb2d..b555a29542b 100644 --- a/src/sage/libs/glpk/__init__.py +++ b/src/sage/libs/glpk/__init__.py @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-glpk diff --git a/src/sage/libs/glpk/constants.pxd b/src/sage/libs/glpk/constants.pxd index 55fd165dcd3..f75107a9ae6 100644 --- a/src/sage/libs/glpk/constants.pxd +++ b/src/sage/libs/glpk/constants.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-glpk #***************************************************************************** # Copyright (C) 2010 Nathann Cohen # Copyright (C) 2015 Jeroen Demeyer diff --git a/src/sage/libs/glpk/env.pxd b/src/sage/libs/glpk/env.pxd index 80d5153d3c9..8da2da5c261 100644 --- a/src/sage/libs/glpk/env.pxd +++ b/src/sage/libs/glpk/env.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-glpk # distutils: libraries = glpk z gmp cdef extern from "glpk.h": diff --git a/src/sage/libs/glpk/error.pyx b/src/sage/libs/glpk/error.pyx index 4fb01782205..4948f0969ad 100644 --- a/src/sage/libs/glpk/error.pyx +++ b/src/sage/libs/glpk/error.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-glpk """ Error handler for the GLPK library """ diff --git a/src/sage/libs/glpk/graph.pxd b/src/sage/libs/glpk/graph.pxd index 2266952444c..94ebbb91c47 100644 --- a/src/sage/libs/glpk/graph.pxd +++ b/src/sage/libs/glpk/graph.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-glpk # distutils: libraries = glpk z gmp #***************************************************************************** diff --git a/src/sage/libs/glpk/lp.pxd b/src/sage/libs/glpk/lp.pxd index cc4f05e5368..d3260e30f60 100644 --- a/src/sage/libs/glpk/lp.pxd +++ b/src/sage/libs/glpk/lp.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-glpk # distutils: libraries = glpk z gmp #***************************************************************************** diff --git a/src/sage/libs/glpk/types.pxd b/src/sage/libs/glpk/types.pxd index 2d02df5dad4..33db76589d4 100644 --- a/src/sage/libs/glpk/types.pxd +++ b/src/sage/libs/glpk/types.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-glpk #***************************************************************************** # Copyright (C) 2010 Nathann Cohen # Copyright (C) 2015 Jeroen Demeyer diff --git a/src/sage/libs/gmp/__init__.py b/src/sage/libs/gmp/__init__.py index e69de29bb2d..f9b8167c3cd 100644 --- a/src/sage/libs/gmp/__init__.py +++ b/src/sage/libs/gmp/__init__.py @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-objects diff --git a/src/sage/libs/gmp/all.pxd b/src/sage/libs/gmp/all.pxd index cf1f3fa6417..ee59521494e 100644 --- a/src/sage/libs/gmp/all.pxd +++ b/src/sage/libs/gmp/all.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects from sage.libs.gmp.types cimport * from sage.libs.gmp.random cimport * from sage.libs.gmp.mpz cimport * diff --git a/src/sage/libs/gmp/binop.pxd b/src/sage/libs/gmp/binop.pxd index 6b56c24a1b5..94b6db1a8db 100644 --- a/src/sage/libs/gmp/binop.pxd +++ b/src/sage/libs/gmp/binop.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects r""" Fast binary operations for basic types """ diff --git a/src/sage/libs/gmp/misc.pxd b/src/sage/libs/gmp/misc.pxd index 3ad4f2a89db..c64528d0e9c 100644 --- a/src/sage/libs/gmp/misc.pxd +++ b/src/sage/libs/gmp/misc.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects # distutils: libraries = gmp cdef extern from "gmp.h": diff --git a/src/sage/libs/gmp/mpf.pxd b/src/sage/libs/gmp/mpf.pxd index b63d84009c0..a1bbfd46df3 100644 --- a/src/sage/libs/gmp/mpf.pxd +++ b/src/sage/libs/gmp/mpf.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects # distutils: libraries = gmp from sage.libs.gmp.types cimport * diff --git a/src/sage/libs/gmp/mpn.pxd b/src/sage/libs/gmp/mpn.pxd index 890c5b63da7..34b045e1f4b 100644 --- a/src/sage/libs/gmp/mpn.pxd +++ b/src/sage/libs/gmp/mpn.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects # distutils: libraries = gmp from sage.libs.gmp.types cimport * diff --git a/src/sage/libs/gmp/mpq.pxd b/src/sage/libs/gmp/mpq.pxd index d865630aee0..068988ffbc4 100644 --- a/src/sage/libs/gmp/mpq.pxd +++ b/src/sage/libs/gmp/mpq.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects # distutils: libraries = gmp from sage.libs.gmp.types cimport * diff --git a/src/sage/libs/gmp/mpz.pxd b/src/sage/libs/gmp/mpz.pxd index 71d1e5e3069..66c44773d17 100644 --- a/src/sage/libs/gmp/mpz.pxd +++ b/src/sage/libs/gmp/mpz.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects # distutils: libraries = gmp from sage.libs.gmp.types cimport * diff --git a/src/sage/libs/gmp/pylong.pxd b/src/sage/libs/gmp/pylong.pxd index 325d747f57b..fbc8e5671f7 100644 --- a/src/sage/libs/gmp/pylong.pxd +++ b/src/sage/libs/gmp/pylong.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects """ Various functions to deal with conversion mpz <-> Python int/long """ diff --git a/src/sage/libs/gmp/pylong.pyx b/src/sage/libs/gmp/pylong.pyx index 80f9843e07c..660cdbbae58 100644 --- a/src/sage/libs/gmp/pylong.pyx +++ b/src/sage/libs/gmp/pylong.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects """ Various functions to deal with conversion mpz <-> Python int/long diff --git a/src/sage/libs/gmp/random.pxd b/src/sage/libs/gmp/random.pxd index a50657454ca..ef3cde3c4ea 100644 --- a/src/sage/libs/gmp/random.pxd +++ b/src/sage/libs/gmp/random.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects # distutils: libraries = gmp from sage.libs.gmp.types cimport * diff --git a/src/sage/libs/gmp/randomize.pxd b/src/sage/libs/gmp/randomize.pxd index 3876c0dda13..ac4d155c694 100644 --- a/src/sage/libs/gmp/randomize.pxd +++ b/src/sage/libs/gmp/randomize.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects """ Generate random rationals in Sage """ diff --git a/src/sage/libs/gmp/types.pxd b/src/sage/libs/gmp/types.pxd index a8a4a6a35c4..0047df1194e 100644 --- a/src/sage/libs/gmp/types.pxd +++ b/src/sage/libs/gmp/types.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects from libc.stdio cimport FILE cdef extern from "gmp.h": diff --git a/src/sage/libs/gmpxx.pxd b/src/sage/libs/gmpxx.pxd index 8ad41212dbf..227e62fe9c3 100644 --- a/src/sage/libs/gmpxx.pxd +++ b/src/sage/libs/gmpxx.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects # distutils: language = c++ # distutils: libraries = gmpxx gmp diff --git a/src/sage/libs/gsl/__init__.py b/src/sage/libs/gsl/__init__.py index e69de29bb2d..6f6ab52d0f2 100644 --- a/src/sage/libs/gsl/__init__.py +++ b/src/sage/libs/gsl/__init__.py @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-modules diff --git a/src/sage/libs/gsl/airy.pxd b/src/sage/libs/gsl/airy.pxd index 7e996d5af81..d4f8c8806ee 100644 --- a/src/sage/libs/gsl/airy.pxd +++ b/src/sage/libs/gsl/airy.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # distutils: libraries = GSL_LIBRARIES # distutils: library_dirs = GSL_LIBDIR # distutils: include_dirs = GSL_INCDIR diff --git a/src/sage/libs/gsl/all.pxd b/src/sage/libs/gsl/all.pxd index 099399d9f3f..5d90292969a 100644 --- a/src/sage/libs/gsl/all.pxd +++ b/src/sage/libs/gsl/all.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.libs.gsl.types cimport * from sage.libs.gsl.math cimport * diff --git a/src/sage/libs/gsl/array.pxd b/src/sage/libs/gsl/array.pxd index 45ed04e45d0..0860ade618f 100644 --- a/src/sage/libs/gsl/array.pxd +++ b/src/sage/libs/gsl/array.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules cdef class GSLDoubleArray: cdef size_t n cdef size_t stride diff --git a/src/sage/libs/gsl/array.pyx b/src/sage/libs/gsl/array.pyx index 3916929cca4..ac01868f01e 100644 --- a/src/sage/libs/gsl/array.pyx +++ b/src/sage/libs/gsl/array.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ GSL arrays """ diff --git a/src/sage/libs/gsl/bessel.pxd b/src/sage/libs/gsl/bessel.pxd index 8a0a521aa3d..64f06a36db9 100644 --- a/src/sage/libs/gsl/bessel.pxd +++ b/src/sage/libs/gsl/bessel.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # distutils: libraries = GSL_LIBRARIES # distutils: library_dirs = GSL_LIBDIR # distutils: include_dirs = GSL_INCDIR diff --git a/src/sage/libs/gsl/blas.pxd b/src/sage/libs/gsl/blas.pxd index 7b195751993..0648ecf42a2 100644 --- a/src/sage/libs/gsl/blas.pxd +++ b/src/sage/libs/gsl/blas.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # distutils: libraries = GSL_LIBRARIES # distutils: library_dirs = GSL_LIBDIR # distutils: include_dirs = GSL_INCDIR diff --git a/src/sage/libs/gsl/blas_types.pxd b/src/sage/libs/gsl/blas_types.pxd index 7292912a641..9b09ddc36c4 100644 --- a/src/sage/libs/gsl/blas_types.pxd +++ b/src/sage/libs/gsl/blas_types.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # distutils: include_dirs = GSL_INCDIR cdef extern from "gsl/gsl_cblas.h": cdef enum CBLAS_ORDER: diff --git a/src/sage/libs/gsl/block.pxd b/src/sage/libs/gsl/block.pxd index 69ee5251dda..f0ddd7ecb52 100644 --- a/src/sage/libs/gsl/block.pxd +++ b/src/sage/libs/gsl/block.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # distutils: libraries = GSL_LIBRARIES # distutils: library_dirs = GSL_LIBDIR # distutils: include_dirs = GSL_INCDIR diff --git a/src/sage/libs/gsl/chebyshev.pxd b/src/sage/libs/gsl/chebyshev.pxd index 06d2da41732..87158ebd611 100644 --- a/src/sage/libs/gsl/chebyshev.pxd +++ b/src/sage/libs/gsl/chebyshev.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # distutils: libraries = GSL_LIBRARIES # distutils: library_dirs = GSL_LIBDIR # distutils: include_dirs = GSL_INCDIR diff --git a/src/sage/libs/gsl/clausen.pxd b/src/sage/libs/gsl/clausen.pxd index 2f92518e171..f45676f2673 100644 --- a/src/sage/libs/gsl/clausen.pxd +++ b/src/sage/libs/gsl/clausen.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # distutils: libraries = GSL_LIBRARIES # distutils: library_dirs = GSL_LIBDIR # distutils: include_dirs = GSL_INCDIR diff --git a/src/sage/libs/gsl/combination.pxd b/src/sage/libs/gsl/combination.pxd index 6072fb2417a..8e382d71d97 100644 --- a/src/sage/libs/gsl/combination.pxd +++ b/src/sage/libs/gsl/combination.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # distutils: libraries = GSL_LIBRARIES # distutils: library_dirs = GSL_LIBDIR # distutils: include_dirs = GSL_INCDIR diff --git a/src/sage/libs/gsl/complex.pxd b/src/sage/libs/gsl/complex.pxd index 87fd3957b62..98db853b947 100644 --- a/src/sage/libs/gsl/complex.pxd +++ b/src/sage/libs/gsl/complex.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # distutils: libraries = GSL_LIBRARIES # distutils: library_dirs = GSL_LIBDIR # distutils: include_dirs = GSL_INCDIR diff --git a/src/sage/libs/gsl/coulomb.pxd b/src/sage/libs/gsl/coulomb.pxd index 7941dff093d..7b6d8be0640 100644 --- a/src/sage/libs/gsl/coulomb.pxd +++ b/src/sage/libs/gsl/coulomb.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # distutils: libraries = GSL_LIBRARIES # distutils: library_dirs = GSL_LIBDIR # distutils: include_dirs = GSL_INCDIR diff --git a/src/sage/libs/gsl/coupling.pxd b/src/sage/libs/gsl/coupling.pxd index cd5f4d301a6..29a3fc89ce9 100644 --- a/src/sage/libs/gsl/coupling.pxd +++ b/src/sage/libs/gsl/coupling.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # distutils: libraries = GSL_LIBRARIES # distutils: library_dirs = GSL_LIBDIR # distutils: include_dirs = GSL_INCDIR diff --git a/src/sage/libs/gsl/dawson.pxd b/src/sage/libs/gsl/dawson.pxd index 9eccc6c4485..553527d588a 100644 --- a/src/sage/libs/gsl/dawson.pxd +++ b/src/sage/libs/gsl/dawson.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # distutils: libraries = GSL_LIBRARIES # distutils: library_dirs = GSL_LIBDIR # distutils: include_dirs = GSL_INCDIR diff --git a/src/sage/libs/gsl/debye.pxd b/src/sage/libs/gsl/debye.pxd index ca6d5722e56..07273be89a6 100644 --- a/src/sage/libs/gsl/debye.pxd +++ b/src/sage/libs/gsl/debye.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # distutils: libraries = GSL_LIBRARIES # distutils: library_dirs = GSL_LIBDIR # distutils: include_dirs = GSL_INCDIR diff --git a/src/sage/libs/gsl/dilog.pxd b/src/sage/libs/gsl/dilog.pxd index 30f633dd5d2..3af4655c653 100644 --- a/src/sage/libs/gsl/dilog.pxd +++ b/src/sage/libs/gsl/dilog.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # distutils: libraries = GSL_LIBRARIES # distutils: library_dirs = GSL_LIBDIR # distutils: include_dirs = GSL_INCDIR diff --git a/src/sage/libs/gsl/eigen.pxd b/src/sage/libs/gsl/eigen.pxd index a0568b1f464..11f849b3715 100644 --- a/src/sage/libs/gsl/eigen.pxd +++ b/src/sage/libs/gsl/eigen.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # distutils: libraries = GSL_LIBRARIES # distutils: library_dirs = GSL_LIBDIR # distutils: include_dirs = GSL_INCDIR diff --git a/src/sage/libs/gsl/elementary.pxd b/src/sage/libs/gsl/elementary.pxd index 66e3d39b1e9..da6f0dcae56 100644 --- a/src/sage/libs/gsl/elementary.pxd +++ b/src/sage/libs/gsl/elementary.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # distutils: libraries = GSL_LIBRARIES # distutils: library_dirs = GSL_LIBDIR # distutils: include_dirs = GSL_INCDIR diff --git a/src/sage/libs/gsl/ellint.pxd b/src/sage/libs/gsl/ellint.pxd index 2c6cdfb9662..49bda769ce4 100644 --- a/src/sage/libs/gsl/ellint.pxd +++ b/src/sage/libs/gsl/ellint.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # distutils: libraries = GSL_LIBRARIES # distutils: library_dirs = GSL_LIBDIR # distutils: include_dirs = GSL_INCDIR diff --git a/src/sage/libs/gsl/elljac.pxd b/src/sage/libs/gsl/elljac.pxd index b343222e1a0..ace72b4ec73 100644 --- a/src/sage/libs/gsl/elljac.pxd +++ b/src/sage/libs/gsl/elljac.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # distutils: libraries = GSL_LIBRARIES # distutils: library_dirs = GSL_LIBDIR # distutils: include_dirs = GSL_INCDIR diff --git a/src/sage/libs/gsl/erf.pxd b/src/sage/libs/gsl/erf.pxd index 3035944ae47..836629ec3f5 100644 --- a/src/sage/libs/gsl/erf.pxd +++ b/src/sage/libs/gsl/erf.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # distutils: libraries = GSL_LIBRARIES # distutils: library_dirs = GSL_LIBDIR # distutils: include_dirs = GSL_INCDIR diff --git a/src/sage/libs/gsl/errno.pxd b/src/sage/libs/gsl/errno.pxd index 02d599289fd..d273be21303 100644 --- a/src/sage/libs/gsl/errno.pxd +++ b/src/sage/libs/gsl/errno.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # distutils: libraries = GSL_LIBRARIES # distutils: library_dirs = GSL_LIBDIR # distutils: include_dirs = GSL_INCDIR diff --git a/src/sage/libs/gsl/exp.pxd b/src/sage/libs/gsl/exp.pxd index 875f5564053..9c47c1a8237 100644 --- a/src/sage/libs/gsl/exp.pxd +++ b/src/sage/libs/gsl/exp.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # distutils: libraries = GSL_LIBRARIES # distutils: library_dirs = GSL_LIBDIR # distutils: include_dirs = GSL_INCDIR diff --git a/src/sage/libs/gsl/expint.pxd b/src/sage/libs/gsl/expint.pxd index 66e2e7b2091..5bb6c70cf52 100644 --- a/src/sage/libs/gsl/expint.pxd +++ b/src/sage/libs/gsl/expint.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # distutils: libraries = GSL_LIBRARIES # distutils: library_dirs = GSL_LIBDIR # distutils: include_dirs = GSL_INCDIR diff --git a/src/sage/libs/gsl/fermi_dirac.pxd b/src/sage/libs/gsl/fermi_dirac.pxd index 367fe60f293..af5ca2d2ec7 100644 --- a/src/sage/libs/gsl/fermi_dirac.pxd +++ b/src/sage/libs/gsl/fermi_dirac.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # distutils: libraries = GSL_LIBRARIES # distutils: library_dirs = GSL_LIBDIR # distutils: include_dirs = GSL_INCDIR diff --git a/src/sage/libs/gsl/fft.pxd b/src/sage/libs/gsl/fft.pxd index 8d0bbff58c1..d798b153755 100644 --- a/src/sage/libs/gsl/fft.pxd +++ b/src/sage/libs/gsl/fft.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # distutils: libraries = GSL_LIBRARIES # distutils: library_dirs = GSL_LIBDIR # distutils: include_dirs = GSL_INCDIR diff --git a/src/sage/libs/gsl/fit.pxd b/src/sage/libs/gsl/fit.pxd index 7a052d157dd..ca20f893822 100644 --- a/src/sage/libs/gsl/fit.pxd +++ b/src/sage/libs/gsl/fit.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # distutils: libraries = GSL_LIBRARIES # distutils: library_dirs = GSL_LIBDIR # distutils: include_dirs = GSL_INCDIR diff --git a/src/sage/libs/gsl/gamma.pxd b/src/sage/libs/gsl/gamma.pxd index 59bcced37be..aae7e4228dc 100644 --- a/src/sage/libs/gsl/gamma.pxd +++ b/src/sage/libs/gsl/gamma.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # distutils: libraries = GSL_LIBRARIES # distutils: library_dirs = GSL_LIBDIR # distutils: include_dirs = GSL_INCDIR diff --git a/src/sage/libs/gsl/gegenbauer.pxd b/src/sage/libs/gsl/gegenbauer.pxd index 8b3c802a9b9..b9affccfb27 100644 --- a/src/sage/libs/gsl/gegenbauer.pxd +++ b/src/sage/libs/gsl/gegenbauer.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # distutils: libraries = GSL_LIBRARIES # distutils: library_dirs = GSL_LIBDIR # distutils: include_dirs = GSL_INCDIR diff --git a/src/sage/libs/gsl/histogram.pxd b/src/sage/libs/gsl/histogram.pxd index 6e83a5e48a8..7f504a71b41 100644 --- a/src/sage/libs/gsl/histogram.pxd +++ b/src/sage/libs/gsl/histogram.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # distutils: libraries = GSL_LIBRARIES # distutils: library_dirs = GSL_LIBDIR # distutils: include_dirs = GSL_INCDIR diff --git a/src/sage/libs/gsl/hyperg.pxd b/src/sage/libs/gsl/hyperg.pxd index 3e85ebfb0e4..e80953d372c 100644 --- a/src/sage/libs/gsl/hyperg.pxd +++ b/src/sage/libs/gsl/hyperg.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # distutils: libraries = GSL_LIBRARIES # distutils: library_dirs = GSL_LIBDIR # distutils: include_dirs = GSL_INCDIR diff --git a/src/sage/libs/gsl/integration.pxd b/src/sage/libs/gsl/integration.pxd index 0a584a90ecd..8542bf36b56 100644 --- a/src/sage/libs/gsl/integration.pxd +++ b/src/sage/libs/gsl/integration.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # distutils: libraries = GSL_LIBRARIES # distutils: library_dirs = GSL_LIBDIR # distutils: include_dirs = GSL_INCDIR diff --git a/src/sage/libs/gsl/interp.pxd b/src/sage/libs/gsl/interp.pxd index c64fa0bd4f7..cea79d3f8ad 100644 --- a/src/sage/libs/gsl/interp.pxd +++ b/src/sage/libs/gsl/interp.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # distutils: libraries = GSL_LIBRARIES # distutils: library_dirs = GSL_LIBDIR # distutils: include_dirs = GSL_INCDIR diff --git a/src/sage/libs/gsl/laguerre.pxd b/src/sage/libs/gsl/laguerre.pxd index 14a2bcbee83..c7505bc7475 100644 --- a/src/sage/libs/gsl/laguerre.pxd +++ b/src/sage/libs/gsl/laguerre.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # distutils: libraries = GSL_LIBRARIES # distutils: library_dirs = GSL_LIBDIR # distutils: include_dirs = GSL_INCDIR diff --git a/src/sage/libs/gsl/lambert.pxd b/src/sage/libs/gsl/lambert.pxd index e30e41f0bd9..850279a8c36 100644 --- a/src/sage/libs/gsl/lambert.pxd +++ b/src/sage/libs/gsl/lambert.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # distutils: libraries = GSL_LIBRARIES # distutils: library_dirs = GSL_LIBDIR # distutils: include_dirs = GSL_INCDIR diff --git a/src/sage/libs/gsl/legendre.pxd b/src/sage/libs/gsl/legendre.pxd index f9a69910bc2..62a61a9cf63 100644 --- a/src/sage/libs/gsl/legendre.pxd +++ b/src/sage/libs/gsl/legendre.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # distutils: libraries = GSL_LIBRARIES # distutils: library_dirs = GSL_LIBDIR # distutils: include_dirs = GSL_INCDIR diff --git a/src/sage/libs/gsl/linalg.pxd b/src/sage/libs/gsl/linalg.pxd index 389ec2e7997..38075323f51 100644 --- a/src/sage/libs/gsl/linalg.pxd +++ b/src/sage/libs/gsl/linalg.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # distutils: libraries = GSL_LIBRARIES # distutils: library_dirs = GSL_LIBDIR # distutils: include_dirs = GSL_INCDIR diff --git a/src/sage/libs/gsl/log.pxd b/src/sage/libs/gsl/log.pxd index 35798b2b150..64877bf51a7 100644 --- a/src/sage/libs/gsl/log.pxd +++ b/src/sage/libs/gsl/log.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # distutils: libraries = GSL_LIBRARIES # distutils: library_dirs = GSL_LIBDIR # distutils: include_dirs = GSL_INCDIR diff --git a/src/sage/libs/gsl/math.pxd b/src/sage/libs/gsl/math.pxd index 0f0a27a58e1..6e71fca54bf 100644 --- a/src/sage/libs/gsl/math.pxd +++ b/src/sage/libs/gsl/math.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # distutils: libraries = GSL_LIBRARIES # distutils: library_dirs = GSL_LIBDIR # distutils: include_dirs = GSL_INCDIR diff --git a/src/sage/libs/gsl/matrix.pxd b/src/sage/libs/gsl/matrix.pxd index e1e2009b609..4e5ab16ed79 100644 --- a/src/sage/libs/gsl/matrix.pxd +++ b/src/sage/libs/gsl/matrix.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # distutils: libraries = GSL_LIBRARIES # distutils: library_dirs = GSL_LIBDIR # distutils: include_dirs = GSL_INCDIR diff --git a/src/sage/libs/gsl/matrix_complex.pxd b/src/sage/libs/gsl/matrix_complex.pxd index 6cbc983a45e..ea894c74893 100644 --- a/src/sage/libs/gsl/matrix_complex.pxd +++ b/src/sage/libs/gsl/matrix_complex.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # distutils: libraries = GSL_LIBRARIES # distutils: library_dirs = GSL_LIBDIR # distutils: include_dirs = GSL_INCDIR diff --git a/src/sage/libs/gsl/min.pxd b/src/sage/libs/gsl/min.pxd index 25a9770eba0..67982bde2b5 100644 --- a/src/sage/libs/gsl/min.pxd +++ b/src/sage/libs/gsl/min.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # distutils: libraries = GSL_LIBRARIES # distutils: library_dirs = GSL_LIBDIR # distutils: include_dirs = GSL_INCDIR diff --git a/src/sage/libs/gsl/monte.pxd b/src/sage/libs/gsl/monte.pxd index 92142abdbcc..8d9ba8cd657 100644 --- a/src/sage/libs/gsl/monte.pxd +++ b/src/sage/libs/gsl/monte.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # distutils: libraries = GSL_LIBRARIES # distutils: library_dirs = GSL_LIBDIR # distutils: include_dirs = GSL_INCDIR diff --git a/src/sage/libs/gsl/ntuple.pxd b/src/sage/libs/gsl/ntuple.pxd index c47ab38d289..c94f3a2211f 100644 --- a/src/sage/libs/gsl/ntuple.pxd +++ b/src/sage/libs/gsl/ntuple.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # distutils: libraries = GSL_LIBRARIES # distutils: library_dirs = GSL_LIBDIR # distutils: include_dirs = GSL_INCDIR diff --git a/src/sage/libs/gsl/odeiv.pxd b/src/sage/libs/gsl/odeiv.pxd index 25924ff86aa..3ad312bb68a 100644 --- a/src/sage/libs/gsl/odeiv.pxd +++ b/src/sage/libs/gsl/odeiv.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # distutils: libraries = GSL_LIBRARIES # distutils: library_dirs = GSL_LIBDIR # distutils: include_dirs = GSL_INCDIR diff --git a/src/sage/libs/gsl/permutation.pxd b/src/sage/libs/gsl/permutation.pxd index 49b10e0611d..443dffa4c4b 100644 --- a/src/sage/libs/gsl/permutation.pxd +++ b/src/sage/libs/gsl/permutation.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # distutils: libraries = GSL_LIBRARIES # distutils: library_dirs = GSL_LIBDIR # distutils: include_dirs = GSL_INCDIR diff --git a/src/sage/libs/gsl/poly.pxd b/src/sage/libs/gsl/poly.pxd index ae172cbf07f..8ad7eb86ed2 100644 --- a/src/sage/libs/gsl/poly.pxd +++ b/src/sage/libs/gsl/poly.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # distutils: libraries = GSL_LIBRARIES # distutils: library_dirs = GSL_LIBDIR # distutils: include_dirs = GSL_INCDIR diff --git a/src/sage/libs/gsl/pow_int.pxd b/src/sage/libs/gsl/pow_int.pxd index af5de0263b8..155f1bc0629 100644 --- a/src/sage/libs/gsl/pow_int.pxd +++ b/src/sage/libs/gsl/pow_int.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # distutils: libraries = GSL_LIBRARIES # distutils: library_dirs = GSL_LIBDIR # distutils: include_dirs = GSL_INCDIR diff --git a/src/sage/libs/gsl/psi.pxd b/src/sage/libs/gsl/psi.pxd index fd33ccd636c..885f4001489 100644 --- a/src/sage/libs/gsl/psi.pxd +++ b/src/sage/libs/gsl/psi.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # distutils: libraries = GSL_LIBRARIES # distutils: library_dirs = GSL_LIBDIR # distutils: include_dirs = GSL_INCDIR diff --git a/src/sage/libs/gsl/qrng.pxd b/src/sage/libs/gsl/qrng.pxd index 24f0702f6c1..6987fb3f5e7 100644 --- a/src/sage/libs/gsl/qrng.pxd +++ b/src/sage/libs/gsl/qrng.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # distutils: libraries = GSL_LIBRARIES # distutils: library_dirs = GSL_LIBDIR # distutils: include_dirs = GSL_INCDIR diff --git a/src/sage/libs/gsl/random.pxd b/src/sage/libs/gsl/random.pxd index 21f531265bc..89f792cdbb1 100644 --- a/src/sage/libs/gsl/random.pxd +++ b/src/sage/libs/gsl/random.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # distutils: libraries = GSL_LIBRARIES # distutils: library_dirs = GSL_LIBDIR # distutils: include_dirs = GSL_INCDIR diff --git a/src/sage/libs/gsl/rng.pxd b/src/sage/libs/gsl/rng.pxd index b1ab233715e..0b976df3586 100644 --- a/src/sage/libs/gsl/rng.pxd +++ b/src/sage/libs/gsl/rng.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # distutils: libraries = GSL_LIBRARIES # distutils: library_dirs = GSL_LIBDIR # distutils: include_dirs = GSL_INCDIR diff --git a/src/sage/libs/gsl/roots.pxd b/src/sage/libs/gsl/roots.pxd index 2bf1ccf9403..4380949a3ba 100644 --- a/src/sage/libs/gsl/roots.pxd +++ b/src/sage/libs/gsl/roots.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # distutils: libraries = GSL_LIBRARIES # distutils: library_dirs = GSL_LIBDIR # distutils: include_dirs = GSL_INCDIR diff --git a/src/sage/libs/gsl/sort.pxd b/src/sage/libs/gsl/sort.pxd index 68493a8a1a8..bc1932a57db 100644 --- a/src/sage/libs/gsl/sort.pxd +++ b/src/sage/libs/gsl/sort.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # distutils: libraries = GSL_LIBRARIES # distutils: library_dirs = GSL_LIBDIR # distutils: include_dirs = GSL_INCDIR diff --git a/src/sage/libs/gsl/statistics.pxd b/src/sage/libs/gsl/statistics.pxd index 5f5dcaa426e..62ef3dbde6c 100644 --- a/src/sage/libs/gsl/statistics.pxd +++ b/src/sage/libs/gsl/statistics.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # distutils: libraries = GSL_LIBRARIES # distutils: library_dirs = GSL_LIBDIR # distutils: include_dirs = GSL_INCDIR diff --git a/src/sage/libs/gsl/sum.pxd b/src/sage/libs/gsl/sum.pxd index 83966b8eb34..3a75e8fc666 100644 --- a/src/sage/libs/gsl/sum.pxd +++ b/src/sage/libs/gsl/sum.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # distutils: libraries = GSL_LIBRARIES # distutils: library_dirs = GSL_LIBDIR # distutils: include_dirs = GSL_INCDIR diff --git a/src/sage/libs/gsl/synchrotron.pxd b/src/sage/libs/gsl/synchrotron.pxd index a02c9964fc2..fd642e85113 100644 --- a/src/sage/libs/gsl/synchrotron.pxd +++ b/src/sage/libs/gsl/synchrotron.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # distutils: libraries = GSL_LIBRARIES # distutils: library_dirs = GSL_LIBDIR # distutils: include_dirs = GSL_INCDIR diff --git a/src/sage/libs/gsl/transport.pxd b/src/sage/libs/gsl/transport.pxd index 6700511a9c9..86691a48b05 100644 --- a/src/sage/libs/gsl/transport.pxd +++ b/src/sage/libs/gsl/transport.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # distutils: libraries = GSL_LIBRARIES # distutils: library_dirs = GSL_LIBDIR # distutils: include_dirs = GSL_INCDIR diff --git a/src/sage/libs/gsl/trig.pxd b/src/sage/libs/gsl/trig.pxd index c9da72206af..b7ebe9e14f2 100644 --- a/src/sage/libs/gsl/trig.pxd +++ b/src/sage/libs/gsl/trig.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # distutils: libraries = GSL_LIBRARIES # distutils: library_dirs = GSL_LIBDIR # distutils: include_dirs = GSL_INCDIR diff --git a/src/sage/libs/gsl/types.pxd b/src/sage/libs/gsl/types.pxd index 7076e2f8861..00ffe3fb4ea 100644 --- a/src/sage/libs/gsl/types.pxd +++ b/src/sage/libs/gsl/types.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # distutils: include_dirs = GSL_INCDIR from libc.stdio cimport FILE diff --git a/src/sage/libs/gsl/vector.pxd b/src/sage/libs/gsl/vector.pxd index 30960a2d1ef..a00611fced0 100644 --- a/src/sage/libs/gsl/vector.pxd +++ b/src/sage/libs/gsl/vector.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # distutils: libraries = GSL_LIBRARIES # distutils: library_dirs = GSL_LIBDIR # distutils: include_dirs = GSL_INCDIR diff --git a/src/sage/libs/gsl/vector_complex.pxd b/src/sage/libs/gsl/vector_complex.pxd index a784c32880a..7629f946720 100644 --- a/src/sage/libs/gsl/vector_complex.pxd +++ b/src/sage/libs/gsl/vector_complex.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # distutils: libraries = GSL_LIBRARIES # distutils: library_dirs = GSL_LIBDIR # distutils: include_dirs = GSL_INCDIR diff --git a/src/sage/libs/gsl/wavelet.pxd b/src/sage/libs/gsl/wavelet.pxd index c74052e8bfc..2f94e13e6d9 100644 --- a/src/sage/libs/gsl/wavelet.pxd +++ b/src/sage/libs/gsl/wavelet.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # distutils: libraries = GSL_LIBRARIES # distutils: library_dirs = GSL_LIBDIR # distutils: include_dirs = GSL_INCDIR diff --git a/src/sage/libs/gsl/zeta.pxd b/src/sage/libs/gsl/zeta.pxd index 9b6edbd74b9..b89442a28fa 100644 --- a/src/sage/libs/gsl/zeta.pxd +++ b/src/sage/libs/gsl/zeta.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # distutils: libraries = GSL_LIBRARIES # distutils: library_dirs = GSL_LIBDIR # distutils: include_dirs = GSL_INCDIR diff --git a/src/sage/libs/homfly.pyx b/src/sage/libs/homfly.pyx index 550c5f02a65..1cc3f591f8a 100644 --- a/src/sage/libs/homfly.pyx +++ b/src/sage/libs/homfly.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-homfly # distutils: libraries = homfly gc r""" Cython wrapper for libhomfly library diff --git a/src/sage/libs/iml.pxd b/src/sage/libs/iml.pxd index 274a05f4313..9796c931db4 100644 --- a/src/sage/libs/iml.pxd +++ b/src/sage/libs/iml.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-linbox from sage.libs.gmp.types cimport mpz_t cdef extern from "iml.h": @@ -6,4 +7,4 @@ cdef extern from "iml.h": RightSolu cdef long nullspaceMP(long n, long m, const mpz_t *A, mpz_t * *mp_N_pass) - cdef void nonsingSolvLlhsMM(SOLU_POS solupos, long n, long m, mpz_t *mp_A, mpz_t *mp_B, mpz_t *mp_N, mpz_t mp_D) \ No newline at end of file + cdef void nonsingSolvLlhsMM(SOLU_POS solupos, long n, long m, mpz_t *mp_A, mpz_t *mp_B, mpz_t *mp_N, mpz_t mp_D) diff --git a/src/sage/libs/lcalc/__init__.py b/src/sage/libs/lcalc/__init__.py index e69de29bb2d..35fac988d13 100644 --- a/src/sage/libs/lcalc/__init__.py +++ b/src/sage/libs/lcalc/__init__.py @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-lcalc diff --git a/src/sage/libs/lcalc/lcalc_Lfunction.pxd b/src/sage/libs/lcalc/lcalc_Lfunction.pxd index 715fa46bba0..1da49c00755 100644 --- a/src/sage/libs/lcalc/lcalc_Lfunction.pxd +++ b/src/sage/libs/lcalc/lcalc_Lfunction.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-lcalc cdef extern from "lcalc_sage.h": ctypedef struct doublevec "std::vector": int (*size)() diff --git a/src/sage/libs/lcalc/lcalc_Lfunction.pyx b/src/sage/libs/lcalc/lcalc_Lfunction.pyx index 2bb8fb200ea..88d9ecfd987 100644 --- a/src/sage/libs/lcalc/lcalc_Lfunction.pyx +++ b/src/sage/libs/lcalc/lcalc_Lfunction.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-lcalc # distutils: libraries = m NTL_LIBRARIES Lfunction # distutils: extra_compile_args = NTL_CFLAGS -O3 -ffast-math # distutils: include_dirs = NTL_INCDIR diff --git a/src/sage/libs/libecm.pyx b/src/sage/libs/libecm.pyx index 90b98bcaa1e..a9c52bde1dd 100644 --- a/src/sage/libs/libecm.pyx +++ b/src/sage/libs/libecm.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-libecm # distutils: libraries = ecm # distutils: extra_link_args = LINUX_NOEXECSTACK r""" diff --git a/src/sage/libs/linbox/__init__.py b/src/sage/libs/linbox/__init__.py index e69de29bb2d..d3fe8dc3de9 100644 --- a/src/sage/libs/linbox/__init__.py +++ b/src/sage/libs/linbox/__init__.py @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-linbox diff --git a/src/sage/libs/linbox/conversion.pxd b/src/sage/libs/linbox/conversion.pxd index a443431adbb..fde69391470 100644 --- a/src/sage/libs/linbox/conversion.pxd +++ b/src/sage/libs/linbox/conversion.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-linbox r""" Inline conversions between LinBox and Sage diff --git a/src/sage/libs/linbox/fflas.pxd b/src/sage/libs/linbox/fflas.pxd index d5b077cf045..f962d26b000 100644 --- a/src/sage/libs/linbox/fflas.pxd +++ b/src/sage/libs/linbox/fflas.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-linbox # Issue #33153: fflas-ffpack-2.4.3 is missing a return value in one of # its functions and runs afoul of -Werror=return-type. Compounding the # problem on openSUSE tumbleweed, the CFLAGS in python's sysconfig diff --git a/src/sage/libs/linbox/givaro.pxd b/src/sage/libs/linbox/givaro.pxd index e6b5a06c3b0..4a1fa3beebc 100644 --- a/src/sage/libs/linbox/givaro.pxd +++ b/src/sage/libs/linbox/givaro.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-linbox # distutils: extra_compile_args = GIVARO_CFLAGS # distutils: include_dirs = GIVARO_INCDIR # distutils: libraries = GIVARO_LIBRARIES FFLASFFPACK_LIBRARIES diff --git a/src/sage/libs/linbox/linbox.pxd b/src/sage/libs/linbox/linbox.pxd index 6792e260a34..e4064118461 100644 --- a/src/sage/libs/linbox/linbox.pxd +++ b/src/sage/libs/linbox/linbox.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-linbox # distutils: extra_compile_args = LINBOX_CFLAGS # distutils: include_dirs = LINBOX_INCDIR # distutils: libraries = LINBOX_LIBRARIES diff --git a/src/sage/libs/linbox/linbox_flint_interface.pxd b/src/sage/libs/linbox/linbox_flint_interface.pxd index f47d5386a01..72cf727e886 100644 --- a/src/sage/libs/linbox/linbox_flint_interface.pxd +++ b/src/sage/libs/linbox/linbox_flint_interface.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-linbox # distutils: libraries = LINBOX_LIBRARIES # distutils: library_dirs = LINBOX_LIBDIR # distutils: extra_link_args = LINBOX_LIBEXTRA diff --git a/src/sage/libs/linbox/linbox_flint_interface.pyx b/src/sage/libs/linbox/linbox_flint_interface.pyx index ed3fa183032..e508685c9ca 100644 --- a/src/sage/libs/linbox/linbox_flint_interface.pyx +++ b/src/sage/libs/linbox/linbox_flint_interface.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-linbox r""" Interface between flint matrices and linbox diff --git a/src/sage/libs/linkages/__init__.py b/src/sage/libs/linkages/__init__.py index e69de29bb2d..d31bae41036 100644 --- a/src/sage/libs/linkages/__init__.py +++ b/src/sage/libs/linkages/__init__.py @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-flint diff --git a/src/sage/libs/linkages/padics/API.pxi b/src/sage/libs/linkages/padics/API.pxi index ec69c5bbaa3..bfc8583dbbd 100644 --- a/src/sage/libs/linkages/padics/API.pxi +++ b/src/sage/libs/linkages/padics/API.pxi @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari """ This file defines the common API for p-adic elements. Elements using different precision models (e.g. capped relative, diff --git a/src/sage/libs/linkages/padics/Polynomial_ram.pxi b/src/sage/libs/linkages/padics/Polynomial_ram.pxi index e0584ecb8ad..e02be61091c 100644 --- a/src/sage/libs/linkages/padics/Polynomial_ram.pxi +++ b/src/sage/libs/linkages/padics/Polynomial_ram.pxi @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-pari r""" This linkage file implements the padics API for ramified extensions using Sage Polynomials. diff --git a/src/sage/libs/linkages/padics/Polynomial_shared.pxi b/src/sage/libs/linkages/padics/Polynomial_shared.pxi index 367bbc2f33d..80d58c3fd52 100644 --- a/src/sage/libs/linkages/padics/Polynomial_shared.pxi +++ b/src/sage/libs/linkages/padics/Polynomial_shared.pxi @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari r""" This linkage file implements the padics API using Sage Polynomials. diff --git a/src/sage/libs/linkages/padics/__init__.py b/src/sage/libs/linkages/padics/__init__.py index e69de29bb2d..d31bae41036 100644 --- a/src/sage/libs/linkages/padics/__init__.py +++ b/src/sage/libs/linkages/padics/__init__.py @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-flint diff --git a/src/sage/libs/linkages/padics/fmpz_poly_unram.pxi b/src/sage/libs/linkages/padics/fmpz_poly_unram.pxi index 2171b426911..38e49a8d8fe 100644 --- a/src/sage/libs/linkages/padics/fmpz_poly_unram.pxi +++ b/src/sage/libs/linkages/padics/fmpz_poly_unram.pxi @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari """ This linkage file implements the API for unramified extensions of the padics using FLINT's fmpz_poly_t. diff --git a/src/sage/libs/linkages/padics/mpz.pxi b/src/sage/libs/linkages/padics/mpz.pxi index 3a555e441dc..e122fee1962 100644 --- a/src/sage/libs/linkages/padics/mpz.pxi +++ b/src/sage/libs/linkages/padics/mpz.pxi @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari """ This linkage file implements the padics API using MPIR mpz_t multiprecision integers. diff --git a/src/sage/libs/linkages/padics/relaxed/API.pxi b/src/sage/libs/linkages/padics/relaxed/API.pxi index 4e9ea075bb2..8ebfda5e115 100644 --- a/src/sage/libs/linkages/padics/relaxed/API.pxi +++ b/src/sage/libs/linkages/padics/relaxed/API.pxi @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint r""" This file defines the common API for relaxed `p`-adic numbers. diff --git a/src/sage/libs/linkages/padics/relaxed/__init__.py b/src/sage/libs/linkages/padics/relaxed/__init__.py index e69de29bb2d..d31bae41036 100644 --- a/src/sage/libs/linkages/padics/relaxed/__init__.py +++ b/src/sage/libs/linkages/padics/relaxed/__init__.py @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-flint diff --git a/src/sage/libs/linkages/padics/relaxed/flint.pxi b/src/sage/libs/linkages/padics/relaxed/flint.pxi index 7085fd76ac8..31867021907 100644 --- a/src/sage/libs/linkages/padics/relaxed/flint.pxi +++ b/src/sage/libs/linkages/padics/relaxed/flint.pxi @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint r""" This linkage file implements the relaxed padics API using flint. diff --git a/src/sage/libs/linkages/padics/unram_shared.pxi b/src/sage/libs/linkages/padics/unram_shared.pxi index 7ffbebc5f52..c82f9be18ec 100644 --- a/src/sage/libs/linkages/padics/unram_shared.pxi +++ b/src/sage/libs/linkages/padics/unram_shared.pxi @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari cimport cython @cython.binding(True) diff --git a/src/sage/libs/lrcalc/__init__.py b/src/sage/libs/lrcalc/__init__.py index e69de29bb2d..28c48d66b20 100644 --- a/src/sage/libs/lrcalc/__init__.py +++ b/src/sage/libs/lrcalc/__init__.py @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-combinat diff --git a/src/sage/libs/lrcalc/lrcalc.py b/src/sage/libs/lrcalc/lrcalc.py index cd9248f59d9..ec5942a5789 100644 --- a/src/sage/libs/lrcalc/lrcalc.py +++ b/src/sage/libs/lrcalc/lrcalc.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" An interface to Anders Buch's Littlewood-Richardson Calculator ``lrcalc`` diff --git a/src/sage/libs/m4ri.pxd b/src/sage/libs/m4ri.pxd index a9c6c792c05..5a55204b7c4 100644 --- a/src/sage/libs/m4ri.pxd +++ b/src/sage/libs/m4ri.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-linbox # distutils: extra_compile_args = -std=c++11 # distutils: language = c++ diff --git a/src/sage/libs/m4rie.pxd b/src/sage/libs/m4rie.pxd index 4bc99aba4d7..f769003b8f5 100644 --- a/src/sage/libs/m4rie.pxd +++ b/src/sage/libs/m4rie.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-linbox ############################################################################## # Copyright (C) 2010 Martin Albrecht # Distributed under the terms of the GNU General Public License (GPL) diff --git a/src/sage/libs/mpc/__init__.pxd b/src/sage/libs/mpc/__init__.pxd index 4930a636c41..7f27ba719e8 100644 --- a/src/sage/libs/mpc/__init__.pxd +++ b/src/sage/libs/mpc/__init__.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # distutils: libraries = gmp mpfr mpc from sage.libs.gmp.types cimport * diff --git a/src/sage/libs/mpc/types.pxd b/src/sage/libs/mpc/types.pxd index 72565c08630..2221e931726 100644 --- a/src/sage/libs/mpc/types.pxd +++ b/src/sage/libs/mpc/types.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.libs.mpfr.types cimport mpfr_t cdef extern from "mpc.h": diff --git a/src/sage/libs/mpfi/__init__.pxd b/src/sage/libs/mpfi/__init__.pxd index b55a5129d18..1c83243299e 100644 --- a/src/sage/libs/mpfi/__init__.pxd +++ b/src/sage/libs/mpfi/__init__.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl # distutils: libraries = gmp mpfr mpfi from sage.libs.gmp.types cimport * diff --git a/src/sage/libs/mpfi/types.pxd b/src/sage/libs/mpfi/types.pxd index 073a2e719ac..efc8552675e 100644 --- a/src/sage/libs/mpfi/types.pxd +++ b/src/sage/libs/mpfi/types.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl from sage.libs.mpfr.types cimport __mpfr_struct cdef extern from "mpfi.h": diff --git a/src/sage/libs/mpfr/__init__.pxd b/src/sage/libs/mpfr/__init__.pxd index facac9aa6c7..a6c222d600f 100644 --- a/src/sage/libs/mpfr/__init__.pxd +++ b/src/sage/libs/mpfr/__init__.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # distutils: libraries = gmp mpfr from sage.libs.gmp.types cimport * diff --git a/src/sage/libs/mpfr/types.pxd b/src/sage/libs/mpfr/types.pxd index 45f8a161361..9cfbc0e96fd 100644 --- a/src/sage/libs/mpfr/types.pxd +++ b/src/sage/libs/mpfr/types.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.libs.gmp.types cimport mp_limb_t cdef extern from "mpfr.h": diff --git a/src/sage/libs/mpmath/all.py b/src/sage/libs/mpmath/all.py index cae40f79314..87a32ed5014 100644 --- a/src/sage/libs/mpmath/all.py +++ b/src/sage/libs/mpmath/all.py @@ -1,7 +1,8 @@ +# sage_setup: distribution = sagemath-mpmath import mpmath # Patch mpmath to use Cythonized functions -from . import utils as _utils +from sage.libs.mpmath import utils as _utils # Also import internal functions from mpmath.libmp import * @@ -10,16 +11,17 @@ from mpmath import * # Utilities -from .utils import call, mpmath_to_sage, sage_to_mpmath +from sage.libs.mpmath.utils import call, mpmath_to_sage, sage_to_mpmath # Use mpmath internal functions for constants, to avoid unnecessary overhead _constants_funcs = { - 'glaisher': glaisher_fixed, - 'khinchin': khinchin_fixed, - 'twinprime': twinprime_fixed, - 'mertens': mertens_fixed + 'glaisher': glaisher_fixed, + 'khinchin': khinchin_fixed, + 'twinprime': twinprime_fixed, + 'mertens': mertens_fixed } + def eval_constant(name, ring): prec = ring.precision() + 20 return ring(_constants_funcs[name](prec)) >> prec diff --git a/src/sage/libs/mpmath/ext_impl.pxd b/src/sage/libs/mpmath/ext_impl.pxd index 586d10d17f2..d4ff28112f2 100644 --- a/src/sage/libs/mpmath/ext_impl.pxd +++ b/src/sage/libs/mpmath/ext_impl.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-mpmath from sage.libs.gmp.all cimport mpz_t ctypedef struct MPopts: diff --git a/src/sage/libs/mpmath/ext_impl.pyx b/src/sage/libs/mpmath/ext_impl.pyx index 0d57c8f2882..d9ed3bda4bb 100644 --- a/src/sage/libs/mpmath/ext_impl.pyx +++ b/src/sage/libs/mpmath/ext_impl.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-mpmath """ This module provides the core implementation of multiprecision floating-point arithmetic. Operations are done in-place. diff --git a/src/sage/libs/mpmath/ext_libmp.pyx b/src/sage/libs/mpmath/ext_libmp.pyx index 10d1b32eb36..d59d1d268cd 100644 --- a/src/sage/libs/mpmath/ext_libmp.pyx +++ b/src/sage/libs/mpmath/ext_libmp.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-mpmath """ Faster versions of some key functions in mpmath.libmp """ diff --git a/src/sage/libs/mpmath/ext_main.pxd b/src/sage/libs/mpmath/ext_main.pxd index 8a3bf740b0e..ea3f7bba6d4 100644 --- a/src/sage/libs/mpmath/ext_main.pxd +++ b/src/sage/libs/mpmath/ext_main.pxd @@ -1 +1,2 @@ +# sage_setup: distribution = sagemath-mpmath from sage.libs.mpmath.ext_impl cimport * diff --git a/src/sage/libs/mpmath/ext_main.pyx b/src/sage/libs/mpmath/ext_main.pyx index 36a035f7570..19462b1d21e 100644 --- a/src/sage/libs/mpmath/ext_main.pyx +++ b/src/sage/libs/mpmath/ext_main.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-mpmath """ mpmath floating-point numbers diff --git a/src/sage/libs/mpmath/utils.pyx b/src/sage/libs/mpmath/utils.pyx index b7a4f532823..7d98a5fd324 100644 --- a/src/sage/libs/mpmath/utils.pyx +++ b/src/sage/libs/mpmath/utils.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-mpmath """ Utilities for Sage-mpmath interaction diff --git a/src/sage/libs/ntl/GF2.pxd b/src/sage/libs/ntl/GF2.pxd index 5be7f496766..1d5d9ea49d7 100644 --- a/src/sage/libs/ntl/GF2.pxd +++ b/src/sage/libs/ntl/GF2.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl from sage.libs.ntl.types cimport GF2_c diff --git a/src/sage/libs/ntl/GF2E.pxd b/src/sage/libs/ntl/GF2E.pxd index 5a72efec6a4..901df87a4ef 100644 --- a/src/sage/libs/ntl/GF2E.pxd +++ b/src/sage/libs/ntl/GF2E.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl from sage.libs.ntl.types cimport GF2E_c, GF2X_c, GF2_c, GF2XModulus_c, ZZ_c diff --git a/src/sage/libs/ntl/GF2EX.pxd b/src/sage/libs/ntl/GF2EX.pxd index 4a0df45c9f1..4648aaa7429 100644 --- a/src/sage/libs/ntl/GF2EX.pxd +++ b/src/sage/libs/ntl/GF2EX.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl from sage.libs.ntl.types cimport GF2EX_c diff --git a/src/sage/libs/ntl/GF2X.pxd b/src/sage/libs/ntl/GF2X.pxd index 9342f63244c..e3da7f38126 100644 --- a/src/sage/libs/ntl/GF2X.pxd +++ b/src/sage/libs/ntl/GF2X.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl from sage.libs.ntl.types cimport GF2X_c, GF2_c, GF2XModulus_c, vec_GF2_c, ZZ_c diff --git a/src/sage/libs/ntl/ZZ.pxd b/src/sage/libs/ntl/ZZ.pxd index fc8901fc31a..faf139e6848 100644 --- a/src/sage/libs/ntl/ZZ.pxd +++ b/src/sage/libs/ntl/ZZ.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl # distutils: depends = NTL/ZZ.h from sage.libs.ntl.types cimport ZZ_c diff --git a/src/sage/libs/ntl/ZZX.pxd b/src/sage/libs/ntl/ZZX.pxd index bc2780e3a83..e5511934cca 100644 --- a/src/sage/libs/ntl/ZZX.pxd +++ b/src/sage/libs/ntl/ZZX.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl # distutils: depends = NTL/ZZ.h from sage.libs.gmp.types cimport mpz_t diff --git a/src/sage/libs/ntl/ZZ_p.pxd b/src/sage/libs/ntl/ZZ_p.pxd index 1d7d95e4007..0611bc4e1b6 100644 --- a/src/sage/libs/ntl/ZZ_p.pxd +++ b/src/sage/libs/ntl/ZZ_p.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl # distutils: depends = NTL/ZZ.h from sage.libs.ntl.types cimport ZZ_c, ZZ_p_c diff --git a/src/sage/libs/ntl/ZZ_pE.pxd b/src/sage/libs/ntl/ZZ_pE.pxd index bdfb04cb783..f8842659911 100644 --- a/src/sage/libs/ntl/ZZ_pE.pxd +++ b/src/sage/libs/ntl/ZZ_pE.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl # distutils: depends = NTL/ZZ.h from sage.libs.ntl.types cimport ZZ_c, ZZ_p_c, ZZ_pX_c, ZZ_pE_c diff --git a/src/sage/libs/ntl/ZZ_pEX.pxd b/src/sage/libs/ntl/ZZ_pEX.pxd index 78be3ee13ea..e5f2b12d62e 100644 --- a/src/sage/libs/ntl/ZZ_pEX.pxd +++ b/src/sage/libs/ntl/ZZ_pEX.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl # distutils: depends = NTL/ZZ.h from sage.libs.ntl.types cimport (ZZ_c, ZZ_p_c, ZZ_pContext_c, ZZ_pE_c, vec_ZZ_p_c, diff --git a/src/sage/libs/ntl/ZZ_pX.pxd b/src/sage/libs/ntl/ZZ_pX.pxd index 8c9f609f1cd..d54625fcebf 100644 --- a/src/sage/libs/ntl/ZZ_pX.pxd +++ b/src/sage/libs/ntl/ZZ_pX.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl # distutils: depends = NTL/ZZ.h from sage.libs.ntl.types cimport (ZZ_c, ZZX_c, ZZ_p_c, vec_ZZ_p_c, ZZ_pContext_c, diff --git a/src/sage/libs/ntl/__init__.py b/src/sage/libs/ntl/__init__.py index 0ab0a2c43e7..ba2e4477f9f 100644 --- a/src/sage/libs/ntl/__init__.py +++ b/src/sage/libs/ntl/__init__.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl from sage.libs.ntl.error import setup_NTL_error_callback setup_NTL_error_callback() diff --git a/src/sage/libs/ntl/all.py b/src/sage/libs/ntl/all.py index e9d4271879a..ade13735e1f 100644 --- a/src/sage/libs/ntl/all.py +++ b/src/sage/libs/ntl/all.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl r""" Victor Shoup's NTL C++ Library @@ -29,12 +30,12 @@ from sage.libs.ntl.ntl_ZZ_pContext import ntl_ZZ_pContext as ZZ_pContext from sage.libs.ntl.ntl_ZZ_p import ( - ntl_ZZ_p as ZZ_p, - ntl_ZZ_p_random_element as ZZ_p_random ) + ntl_ZZ_p as ZZ_p, + ntl_ZZ_p_random_element as ZZ_p_random) from sage.libs.ntl.ntl_ZZX import ( - ntl_ZZX as ZZX, - zero_ZZX, one_ZZX ) + ntl_ZZX as ZZX, + zero_ZZX, one_ZZX) from sage.libs.ntl.ntl_ZZ_pX import ntl_ZZ_pX as ZZ_pX diff --git a/src/sage/libs/ntl/conversion.pxd b/src/sage/libs/ntl/conversion.pxd index e46cc66284e..a24de983a12 100644 --- a/src/sage/libs/ntl/conversion.pxd +++ b/src/sage/libs/ntl/conversion.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl r""" Inline conversions between NTL and Sage diff --git a/src/sage/libs/ntl/convert.pxd b/src/sage/libs/ntl/convert.pxd index 58420abb94c..42d2f01dc1b 100644 --- a/src/sage/libs/ntl/convert.pxd +++ b/src/sage/libs/ntl/convert.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl from sage.libs.ntl.types cimport ZZ_c from sage.libs.gmp.types cimport mpz_t, mpz_srcptr diff --git a/src/sage/libs/ntl/convert.pyx b/src/sage/libs/ntl/convert.pyx index 5924c9f2e79..3002ce3061d 100644 --- a/src/sage/libs/ntl/convert.pyx +++ b/src/sage/libs/ntl/convert.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl # distutils: depends = NTL/ZZ.h # distutils: libraries = NTL_LIBRARIES gmp # distutils: extra_compile_args = NTL_CFLAGS diff --git a/src/sage/libs/ntl/decl.pxi b/src/sage/libs/ntl/decl.pxi index ae4eb5500f5..79b9592d199 100644 --- a/src/sage/libs/ntl/decl.pxi +++ b/src/sage/libs/ntl/decl.pxi @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl from sage.libs.ntl.types cimport * from sage.libs.ntl.ZZ cimport * from sage.libs.ntl.ZZ_pX cimport * diff --git a/src/sage/libs/ntl/error.pyx b/src/sage/libs/ntl/error.pyx index c729cd4c1fb..54693d1c87f 100644 --- a/src/sage/libs/ntl/error.pyx +++ b/src/sage/libs/ntl/error.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl # distutils: libraries = ntl gmp # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR diff --git a/src/sage/libs/ntl/lzz_p.pxd b/src/sage/libs/ntl/lzz_p.pxd index 14d81bc8ab0..3d30b2f38c4 100644 --- a/src/sage/libs/ntl/lzz_p.pxd +++ b/src/sage/libs/ntl/lzz_p.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl # distutils: depends = NTL/ZZ.h from sage.libs.ntl.types cimport zz_p_c diff --git a/src/sage/libs/ntl/lzz_pX.pxd b/src/sage/libs/ntl/lzz_pX.pxd index 72905fd1d54..e747309ceb9 100644 --- a/src/sage/libs/ntl/lzz_pX.pxd +++ b/src/sage/libs/ntl/lzz_pX.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl # distutils: depends = NTL/ZZ.h from sage.libs.ntl.types cimport ZZ_c, zz_p_c, zz_pX_c, zz_pX_Modulus_c diff --git a/src/sage/libs/ntl/mat_GF2.pxd b/src/sage/libs/ntl/mat_GF2.pxd index db535d800fc..0405a90c646 100644 --- a/src/sage/libs/ntl/mat_GF2.pxd +++ b/src/sage/libs/ntl/mat_GF2.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl from sage.libs.ntl.types cimport mat_GF2_c, vec_GF2_c, GF2_c diff --git a/src/sage/libs/ntl/mat_GF2E.pxd b/src/sage/libs/ntl/mat_GF2E.pxd index e6c3b5fc622..c6d2c615dbd 100644 --- a/src/sage/libs/ntl/mat_GF2E.pxd +++ b/src/sage/libs/ntl/mat_GF2E.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl from sage.libs.ntl.types cimport mat_GF2E_c, vec_GF2E_c, GF2E_c diff --git a/src/sage/libs/ntl/mat_ZZ.pxd b/src/sage/libs/ntl/mat_ZZ.pxd index a676c90fb1b..a33fc2b1a1a 100644 --- a/src/sage/libs/ntl/mat_ZZ.pxd +++ b/src/sage/libs/ntl/mat_ZZ.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl from sage.libs.ntl.types cimport mat_ZZ_c, ZZ_c, ZZX_c diff --git a/src/sage/libs/ntl/misc.pxi b/src/sage/libs/ntl/misc.pxi index e9dcd9807b0..3f6a69149d2 100644 --- a/src/sage/libs/ntl/misc.pxi +++ b/src/sage/libs/ntl/misc.pxi @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl # distutils: depends = NTL/ZZ.h from cysignals.memory cimport sig_free diff --git a/src/sage/libs/ntl/ntl_GF2.pxd b/src/sage/libs/ntl/ntl_GF2.pxd index 2be873c950c..1f388a00ff0 100644 --- a/src/sage/libs/ntl/ntl_GF2.pxd +++ b/src/sage/libs/ntl/ntl_GF2.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl from sage.libs.ntl.types cimport GF2_c cdef class ntl_GF2(): diff --git a/src/sage/libs/ntl/ntl_GF2.pyx b/src/sage/libs/ntl/ntl_GF2.pyx index 9d4d8a0b5e4..9933db5ffe9 100644 --- a/src/sage/libs/ntl/ntl_GF2.pyx +++ b/src/sage/libs/ntl/ntl_GF2.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl # distutils: libraries = NTL_LIBRARIES gmp # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR diff --git a/src/sage/libs/ntl/ntl_GF2E.pxd b/src/sage/libs/ntl/ntl_GF2E.pxd index c36292c8748..fd3825f9b37 100644 --- a/src/sage/libs/ntl/ntl_GF2E.pxd +++ b/src/sage/libs/ntl/ntl_GF2E.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl from sage.libs.ntl.types cimport GF2E_c from sage.libs.ntl.ntl_GF2EContext cimport ntl_GF2EContext_class diff --git a/src/sage/libs/ntl/ntl_GF2E.pyx b/src/sage/libs/ntl/ntl_GF2E.pyx index e162f21ddc9..f452aadf609 100644 --- a/src/sage/libs/ntl/ntl_GF2E.pyx +++ b/src/sage/libs/ntl/ntl_GF2E.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl # distutils: libraries = NTL_LIBRARIES gmp m # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR diff --git a/src/sage/libs/ntl/ntl_GF2EContext.pxd b/src/sage/libs/ntl/ntl_GF2EContext.pxd index 01fc4676e58..c7256683a56 100644 --- a/src/sage/libs/ntl/ntl_GF2EContext.pxd +++ b/src/sage/libs/ntl/ntl_GF2EContext.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl from sage.libs.ntl.types cimport GF2EContext_c from sage.libs.ntl.ntl_GF2X cimport ntl_GF2X diff --git a/src/sage/libs/ntl/ntl_GF2EContext.pyx b/src/sage/libs/ntl/ntl_GF2EContext.pyx index ad3b08aa9dc..5ee4bbbc249 100644 --- a/src/sage/libs/ntl/ntl_GF2EContext.pyx +++ b/src/sage/libs/ntl/ntl_GF2EContext.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl # distutils: libraries = NTL_LIBRARIES gmp m # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR diff --git a/src/sage/libs/ntl/ntl_GF2EX.pxd b/src/sage/libs/ntl/ntl_GF2EX.pxd index becd89a9c57..5113ee1f612 100644 --- a/src/sage/libs/ntl/ntl_GF2EX.pxd +++ b/src/sage/libs/ntl/ntl_GF2EX.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl from sage.libs.ntl.types cimport GF2EX_c from sage.libs.ntl.ntl_GF2EContext cimport ntl_GF2EContext_class from sage.libs.ntl.ntl_GF2E cimport ntl_GF2E diff --git a/src/sage/libs/ntl/ntl_GF2EX.pyx b/src/sage/libs/ntl/ntl_GF2EX.pyx index 0b7beb873df..ecdbba594d0 100644 --- a/src/sage/libs/ntl/ntl_GF2EX.pyx +++ b/src/sage/libs/ntl/ntl_GF2EX.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl # distutils: libraries = NTL_LIBRARIES gmp m # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR diff --git a/src/sage/libs/ntl/ntl_GF2X.pxd b/src/sage/libs/ntl/ntl_GF2X.pxd index 8d50c9d17d8..f72db7c0404 100644 --- a/src/sage/libs/ntl/ntl_GF2X.pxd +++ b/src/sage/libs/ntl/ntl_GF2X.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl from sage.libs.ntl.types cimport GF2X_c cdef class ntl_GF2X(): diff --git a/src/sage/libs/ntl/ntl_GF2X.pyx b/src/sage/libs/ntl/ntl_GF2X.pyx index 5e6ef736763..57329a65e90 100644 --- a/src/sage/libs/ntl/ntl_GF2X.pyx +++ b/src/sage/libs/ntl/ntl_GF2X.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl # distutils: libraries = NTL_LIBRARIES gmp m # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR diff --git a/src/sage/libs/ntl/ntl_GF2X_linkage.pxi b/src/sage/libs/ntl/ntl_GF2X_linkage.pxi index 8f5edce14c1..ea29db53969 100644 --- a/src/sage/libs/ntl/ntl_GF2X_linkage.pxi +++ b/src/sage/libs/ntl/ntl_GF2X_linkage.pxi @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl r""" Linkage for arithmetic with NTL's GF2X elements. diff --git a/src/sage/libs/ntl/ntl_ZZ.pxd b/src/sage/libs/ntl/ntl_ZZ.pxd index 2ada3d8398c..bab369973a5 100644 --- a/src/sage/libs/ntl/ntl_ZZ.pxd +++ b/src/sage/libs/ntl/ntl_ZZ.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl from sage.libs.ntl.types cimport ZZ_c cdef class ntl_ZZ(): diff --git a/src/sage/libs/ntl/ntl_ZZ.pyx b/src/sage/libs/ntl/ntl_ZZ.pyx index 3f4a412a5e1..68d1a0cb4c8 100644 --- a/src/sage/libs/ntl/ntl_ZZ.pyx +++ b/src/sage/libs/ntl/ntl_ZZ.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl # distutils: libraries = NTL_LIBRARIES gmp m # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR diff --git a/src/sage/libs/ntl/ntl_ZZX.pxd b/src/sage/libs/ntl/ntl_ZZX.pxd index 63e588c1d42..287d3fec8af 100644 --- a/src/sage/libs/ntl/ntl_ZZX.pxd +++ b/src/sage/libs/ntl/ntl_ZZX.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl from sage.libs.ntl.types cimport ZZX_c cdef class ntl_ZZX(): diff --git a/src/sage/libs/ntl/ntl_ZZX.pyx b/src/sage/libs/ntl/ntl_ZZX.pyx index 3e23bcd1250..4e142c3cff8 100644 --- a/src/sage/libs/ntl/ntl_ZZX.pyx +++ b/src/sage/libs/ntl/ntl_ZZX.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl # distutils: libraries = NTL_LIBRARIES gmp m # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR diff --git a/src/sage/libs/ntl/ntl_ZZ_p.pxd b/src/sage/libs/ntl/ntl_ZZ_p.pxd index 8bac6e012e4..9a15f92452c 100644 --- a/src/sage/libs/ntl/ntl_ZZ_p.pxd +++ b/src/sage/libs/ntl/ntl_ZZ_p.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl from sage.libs.ntl.types cimport ZZ_p_c from sage.libs.ntl.ntl_ZZ_pContext cimport ntl_ZZ_pContext_class diff --git a/src/sage/libs/ntl/ntl_ZZ_p.pyx b/src/sage/libs/ntl/ntl_ZZ_p.pyx index f4e84667d2b..c804b8a7f8b 100644 --- a/src/sage/libs/ntl/ntl_ZZ_p.pyx +++ b/src/sage/libs/ntl/ntl_ZZ_p.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl # distutils: libraries = NTL_LIBRARIES gmp m # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR diff --git a/src/sage/libs/ntl/ntl_ZZ_pContext.pxd b/src/sage/libs/ntl/ntl_ZZ_pContext.pxd index 1cab7b77e35..1224b0900b8 100644 --- a/src/sage/libs/ntl/ntl_ZZ_pContext.pxd +++ b/src/sage/libs/ntl/ntl_ZZ_pContext.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl from sage.libs.ntl.types cimport ZZ_pContext_c from sage.libs.ntl.ntl_ZZ cimport ntl_ZZ from sage.libs.ntl.types cimport ZZ_c diff --git a/src/sage/libs/ntl/ntl_ZZ_pContext.pyx b/src/sage/libs/ntl/ntl_ZZ_pContext.pyx index 38f211a5ea1..e8a277f296a 100644 --- a/src/sage/libs/ntl/ntl_ZZ_pContext.pyx +++ b/src/sage/libs/ntl/ntl_ZZ_pContext.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl # distutils: libraries = NTL_LIBRARIES gmp m # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR diff --git a/src/sage/libs/ntl/ntl_ZZ_pE.pxd b/src/sage/libs/ntl/ntl_ZZ_pE.pxd index c60eaba4ad5..965b531d702 100644 --- a/src/sage/libs/ntl/ntl_ZZ_pE.pxd +++ b/src/sage/libs/ntl/ntl_ZZ_pE.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl from sage.libs.ntl.types cimport ZZ_pE_c from sage.libs.ntl.ntl_ZZ_pEContext cimport ntl_ZZ_pEContext_class from sage.libs.ntl.ntl_ZZ_pX cimport ntl_ZZ_pX diff --git a/src/sage/libs/ntl/ntl_ZZ_pE.pyx b/src/sage/libs/ntl/ntl_ZZ_pE.pyx index 00644a8bd84..1f202626a43 100644 --- a/src/sage/libs/ntl/ntl_ZZ_pE.pyx +++ b/src/sage/libs/ntl/ntl_ZZ_pE.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl # distutils: libraries = NTL_LIBRARIES gmp m # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR diff --git a/src/sage/libs/ntl/ntl_ZZ_pEContext.pxd b/src/sage/libs/ntl/ntl_ZZ_pEContext.pxd index 70041817a63..8db9e1e8741 100644 --- a/src/sage/libs/ntl/ntl_ZZ_pEContext.pxd +++ b/src/sage/libs/ntl/ntl_ZZ_pEContext.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl from sage.libs.ntl.types cimport ZZ_pContext_c, ZZ_pEContext_c from sage.libs.ntl.ntl_ZZ_pContext cimport ntl_ZZ_pContext_class from sage.libs.ntl.ntl_ZZ_pX cimport ntl_ZZ_pX diff --git a/src/sage/libs/ntl/ntl_ZZ_pEContext.pyx b/src/sage/libs/ntl/ntl_ZZ_pEContext.pyx index 03ff00f21d4..01a5260fe5e 100644 --- a/src/sage/libs/ntl/ntl_ZZ_pEContext.pyx +++ b/src/sage/libs/ntl/ntl_ZZ_pEContext.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl # distutils: libraries = NTL_LIBRARIES gmp m # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR diff --git a/src/sage/libs/ntl/ntl_ZZ_pEX.pxd b/src/sage/libs/ntl/ntl_ZZ_pEX.pxd index b56b85519a3..10c3b0a4627 100644 --- a/src/sage/libs/ntl/ntl_ZZ_pEX.pxd +++ b/src/sage/libs/ntl/ntl_ZZ_pEX.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl from sage.libs.ntl.types cimport ZZ_pEX_c from sage.libs.ntl.ntl_ZZ_pEContext cimport ntl_ZZ_pEContext_class diff --git a/src/sage/libs/ntl/ntl_ZZ_pEX.pyx b/src/sage/libs/ntl/ntl_ZZ_pEX.pyx index c12df77c2f0..ea323040d72 100644 --- a/src/sage/libs/ntl/ntl_ZZ_pEX.pyx +++ b/src/sage/libs/ntl/ntl_ZZ_pEX.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl # distutils: libraries = NTL_LIBRARIES gmp m # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR diff --git a/src/sage/libs/ntl/ntl_ZZ_pEX_linkage.pxi b/src/sage/libs/ntl/ntl_ZZ_pEX_linkage.pxi index 76ec8770f3f..62027822f20 100644 --- a/src/sage/libs/ntl/ntl_ZZ_pEX_linkage.pxi +++ b/src/sage/libs/ntl/ntl_ZZ_pEX_linkage.pxi @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl r""" Linkage for arithmetic with NTL's ZZ_pEX elements. diff --git a/src/sage/libs/ntl/ntl_ZZ_pX.pxd b/src/sage/libs/ntl/ntl_ZZ_pX.pxd index d02596b5128..62b98f25e21 100644 --- a/src/sage/libs/ntl/ntl_ZZ_pX.pxd +++ b/src/sage/libs/ntl/ntl_ZZ_pX.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl from sage.libs.ntl.ZZ_pX cimport * from sage.libs.ntl.ntl_ZZ_pContext cimport ntl_ZZ_pContext_class diff --git a/src/sage/libs/ntl/ntl_ZZ_pX.pyx b/src/sage/libs/ntl/ntl_ZZ_pX.pyx index c93d263cb10..5de5ae27c92 100644 --- a/src/sage/libs/ntl/ntl_ZZ_pX.pyx +++ b/src/sage/libs/ntl/ntl_ZZ_pX.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl # distutils: libraries = NTL_LIBRARIES gmp m # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR diff --git a/src/sage/libs/ntl/ntl_lzz_p.pxd b/src/sage/libs/ntl/ntl_lzz_p.pxd index 6e8c43d8997..dd35d65da88 100644 --- a/src/sage/libs/ntl/ntl_lzz_p.pxd +++ b/src/sage/libs/ntl/ntl_lzz_p.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl from sage.libs.ntl.lzz_p cimport * from sage.libs.ntl.ntl_lzz_pContext cimport ntl_zz_pContext_class diff --git a/src/sage/libs/ntl/ntl_lzz_p.pyx b/src/sage/libs/ntl/ntl_lzz_p.pyx index af86b9bcf69..2188192156f 100644 --- a/src/sage/libs/ntl/ntl_lzz_p.pyx +++ b/src/sage/libs/ntl/ntl_lzz_p.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl # distutils: libraries = NTL_LIBRARIES gmp m # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR diff --git a/src/sage/libs/ntl/ntl_lzz_pContext.pxd b/src/sage/libs/ntl/ntl_lzz_pContext.pxd index 3fd7452197d..075f7dfbfdf 100644 --- a/src/sage/libs/ntl/ntl_lzz_pContext.pxd +++ b/src/sage/libs/ntl/ntl_lzz_pContext.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl from sage.libs.ntl.types cimport zz_pContext_c cdef class ntl_zz_pContext_class(): diff --git a/src/sage/libs/ntl/ntl_lzz_pContext.pyx b/src/sage/libs/ntl/ntl_lzz_pContext.pyx index 2c1c941b9e8..97751af9741 100644 --- a/src/sage/libs/ntl/ntl_lzz_pContext.pyx +++ b/src/sage/libs/ntl/ntl_lzz_pContext.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl # distutils: libraries = NTL_LIBRARIES gmp m # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR diff --git a/src/sage/libs/ntl/ntl_lzz_pX.pxd b/src/sage/libs/ntl/ntl_lzz_pX.pxd index 3ab79084299..5684627847d 100644 --- a/src/sage/libs/ntl/ntl_lzz_pX.pxd +++ b/src/sage/libs/ntl/ntl_lzz_pX.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl from sage.libs.ntl.lzz_p cimport * from sage.libs.ntl.lzz_pX cimport * diff --git a/src/sage/libs/ntl/ntl_lzz_pX.pyx b/src/sage/libs/ntl/ntl_lzz_pX.pyx index 7d19cc55e37..9fc6f22c9d5 100644 --- a/src/sage/libs/ntl/ntl_lzz_pX.pyx +++ b/src/sage/libs/ntl/ntl_lzz_pX.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl # distutils: libraries = NTL_LIBRARIES gmp m # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR diff --git a/src/sage/libs/ntl/ntl_mat_GF2.pxd b/src/sage/libs/ntl/ntl_mat_GF2.pxd index 5617ef98915..63fdbdd41b9 100644 --- a/src/sage/libs/ntl/ntl_mat_GF2.pxd +++ b/src/sage/libs/ntl/ntl_mat_GF2.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl from sage.libs.ntl.types cimport mat_GF2_c from sage.libs.ntl.ntl_GF2 cimport ntl_GF2 diff --git a/src/sage/libs/ntl/ntl_mat_GF2.pyx b/src/sage/libs/ntl/ntl_mat_GF2.pyx index 318747e9ade..87cc2b56795 100644 --- a/src/sage/libs/ntl/ntl_mat_GF2.pyx +++ b/src/sage/libs/ntl/ntl_mat_GF2.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl # distutils: libraries = NTL_LIBRARIES gmp m # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR diff --git a/src/sage/libs/ntl/ntl_mat_GF2E.pxd b/src/sage/libs/ntl/ntl_mat_GF2E.pxd index fbb58382368..47748a341b7 100644 --- a/src/sage/libs/ntl/ntl_mat_GF2E.pxd +++ b/src/sage/libs/ntl/ntl_mat_GF2E.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl from sage.libs.ntl.types cimport mat_GF2E_c from sage.libs.ntl.ntl_GF2EContext cimport ntl_GF2EContext_class from sage.libs.ntl.ntl_GF2E cimport ntl_GF2E diff --git a/src/sage/libs/ntl/ntl_mat_GF2E.pyx b/src/sage/libs/ntl/ntl_mat_GF2E.pyx index 7ab9b92c020..67875771ea5 100644 --- a/src/sage/libs/ntl/ntl_mat_GF2E.pyx +++ b/src/sage/libs/ntl/ntl_mat_GF2E.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl # distutils: libraries = NTL_LIBRARIES gmp m # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR diff --git a/src/sage/libs/ntl/ntl_mat_ZZ.pxd b/src/sage/libs/ntl/ntl_mat_ZZ.pxd index 472ef698704..bb51160564a 100644 --- a/src/sage/libs/ntl/ntl_mat_ZZ.pxd +++ b/src/sage/libs/ntl/ntl_mat_ZZ.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl from sage.libs.ntl.types cimport mat_ZZ_c cdef class ntl_mat_ZZ(): diff --git a/src/sage/libs/ntl/ntl_mat_ZZ.pyx b/src/sage/libs/ntl/ntl_mat_ZZ.pyx index ed4e012bb33..89968c7e46f 100644 --- a/src/sage/libs/ntl/ntl_mat_ZZ.pyx +++ b/src/sage/libs/ntl/ntl_mat_ZZ.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl # distutils: libraries = NTL_LIBRARIES gmp m # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR diff --git a/src/sage/libs/ntl/ntl_tools.pxd b/src/sage/libs/ntl/ntl_tools.pxd index 3cb8c0567f2..ae88c987f42 100644 --- a/src/sage/libs/ntl/ntl_tools.pxd +++ b/src/sage/libs/ntl/ntl_tools.pxd @@ -1,2 +1,3 @@ +# sage_setup: distribution = sagemath-ntl cdef extern from "NTL/tools.h" namespace "NTL": void (*ErrorMsgCallback)(const char *) except * diff --git a/src/sage/libs/ntl/types.pxd b/src/sage/libs/ntl/types.pxd index 22e16968943..ed7f61beddb 100644 --- a/src/sage/libs/ntl/types.pxd +++ b/src/sage/libs/ntl/types.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl # distutils: depends = NTL/ZZ.h cdef extern from "ntlwrap.h": diff --git a/src/sage/libs/ntl/vec_GF2.pxd b/src/sage/libs/ntl/vec_GF2.pxd index 81a3736b49f..38d1751410d 100644 --- a/src/sage/libs/ntl/vec_GF2.pxd +++ b/src/sage/libs/ntl/vec_GF2.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl from sage.libs.ntl.types cimport vec_GF2_c, GF2_c diff --git a/src/sage/libs/ntl/vec_GF2E.pxd b/src/sage/libs/ntl/vec_GF2E.pxd index 8e53bad0517..2d0d6436d51 100644 --- a/src/sage/libs/ntl/vec_GF2E.pxd +++ b/src/sage/libs/ntl/vec_GF2E.pxd @@ -1 +1,2 @@ +# sage_setup: distribution = sagemath-ntl from sage.libs.ntl.types cimport vec_GF2E_c diff --git a/src/sage/libs/pari/__init__.py b/src/sage/libs/pari/__init__.py index 44d159ef3c1..9ece55f0ba3 100644 --- a/src/sage/libs/pari/__init__.py +++ b/src/sage/libs/pari/__init__.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari # sage.doctest: needs sage.rings.real_mpfr """ Interface between Sage and PARI diff --git a/src/sage/libs/pari/all.py b/src/sage/libs/pari/all.py index 8bcf5d827df..dff1eaf985f 100644 --- a/src/sage/libs/pari/all.py +++ b/src/sage/libs/pari/all.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari from cypari2.gen import Gen as pari_gen from cypari2 import PariError -from . import pari +from sage.libs.pari import pari diff --git a/src/sage/libs/pari/all__sagemath_flint.py b/src/sage/libs/pari/all__sagemath_flint.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/libs/pari/convert_flint.pxd b/src/sage/libs/pari/convert_flint.pxd index c139703b9a5..cce1636463a 100644 --- a/src/sage/libs/pari/convert_flint.pxd +++ b/src/sage/libs/pari/convert_flint.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint from cypari2.types cimport GEN from cypari2.gen cimport Gen from sage.libs.flint.types cimport fmpz_t, fmpz_mat_t, fmpq_t, fmpq_mat_t diff --git a/src/sage/libs/pari/convert_flint.pyx b/src/sage/libs/pari/convert_flint.pyx index fe0e4f7648d..59aee3b93f9 100644 --- a/src/sage/libs/pari/convert_flint.pyx +++ b/src/sage/libs/pari/convert_flint.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint """ Convert PARI objects to/from Flint objects diff --git a/src/sage/libs/pari/convert_gmp.pxd b/src/sage/libs/pari/convert_gmp.pxd index 8e984eedce8..3c087f57ec9 100644 --- a/src/sage/libs/pari/convert_gmp.pxd +++ b/src/sage/libs/pari/convert_gmp.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari from cypari2.types cimport GEN from cypari2.gen cimport Gen from sage.libs.gmp.types cimport mpz_t, mpq_t, mpz_ptr, mpq_ptr diff --git a/src/sage/libs/pari/convert_gmp.pyx b/src/sage/libs/pari/convert_gmp.pyx index 9162f7d9a27..05e81de8b22 100644 --- a/src/sage/libs/pari/convert_gmp.pyx +++ b/src/sage/libs/pari/convert_gmp.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari """ Convert PARI objects to/from GMP objects diff --git a/src/sage/libs/pari/convert_sage.pxd b/src/sage/libs/pari/convert_sage.pxd index ef80ff4030f..ee45f16fe33 100644 --- a/src/sage/libs/pari/convert_sage.pxd +++ b/src/sage/libs/pari/convert_sage.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari from cypari2.gen cimport Gen from sage.rings.integer cimport Integer from sage.rings.rational cimport Rational diff --git a/src/sage/libs/pari/convert_sage.pyx b/src/sage/libs/pari/convert_sage.pyx index a163dbf2b33..be14c4a8ff0 100644 --- a/src/sage/libs/pari/convert_sage.pyx +++ b/src/sage/libs/pari/convert_sage.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari r""" Convert PARI objects to Sage types """ diff --git a/src/sage/libs/pari/convert_sage_complex_double.pxd b/src/sage/libs/pari/convert_sage_complex_double.pxd index 51299d77759..8511c788eec 100644 --- a/src/sage/libs/pari/convert_sage_complex_double.pxd +++ b/src/sage/libs/pari/convert_sage_complex_double.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari from cypari2.gen cimport Gen from sage.rings.complex_double cimport ComplexDoubleElement diff --git a/src/sage/libs/pari/convert_sage_complex_double.pyx b/src/sage/libs/pari/convert_sage_complex_double.pyx index d7d7c5333a1..18ab028ae63 100644 --- a/src/sage/libs/pari/convert_sage_complex_double.pyx +++ b/src/sage/libs/pari/convert_sage_complex_double.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari # sage.doctest: needs sage.rings.complex_double from cysignals.signals cimport sig_on, sig_off diff --git a/src/sage/libs/pari/convert_sage_matrix.pyx b/src/sage/libs/pari/convert_sage_matrix.pyx index 1efcea03e72..d686d2b6164 100644 --- a/src/sage/libs/pari/convert_sage_matrix.pyx +++ b/src/sage/libs/pari/convert_sage_matrix.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari # sage.doctest: needs sage.modules from cypari2.gen cimport Gen diff --git a/src/sage/libs/pari/convert_sage_real_double.pxd b/src/sage/libs/pari/convert_sage_real_double.pxd index 12fa7418e69..d72730f0770 100644 --- a/src/sage/libs/pari/convert_sage_real_double.pxd +++ b/src/sage/libs/pari/convert_sage_real_double.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari from cypari2.gen cimport Gen from sage.rings.real_double cimport RealDoubleElement diff --git a/src/sage/libs/pari/convert_sage_real_double.pyx b/src/sage/libs/pari/convert_sage_real_double.pyx index 6d7ffe7038e..8a81836407e 100644 --- a/src/sage/libs/pari/convert_sage_real_double.pyx +++ b/src/sage/libs/pari/convert_sage_real_double.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari from cypari2.convert cimport new_gen_from_double cpdef Gen new_gen_from_real_double_element(RealDoubleElement self): diff --git a/src/sage/libs/pari/convert_sage_real_mpfr.pxd b/src/sage/libs/pari/convert_sage_real_mpfr.pxd index 34fbd2bbe45..73d8260d4e6 100644 --- a/src/sage/libs/pari/convert_sage_real_mpfr.pxd +++ b/src/sage/libs/pari/convert_sage_real_mpfr.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari from cypari2.gen cimport Gen from sage.rings.real_mpfr cimport RealNumber diff --git a/src/sage/libs/pari/convert_sage_real_mpfr.pyx b/src/sage/libs/pari/convert_sage_real_mpfr.pyx index 4546c3def24..312aec30473 100644 --- a/src/sage/libs/pari/convert_sage_real_mpfr.pyx +++ b/src/sage/libs/pari/convert_sage_real_mpfr.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari # sage.doctest: needs sage.rings.real_mpfr from cypari2.stack cimport new_gen diff --git a/src/sage/libs/pari/misc.pxd b/src/sage/libs/pari/misc.pxd index ae89aff0b84..710ffefb6ca 100644 --- a/src/sage/libs/pari/misc.pxd +++ b/src/sage/libs/pari/misc.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari from cypari2.gen cimport Gen cdef Gen new_t_POL_from_int_star(int* vals, unsigned long length, long varnum) diff --git a/src/sage/libs/pari/misc.pyx b/src/sage/libs/pari/misc.pyx index 1ed774d417c..45d265e0d62 100644 --- a/src/sage/libs/pari/misc.pyx +++ b/src/sage/libs/pari/misc.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari from cysignals.signals cimport sig_on from cypari2.paridecl cimport * from cypari2.stack cimport new_gen diff --git a/src/sage/libs/pari/tests.py b/src/sage/libs/pari/tests.py index 43018a338d6..e46281c1ef2 100644 --- a/src/sage/libs/pari/tests.py +++ b/src/sage/libs/pari/tests.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari r""" Tests for the Sage <-> PARI interface diff --git a/src/sage/libs/polybori/__init__.pxd b/src/sage/libs/polybori/__init__.pxd index 361d7520c13..bc6ce2d1ff6 100644 --- a/src/sage/libs/polybori/__init__.pxd +++ b/src/sage/libs/polybori/__init__.pxd @@ -1 +1,2 @@ +# sage_setup: distribution = sagemath-brial # Insert a comment here to prevent repo corruption. diff --git a/src/sage/libs/polybori/decl.pxd b/src/sage/libs/polybori/decl.pxd index dd6a3aaf0b6..b516710851c 100644 --- a/src/sage/libs/polybori/decl.pxd +++ b/src/sage/libs/polybori/decl.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-brial # distutils: language = c++ # distutils: extra_compile_args = -std=c++11 diff --git a/src/sage/libs/pynac/__init__.py b/src/sage/libs/pynac/__init__.py index e69de29bb2d..332eaf1cdb6 100644 --- a/src/sage/libs/pynac/__init__.py +++ b/src/sage/libs/pynac/__init__.py @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-symbolics diff --git a/src/sage/libs/pynac/pynac.py b/src/sage/libs/pynac/pynac.py index ae39f63c4c2..dbc8660b51c 100644 --- a/src/sage/libs/pynac/pynac.py +++ b/src/sage/libs/pynac/pynac.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Interface to the pynac library (deprecated module) diff --git a/src/sage/libs/singular/__init__.py b/src/sage/libs/singular/__init__.py index e69de29bb2d..84ec2b51067 100644 --- a/src/sage/libs/singular/__init__.py +++ b/src/sage/libs/singular/__init__.py @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-singular diff --git a/src/sage/libs/singular/decl.pxd b/src/sage/libs/singular/decl.pxd index e36216d6395..27ddad438fc 100644 --- a/src/sage/libs/singular/decl.pxd +++ b/src/sage/libs/singular/decl.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-singular # distutils: include_dirs = SINGULAR_INCDIR # distutils: extra_compile_args = SINGULAR_CFLAGS # distutils: libraries = SINGULAR_LIBRARIES diff --git a/src/sage/libs/singular/function.pxd b/src/sage/libs/singular/function.pxd index facdcae674a..1f680cafcfb 100644 --- a/src/sage/libs/singular/function.pxd +++ b/src/sage/libs/singular/function.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-singular """ Direct Access to Singular's Functions via libSingular diff --git a/src/sage/libs/singular/function.pyx b/src/sage/libs/singular/function.pyx index 4a5ab6d78f6..4d551b3a82f 100644 --- a/src/sage/libs/singular/function.pyx +++ b/src/sage/libs/singular/function.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-singular """ libSingular: Functions diff --git a/src/sage/libs/singular/function_factory.py b/src/sage/libs/singular/function_factory.py index c4b0b52372f..09d45a85e97 100644 --- a/src/sage/libs/singular/function_factory.py +++ b/src/sage/libs/singular/function_factory.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-singular """ libSingular: Function Factory diff --git a/src/sage/libs/singular/groebner_strategy.pxd b/src/sage/libs/singular/groebner_strategy.pxd index 605e2679228..342c4e0955f 100644 --- a/src/sage/libs/singular/groebner_strategy.pxd +++ b/src/sage/libs/singular/groebner_strategy.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-singular from sage.libs.singular.decl cimport skStrategy, ring from sage.rings.polynomial.multi_polynomial_libsingular cimport \ diff --git a/src/sage/libs/singular/groebner_strategy.pyx b/src/sage/libs/singular/groebner_strategy.pyx index e9c00e7d1fd..5e34073dd38 100644 --- a/src/sage/libs/singular/groebner_strategy.pyx +++ b/src/sage/libs/singular/groebner_strategy.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-singular """ Singular's Groebner Strategy Objects diff --git a/src/sage/libs/singular/option.pyx b/src/sage/libs/singular/option.pyx index d35415c2864..a21bf28a668 100644 --- a/src/sage/libs/singular/option.pyx +++ b/src/sage/libs/singular/option.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-singular """ libSingular: Options diff --git a/src/sage/libs/singular/polynomial.pxd b/src/sage/libs/singular/polynomial.pxd index 52b19fbba75..0b7dd0079e0 100644 --- a/src/sage/libs/singular/polynomial.pxd +++ b/src/sage/libs/singular/polynomial.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-singular """ Wrapper for Singular's Polynomial Arithmetic diff --git a/src/sage/libs/singular/polynomial.pyx b/src/sage/libs/singular/polynomial.pyx index e3a5881383d..3699eefd811 100644 --- a/src/sage/libs/singular/polynomial.pyx +++ b/src/sage/libs/singular/polynomial.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-singular """ Wrapper for Singular's Polynomial Arithmetic diff --git a/src/sage/libs/singular/ring.pxd b/src/sage/libs/singular/ring.pxd index 55403521886..6e336b94b57 100644 --- a/src/sage/libs/singular/ring.pxd +++ b/src/sage/libs/singular/ring.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-singular """ Wrapper for Singular's Rings diff --git a/src/sage/libs/singular/ring.pyx b/src/sage/libs/singular/ring.pyx index 0efff45904d..73bd0a07ce4 100644 --- a/src/sage/libs/singular/ring.pyx +++ b/src/sage/libs/singular/ring.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-singular """ Wrapper for Singular's Rings diff --git a/src/sage/libs/singular/singular.pxd b/src/sage/libs/singular/singular.pxd index 05f32b68079..bb7686dea30 100644 --- a/src/sage/libs/singular/singular.pxd +++ b/src/sage/libs/singular/singular.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-singular from sage.libs.singular.decl cimport ring, poly, number, intvec from sage.libs.singular.function cimport Resolution diff --git a/src/sage/libs/singular/singular.pyx b/src/sage/libs/singular/singular.pyx index e256949298e..79aa1e15aac 100644 --- a/src/sage/libs/singular/singular.pyx +++ b/src/sage/libs/singular/singular.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-singular """ libSingular: Conversion Routines and Initialisation diff --git a/src/sage/libs/singular/standard_options.py b/src/sage/libs/singular/standard_options.py index 341650fa6ba..aa4cc17b9a3 100644 --- a/src/sage/libs/singular/standard_options.py +++ b/src/sage/libs/singular/standard_options.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-singular """ Highlevel functions for managing options of the libSingular interface diff --git a/src/sage/libs/symmetrica/__init__.py b/src/sage/libs/symmetrica/__init__.py index e69de29bb2d..28c48d66b20 100644 --- a/src/sage/libs/symmetrica/__init__.py +++ b/src/sage/libs/symmetrica/__init__.py @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-combinat diff --git a/src/sage/libs/symmetrica/all.py b/src/sage/libs/symmetrica/all.py index 7c5215f6444..817d568b03e 100644 --- a/src/sage/libs/symmetrica/all.py +++ b/src/sage/libs/symmetrica/all.py @@ -1,100 +1,102 @@ -#from symmetrica import * - -from .symmetrica import start - -#kostka -from .symmetrica import kostka_number_symmetrica as kostka_number -from .symmetrica import kostka_tab_symmetrica as kostka_tab -from .symmetrica import kostka_tafel_symmetrica as kostka_tafel - - -#sab -from .symmetrica import dimension_symmetrization_symmetrica as dimension_symmetrization -from .symmetrica import bdg_symmetrica as bdg -from .symmetrica import sdg_symmetrica as sdg -from .symmetrica import odg_symmetrica as odg -from .symmetrica import specht_dg_symmetrica as specht_dg -from .symmetrica import ndg_symmetrica as ndg -#from symmetrica import glmndg_symmetrica as glmndg - - -#sc -from .symmetrica import chartafel_symmetrica as chartafel -from .symmetrica import charvalue_symmetrica as charvalue -from .symmetrica import kranztafel_symmetrica as kranztafel -#from symmetrica import c_ijk_sn_symmetrica as c_ijk_sn - -#part -from .symmetrica import strict_to_odd_part_symmetrica as strict_to_odd_part -from .symmetrica import odd_to_strict_part_symmetrica as odd_to_strict -from .symmetrica import q_core_symmetrica as q_core -from .symmetrica import gupta_nm_symmetrica as gupta_nm -from .symmetrica import gupta_tafel_symmetrica as gupta_tafel -from .symmetrica import random_partition_symmetrica as random_partition - - -#schur -from .symmetrica import outerproduct_schur_symmetrica as outerproduct_schur -from .symmetrica import dimension_schur_symmetrica as dimension_schur -from .symmetrica import part_part_skewschur_symmetrica as part_part_skewschur -from .symmetrica import newtrans_symmetrica as newtrans -from .symmetrica import compute_schur_with_alphabet_symmetrica as compute_schur_with_alphabet -from .symmetrica import compute_homsym_with_alphabet_symmetrica as compute_homsym_with_alphabet -from .symmetrica import compute_elmsym_with_alphabet_symmetrica as compute_elmsym_with_alphabet -from .symmetrica import compute_monomial_with_alphabet_symmetrica as compute_monomial_with_alphabet -from .symmetrica import compute_powsym_with_alphabet_symmetrica as compute_powsym_with_alphabet -from .symmetrica import compute_schur_with_alphabet_det_symmetrica as compute_schur_with_alphabet_det - -from .symmetrica import t_SCHUR_MONOMIAL_symmetrica as t_SCHUR_MONOMIAL -from .symmetrica import t_SCHUR_HOMSYM_symmetrica as t_SCHUR_HOMSYM -from .symmetrica import t_SCHUR_POWSYM_symmetrica as t_SCHUR_POWSYM -from .symmetrica import t_SCHUR_ELMSYM_symmetrica as t_SCHUR_ELMSYM - -from .symmetrica import t_MONOMIAL_SCHUR_symmetrica as t_MONOMIAL_SCHUR -from .symmetrica import t_MONOMIAL_HOMSYM_symmetrica as t_MONOMIAL_HOMSYM -from .symmetrica import t_MONOMIAL_POWSYM_symmetrica as t_MONOMIAL_POWSYM -from .symmetrica import t_MONOMIAL_ELMSYM_symmetrica as t_MONOMIAL_ELMSYM - -from .symmetrica import t_ELMSYM_SCHUR_symmetrica as t_ELMSYM_SCHUR -from .symmetrica import t_ELMSYM_MONOMIAL_symmetrica as t_ELMSYM_MONOMIAL -from .symmetrica import t_ELMSYM_HOMSYM_symmetrica as t_ELMSYM_HOMSYM -from .symmetrica import t_ELMSYM_POWSYM_symmetrica as t_ELMSYM_POWSYM - -from .symmetrica import t_HOMSYM_SCHUR_symmetrica as t_HOMSYM_SCHUR -from .symmetrica import t_HOMSYM_MONOMIAL_symmetrica as t_HOMSYM_MONOMIAL -from .symmetrica import t_HOMSYM_POWSYM_symmetrica as t_HOMSYM_POWSYM -from .symmetrica import t_HOMSYM_ELMSYM_symmetrica as t_HOMSYM_ELMSYM - -from .symmetrica import t_POWSYM_SCHUR_symmetrica as t_POWSYM_SCHUR -from .symmetrica import t_POWSYM_HOMSYM_symmetrica as t_POWSYM_HOMSYM -from .symmetrica import t_POWSYM_ELMSYM_symmetrica as t_POWSYM_ELMSYM -from .symmetrica import t_POWSYM_MONOMIAL_symmetrica as t_POWSYM_MONOMIAL - - -from .symmetrica import mult_schur_schur_symmetrica as mult_schur_schur -from .symmetrica import mult_monomial_monomial_symmetrica as mult_monomial_monomial - - -from .symmetrica import hall_littlewood_symmetrica as hall_littlewood - -from .symmetrica import t_POLYNOM_POWER_symmetrica as t_POLYNOM_POWER -from .symmetrica import t_POLYNOM_SCHUR_symmetrica as t_POLYNOM_SCHUR -from .symmetrica import t_POLYNOM_ELMSYM_symmetrica as t_POLYNOM_ELMSYM -from .symmetrica import t_POLYNOM_MONOMIAL_symmetrica as t_POLYNOM_MONOMIAL - -from .symmetrica import scalarproduct_schur_symmetrica as scalarproduct_schur - -#plet -from .symmetrica import plethysm_symmetrica as plethysm -from .symmetrica import schur_schur_plet_symmetrica as schur_schur_plet - -#sb -from .symmetrica import mult_schubert_schubert_symmetrica as mult_schubert_schubert -from .symmetrica import t_SCHUBERT_POLYNOM_symmetrica as t_SCHUBERT_POLYNOM -from .symmetrica import t_POLYNOM_SCHUBERT_symmetrica as t_POLYNOM_SCHUBERT -from .symmetrica import mult_schubert_variable_symmetrica as mult_schubert_variable -from .symmetrica import divdiff_perm_schubert_symmetrica as divdiff_perm_schubert -from .symmetrica import scalarproduct_schubert_symmetrica as scalarproduct_schubert -from .symmetrica import divdiff_schubert_symmetrica as divdiff_schubert +# sage_setup: distribution = sagemath-combinat + +# from symmetrica import * + +from sage.libs.symmetrica.symmetrica import start + +# kostka +from sage.libs.symmetrica.symmetrica import kostka_number_symmetrica as kostka_number +from sage.libs.symmetrica.symmetrica import kostka_tab_symmetrica as kostka_tab +from sage.libs.symmetrica.symmetrica import kostka_tafel_symmetrica as kostka_tafel + + +# sab +from sage.libs.symmetrica.symmetrica import dimension_symmetrization_symmetrica as dimension_symmetrization +from sage.libs.symmetrica.symmetrica import bdg_symmetrica as bdg +from sage.libs.symmetrica.symmetrica import sdg_symmetrica as sdg +from sage.libs.symmetrica.symmetrica import odg_symmetrica as odg +from sage.libs.symmetrica.symmetrica import specht_dg_symmetrica as specht_dg +from sage.libs.symmetrica.symmetrica import ndg_symmetrica as ndg +# from symmetrica import glmndg_symmetrica as glmndg + + +# sc +from sage.libs.symmetrica.symmetrica import chartafel_symmetrica as chartafel +from sage.libs.symmetrica.symmetrica import charvalue_symmetrica as charvalue +from sage.libs.symmetrica.symmetrica import kranztafel_symmetrica as kranztafel +# from symmetrica import c_ijk_sn_symmetrica as c_ijk_sn + +# part +from sage.libs.symmetrica.symmetrica import strict_to_odd_part_symmetrica as strict_to_odd_part +from sage.libs.symmetrica.symmetrica import odd_to_strict_part_symmetrica as odd_to_strict +from sage.libs.symmetrica.symmetrica import q_core_symmetrica as q_core +from sage.libs.symmetrica.symmetrica import gupta_nm_symmetrica as gupta_nm +from sage.libs.symmetrica.symmetrica import gupta_tafel_symmetrica as gupta_tafel +from sage.libs.symmetrica.symmetrica import random_partition_symmetrica as random_partition + + +# schur +from sage.libs.symmetrica.symmetrica import outerproduct_schur_symmetrica as outerproduct_schur +from sage.libs.symmetrica.symmetrica import dimension_schur_symmetrica as dimension_schur +from sage.libs.symmetrica.symmetrica import part_part_skewschur_symmetrica as part_part_skewschur +from sage.libs.symmetrica.symmetrica import newtrans_symmetrica as newtrans +from sage.libs.symmetrica.symmetrica import compute_schur_with_alphabet_symmetrica as compute_schur_with_alphabet +from sage.libs.symmetrica.symmetrica import compute_homsym_with_alphabet_symmetrica as compute_homsym_with_alphabet +from sage.libs.symmetrica.symmetrica import compute_elmsym_with_alphabet_symmetrica as compute_elmsym_with_alphabet +from sage.libs.symmetrica.symmetrica import compute_monomial_with_alphabet_symmetrica as compute_monomial_with_alphabet +from sage.libs.symmetrica.symmetrica import compute_powsym_with_alphabet_symmetrica as compute_powsym_with_alphabet +from sage.libs.symmetrica.symmetrica import compute_schur_with_alphabet_det_symmetrica as compute_schur_with_alphabet_det + +from sage.libs.symmetrica.symmetrica import t_SCHUR_MONOMIAL_symmetrica as t_SCHUR_MONOMIAL +from sage.libs.symmetrica.symmetrica import t_SCHUR_HOMSYM_symmetrica as t_SCHUR_HOMSYM +from sage.libs.symmetrica.symmetrica import t_SCHUR_POWSYM_symmetrica as t_SCHUR_POWSYM +from sage.libs.symmetrica.symmetrica import t_SCHUR_ELMSYM_symmetrica as t_SCHUR_ELMSYM + +from sage.libs.symmetrica.symmetrica import t_MONOMIAL_SCHUR_symmetrica as t_MONOMIAL_SCHUR +from sage.libs.symmetrica.symmetrica import t_MONOMIAL_HOMSYM_symmetrica as t_MONOMIAL_HOMSYM +from sage.libs.symmetrica.symmetrica import t_MONOMIAL_POWSYM_symmetrica as t_MONOMIAL_POWSYM +from sage.libs.symmetrica.symmetrica import t_MONOMIAL_ELMSYM_symmetrica as t_MONOMIAL_ELMSYM + +from sage.libs.symmetrica.symmetrica import t_ELMSYM_SCHUR_symmetrica as t_ELMSYM_SCHUR +from sage.libs.symmetrica.symmetrica import t_ELMSYM_MONOMIAL_symmetrica as t_ELMSYM_MONOMIAL +from sage.libs.symmetrica.symmetrica import t_ELMSYM_HOMSYM_symmetrica as t_ELMSYM_HOMSYM +from sage.libs.symmetrica.symmetrica import t_ELMSYM_POWSYM_symmetrica as t_ELMSYM_POWSYM + +from sage.libs.symmetrica.symmetrica import t_HOMSYM_SCHUR_symmetrica as t_HOMSYM_SCHUR +from sage.libs.symmetrica.symmetrica import t_HOMSYM_MONOMIAL_symmetrica as t_HOMSYM_MONOMIAL +from sage.libs.symmetrica.symmetrica import t_HOMSYM_POWSYM_symmetrica as t_HOMSYM_POWSYM +from sage.libs.symmetrica.symmetrica import t_HOMSYM_ELMSYM_symmetrica as t_HOMSYM_ELMSYM + +from sage.libs.symmetrica.symmetrica import t_POWSYM_SCHUR_symmetrica as t_POWSYM_SCHUR +from sage.libs.symmetrica.symmetrica import t_POWSYM_HOMSYM_symmetrica as t_POWSYM_HOMSYM +from sage.libs.symmetrica.symmetrica import t_POWSYM_ELMSYM_symmetrica as t_POWSYM_ELMSYM +from sage.libs.symmetrica.symmetrica import t_POWSYM_MONOMIAL_symmetrica as t_POWSYM_MONOMIAL + + +from sage.libs.symmetrica.symmetrica import mult_schur_schur_symmetrica as mult_schur_schur +from sage.libs.symmetrica.symmetrica import mult_monomial_monomial_symmetrica as mult_monomial_monomial + + +from sage.libs.symmetrica.symmetrica import hall_littlewood_symmetrica as hall_littlewood + +from sage.libs.symmetrica.symmetrica import t_POLYNOM_POWER_symmetrica as t_POLYNOM_POWER +from sage.libs.symmetrica.symmetrica import t_POLYNOM_SCHUR_symmetrica as t_POLYNOM_SCHUR +from sage.libs.symmetrica.symmetrica import t_POLYNOM_ELMSYM_symmetrica as t_POLYNOM_ELMSYM +from sage.libs.symmetrica.symmetrica import t_POLYNOM_MONOMIAL_symmetrica as t_POLYNOM_MONOMIAL + +from sage.libs.symmetrica.symmetrica import scalarproduct_schur_symmetrica as scalarproduct_schur + +# plet +from sage.libs.symmetrica.symmetrica import plethysm_symmetrica as plethysm +from sage.libs.symmetrica.symmetrica import schur_schur_plet_symmetrica as schur_schur_plet + +# sb +from sage.libs.symmetrica.symmetrica import mult_schubert_schubert_symmetrica as mult_schubert_schubert +from sage.libs.symmetrica.symmetrica import t_SCHUBERT_POLYNOM_symmetrica as t_SCHUBERT_POLYNOM +from sage.libs.symmetrica.symmetrica import t_POLYNOM_SCHUBERT_symmetrica as t_POLYNOM_SCHUBERT +from sage.libs.symmetrica.symmetrica import mult_schubert_variable_symmetrica as mult_schubert_variable +from sage.libs.symmetrica.symmetrica import divdiff_perm_schubert_symmetrica as divdiff_perm_schubert +from sage.libs.symmetrica.symmetrica import scalarproduct_schubert_symmetrica as scalarproduct_schubert +from sage.libs.symmetrica.symmetrica import divdiff_schubert_symmetrica as divdiff_schubert start() diff --git a/src/sage/libs/symmetrica/kostka.pxi b/src/sage/libs/symmetrica/kostka.pxi index 690e5d5a096..76409a73383 100644 --- a/src/sage/libs/symmetrica/kostka.pxi +++ b/src/sage/libs/symmetrica/kostka.pxi @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat from cpython.object cimport * from cysignals.signals cimport sig_on, sig_off diff --git a/src/sage/libs/symmetrica/part.pxi b/src/sage/libs/symmetrica/part.pxi index 37a3c0ff8f0..28e49fd261c 100644 --- a/src/sage/libs/symmetrica/part.pxi +++ b/src/sage/libs/symmetrica/part.pxi @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat cdef extern from 'symmetrica/def.h': INT strict_to_odd_part(OP s, OP o) INT odd_to_strict_part(OP o, OP s) diff --git a/src/sage/libs/symmetrica/plet.pxi b/src/sage/libs/symmetrica/plet.pxi index b1f8450c621..a1c4a4cf785 100644 --- a/src/sage/libs/symmetrica/plet.pxi +++ b/src/sage/libs/symmetrica/plet.pxi @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat cdef extern from 'symmetrica/def.h': INT plethysm(OP s1, OP s2, OP res) INT schur_schur_plet(OP p1, OP p2, OP res) diff --git a/src/sage/libs/symmetrica/sab.pxi b/src/sage/libs/symmetrica/sab.pxi index de2838e7ed5..3750d9263d9 100644 --- a/src/sage/libs/symmetrica/sab.pxi +++ b/src/sage/libs/symmetrica/sab.pxi @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat cdef extern from 'symmetrica/def.h': INT dimension_symmetrization(OP n, OP part, OP a) INT bdg(OP part, OP perm, OP D) diff --git a/src/sage/libs/symmetrica/sb.pxi b/src/sage/libs/symmetrica/sb.pxi index b884d33dafd..908edbb7201 100644 --- a/src/sage/libs/symmetrica/sb.pxi +++ b/src/sage/libs/symmetrica/sb.pxi @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat cdef extern from 'symmetrica/def.h': INT mult_schubert_schubert(OP a, OP b, OP result) INT m_perm_sch(OP a, OP b) diff --git a/src/sage/libs/symmetrica/sc.pxi b/src/sage/libs/symmetrica/sc.pxi index 4d9fa4f009d..f1a20b359e0 100644 --- a/src/sage/libs/symmetrica/sc.pxi +++ b/src/sage/libs/symmetrica/sc.pxi @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat cdef extern from 'symmetrica/def.h': INT chartafel(OP degree, OP result) INT charvalue(OP irred, OP cls, OP result, OP table) diff --git a/src/sage/libs/symmetrica/schur.pxi b/src/sage/libs/symmetrica/schur.pxi index 501acf5b7e0..9e8ca73cd80 100644 --- a/src/sage/libs/symmetrica/schur.pxi +++ b/src/sage/libs/symmetrica/schur.pxi @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat cdef extern from 'symmetrica/def.h': INT outerproduct_schur(OP parta, OP partb, OP result) INT dimension_schur(OP a, OP result) diff --git a/src/sage/libs/symmetrica/symmetrica.pxi b/src/sage/libs/symmetrica/symmetrica.pxi index 2bdb51f1a8e..f10450d69be 100644 --- a/src/sage/libs/symmetrica/symmetrica.pxi +++ b/src/sage/libs/symmetrica/symmetrica.pxi @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # We put all definitions together, whether they appear in def.h or # macro.h cdef extern from 'symmetrica/def.h': diff --git a/src/sage/libs/symmetrica/symmetrica.pyx b/src/sage/libs/symmetrica/symmetrica.pyx index 7ca41fbc82b..56e3ede0bf3 100644 --- a/src/sage/libs/symmetrica/symmetrica.pyx +++ b/src/sage/libs/symmetrica/symmetrica.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # distutils: libraries = symmetrica """ Symmetrica library diff --git a/src/sage/logic/all.py b/src/sage/logic/all.py index c8604a624e8..6fe860ea538 100644 --- a/src/sage/logic/all.py +++ b/src/sage/logic/all.py @@ -1,3 +1,3 @@ -from .logic import SymbolicLogic +from sage.logic.logic import SymbolicLogic -from . import propcalc +from sage.logic import propcalc diff --git a/src/sage/manifolds/all.py b/src/sage/manifolds/all.py index 68a489d08d0..dc9bc48616c 100644 --- a/src/sage/manifolds/all.py +++ b/src/sage/manifolds/all.py @@ -1,6 +1,8 @@ +# sage_setup: distribution = sagemath-symbolics from sage.misc.lazy_import import lazy_import lazy_import('sage.manifolds.manifold', 'Manifold') lazy_import('sage.manifolds.differentiable.examples.real_line', ('OpenInterval', 'RealLine'), deprecation=31881) lazy_import('sage.manifolds.differentiable.examples.euclidean', 'EuclideanSpace') lazy_import('sage.manifolds', 'catalog', 'manifolds') +del lazy_import diff --git a/src/sage/manifolds/calculus_method.py b/src/sage/manifolds/calculus_method.py index ddbad8a11ef..57dea6677a4 100644 --- a/src/sage/manifolds/calculus_method.py +++ b/src/sage/manifolds/calculus_method.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Coordinate calculus methods diff --git a/src/sage/manifolds/catalog.py b/src/sage/manifolds/catalog.py index bb09ed8885d..9cad91acc65 100644 --- a/src/sage/manifolds/catalog.py +++ b/src/sage/manifolds/catalog.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Manifolds Catalog diff --git a/src/sage/manifolds/chart.py b/src/sage/manifolds/chart.py index 2bd980fb465..dc256321d12 100644 --- a/src/sage/manifolds/chart.py +++ b/src/sage/manifolds/chart.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Coordinate Charts diff --git a/src/sage/manifolds/chart_func.py b/src/sage/manifolds/chart_func.py index 6363ed61841..42a9c5ced84 100644 --- a/src/sage/manifolds/chart_func.py +++ b/src/sage/manifolds/chart_func.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Chart Functions diff --git a/src/sage/manifolds/continuous_map.py b/src/sage/manifolds/continuous_map.py index dc9f9b5d12c..478af258542 100644 --- a/src/sage/manifolds/continuous_map.py +++ b/src/sage/manifolds/continuous_map.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Continuous Maps Between Topological Manifolds diff --git a/src/sage/manifolds/continuous_map_image.py b/src/sage/manifolds/continuous_map_image.py index 303117f7978..eebd214dbb6 100644 --- a/src/sage/manifolds/continuous_map_image.py +++ b/src/sage/manifolds/continuous_map_image.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Images of Manifold Subsets under Continuous Maps as Subsets of the Codomain diff --git a/src/sage/manifolds/differentiable/affine_connection.py b/src/sage/manifolds/differentiable/affine_connection.py index 1a45b219872..e29e8e1f984 100644 --- a/src/sage/manifolds/differentiable/affine_connection.py +++ b/src/sage/manifolds/differentiable/affine_connection.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Affine Connections diff --git a/src/sage/manifolds/differentiable/all.py b/src/sage/manifolds/differentiable/all.py index e69de29bb2d..332eaf1cdb6 100644 --- a/src/sage/manifolds/differentiable/all.py +++ b/src/sage/manifolds/differentiable/all.py @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-symbolics diff --git a/src/sage/manifolds/differentiable/automorphismfield.py b/src/sage/manifolds/differentiable/automorphismfield.py index 89cc87aef32..aa52d4e1f27 100644 --- a/src/sage/manifolds/differentiable/automorphismfield.py +++ b/src/sage/manifolds/differentiable/automorphismfield.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Tangent-Space Automorphism Fields diff --git a/src/sage/manifolds/differentiable/automorphismfield_group.py b/src/sage/manifolds/differentiable/automorphismfield_group.py index c0e782798aa..8293a71e31b 100644 --- a/src/sage/manifolds/differentiable/automorphismfield_group.py +++ b/src/sage/manifolds/differentiable/automorphismfield_group.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Group of Tangent-Space Automorphism Fields diff --git a/src/sage/manifolds/differentiable/bundle_connection.py b/src/sage/manifolds/differentiable/bundle_connection.py index a3353b820cb..e16a3485b05 100644 --- a/src/sage/manifolds/differentiable/bundle_connection.py +++ b/src/sage/manifolds/differentiable/bundle_connection.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Bundle Connections diff --git a/src/sage/manifolds/differentiable/characteristic_cohomology_class.py b/src/sage/manifolds/differentiable/characteristic_cohomology_class.py index 91ebbf00ccc..fa8642eadaa 100644 --- a/src/sage/manifolds/differentiable/characteristic_cohomology_class.py +++ b/src/sage/manifolds/differentiable/characteristic_cohomology_class.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Characteristic cohomology classes diff --git a/src/sage/manifolds/differentiable/chart.py b/src/sage/manifolds/differentiable/chart.py index a40ebb8e5b2..83be8302afd 100644 --- a/src/sage/manifolds/differentiable/chart.py +++ b/src/sage/manifolds/differentiable/chart.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Coordinate Charts on Differentiable Manifolds diff --git a/src/sage/manifolds/differentiable/curve.py b/src/sage/manifolds/differentiable/curve.py index 7ea264565ae..44f621f8b83 100644 --- a/src/sage/manifolds/differentiable/curve.py +++ b/src/sage/manifolds/differentiable/curve.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Curves in Manifolds diff --git a/src/sage/manifolds/differentiable/de_rham_cohomology.py b/src/sage/manifolds/differentiable/de_rham_cohomology.py index 403f9f37f00..845a6225625 100644 --- a/src/sage/manifolds/differentiable/de_rham_cohomology.py +++ b/src/sage/manifolds/differentiable/de_rham_cohomology.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" De Rham Cohomology diff --git a/src/sage/manifolds/differentiable/degenerate.py b/src/sage/manifolds/differentiable/degenerate.py index 82de8c39d74..34a146454bc 100644 --- a/src/sage/manifolds/differentiable/degenerate.py +++ b/src/sage/manifolds/differentiable/degenerate.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Degenerate manifolds """ diff --git a/src/sage/manifolds/differentiable/degenerate_submanifold.py b/src/sage/manifolds/differentiable/degenerate_submanifold.py index 581162b88f5..ee2ef289a89 100644 --- a/src/sage/manifolds/differentiable/degenerate_submanifold.py +++ b/src/sage/manifolds/differentiable/degenerate_submanifold.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Degenerate submanifolds diff --git a/src/sage/manifolds/differentiable/diff_form.py b/src/sage/manifolds/differentiable/diff_form.py index 0fc837b8cc4..6ee84daf4ae 100644 --- a/src/sage/manifolds/differentiable/diff_form.py +++ b/src/sage/manifolds/differentiable/diff_form.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Differential Forms diff --git a/src/sage/manifolds/differentiable/diff_form_module.py b/src/sage/manifolds/differentiable/diff_form_module.py index b10de21c07c..3495398d7a2 100644 --- a/src/sage/manifolds/differentiable/diff_form_module.py +++ b/src/sage/manifolds/differentiable/diff_form_module.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Differential Form Modules diff --git a/src/sage/manifolds/differentiable/diff_map.py b/src/sage/manifolds/differentiable/diff_map.py index 8a64694b38b..5a020f54594 100644 --- a/src/sage/manifolds/differentiable/diff_map.py +++ b/src/sage/manifolds/differentiable/diff_map.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Differentiable Maps between Differentiable Manifolds diff --git a/src/sage/manifolds/differentiable/differentiable_submanifold.py b/src/sage/manifolds/differentiable/differentiable_submanifold.py index 7387ea3a44e..46624e8fc70 100644 --- a/src/sage/manifolds/differentiable/differentiable_submanifold.py +++ b/src/sage/manifolds/differentiable/differentiable_submanifold.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Submanifolds of differentiable manifolds diff --git a/src/sage/manifolds/differentiable/examples/all.py b/src/sage/manifolds/differentiable/examples/all.py index e69de29bb2d..332eaf1cdb6 100644 --- a/src/sage/manifolds/differentiable/examples/all.py +++ b/src/sage/manifolds/differentiable/examples/all.py @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-symbolics diff --git a/src/sage/manifolds/differentiable/examples/euclidean.py b/src/sage/manifolds/differentiable/examples/euclidean.py index eb96b6da587..494c01849e4 100644 --- a/src/sage/manifolds/differentiable/examples/euclidean.py +++ b/src/sage/manifolds/differentiable/examples/euclidean.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Euclidean Spaces diff --git a/src/sage/manifolds/differentiable/examples/real_line.py b/src/sage/manifolds/differentiable/examples/real_line.py index 5ff4f969b49..a1029c4b507 100644 --- a/src/sage/manifolds/differentiable/examples/real_line.py +++ b/src/sage/manifolds/differentiable/examples/real_line.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" The Real Line and Open Intervals diff --git a/src/sage/manifolds/differentiable/examples/sphere.py b/src/sage/manifolds/differentiable/examples/sphere.py index 4ccc6f7440b..41cb847cc3a 100644 --- a/src/sage/manifolds/differentiable/examples/sphere.py +++ b/src/sage/manifolds/differentiable/examples/sphere.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Spheres smoothly embedded in Euclidean Space diff --git a/src/sage/manifolds/differentiable/examples/symplectic_space.py b/src/sage/manifolds/differentiable/examples/symplectic_space.py index 623979ed7f3..e92e29d9ab4 100644 --- a/src/sage/manifolds/differentiable/examples/symplectic_space.py +++ b/src/sage/manifolds/differentiable/examples/symplectic_space.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Symplectic vector spaces diff --git a/src/sage/manifolds/differentiable/examples/symplectic_space_test.py b/src/sage/manifolds/differentiable/examples/symplectic_space_test.py index 0372470bd73..01e19bcb351 100644 --- a/src/sage/manifolds/differentiable/examples/symplectic_space_test.py +++ b/src/sage/manifolds/differentiable/examples/symplectic_space_test.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics import sage.all from sage.manifolds.differentiable.symplectic_form import SymplecticForm from sage.manifolds.differentiable.examples.symplectic_space import ( diff --git a/src/sage/manifolds/differentiable/integrated_curve.py b/src/sage/manifolds/differentiable/integrated_curve.py index 063611becce..00c834a9a3c 100644 --- a/src/sage/manifolds/differentiable/integrated_curve.py +++ b/src/sage/manifolds/differentiable/integrated_curve.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-symbolics r""" Integrated Curves and Geodesics in Manifolds diff --git a/src/sage/manifolds/differentiable/levi_civita_connection.py b/src/sage/manifolds/differentiable/levi_civita_connection.py index 00ebf69b47f..c0ed5664ce2 100644 --- a/src/sage/manifolds/differentiable/levi_civita_connection.py +++ b/src/sage/manifolds/differentiable/levi_civita_connection.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-symbolics r""" Levi-Civita Connections diff --git a/src/sage/manifolds/differentiable/manifold.py b/src/sage/manifolds/differentiable/manifold.py index 4b5a793f762..f4c80365be1 100644 --- a/src/sage/manifolds/differentiable/manifold.py +++ b/src/sage/manifolds/differentiable/manifold.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-symbolics r""" Differentiable Manifolds diff --git a/src/sage/manifolds/differentiable/manifold_homset.py b/src/sage/manifolds/differentiable/manifold_homset.py index 20660a01652..1475161de7c 100644 --- a/src/sage/manifolds/differentiable/manifold_homset.py +++ b/src/sage/manifolds/differentiable/manifold_homset.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Sets of Morphisms between Differentiable Manifolds diff --git a/src/sage/manifolds/differentiable/metric.py b/src/sage/manifolds/differentiable/metric.py index 74fdd076e45..87278c3e9ff 100644 --- a/src/sage/manifolds/differentiable/metric.py +++ b/src/sage/manifolds/differentiable/metric.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Pseudo-Riemannian Metrics and Degenerate Metrics diff --git a/src/sage/manifolds/differentiable/mixed_form.py b/src/sage/manifolds/differentiable/mixed_form.py index 4ca5cf56c49..ba984871a7c 100644 --- a/src/sage/manifolds/differentiable/mixed_form.py +++ b/src/sage/manifolds/differentiable/mixed_form.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Mixed Differential Forms diff --git a/src/sage/manifolds/differentiable/mixed_form_algebra.py b/src/sage/manifolds/differentiable/mixed_form_algebra.py index 15bd856c476..762b73fa0a7 100644 --- a/src/sage/manifolds/differentiable/mixed_form_algebra.py +++ b/src/sage/manifolds/differentiable/mixed_form_algebra.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Graded Algebra of Mixed Differential Forms diff --git a/src/sage/manifolds/differentiable/multivector_module.py b/src/sage/manifolds/differentiable/multivector_module.py index 83c741fa8af..92f2a3cbfa1 100644 --- a/src/sage/manifolds/differentiable/multivector_module.py +++ b/src/sage/manifolds/differentiable/multivector_module.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Multivector Field Modules diff --git a/src/sage/manifolds/differentiable/multivectorfield.py b/src/sage/manifolds/differentiable/multivectorfield.py index 9a4b03fb369..da8ef3b183b 100644 --- a/src/sage/manifolds/differentiable/multivectorfield.py +++ b/src/sage/manifolds/differentiable/multivectorfield.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Multivector Fields diff --git a/src/sage/manifolds/differentiable/poisson_tensor.py b/src/sage/manifolds/differentiable/poisson_tensor.py index 41f178dff5c..86c00eb79fe 100644 --- a/src/sage/manifolds/differentiable/poisson_tensor.py +++ b/src/sage/manifolds/differentiable/poisson_tensor.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Poisson tensors diff --git a/src/sage/manifolds/differentiable/pseudo_riemannian.py b/src/sage/manifolds/differentiable/pseudo_riemannian.py index 3b811883cd6..d9028905e97 100644 --- a/src/sage/manifolds/differentiable/pseudo_riemannian.py +++ b/src/sage/manifolds/differentiable/pseudo_riemannian.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Pseudo-Riemannian Manifolds diff --git a/src/sage/manifolds/differentiable/pseudo_riemannian_submanifold.py b/src/sage/manifolds/differentiable/pseudo_riemannian_submanifold.py index 219ccfc580e..19f18097c71 100644 --- a/src/sage/manifolds/differentiable/pseudo_riemannian_submanifold.py +++ b/src/sage/manifolds/differentiable/pseudo_riemannian_submanifold.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Pseudo-Riemannian submanifolds diff --git a/src/sage/manifolds/differentiable/scalarfield.py b/src/sage/manifolds/differentiable/scalarfield.py index ba5c5d70f2c..08b0e5da099 100644 --- a/src/sage/manifolds/differentiable/scalarfield.py +++ b/src/sage/manifolds/differentiable/scalarfield.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Differentiable Scalar Fields diff --git a/src/sage/manifolds/differentiable/scalarfield_algebra.py b/src/sage/manifolds/differentiable/scalarfield_algebra.py index 44e6e16bff4..a640ce829b0 100644 --- a/src/sage/manifolds/differentiable/scalarfield_algebra.py +++ b/src/sage/manifolds/differentiable/scalarfield_algebra.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Algebra of Differentiable Scalar Fields diff --git a/src/sage/manifolds/differentiable/symplectic_form.py b/src/sage/manifolds/differentiable/symplectic_form.py index 381fab1e72c..e3c3a99d805 100644 --- a/src/sage/manifolds/differentiable/symplectic_form.py +++ b/src/sage/manifolds/differentiable/symplectic_form.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Symplectic structures diff --git a/src/sage/manifolds/differentiable/symplectic_form_test.py b/src/sage/manifolds/differentiable/symplectic_form_test.py index 5bc519af6d3..5b25b439e66 100644 --- a/src/sage/manifolds/differentiable/symplectic_form_test.py +++ b/src/sage/manifolds/differentiable/symplectic_form_test.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics # pylint: disable=missing-function-docstring from _pytest.fixtures import FixtureRequest import pytest diff --git a/src/sage/manifolds/differentiable/tangent_space.py b/src/sage/manifolds/differentiable/tangent_space.py index 98a60cede2a..7a95ad1a09e 100644 --- a/src/sage/manifolds/differentiable/tangent_space.py +++ b/src/sage/manifolds/differentiable/tangent_space.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Tangent Spaces diff --git a/src/sage/manifolds/differentiable/tangent_vector.py b/src/sage/manifolds/differentiable/tangent_vector.py index 97abcea54e1..2d6a848965d 100644 --- a/src/sage/manifolds/differentiable/tangent_vector.py +++ b/src/sage/manifolds/differentiable/tangent_vector.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Tangent Vectors diff --git a/src/sage/manifolds/differentiable/tensorfield.py b/src/sage/manifolds/differentiable/tensorfield.py index df54270dde0..61904583db4 100644 --- a/src/sage/manifolds/differentiable/tensorfield.py +++ b/src/sage/manifolds/differentiable/tensorfield.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Tensor Fields diff --git a/src/sage/manifolds/differentiable/tensorfield_module.py b/src/sage/manifolds/differentiable/tensorfield_module.py index 8d31d670137..f3849336a6d 100644 --- a/src/sage/manifolds/differentiable/tensorfield_module.py +++ b/src/sage/manifolds/differentiable/tensorfield_module.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Tensor Field Modules diff --git a/src/sage/manifolds/differentiable/tensorfield_paral.py b/src/sage/manifolds/differentiable/tensorfield_paral.py index 7cf7c40896c..f8832b0a602 100644 --- a/src/sage/manifolds/differentiable/tensorfield_paral.py +++ b/src/sage/manifolds/differentiable/tensorfield_paral.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Tensor Fields with Values on a Parallelizable Manifold diff --git a/src/sage/manifolds/differentiable/tensorfield_paral_test.py b/src/sage/manifolds/differentiable/tensorfield_paral_test.py index 7eda28c5c49..a71a5571fd9 100644 --- a/src/sage/manifolds/differentiable/tensorfield_paral_test.py +++ b/src/sage/manifolds/differentiable/tensorfield_paral_test.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics # pylint: disable=missing-function-docstring,missing-class-docstring import pytest diff --git a/src/sage/manifolds/differentiable/vector_bundle.py b/src/sage/manifolds/differentiable/vector_bundle.py index 18d1169064d..d0497025c07 100644 --- a/src/sage/manifolds/differentiable/vector_bundle.py +++ b/src/sage/manifolds/differentiable/vector_bundle.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Differentiable Vector Bundles diff --git a/src/sage/manifolds/differentiable/vectorfield.py b/src/sage/manifolds/differentiable/vectorfield.py index 04018ba9916..480aa7e5b60 100644 --- a/src/sage/manifolds/differentiable/vectorfield.py +++ b/src/sage/manifolds/differentiable/vectorfield.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Vector Fields diff --git a/src/sage/manifolds/differentiable/vectorfield_module.py b/src/sage/manifolds/differentiable/vectorfield_module.py index 78cc259ca41..ea2c104b24e 100644 --- a/src/sage/manifolds/differentiable/vectorfield_module.py +++ b/src/sage/manifolds/differentiable/vectorfield_module.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Vector Field Modules diff --git a/src/sage/manifolds/differentiable/vectorframe.py b/src/sage/manifolds/differentiable/vectorframe.py index 539c08b8050..fd6d9544016 100644 --- a/src/sage/manifolds/differentiable/vectorframe.py +++ b/src/sage/manifolds/differentiable/vectorframe.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Vector Frames diff --git a/src/sage/manifolds/family.py b/src/sage/manifolds/family.py index 61c74f54469..7fe5c67d396 100644 --- a/src/sage/manifolds/family.py +++ b/src/sage/manifolds/family.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Families of Manifold Objects diff --git a/src/sage/manifolds/local_frame.py b/src/sage/manifolds/local_frame.py index fffe607efda..1cc02af1a0f 100644 --- a/src/sage/manifolds/local_frame.py +++ b/src/sage/manifolds/local_frame.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Local Frames diff --git a/src/sage/manifolds/manifold.py b/src/sage/manifolds/manifold.py index 0e09530ad54..2da8c991fb2 100644 --- a/src/sage/manifolds/manifold.py +++ b/src/sage/manifolds/manifold.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Topological Manifolds diff --git a/src/sage/manifolds/manifold_homset.py b/src/sage/manifolds/manifold_homset.py index 71773c5d3ce..9458f7d286e 100644 --- a/src/sage/manifolds/manifold_homset.py +++ b/src/sage/manifolds/manifold_homset.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Sets of Morphisms between Topological Manifolds diff --git a/src/sage/manifolds/operators.py b/src/sage/manifolds/operators.py index dae39bdcad2..1982ca9c0d3 100644 --- a/src/sage/manifolds/operators.py +++ b/src/sage/manifolds/operators.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Operators for vector calculus diff --git a/src/sage/manifolds/point.py b/src/sage/manifolds/point.py index ff0009db15b..7191edb1fd1 100644 --- a/src/sage/manifolds/point.py +++ b/src/sage/manifolds/point.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Points of Topological Manifolds diff --git a/src/sage/manifolds/scalarfield.py b/src/sage/manifolds/scalarfield.py index 1cc865564fc..c394589ee12 100644 --- a/src/sage/manifolds/scalarfield.py +++ b/src/sage/manifolds/scalarfield.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Scalar Fields diff --git a/src/sage/manifolds/scalarfield_algebra.py b/src/sage/manifolds/scalarfield_algebra.py index f8573b8f635..9c1a4b36be1 100644 --- a/src/sage/manifolds/scalarfield_algebra.py +++ b/src/sage/manifolds/scalarfield_algebra.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Algebra of Scalar Fields diff --git a/src/sage/manifolds/section.py b/src/sage/manifolds/section.py index e48b2b5ee29..76bf19fc34e 100644 --- a/src/sage/manifolds/section.py +++ b/src/sage/manifolds/section.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Sections diff --git a/src/sage/manifolds/section_module.py b/src/sage/manifolds/section_module.py index 975113ca2c9..0fcbb87a884 100644 --- a/src/sage/manifolds/section_module.py +++ b/src/sage/manifolds/section_module.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-symbolics r""" Section Modules diff --git a/src/sage/manifolds/structure.py b/src/sage/manifolds/structure.py index dd9fc2a3f8a..8fae887fa7d 100644 --- a/src/sage/manifolds/structure.py +++ b/src/sage/manifolds/structure.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Manifold Structures diff --git a/src/sage/manifolds/subset.py b/src/sage/manifolds/subset.py index d6de3069a6f..b55f405b0bd 100644 --- a/src/sage/manifolds/subset.py +++ b/src/sage/manifolds/subset.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-symbolics r""" Subsets of Topological Manifolds diff --git a/src/sage/manifolds/subsets/all.py b/src/sage/manifolds/subsets/all.py index e69de29bb2d..332eaf1cdb6 100644 --- a/src/sage/manifolds/subsets/all.py +++ b/src/sage/manifolds/subsets/all.py @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-symbolics diff --git a/src/sage/manifolds/subsets/closure.py b/src/sage/manifolds/subsets/closure.py index 4a5c056ef68..965cc576b2f 100644 --- a/src/sage/manifolds/subsets/closure.py +++ b/src/sage/manifolds/subsets/closure.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Topological Closures of Manifold Subsets diff --git a/src/sage/manifolds/subsets/pullback.py b/src/sage/manifolds/subsets/pullback.py index 6ab4a28059f..2804aa0ca17 100644 --- a/src/sage/manifolds/subsets/pullback.py +++ b/src/sage/manifolds/subsets/pullback.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Manifold Subsets Defined as Pullbacks of Subsets under Continuous Maps """ diff --git a/src/sage/manifolds/topological_submanifold.py b/src/sage/manifolds/topological_submanifold.py index 9b722907152..b2685c77f5e 100644 --- a/src/sage/manifolds/topological_submanifold.py +++ b/src/sage/manifolds/topological_submanifold.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Submanifolds of topological manifolds diff --git a/src/sage/manifolds/trivialization.py b/src/sage/manifolds/trivialization.py index ed3a8b4ed9f..3246eee3fdc 100644 --- a/src/sage/manifolds/trivialization.py +++ b/src/sage/manifolds/trivialization.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Trivializations diff --git a/src/sage/manifolds/utilities.py b/src/sage/manifolds/utilities.py index 20bac910900..83b040ac202 100644 --- a/src/sage/manifolds/utilities.py +++ b/src/sage/manifolds/utilities.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Utilities for Calculus diff --git a/src/sage/manifolds/vector_bundle.py b/src/sage/manifolds/vector_bundle.py index b851fa64fe7..9e4315e7069 100644 --- a/src/sage/manifolds/vector_bundle.py +++ b/src/sage/manifolds/vector_bundle.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-symbolics r""" Topological Vector Bundle diff --git a/src/sage/manifolds/vector_bundle_fiber.py b/src/sage/manifolds/vector_bundle_fiber.py index 90a59e97169..0e3feb4a9b8 100644 --- a/src/sage/manifolds/vector_bundle_fiber.py +++ b/src/sage/manifolds/vector_bundle_fiber.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Vector Bundle Fibers diff --git a/src/sage/manifolds/vector_bundle_fiber_element.py b/src/sage/manifolds/vector_bundle_fiber_element.py index 048275a8495..010846ec488 100644 --- a/src/sage/manifolds/vector_bundle_fiber_element.py +++ b/src/sage/manifolds/vector_bundle_fiber_element.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Vector Bundle Fiber Elements diff --git a/src/sage/matrix/action.pxd b/src/sage/matrix/action.pxd index d50965dc8f5..befbb54c2d1 100644 --- a/src/sage/matrix/action.pxd +++ b/src/sage/matrix/action.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.structure.element cimport Element, Matrix, Vector from sage.structure.parent cimport Parent from sage.categories.action cimport Action diff --git a/src/sage/matrix/action.pyx b/src/sage/matrix/action.pyx index 0db343c9eed..d538369f57d 100644 --- a/src/sage/matrix/action.pyx +++ b/src/sage/matrix/action.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Actions used by the coercion model for matrix and vector multiplications diff --git a/src/sage/matrix/all.py b/src/sage/matrix/all.py index 041624f3853..1e1b590dad6 100644 --- a/src/sage/matrix/all.py +++ b/src/sage/matrix/all.py @@ -1,7 +1,9 @@ +# sage_setup: distribution = sagemath-modules from sage.misc.lazy_import import lazy_import -from .matrix_space import MatrixSpace -from .constructor import (matrix, Matrix, column_matrix, random_matrix, - diagonal_matrix, identity_matrix, block_matrix, - block_diagonal_matrix, jordan_block, zero_matrix, - ones_matrix, elementary_matrix, companion_matrix) +from sage.matrix.matrix_space import MatrixSpace +from sage.matrix.constructor import (matrix, Matrix, column_matrix, random_matrix, + diagonal_matrix, identity_matrix, block_matrix, + block_diagonal_matrix, jordan_block, zero_matrix, + ones_matrix, elementary_matrix, companion_matrix) Mat = MatrixSpace +del lazy_import diff --git a/src/sage/matrix/all__sagemath_flint.py b/src/sage/matrix/all__sagemath_flint.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/matrix/all__sagemath_gap.py b/src/sage/matrix/all__sagemath_gap.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/matrix/all__sagemath_linbox.py b/src/sage/matrix/all__sagemath_linbox.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/matrix/all__sagemath_meataxe.py b/src/sage/matrix/all__sagemath_meataxe.py index e69de29bb2d..fd1e327ee2f 100644 --- a/src/sage/matrix/all__sagemath_meataxe.py +++ b/src/sage/matrix/all__sagemath_meataxe.py @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-meataxe diff --git a/src/sage/matrix/all__sagemath_ntl.py b/src/sage/matrix/all__sagemath_ntl.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/matrix/all__sagemath_singular.py b/src/sage/matrix/all__sagemath_singular.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/matrix/all__sagemath_symbolics.py b/src/sage/matrix/all__sagemath_symbolics.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/matrix/args.pxd b/src/sage/matrix/args.pxd index 9ab004e1887..ad840522297 100644 --- a/src/sage/matrix/args.pxd +++ b/src/sage/matrix/args.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from cpython.object cimport PyObject from sage.structure.element cimport Element, Matrix from sage.structure.parent cimport Parent diff --git a/src/sage/matrix/args.pyx b/src/sage/matrix/args.pyx index 6e272858156..fa496a05de8 100644 --- a/src/sage/matrix/args.pyx +++ b/src/sage/matrix/args.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # cython: wraparound=False # cython: boundscheck=False """ diff --git a/src/sage/matrix/benchmark.py b/src/sage/matrix/benchmark.py index 5e29a19f48c..fd316cdc532 100644 --- a/src/sage/matrix/benchmark.py +++ b/src/sage/matrix/benchmark.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.flint """ Benchmarks for matrices diff --git a/src/sage/matrix/berlekamp_massey.py b/src/sage/matrix/berlekamp_massey.py index a6fe70c50e6..d84969d556c 100644 --- a/src/sage/matrix/berlekamp_massey.py +++ b/src/sage/matrix/berlekamp_massey.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Minimal Polynomials of Linear Recurrence Sequences diff --git a/src/sage/matrix/change_ring.pyx b/src/sage/matrix/change_ring.pyx index f942b753275..7a26f2a0efa 100644 --- a/src/sage/matrix/change_ring.pyx +++ b/src/sage/matrix/change_ring.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-linbox """ Functions for changing the base ring of matrices quickly """ diff --git a/src/sage/matrix/compute_J_ideal.py b/src/sage/matrix/compute_J_ideal.py index f7005c04d31..2f1aac2164b 100644 --- a/src/sage/matrix/compute_J_ideal.py +++ b/src/sage/matrix/compute_J_ideal.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.libs.pari (for charpoly, minimal_polynomial in __init__) r""" `J`-ideals of matrices diff --git a/src/sage/matrix/constructor.pyx b/src/sage/matrix/constructor.pyx index d7b209b93ca..c35c84468d7 100644 --- a/src/sage/matrix/constructor.pyx +++ b/src/sage/matrix/constructor.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # cython: binding=True """ General matrix Constructor and display options diff --git a/src/sage/matrix/docs.py b/src/sage/matrix/docs.py index 6a76d6fb331..8667e053d1f 100644 --- a/src/sage/matrix/docs.py +++ b/src/sage/matrix/docs.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Matrices over an arbitrary ring diff --git a/src/sage/matrix/echelon_matrix.pyx b/src/sage/matrix/echelon_matrix.pyx index 7f5457a7f7b..b544211f8b2 100644 --- a/src/sage/matrix/echelon_matrix.pyx +++ b/src/sage/matrix/echelon_matrix.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Echelon matrices over finite fields. """ diff --git a/src/sage/matrix/matrix.pxd b/src/sage/matrix/matrix.pxd index b67ed5b4969..7899379dc45 100644 --- a/src/sage/matrix/matrix.pxd +++ b/src/sage/matrix/matrix.pxd @@ -1 +1,2 @@ +# sage_setup: distribution = sagemath-modules from sage.matrix.matrix2 cimport Matrix diff --git a/src/sage/matrix/matrix0.pxd b/src/sage/matrix/matrix0.pxd index c18c7cdc4a3..3be1da7c607 100644 --- a/src/sage/matrix/matrix0.pxd +++ b/src/sage/matrix/matrix0.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Generic matrices """ diff --git a/src/sage/matrix/matrix0.pyx b/src/sage/matrix/matrix0.pyx index 3dc47b9df07..26311b91ee8 100644 --- a/src/sage/matrix/matrix0.pyx +++ b/src/sage/matrix/matrix0.pyx @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-modules """ Base class for matrices, part 0 diff --git a/src/sage/matrix/matrix1.pxd b/src/sage/matrix/matrix1.pxd index d24468b80e1..72226127f27 100644 --- a/src/sage/matrix/matrix1.pxd +++ b/src/sage/matrix/matrix1.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.matrix.matrix0 cimport Matrix as Matrix0 cdef class Matrix(Matrix0): diff --git a/src/sage/matrix/matrix1.pyx b/src/sage/matrix/matrix1.pyx index d446030473f..e1dd532b21a 100644 --- a/src/sage/matrix/matrix1.pyx +++ b/src/sage/matrix/matrix1.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Base class for matrices, part 1 diff --git a/src/sage/matrix/matrix2.pxd b/src/sage/matrix/matrix2.pxd index a2e0297228c..dc1104dfdbe 100644 --- a/src/sage/matrix/matrix2.pxd +++ b/src/sage/matrix/matrix2.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Generic matrices """ diff --git a/src/sage/matrix/matrix2.pyx b/src/sage/matrix/matrix2.pyx index c3f621ec8ef..608b9fd47bd 100644 --- a/src/sage/matrix/matrix2.pyx +++ b/src/sage/matrix/matrix2.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Base class for matrices, part 2 @@ -9964,6 +9965,33 @@ cdef class Matrix(Matrix1): chi = self.charpoly() return chi.is_monomial() + def is_semisimple(self) -> bool: + r""" + Return if ``self`` is semisimple. + + A (square) matrix `A` is *semisimple* if the + :meth:`minimal polynomial ` of `A` is sqaure-free. + + If `A` represents a linear map from `F^n \to F^n` for some field `F`, + then this is equivalent to every `A`-invariant subspace of `F^n` + has a complementary `A`-invariant subspace. This is also equivalent + to saying the matrix is diagonalizable over `\bar{F}`, the algebraic + closure of `F`. + + EXAMPLES:: + + sage: A = matrix([[0, -1], [1, 0]]); A + [ 0 -1] + [ 1 0] + sage: A.is_semisimple() + True + sage: A.change_ring(QQ).is_diagonalizable() + False + sage: A.change_ring(CyclotomicField(4)).is_diagonalizable() + True + """ + return self.minpoly().is_squarefree() + def as_sum_of_permutations(self): r""" Returns the current matrix as a sum of permutation matrices @@ -11660,6 +11688,95 @@ cdef class Matrix(Matrix1): else: return J + def jordan_decomposition(self): + r""" + Return the Jordan decomposition of ``self``. + + The Jordan decomposition of a matrix `A` is a pair of + matrices `(S, N)` such that + + - `A = S + N`, + - `S` is semisimple, + - `N` is nilpotent. + + EXAMPLES:: + + sage: A = matrix(QQ, 5, 5, {(0,1): -1, (1,0): 1, (2,3): -1}); A + [ 0 -1 0 0 0] + [ 1 0 0 0 0] + [ 0 0 0 -1 0] + [ 0 0 0 0 0] + [ 0 0 0 0 0] + sage: S, N = A.jordan_decomposition() + sage: S + [ 0 -1 0 0 0] + [ 1 0 0 0 0] + [ 0 0 0 0 0] + [ 0 0 0 0 0] + [ 0 0 0 0 0] + sage: N + [ 0 0 0 0 0] + [ 0 0 0 0 0] + [ 0 0 0 -1 0] + [ 0 0 0 0 0] + [ 0 0 0 0 0] + sage: A == S + N + True + sage: S.is_semisimple() + True + sage: N.is_nilpotent() + True + sage: A.jordan_form() + Traceback (most recent call last): + ... + RuntimeError: Some eigenvalue does not exist in Rational Field. + + TESTS:: + + sage: X = random_matrix(QQ, 4) + sage: S, N = X.jordan_decomposition() + sage: X == S + N + True + sage: S is X.jordan_decomposition()[0] # result is cached + True + sage: N is X.jordan_decomposition()[1] # result is cached + True + sage: A = matrix(ZZ, 5, 5, {(0,1): -1, (1,0): 1, (2,3): -1}) + sage: A.jordan_decomposition() + Traceback (most recent call last): + ... + ValueError: unable to compute Jordan decomposition + sage: B = A.change_ring(RR) + sage: B.jordan_decomposition() + Traceback (most recent call last): + ... + NotImplementedError: Jordan decomposition not implemented over inexact rings + """ + if not self.base_ring().is_exact(): + raise NotImplementedError("Jordan decomposition not implemented over inexact rings") + JD = self.fetch('jordan_decomposition') + if JD is not None: + return JD + f = self.minpoly() + h = f // f.gcd(f.diff()) + o, p, q = h.xgcd(h.diff()) + if not o.is_one(): + raise ValueError("unable to compute Jordan decomposition") + A = self + hq = h * q + # very bad bound, but requires no extra computation + # a better bound is the maximum multiplicity in the minpoly, + # but this requires factoring the minpoly + for _ in range(self.nrows()): + if not h(A): + ret = (A, self - A) + ret[0].set_immutable() + ret[1].set_immutable() + self.cache('jordan_decomposition', ret) + return ret + A -= hq(A) + raise ValueError("Jordan decomposition does not exist") + def diagonalization(self, base_field=None): """ Return a diagonal matrix similar to ``self`` along with the diff --git a/src/sage/matrix/matrix_cdv.pxd b/src/sage/matrix/matrix_cdv.pxd index f7684da49f2..fb7f4b29b60 100644 --- a/src/sage/matrix/matrix_cdv.pxd +++ b/src/sage/matrix/matrix_cdv.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.matrix.matrix_generic_dense cimport Matrix_generic_dense cpdef hessenbergize_cdvf(Matrix_generic_dense) diff --git a/src/sage/matrix/matrix_cdv.pyx b/src/sage/matrix/matrix_cdv.pyx index 7a6b1887518..a035e52b16a 100644 --- a/src/sage/matrix/matrix_cdv.pyx +++ b/src/sage/matrix/matrix_cdv.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Special methods for matrices over discrete valuation rings/fields. """ diff --git a/src/sage/matrix/matrix_complex_ball_dense.pxd b/src/sage/matrix/matrix_complex_ball_dense.pxd index effa0413026..9d901f1c65c 100644 --- a/src/sage/matrix/matrix_complex_ball_dense.pxd +++ b/src/sage/matrix/matrix_complex_ball_dense.pxd @@ -1,3 +1,5 @@ +# sage_setup: distribution = sagemath-flint + from sage.libs.flint.types cimport acb_mat_t from sage.matrix.matrix_dense cimport Matrix_dense from sage.matrix.matrix_generic_dense cimport Matrix_generic_dense diff --git a/src/sage/matrix/matrix_complex_ball_dense.pyx b/src/sage/matrix/matrix_complex_ball_dense.pyx index 07857217309..9888f4b7f33 100644 --- a/src/sage/matrix/matrix_complex_ball_dense.pyx +++ b/src/sage/matrix/matrix_complex_ball_dense.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint # distutils: libraries = flint r""" Arbitrary precision complex ball matrices diff --git a/src/sage/matrix/matrix_complex_double_dense.pxd b/src/sage/matrix/matrix_complex_double_dense.pxd index a9041564e43..1626912bb9d 100644 --- a/src/sage/matrix/matrix_complex_double_dense.pxd +++ b/src/sage/matrix/matrix_complex_double_dense.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.matrix.matrix_double_dense cimport Matrix_double_dense cdef class Matrix_complex_double_dense(Matrix_double_dense): diff --git a/src/sage/matrix/matrix_complex_double_dense.pyx b/src/sage/matrix/matrix_complex_double_dense.pyx index b86516fd121..e499dd9fa97 100644 --- a/src/sage/matrix/matrix_complex_double_dense.pyx +++ b/src/sage/matrix/matrix_complex_double_dense.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: optional - numpy """ Dense matrices over the Complex Double Field using NumPy diff --git a/src/sage/matrix/matrix_cyclo_dense.pxd b/src/sage/matrix/matrix_cyclo_dense.pxd index 13f72389cf5..3a1eaaea796 100644 --- a/src/sage/matrix/matrix_cyclo_dense.pxd +++ b/src/sage/matrix/matrix_cyclo_dense.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-linbox from sage.libs.gmp.types cimport mpz_t from sage.matrix.matrix_dense cimport Matrix_dense from sage.matrix.matrix_rational_dense cimport Matrix_rational_dense diff --git a/src/sage/matrix/matrix_cyclo_dense.pyx b/src/sage/matrix/matrix_cyclo_dense.pyx index 8bffbb905d8..52c4fabac5d 100644 --- a/src/sage/matrix/matrix_cyclo_dense.pyx +++ b/src/sage/matrix/matrix_cyclo_dense.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-linbox # distutils: language = c++ # distutils: libraries = NTL_LIBRARIES # distutils: extra_compile_args = NTL_CFLAGS diff --git a/src/sage/matrix/matrix_dense.pxd b/src/sage/matrix/matrix_dense.pxd index 30c3effe02a..f8da138b44c 100644 --- a/src/sage/matrix/matrix_dense.pxd +++ b/src/sage/matrix/matrix_dense.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.matrix.matrix cimport Matrix cdef class Matrix_dense(Matrix): diff --git a/src/sage/matrix/matrix_dense.pyx b/src/sage/matrix/matrix_dense.pyx index a954dde39d2..caebc788af1 100644 --- a/src/sage/matrix/matrix_dense.pyx +++ b/src/sage/matrix/matrix_dense.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Base class for dense matrices diff --git a/src/sage/matrix/matrix_domain_dense.pxd b/src/sage/matrix/matrix_domain_dense.pxd index 8a6e487c493..f924ac01457 100644 --- a/src/sage/matrix/matrix_domain_dense.pxd +++ b/src/sage/matrix/matrix_domain_dense.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.matrix.matrix cimport Matrix cdef class Matrix_domain_dense(Matrix): diff --git a/src/sage/matrix/matrix_domain_sparse.pxd b/src/sage/matrix/matrix_domain_sparse.pxd index c5882238632..2c95dd4f418 100644 --- a/src/sage/matrix/matrix_domain_sparse.pxd +++ b/src/sage/matrix/matrix_domain_sparse.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.matrix.matrix cimport Matrix cdef class Matrix_domain_sparse(Matrix): diff --git a/src/sage/matrix/matrix_double_dense.pxd b/src/sage/matrix/matrix_double_dense.pxd index 3f2cb525b10..ac4ee7ce6b7 100644 --- a/src/sage/matrix/matrix_double_dense.pxd +++ b/src/sage/matrix/matrix_double_dense.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.matrix.matrix_numpy_dense cimport Matrix_numpy_dense diff --git a/src/sage/matrix/matrix_double_dense.pyx b/src/sage/matrix/matrix_double_dense.pyx index 31a03fb7e28..3544adc96cc 100644 --- a/src/sage/matrix/matrix_double_dense.pyx +++ b/src/sage/matrix/matrix_double_dense.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: optional - numpy """ Dense matrices using a NumPy backend diff --git a/src/sage/matrix/matrix_double_sparse.pxd b/src/sage/matrix/matrix_double_sparse.pxd index 0a292404338..ce2502bdc53 100644 --- a/src/sage/matrix/matrix_double_sparse.pxd +++ b/src/sage/matrix/matrix_double_sparse.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.matrix.matrix_generic_sparse cimport Matrix_generic_sparse diff --git a/src/sage/matrix/matrix_double_sparse.pyx b/src/sage/matrix/matrix_double_sparse.pyx index cac826d7777..f1ffd1bb8fb 100644 --- a/src/sage/matrix/matrix_double_sparse.pyx +++ b/src/sage/matrix/matrix_double_sparse.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.matrix.matrix2 cimport Matrix from sage.matrix.matrix_generic_sparse cimport Matrix_generic_sparse diff --git a/src/sage/matrix/matrix_gap.pxd b/src/sage/matrix/matrix_gap.pxd index f378adbfc2a..19674a56d0a 100644 --- a/src/sage/matrix/matrix_gap.pxd +++ b/src/sage/matrix/matrix_gap.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-gap from sage.matrix.matrix_dense cimport Matrix_dense from sage.libs.gap.element cimport GapElement diff --git a/src/sage/matrix/matrix_gap.pyx b/src/sage/matrix/matrix_gap.pyx index f5a6e1d10e7..b4294c4f7ed 100644 --- a/src/sage/matrix/matrix_gap.pyx +++ b/src/sage/matrix/matrix_gap.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-gap r""" Wrappers on GAP matrices """ diff --git a/src/sage/matrix/matrix_generic_dense.pxd b/src/sage/matrix/matrix_generic_dense.pxd index ba37428cb1f..c81e2f6f8a1 100644 --- a/src/sage/matrix/matrix_generic_dense.pxd +++ b/src/sage/matrix/matrix_generic_dense.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.matrix.matrix_dense cimport Matrix_dense diff --git a/src/sage/matrix/matrix_generic_dense.pyx b/src/sage/matrix/matrix_generic_dense.pyx index 441138560b0..1720ef12da1 100644 --- a/src/sage/matrix/matrix_generic_dense.pyx +++ b/src/sage/matrix/matrix_generic_dense.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Dense Matrices over a general ring """ diff --git a/src/sage/matrix/matrix_generic_sparse.pxd b/src/sage/matrix/matrix_generic_sparse.pxd index 461fb38e18b..f674a3b3a56 100644 --- a/src/sage/matrix/matrix_generic_sparse.pxd +++ b/src/sage/matrix/matrix_generic_sparse.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.matrix.matrix_sparse cimport Matrix_sparse diff --git a/src/sage/matrix/matrix_generic_sparse.pyx b/src/sage/matrix/matrix_generic_sparse.pyx index 055746a8664..0d5583f25d7 100644 --- a/src/sage/matrix/matrix_generic_sparse.pyx +++ b/src/sage/matrix/matrix_generic_sparse.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Sparse Matrices over a general ring diff --git a/src/sage/matrix/matrix_gf2e_dense.pxd b/src/sage/matrix/matrix_gf2e_dense.pxd index dcd1019f230..9357616496b 100644 --- a/src/sage/matrix/matrix_gf2e_dense.pxd +++ b/src/sage/matrix/matrix_gf2e_dense.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-linbox from sage.libs.m4rie cimport mzed_t from sage.libs.m4ri cimport m4ri_word from sage.matrix.matrix_dense cimport Matrix_dense diff --git a/src/sage/matrix/matrix_gf2e_dense.pyx b/src/sage/matrix/matrix_gf2e_dense.pyx index a089770ef4c..15e8328b1c7 100644 --- a/src/sage/matrix/matrix_gf2e_dense.pyx +++ b/src/sage/matrix/matrix_gf2e_dense.pyx @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-linbox # distutils: libraries = m4rie M4RI_LIBRARIES m # distutils: library_dirs = M4RI_LIBDIR # distutils: include_dirs = M4RI_INCDIR diff --git a/src/sage/matrix/matrix_integer_dense.pxd b/src/sage/matrix/matrix_integer_dense.pxd index c60b4422e97..d644241bbc3 100644 --- a/src/sage/matrix/matrix_integer_dense.pxd +++ b/src/sage/matrix/matrix_integer_dense.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint from sage.libs.gmp.types cimport * from sage.libs.flint.types cimport fmpz_mat_t diff --git a/src/sage/matrix/matrix_integer_dense.pyx b/src/sage/matrix/matrix_integer_dense.pyx index e06e5af4c35..26e5af5bf0c 100644 --- a/src/sage/matrix/matrix_integer_dense.pyx +++ b/src/sage/matrix/matrix_integer_dense.pyx @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-linbox # distutils: extra_compile_args = NTL_CFLAGS M4RI_CFLAGS # distutils: libraries = iml NTL_LIBRARIES gmp m CBLAS_LIBRARIES # distutils: library_dirs = NTL_LIBDIR CBLAS_LIBDIR diff --git a/src/sage/matrix/matrix_integer_dense_hnf.py b/src/sage/matrix/matrix_integer_dense_hnf.py index 30db173966f..829746c0e00 100644 --- a/src/sage/matrix/matrix_integer_dense_hnf.py +++ b/src/sage/matrix/matrix_integer_dense_hnf.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-linbox """ Modular algorithm to compute Hermite normal forms of integer matrices diff --git a/src/sage/matrix/matrix_integer_dense_saturation.py b/src/sage/matrix/matrix_integer_dense_saturation.py index 65d3cc66495..75d645f0e51 100644 --- a/src/sage/matrix/matrix_integer_dense_saturation.py +++ b/src/sage/matrix/matrix_integer_dense_saturation.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-linbox """ Saturation over ZZ """ diff --git a/src/sage/matrix/matrix_integer_sparse.pxd b/src/sage/matrix/matrix_integer_sparse.pxd index fbfa9c9a793..6d2ad42805e 100644 --- a/src/sage/matrix/matrix_integer_sparse.pxd +++ b/src/sage/matrix/matrix_integer_sparse.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint from sage.modules.vector_integer_sparse cimport mpz_vector from sage.ext.mod_int cimport mod_int from sage.matrix.matrix_sparse cimport Matrix_sparse diff --git a/src/sage/matrix/matrix_integer_sparse.pyx b/src/sage/matrix/matrix_integer_sparse.pyx index 31c6c1e9d1a..c068a55b35d 100644 --- a/src/sage/matrix/matrix_integer_sparse.pyx +++ b/src/sage/matrix/matrix_integer_sparse.pyx @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-linbox r""" Sparse integer matrices diff --git a/src/sage/matrix/matrix_laurent_mpolynomial_dense.pxd b/src/sage/matrix/matrix_laurent_mpolynomial_dense.pxd index 2a1170d0bc5..5edd4f07346 100644 --- a/src/sage/matrix/matrix_laurent_mpolynomial_dense.pxd +++ b/src/sage/matrix/matrix_laurent_mpolynomial_dense.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.matrix.matrix_generic_dense cimport Matrix_generic_dense cdef class Matrix_Laurent_mpolynomial_dense(Matrix_generic_dense): diff --git a/src/sage/matrix/matrix_laurent_mpolynomial_dense.pyx b/src/sage/matrix/matrix_laurent_mpolynomial_dense.pyx index 1f345a68ba6..d7877f812da 100644 --- a/src/sage/matrix/matrix_laurent_mpolynomial_dense.pyx +++ b/src/sage/matrix/matrix_laurent_mpolynomial_dense.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Dense matrices over multivariate polynomials over fields. diff --git a/src/sage/matrix/matrix_misc.py b/src/sage/matrix/matrix_misc.py index 84ddd3819c7..9b464fa65c2 100644 --- a/src/sage/matrix/matrix_misc.py +++ b/src/sage/matrix/matrix_misc.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Miscellaneous matrix functions diff --git a/src/sage/matrix/matrix_mod2_dense.pxd b/src/sage/matrix/matrix_mod2_dense.pxd index ea3575ef3be..7844c8d1e34 100644 --- a/src/sage/matrix/matrix_mod2_dense.pxd +++ b/src/sage/matrix/matrix_mod2_dense.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-linbox from .matrix_dense cimport Matrix_dense from sage.libs.m4ri cimport * diff --git a/src/sage/matrix/matrix_mod2_dense.pyx b/src/sage/matrix/matrix_mod2_dense.pyx index f7689c60b07..afdee68abe3 100644 --- a/src/sage/matrix/matrix_mod2_dense.pyx +++ b/src/sage/matrix/matrix_mod2_dense.pyx @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-linbox # distutils: libraries = M4RI_LIBRARIES GDLIB_LIBRARIES LIBPNG_LIBRARIES ZLIB_LIBRARIES # distutils: library_dirs = M4RI_LIBDIR GDLIB_LIBDIR LIBPNG_LIBDIR ZLIB_LIBDIR # distutils: include_dirs = M4RI_INCDIR GDLIB_INCDIR LIBPNG_INCDIR ZLIB_INCDIR diff --git a/src/sage/matrix/matrix_modn_dense_double.pxd b/src/sage/matrix/matrix_modn_dense_double.pxd index 8cea9f2993b..33e60ee9660 100644 --- a/src/sage/matrix/matrix_modn_dense_double.pxd +++ b/src/sage/matrix/matrix_modn_dense_double.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl ctypedef double celement include "matrix_modn_dense_template_header.pxi" diff --git a/src/sage/matrix/matrix_modn_dense_double.pyx b/src/sage/matrix/matrix_modn_dense_double.pyx index b112ffba912..902339e81e5 100644 --- a/src/sage/matrix/matrix_modn_dense_double.pyx +++ b/src/sage/matrix/matrix_modn_dense_double.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-linbox # distutils: language = c++ # distutils: libraries = CBLAS_LIBRARIES # distutils: library_dirs = CBLAS_LIBDIR diff --git a/src/sage/matrix/matrix_modn_dense_float.pxd b/src/sage/matrix/matrix_modn_dense_float.pxd index 697e1e79e57..99d9e4ed1ca 100644 --- a/src/sage/matrix/matrix_modn_dense_float.pxd +++ b/src/sage/matrix/matrix_modn_dense_float.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl ctypedef float celement include "matrix_modn_dense_template_header.pxi" diff --git a/src/sage/matrix/matrix_modn_dense_float.pyx b/src/sage/matrix/matrix_modn_dense_float.pyx index 73fbe175d95..fd216c68386 100644 --- a/src/sage/matrix/matrix_modn_dense_float.pyx +++ b/src/sage/matrix/matrix_modn_dense_float.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-linbox # distutils: language = c++ # distutils: libraries = CBLAS_LIBRARIES # distutils: library_dirs = CBLAS_LIBDIR diff --git a/src/sage/matrix/matrix_modn_dense_template.pxi b/src/sage/matrix/matrix_modn_dense_template.pxi index 08f01205da1..a0b83d63875 100644 --- a/src/sage/matrix/matrix_modn_dense_template.pxi +++ b/src/sage/matrix/matrix_modn_dense_template.pxi @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl r""" Dense matrices over `\ZZ/n\ZZ` for `n` small using the LinBox library (FFLAS/FFPACK) diff --git a/src/sage/matrix/matrix_modn_dense_template_header.pxi b/src/sage/matrix/matrix_modn_dense_template_header.pxi index b5f12c69397..90ca36aaedd 100644 --- a/src/sage/matrix/matrix_modn_dense_template_header.pxi +++ b/src/sage/matrix/matrix_modn_dense_template_header.pxi @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl """ Dense Matrix Template for C/C++ Library Interfaces """ diff --git a/src/sage/matrix/matrix_modn_sparse.pxd b/src/sage/matrix/matrix_modn_sparse.pxd index dded069b3d8..c808458ab3a 100644 --- a/src/sage/matrix/matrix_modn_sparse.pxd +++ b/src/sage/matrix/matrix_modn_sparse.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl from sage.matrix.matrix_sparse cimport Matrix_sparse from sage.modules.vector_modn_sparse cimport * diff --git a/src/sage/matrix/matrix_modn_sparse.pyx b/src/sage/matrix/matrix_modn_sparse.pyx index bffe9c31aa1..c7984d5a222 100644 --- a/src/sage/matrix/matrix_modn_sparse.pyx +++ b/src/sage/matrix/matrix_modn_sparse.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-linbox r""" Sparse matrices over `\ZZ/n\ZZ` for `n` small diff --git a/src/sage/matrix/matrix_mpolynomial_dense.pxd b/src/sage/matrix/matrix_mpolynomial_dense.pxd index e4d70ba9dd0..0a4891f5e18 100644 --- a/src/sage/matrix/matrix_mpolynomial_dense.pxd +++ b/src/sage/matrix/matrix_mpolynomial_dense.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-singular from sage.matrix.matrix_generic_dense cimport Matrix_generic_dense from sage.libs.singular.decl cimport ideal diff --git a/src/sage/matrix/matrix_mpolynomial_dense.pyx b/src/sage/matrix/matrix_mpolynomial_dense.pyx index 5b4e1c398ee..ec982d1f411 100644 --- a/src/sage/matrix/matrix_mpolynomial_dense.pyx +++ b/src/sage/matrix/matrix_mpolynomial_dense.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-singular """ Dense matrices over multivariate polynomials over fields diff --git a/src/sage/matrix/matrix_numpy_dense.pxd b/src/sage/matrix/matrix_numpy_dense.pxd index 4fe2c65e0fc..2218cbc7b70 100644 --- a/src/sage/matrix/matrix_numpy_dense.pxd +++ b/src/sage/matrix/matrix_numpy_dense.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules cimport numpy as cnumpy from sage.matrix.matrix_dense cimport Matrix_dense diff --git a/src/sage/matrix/matrix_numpy_dense.pyx b/src/sage/matrix/matrix_numpy_dense.pyx index 401f115ed78..725f36ce34c 100644 --- a/src/sage/matrix/matrix_numpy_dense.pyx +++ b/src/sage/matrix/matrix_numpy_dense.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: optional - numpy """ Dense matrices using a NumPy backend diff --git a/src/sage/matrix/matrix_numpy_integer_dense.pxd b/src/sage/matrix/matrix_numpy_integer_dense.pxd index 3116f89d8e2..6d63f9808e4 100644 --- a/src/sage/matrix/matrix_numpy_integer_dense.pxd +++ b/src/sage/matrix/matrix_numpy_integer_dense.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.matrix.matrix_numpy_dense cimport Matrix_numpy_dense diff --git a/src/sage/matrix/matrix_numpy_integer_dense.pyx b/src/sage/matrix/matrix_numpy_integer_dense.pyx index 8c449a86abf..d09f354195a 100644 --- a/src/sage/matrix/matrix_numpy_integer_dense.pyx +++ b/src/sage/matrix/matrix_numpy_integer_dense.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: optional - numpy r""" Dense integer matrices using a NumPy backend diff --git a/src/sage/matrix/matrix_polynomial_dense.pxd b/src/sage/matrix/matrix_polynomial_dense.pxd index 14caadea50c..1ed11b24e3c 100644 --- a/src/sage/matrix/matrix_polynomial_dense.pxd +++ b/src/sage/matrix/matrix_polynomial_dense.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.matrix.matrix_generic_dense cimport Matrix_generic_dense cdef class Matrix_polynomial_dense(Matrix_generic_dense): diff --git a/src/sage/matrix/matrix_polynomial_dense.pyx b/src/sage/matrix/matrix_polynomial_dense.pyx index 7c0c1cd71eb..54c2983eca9 100644 --- a/src/sage/matrix/matrix_polynomial_dense.pyx +++ b/src/sage/matrix/matrix_polynomial_dense.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Dense matrices over univariate polynomials over fields diff --git a/src/sage/matrix/matrix_rational_dense.pxd b/src/sage/matrix/matrix_rational_dense.pxd index d2d9955fefc..0f196e53f9e 100644 --- a/src/sage/matrix/matrix_rational_dense.pxd +++ b/src/sage/matrix/matrix_rational_dense.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint from sage.libs.flint.types cimport fmpz_t, fmpq_mat_t from sage.matrix.matrix_dense cimport Matrix_dense diff --git a/src/sage/matrix/matrix_rational_dense.pyx b/src/sage/matrix/matrix_rational_dense.pyx index 7b6067892de..d44e223147e 100644 --- a/src/sage/matrix/matrix_rational_dense.pyx +++ b/src/sage/matrix/matrix_rational_dense.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-linbox # distutils: extra_compile_args = -D_XPG6 NTL_CFLAGS M4RI_CFLAGS # distutils: extra_link_args = NTL_LIBEXTRA # distutils: libraries = iml NTL_LIBRARIES m CBLAS_LIBRARIES diff --git a/src/sage/matrix/matrix_rational_sparse.pxd b/src/sage/matrix/matrix_rational_sparse.pxd index c754850bee9..e6753ac0f4d 100644 --- a/src/sage/matrix/matrix_rational_sparse.pxd +++ b/src/sage/matrix/matrix_rational_sparse.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint from sage.libs.gmp.types cimport mpz_t from sage.modules.vector_rational_sparse cimport mpq_vector from sage.matrix.matrix_sparse cimport Matrix_sparse diff --git a/src/sage/matrix/matrix_rational_sparse.pyx b/src/sage/matrix/matrix_rational_sparse.pyx index dac06a3cfd3..40d212811a8 100644 --- a/src/sage/matrix/matrix_rational_sparse.pyx +++ b/src/sage/matrix/matrix_rational_sparse.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-linbox """ Sparse rational matrices diff --git a/src/sage/matrix/matrix_real_double_dense.pxd b/src/sage/matrix/matrix_real_double_dense.pxd index d781a84ce40..4601c94cbd5 100644 --- a/src/sage/matrix/matrix_real_double_dense.pxd +++ b/src/sage/matrix/matrix_real_double_dense.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.matrix.matrix_double_dense cimport Matrix_double_dense diff --git a/src/sage/matrix/matrix_real_double_dense.pyx b/src/sage/matrix/matrix_real_double_dense.pyx index 10eaeac4e56..a24098bb2f6 100644 --- a/src/sage/matrix/matrix_real_double_dense.pyx +++ b/src/sage/matrix/matrix_real_double_dense.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: optional - numpy """ Dense matrices over the Real Double Field using NumPy diff --git a/src/sage/matrix/matrix_space.py b/src/sage/matrix/matrix_space.py index aa9a6fe6111..377afa9a5ee 100644 --- a/src/sage/matrix/matrix_space.py +++ b/src/sage/matrix/matrix_space.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Matrix Spaces diff --git a/src/sage/matrix/matrix_sparse.pxd b/src/sage/matrix/matrix_sparse.pxd index 7546645a6c9..46b4f668b26 100644 --- a/src/sage/matrix/matrix_sparse.pxd +++ b/src/sage/matrix/matrix_sparse.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from .matrix cimport Matrix cdef class Matrix_sparse(Matrix): diff --git a/src/sage/matrix/matrix_sparse.pyx b/src/sage/matrix/matrix_sparse.pyx index d8b2e65127a..3a1ffd931f1 100644 --- a/src/sage/matrix/matrix_sparse.pyx +++ b/src/sage/matrix/matrix_sparse.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Base class for sparse matrices """ diff --git a/src/sage/matrix/matrix_symbolic_dense.pxd b/src/sage/matrix/matrix_symbolic_dense.pxd index aa85e4c6a21..13d37e45f43 100644 --- a/src/sage/matrix/matrix_symbolic_dense.pxd +++ b/src/sage/matrix/matrix_symbolic_dense.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics from sage.matrix.matrix_generic_dense cimport Matrix_generic_dense diff --git a/src/sage/matrix/matrix_symbolic_dense.pyx b/src/sage/matrix/matrix_symbolic_dense.pyx index 7a0dab316d8..e9c4213273e 100644 --- a/src/sage/matrix/matrix_symbolic_dense.pyx +++ b/src/sage/matrix/matrix_symbolic_dense.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics """ Symbolic dense matrices diff --git a/src/sage/matrix/matrix_symbolic_sparse.pxd b/src/sage/matrix/matrix_symbolic_sparse.pxd index c90e0161119..6837cad281d 100644 --- a/src/sage/matrix/matrix_symbolic_sparse.pxd +++ b/src/sage/matrix/matrix_symbolic_sparse.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics from sage.matrix.matrix_generic_sparse cimport Matrix_generic_sparse diff --git a/src/sage/matrix/matrix_symbolic_sparse.pyx b/src/sage/matrix/matrix_symbolic_sparse.pyx index 680e36c5c6c..66907facf8e 100644 --- a/src/sage/matrix/matrix_symbolic_sparse.pyx +++ b/src/sage/matrix/matrix_symbolic_sparse.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics """ Symbolic sparse matrices diff --git a/src/sage/matrix/matrix_window.pxd b/src/sage/matrix/matrix_window.pxd index 070f1deaf25..e167c351937 100644 --- a/src/sage/matrix/matrix_window.pxd +++ b/src/sage/matrix/matrix_window.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.matrix.matrix cimport Matrix diff --git a/src/sage/matrix/matrix_window.pyx b/src/sage/matrix/matrix_window.pyx index 11a8c0ed1b2..4ece8e027ce 100644 --- a/src/sage/matrix/matrix_window.pyx +++ b/src/sage/matrix/matrix_window.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Matrix windows """ diff --git a/src/sage/matrix/misc.pyx b/src/sage/matrix/misc.pyx index 5ff93f4accb..272a2838e50 100644 --- a/src/sage/matrix/misc.pyx +++ b/src/sage/matrix/misc.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-linbox """ Misc matrix algorithms """ diff --git a/src/sage/matrix/misc_flint.pyx b/src/sage/matrix/misc_flint.pyx index 3e829df4d22..8bd45e68f2d 100644 --- a/src/sage/matrix/misc_flint.pyx +++ b/src/sage/matrix/misc_flint.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint r""" Misc matrix algorithms using FLINT """ diff --git a/src/sage/matrix/misc_mpfr.pyx b/src/sage/matrix/misc_mpfr.pyx index 91613b16492..9e9905c6b47 100644 --- a/src/sage/matrix/misc_mpfr.pyx +++ b/src/sage/matrix/misc_mpfr.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Misc matrix algorithms using MPFR """ diff --git a/src/sage/matrix/operation_table.py b/src/sage/matrix/operation_table.py index 50fe4f257dd..a73d2bf92b8 100644 --- a/src/sage/matrix/operation_table.py +++ b/src/sage/matrix/operation_table.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Operation Tables diff --git a/src/sage/matrix/special.py b/src/sage/matrix/special.py index 0399db53a03..3beab71b0b9 100644 --- a/src/sage/matrix/special.py +++ b/src/sage/matrix/special.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-modules """ Constructors for special matrices diff --git a/src/sage/matrix/strassen.pyx b/src/sage/matrix/strassen.pyx index e568011adb7..4f0d877c2b5 100644 --- a/src/sage/matrix/strassen.pyx +++ b/src/sage/matrix/strassen.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Generic Asymptotically Fast Strassen Algorithms diff --git a/src/sage/matrix/symplectic_basis.py b/src/sage/matrix/symplectic_basis.py index db38f5f3611..ca6581baea3 100644 --- a/src/sage/matrix/symplectic_basis.py +++ b/src/sage/matrix/symplectic_basis.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Calculate symplectic bases for matrices over fields and the integers. diff --git a/src/sage/matrix/template.pxd b/src/sage/matrix/template.pxd index 69123a38f2d..4db874af5d2 100644 --- a/src/sage/matrix/template.pxd +++ b/src/sage/matrix/template.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.matrix.matrix_dense cimport Matrix_dense diff --git a/src/sage/matrix/tests.py b/src/sage/matrix/tests.py index b4747bff5c9..ef893bc931b 100644 --- a/src/sage/matrix/tests.py +++ b/src/sage/matrix/tests.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ TESTS: diff --git a/src/sage/matroids/advanced.py b/src/sage/matroids/advanced.py index d290aca2060..e6221026371 100644 --- a/src/sage/matroids/advanced.py +++ b/src/sage/matroids/advanced.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Advanced matroid functionality. @@ -53,6 +54,7 @@ from .minor_matroid import MinorMatroid from .dual_matroid import DualMatroid from .rank_matroid import RankMatroid +from .circuits_matroid import CircuitsMatroid from .circuit_closures_matroid import CircuitClosuresMatroid from .basis_matroid import BasisMatroid from .flats_matroid import FlatsMatroid diff --git a/src/sage/matroids/all.py b/src/sage/matroids/all.py index e647629c988..8d0105373c0 100644 --- a/src/sage/matroids/all.py +++ b/src/sage/matroids/all.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Matroids """ @@ -10,3 +11,5 @@ # import matroids_catalog as matroids lazy_import('sage.matroids.constructor', 'Matroid') lazy_import('sage.matroids', 'matroids_catalog', 'matroids') +del lazy_import +del install_doc diff --git a/src/sage/matroids/basis_exchange_matroid.pxd b/src/sage/matroids/basis_exchange_matroid.pxd index 97cc4391633..473533eebe8 100644 --- a/src/sage/matroids/basis_exchange_matroid.pxd +++ b/src/sage/matroids/basis_exchange_matroid.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.data_structures.bitset cimport * from sage.data_structures.bitset_base cimport bitset_t, bitset_s diff --git a/src/sage/matroids/basis_exchange_matroid.pyx b/src/sage/matroids/basis_exchange_matroid.pyx index 835092678e2..ed0e8909a8c 100644 --- a/src/sage/matroids/basis_exchange_matroid.pyx +++ b/src/sage/matroids/basis_exchange_matroid.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Basis exchange matroids diff --git a/src/sage/matroids/basis_matroid.pxd b/src/sage/matroids/basis_matroid.pxd index 3782b51c5fa..ecb0baf8ed1 100644 --- a/src/sage/matroids/basis_matroid.pxd +++ b/src/sage/matroids/basis_matroid.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.data_structures.bitset cimport bitset_t from sage.matroids.matroid cimport Matroid from sage.matroids.basis_exchange_matroid cimport BasisExchangeMatroid diff --git a/src/sage/matroids/basis_matroid.pyx b/src/sage/matroids/basis_matroid.pyx index 4c20102a621..d9d08183c3b 100644 --- a/src/sage/matroids/basis_matroid.pyx +++ b/src/sage/matroids/basis_matroid.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Basis matroids @@ -1161,46 +1162,6 @@ cdef class BasisMatroid(BasisExchangeMatroid): else: return rich_to_bool(op, 1) - def __copy__(self): - """ - Create a shallow copy. - - EXAMPLES:: - - sage: from sage.matroids.advanced import * - sage: M = BasisMatroid(matroids.catalog.Vamos()) - sage: N = copy(M) # indirect doctest - sage: M == N - True - """ - N = BasisMatroid(M=self) - N.rename(self.get_custom_name()) - return N - - def __deepcopy__(self, memo=None): - """ - Create a deep copy. - - .. NOTE:: - - Identical to shallow copy for BasisMatroid class. - - EXAMPLES:: - - sage: from sage.matroids.advanced import * - sage: M = BasisMatroid(matroids.catalog.Vamos()) - sage: N = deepcopy(M) # indirect doctest - sage: M == N - True - sage: M.groundset() is N.groundset() - False - """ - if memo is None: - memo = {} - N = BasisMatroid(M=self) - N.rename(self.get_custom_name()) - return N - def __reduce__(self): """ Save the matroid for later reloading. diff --git a/src/sage/matroids/catalog.py b/src/sage/matroids/catalog.py index 55dd69d2ef4..87f2613ab3a 100644 --- a/src/sage/matroids/catalog.py +++ b/src/sage/matroids/catalog.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Individual matroids in the catalog diff --git a/src/sage/matroids/circuit_closures_matroid.pxd b/src/sage/matroids/circuit_closures_matroid.pxd index 7c7b61ec35f..6bbbc072bac 100644 --- a/src/sage/matroids/circuit_closures_matroid.pxd +++ b/src/sage/matroids/circuit_closures_matroid.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.matroids.matroid cimport Matroid diff --git a/src/sage/matroids/circuit_closures_matroid.pyx b/src/sage/matroids/circuit_closures_matroid.pyx index 42293cc2fc3..385d314d8ea 100644 --- a/src/sage/matroids/circuit_closures_matroid.pyx +++ b/src/sage/matroids/circuit_closures_matroid.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Circuit closures matroids @@ -46,15 +47,6 @@ Note that the class does not implement custom minor and dual operations:: AUTHORS: - Rudi Pendavingh, Stefan van Zwam (2013-04-01): initial version - -TESTS:: - - sage: from sage.matroids.advanced import * - sage: M = CircuitClosuresMatroid(matroids.catalog.Fano()) - sage: TestSuite(M).run() - -Methods -======= """ # **************************************************************************** # Copyright (C) 2013 Rudi Pendavingh @@ -131,7 +123,8 @@ cdef class CircuitClosuresMatroid(Matroid): True """ - # NECESSARY + # necessary + def __init__(self, M=None, groundset=None, circuit_closures=None): """ Initialization of the matroid. See class docstring for full @@ -154,6 +147,12 @@ cdef class CircuitClosuresMatroid(Matroid): ....: 4: ['abcdefgh']}) sage: M.equals(matroids.catalog.P8()) True + + TESTS:: + + sage: from sage.matroids.advanced import * + sage: M = CircuitClosuresMatroid(matroids.catalog.Fano()) + sage: TestSuite(M).run() """ if M is not None: self._groundset = M.groundset() @@ -206,7 +205,8 @@ cdef class CircuitClosuresMatroid(Matroid): """ return len(self._max_independent(X)) - # OPTIONAL, OPTIMIZED FOR THIS CLASS + # optional + cpdef full_rank(self): r""" Return the rank of the matroid. @@ -413,7 +413,8 @@ cdef class CircuitClosuresMatroid(Matroid): SN.append(C) return SM._isomorphism(SN) is not None - # REPRESENTATION + # representation + def _repr_(self): """ Return a string representation of the matroid. @@ -430,7 +431,7 @@ cdef class CircuitClosuresMatroid(Matroid): """ return Matroid._repr_(self) + " with circuit-closures\n" + setprint_s(self._circuit_closures) - # COMPARISON + # comparison def __hash__(self): r""" @@ -490,52 +491,7 @@ cdef class CircuitClosuresMatroid(Matroid): return rich_to_bool(op, 1) return richcmp(lt._circuit_closures, rt._circuit_closures, op) - # COPYING, LOADING, SAVING - - def __copy__(self): - """ - Create a shallow copy. - - EXAMPLES:: - - sage: M = matroids.catalog.Vamos() - sage: N = copy(M) # indirect doctest - sage: M == N - True - sage: M.groundset() is N.groundset() - True - """ - N = CircuitClosuresMatroid(groundset=[], circuit_closures={}) - N._groundset = self._groundset - N._circuit_closures = self._circuit_closures - N._matroid_rank = self._matroid_rank - N.rename(self.get_custom_name()) - return N - - def __deepcopy__(self, memo=None): - """ - Create a deep copy. - - .. NOTE:: - - Since matroids are immutable, a shallow copy normally suffices. - - EXAMPLES:: - - sage: M = matroids.catalog.Vamos() - sage: N = deepcopy(M) # indirect doctest - sage: M == N - True - sage: M.groundset() is N.groundset() - False - """ - if memo is None: - memo = {} - from copy import deepcopy - # Since matroids are immutable, N cannot reference itself in correct code, so no need to worry about the recursion. - N = CircuitClosuresMatroid(groundset=deepcopy(self._groundset, memo), circuit_closures=deepcopy(self._circuit_closures, memo)) - N.rename(deepcopy(self.get_custom_name(), memo)) - return N + # copying, loading, saving def __reduce__(self): """ diff --git a/src/sage/matroids/circuits_matroid.pyx b/src/sage/matroids/circuits_matroid.pyx index 6c09c2dc07d..be38519b677 100644 --- a/src/sage/matroids/circuits_matroid.pyx +++ b/src/sage/matroids/circuits_matroid.pyx @@ -337,55 +337,6 @@ cdef class CircuitsMatroid(Matroid): # copying, loading, saving - def __copy__(self): - """ - Create a shallow copy. - - EXAMPLES:: - - sage: from sage.matroids.circuits_matroid import CircuitsMatroid - sage: M = CircuitsMatroid(matroids.catalog.Vamos()) - sage: N = copy(M) # indirect doctest - sage: M == N - True - sage: M.groundset() is N.groundset() - True - """ - N = CircuitsMatroid(groundset=[], circuits=[]) - N._groundset = self._groundset - N._C = self._C - N._k_C = self._k_C - N._nsc_defined = self._nsc_defined - N._matroid_rank = self._matroid_rank - N.rename(self.get_custom_name()) - return N - - def __deepcopy__(self, memo=None): - """ - Create a deep copy. - - .. NOTE:: - - Since matroids are immutable, a shallow copy normally suffices. - - EXAMPLES:: - - sage: from sage.matroids.circuits_matroid import CircuitsMatroid - sage: M = CircuitsMatroid(matroids.catalog.Vamos()) - sage: N = deepcopy(M) # indirect doctest - sage: M == N - True - sage: M.groundset() is N.groundset() - False - """ - if memo is None: - memo = {} - from copy import deepcopy - # Since matroids are immutable, N cannot reference itself in correct code, so no need to worry about the recursion. - N = CircuitsMatroid(groundset=deepcopy(self._groundset, memo), circuits=deepcopy(frozenset(self._C), memo)) - N.rename(deepcopy(self.get_custom_name(), memo)) - return N - def __reduce__(self): """ Save the matroid for later reloading. diff --git a/src/sage/matroids/constructor.py b/src/sage/matroids/constructor.py index cecfead568a..ac9f489aade 100644 --- a/src/sage/matroids/constructor.py +++ b/src/sage/matroids/constructor.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Matroid construction diff --git a/src/sage/matroids/database_matroids.py b/src/sage/matroids/database_matroids.py index 0017ce0627e..40ce2519b86 100644 --- a/src/sage/matroids/database_matroids.py +++ b/src/sage/matroids/database_matroids.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Database of matroids diff --git a/src/sage/matroids/dual_matroid.py b/src/sage/matroids/dual_matroid.py index f3cabe0dc42..3c0a824a943 100644 --- a/src/sage/matroids/dual_matroid.py +++ b/src/sage/matroids/dual_matroid.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Dual matroids @@ -386,7 +387,8 @@ def dual(self): """ return self._matroid - # REPRESENTATION + # representation + def _repr_(self): """ Return a string representation of the matroid. @@ -404,7 +406,7 @@ def _repr_(self): """ return "Dual of '" + repr(self._matroid) + "'" - # COMPARISON + # comparison def __hash__(self): r""" @@ -494,46 +496,7 @@ def __ne__(self, other): """ return not self == other - # COPYING, LOADING, SAVING - - def __copy__(self): - """ - Create a shallow copy. - - EXAMPLES:: - - sage: M = matroids.catalog.Vamos() - sage: N = copy(M) # indirect doctest - sage: M == N - True - sage: M.groundset() is N.groundset() - True - """ - N = DualMatroid(self._matroid) - N.rename(self.get_custom_name()) - return N - - def __deepcopy__(self, memo={}): - """ - Create a deep copy. - - .. NOTE:: - - Since matroids are immutable, a shallow copy normally suffices. - - EXAMPLES:: - - sage: M = matroids.catalog.Vamos().dual() - sage: N = deepcopy(M) # indirect doctest - sage: M == N - True - sage: M.groundset() is N.groundset() - False - """ - from copy import deepcopy - N = DualMatroid(deepcopy(self._matroid, memo)) - N.rename(deepcopy(self.get_custom_name(), memo)) - return N + # copying, loading, saving def __reduce__(self): """ diff --git a/src/sage/matroids/extension.pxd b/src/sage/matroids/extension.pxd index b48a9a7e02d..ad7e5899733 100644 --- a/src/sage/matroids/extension.pxd +++ b/src/sage/matroids/extension.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.data_structures.bitset cimport bitset_t from sage.matroids.basis_matroid cimport BasisMatroid diff --git a/src/sage/matroids/extension.pyx b/src/sage/matroids/extension.pyx index d73b4581674..5d1b166a138 100644 --- a/src/sage/matroids/extension.pyx +++ b/src/sage/matroids/extension.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Iterators for linear subclasses diff --git a/src/sage/matroids/graphic_matroid.py b/src/sage/matroids/graphic_matroid.py index 57bbae15f22..6aedb5e3702 100644 --- a/src/sage/matroids/graphic_matroid.py +++ b/src/sage/matroids/graphic_matroid.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: optional - sage.graphs r""" Graphic Matroids @@ -450,46 +451,6 @@ def __ne__(self, other): # Copying, loading, saving: - def __copy__(self): - """ - Create a shallow copy. - - Creating a ``GraphicMatroid`` instance will build a new graph, so - the copies have no attributes in common. - - EXAMPLES:: - - sage: M = Matroid(graphs.PappusGraph()) - sage: N = copy(M) - sage: M == N - True - sage: M._G is N._G - False - """ - N = GraphicMatroid(self._G) - N.rename(self.get_custom_name()) - return N - - def __deepcopy__(self, memo={}): - """ - Create a deep copy. - - .. NOTE:: - - Since matroids are immutable, a shallow copy normally suffices. - - EXAMPLES:: - - sage: M = Matroid(graphs.PetersenGraph()) - sage: N = deepcopy(M) - sage: N == M - True - """ - # The only real difference between this and __copy__() is the memo - N = GraphicMatroid(deepcopy(self._G, memo)) - N.rename(deepcopy(self.get_custom_name(), memo)) - return N - def __reduce__(self): """ Save the matroid for later reloading. diff --git a/src/sage/matroids/lean_matrix.pxd b/src/sage/matroids/lean_matrix.pxd index 3091af107d0..26647ba3025 100644 --- a/src/sage/matroids/lean_matrix.pxd +++ b/src/sage/matroids/lean_matrix.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.data_structures.bitset cimport bitset_t from sage.libs.gmp.types cimport mpq_t diff --git a/src/sage/matroids/lean_matrix.pyx b/src/sage/matroids/lean_matrix.pyx index 34c498b016a..5a4e6bea6e5 100644 --- a/src/sage/matroids/lean_matrix.pyx +++ b/src/sage/matroids/lean_matrix.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: optional - sage.rings.finite_rings """ Lean matrices @@ -476,32 +477,6 @@ cdef class LeanMatrix: # Copying, loading, saving: - def __copy__(self): - """ - Return a copy of ``self``. - - EXAMPLES:: - - sage: from sage.matroids.lean_matrix import * - sage: A = GenericMatrix(2, 5, Matrix(GF(5), [[1, 0, 1, 1, 1], [0, 1, 1, 2, 3]])) - sage: A == copy(A) # indirect doctest - True - """ - return self.copy() - - def __deepcopy__(self, memo=None): - """ - Return a deep copy of ``self``. - - EXAMPLES:: - - sage: from sage.matroids.lean_matrix import * - sage: A = GenericMatrix(2, 5, Matrix(GF(5), [[1, 0, 1, 1, 1], [0, 1, 1, 2, 3]])) - sage: A == deepcopy(A) # indirect doctest - True - """ - return self.copy() - def __reduce__(self): """ Save the object. diff --git a/src/sage/matroids/linear_matroid.pxd b/src/sage/matroids/linear_matroid.pxd index 4902ccef6ef..bc496cb72d7 100644 --- a/src/sage/matroids/linear_matroid.pxd +++ b/src/sage/matroids/linear_matroid.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.data_structures.bitset cimport bitset_t from sage.matroids.matroid cimport Matroid diff --git a/src/sage/matroids/linear_matroid.pyx b/src/sage/matroids/linear_matroid.pyx index 7b6eb9bb711..33e78d7a586 100644 --- a/src/sage/matroids/linear_matroid.pyx +++ b/src/sage/matroids/linear_matroid.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Linear matroids @@ -2882,48 +2883,6 @@ cdef class LinearMatroid(BasisExchangeMatroid): # Copying, loading, saving - def __copy__(self): - """ - Create a shallow copy. - - EXAMPLES:: - - sage: M = Matroid(Matrix(GF(7), [[1, 0, 0, 1, 1], [0, 1, 0, 1, 2], - ....: [0, 0, 1, 1, 3]])) - sage: N = copy(M) # indirect doctest - sage: M == N - True - """ - cdef LinearMatroid N - if self._representation is not None: - N = LinearMatroid(groundset=self._E, matrix=self._representation, keep_initial_representation=True) - else: - rows, cols = self._current_rows_cols() - N = LinearMatroid(groundset=rows + cols, reduced_matrix=self._A) - N.rename(self.get_custom_name()) - return N - - def __deepcopy__(self, memo): - """ - Create a deep copy. - - EXAMPLES:: - - sage: M = Matroid(Matrix(GF(7), [[1, 0, 0, 1, 1], [0, 1, 0, 1, 2], - ....: [0, 0, 1, 1, 3]])) - sage: N = deepcopy(M) # indirect doctest - sage: M == N - True - """ - cdef LinearMatroid N - if self._representation is not None: - N = LinearMatroid(groundset=deepcopy(self._E, memo), matrix=deepcopy(self._representation, memo), keep_initial_representation=True) - else: - rows, cols = self._current_rows_cols() - N = LinearMatroid(groundset=deepcopy(rows + cols, memo), reduced_matrix=deepcopy(self._A, memo)) - N.rename(deepcopy(self.get_custom_name(), memo)) - return N - def __reduce__(self): """ Save the matroid for later reloading. @@ -3931,55 +3890,6 @@ cdef class BinaryMatroid(LinearMatroid): """ return True - def __copy__(self): - """ - Create a shallow copy. - - EXAMPLES:: - - sage: M = Matroid(Matrix(GF(2), [[1, 0, 0, 1, 1], [0, 1, 0, 1, 2], - ....: [0, 0, 1, 1, 3]])) - sage: N = copy(M) # indirect doctest - sage: M == N - True - """ - cdef BinaryMatroid N - cdef list basis - if self._representation is not None: - N = BinaryMatroid(groundset=self._E, matrix=self._representation, keep_initial_representation=True) - else: - basis = [0] * self.full_rank() - for e in self.basis(): - basis[self._prow[self._idx[e]]] = e - N = BinaryMatroid(groundset=self._E, matrix=self._A, basis=basis) - N.rename(self.get_custom_name()) - return N - - def __deepcopy__(self, memo): - """ - Create a deep copy. - - EXAMPLES:: - - sage: M = Matroid(Matrix(GF(2), [[1, 0, 0, 1, 1], [0, 1, 0, 1, 2], - ....: [0, 0, 1, 1, 3]])) - sage: N = deepcopy(M) # indirect doctest - sage: M == N - True - """ - from copy import deepcopy - cdef BinaryMatroid N - cdef list basis - if self._representation is not None: - N = BinaryMatroid(groundset=deepcopy(self._E, memo), matrix=deepcopy(self._representation, memo), keep_initial_representation=True) - else: - basis = [0] * self.full_rank() - for e in self.basis(): - basis[self._prow[self._idx[e]]] = e - N = BinaryMatroid(groundset=deepcopy(self._E, memo), matrix=deepcopy(self._A, memo), basis=deepcopy(basis, memo)) - N.rename(deepcopy(self.get_custom_name(), memo)) - return N - def __reduce__(self): """ Save the matroid for later reloading. @@ -4821,55 +4731,6 @@ cdef class TernaryMatroid(LinearMatroid): """ return True - def __copy__(self): - """ - Create a shallow copy. - - EXAMPLES:: - - sage: M = Matroid(Matrix(GF(3), [[1, 0, 0, 1, 1], [0, 1, 0, 1, 2], - ....: [0, 0, 1, 1, 3]])) - sage: N = copy(M) # indirect doctest - sage: M == N - True - """ - cdef TernaryMatroid N - cdef list basis - if self._representation is not None: - N = TernaryMatroid(groundset=self._E, matrix=self._representation, keep_initial_representation=True) - else: - basis = [0] * self.full_rank() - for e in self.basis(): - basis[self._prow[self._idx[e]]] = e - N = TernaryMatroid(groundset=self._E, matrix=self._A, basis=basis) - N.rename(self.get_custom_name()) - return N - - def __deepcopy__(self, memo): - """ - Create a deep copy. - - EXAMPLES:: - - sage: M = Matroid(Matrix(GF(3), [[1, 0, 0, 1, 1], [0, 1, 0, 1, 2], - ....: [0, 0, 1, 1, -1]])) - sage: N = deepcopy(M) # indirect doctest - sage: M == N - True - """ - from copy import deepcopy - cdef TernaryMatroid N - cdef list basis - if self._representation is not None: - N = TernaryMatroid(groundset=deepcopy(self._E, memo), matrix=deepcopy(self._representation, memo), keep_initial_representation=True) - else: - basis = [0] * self.full_rank() - for e in self.basis(): - basis[self._prow[self._idx[e]]] = e - N = TernaryMatroid(groundset=deepcopy(self._E, memo), matrix=deepcopy(self._A, memo), basis=deepcopy(basis, memo)) - N.rename(deepcopy(self.get_custom_name(), memo)) - return N - def __reduce__(self): """ Save the matroid for later reloading. @@ -5550,55 +5411,6 @@ cdef class QuaternaryMatroid(LinearMatroid): """ return True - def __copy__(self): - """ - Create a shallow copy. - - EXAMPLES:: - - sage: M = Matroid(Matrix(GF(4, 'x'), [[1, 0, 0, 1, 1], # needs sage.rings.finite_rings - ....: [0, 1, 0, 1, 2], [0, 0, 1, 1, 3]])) - sage: N = copy(M) # indirect doctest # needs sage.rings.finite_rings - sage: M == N # needs sage.rings.finite_rings - True - """ - cdef QuaternaryMatroid N - cdef list basis - if self._representation is not None: - N = QuaternaryMatroid(groundset=self._E, matrix=self._representation, keep_initial_representation=True) - else: - basis = [0] * self.full_rank() - for e in self.basis(): - basis[self._prow[self._idx[e]]] = e - N = QuaternaryMatroid(groundset=self._E, matrix=self._A, basis=basis) - N.rename(self.get_custom_name()) - return N - - def __deepcopy__(self, memo): - """ - Create a deep copy. - - EXAMPLES:: - - sage: M = Matroid(Matrix(GF(4, 'x'), [[1, 0, 0, 1, 1], # needs sage.rings.finite_rings - ....: [0, 1, 0, 1, 2], [0, 0, 1, 1, -1]])) - sage: N = deepcopy(M) # indirect doctest # needs sage.rings.finite_rings - sage: M == N # needs sage.rings.finite_rings - True - """ - from copy import deepcopy - cdef QuaternaryMatroid N - cdef list basis - if self._representation is not None: - N = QuaternaryMatroid(groundset=deepcopy(self._E, memo), matrix=deepcopy(self._representation, memo), keep_initial_representation=True) - else: - basis = [0] * self.full_rank() - for e in self.basis(): - basis[self._prow[self._idx[e]]] = e - N = QuaternaryMatroid(groundset=deepcopy(self._E, memo), matrix=deepcopy(self._A, memo), basis=deepcopy(basis, memo)) - N.rename(deepcopy(self.get_custom_name(), memo)) - return N - def __reduce__(self): """ Save the matroid for later reloading. @@ -6487,46 +6299,6 @@ cdef class RegularMatroid(LinearMatroid): # Copying, loading, saving - def __copy__(self): - """ - Create a shallow copy. - - EXAMPLES:: - - sage: M = matroids.catalog.R10() - sage: N = copy(M) # indirect doctest - sage: M == N - True - """ - cdef RegularMatroid N - if self._representation is not None: - N = RegularMatroid(groundset=self._E, matrix=self._representation, keep_initial_representation=True) - else: - rows, cols = self._current_rows_cols() - N = RegularMatroid(groundset=rows + cols, reduced_matrix=self._A) - N.rename(self.get_custom_name()) - return N - - def __deepcopy__(self, memo): - """ - Create a deep copy. - - EXAMPLES:: - - sage: M = matroids.catalog.R10() - sage: N = deepcopy(M) # indirect doctest - sage: M == N - True - """ - cdef RegularMatroid N - if self._representation is not None: - N = RegularMatroid(groundset=deepcopy(self._E, memo), matrix=deepcopy(self._representation, memo), keep_initial_representation=True) - else: - rows, cols = self._current_rows_cols() - N = RegularMatroid(groundset=deepcopy(rows + cols, memo), reduced_matrix=deepcopy(self._A, memo)) - N.rename(deepcopy(self.get_custom_name(), memo)) - return N - def __reduce__(self): """ Save the matroid for later reloading. diff --git a/src/sage/matroids/matroid.pxd b/src/sage/matroids/matroid.pxd index 5103bcf2a4b..f60cfdca452 100644 --- a/src/sage/matroids/matroid.pxd +++ b/src/sage/matroids/matroid.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.structure.sage_object cimport SageObject cdef class Matroid(SageObject): diff --git a/src/sage/matroids/matroid.pyx b/src/sage/matroids/matroid.pyx index 781f72592ac..2ba5d962067 100644 --- a/src/sage/matroids/matroid.pyx +++ b/src/sage/matroids/matroid.pyx @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-modules r""" The abstract Matroid class @@ -517,6 +517,98 @@ cdef class Matroid(SageObject): """ raise NotImplementedError("subclasses need to implement this.") + # copying + + def __copy__(self): + """ + Create a shallow copy. + + EXAMPLES:: + + sage: from sage.matroids.advanced import * + sage: matroids_lst = [ + ....: BasisMatroid(matroids.catalog.Vamos()), + ....: CircuitsMatroid(matroids.catalog.Vamos()), + ....: CircuitClosuresMatroid(matroids.catalog.Vamos()), + ....: Matroid(groundset=range(10), rank_function=lambda X: min(len(X), 4)), + ....: Matroid(Matrix(GF(7), [[1,0,0,1,1],[0,1,0,1,2],[0,0,1,1,3]])), + ....: Matroid(Matrix(GF(2), [[1,0,0,1,1],[0,1,0,1,2],[0,0,1,1,3]])), + ....: Matroid(Matrix(GF(3), [[1,0,0,1,1],[0,1,0,1,2],[0,0,1,1,3]])), + ....: Matroid(Matrix(GF(4, 'x'), [[1,0,0,1,1],[0,1,0,1,2],[0,0,1,1,3]])), + ....: matroids.catalog.R10() + ....: ] + sage: for M in matroids_lst: # indirect doctest + ....: N = copy(M) + ....: assert M == N + ....: assert M.groundset() is N.groundset() + + sage: M = Matroid(graphs.PappusGraph()) + sage: N = copy(M) + sage: M == N + True + sage: M._G is N._G + True + + sage: M = MinorMatroid(matroid=matroids.catalog.Vamos(), + ....: contractions={'a', 'b'}, deletions={'f'}) + sage: N = copy(M) # indirect doctest + sage: M == N + True + sage: M._matroid is N._matroid + True + + sage: from sage.matroids.lean_matrix import * + sage: A = GenericMatrix(2, 5, Matrix(GF(5), [[1, 0, 1, 1, 1], [0, 1, 1, 2, 3]])) + sage: A == copy(A) # indirect doctest + True + """ + return self + + def __deepcopy__(self, memo=None): + """ + Create a deep copy. + + EXAMPLES:: + + sage: from sage.matroids.advanced import * + sage: matroids_lst = [ + ....: BasisMatroid(matroids.catalog.Vamos()), + ....: CircuitsMatroid(matroids.catalog.Vamos()), + ....: CircuitClosuresMatroid(matroids.catalog.Vamos()), + ....: Matroid(groundset=range(10), rank_function=lambda X: min(len(X), 4)), + ....: Matroid(Matrix(GF(7), [[1,0,0,1,1],[0,1,0,1,2],[0,0,1,1,3]])), + ....: Matroid(Matrix(GF(2), [[1,0,0,1,1],[0,1,0,1,2],[0,0,1,1,3]])), + ....: Matroid(Matrix(GF(3), [[1,0,0,1,1],[0,1,0,1,2],[0,0,1,1,3]])), + ....: Matroid(Matrix(GF(4, 'x'), [[1,0,0,1,1],[0,1,0,1,2],[0,0,1,1,3]])), + ....: matroids.catalog.R10() + ....: ] + sage: for M in matroids_lst: # indirect doctest + ....: N = deepcopy(M) + ....: assert M == N + ....: assert M.groundset() is N.groundset() + + sage: M = Matroid(graphs.PappusGraph()) + sage: N = deepcopy(M) + sage: M == N + True + sage: M._G is N._G + True + + sage: M = MinorMatroid(matroid=matroids.catalog.Vamos(), + ....: contractions={'a', 'b'}, deletions={'f'}) + sage: N = deepcopy(M) # indirect doctest + sage: M == N + True + sage: M._matroid is N._matroid + True + + sage: from sage.matroids.lean_matrix import * + sage: A = GenericMatrix(2, 5, Matrix(GF(5), [[1, 0, 1, 1, 1], [0, 1, 1, 2, 3]])) + sage: A == deepcopy(A) # indirect doctest + True + """ + return self + # internal methods, assuming verified input # for better efficiency, its best to override the following methods in diff --git a/src/sage/matroids/matroids_catalog.py b/src/sage/matroids/matroids_catalog.py index 4fbeddac9e8..ef7401119fb 100644 --- a/src/sage/matroids/matroids_catalog.py +++ b/src/sage/matroids/matroids_catalog.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Catalog of matroids diff --git a/src/sage/matroids/matroids_plot_helpers.py b/src/sage/matroids/matroids_plot_helpers.py index b7a3d7d6d03..1d6d28cc040 100644 --- a/src/sage/matroids/matroids_plot_helpers.py +++ b/src/sage/matroids/matroids_plot_helpers.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: optional - scipy r""" Helper functions for plotting the geometric representation of matroids diff --git a/src/sage/matroids/minor_matroid.py b/src/sage/matroids/minor_matroid.py index 6c7fbeb8ef9..79b15ac4d29 100644 --- a/src/sage/matroids/minor_matroid.py +++ b/src/sage/matroids/minor_matroid.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Minors of matroids @@ -470,50 +471,6 @@ def __ne__(self, other): # Copying, loading, saving: - def __copy__(self): - """ - Create a shallow copy. - - EXAMPLES:: - - sage: from sage.matroids.advanced import * - sage: M = MinorMatroid(matroid=matroids.catalog.Vamos(), - ....: contractions={'a', 'b'}, deletions={'f'}) - sage: N = copy(M) # indirect doctest - sage: M == N - True - sage: M._matroid is N._matroid - True - """ - N = MinorMatroid(self._matroid, self._contractions, self._deletions) - N.rename(self.get_custom_name()) - return N - - def __deepcopy__(self, memo={}): - """ - Create a deep copy. - - .. NOTE:: - - Since matroids are immutable, a shallow copy normally suffices. - - EXAMPLES:: - - sage: from sage.matroids.advanced import * - sage: M = MinorMatroid(matroid=matroids.catalog.Vamos(), - ....: contractions={'a', 'b'}, deletions={'f'}) - sage: N = deepcopy(M) # indirect doctest - sage: M == N - True - sage: M._matroid is N._matroid - False - """ - from copy import deepcopy - # Since matroids are immutable, N cannot reference itself in correct code, so no need to worry about the recursion. - N = MinorMatroid(deepcopy(self._matroid, memo), deepcopy(self._contractions, memo), deepcopy(self._deletions, memo)) - N.rename(deepcopy(self.get_custom_name(), memo)) - return N - def __reduce__(self): r""" Save the matroid for later reloading. diff --git a/src/sage/matroids/named_matroids.py b/src/sage/matroids/named_matroids.py index 7fcd63b92c9..708d3ad2680 100644 --- a/src/sage/matroids/named_matroids.py +++ b/src/sage/matroids/named_matroids.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.misc.superseded import deprecation from sage.matroids.database_matroids import * deprecation(36842, "named_matroids is deprecated, use catalog instead") diff --git a/src/sage/matroids/rank_matroid.py b/src/sage/matroids/rank_matroid.py index 9dd359c14a9..9f1251512d6 100644 --- a/src/sage/matroids/rank_matroid.py +++ b/src/sage/matroids/rank_matroid.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Rank function matroids @@ -247,51 +248,6 @@ def __ne__(self, other): # Copying, loading, saving: - def __copy__(self): - """ - Create a shallow copy. - - EXAMPLES:: - - sage: from sage.matroids.advanced import * - sage: M = Matroid(groundset=range(10), - ....: rank_function=lambda X: min(len(X), 4)) - sage: N = copy(M) # indirect doctest - sage: M == N - True - sage: M.groundset() is N.groundset() - True - """ - N = RankMatroid(groundset=[], rank_function=None) - N._groundset = self._groundset - N._rank_function = self._rank_function - N.rename(self.get_custom_name()) - return N - - def __deepcopy__(self, memo={}): - """ - Create a deep copy. - - .. NOTE:: - - Since matroids are immutable, a shallow copy normally suffices. - - EXAMPLES:: - - sage: M = Matroid(groundset=range(10), - ....: rank_function=lambda X: min(len(X), 4)) - sage: N = deepcopy(M) # indirect doctest - sage: M == N - True - sage: M.groundset() is N.groundset() - False - """ - from copy import deepcopy - # Since matroids are immutable, N cannot reference itself in correct code, so no need to worry about the recursion. - N = RankMatroid(groundset=deepcopy(self._groundset), rank_function=deepcopy(self._rank_function)) - N.rename(deepcopy(self.get_custom_name(), memo)) - return N - def __reduce__(self): """ Save the matroid for later reloading. diff --git a/src/sage/matroids/set_system.pxd b/src/sage/matroids/set_system.pxd index a283244b53b..c80cec843e0 100644 --- a/src/sage/matroids/set_system.pxd +++ b/src/sage/matroids/set_system.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.data_structures.bitset cimport bitset_t cdef class SetSystem: diff --git a/src/sage/matroids/set_system.pyx b/src/sage/matroids/set_system.pyx index 606231a1734..dfe0fa175d2 100644 --- a/src/sage/matroids/set_system.pyx +++ b/src/sage/matroids/set_system.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Set systems diff --git a/src/sage/matroids/union_matroid.pxd b/src/sage/matroids/union_matroid.pxd index d03ae476bda..f286413eaee 100644 --- a/src/sage/matroids/union_matroid.pxd +++ b/src/sage/matroids/union_matroid.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.matroids.matroid cimport Matroid diff --git a/src/sage/matroids/union_matroid.pyx b/src/sage/matroids/union_matroid.pyx index 817f9c4a222..19b3b45d143 100644 --- a/src/sage/matroids/union_matroid.pyx +++ b/src/sage/matroids/union_matroid.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.matroids.matroid cimport Matroid diff --git a/src/sage/matroids/unpickling.pyx b/src/sage/matroids/unpickling.pyx index 9e41c28a477..2785326c11a 100644 --- a/src/sage/matroids/unpickling.pyx +++ b/src/sage/matroids/unpickling.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Unpickling methods diff --git a/src/sage/matroids/utilities.py b/src/sage/matroids/utilities.py index a0cf14f5276..d5561bb4067 100644 --- a/src/sage/matroids/utilities.py +++ b/src/sage/matroids/utilities.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Some useful functions for the matroid class. diff --git a/src/sage/misc/abstract_method.py b/src/sage/misc/abstract_method.py index 6179c5a2b8f..3160c89344b 100644 --- a/src/sage/misc/abstract_method.py +++ b/src/sage/misc/abstract_method.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects """ Abstract methods """ @@ -193,7 +194,7 @@ def _sage_src_lines_(self): sage: src[0] 'def version():\n' sage: lines - 18 + 19 """ from sage.misc.sageinspect import sage_getsourcelines return sage_getsourcelines(self._f) diff --git a/src/sage/misc/all.py b/src/sage/misc/all.py index 8aee092368c..dfa47c89ca6 100644 --- a/src/sage/misc/all.py +++ b/src/sage/misc/all.py @@ -1,129 +1,35 @@ -from sage.misc.lazy_attribute import lazy_attribute, lazy_class_attribute -from sage.misc.lazy_import import lazy_import - -from sage.misc.all__sagemath_objects import * +# from sage.misc.all__sagemath_objects import * from sage.misc.all__sagemath_environment import * +from sage.misc.all__sagemath_modules import * from sage.misc.all__sagemath_repl import * from sage.misc.misc import (BackslashOperator, - exists, forall, is_iterator, - random_sublist, - pad_zeros, - SAGE_DB, - newton_method_sizes, compose, - nest) + exists, forall, is_iterator, + random_sublist, + pad_zeros, + SAGE_DB, + newton_method_sizes, compose, + nest) lazy_import('sage.misc.misc', 'union', deprecation=32096) -from sage.misc.banner import version - from sage.misc.dev_tools import import_statements -from sage.misc.html import html, pretty_print_default - -from sage.misc.table import table - -from sage.misc.sage_timeit_class import timeit - from sage.misc.edit_module import edit -from sage.misc.map_threaded import map_threaded - -from sage.misc.session import load_session, save_session, show_identifiers - from sage.misc.remote_file import get_remote_file -from sage.misc.mrange import xmrange, mrange, xmrange_iter, mrange_iter, cartesian_product_iterator - -from sage.misc.fpickle import pickle_function, unpickle_function - lazy_import('sage.misc.pager', 'pager') -lazy_import('sage.misc.sagedoc', ['browse_sage_doc', - 'search_src', 'search_def', 'search_doc', - 'tutorial', 'reference', 'manual', 'developer', - 'constructions', 'help']) -lazy_import('pydoc', 'help', 'python_help') - from sage.misc.classgraph import class_graph -from sage.misc.reset import reset, restore - -from sage.misc.mathml import mathml - -from sage.misc.defaults import (set_default_variable_name, - series_precision, set_series_precision) - lazy_import("sage.misc.cython", "cython_lambda") lazy_import("sage.misc.cython", "cython_compile", "cython") -from sage.misc.func_persist import func_persist - -from sage.misc.functional import (additive_order, - base_ring, - base_field, - basis, - category, - charpoly, - characteristic_polynomial, - coerce, - cyclotomic_polynomial, - decomposition, - denominator, - det, - dimension, - dim, - discriminant, - disc, - eta, - fcp, - gen, - gens, - hecke_operator, - image, - integral, integrate, - integral_closure, - interval, - xinterval, - is_even, - is_odd, - kernel, - krull_dimension, - lift, - log as log_b, - minimal_polynomial, - minpoly, - multiplicative_order, - ngens, - norm, - numerator, - numerical_approx, - n, N, - objgens, - objgen, - order, - rank, - regulator, - round, - quotient, - quo, - isqrt, - squarefree_part, - sqrt, - symbolic_sum as sum, - symbolic_prod as product, - transpose) - - -from sage.misc.latex import LatexExpr, latex, view - -from sage.misc.randstate import seed, set_random_seed, initial_seed, current_randstate - -from sage.misc.prandom import * - -from sage.misc.timing import walltime, cputime - -from sage.misc.explain_pickle import explain_pickle, unpickle_newobj, unpickle_global, unpickle_build, unpickle_instantiate, unpickle_persistent, unpickle_extension, unpickle_appends +# Following will go to all__sagemath_repl.py in #36566 +from sage.misc.explain_pickle import (explain_pickle, unpickle_newobj, unpickle_build, + unpickle_instantiate, unpickle_persistent, + unpickle_extension, unpickle_appends) lazy_import('sage.misc.inline_fortran', 'fortran') @@ -139,3 +45,10 @@ deprecation=34259) lazy_import('sage.misc.benchmark', 'benchmark', deprecation=34259) lazy_import('sage.repl.interpreter', 'logstr', deprecation=34259) + +# Following will go to all__sagemath_objects.py in #36566 +from sage.misc.randstate import seed, set_random_seed, initial_seed, current_randstate +from sage.misc.prandom import * +from sage.misc.sage_timeit_class import timeit +from sage.misc.session import load_session, save_session, show_identifiers +from sage.misc.reset import reset, restore diff --git a/src/sage/misc/all__sagemath_categories.py b/src/sage/misc/all__sagemath_categories.py new file mode 100644 index 00000000000..0806bdf7aec --- /dev/null +++ b/src/sage/misc/all__sagemath_categories.py @@ -0,0 +1,77 @@ + +from sage.misc.all__sagemath_objects import * + +from sage.misc.html import html, pretty_print_default + +from sage.misc.mathml import mathml + +from sage.misc.table import table + +from sage.misc.map_threaded import map_threaded + +from sage.misc.mrange import xmrange, mrange, xmrange_iter, mrange_iter, cartesian_product_iterator + +from sage.misc.defaults import (set_default_variable_name, + series_precision, set_series_precision) + + +from sage.misc.functional import (additive_order, + base_ring, + base_field, + basis, + category, + charpoly, + characteristic_polynomial, + coerce, + cyclotomic_polynomial, + decomposition, + denominator, + det, + dimension, + dim, + discriminant, + disc, + eta, + fcp, + gen, + gens, + hecke_operator, + image, + integral, integrate, + integral_closure, + interval, + xinterval, + is_even, + is_odd, + kernel, + krull_dimension, + lift, + log as log_b, + minimal_polynomial, + minpoly, + multiplicative_order, + ngens, + norm, + numerator, + numerical_approx, + n, N, + objgens, + objgen, + order, + rank, + regulator, + round, + quotient, + quo, + isqrt, + squarefree_part, + sqrt, + symbolic_sum as sum, + symbolic_prod as product, + transpose) + +from sage.misc.latex import LatexExpr, latex, view + +from sage.misc.fpickle import pickle_function, unpickle_function + +from sage.misc.persist import unpickle_global diff --git a/src/sage/misc/all__sagemath_environment.py b/src/sage/misc/all__sagemath_environment.py index 9ebcc85870b..2f09e9c4d56 100644 --- a/src/sage/misc/all__sagemath_environment.py +++ b/src/sage/misc/all__sagemath_environment.py @@ -1 +1,2 @@ +# sage_setup: distribution = sagemath-environment from sage.misc.temporary_file import tmp_dir, tmp_filename diff --git a/src/sage/misc/all__sagemath_modules.py b/src/sage/misc/all__sagemath_modules.py new file mode 100644 index 00000000000..8111aee2a29 --- /dev/null +++ b/src/sage/misc/all__sagemath_modules.py @@ -0,0 +1,20 @@ +# All of sage.misc.all except for development tools, session management, +# and deprecated functionality + +from sage.misc.lazy_attribute import lazy_attribute, lazy_class_attribute + +from sage.misc.all__sagemath_categories import * + +from sage.misc.misc import (BackslashOperator, # Depends on sage.env -- can lower to sagemath-objects after splitting this module + exists, forall, is_iterator, + random_sublist, + pad_zeros, + SAGE_DB, + newton_method_sizes, compose, + nest) + +from sage.misc.temporary_file import tmp_dir, tmp_filename # Depends on sage.env + +from sage.misc.mathml import mathml + +from sage.misc.func_persist import func_persist diff --git a/src/sage/misc/all__sagemath_ntl.py b/src/sage/misc/all__sagemath_ntl.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/misc/all__sagemath_objects.py b/src/sage/misc/all__sagemath_objects.py index 30a76f38fab..634584c5567 100644 --- a/src/sage/misc/all__sagemath_objects.py +++ b/src/sage/misc/all__sagemath_objects.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects # Subset of sage.misc.all that is made available by the sage-objects distribution import sage.structure.all # to break a cyclic import @@ -6,7 +7,7 @@ from sage.misc.lazy_import import lazy_import from sage.misc.verbose import (set_verbose, set_verbose_files, - get_verbose_files, unset_verbose_files, get_verbose) + get_verbose_files, unset_verbose_files, get_verbose) lazy_import('sage.misc.verbose', 'verbose', deprecation=17815) from sage.misc.call import attrcall diff --git a/src/sage/misc/all__sagemath_repl.py b/src/sage/misc/all__sagemath_repl.py index c7acba4ab07..9c29d75ac03 100644 --- a/src/sage/misc/all__sagemath_repl.py +++ b/src/sage/misc/all__sagemath_repl.py @@ -1,3 +1,16 @@ +# sage_setup: distribution = sagemath-repl + +from sage.misc.all__sagemath_objects import * + from sage.misc.sage_eval import sage_eval, sageobj from sage.misc.sage_input import sage_input + +from sage.misc.banner import version + +lazy_import('sage.misc.sagedoc', ['browse_sage_doc', + 'search_src', 'search_def', 'search_doc', + 'tutorial', 'reference', 'manual', 'developer', + 'constructions', 'help']) + +lazy_import('pydoc', 'help', 'python_help') diff --git a/src/sage/misc/allocator.pxd b/src/sage/misc/allocator.pxd index 7945a75241f..63943541273 100644 --- a/src/sage/misc/allocator.pxd +++ b/src/sage/misc/allocator.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories from cpython.object cimport * cdef hook_tp_functions_type(object t, newfunc tp_new, destructor tp_dealloc, bint useGC) diff --git a/src/sage/misc/allocator.pyx b/src/sage/misc/allocator.pyx index b7fafdce286..9448bbff2c1 100644 --- a/src/sage/misc/allocator.pyx +++ b/src/sage/misc/allocator.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories from cpython.ref cimport Py_INCREF cdef _hook_tp_functions_type(PyTypeObject *t, newfunc tp_new, destructor tp_dealloc, bint useGC): diff --git a/src/sage/misc/banner.py b/src/sage/misc/banner.py index 9d231926705..0ecac1d75b9 100644 --- a/src/sage/misc/banner.py +++ b/src/sage/misc/banner.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-repl r""" SageMath version and banner info """ diff --git a/src/sage/misc/binary_tree.pxd b/src/sage/misc/binary_tree.pxd index 4e54f74a71a..4b0c1213363 100644 --- a/src/sage/misc/binary_tree.pxd +++ b/src/sage/misc/binary_tree.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories cdef struct binary_tree_node: int key binary_tree_node *left diff --git a/src/sage/misc/binary_tree.pyx b/src/sage/misc/binary_tree.pyx index 8451e0b1e04..0f739946805 100644 --- a/src/sage/misc/binary_tree.pyx +++ b/src/sage/misc/binary_tree.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Binary trees diff --git a/src/sage/misc/bindable_class.py b/src/sage/misc/bindable_class.py index 8739bab3002..d9cfa536dc9 100644 --- a/src/sage/misc/bindable_class.py +++ b/src/sage/misc/bindable_class.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects """ Bindable classes """ diff --git a/src/sage/misc/c3.pyx b/src/sage/misc/c3.pyx index a3f37380faf..a4452f4a7e6 100644 --- a/src/sage/misc/c3.pyx +++ b/src/sage/misc/c3.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ The C3 algorithm diff --git a/src/sage/misc/c3_controlled.pxd b/src/sage/misc/c3_controlled.pxd index d5dd5c23183..2340a4db9a8 100644 --- a/src/sage/misc/c3_controlled.pxd +++ b/src/sage/misc/c3_controlled.pxd @@ -1 +1,3 @@ +# sage_setup: distribution = sagemath-objects + cpdef tuple C3_sorted_merge(list lists, key=?) diff --git a/src/sage/misc/c3_controlled.pyx b/src/sage/misc/c3_controlled.pyx index befaa7b5b32..e120c578a86 100644 --- a/src/sage/misc/c3_controlled.pyx +++ b/src/sage/misc/c3_controlled.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects """ The C3 algorithm, under control of a total order diff --git a/src/sage/misc/cachefunc.pxd b/src/sage/misc/cachefunc.pxd index 1ebd6f25a9d..a08889f22cb 100644 --- a/src/sage/misc/cachefunc.pxd +++ b/src/sage/misc/cachefunc.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects from sage.misc.function_mangling cimport ArgumentFixer cpdef dict_key(o) diff --git a/src/sage/misc/cachefunc.pyx b/src/sage/misc/cachefunc.pyx index 7b95ce26779..094f036cbd3 100644 --- a/src/sage/misc/cachefunc.pyx +++ b/src/sage/misc/cachefunc.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects r""" Cached Functions and Methods diff --git a/src/sage/misc/call.py b/src/sage/misc/call.py index 6de02981882..959b3143666 100644 --- a/src/sage/misc/call.py +++ b/src/sage/misc/call.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects """ Attribute and method calling """ diff --git a/src/sage/misc/callable_dict.pyx b/src/sage/misc/callable_dict.pyx index b1f93240a6a..28555e7b3da 100644 --- a/src/sage/misc/callable_dict.pyx +++ b/src/sage/misc/callable_dict.pyx @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-categories """ Callable dictionaries """ diff --git a/src/sage/misc/classcall_metaclass.pxd b/src/sage/misc/classcall_metaclass.pxd index 85ea3bd5eef..1ae792f074b 100644 --- a/src/sage/misc/classcall_metaclass.pxd +++ b/src/sage/misc/classcall_metaclass.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects #***************************************************************************** # Copyright (C) 2012 Florent Hivert # diff --git a/src/sage/misc/classcall_metaclass.pyx b/src/sage/misc/classcall_metaclass.pyx index 65351cb2756..691f7fec01e 100644 --- a/src/sage/misc/classcall_metaclass.pyx +++ b/src/sage/misc/classcall_metaclass.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects r""" Special Methods for Classes diff --git a/src/sage/misc/compat.py b/src/sage/misc/compat.py index e374cf97aac..6bbe90e810e 100644 --- a/src/sage/misc/compat.py +++ b/src/sage/misc/compat.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """Cross-platform compatibility routines and wrappers.""" #***************************************************************************** diff --git a/src/sage/misc/constant_function.pyx b/src/sage/misc/constant_function.pyx index e94f36da403..4eb58d7599a 100644 --- a/src/sage/misc/constant_function.pyx +++ b/src/sage/misc/constant_function.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects r""" Constant functions """ diff --git a/src/sage/misc/converting_dict.py b/src/sage/misc/converting_dict.py index 0cd7a47916e..2ae4bf1f47e 100644 --- a/src/sage/misc/converting_dict.py +++ b/src/sage/misc/converting_dict.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Converting Dictionary diff --git a/src/sage/misc/cython.py b/src/sage/misc/cython.py index 93ce994c537..2ab17cad6d5 100644 --- a/src/sage/misc/cython.py +++ b/src/sage/misc/cython.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-repl # sage.doctest: needs sage.misc.cython """ Cython support functions diff --git a/src/sage/misc/decorators.py b/src/sage/misc/decorators.py index 9ded4260e3b..ba005138f14 100644 --- a/src/sage/misc/decorators.py +++ b/src/sage/misc/decorators.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects """ Decorators diff --git a/src/sage/misc/defaults.py b/src/sage/misc/defaults.py index 3d75021d198..fb1bc4779da 100644 --- a/src/sage/misc/defaults.py +++ b/src/sage/misc/defaults.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Default Settings diff --git a/src/sage/misc/derivative.pyx b/src/sage/misc/derivative.pyx index 9788e82e06e..8196074a492 100644 --- a/src/sage/misc/derivative.pyx +++ b/src/sage/misc/derivative.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories #***************************************************************************** # Copyright (C) 2008 William Stein # diff --git a/src/sage/misc/dev_tools.py b/src/sage/misc/dev_tools.py index 8a4420f2314..5b1832c27bd 100644 --- a/src/sage/misc/dev_tools.py +++ b/src/sage/misc/dev_tools.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-repl r""" Some tools for developers @@ -148,6 +149,7 @@ def load_submodules(module=None, exclude_pattern=None): EXAMPLES:: sage: sage.misc.dev_tools.load_submodules(sage.combinat) + load sage.combinat.affine_permutation... succeeded load sage.combinat.algebraic_combinatorics... succeeded ... load sage.combinat.words.suffix_trees... succeeded diff --git a/src/sage/misc/edit_module.py b/src/sage/misc/edit_module.py index 58a3ab15a2a..e4594c2476b 100644 --- a/src/sage/misc/edit_module.py +++ b/src/sage/misc/edit_module.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-repl """ Edit the source code of Sage interactively diff --git a/src/sage/misc/element_with_label.py b/src/sage/misc/element_with_label.py index e7ae38264be..3fca93b08a3 100644 --- a/src/sage/misc/element_with_label.py +++ b/src/sage/misc/element_with_label.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Elements with labels. diff --git a/src/sage/misc/explain_pickle.py b/src/sage/misc/explain_pickle.py index a0c6323270c..5171927aa91 100644 --- a/src/sage/misc/explain_pickle.py +++ b/src/sage/misc/explain_pickle.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-repl """ A tool for inspecting Python pickles diff --git a/src/sage/misc/fast_methods.pxd b/src/sage/misc/fast_methods.pxd index 4df34feab62..8a1070a263b 100644 --- a/src/sage/misc/fast_methods.pxd +++ b/src/sage/misc/fast_methods.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects cdef extern from "Python.h": cdef size_t SIZEOF_VOID_P diff --git a/src/sage/misc/fast_methods.pyx b/src/sage/misc/fast_methods.pyx index ce7f918cccd..6ac4a020da2 100644 --- a/src/sage/misc/fast_methods.pyx +++ b/src/sage/misc/fast_methods.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects """ Fast methods via Cython diff --git a/src/sage/misc/flatten.py b/src/sage/misc/flatten.py index 5ebc8c2ceaa..3b857fcb3d8 100644 --- a/src/sage/misc/flatten.py +++ b/src/sage/misc/flatten.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects "Flatten nested lists" import sys diff --git a/src/sage/misc/fpickle.pyx b/src/sage/misc/fpickle.pyx index 37c26e431ba..b233b9cd7ae 100644 --- a/src/sage/misc/fpickle.pyx +++ b/src/sage/misc/fpickle.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects # cython: old_style_globals=True # cython: binding=True """ diff --git a/src/sage/misc/func_persist.py b/src/sage/misc/func_persist.py index 65b6d536d79..8e157af0d94 100644 --- a/src/sage/misc/func_persist.py +++ b/src/sage/misc/func_persist.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Support for persistent functions in .sage files diff --git a/src/sage/misc/function_mangling.pxd b/src/sage/misc/function_mangling.pxd index 01604088adc..e7c6cfd8780 100644 --- a/src/sage/misc/function_mangling.pxd +++ b/src/sage/misc/function_mangling.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects cdef class ArgumentFixer: cdef public object f cdef public int _ndefault diff --git a/src/sage/misc/function_mangling.pyx b/src/sage/misc/function_mangling.pyx index 1392fc4f2fd..7efeb31e09b 100644 --- a/src/sage/misc/function_mangling.pyx +++ b/src/sage/misc/function_mangling.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects # Copyright (c) 2009, Tom Boothby # All rights reserved. # diff --git a/src/sage/misc/functional.py b/src/sage/misc/functional.py index 4ae9ecd6a2c..2f58fd92df0 100644 --- a/src/sage/misc/functional.py +++ b/src/sage/misc/functional.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Functional notation diff --git a/src/sage/misc/html.py b/src/sage/misc/html.py index 0c7524674bc..e6bd805bae5 100644 --- a/src/sage/misc/html.py +++ b/src/sage/misc/html.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ HTML Fragments diff --git a/src/sage/misc/inherit_comparison.pxd b/src/sage/misc/inherit_comparison.pxd index 28a29270a25..86207223782 100644 --- a/src/sage/misc/inherit_comparison.pxd +++ b/src/sage/misc/inherit_comparison.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects cimport sage.cpython.cython_metaclass cdef class InheritComparisonMetaclass(type): diff --git a/src/sage/misc/inherit_comparison.pyx b/src/sage/misc/inherit_comparison.pyx index 394044d8a9a..9758d25574d 100644 --- a/src/sage/misc/inherit_comparison.pyx +++ b/src/sage/misc/inherit_comparison.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects """ Metaclass for inheriting comparison functions diff --git a/src/sage/misc/inline_fortran.py b/src/sage/misc/inline_fortran.py index 82da6982bec..2c131f77cc6 100644 --- a/src/sage/misc/inline_fortran.py +++ b/src/sage/misc/inline_fortran.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-repl """ Fortran compiler """ diff --git a/src/sage/misc/instancedoc.pyx b/src/sage/misc/instancedoc.pyx index 44ee70f64ba..852cde57220 100644 --- a/src/sage/misc/instancedoc.pyx +++ b/src/sage/misc/instancedoc.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects r""" Dynamic documentation for instances of classes diff --git a/src/sage/misc/latex.py b/src/sage/misc/latex.py index db573d16e66..1769a31dea6 100644 --- a/src/sage/misc/latex.py +++ b/src/sage/misc/latex.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ LaTeX printing support diff --git a/src/sage/misc/latex_macros.py b/src/sage/misc/latex_macros.py index 93fb11fbf48..f2109e8cc9d 100644 --- a/src/sage/misc/latex_macros.py +++ b/src/sage/misc/latex_macros.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" LaTeX macros diff --git a/src/sage/misc/latex_standalone.py b/src/sage/misc/latex_standalone.py index c21bdefb643..e539d2912d8 100644 --- a/src/sage/misc/latex_standalone.py +++ b/src/sage/misc/latex_standalone.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Standalone LaTeX Document class and TikzPicture diff --git a/src/sage/misc/lazy_attribute.pyx b/src/sage/misc/lazy_attribute.pyx index e2dee7b58ac..4210fb7e081 100644 --- a/src/sage/misc/lazy_attribute.pyx +++ b/src/sage/misc/lazy_attribute.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects """ Lazy attributes @@ -87,7 +88,7 @@ cdef class _lazy_attribute(): sage: src[0] 'def banner():\n' sage: lines - 88 + 89 """ from sage.misc.sageinspect import sage_getsourcelines return sage_getsourcelines(self.f) diff --git a/src/sage/misc/lazy_format.py b/src/sage/misc/lazy_format.py index b58ea155862..d5e411ff005 100644 --- a/src/sage/misc/lazy_format.py +++ b/src/sage/misc/lazy_format.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects """ Lazy format strings """ diff --git a/src/sage/misc/lazy_import.pyx b/src/sage/misc/lazy_import.pyx index d25b24a10dc..800ae4bff85 100644 --- a/src/sage/misc/lazy_import.pyx +++ b/src/sage/misc/lazy_import.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects r""" Lazy imports diff --git a/src/sage/misc/lazy_import_cache.py b/src/sage/misc/lazy_import_cache.py index d47b6d5edfd..7ae240e8ee0 100644 --- a/src/sage/misc/lazy_import_cache.py +++ b/src/sage/misc/lazy_import_cache.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects """ Lazy import cache """ diff --git a/src/sage/misc/lazy_list.pxd b/src/sage/misc/lazy_list.pxd index f8b51b47835..13221457695 100644 --- a/src/sage/misc/lazy_list.pxd +++ b/src/sage/misc/lazy_list.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects cdef class lazy_list_generic(): cdef list cache # the cache cdef lazy_list_generic master # a reference if self is a slice diff --git a/src/sage/misc/lazy_list.pyx b/src/sage/misc/lazy_list.pyx index cd750933860..202f629b693 100644 --- a/src/sage/misc/lazy_list.pyx +++ b/src/sage/misc/lazy_list.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects r""" Lazy lists diff --git a/src/sage/misc/lazy_string.pxd b/src/sage/misc/lazy_string.pxd index 7f7354e03ca..aa8faae784e 100644 --- a/src/sage/misc/lazy_string.pxd +++ b/src/sage/misc/lazy_string.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects cdef class _LazyString(): cdef func cdef args diff --git a/src/sage/misc/lazy_string.pyx b/src/sage/misc/lazy_string.pyx index a0efbb186bf..1af6efd42ee 100644 --- a/src/sage/misc/lazy_string.pyx +++ b/src/sage/misc/lazy_string.pyx @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-objects """ Lazy strings diff --git a/src/sage/misc/map_threaded.py b/src/sage/misc/map_threaded.py index db525e0ef6f..8c2a9db5ed4 100644 --- a/src/sage/misc/map_threaded.py +++ b/src/sage/misc/map_threaded.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Threaded map function """ diff --git a/src/sage/misc/mathml.py b/src/sage/misc/mathml.py index bdb0e6fffe0..5b0a047c7cd 100644 --- a/src/sage/misc/mathml.py +++ b/src/sage/misc/mathml.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ MathML output support diff --git a/src/sage/misc/method_decorator.py b/src/sage/misc/method_decorator.py index 2e7cf206da2..48cc2f64faf 100644 --- a/src/sage/misc/method_decorator.py +++ b/src/sage/misc/method_decorator.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Base Class to Support Method Decorators diff --git a/src/sage/misc/misc.py b/src/sage/misc/misc.py index 39a6ecffd14..50b4053534b 100644 --- a/src/sage/misc/misc.py +++ b/src/sage/misc/misc.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects """ Miscellaneous functions diff --git a/src/sage/misc/misc_c.pxd b/src/sage/misc/misc_c.pxd index acb36ab6d99..ad553008767 100644 --- a/src/sage/misc/misc_c.pxd +++ b/src/sage/misc/misc_c.pxd @@ -1,2 +1,3 @@ +# sage_setup: distribution = sagemath-objects cpdef list normalize_index(object key, int size) diff --git a/src/sage/misc/misc_c.pyx b/src/sage/misc/misc_c.pyx index 56e7a323258..be5e05e441b 100644 --- a/src/sage/misc/misc_c.pyx +++ b/src/sage/misc/misc_c.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects """ Miscellaneous functions (Cython) diff --git a/src/sage/misc/mrange.py b/src/sage/misc/mrange.py index 47cf9d32e81..bd01e44972d 100644 --- a/src/sage/misc/mrange.py +++ b/src/sage/misc/mrange.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Multidimensional enumeration diff --git a/src/sage/misc/multireplace.py b/src/sage/misc/multireplace.py index 3b70d60e50c..debdd5d56b7 100644 --- a/src/sage/misc/multireplace.py +++ b/src/sage/misc/multireplace.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories "multi_replace" ########################################################################## diff --git a/src/sage/misc/namespace_package.py b/src/sage/misc/namespace_package.py index eaa05bdfd71..61ba9e25727 100644 --- a/src/sage/misc/namespace_package.py +++ b/src/sage/misc/namespace_package.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects """ Utility functions for namespace packages in Sage """ diff --git a/src/sage/misc/nested_class.pxd b/src/sage/misc/nested_class.pxd index ac64c28422e..ce96f44df8e 100644 --- a/src/sage/misc/nested_class.pxd +++ b/src/sage/misc/nested_class.pxd @@ -1,2 +1,3 @@ +# sage_setup: distribution = sagemath-objects cdef class NestedClassMetaclass(type): pass diff --git a/src/sage/misc/nested_class.pyx b/src/sage/misc/nested_class.pyx index 97ed312b08c..637d4c9c792 100644 --- a/src/sage/misc/nested_class.pyx +++ b/src/sage/misc/nested_class.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects """ Fixing pickle for nested classes diff --git a/src/sage/misc/object_multiplexer.py b/src/sage/misc/object_multiplexer.py index 00fd89d6652..202310f41f2 100644 --- a/src/sage/misc/object_multiplexer.py +++ b/src/sage/misc/object_multiplexer.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Multiplex calls to one object to calls to many objects diff --git a/src/sage/misc/package.py b/src/sage/misc/package.py index cc7ac5fdfb2..39d87ce6aa4 100644 --- a/src/sage/misc/package.py +++ b/src/sage/misc/package.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-environment r""" Listing Sage packages diff --git a/src/sage/misc/package_dir.py b/src/sage/misc/package_dir.py index 16c78d18462..05432ebebbe 100644 --- a/src/sage/misc/package_dir.py +++ b/src/sage/misc/package_dir.py @@ -116,7 +116,7 @@ def read_distribution(src_file): sage: read_distribution(os.path.join(SAGE_SRC, 'sage', 'graphs', 'graph_decompositions', 'tdlib.pyx')) 'sagemath-tdlib' sage: read_distribution(os.path.join(SAGE_SRC, 'sage', 'graphs', 'graph_decompositions', 'modular_decomposition.py')) - '' + 'sagemath-graphs' """ with open(src_file, encoding='utf-8', errors='ignore') as fh: for line in fh: @@ -200,8 +200,8 @@ def update_distribution(src_file, distribution, *, verbose=False): try: with open(src_file, 'r') as f: src_lines = f.read().splitlines() - except UnicodeDecodeError: - # Silently skip binary files + except (UnicodeDecodeError, FileNotFoundError): + # Silently skip binary files, nonexisting files return any_found = False any_change = False @@ -262,6 +262,8 @@ def is_package_or_sage_namespace_package_dir(path, *, distribution_filter=None): :mod:`sage.cpython` is an ordinary package:: sage: from sage.misc.package_dir import is_package_or_sage_namespace_package_dir + sage: len(sage.cpython.__path__) + 1 sage: directory = sage.cpython.__path__[0]; directory '.../sage/cpython' sage: is_package_or_sage_namespace_package_dir(directory) @@ -270,23 +272,26 @@ def is_package_or_sage_namespace_package_dir(path, *, distribution_filter=None): :mod:`sage.libs.mpfr` only has an ``__init__.pxd`` file, but we consider it a package directory for consistency with Cython:: - sage: directory = os.path.join(sage.libs.__path__[0], 'mpfr'); directory - '.../sage/libs/mpfr' - sage: is_package_or_sage_namespace_package_dir(directory) + sage: directories = [os.path.join(p, 'mpfr') + ....: for p in sage.libs.__path__]; directories + ['.../sage/libs/mpfr'...] + sage: any(is_package_or_sage_namespace_package_dir(d) for d in directories) True - :mod:`sage` is designated to become an implicit namespace package:: + :mod:`sage` is an implicit namespace package:: - sage: directory = sage.__path__[0]; directory + sage: sage.__path__[0] '.../sage' - sage: is_package_or_sage_namespace_package_dir(directory) + sage: all(is_package_or_sage_namespace_package_dir(p) for p in sage.__path__) True Not a package:: - sage: directory = os.path.join(sage.symbolic.__path__[0], 'ginac'); directory # needs sage.symbolic - '.../sage/symbolic/ginac' - sage: is_package_or_sage_namespace_package_dir(directory) # needs sage.symbolic + sage: directories = [os.path.join(p, 'ginac') # needs sage.symbolic + ....: for p in sage.symbolic.__path__]; directories + ['.../sage/symbolic/ginac'...] + sage: any(is_package_or_sage_namespace_package_dir(d) # needs sage.symbolic + ....: for d in directories) False """ if os.path.exists(os.path.join(path, '__init__.py')): # ordinary package diff --git a/src/sage/misc/pager.py b/src/sage/misc/pager.py index 84833d6135a..2e5cd592676 100644 --- a/src/sage/misc/pager.py +++ b/src/sage/misc/pager.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-repl """ Pager for showing strings diff --git a/src/sage/misc/parser.pyx b/src/sage/misc/parser.pyx index a028e953f90..08179df444f 100644 --- a/src/sage/misc/parser.pyx +++ b/src/sage/misc/parser.pyx @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-categories """ A parser for symbolic equations and expressions diff --git a/src/sage/misc/persist.pyx b/src/sage/misc/persist.pyx index 3e56e249d45..51be391958f 100644 --- a/src/sage/misc/persist.pyx +++ b/src/sage/misc/persist.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects # cython: old_style_globals=True # The old_style_globals directive is important for load() to work correctly. # However, this should be removed in favor of user_globals; see diff --git a/src/sage/misc/pickle_old.pyx b/src/sage/misc/pickle_old.pyx index ede0c6abe06..58e9a02d0c1 100644 --- a/src/sage/misc/pickle_old.pyx +++ b/src/sage/misc/pickle_old.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.misc.superseded import deprecation_cython as deprecation import sage.rings.fraction_field_element diff --git a/src/sage/misc/prandom.py b/src/sage/misc/prandom.py index 800ed60aedd..e49bf2af7ea 100644 --- a/src/sage/misc/prandom.py +++ b/src/sage/misc/prandom.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects r""" Random Numbers with Python API diff --git a/src/sage/misc/profiler.py b/src/sage/misc/profiler.py index a8e3592d935..1f0592ede6c 100644 --- a/src/sage/misc/profiler.py +++ b/src/sage/misc/profiler.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-repl r""" Simple profiling tool diff --git a/src/sage/misc/proof.py b/src/sage/misc/proof.py index 12a14869fd5..d4197bc7419 100644 --- a/src/sage/misc/proof.py +++ b/src/sage/misc/proof.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Whether or not computations are provably correct by default """ diff --git a/src/sage/misc/random_testing.py b/src/sage/misc/random_testing.py index 9dfb866bbc4..f371642bb13 100644 --- a/src/sage/misc/random_testing.py +++ b/src/sage/misc/random_testing.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Random testing diff --git a/src/sage/misc/randstate.pxd b/src/sage/misc/randstate.pxd index fc5e955eb79..1e882164901 100644 --- a/src/sage/misc/randstate.pxd +++ b/src/sage/misc/randstate.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects from sage.libs.gmp.types cimport gmp_randstate_t # The c_random() method on randstate objects gives a value diff --git a/src/sage/misc/randstate.pyx b/src/sage/misc/randstate.pyx index 5809e4d7cb4..6e909df0a9f 100644 --- a/src/sage/misc/randstate.pyx +++ b/src/sage/misc/randstate.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects # sage.doctest: needs sage.groups sage.libs.gap sage.libs.ntl sage.libs.pari r""" Random Number States diff --git a/src/sage/misc/replace_dot_all.py b/src/sage/misc/replace_dot_all.py index 117b7f6892b..0160601bf63 100644 --- a/src/sage/misc/replace_dot_all.py +++ b/src/sage/misc/replace_dot_all.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Implementation of the command ``sage --fiximports``. @@ -298,7 +299,7 @@ def process_line(location, line, replacements, row_index, verbose=False): sage: from sage.misc.replace_dot_all import * sage: location = os.path.join(sage.env.SAGE_SRC, 'sage/plot/arc.py') sage: replacements = find_replacements(location, package_regex='sage[.]plot[.]all', verbose=True); replacements - [[477, 24, 'from sage.plot.graphics import Graphics']] + [[478, 24, 'from sage.plot.graphics import Graphics']] sage: with open(location, "r") as file: ....: lines = file.readlines() sage: row_index, col_number, *_ = replacements[0] diff --git a/src/sage/misc/repr.py b/src/sage/misc/repr.py index e6dc42d56a3..656319e0683 100644 --- a/src/sage/misc/repr.py +++ b/src/sage/misc/repr.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects """ Repr formatting support """ diff --git a/src/sage/misc/reset.pyx b/src/sage/misc/reset.pyx index 1d979197d3d..561127fd7f0 100644 --- a/src/sage/misc/reset.pyx +++ b/src/sage/misc/reset.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects # cython: old_style_globals=True """ Interpreter reset diff --git a/src/sage/misc/rest_index_of_methods.py b/src/sage/misc/rest_index_of_methods.py index d1b102829c9..0dfc461d92b 100644 --- a/src/sage/misc/rest_index_of_methods.py +++ b/src/sage/misc/rest_index_of_methods.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" ReST index of functions diff --git a/src/sage/misc/sage_eval.py b/src/sage/misc/sage_eval.py index ec6d94543f9..3f0a62931d6 100644 --- a/src/sage/misc/sage_eval.py +++ b/src/sage/misc/sage_eval.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-repl r""" Evaluating a String in Sage """ diff --git a/src/sage/misc/sage_input.py b/src/sage/misc/sage_input.py index be38a27d683..a71a9d98c63 100644 --- a/src/sage/misc/sage_input.py +++ b/src/sage/misc/sage_input.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-repl r""" Sage Input Formatting diff --git a/src/sage/misc/sage_ostools.pyx b/src/sage/misc/sage_ostools.pyx index 8a91afe54c2..4db8638daf7 100644 --- a/src/sage/misc/sage_ostools.pyx +++ b/src/sage/misc/sage_ostools.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects """ Miscellaneous operating system functions """ diff --git a/src/sage/misc/sage_timeit.py b/src/sage/misc/sage_timeit.py index 89c813e563b..b1591b944fb 100644 --- a/src/sage/misc/sage_timeit.py +++ b/src/sage/misc/sage_timeit.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects """ Accurate timing information for Sage commands diff --git a/src/sage/misc/sage_timeit_class.pyx b/src/sage/misc/sage_timeit_class.pyx index f568886574f..06afeb391ad 100644 --- a/src/sage/misc/sage_timeit_class.pyx +++ b/src/sage/misc/sage_timeit_class.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects # This is here in Cython so we can access the interpreter globals # cython: old_style_globals=True """ diff --git a/src/sage/misc/sage_unittest.py b/src/sage/misc/sage_unittest.py index 9d3ce5db1e8..1da0a3d72c7 100644 --- a/src/sage/misc/sage_unittest.py +++ b/src/sage/misc/sage_unittest.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects r""" Unit testing for Sage objects """ diff --git a/src/sage/misc/sagedoc.py b/src/sage/misc/sagedoc.py index 308fa7d8340..f3e5e93ec12 100644 --- a/src/sage/misc/sagedoc.py +++ b/src/sage/misc/sagedoc.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-repl r""" Format Sage documentation for viewing with IPython and the notebook diff --git a/src/sage/misc/sagedoc_conf.py b/src/sage/misc/sagedoc_conf.py index 2cacfcf8327..723898b01c8 100644 --- a/src/sage/misc/sagedoc_conf.py +++ b/src/sage/misc/sagedoc_conf.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Sphinx configuration shared by sage.misc.sphinxify and sage_docbuild """ diff --git a/src/sage/misc/sageinspect.py b/src/sage/misc/sageinspect.py index f79aeafb937..27d4ac54e9a 100644 --- a/src/sage/misc/sageinspect.py +++ b/src/sage/misc/sageinspect.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects r""" Inspect Python, Sage, and Cython objects @@ -16,7 +17,7 @@ sage: sage_getdoc(sage.rings.rational).lstrip() 'Rational Numbers...' sage: sage_getsource(sage.rings.rational) - '# distutils: ...Rational Numbers...' + '# sage_setup: distribution = sagemath-categories...# distutils: ...Rational Numbers...' Python modules:: @@ -24,7 +25,7 @@ '.../sageinspect.py' sage: print(sage_getdoc(sage.misc.sageinspect).lstrip()[:40]) Inspect Python, Sage, and Cython objects - sage: sage_getsource(sage.misc.sageinspect).lstrip()[5:-1] + sage: sage_getsource(sage.misc.sageinspect).lstrip()[51:-1] 'Inspect Python, Sage, and Cython objects...' Test introspection of classes defined in Python and Cython files: @@ -1308,6 +1309,7 @@ def sage_getfile(obj): sage: from sage.misc.sageinspect import sage_getfile sage: sage_getfile(sage.rings.rational) '...sage/rings/rational.pyx' + sage: from sage.algebras.steenrod.steenrod_algebra import Sq # needs sage.combinat sage.modules sage: sage_getfile(Sq) # needs sage.combinat sage.modules '...sage/algebras/steenrod/steenrod_algebra.py' sage: sage_getfile(x) # needs sage.symbolic @@ -1386,6 +1388,7 @@ def sage_getfile_relative(obj): sage: from sage.misc.sageinspect import sage_getfile_relative sage: sage_getfile_relative(sage.rings.rational) 'sage/rings/rational.pyx' + sage: from sage.algebras.steenrod.steenrod_algebra import Sq # needs sage.combinat sage.modules sage: sage_getfile_relative(Sq) # needs sage.combinat sage.modules 'sage/algebras/steenrod/steenrod_algebra.py' sage: sage_getfile_relative(x) # needs sage.symbolic @@ -2267,8 +2270,9 @@ def sage_getsourcelines(obj): sage: from sage.misc.sageinspect import sage_getsourcelines sage: # needs sage.modules + sage: from sage.matrix.constructor import matrix sage: sage_getsourcelines(matrix)[1] - 21 + 22 sage: sage_getsourcelines(matrix)[0][0] 'def matrix(*args, **kwds):\n' @@ -2297,7 +2301,7 @@ def sage_getsourcelines(obj): sage: sage_getsourcelines(test_func) (['def base(x):\n', ... - ' return x\n'], 7) + ' return x\n'], 8) Here are some cases that were covered in :issue:`11298`; note that line numbers may easily change, and therefore we do diff --git a/src/sage/misc/search.pxd b/src/sage/misc/search.pxd index 8cc43ba1b0f..b4cef51a1f2 100644 --- a/src/sage/misc/search.pxd +++ b/src/sage/misc/search.pxd @@ -1 +1,3 @@ -cpdef search(object v, object x) \ No newline at end of file +# sage_setup: distribution = sagemath-categories + +cpdef search(object v, object x) diff --git a/src/sage/misc/search.pyx b/src/sage/misc/search.pyx index a9e7149113e..8463285daf4 100644 --- a/src/sage/misc/search.pyx +++ b/src/sage/misc/search.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Searching a sorted list diff --git a/src/sage/misc/session.pyx b/src/sage/misc/session.pyx index 53b732309da..a727e759430 100644 --- a/src/sage/misc/session.pyx +++ b/src/sage/misc/session.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects r""" Loading and saving sessions and listing all variables diff --git a/src/sage/misc/sphinxify.py b/src/sage/misc/sphinxify.py index 2fb6e95395c..e89137113f0 100644 --- a/src/sage/misc/sphinxify.py +++ b/src/sage/misc/sphinxify.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: optional - sphinx r""" Process docstrings with Sphinx diff --git a/src/sage/misc/stopgap.pyx b/src/sage/misc/stopgap.pyx index 0ca72e9fe1a..9aedd5ef1b1 100644 --- a/src/sage/misc/stopgap.pyx +++ b/src/sage/misc/stopgap.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Stopgaps """ diff --git a/src/sage/misc/superseded.py b/src/sage/misc/superseded.py index 4c4cddddc5c..61f34b59cea 100644 --- a/src/sage/misc/superseded.py +++ b/src/sage/misc/superseded.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects """ Handling Superseded Functionality diff --git a/src/sage/misc/table.py b/src/sage/misc/table.py index 33532ee2610..e3c521b4c31 100644 --- a/src/sage/misc/table.py +++ b/src/sage/misc/table.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Tables diff --git a/src/sage/misc/temporary_file.py b/src/sage/misc/temporary_file.py index daf3cbac8e7..375bd157f02 100644 --- a/src/sage/misc/temporary_file.py +++ b/src/sage/misc/temporary_file.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-environment """ Temporary file handling diff --git a/src/sage/misc/test_class_pickling.py b/src/sage/misc/test_class_pickling.py index f9c8003fa4a..c4af34f2132 100644 --- a/src/sage/misc/test_class_pickling.py +++ b/src/sage/misc/test_class_pickling.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules import copyreg diff --git a/src/sage/misc/test_nested_class.py b/src/sage/misc/test_nested_class.py index 40712bfc9fb..747eecab5e4 100644 --- a/src/sage/misc/test_nested_class.py +++ b/src/sage/misc/test_nested_class.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects """ Test for nested class Parent diff --git a/src/sage/misc/timing.py b/src/sage/misc/timing.py index 5e5c49b9594..5d82fa5f538 100644 --- a/src/sage/misc/timing.py +++ b/src/sage/misc/timing.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects r""" Timing functions """ diff --git a/src/sage/misc/trace.py b/src/sage/misc/trace.py index 0c9210bfd19..a530a416f81 100644 --- a/src/sage/misc/trace.py +++ b/src/sage/misc/trace.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-repl """ Interactively tracing execution of a command """ diff --git a/src/sage/misc/unknown.py b/src/sage/misc/unknown.py index b87a3e67506..7c4e71a5f18 100644 --- a/src/sage/misc/unknown.py +++ b/src/sage/misc/unknown.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects """ The Unknown truth value diff --git a/src/sage/misc/verbose.py b/src/sage/misc/verbose.py index 184f8d10053..2c186b445aa 100644 --- a/src/sage/misc/verbose.py +++ b/src/sage/misc/verbose.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects r""" Verbosity System and Logging in SageMath diff --git a/src/sage/misc/viewer.py b/src/sage/misc/viewer.py index 85ff09aa341..caca6647acf 100644 --- a/src/sage/misc/viewer.py +++ b/src/sage/misc/viewer.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-environment r""" Determination of programs for viewing web pages, etc. diff --git a/src/sage/misc/weak_dict.pxd b/src/sage/misc/weak_dict.pxd index f1e85012be7..7be392b79f3 100644 --- a/src/sage/misc/weak_dict.pxd +++ b/src/sage/misc/weak_dict.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects cdef class WeakValueDictionary(dict): cdef __weakref__ cdef callback diff --git a/src/sage/misc/weak_dict.pyx b/src/sage/misc/weak_dict.pyx index d806335d0e9..f4b20c0fcd1 100644 --- a/src/sage/misc/weak_dict.pyx +++ b/src/sage/misc/weak_dict.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects """ Fast and safe weak value dictionary diff --git a/src/sage/modular/abvar/abvar.py b/src/sage/modular/abvar/abvar.py index 8e0906e45a8..c64ae540afb 100644 --- a/src/sage/modular/abvar/abvar.py +++ b/src/sage/modular/abvar/abvar.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.flint sage.libs.pari """ Base class for modular abelian varieties diff --git a/src/sage/modular/abvar/abvar_ambient_jacobian.py b/src/sage/modular/abvar/abvar_ambient_jacobian.py index 32a006b3729..bb5d66cb327 100644 --- a/src/sage/modular/abvar/abvar_ambient_jacobian.py +++ b/src/sage/modular/abvar/abvar_ambient_jacobian.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes """ Ambient Jacobian abelian variety diff --git a/src/sage/modular/abvar/abvar_newform.py b/src/sage/modular/abvar/abvar_newform.py index 5d4976d5d54..af2be64c305 100644 --- a/src/sage/modular/abvar/abvar_newform.py +++ b/src/sage/modular/abvar/abvar_newform.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.pari """ Abelian varieties attached to newforms diff --git a/src/sage/modular/abvar/all.py b/src/sage/modular/abvar/all.py index f0971bc0b42..e15363355dc 100644 --- a/src/sage/modular/abvar/all.py +++ b/src/sage/modular/abvar/all.py @@ -1,7 +1,8 @@ +# sage_setup: distribution = sagemath-schemes ########################################################################### # Copyright (C) 2007 William Stein # # Distributed under the terms of the GNU General Public License (GPL) # -# http://www.gnu.org/licenses/ # +# https://www.gnu.org/licenses/ # ########################################################################### -from .constructor import J0, J1, JH, AbelianVariety +from sage.modular.abvar.constructor import J0, J1, JH, AbelianVariety diff --git a/src/sage/modular/abvar/constructor.py b/src/sage/modular/abvar/constructor.py index 5dd6a77b4ca..0155acf27c9 100644 --- a/src/sage/modular/abvar/constructor.py +++ b/src/sage/modular/abvar/constructor.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes """ Constructors for certain modular abelian varieties diff --git a/src/sage/modular/abvar/cuspidal_subgroup.py b/src/sage/modular/abvar/cuspidal_subgroup.py index 82e373ad716..efacd8d21c5 100644 --- a/src/sage/modular/abvar/cuspidal_subgroup.py +++ b/src/sage/modular/abvar/cuspidal_subgroup.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes """ Cuspidal subgroups of modular abelian varieties diff --git a/src/sage/modular/abvar/finite_subgroup.py b/src/sage/modular/abvar/finite_subgroup.py index 2725e11a387..8df71f0fc0e 100644 --- a/src/sage/modular/abvar/finite_subgroup.py +++ b/src/sage/modular/abvar/finite_subgroup.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.pari r""" Finite subgroups of modular abelian varieties diff --git a/src/sage/modular/abvar/homology.py b/src/sage/modular/abvar/homology.py index da586d7c0e0..447e21ed6c7 100644 --- a/src/sage/modular/abvar/homology.py +++ b/src/sage/modular/abvar/homology.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.flint sage.libs.pari r""" Homology of modular abelian varieties diff --git a/src/sage/modular/abvar/homspace.py b/src/sage/modular/abvar/homspace.py index e914e11cc8e..77a9e372777 100644 --- a/src/sage/modular/abvar/homspace.py +++ b/src/sage/modular/abvar/homspace.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.flint sage.libs.pari """ Spaces of homomorphisms between modular abelian varieties diff --git a/src/sage/modular/abvar/lseries.py b/src/sage/modular/abvar/lseries.py index 4d67f7b2dfd..a27812b222b 100644 --- a/src/sage/modular/abvar/lseries.py +++ b/src/sage/modular/abvar/lseries.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.flint """ `L`-series of modular abelian varieties diff --git a/src/sage/modular/abvar/morphism.py b/src/sage/modular/abvar/morphism.py index cc7e5a22ab2..b85cc670df9 100644 --- a/src/sage/modular/abvar/morphism.py +++ b/src/sage/modular/abvar/morphism.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.flint r""" Hecke operators and morphisms between modular abelian varieties diff --git a/src/sage/modular/abvar/torsion_point.py b/src/sage/modular/abvar/torsion_point.py index 6702a231cbb..849b9451f30 100644 --- a/src/sage/modular/abvar/torsion_point.py +++ b/src/sage/modular/abvar/torsion_point.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.rings.number_field """ Torsion points on modular abelian varieties diff --git a/src/sage/modular/abvar/torsion_subgroup.py b/src/sage/modular/abvar/torsion_subgroup.py index 5993a611355..25cd48ada24 100644 --- a/src/sage/modular/abvar/torsion_subgroup.py +++ b/src/sage/modular/abvar/torsion_subgroup.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.flint sage.libs.pari """ Torsion subgroups of modular abelian varieties diff --git a/src/sage/modular/all.py b/src/sage/modular/all.py index cfccb18e65f..19c03a95049 100644 --- a/src/sage/modular/all.py +++ b/src/sage/modular/all.py @@ -1,24 +1,25 @@ +# sage_setup: distribution = sagemath-schemes from sage.misc.lazy_import import lazy_import -from .quatalg.all import * +from sage.modular.quatalg.all import * -from .modsym.all import * +from sage.modular.modsym.all import * -from .modform.all import * +from sage.modular.modform.all import * -from .ssmod.all import * +from sage.modular.ssmod.all import * -from .abvar.all import * +from sage.modular.abvar.all import * -from .dirichlet import (DirichletGroup, - kronecker_character, kronecker_character_upside_down, - trivial_character) +from sage.modular.dirichlet import (DirichletGroup, + kronecker_character, kronecker_character_upside_down, + trivial_character) -from .arithgroup.all import (Gamma0, Gamma1, GammaH, Gamma, SL2Z, - ArithmeticSubgroup_Permutation, - CongruenceSubgroup, FareySymbol) +from sage.modular.arithgroup.all import (Gamma0, Gamma1, GammaH, Gamma, SL2Z, + ArithmeticSubgroup_Permutation, + CongruenceSubgroup, FareySymbol) -from .cusps import Cusp, Cusps +from sage.modular.cusps import Cusp, Cusps lazy_import('sage.modular.dims', ('dimension_cusp_forms', 'dimension_new_cusp_forms', @@ -27,19 +28,20 @@ 'sturm_bound'), deprecation=(32647, 'removed from main namespace')) -from .etaproducts import (EtaGroup, EtaProduct, EtaGroupElement, - AllCusps, CuspFamily) +from sage.modular.etaproducts import (EtaGroup, EtaProduct, EtaGroupElement, + AllCusps, CuspFamily) lazy_import('sage.modular.multiple_zeta', ['Multizeta', 'Multizetas']) -from .overconvergent.all import * +from sage.modular.overconvergent.all import * -from .local_comp.all import * +from sage.modular.local_comp.all import * -from .cusps_nf import NFCusp, NFCusps, Gamma0_NFCusps +from sage.modular.cusps_nf import NFCusp, NFCusps, Gamma0_NFCusps -from .btquotients.all import * +from sage.modular.btquotients.all import * -from .pollack_stevens.all import * +from sage.modular.pollack_stevens.all import * -from .quasimodform.all import * +from sage.modular.quasimodform.all import * +del lazy_import diff --git a/src/sage/modular/arithgroup/all.py b/src/sage/modular/arithgroup/all.py index d4fb241d1f9..4dd543b8e14 100644 --- a/src/sage/modular/arithgroup/all.py +++ b/src/sage/modular/arithgroup/all.py @@ -1,18 +1,20 @@ +# sage_setup: distribution = sagemath-schemes # Note: the is_xxx functions are imported to here, but not from here up to sage.modular.all, so # they are invisible to the user but easy to import all in one go by other code that needs them. -from .arithgroup_generic import is_ArithmeticSubgroup -from .congroup_generic import is_CongruenceSubgroup, CongruenceSubgroup_constructor as CongruenceSubgroup -from .congroup_gammaH import GammaH_constructor as GammaH, is_GammaH -from .congroup_gamma1 import Gamma1_constructor as Gamma1, is_Gamma1 -from .congroup_gamma0 import Gamma0_constructor as Gamma0, is_Gamma0 -from .congroup_gamma import Gamma_constructor as Gamma, is_Gamma -from .congroup_sl2z import SL2Z, is_SL2Z +from sage.modular.arithgroup.arithgroup_generic import is_ArithmeticSubgroup +from sage.modular.arithgroup.congroup_generic import is_CongruenceSubgroup, CongruenceSubgroup_constructor as CongruenceSubgroup +from sage.modular.arithgroup.congroup_gammaH import GammaH_constructor as GammaH, is_GammaH +from sage.modular.arithgroup.congroup_gamma1 import Gamma1_constructor as Gamma1, is_Gamma1 +from sage.modular.arithgroup.congroup_gamma0 import Gamma0_constructor as Gamma0, is_Gamma0 +from sage.modular.arithgroup.congroup_gamma import Gamma_constructor as Gamma, is_Gamma +from sage.modular.arithgroup.congroup_sl2z import SL2Z, is_SL2Z from sage.misc.lazy_import import lazy_import lazy_import('sage.modular.arithgroup.arithgroup_perm', 'ArithmeticSubgroup_Permutation') -from .congroup import (degeneracy_coset_representatives_gamma0, - degeneracy_coset_representatives_gamma1) +from sage.modular.arithgroup.congroup import (degeneracy_coset_representatives_gamma0, + degeneracy_coset_representatives_gamma1) -from .farey_symbol import Farey as FareySymbol +from sage.modular.arithgroup.farey_symbol import Farey as FareySymbol +del lazy_import diff --git a/src/sage/modular/arithgroup/arithgroup_element.pyx b/src/sage/modular/arithgroup/arithgroup_element.pyx index 1b3db34a04c..b0602f1ec0b 100644 --- a/src/sage/modular/arithgroup/arithgroup_element.pyx +++ b/src/sage/modular/arithgroup/arithgroup_element.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes """ Elements of arithmetic subgroups """ diff --git a/src/sage/modular/arithgroup/arithgroup_generic.py b/src/sage/modular/arithgroup/arithgroup_generic.py index 105eaed623b..90be418efae 100644 --- a/src/sage/modular/arithgroup/arithgroup_generic.py +++ b/src/sage/modular/arithgroup/arithgroup_generic.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.pari r""" Arithmetic subgroups, finite index subgroups of `\SL_2(\ZZ)` diff --git a/src/sage/modular/arithgroup/arithgroup_perm.py b/src/sage/modular/arithgroup/arithgroup_perm.py index 6ff94e3bcac..e9ec3094d8b 100644 --- a/src/sage/modular/arithgroup/arithgroup_perm.py +++ b/src/sage/modular/arithgroup/arithgroup_perm.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.groups r""" Arithmetic subgroups defined by permutations of cosets diff --git a/src/sage/modular/arithgroup/congroup.pyx b/src/sage/modular/arithgroup/congroup.pyx index 002e3bb02da..90a4b113392 100644 --- a/src/sage/modular/arithgroup/congroup.pyx +++ b/src/sage/modular/arithgroup/congroup.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes r""" Helper functions for congruence subgroups diff --git a/src/sage/modular/arithgroup/congroup_gamma.py b/src/sage/modular/arithgroup/congroup_gamma.py index fee74dcce8e..2c90bd49a7c 100644 --- a/src/sage/modular/arithgroup/congroup_gamma.py +++ b/src/sage/modular/arithgroup/congroup_gamma.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes r""" Congruence subgroup `\Gamma(N)` """ diff --git a/src/sage/modular/arithgroup/congroup_gamma0.py b/src/sage/modular/arithgroup/congroup_gamma0.py index aecf1582f98..21231c5fab1 100644 --- a/src/sage/modular/arithgroup/congroup_gamma0.py +++ b/src/sage/modular/arithgroup/congroup_gamma0.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.pari r""" Congruence subgroup `\Gamma_0(N)` diff --git a/src/sage/modular/arithgroup/congroup_gamma1.py b/src/sage/modular/arithgroup/congroup_gamma1.py index 0e417904b0e..4b73021bf33 100644 --- a/src/sage/modular/arithgroup/congroup_gamma1.py +++ b/src/sage/modular/arithgroup/congroup_gamma1.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.pari r""" Congruence subgroup `\Gamma_1(N)` diff --git a/src/sage/modular/arithgroup/congroup_gammaH.py b/src/sage/modular/arithgroup/congroup_gammaH.py index 0b97c83ecf7..2162c8fa684 100644 --- a/src/sage/modular/arithgroup/congroup_gammaH.py +++ b/src/sage/modular/arithgroup/congroup_gammaH.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.pari r""" Congruence subgroup `\Gamma_H(N)` diff --git a/src/sage/modular/arithgroup/congroup_generic.py b/src/sage/modular/arithgroup/congroup_generic.py index 3fd60c06165..7cabf15d855 100644 --- a/src/sage/modular/arithgroup/congroup_generic.py +++ b/src/sage/modular/arithgroup/congroup_generic.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.flint sage.libs.gap sage.libs.pari r""" Congruence arithmetic subgroups of `\SL_2(\ZZ)` diff --git a/src/sage/modular/arithgroup/congroup_sl2z.py b/src/sage/modular/arithgroup/congroup_sl2z.py index d870f207b38..baa20b48463 100644 --- a/src/sage/modular/arithgroup/congroup_sl2z.py +++ b/src/sage/modular/arithgroup/congroup_sl2z.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes r""" The modular group `\SL_2(\ZZ)` diff --git a/src/sage/modular/arithgroup/farey_symbol.pyx b/src/sage/modular/arithgroup/farey_symbol.pyx index 61c2446a16b..f43abc157b7 100644 --- a/src/sage/modular/arithgroup/farey_symbol.pyx +++ b/src/sage/modular/arithgroup/farey_symbol.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # distutils: sources = sage/modular/arithgroup/sl2z.cpp sage/modular/arithgroup/farey.cpp # distutils: language = c++ # distutils: extra_compile_args = -std=c++11 diff --git a/src/sage/modular/arithgroup/tests.py b/src/sage/modular/arithgroup/tests.py index d30ead3ac4c..080067913e6 100644 --- a/src/sage/modular/arithgroup/tests.py +++ b/src/sage/modular/arithgroup/tests.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.groups r""" Testing arithmetic subgroup diff --git a/src/sage/modular/btquotients/all.py b/src/sage/modular/btquotients/all.py index 3807442da70..15c39012db2 100644 --- a/src/sage/modular/btquotients/all.py +++ b/src/sage/modular/btquotients/all.py @@ -1,3 +1,5 @@ -from .btquotient import BruhatTitsQuotient -#from pautomorphicform import pAdicAutomorphicForms -#from pautomorphicform import BruhatTitsHarmonicCocycles +# sage_setup: distribution = sagemath-schemes + +from sage.modular.btquotients.btquotient import BruhatTitsQuotient +# from pautomorphicform import pAdicAutomorphicForms +# from pautomorphicform import BruhatTitsHarmonicCocycles diff --git a/src/sage/modular/btquotients/btquotient.py b/src/sage/modular/btquotients/btquotient.py index 828a003b0ab..29be990dd5d 100644 --- a/src/sage/modular/btquotients/btquotient.py +++ b/src/sage/modular/btquotients/btquotient.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.pari r""" Quotients of the Bruhat-Tits tree diff --git a/src/sage/modular/btquotients/pautomorphicform.py b/src/sage/modular/btquotients/pautomorphicform.py index fc06af86c38..03298554a01 100644 --- a/src/sage/modular/btquotients/pautomorphicform.py +++ b/src/sage/modular/btquotients/pautomorphicform.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.pari ######################################################################### # Copyright (C) 2011 Cameron Franc and Marc Masdeu diff --git a/src/sage/modular/buzzard.py b/src/sage/modular/buzzard.py index 72e72e745cc..06583f1a435 100644 --- a/src/sage/modular/buzzard.py +++ b/src/sage/modular/buzzard.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.pari """ Conjectural slopes of Hecke polynomials diff --git a/src/sage/modular/congroup.py b/src/sage/modular/congroup.py index 23a6679fdcc..57ae81ec647 100644 --- a/src/sage/modular/congroup.py +++ b/src/sage/modular/congroup.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes ########################################################### # Re-bindings for unpickling # diff --git a/src/sage/modular/congroup_element.py b/src/sage/modular/congroup_element.py index 61ae5071e46..f599fcf9c64 100644 --- a/src/sage/modular/congroup_element.py +++ b/src/sage/modular/congroup_element.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes ########################################################### # Re-bindings for unpickling # diff --git a/src/sage/modular/cusps.py b/src/sage/modular/cusps.py index 263eb61308a..f9857528547 100644 --- a/src/sage/modular/cusps.py +++ b/src/sage/modular/cusps.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes r""" The set `\mathbb{P}^1(\QQ)` of cusps diff --git a/src/sage/modular/cusps_nf.py b/src/sage/modular/cusps_nf.py index 8d8b580a74e..73f020879ad 100644 --- a/src/sage/modular/cusps_nf.py +++ b/src/sage/modular/cusps_nf.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.rings.number_field r""" The set `\mathbb{P}^1(K)` of cusps of a number field `K` diff --git a/src/sage/modular/dims.py b/src/sage/modular/dims.py index b8b83e87b57..e7d6e79c2a1 100644 --- a/src/sage/modular/dims.py +++ b/src/sage/modular/dims.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.pari r""" Dimensions of spaces of modular forms diff --git a/src/sage/modular/dirichlet.py b/src/sage/modular/dirichlet.py index 7b0c28c5c32..b73169fc7fb 100644 --- a/src/sage/modular/dirichlet.py +++ b/src/sage/modular/dirichlet.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.pari r""" Dirichlet characters diff --git a/src/sage/modular/etaproducts.py b/src/sage/modular/etaproducts.py index 54442f02ec8..51bbebac142 100644 --- a/src/sage/modular/etaproducts.py +++ b/src/sage/modular/etaproducts.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes r""" Eta-products on modular curves `X_0(N)` diff --git a/src/sage/modular/hecke/algebra.py b/src/sage/modular/hecke/algebra.py index 2f314e5d3ef..0d932ab23c3 100644 --- a/src/sage/modular/hecke/algebra.py +++ b/src/sage/modular/hecke/algebra.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.flint sage.libs.pari """ Hecke algebras diff --git a/src/sage/modular/hecke/all.py b/src/sage/modular/hecke/all.py index 0aaa2232773..144d82f1ca3 100644 --- a/src/sage/modular/hecke/all.py +++ b/src/sage/modular/hecke/all.py @@ -1,19 +1,21 @@ -from .homspace import HeckeModuleHomspace, is_HeckeModuleHomspace +# sage_setup: distribution = sagemath-schemes -from .module import HeckeModule_free_module, HeckeModule_generic, is_HeckeModule +from sage.modular.hecke.homspace import HeckeModuleHomspace, is_HeckeModuleHomspace -from .hecke_operator import HeckeOperator, is_HeckeOperator +from sage.modular.hecke.module import HeckeModule_free_module, HeckeModule_generic, is_HeckeModule -from .degenmap import DegeneracyMap +from sage.modular.hecke.hecke_operator import HeckeOperator, is_HeckeOperator -from .algebra import HeckeAlgebra, is_HeckeAlgebra +from sage.modular.hecke.degenmap import DegeneracyMap -from .morphism import (HeckeModuleMorphism, HeckeModuleMorphism_matrix, - is_HeckeModuleMorphism, - is_HeckeModuleMorphism_matrix) +from sage.modular.hecke.algebra import HeckeAlgebra, is_HeckeAlgebra -from .element import HeckeModuleElement, is_HeckeModuleElement +from sage.modular.hecke.morphism import (HeckeModuleMorphism, HeckeModuleMorphism_matrix, + is_HeckeModuleMorphism, + is_HeckeModuleMorphism_matrix) -from .submodule import HeckeSubmodule, is_HeckeSubmodule +from sage.modular.hecke.element import HeckeModuleElement, is_HeckeModuleElement -from .ambient_module import AmbientHeckeModule, is_AmbientHeckeModule +from sage.modular.hecke.submodule import HeckeSubmodule, is_HeckeSubmodule + +from sage.modular.hecke.ambient_module import AmbientHeckeModule, is_AmbientHeckeModule diff --git a/src/sage/modular/hecke/ambient_module.py b/src/sage/modular/hecke/ambient_module.py index 7805cd2d364..b1f758c3e6a 100644 --- a/src/sage/modular/hecke/ambient_module.py +++ b/src/sage/modular/hecke/ambient_module.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.flint sage.libs.pari """ Ambient Hecke modules diff --git a/src/sage/modular/hecke/degenmap.py b/src/sage/modular/hecke/degenmap.py index 887506e7559..1590a691f19 100644 --- a/src/sage/modular/hecke/degenmap.py +++ b/src/sage/modular/hecke/degenmap.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.flint """ Degeneracy maps diff --git a/src/sage/modular/hecke/element.py b/src/sage/modular/hecke/element.py index f45a29f6b31..f0ce2337bee 100644 --- a/src/sage/modular/hecke/element.py +++ b/src/sage/modular/hecke/element.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.flint sage.libs.pari """ Elements of Hecke modules diff --git a/src/sage/modular/hecke/hecke_operator.py b/src/sage/modular/hecke/hecke_operator.py index b1e6ea9707c..d21262f91e7 100644 --- a/src/sage/modular/hecke/hecke_operator.py +++ b/src/sage/modular/hecke/hecke_operator.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.flint sage.libs.pari """ Hecke operators diff --git a/src/sage/modular/hecke/homspace.py b/src/sage/modular/hecke/homspace.py index 194162faba4..34b9a8ec3d6 100644 --- a/src/sage/modular/hecke/homspace.py +++ b/src/sage/modular/hecke/homspace.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.pari r""" Hom spaces between Hecke modules diff --git a/src/sage/modular/hecke/module.py b/src/sage/modular/hecke/module.py index 65536b4a043..7757f83ba10 100644 --- a/src/sage/modular/hecke/module.py +++ b/src/sage/modular/hecke/module.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.flint sage.libs.pari """ Hecke modules diff --git a/src/sage/modular/hecke/morphism.py b/src/sage/modular/hecke/morphism.py index ac9cfbf4e84..b3f105807e2 100644 --- a/src/sage/modular/hecke/morphism.py +++ b/src/sage/modular/hecke/morphism.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.flint """ Morphisms of Hecke modules diff --git a/src/sage/modular/hecke/submodule.py b/src/sage/modular/hecke/submodule.py index 5e9bf127496..c9873c05b48 100644 --- a/src/sage/modular/hecke/submodule.py +++ b/src/sage/modular/hecke/submodule.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.flint sage.libs.pari """ Submodules of Hecke modules diff --git a/src/sage/modular/hypergeometric_misc.pxd b/src/sage/modular/hypergeometric_misc.pxd index 00bf9a97e9a..79a8931c3ce 100644 --- a/src/sage/modular/hypergeometric_misc.pxd +++ b/src/sage/modular/hypergeometric_misc.pxd @@ -1,2 +1,3 @@ +# sage_setup: distribution = sagemath-schemes cpdef hgm_coeffs(long long p, int f, int prec, gamma, m, int D, gtable, int gtable_prec, bint use_longs) diff --git a/src/sage/modular/hypergeometric_misc.pyx b/src/sage/modular/hypergeometric_misc.pyx index b8c39aeefa7..77f351c3e1a 100644 --- a/src/sage/modular/hypergeometric_misc.pyx +++ b/src/sage/modular/hypergeometric_misc.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes """ Some utility routines for the hypergeometric motives package that benefit significantly from Cythonization. diff --git a/src/sage/modular/hypergeometric_motive.py b/src/sage/modular/hypergeometric_motive.py index 26a9ff00c7c..afe857d0e40 100644 --- a/src/sage/modular/hypergeometric_motive.py +++ b/src/sage/modular/hypergeometric_motive.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes """ Hypergeometric motives diff --git a/src/sage/modular/local_comp/all.py b/src/sage/modular/local_comp/all.py index 1df1ec59fd6..60806b8c93f 100644 --- a/src/sage/modular/local_comp/all.py +++ b/src/sage/modular/local_comp/all.py @@ -1 +1,3 @@ -from .local_comp import LocalComponent +# sage_setup: distribution = sagemath-schemes + +from sage.modular.local_comp.local_comp import LocalComponent diff --git a/src/sage/modular/local_comp/liftings.py b/src/sage/modular/local_comp/liftings.py index dcb901cc3a1..fa5ef7d369a 100644 --- a/src/sage/modular/local_comp/liftings.py +++ b/src/sage/modular/local_comp/liftings.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes r""" Helper functions for local components diff --git a/src/sage/modular/local_comp/local_comp.py b/src/sage/modular/local_comp/local_comp.py index 0fb990c17de..21f62500928 100644 --- a/src/sage/modular/local_comp/local_comp.py +++ b/src/sage/modular/local_comp/local_comp.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.pari r""" Local components of modular forms diff --git a/src/sage/modular/local_comp/smoothchar.py b/src/sage/modular/local_comp/smoothchar.py index cfce7550fda..e278c6b2106 100644 --- a/src/sage/modular/local_comp/smoothchar.py +++ b/src/sage/modular/local_comp/smoothchar.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.pari sage.rings.number_field r""" Smooth characters of `p`-adic fields diff --git a/src/sage/modular/local_comp/type_space.py b/src/sage/modular/local_comp/type_space.py index a808ef48743..a85005966a8 100644 --- a/src/sage/modular/local_comp/type_space.py +++ b/src/sage/modular/local_comp/type_space.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.pari r""" Type spaces of newforms diff --git a/src/sage/modular/modform/all.py b/src/sage/modular/modform/all.py index feb1521d3ca..18afdf8401e 100644 --- a/src/sage/modular/modform/all.py +++ b/src/sage/modular/modform/all.py @@ -1,28 +1,30 @@ +# sage_setup: distribution = sagemath-schemes ######################################################################### # Copyright (C) 2004--2006 William Stein # # Distributed under the terms of the GNU General Public License (GPL) # -# http://www.gnu.org/licenses/ +# https://www.gnu.org/licenses/ ######################################################################### -from .constructor import ModularForms, CuspForms, EisensteinForms, Newforms, Newform +from sage.modular.modform.constructor import ModularForms, CuspForms, EisensteinForms, Newforms, Newform -from .eis_series import eisenstein_series_qexp, eisenstein_series_lseries +from sage.modular.modform.eis_series import eisenstein_series_qexp, eisenstein_series_lseries -from .half_integral import half_integral_weight_modform_basis +from sage.modular.modform.half_integral import half_integral_weight_modform_basis -from .theta import theta_qexp, theta2_qexp +from sage.modular.modform.theta import theta_qexp, theta2_qexp from sage.misc.lazy_import import lazy_import lazy_import('sage.modular.modform.j_invariant', 'j_invariant_qexp') lazy_import('sage.modular.modform.vm_basis', ['victor_miller_basis', 'delta_qexp']) -from .hecke_operator_on_qexp import hecke_operator_on_qexp, hecke_operator_on_basis +from sage.modular.modform.hecke_operator_on_qexp import hecke_operator_on_qexp, hecke_operator_on_basis -from .numerical import NumericalEigenforms as numerical_eigenforms +from sage.modular.modform.numerical import NumericalEigenforms as numerical_eigenforms -from .element import delta_lseries +from sage.modular.modform.element import delta_lseries -from .ring import ModularFormsRing +from sage.modular.modform.ring import ModularFormsRing +del lazy_import diff --git a/src/sage/modular/modform/ambient.py b/src/sage/modular/modform/ambient.py index dac59731ec5..2267b67247a 100644 --- a/src/sage/modular/modform/ambient.py +++ b/src/sage/modular/modform/ambient.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.pari r""" Ambient spaces of modular forms diff --git a/src/sage/modular/modform/ambient_R.py b/src/sage/modular/modform/ambient_R.py index 9f416f49169..76ce3658725 100644 --- a/src/sage/modular/modform/ambient_R.py +++ b/src/sage/modular/modform/ambient_R.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.pari """ Modular forms over a non-minimal base ring diff --git a/src/sage/modular/modform/ambient_eps.py b/src/sage/modular/modform/ambient_eps.py index 57bad5752eb..0fe07aef281 100644 --- a/src/sage/modular/modform/ambient_eps.py +++ b/src/sage/modular/modform/ambient_eps.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.pari sage.rings.number_field r""" Modular forms with character diff --git a/src/sage/modular/modform/ambient_g0.py b/src/sage/modular/modform/ambient_g0.py index 0b2ffb8fb83..17186291d89 100644 --- a/src/sage/modular/modform/ambient_g0.py +++ b/src/sage/modular/modform/ambient_g0.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.pari r""" Modular forms for `\Gamma_0(N)` over `\QQ` diff --git a/src/sage/modular/modform/ambient_g1.py b/src/sage/modular/modform/ambient_g1.py index 40c6c579e2d..02a660951b9 100644 --- a/src/sage/modular/modform/ambient_g1.py +++ b/src/sage/modular/modform/ambient_g1.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes r""" Modular forms for `\Gamma_1(N)` and `\Gamma_H(N)` over `\QQ` diff --git a/src/sage/modular/modform/constructor.py b/src/sage/modular/modform/constructor.py index 02107b2f9d7..2ba3f3b9889 100644 --- a/src/sage/modular/modform/constructor.py +++ b/src/sage/modular/modform/constructor.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.pari """ Creating spaces of modular forms diff --git a/src/sage/modular/modform/cuspidal_submodule.py b/src/sage/modular/modform/cuspidal_submodule.py index 0bf53873ed3..a0f28881dfe 100644 --- a/src/sage/modular/modform/cuspidal_submodule.py +++ b/src/sage/modular/modform/cuspidal_submodule.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.pari """ The cuspidal subspace diff --git a/src/sage/modular/modform/defaults.py b/src/sage/modular/modform/defaults.py index e818030eebf..4a7d07edb69 100644 --- a/src/sage/modular/modform/defaults.py +++ b/src/sage/modular/modform/defaults.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes ######################################################################### # Copyright (C) 2004--2006 William Stein # diff --git a/src/sage/modular/modform/eis_series.py b/src/sage/modular/modform/eis_series.py index bb3e89697c2..8037c6bd0ec 100644 --- a/src/sage/modular/modform/eis_series.py +++ b/src/sage/modular/modform/eis_series.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.flint sage.libs.pari """ Eisenstein series diff --git a/src/sage/modular/modform/eisenstein_submodule.py b/src/sage/modular/modform/eisenstein_submodule.py index 034d94479d5..41332b31d18 100644 --- a/src/sage/modular/modform/eisenstein_submodule.py +++ b/src/sage/modular/modform/eisenstein_submodule.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.pari """ The Eisenstein subspace diff --git a/src/sage/modular/modform/element.py b/src/sage/modular/modform/element.py index 999b8dc93b9..5703faada50 100644 --- a/src/sage/modular/modform/element.py +++ b/src/sage/modular/modform/element.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.flint sage.libs.pari """ Elements of modular forms spaces diff --git a/src/sage/modular/modform/find_generators.py b/src/sage/modular/modform/find_generators.py index 3fb00a3f9af..b3a8c039864 100644 --- a/src/sage/modular/modform/find_generators.py +++ b/src/sage/modular/modform/find_generators.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.flint r""" This module is now called ``ring.py`` (see :issue:`31559`). Do not import from here as diff --git a/src/sage/modular/modform/half_integral.py b/src/sage/modular/modform/half_integral.py index bf6c33e73a1..bee31db4d92 100644 --- a/src/sage/modular/modform/half_integral.py +++ b/src/sage/modular/modform/half_integral.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes r""" Compute spaces of half-integral weight modular forms diff --git a/src/sage/modular/modform/hecke_operator_on_qexp.py b/src/sage/modular/modform/hecke_operator_on_qexp.py index 33d26b5f43b..6aea5bc9717 100644 --- a/src/sage/modular/modform/hecke_operator_on_qexp.py +++ b/src/sage/modular/modform/hecke_operator_on_qexp.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.flint """ Hecke operators on `q`-expansions diff --git a/src/sage/modular/modform/j_invariant.py b/src/sage/modular/modform/j_invariant.py index 48b7c91fcb0..3297b0509e7 100644 --- a/src/sage/modular/modform/j_invariant.py +++ b/src/sage/modular/modform/j_invariant.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.flint r""" `q`-expansion of `j`-invariant diff --git a/src/sage/modular/modform/l_series_gross_zagier.py b/src/sage/modular/modform/l_series_gross_zagier.py index 28acdeeb978..39728eb87b9 100644 --- a/src/sage/modular/modform/l_series_gross_zagier.py +++ b/src/sage/modular/modform/l_series_gross_zagier.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes from sage.rings.integer import Integer from sage.structure.sage_object import SageObject from sage.lfunctions.dokchitser import Dokchitser diff --git a/src/sage/modular/modform/l_series_gross_zagier_coeffs.pyx b/src/sage/modular/modform/l_series_gross_zagier_coeffs.pyx index f91a3e256f0..a6deb180a79 100644 --- a/src/sage/modular/modform/l_series_gross_zagier_coeffs.pyx +++ b/src/sage/modular/modform/l_series_gross_zagier_coeffs.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes from cysignals.memory cimport check_allocarray, check_calloc, sig_free from cysignals.signals cimport sig_check, sig_on, sig_off diff --git a/src/sage/modular/modform/notes.py b/src/sage/modular/modform/notes.py index 833bb017bfd..61064b6f40b 100644 --- a/src/sage/modular/modform/notes.py +++ b/src/sage/modular/modform/notes.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes r""" Design notes diff --git a/src/sage/modular/modform/numerical.py b/src/sage/modular/modform/numerical.py index 362caee0038..278bb977f66 100644 --- a/src/sage/modular/modform/numerical.py +++ b/src/sage/modular/modform/numerical.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.flint """ Numerical computation of newforms diff --git a/src/sage/modular/modform/periods.py b/src/sage/modular/modform/periods.py index d1b3dd72245..8c6fce42899 100644 --- a/src/sage/modular/modform/periods.py +++ b/src/sage/modular/modform/periods.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes """ Periods of modular forms """ diff --git a/src/sage/modular/modform/ring.py b/src/sage/modular/modform/ring.py index c0a69717cfa..365f9f2a504 100644 --- a/src/sage/modular/modform/ring.py +++ b/src/sage/modular/modform/ring.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.flint sage.libs.pari """ Graded rings of modular forms diff --git a/src/sage/modular/modform/space.py b/src/sage/modular/modform/space.py index 289119f9d37..186d353398a 100644 --- a/src/sage/modular/modform/space.py +++ b/src/sage/modular/modform/space.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.pari r""" Generic spaces of modular forms diff --git a/src/sage/modular/modform/submodule.py b/src/sage/modular/modform/submodule.py index f2bc33f5782..3fe00bbee78 100644 --- a/src/sage/modular/modform/submodule.py +++ b/src/sage/modular/modform/submodule.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.pari """ Submodules of spaces of modular forms diff --git a/src/sage/modular/modform/tests.py b/src/sage/modular/modform/tests.py index 9ca5b54a194..62902dfb3c6 100644 --- a/src/sage/modular/modform/tests.py +++ b/src/sage/modular/modform/tests.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.pari """ TESTS: diff --git a/src/sage/modular/modform/theta.py b/src/sage/modular/modform/theta.py index ea0a88c81ba..d2e247c5e61 100644 --- a/src/sage/modular/modform/theta.py +++ b/src/sage/modular/modform/theta.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes """ `q`-expansions of theta series diff --git a/src/sage/modular/modform/vm_basis.py b/src/sage/modular/modform/vm_basis.py index 244a305e324..0588ee3c5e1 100644 --- a/src/sage/modular/modform/vm_basis.py +++ b/src/sage/modular/modform/vm_basis.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.flint r""" The Victor Miller basis diff --git a/src/sage/modular/modform/weight1.py b/src/sage/modular/modform/weight1.py index c2ce006decb..b9c5eb31d5e 100644 --- a/src/sage/modular/modform/weight1.py +++ b/src/sage/modular/modform/weight1.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.pari r""" Weight 1 modular forms diff --git a/src/sage/modular/modform_hecketriangle/abstract_ring.py b/src/sage/modular/modform_hecketriangle/abstract_ring.py index 3b68a6e505c..4342a229740 100644 --- a/src/sage/modular/modform_hecketriangle/abstract_ring.py +++ b/src/sage/modular/modform_hecketriangle/abstract_ring.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes r""" Graded rings of modular forms for Hecke triangle groups diff --git a/src/sage/modular/modform_hecketriangle/abstract_space.py b/src/sage/modular/modform_hecketriangle/abstract_space.py index 47bd1e6c766..b6652b51412 100644 --- a/src/sage/modular/modform_hecketriangle/abstract_space.py +++ b/src/sage/modular/modform_hecketriangle/abstract_space.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.combinat sage.graphs r""" Modular forms for Hecke triangle groups diff --git a/src/sage/modular/modform_hecketriangle/all.py b/src/sage/modular/modform_hecketriangle/all.py index cd236efc334..bfb8f6b8239 100644 --- a/src/sage/modular/modform_hecketriangle/all.py +++ b/src/sage/modular/modform_hecketriangle/all.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes r""" AUTHORS: @@ -11,19 +12,19 @@ # the License, or (at your option) any later version. # https://www.gnu.org/licenses/ # **************************************************************************** -from .hecke_triangle_groups import HeckeTriangleGroup +from sage.modular.modform_hecketriangle.hecke_triangle_groups import HeckeTriangleGroup -from .series_constructor import MFSeriesConstructor +from sage.modular.modform_hecketriangle.series_constructor import MFSeriesConstructor -from .graded_ring import (QuasiMeromorphicModularFormsRing, - QuasiWeakModularFormsRing, QuasiModularFormsRing, - QuasiCuspFormsRing, MeromorphicModularFormsRing, - WeakModularFormsRing, - ModularFormsRing, CuspFormsRing) +from sage.modular.modform_hecketriangle.graded_ring import (QuasiMeromorphicModularFormsRing, + QuasiWeakModularFormsRing, QuasiModularFormsRing, + QuasiCuspFormsRing, MeromorphicModularFormsRing, + WeakModularFormsRing, + ModularFormsRing, CuspFormsRing) -from .space import (QuasiMeromorphicModularForms, QuasiWeakModularForms, - QuasiModularForms, QuasiCuspForms, - MeromorphicModularForms, WeakModularForms, ModularForms, - CuspForms, ZeroForm) +from sage.modular.modform_hecketriangle.space import (QuasiMeromorphicModularForms, QuasiWeakModularForms, + QuasiModularForms, QuasiCuspForms, + MeromorphicModularForms, WeakModularForms, ModularForms, + CuspForms, ZeroForm) -from .subspace import ModularFormsSubSpace +from sage.modular.modform_hecketriangle.subspace import ModularFormsSubSpace diff --git a/src/sage/modular/modform_hecketriangle/analytic_type.py b/src/sage/modular/modform_hecketriangle/analytic_type.py index e5fc53abb25..33a8a3bb15d 100644 --- a/src/sage/modular/modform_hecketriangle/analytic_type.py +++ b/src/sage/modular/modform_hecketriangle/analytic_type.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.graphs r""" Analytic types of modular forms diff --git a/src/sage/modular/modform_hecketriangle/constructor.py b/src/sage/modular/modform_hecketriangle/constructor.py index 040aa01add7..835ce412ef6 100644 --- a/src/sage/modular/modform_hecketriangle/constructor.py +++ b/src/sage/modular/modform_hecketriangle/constructor.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.combinat sage.graphs r""" Constructor for spaces of modular forms for Hecke triangle groups based on a type diff --git a/src/sage/modular/modform_hecketriangle/element.py b/src/sage/modular/modform_hecketriangle/element.py index 4f58baafff5..ae7855e47eb 100644 --- a/src/sage/modular/modform_hecketriangle/element.py +++ b/src/sage/modular/modform_hecketriangle/element.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.combinat sage.graphs r""" Elements of Hecke modular forms spaces diff --git a/src/sage/modular/modform_hecketriangle/functors.py b/src/sage/modular/modform_hecketriangle/functors.py index 3ba9c865231..332afdff963 100644 --- a/src/sage/modular/modform_hecketriangle/functors.py +++ b/src/sage/modular/modform_hecketriangle/functors.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.combinat sage.graphs r""" Functor construction for all spaces diff --git a/src/sage/modular/modform_hecketriangle/graded_ring.py b/src/sage/modular/modform_hecketriangle/graded_ring.py index 877f6562235..df2fca9cf93 100644 --- a/src/sage/modular/modform_hecketriangle/graded_ring.py +++ b/src/sage/modular/modform_hecketriangle/graded_ring.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.combinat sage.graphs r""" Graded rings of modular forms for Hecke triangle groups diff --git a/src/sage/modular/modform_hecketriangle/graded_ring_element.py b/src/sage/modular/modform_hecketriangle/graded_ring_element.py index 0de1562677b..63974cfc322 100644 --- a/src/sage/modular/modform_hecketriangle/graded_ring_element.py +++ b/src/sage/modular/modform_hecketriangle/graded_ring_element.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.combinat sage.graphs r""" Elements of graded rings of modular forms for Hecke triangle groups diff --git a/src/sage/modular/modform_hecketriangle/hecke_triangle_group_element.py b/src/sage/modular/modform_hecketriangle/hecke_triangle_group_element.py index 2d52c934adf..258711a730e 100644 --- a/src/sage/modular/modform_hecketriangle/hecke_triangle_group_element.py +++ b/src/sage/modular/modform_hecketriangle/hecke_triangle_group_element.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.gap r""" Hecke triangle group elements diff --git a/src/sage/modular/modform_hecketriangle/hecke_triangle_groups.py b/src/sage/modular/modform_hecketriangle/hecke_triangle_groups.py index b6a4da172dc..7860990c17b 100644 --- a/src/sage/modular/modform_hecketriangle/hecke_triangle_groups.py +++ b/src/sage/modular/modform_hecketriangle/hecke_triangle_groups.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.gap r""" Hecke triangle groups diff --git a/src/sage/modular/modform_hecketriangle/readme.py b/src/sage/modular/modform_hecketriangle/readme.py index 920822a2257..a6b6e92a180 100644 --- a/src/sage/modular/modform_hecketriangle/readme.py +++ b/src/sage/modular/modform_hecketriangle/readme.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.gap r""" Overview of Hecke triangle groups and modular forms for Hecke triangle groups diff --git a/src/sage/modular/modform_hecketriangle/series_constructor.py b/src/sage/modular/modform_hecketriangle/series_constructor.py index b44f41a09a0..61fb99edd69 100644 --- a/src/sage/modular/modform_hecketriangle/series_constructor.py +++ b/src/sage/modular/modform_hecketriangle/series_constructor.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.gap r""" Series constructor for modular forms for Hecke triangle groups diff --git a/src/sage/modular/modform_hecketriangle/space.py b/src/sage/modular/modform_hecketriangle/space.py index e897808ef23..a6b152e39a1 100644 --- a/src/sage/modular/modform_hecketriangle/space.py +++ b/src/sage/modular/modform_hecketriangle/space.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.combinat sage.graphs r""" Modular forms for Hecke triangle groups diff --git a/src/sage/modular/modform_hecketriangle/subspace.py b/src/sage/modular/modform_hecketriangle/subspace.py index 504c5fc1936..7a896bf7165 100644 --- a/src/sage/modular/modform_hecketriangle/subspace.py +++ b/src/sage/modular/modform_hecketriangle/subspace.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.combinat sage.graphs r""" Subspaces of modular forms for Hecke triangle groups diff --git a/src/sage/modular/modsym/all.py b/src/sage/modular/modsym/all.py index 798a4a7d55f..09838f3a306 100644 --- a/src/sage/modular/modsym/all.py +++ b/src/sage/modular/modsym/all.py @@ -1,15 +1,17 @@ +# sage_setup: distribution = sagemath-schemes from sage.misc.lazy_import import lazy_import -from .element import set_modsym_print_mode +from sage.modular.modsym.element import set_modsym_print_mode -from .modsym import ModularSymbols, ModularSymbols_clear_cache +from sage.modular.modsym.modsym import ModularSymbols, ModularSymbols_clear_cache lazy_import('sage.modular.modsym.heilbronn', ['HeilbronnCremona', 'HeilbronnMerel']) -from .p1list import P1List, lift_to_sl2z +from sage.modular.modsym.p1list import P1List, lift_to_sl2z -from .p1list_nf import P1NFList, MSymbol +from sage.modular.modsym.p1list_nf import P1NFList, MSymbol -from .ghlist import GHlist +from sage.modular.modsym.ghlist import GHlist -from .g1list import G1list +from sage.modular.modsym.g1list import G1list +del lazy_import diff --git a/src/sage/modular/modsym/ambient.py b/src/sage/modular/modsym/ambient.py index 00c97e59789..8b9dbeb39ed 100644 --- a/src/sage/modular/modsym/ambient.py +++ b/src/sage/modular/modsym/ambient.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.flint sage.libs.pari r""" Ambient spaces of modular symbols diff --git a/src/sage/modular/modsym/boundary.py b/src/sage/modular/modsym/boundary.py index fab48aab6a3..52a6e04f7ba 100644 --- a/src/sage/modular/modsym/boundary.py +++ b/src/sage/modular/modsym/boundary.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.flint sage.libs.pari r""" Space of boundary modular symbols diff --git a/src/sage/modular/modsym/element.py b/src/sage/modular/modsym/element.py index 686e64e96d8..3debfdddcae 100644 --- a/src/sage/modular/modsym/element.py +++ b/src/sage/modular/modsym/element.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.flint """ A single element of an ambient space of modular symbols diff --git a/src/sage/modular/modsym/g1list.py b/src/sage/modular/modsym/g1list.py index 4485a52814a..857e43b7944 100644 --- a/src/sage/modular/modsym/g1list.py +++ b/src/sage/modular/modsym/g1list.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes r""" List of coset representatives for `\Gamma_1(N)` in `\SL_2(\ZZ)` """ diff --git a/src/sage/modular/modsym/ghlist.py b/src/sage/modular/modsym/ghlist.py index 62989e22105..6ad9359d795 100644 --- a/src/sage/modular/modsym/ghlist.py +++ b/src/sage/modular/modsym/ghlist.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.pari r""" List of coset representatives for `\Gamma_H(N)` in `\SL_2(\ZZ)` diff --git a/src/sage/modular/modsym/hecke_operator.py b/src/sage/modular/modsym/hecke_operator.py index 818de55e97e..a018ffafc41 100644 --- a/src/sage/modular/modsym/hecke_operator.py +++ b/src/sage/modular/modsym/hecke_operator.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.flint """ Sparse action of Hecke operators diff --git a/src/sage/modular/modsym/manin_symbol.pxd b/src/sage/modular/modsym/manin_symbol.pxd index d7f6c7adeae..014fd3b7fd8 100644 --- a/src/sage/modular/modsym/manin_symbol.pxd +++ b/src/sage/modular/modsym/manin_symbol.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes from sage.structure.element cimport Element cdef class ManinSymbol(Element): diff --git a/src/sage/modular/modsym/manin_symbol.pyx b/src/sage/modular/modsym/manin_symbol.pyx index 6da79e21b2d..91698dd2138 100644 --- a/src/sage/modular/modsym/manin_symbol.pyx +++ b/src/sage/modular/modsym/manin_symbol.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.flint r""" Manin symbols diff --git a/src/sage/modular/modsym/manin_symbol_list.py b/src/sage/modular/modsym/manin_symbol_list.py index 7499b6fb500..5889bfd024f 100644 --- a/src/sage/modular/modsym/manin_symbol_list.py +++ b/src/sage/modular/modsym/manin_symbol_list.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes """ Manin symbol lists diff --git a/src/sage/modular/modsym/modsym.py b/src/sage/modular/modsym/modsym.py index 51108d1e84a..965249c4436 100644 --- a/src/sage/modular/modsym/modsym.py +++ b/src/sage/modular/modsym/modsym.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.flint sage.libs.pari r""" Creation of modular symbols spaces diff --git a/src/sage/modular/modsym/modular_symbols.py b/src/sage/modular/modsym/modular_symbols.py index 57dc8f23a2b..adc91cd8644 100644 --- a/src/sage/modular/modsym/modular_symbols.py +++ b/src/sage/modular/modsym/modular_symbols.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.flint r""" Modular symbols `\{\alpha`, `\beta\}` diff --git a/src/sage/modular/modsym/p1list.pxd b/src/sage/modular/modsym/p1list.pxd index b66f28b8ad6..83af443a0a3 100644 --- a/src/sage/modular/modsym/p1list.pxd +++ b/src/sage/modular/modsym/p1list.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes cdef class export: diff --git a/src/sage/modular/modsym/p1list.pyx b/src/sage/modular/modsym/p1list.pyx index 1613d90729a..57fc3612084 100644 --- a/src/sage/modular/modsym/p1list.pyx +++ b/src/sage/modular/modsym/p1list.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # distutils: libraries = gmp # distutils: extra_compile_args = -D_XPG6 diff --git a/src/sage/modular/modsym/p1list_nf.py b/src/sage/modular/modsym/p1list_nf.py index 25c68137e0c..d238da98811 100644 --- a/src/sage/modular/modsym/p1list_nf.py +++ b/src/sage/modular/modsym/p1list_nf.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.rings.number_field r""" Lists of Manin symbols over number fields, elements of `\mathbb{P}^1(R/N)` diff --git a/src/sage/modular/modsym/relation_matrix.py b/src/sage/modular/modsym/relation_matrix.py index 609d70c2446..e59020bb209 100644 --- a/src/sage/modular/modsym/relation_matrix.py +++ b/src/sage/modular/modsym/relation_matrix.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.flint """ Relation matrices for ambient modular symbols spaces diff --git a/src/sage/modular/modsym/relation_matrix_pyx.pyx b/src/sage/modular/modsym/relation_matrix_pyx.pyx index 46d8d716e62..328dc2177d5 100644 --- a/src/sage/modular/modsym/relation_matrix_pyx.pyx +++ b/src/sage/modular/modsym/relation_matrix_pyx.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes """ Optimized computing of relation matrices in certain cases """ diff --git a/src/sage/modular/modsym/space.py b/src/sage/modular/modsym/space.py index a097c1b0c8d..78b610da298 100644 --- a/src/sage/modular/modsym/space.py +++ b/src/sage/modular/modsym/space.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.flint sage.libs.pari """ Base class of the space of modular symbols diff --git a/src/sage/modular/modsym/subspace.py b/src/sage/modular/modsym/subspace.py index fdc69b18b9a..95b15921db4 100644 --- a/src/sage/modular/modsym/subspace.py +++ b/src/sage/modular/modsym/subspace.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.flint """ Subspace of ambient spaces of modular symbols diff --git a/src/sage/modular/modsym/tests.py b/src/sage/modular/modsym/tests.py index 3af2ffb1d87..b710d716956 100644 --- a/src/sage/modular/modsym/tests.py +++ b/src/sage/modular/modsym/tests.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.flint sage.libs.pari """ Testing modular symbols spaces diff --git a/src/sage/modular/multiple_zeta.py b/src/sage/modular/multiple_zeta.py index a6eac6dbacb..d93951b6aa4 100644 --- a/src/sage/modular/multiple_zeta.py +++ b/src/sage/modular/multiple_zeta.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.combinat r""" Algebra of motivic multiple zeta values diff --git a/src/sage/modular/multiple_zeta_F_algebra.py b/src/sage/modular/multiple_zeta_F_algebra.py index 863a369940c..25bee87d69c 100644 --- a/src/sage/modular/multiple_zeta_F_algebra.py +++ b/src/sage/modular/multiple_zeta_F_algebra.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.combinat r""" F-algebra for motivic multiple zeta values. diff --git a/src/sage/modular/overconvergent/all.py b/src/sage/modular/overconvergent/all.py index 11e23071854..ca1ff92f993 100644 --- a/src/sage/modular/overconvergent/all.py +++ b/src/sage/modular/overconvergent/all.py @@ -1,5 +1,7 @@ -from .weightspace import WeightSpace_constructor as pAdicWeightSpace +# sage_setup: distribution = sagemath-schemes -from .genus0 import OverconvergentModularForms +from sage.modular.overconvergent.weightspace import WeightSpace_constructor as pAdicWeightSpace -from .hecke_series import hecke_series +from sage.modular.overconvergent.genus0 import OverconvergentModularForms + +from sage.modular.overconvergent.hecke_series import hecke_series diff --git a/src/sage/modular/overconvergent/genus0.py b/src/sage/modular/overconvergent/genus0.py index 58f31f4af0c..56a8c220e05 100644 --- a/src/sage/modular/overconvergent/genus0.py +++ b/src/sage/modular/overconvergent/genus0.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.pari sage.rings.padics r""" Overconvergent `p`-adic modular forms for small primes diff --git a/src/sage/modular/overconvergent/hecke_series.py b/src/sage/modular/overconvergent/hecke_series.py index 1e10c6386a9..8311cfd8ced 100644 --- a/src/sage/modular/overconvergent/hecke_series.py +++ b/src/sage/modular/overconvergent/hecke_series.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.flint sage.libs.pari r""" Atkin/Hecke series for overconvergent modular forms diff --git a/src/sage/modular/overconvergent/weightspace.py b/src/sage/modular/overconvergent/weightspace.py index e9478c40a90..bc6ea3ef7e4 100644 --- a/src/sage/modular/overconvergent/weightspace.py +++ b/src/sage/modular/overconvergent/weightspace.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.rings.padics r""" The space of `p`-adic weights diff --git a/src/sage/modular/pollack_stevens/all.py b/src/sage/modular/pollack_stevens/all.py index a51787d6fd2..86fa7d86ccb 100644 --- a/src/sage/modular/pollack_stevens/all.py +++ b/src/sage/modular/pollack_stevens/all.py @@ -1,3 +1,5 @@ -from .space import PollackStevensModularSymbols -from .distributions import Symk -from .distributions import OverconvergentDistributions +# sage_setup: distribution = sagemath-schemes + +from sage.modular.pollack_stevens.space import PollackStevensModularSymbols +from sage.modular.pollack_stevens.distributions import Symk +from sage.modular.pollack_stevens.distributions import OverconvergentDistributions diff --git a/src/sage/modular/pollack_stevens/dist.pyx b/src/sage/modular/pollack_stevens/dist.pyx index 1f79133f2f5..f1a656c6e60 100644 --- a/src/sage/modular/pollack_stevens/dist.pyx +++ b/src/sage/modular/pollack_stevens/dist.pyx @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # distutils: libraries = gmp # distutils: extra_compile_args = -D_XPG6 """ diff --git a/src/sage/modular/pollack_stevens/distributions.py b/src/sage/modular/pollack_stevens/distributions.py index f33b4022842..49b702b3cb9 100644 --- a/src/sage/modular/pollack_stevens/distributions.py +++ b/src/sage/modular/pollack_stevens/distributions.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.rings.padics r""" Spaces of distributions for Pollack-Stevens modular symbols diff --git a/src/sage/modular/pollack_stevens/fund_domain.py b/src/sage/modular/pollack_stevens/fund_domain.py index cab712a95bf..b55cecdbc90 100644 --- a/src/sage/modular/pollack_stevens/fund_domain.py +++ b/src/sage/modular/pollack_stevens/fund_domain.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes r""" Manin relations for overconvergent modular symbols diff --git a/src/sage/modular/pollack_stevens/manin_map.py b/src/sage/modular/pollack_stevens/manin_map.py index 0af3ed946d0..e78cd0e51ce 100644 --- a/src/sage/modular/pollack_stevens/manin_map.py +++ b/src/sage/modular/pollack_stevens/manin_map.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.rings.padics r""" Manin map diff --git a/src/sage/modular/pollack_stevens/modsym.py b/src/sage/modular/pollack_stevens/modsym.py index 914f0447992..c9c5a536df2 100644 --- a/src/sage/modular/pollack_stevens/modsym.py +++ b/src/sage/modular/pollack_stevens/modsym.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes r""" Element class for Pollack-Stevens' modular symbols diff --git a/src/sage/modular/pollack_stevens/padic_lseries.py b/src/sage/modular/pollack_stevens/padic_lseries.py index 748b5dc9993..ee69a93a7cf 100644 --- a/src/sage/modular/pollack_stevens/padic_lseries.py +++ b/src/sage/modular/pollack_stevens/padic_lseries.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.ring.padics r""" `p`-adic `L`-series attached to overconvergent eigensymbols diff --git a/src/sage/modular/pollack_stevens/sigma0.py b/src/sage/modular/pollack_stevens/sigma0.py index ce52830f070..24b9ff99393 100644 --- a/src/sage/modular/pollack_stevens/sigma0.py +++ b/src/sage/modular/pollack_stevens/sigma0.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes r""" The matrix monoid `\Sigma_0(N)`. diff --git a/src/sage/modular/pollack_stevens/space.py b/src/sage/modular/pollack_stevens/space.py index c0464dd61d8..7cd0e1410bd 100644 --- a/src/sage/modular/pollack_stevens/space.py +++ b/src/sage/modular/pollack_stevens/space.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.rings.padics r""" Pollack-Stevens' modular symbols spaces diff --git a/src/sage/modular/quasimodform/all.py b/src/sage/modular/quasimodform/all.py index 114783b2e37..935b04bc09e 100644 --- a/src/sage/modular/quasimodform/all.py +++ b/src/sage/modular/quasimodform/all.py @@ -1,2 +1,3 @@ +# sage_setup: distribution = sagemath-schemes # Quasimodular forms rings -from .ring import QuasiModularForms +from sage.modular.quasimodform.ring import QuasiModularForms diff --git a/src/sage/modular/quasimodform/element.py b/src/sage/modular/quasimodform/element.py index dd45fca7713..ac7e2d2b8d7 100644 --- a/src/sage/modular/quasimodform/element.py +++ b/src/sage/modular/quasimodform/element.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.flint """ Elements of quasimodular forms rings diff --git a/src/sage/modular/quasimodform/ring.py b/src/sage/modular/quasimodform/ring.py index dcdf8e470c2..4c1984171bc 100644 --- a/src/sage/modular/quasimodform/ring.py +++ b/src/sage/modular/quasimodform/ring.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes r""" Graded quasimodular forms ring diff --git a/src/sage/modular/quatalg/all.py b/src/sage/modular/quatalg/all.py index e554527d96c..7328385e126 100644 --- a/src/sage/modular/quatalg/all.py +++ b/src/sage/modular/quatalg/all.py @@ -1,2 +1,3 @@ +# sage_setup: distribution = sagemath-schemes -from .brandt import BrandtModule +from sage.modular.quatalg.brandt import BrandtModule diff --git a/src/sage/modular/quatalg/brandt.py b/src/sage/modular/quatalg/brandt.py index 28ae7e6201b..abb49610a04 100644 --- a/src/sage/modular/quatalg/brandt.py +++ b/src/sage/modular/quatalg/brandt.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes r""" Brandt modules diff --git a/src/sage/modular/ssmod/all.py b/src/sage/modular/ssmod/all.py index 1257c107a99..4e7d2356d18 100644 --- a/src/sage/modular/ssmod/all.py +++ b/src/sage/modular/ssmod/all.py @@ -1,6 +1,8 @@ +# sage_setup: distribution = sagemath-schemes from sage.misc.lazy_import import lazy_import lazy_import("sage.modular.ssmod.ssmod", ['dimension_supersingular_module', 'supersingular_j', 'SupersingularModule', 'supersingular_D']) +del lazy_import diff --git a/src/sage/modular/ssmod/ssmod.py b/src/sage/modular/ssmod/ssmod.py index d2d2d717cbc..82417142980 100644 --- a/src/sage/modular/ssmod/ssmod.py +++ b/src/sage/modular/ssmod/ssmod.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.pari """ Module of supersingular points diff --git a/src/sage/modules/all.py b/src/sage/modules/all.py index 929d16b79d0..bbecf800f09 100644 --- a/src/sage/modules/all.py +++ b/src/sage/modules/all.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # ***************************************************************************** # Copyright (C) 2005 William Stein # @@ -38,3 +39,4 @@ lazy_import("sage.modules.multi_filtered_vector_space", "MultiFilteredVectorSpace") lazy_import("sage.modules.free_quadratic_module_integer_symmetric", "IntegralLattice") lazy_import("sage.modules.torsion_quadratic_module", "TorsionQuadraticForm") +del lazy_import diff --git a/src/sage/modules/all__sagemath_linbox.py b/src/sage/modules/all__sagemath_linbox.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/modules/all__sagemath_objects.py b/src/sage/modules/all__sagemath_objects.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/modules/all__sagemath_symbolics.py b/src/sage/modules/all__sagemath_symbolics.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/modules/complex_double_vector.py b/src/sage/modules/complex_double_vector.py index 728d862e8fc..fad12406262 100644 --- a/src/sage/modules/complex_double_vector.py +++ b/src/sage/modules/complex_double_vector.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Pickling for the old CDF vector class diff --git a/src/sage/modules/diamond_cutting.py b/src/sage/modules/diamond_cutting.py index 14adddd4b54..b1e25c1fc88 100644 --- a/src/sage/modules/diamond_cutting.py +++ b/src/sage/modules/diamond_cutting.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.geometry.polyhedron """ Diamond cutting implementation diff --git a/src/sage/modules/fg_pid/all.py b/src/sage/modules/fg_pid/all.py index e69de29bb2d..6f6ab52d0f2 100644 --- a/src/sage/modules/fg_pid/all.py +++ b/src/sage/modules/fg_pid/all.py @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-modules diff --git a/src/sage/modules/fg_pid/fgp_element.py b/src/sage/modules/fg_pid/fgp_element.py index 9152c09d187..99e93b32b20 100644 --- a/src/sage/modules/fg_pid/fgp_element.py +++ b/src/sage/modules/fg_pid/fgp_element.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Elements of finitely generated modules over a PID diff --git a/src/sage/modules/fg_pid/fgp_module.py b/src/sage/modules/fg_pid/fgp_module.py index 6965b4281b7..5a39cdd5b57 100644 --- a/src/sage/modules/fg_pid/fgp_module.py +++ b/src/sage/modules/fg_pid/fgp_module.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Finitely generated modules over a PID diff --git a/src/sage/modules/fg_pid/fgp_morphism.py b/src/sage/modules/fg_pid/fgp_morphism.py index c3b5374f706..f4e5edbb6bd 100644 --- a/src/sage/modules/fg_pid/fgp_morphism.py +++ b/src/sage/modules/fg_pid/fgp_morphism.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Morphisms between finitely generated modules over a PID diff --git a/src/sage/modules/filtered_vector_space.py b/src/sage/modules/filtered_vector_space.py index 68bbff12c8d..95fce5e5c12 100644 --- a/src/sage/modules/filtered_vector_space.py +++ b/src/sage/modules/filtered_vector_space.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" `\ZZ`-filtered vector spaces diff --git a/src/sage/modules/finite_submodule_iter.pxd b/src/sage/modules/finite_submodule_iter.pxd index 8173f265673..9817e2855be 100644 --- a/src/sage/modules/finite_submodule_iter.pxd +++ b/src/sage/modules/finite_submodule_iter.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.structure.element cimport ModuleElement cdef class FiniteZZsubmodule_iterator: diff --git a/src/sage/modules/finite_submodule_iter.pyx b/src/sage/modules/finite_submodule_iter.pyx index f3ef152cb86..c157111a16f 100644 --- a/src/sage/modules/finite_submodule_iter.pyx +++ b/src/sage/modules/finite_submodule_iter.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.rings.finite_rings r""" Iterators over finite submodules of a `\ZZ`-module diff --git a/src/sage/modules/free_module.py b/src/sage/modules/free_module.py index 6e2c9e4dc1d..c0e709829e1 100644 --- a/src/sage/modules/free_module.py +++ b/src/sage/modules/free_module.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Free modules diff --git a/src/sage/modules/free_module_element.pxd b/src/sage/modules/free_module_element.pxd index 084423a2714..4712c53e72c 100644 --- a/src/sage/modules/free_module_element.pxd +++ b/src/sage/modules/free_module_element.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.structure.element cimport Vector cdef class FreeModuleElement(Vector): diff --git a/src/sage/modules/free_module_element.pyx b/src/sage/modules/free_module_element.pyx index c93c71f195e..b0a64351969 100644 --- a/src/sage/modules/free_module_element.pyx +++ b/src/sage/modules/free_module_element.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Elements of free modules diff --git a/src/sage/modules/free_module_homspace.py b/src/sage/modules/free_module_homspace.py index 9513a56ea56..2d8a6e656b8 100644 --- a/src/sage/modules/free_module_homspace.py +++ b/src/sage/modules/free_module_homspace.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Homspaces between free modules diff --git a/src/sage/modules/free_module_integer.py b/src/sage/modules/free_module_integer.py index 9602d04fde0..bded2894baf 100644 --- a/src/sage/modules/free_module_integer.py +++ b/src/sage/modules/free_module_integer.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Discrete subgroups of `\\ZZ^n` diff --git a/src/sage/modules/free_module_morphism.py b/src/sage/modules/free_module_morphism.py index 147dbe5b57a..3fdd76bff6f 100644 --- a/src/sage/modules/free_module_morphism.py +++ b/src/sage/modules/free_module_morphism.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Morphisms of free modules diff --git a/src/sage/modules/free_quadratic_module.py b/src/sage/modules/free_quadratic_module.py index 78b3b179b33..46363438dc6 100644 --- a/src/sage/modules/free_quadratic_module.py +++ b/src/sage/modules/free_quadratic_module.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Free quadratic modules diff --git a/src/sage/modules/free_quadratic_module_integer_symmetric.py b/src/sage/modules/free_quadratic_module_integer_symmetric.py index c899c5203fb..eab90951ccc 100644 --- a/src/sage/modules/free_quadratic_module_integer_symmetric.py +++ b/src/sage/modules/free_quadratic_module_integer_symmetric.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Integral lattices diff --git a/src/sage/modules/matrix_morphism.py b/src/sage/modules/matrix_morphism.py index dc4b3817eca..ab194038d93 100644 --- a/src/sage/modules/matrix_morphism.py +++ b/src/sage/modules/matrix_morphism.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Morphisms defined by a matrix diff --git a/src/sage/modules/misc.py b/src/sage/modules/misc.py index abcdfa01a20..0b2af8bc192 100644 --- a/src/sage/modules/misc.py +++ b/src/sage/modules/misc.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Miscellaneous module-related functions diff --git a/src/sage/modules/module.pxd b/src/sage/modules/module.pxd index 032cce6d69e..31eb027b970 100644 --- a/src/sage/modules/module.pxd +++ b/src/sage/modules/module.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects from sage.structure.parent cimport Parent cdef class Module(Parent): diff --git a/src/sage/modules/module.pyx b/src/sage/modules/module.pyx index 2d7d21422ac..08dc1d5eb31 100644 --- a/src/sage/modules/module.pyx +++ b/src/sage/modules/module.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects """ Abstract base class for modules diff --git a/src/sage/modules/module_functors.py b/src/sage/modules/module_functors.py index c3977183c56..00da40a67f5 100644 --- a/src/sage/modules/module_functors.py +++ b/src/sage/modules/module_functors.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Module Functors diff --git a/src/sage/modules/multi_filtered_vector_space.py b/src/sage/modules/multi_filtered_vector_space.py index 8190c69793b..bd206f7956b 100644 --- a/src/sage/modules/multi_filtered_vector_space.py +++ b/src/sage/modules/multi_filtered_vector_space.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Multiple `\ZZ`-graded filtrations of a single vector space diff --git a/src/sage/modules/quotient_module.py b/src/sage/modules/quotient_module.py index be3e3735175..3a122a8d98a 100644 --- a/src/sage/modules/quotient_module.py +++ b/src/sage/modules/quotient_module.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Quotients of free modules diff --git a/src/sage/modules/real_double_vector.py b/src/sage/modules/real_double_vector.py index 5430e175f11..69bd0c28bdc 100644 --- a/src/sage/modules/real_double_vector.py +++ b/src/sage/modules/real_double_vector.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Pickling for the old RDF vector class diff --git a/src/sage/modules/submodule.py b/src/sage/modules/submodule.py index 4576d6c4bbd..512555524b5 100644 --- a/src/sage/modules/submodule.py +++ b/src/sage/modules/submodule.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Submodules and subquotients of free modules diff --git a/src/sage/modules/tensor_operations.py b/src/sage/modules/tensor_operations.py index 8ca968133a2..f4e87f1995f 100644 --- a/src/sage/modules/tensor_operations.py +++ b/src/sage/modules/tensor_operations.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Helper classes to implement tensor operations diff --git a/src/sage/modules/torsion_quadratic_module.py b/src/sage/modules/torsion_quadratic_module.py index 28428a08f51..83ce6ac4754 100644 --- a/src/sage/modules/torsion_quadratic_module.py +++ b/src/sage/modules/torsion_quadratic_module.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Finite `\ZZ`-modules with bilinear and quadratic forms diff --git a/src/sage/modules/tutorial_free_modules.py b/src/sage/modules/tutorial_free_modules.py index 8fe8cd8c7df..dc1b10524bb 100644 --- a/src/sage/modules/tutorial_free_modules.py +++ b/src/sage/modules/tutorial_free_modules.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Tutorial: Using free modules and vector spaces diff --git a/src/sage/modules/vector_callable_symbolic_dense.py b/src/sage/modules/vector_callable_symbolic_dense.py index 5727003a22d..d008a4a85a8 100644 --- a/src/sage/modules/vector_callable_symbolic_dense.py +++ b/src/sage/modules/vector_callable_symbolic_dense.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics """ Vectors over callable symbolic rings diff --git a/src/sage/modules/vector_complex_double_dense.pxd b/src/sage/modules/vector_complex_double_dense.pxd index 955c0a414d2..194f26f3d69 100644 --- a/src/sage/modules/vector_complex_double_dense.pxd +++ b/src/sage/modules/vector_complex_double_dense.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.modules.vector_double_dense cimport Vector_double_dense diff --git a/src/sage/modules/vector_complex_double_dense.pyx b/src/sage/modules/vector_complex_double_dense.pyx index 59b585f912c..50d35e2ec82 100644 --- a/src/sage/modules/vector_complex_double_dense.pyx +++ b/src/sage/modules/vector_complex_double_dense.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: optional - numpy r""" Dense complex double vectors using a NumPy backend diff --git a/src/sage/modules/vector_double_dense.pxd b/src/sage/modules/vector_double_dense.pxd index f4f1f47cbce..e6111cb8a08 100644 --- a/src/sage/modules/vector_double_dense.pxd +++ b/src/sage/modules/vector_double_dense.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.modules.vector_numpy_dense cimport Vector_numpy_dense diff --git a/src/sage/modules/vector_double_dense.pyx b/src/sage/modules/vector_double_dense.pyx index b07fc9e71c2..e401d783145 100644 --- a/src/sage/modules/vector_double_dense.pyx +++ b/src/sage/modules/vector_double_dense.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: optional - numpy r""" Dense vectors using a NumPy backend diff --git a/src/sage/modules/vector_integer_dense.pxd b/src/sage/modules/vector_integer_dense.pxd index ff2843f481f..e878e882ffe 100644 --- a/src/sage/modules/vector_integer_dense.pxd +++ b/src/sage/modules/vector_integer_dense.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.libs.gmp.types cimport mpz_t from sage.modules.free_module_element cimport FreeModuleElement from sage.structure.parent cimport Parent diff --git a/src/sage/modules/vector_integer_dense.pyx b/src/sage/modules/vector_integer_dense.pyx index c078db11fff..80faf6f78e6 100644 --- a/src/sage/modules/vector_integer_dense.pyx +++ b/src/sage/modules/vector_integer_dense.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Vectors with integer entries diff --git a/src/sage/modules/vector_integer_sparse.pxd b/src/sage/modules/vector_integer_sparse.pxd index 42818124a82..7a8dc1ec770 100644 --- a/src/sage/modules/vector_integer_sparse.pxd +++ b/src/sage/modules/vector_integer_sparse.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules ############################################################# # # Sparse Vector over mpz_t (the GMP integers) diff --git a/src/sage/modules/vector_integer_sparse.pyx b/src/sage/modules/vector_integer_sparse.pyx index 57a7b70bde4..737c63272f5 100644 --- a/src/sage/modules/vector_integer_sparse.pyx +++ b/src/sage/modules/vector_integer_sparse.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules ############################################################# # # Sparse Vector over mpz_t (the GMP integers) diff --git a/src/sage/modules/vector_mod2_dense.pxd b/src/sage/modules/vector_mod2_dense.pxd index 4535fe3273d..3fb7fcf8a87 100644 --- a/src/sage/modules/vector_mod2_dense.pxd +++ b/src/sage/modules/vector_mod2_dense.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-linbox from sage.modules.free_module_element cimport FreeModuleElement from sage.libs.m4ri cimport mzd_t diff --git a/src/sage/modules/vector_mod2_dense.pyx b/src/sage/modules/vector_mod2_dense.pyx index e6c2408b1f0..d965443f932 100644 --- a/src/sage/modules/vector_mod2_dense.pyx +++ b/src/sage/modules/vector_mod2_dense.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-linbox # distutils: libraries = M4RI_LIBRARIES GDLIB_LIBRARIES LIBPNG_LIBRARIES # distutils: library_dirs = M4RI_LIBDIR GDLIB_LIBDIR LIBPNG_LIBDIR # distutils: include_dirs = M4RI_INCDIR GDLIB_INCDIR LIBPNG_INCDIR diff --git a/src/sage/modules/vector_modn_dense.pxd b/src/sage/modules/vector_modn_dense.pxd index 5de166f1b85..c1aa84f770e 100644 --- a/src/sage/modules/vector_modn_dense.pxd +++ b/src/sage/modules/vector_modn_dense.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.ext.mod_int cimport mod_int from sage.modules.free_module_element cimport FreeModuleElement diff --git a/src/sage/modules/vector_modn_dense.pyx b/src/sage/modules/vector_modn_dense.pyx index ed98d3e573d..f09fb7d5547 100644 --- a/src/sage/modules/vector_modn_dense.pyx +++ b/src/sage/modules/vector_modn_dense.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Vectors with integer mod `n` entries, with small `n` diff --git a/src/sage/modules/vector_modn_sparse.pxd b/src/sage/modules/vector_modn_sparse.pxd index 049b9ba27e8..0be082a95aa 100644 --- a/src/sage/modules/vector_modn_sparse.pxd +++ b/src/sage/modules/vector_modn_sparse.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.rings.finite_rings.stdint cimport * cdef struct c_vector_modint: diff --git a/src/sage/modules/vector_modn_sparse.pyx b/src/sage/modules/vector_modn_sparse.pyx index a6b59ae9ca5..92b785c2168 100644 --- a/src/sage/modules/vector_modn_sparse.pyx +++ b/src/sage/modules/vector_modn_sparse.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules ############################################################################# # Copyright (C) 2004, 2007 William Stein # Distributed under the terms of the GNU General Public License (GPL) diff --git a/src/sage/modules/vector_numpy_dense.pxd b/src/sage/modules/vector_numpy_dense.pxd index ec60da7a865..cda44c4664e 100644 --- a/src/sage/modules/vector_numpy_dense.pxd +++ b/src/sage/modules/vector_numpy_dense.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules cimport numpy from sage.modules.free_module_element cimport FreeModuleElement diff --git a/src/sage/modules/vector_numpy_dense.pyx b/src/sage/modules/vector_numpy_dense.pyx index 9b16a6c354d..0ccbd577225 100644 --- a/src/sage/modules/vector_numpy_dense.pyx +++ b/src/sage/modules/vector_numpy_dense.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: optional - numpy r""" Dense vectors using a NumPy backend. diff --git a/src/sage/modules/vector_numpy_integer_dense.pxd b/src/sage/modules/vector_numpy_integer_dense.pxd index 31bc1cf8f6b..2c1f640bcd0 100644 --- a/src/sage/modules/vector_numpy_integer_dense.pxd +++ b/src/sage/modules/vector_numpy_integer_dense.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.modules.vector_numpy_dense cimport Vector_numpy_dense diff --git a/src/sage/modules/vector_numpy_integer_dense.pyx b/src/sage/modules/vector_numpy_integer_dense.pyx index ba3537436d5..4ff577e1004 100644 --- a/src/sage/modules/vector_numpy_integer_dense.pyx +++ b/src/sage/modules/vector_numpy_integer_dense.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: optional - numpy r""" Dense integer vectors using a NumPy backend. diff --git a/src/sage/modules/vector_rational_dense.pxd b/src/sage/modules/vector_rational_dense.pxd index c5f2a4a7c3f..cd81899227d 100644 --- a/src/sage/modules/vector_rational_dense.pxd +++ b/src/sage/modules/vector_rational_dense.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.libs.gmp.types cimport mpq_t from sage.modules.free_module_element cimport FreeModuleElement from sage.structure.parent cimport Parent diff --git a/src/sage/modules/vector_rational_dense.pyx b/src/sage/modules/vector_rational_dense.pyx index 864628f10c7..f6779a507ca 100644 --- a/src/sage/modules/vector_rational_dense.pyx +++ b/src/sage/modules/vector_rational_dense.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Vectors with rational entries diff --git a/src/sage/modules/vector_rational_sparse.pxd b/src/sage/modules/vector_rational_sparse.pxd index 4dfbed73d6d..b7e731619e1 100644 --- a/src/sage/modules/vector_rational_sparse.pxd +++ b/src/sage/modules/vector_rational_sparse.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules ############################################################# # # Sparse Vector over mpq_t (the GMP rationals) diff --git a/src/sage/modules/vector_rational_sparse.pyx b/src/sage/modules/vector_rational_sparse.pyx index 37466bab2da..54bbb4f4f54 100644 --- a/src/sage/modules/vector_rational_sparse.pyx +++ b/src/sage/modules/vector_rational_sparse.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules ############################################################# # # Sparse Vector over mpq_t (the GMP rationals) diff --git a/src/sage/modules/vector_real_double_dense.pxd b/src/sage/modules/vector_real_double_dense.pxd index 4dd3b43ab25..efd4a7833fe 100644 --- a/src/sage/modules/vector_real_double_dense.pxd +++ b/src/sage/modules/vector_real_double_dense.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.modules.vector_double_dense cimport Vector_double_dense diff --git a/src/sage/modules/vector_real_double_dense.pyx b/src/sage/modules/vector_real_double_dense.pyx index a5d4c236722..db0969e8d5a 100644 --- a/src/sage/modules/vector_real_double_dense.pyx +++ b/src/sage/modules/vector_real_double_dense.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: optional - numpy r""" Dense real double vectors using a NumPy backend diff --git a/src/sage/modules/vector_space_homspace.py b/src/sage/modules/vector_space_homspace.py index b815051171a..743163acb62 100644 --- a/src/sage/modules/vector_space_homspace.py +++ b/src/sage/modules/vector_space_homspace.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Space of morphisms of vector spaces (linear transformations) diff --git a/src/sage/modules/vector_space_morphism.py b/src/sage/modules/vector_space_morphism.py index 6585da0b047..d605a4f4d30 100644 --- a/src/sage/modules/vector_space_morphism.py +++ b/src/sage/modules/vector_space_morphism.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Morphisms of vector spaces (linear transformations) diff --git a/src/sage/modules/vector_symbolic_dense.py b/src/sage/modules/vector_symbolic_dense.py index bd50cedec7b..8d21c3c1367 100644 --- a/src/sage/modules/vector_symbolic_dense.py +++ b/src/sage/modules/vector_symbolic_dense.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics """ Dense vectors over the symbolic ring diff --git a/src/sage/modules/vector_symbolic_sparse.py b/src/sage/modules/vector_symbolic_sparse.py index 41cbbda5241..fc1e8734343 100644 --- a/src/sage/modules/vector_symbolic_sparse.py +++ b/src/sage/modules/vector_symbolic_sparse.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics """ Sparse vectors over the symbolic ring diff --git a/src/sage/modules/with_basis/all.py b/src/sage/modules/with_basis/all.py index 1f352bcc768..3374803a1a5 100644 --- a/src/sage/modules/with_basis/all.py +++ b/src/sage/modules/with_basis/all.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Concrete classes related to modules with a distinguished basis @@ -11,3 +12,4 @@ # install the docstring of this module to the containing package from sage.misc.namespace_package import install_doc install_doc(__package__, __doc__) +del install_doc diff --git a/src/sage/modules/with_basis/cell_module.py b/src/sage/modules/with_basis/cell_module.py index 2c5f54de21b..f43365bbb0a 100644 --- a/src/sage/modules/with_basis/cell_module.py +++ b/src/sage/modules/with_basis/cell_module.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.combinat r""" Cell modules diff --git a/src/sage/modules/with_basis/indexed_element.pxd b/src/sage/modules/with_basis/indexed_element.pxd index ebc785d7ccf..574ba288b84 100644 --- a/src/sage/modules/with_basis/indexed_element.pxd +++ b/src/sage/modules/with_basis/indexed_element.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.structure.element cimport Element, ModuleElement cdef class IndexedFreeModuleElement(ModuleElement): diff --git a/src/sage/modules/with_basis/indexed_element.pyx b/src/sage/modules/with_basis/indexed_element.pyx index c71024d2079..c9dba690a36 100644 --- a/src/sage/modules/with_basis/indexed_element.pyx +++ b/src/sage/modules/with_basis/indexed_element.pyx @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-modules r""" An element in an indexed free module @@ -372,6 +372,16 @@ cdef class IndexedFreeModuleElement(ModuleElement): sage: E2 = L.exterior_power(2) sage: ascii_art(E2.an_element()) 2*()/\(5,6,7) + 2*()/\(5,7,6) + 3*()/\(1,2)(3,4) + + We can also get the ascii art when ``one_basis`` + is ``NotImplemented``:: + + sage: TL = TemperleyLiebAlgebra(8, -1, QQ) + sage: C = TL.cellular_basis() + sage: ascii_art(list(C.basis())[0]) + C + ( .-. .-. .-. .-. .-. .-. .-. .-. ) + ( 0, o o o o o o o o, o o o o o o o o ) """ from sage.misc.repr import coeff_repr terms = self._sorted_items_for_printing() @@ -390,8 +400,8 @@ cdef class IndexedFreeModuleElement(ModuleElement): one_basis = None try: - if self.parent().one_basis is not NotImplemented: - one_basis = self.parent().one_basis() + if self._parent.one_basis is not NotImplemented: + one_basis = self._parent.one_basis() except (AttributeError, NotImplementedError, ValueError, TypeError): pass @@ -457,6 +467,16 @@ cdef class IndexedFreeModuleElement(ModuleElement): sage: E2 = L.exterior_power(2) sage: unicode_art(E2.an_element()) 2*()∧(5,6,7) + 2*()∧(5,7,6) + 3*()∧(1,2)(3,4) + + We can also get the unicode art when ``one_basis`` + is ``NotImplemented``:: + + sage: TL = TemperleyLiebAlgebra(8, -1, QQ) + sage: C = TL.cellular_basis() + sage: unicode_art(list(C.basis())[0]) + C + ⎛ ╭─╮ ╭─╮ ╭─╮ ╭─╮ ╭─╮ ╭─╮ ╭─╮ ╭─╮ ⎞ + ⎝ 0, ⚬ ⚬ ⚬ ⚬ ⚬ ⚬ ⚬ ⚬, ⚬ ⚬ ⚬ ⚬ ⚬ ⚬ ⚬ ⚬ ⎠ """ from sage.misc.repr import coeff_repr terms = self._sorted_items_for_printing() @@ -475,8 +495,8 @@ cdef class IndexedFreeModuleElement(ModuleElement): one_basis = None try: - if self.parent().one_basis is not NotImplemented: - one_basis = self.parent().one_basis() + if self._parent.one_basis is not NotImplemented: + one_basis = self._parent.one_basis() except (AttributeError, NotImplementedError, ValueError, TypeError): pass diff --git a/src/sage/modules/with_basis/invariant.py b/src/sage/modules/with_basis/invariant.py index 7e7600f3069..03b4f3e0050 100644 --- a/src/sage/modules/with_basis/invariant.py +++ b/src/sage/modules/with_basis/invariant.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.groups r""" Invariant modules diff --git a/src/sage/modules/with_basis/morphism.py b/src/sage/modules/with_basis/morphism.py index ea1dcf93f65..d7448d694b1 100644 --- a/src/sage/modules/with_basis/morphism.py +++ b/src/sage/modules/with_basis/morphism.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Morphisms of modules with a basis diff --git a/src/sage/modules/with_basis/representation.py b/src/sage/modules/with_basis/representation.py index 0e1e081c671..dbf7e42c2d7 100644 --- a/src/sage/modules/with_basis/representation.py +++ b/src/sage/modules/with_basis/representation.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.groups """ Representations of a semigroup @@ -1420,7 +1421,6 @@ def _action_on_basis(self, g, b, vec_on_left): return self.element_class(self, data) - class RegularRepresentation(Representation): r""" The regular representation of a semigroup. @@ -1503,7 +1503,6 @@ def _right_on_basis(self, g, m): return self.monomial(m * g) - class TrivialRepresentation(Representation_abstract): """ The trivial representation of a semigroup. diff --git a/src/sage/modules/with_basis/subquotient.py b/src/sage/modules/with_basis/subquotient.py index 48a235b4ab9..4999a799760 100644 --- a/src/sage/modules/with_basis/subquotient.py +++ b/src/sage/modules/with_basis/subquotient.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Quotients of modules with basis """ diff --git a/src/sage/monoids/all.py b/src/sage/monoids/all.py index cd2812c89f1..83541093f6c 100644 --- a/src/sage/monoids/all.py +++ b/src/sage/monoids/all.py @@ -1,11 +1,12 @@ +# sage_setup: distribution = sagemath-combinat -from .free_monoid import FreeMonoid -from .string_monoid import (BinaryStrings, OctalStrings, HexadecimalStrings, - Radix64Strings, AlphabeticStrings) +from sage.monoids.free_monoid import FreeMonoid +from sage.monoids.string_monoid import (BinaryStrings, OctalStrings, HexadecimalStrings, + Radix64Strings, AlphabeticStrings) -from .free_abelian_monoid import FreeAbelianMonoid +from sage.monoids.free_abelian_monoid import FreeAbelianMonoid -from .string_ops import ( +from sage.monoids.string_ops import ( strip_encoding, frequency_distribution, coincidence_index, diff --git a/src/sage/monoids/all__sagemath_categories.py b/src/sage/monoids/all__sagemath_categories.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/monoids/automatic_semigroup.py b/src/sage/monoids/automatic_semigroup.py index 2d0b595dd7f..f5d454b3a4d 100644 --- a/src/sage/monoids/automatic_semigroup.py +++ b/src/sage/monoids/automatic_semigroup.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat """ Automatic Semigroups diff --git a/src/sage/monoids/free_abelian_monoid.py b/src/sage/monoids/free_abelian_monoid.py index 590a20eaa1a..a00d4236b83 100644 --- a/src/sage/monoids/free_abelian_monoid.py +++ b/src/sage/monoids/free_abelian_monoid.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Free abelian monoids diff --git a/src/sage/monoids/free_abelian_monoid_element.pxd b/src/sage/monoids/free_abelian_monoid_element.pxd index 092cd343f05..add273ebedb 100644 --- a/src/sage/monoids/free_abelian_monoid_element.pxd +++ b/src/sage/monoids/free_abelian_monoid_element.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat from sage.structure.element cimport MonoidElement from sage.libs.gmp.types cimport mpz_t from sage.structure.parent cimport Parent diff --git a/src/sage/monoids/free_abelian_monoid_element.pyx b/src/sage/monoids/free_abelian_monoid_element.pyx index c81c1fa5575..9afee5095a8 100644 --- a/src/sage/monoids/free_abelian_monoid_element.pyx +++ b/src/sage/monoids/free_abelian_monoid_element.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat """ Abelian Monoid Elements diff --git a/src/sage/monoids/free_monoid.py b/src/sage/monoids/free_monoid.py index 88277320a63..0ec5dd59568 100644 --- a/src/sage/monoids/free_monoid.py +++ b/src/sage/monoids/free_monoid.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Free Monoids diff --git a/src/sage/monoids/free_monoid_element.py b/src/sage/monoids/free_monoid_element.py index e540f408f1d..83de7a36bb4 100644 --- a/src/sage/monoids/free_monoid_element.py +++ b/src/sage/monoids/free_monoid_element.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat """ Elements of Free Monoids diff --git a/src/sage/monoids/hecke_monoid.py b/src/sage/monoids/hecke_monoid.py index 179446d24e6..f42e23c6fc0 100644 --- a/src/sage/monoids/hecke_monoid.py +++ b/src/sage/monoids/hecke_monoid.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat """ Hecke Monoids """ diff --git a/src/sage/monoids/indexed_free_monoid.py b/src/sage/monoids/indexed_free_monoid.py index 66af0a2fb5c..62c3d1daaf0 100644 --- a/src/sage/monoids/indexed_free_monoid.py +++ b/src/sage/monoids/indexed_free_monoid.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat """ Indexed Monoids diff --git a/src/sage/monoids/monoid.py b/src/sage/monoids/monoid.py index 97c0dfa6ad3..ec04f116088 100644 --- a/src/sage/monoids/monoid.py +++ b/src/sage/monoids/monoid.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Monoids """ diff --git a/src/sage/monoids/string_monoid.py b/src/sage/monoids/string_monoid.py index 7aa51ad9776..87a51a834a4 100644 --- a/src/sage/monoids/string_monoid.py +++ b/src/sage/monoids/string_monoid.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Free String Monoids diff --git a/src/sage/monoids/string_monoid_element.py b/src/sage/monoids/string_monoid_element.py index 0299359c7f7..69087d3e251 100644 --- a/src/sage/monoids/string_monoid_element.py +++ b/src/sage/monoids/string_monoid_element.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat """ String Monoid Elements diff --git a/src/sage/monoids/string_ops.py b/src/sage/monoids/string_ops.py index e34164712fb..8c19574527c 100644 --- a/src/sage/monoids/string_ops.py +++ b/src/sage/monoids/string_ops.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat "Utility functions on strings" # **************************************************************************** diff --git a/src/sage/monoids/trace_monoid.py b/src/sage/monoids/trace_monoid.py index bc7edc7ab08..c3769ca7c5b 100644 --- a/src/sage/monoids/trace_monoid.py +++ b/src/sage/monoids/trace_monoid.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Module of trace monoids (free partially commutative monoids). diff --git a/src/sage/numerical/all.py b/src/sage/numerical/all.py index 8b69da18652..c2b17a60f65 100644 --- a/src/sage/numerical/all.py +++ b/src/sage/numerical/all.py @@ -1,7 +1,9 @@ +# sage_setup: distribution = sagemath-polyhedra + +from sage.numerical.all__sagemath_modules import * + from sage.misc.lazy_import import lazy_import -lazy_import("sage.numerical.optimize", - ["find_fit", "find_local_maximum", "find_local_minimum", - "find_root", "minimize", "minimize_constrained"]) + lazy_import("sage.numerical.mip", ["MixedIntegerLinearProgram"]) lazy_import("sage.numerical.sdp", ["SemidefiniteProgram"]) lazy_import("sage.numerical.backends.generic_backend", ["default_mip_solver"]) @@ -9,3 +11,4 @@ lazy_import("sage.numerical.interactive_simplex_method", ["InteractiveLPProblem", "InteractiveLPProblemStandardForm"]) +del lazy_import diff --git a/src/sage/numerical/all__sagemath_categories.py b/src/sage/numerical/all__sagemath_categories.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/numerical/all__sagemath_glpk.py b/src/sage/numerical/all__sagemath_glpk.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/numerical/all__sagemath_modules.py b/src/sage/numerical/all__sagemath_modules.py new file mode 100644 index 00000000000..7a2c2778373 --- /dev/null +++ b/src/sage/numerical/all__sagemath_modules.py @@ -0,0 +1,5 @@ +from sage.misc.lazy_import import lazy_import +lazy_import("sage.numerical.optimize", + ["find_fit", "find_local_maximum", "find_local_minimum", + "find_root", "minimize", "minimize_constrained"]) +del lazy_import diff --git a/src/sage/numerical/all__sagemath_polyhedra.py b/src/sage/numerical/all__sagemath_polyhedra.py index 6de2a9af502..6589c9f5fc0 100644 --- a/src/sage/numerical/all__sagemath_polyhedra.py +++ b/src/sage/numerical/all__sagemath_polyhedra.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra from sage.misc.lazy_import import lazy_import lazy_import("sage.numerical.mip", ["MixedIntegerLinearProgram"]) @@ -7,3 +8,4 @@ lazy_import("sage.numerical.interactive_simplex_method", ["InteractiveLPProblem", "InteractiveLPProblemStandardForm"]) +del lazy_import diff --git a/src/sage/numerical/backends/all.py b/src/sage/numerical/backends/all.py index e69de29bb2d..ca4c26e905d 100644 --- a/src/sage/numerical/backends/all.py +++ b/src/sage/numerical/backends/all.py @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-polyhedra diff --git a/src/sage/numerical/backends/all__sagemath_categories.py b/src/sage/numerical/backends/all__sagemath_categories.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/numerical/backends/all__sagemath_glpk.py b/src/sage/numerical/backends/all__sagemath_glpk.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/numerical/backends/all__sagemath_polyhedra.py b/src/sage/numerical/backends/all__sagemath_polyhedra.py index e69de29bb2d..ca4c26e905d 100644 --- a/src/sage/numerical/backends/all__sagemath_polyhedra.py +++ b/src/sage/numerical/backends/all__sagemath_polyhedra.py @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-polyhedra diff --git a/src/sage/numerical/backends/cvxopt_backend.pyx b/src/sage/numerical/backends/cvxopt_backend.pyx index 1d7ef20625c..64d9537f000 100644 --- a/src/sage/numerical/backends/cvxopt_backend.pyx +++ b/src/sage/numerical/backends/cvxopt_backend.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra # sage.doctest: needs cvxopt r""" CVXOPT Backend diff --git a/src/sage/numerical/backends/cvxopt_backend_test.py b/src/sage/numerical/backends/cvxopt_backend_test.py index 6029221fda2..d2567569187 100644 --- a/src/sage/numerical/backends/cvxopt_backend_test.py +++ b/src/sage/numerical/backends/cvxopt_backend_test.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra import pytest from sage.structure.sage_object import SageObject diff --git a/src/sage/numerical/backends/cvxopt_sdp_backend.pyx b/src/sage/numerical/backends/cvxopt_sdp_backend.pyx index 5a5cf2c11a2..4364877c36b 100644 --- a/src/sage/numerical/backends/cvxopt_sdp_backend.pyx +++ b/src/sage/numerical/backends/cvxopt_sdp_backend.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra # sage.doctest: needs cvxopt r""" CVXOPT SDP Backend diff --git a/src/sage/numerical/backends/cvxpy_backend.pxd b/src/sage/numerical/backends/cvxpy_backend.pxd index ed4d63ccc63..f3b14def032 100644 --- a/src/sage/numerical/backends/cvxpy_backend.pxd +++ b/src/sage/numerical/backends/cvxpy_backend.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra ############################################################################## # Copyright (C) 2010 Nathann Cohen # Copyright (C) 2022 Matthias Koeppe diff --git a/src/sage/numerical/backends/cvxpy_backend.pyx b/src/sage/numerical/backends/cvxpy_backend.pyx index 145f84b363a..883de3ca891 100644 --- a/src/sage/numerical/backends/cvxpy_backend.pyx +++ b/src/sage/numerical/backends/cvxpy_backend.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra # sage.doctest: optional - cvxpy r""" CVXPY Backend diff --git a/src/sage/numerical/backends/cvxpy_backend_test.py b/src/sage/numerical/backends/cvxpy_backend_test.py index 1f5f030248e..4082cc414de 100644 --- a/src/sage/numerical/backends/cvxpy_backend_test.py +++ b/src/sage/numerical/backends/cvxpy_backend_test.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra import pytest from sage.numerical.backends.generic_backend_test import GenericBackendTests from sage.numerical.backends.generic_backend import GenericBackend diff --git a/src/sage/numerical/backends/generic_backend.pxd b/src/sage/numerical/backends/generic_backend.pxd index f2d315d249c..fb14079c2b2 100644 --- a/src/sage/numerical/backends/generic_backend.pxd +++ b/src/sage/numerical/backends/generic_backend.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories ############################################################################## # Copyright (C) 2010 Nathann Cohen # Distributed under the terms of the GNU General Public License (GPL) diff --git a/src/sage/numerical/backends/generic_backend.pyx b/src/sage/numerical/backends/generic_backend.pyx index 00909eb25a8..a283a956566 100644 --- a/src/sage/numerical/backends/generic_backend.pyx +++ b/src/sage/numerical/backends/generic_backend.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Generic Backend for LP solvers diff --git a/src/sage/numerical/backends/generic_backend_test.py b/src/sage/numerical/backends/generic_backend_test.py index 3c5416eb63c..5aa004a23b9 100644 --- a/src/sage/numerical/backends/generic_backend_test.py +++ b/src/sage/numerical/backends/generic_backend_test.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra import pytest from sage.numerical.backends.generic_backend import GenericBackend from sage.structure.sage_object import SageObject diff --git a/src/sage/numerical/backends/generic_sdp_backend.pxd b/src/sage/numerical/backends/generic_sdp_backend.pxd index 023f95653d6..d30fa4fc2d6 100644 --- a/src/sage/numerical/backends/generic_sdp_backend.pxd +++ b/src/sage/numerical/backends/generic_sdp_backend.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories #***************************************************************************** # Copyright (C) 2014 Ingolfur Edvardsson # diff --git a/src/sage/numerical/backends/generic_sdp_backend.pyx b/src/sage/numerical/backends/generic_sdp_backend.pyx index 66876c68119..853ca4641fa 100644 --- a/src/sage/numerical/backends/generic_sdp_backend.pyx +++ b/src/sage/numerical/backends/generic_sdp_backend.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Generic Backend for SDP solvers diff --git a/src/sage/numerical/backends/glpk_backend.pxd b/src/sage/numerical/backends/glpk_backend.pxd index 5ff4a90a211..87625876548 100644 --- a/src/sage/numerical/backends/glpk_backend.pxd +++ b/src/sage/numerical/backends/glpk_backend.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-glpk #***************************************************************************** # Copyright (C) 2010 Nathann Cohen # diff --git a/src/sage/numerical/backends/glpk_backend.pyx b/src/sage/numerical/backends/glpk_backend.pyx index 10ab452e1fa..2d241955512 100644 --- a/src/sage/numerical/backends/glpk_backend.pyx +++ b/src/sage/numerical/backends/glpk_backend.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-glpk """ GLPK Backend diff --git a/src/sage/numerical/backends/glpk_exact_backend.pxd b/src/sage/numerical/backends/glpk_exact_backend.pxd index 8207347ce51..2b94d5ad968 100644 --- a/src/sage/numerical/backends/glpk_exact_backend.pxd +++ b/src/sage/numerical/backends/glpk_exact_backend.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-glpk #***************************************************************************** # Copyright (C) 2016 Matthias Koeppe # diff --git a/src/sage/numerical/backends/glpk_exact_backend.pyx b/src/sage/numerical/backends/glpk_exact_backend.pyx index 3031748eb42..c50a1c85a87 100644 --- a/src/sage/numerical/backends/glpk_exact_backend.pyx +++ b/src/sage/numerical/backends/glpk_exact_backend.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-glpk """ GLPK/exact Backend (simplex method in exact rational arithmetic) diff --git a/src/sage/numerical/backends/glpk_graph_backend.pxd b/src/sage/numerical/backends/glpk_graph_backend.pxd index 2e4b29a25a9..3ac3b0b616e 100644 --- a/src/sage/numerical/backends/glpk_graph_backend.pxd +++ b/src/sage/numerical/backends/glpk_graph_backend.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-glpk #***************************************************************************** # Copyright (C) 2012 Christian Kuper # Copyright (C) 2015 Jeroen Demeyer diff --git a/src/sage/numerical/backends/glpk_graph_backend.pyx b/src/sage/numerical/backends/glpk_graph_backend.pyx index 63bc2a76305..6398ef4e577 100644 --- a/src/sage/numerical/backends/glpk_graph_backend.pyx +++ b/src/sage/numerical/backends/glpk_graph_backend.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-glpk # sage.doctest: needs sage.graphs """ GLPK Backend for access to GLPK graph functions diff --git a/src/sage/numerical/backends/interactivelp_backend.pxd b/src/sage/numerical/backends/interactivelp_backend.pxd index 07e63a7bb44..c450d6d2353 100644 --- a/src/sage/numerical/backends/interactivelp_backend.pxd +++ b/src/sage/numerical/backends/interactivelp_backend.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra ############################################################################## # Copyright (C) 2010 Nathann Cohen # Copyright (C) 2016 Matthias Koeppe diff --git a/src/sage/numerical/backends/interactivelp_backend.pyx b/src/sage/numerical/backends/interactivelp_backend.pyx index 64ef561375a..98bc5b553cf 100644 --- a/src/sage/numerical/backends/interactivelp_backend.pyx +++ b/src/sage/numerical/backends/interactivelp_backend.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra r""" InteractiveLP Backend diff --git a/src/sage/numerical/backends/interactivelp_backend_test.py b/src/sage/numerical/backends/interactivelp_backend_test.py index 0f0af51250d..bb18bb4f4f1 100644 --- a/src/sage/numerical/backends/interactivelp_backend_test.py +++ b/src/sage/numerical/backends/interactivelp_backend_test.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra import pytest from sage.numerical.backends.generic_backend_test import GenericBackendTests from sage.numerical.backends.generic_backend import GenericBackend diff --git a/src/sage/numerical/backends/logging_backend.py b/src/sage/numerical/backends/logging_backend.py index 2efb77eaf08..e85fe353254 100644 --- a/src/sage/numerical/backends/logging_backend.py +++ b/src/sage/numerical/backends/logging_backend.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra r""" Logging Backend diff --git a/src/sage/numerical/backends/matrix_sdp_backend.pxd b/src/sage/numerical/backends/matrix_sdp_backend.pxd index 9038955f83a..ba209f6fb02 100644 --- a/src/sage/numerical/backends/matrix_sdp_backend.pxd +++ b/src/sage/numerical/backends/matrix_sdp_backend.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra from sage.numerical.backends.generic_sdp_backend cimport GenericSDPBackend diff --git a/src/sage/numerical/backends/matrix_sdp_backend.pyx b/src/sage/numerical/backends/matrix_sdp_backend.pyx index f4e7ecb13f0..e20dad1b614 100644 --- a/src/sage/numerical/backends/matrix_sdp_backend.pyx +++ b/src/sage/numerical/backends/matrix_sdp_backend.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra r""" Matrix Backend for SDP solvers diff --git a/src/sage/numerical/backends/ppl_backend.pyx b/src/sage/numerical/backends/ppl_backend.pyx index 987842f728c..2d02f3bec71 100644 --- a/src/sage/numerical/backends/ppl_backend.pyx +++ b/src/sage/numerical/backends/ppl_backend.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra # sage.doctest: optional - pplpy """ PPL Backend diff --git a/src/sage/numerical/backends/ppl_backend_test.py b/src/sage/numerical/backends/ppl_backend_test.py index 852c3be82c1..d0c9dea1fb3 100644 --- a/src/sage/numerical/backends/ppl_backend_test.py +++ b/src/sage/numerical/backends/ppl_backend_test.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra import pytest from sage.numerical.backends.generic_backend_test import GenericBackendTests diff --git a/src/sage/numerical/backends/scip_backend.pxd b/src/sage/numerical/backends/scip_backend.pxd index 0cd0600f955..634197437ea 100644 --- a/src/sage/numerical/backends/scip_backend.pxd +++ b/src/sage/numerical/backends/scip_backend.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra #***************************************************************************** # Copyright (C) 2017 Matthias Koeppe # diff --git a/src/sage/numerical/backends/scip_backend.pyx b/src/sage/numerical/backends/scip_backend.pyx index ad53659857b..c1e226fb971 100644 --- a/src/sage/numerical/backends/scip_backend.pyx +++ b/src/sage/numerical/backends/scip_backend.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra # distutils: language = c++ # sage.doctest: optional - pyscipopt """ diff --git a/src/sage/numerical/backends/scip_backend_test.py b/src/sage/numerical/backends/scip_backend_test.py index 136d3ce914b..3ad30d8a779 100644 --- a/src/sage/numerical/backends/scip_backend_test.py +++ b/src/sage/numerical/backends/scip_backend_test.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra import pytest from sage.numerical.backends.generic_backend_test import GenericBackendTests from sage.numerical.backends.generic_backend import GenericBackend diff --git a/src/sage/numerical/gauss_legendre.pyx b/src/sage/numerical/gauss_legendre.pyx index fceda721c53..bc3b6e76663 100644 --- a/src/sage/numerical/gauss_legendre.pyx +++ b/src/sage/numerical/gauss_legendre.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Gauss-Legendre Integration for Vector-Valued Functions diff --git a/src/sage/numerical/interactive_simplex_method.py b/src/sage/numerical/interactive_simplex_method.py index c2a10d6a4f6..6861c304e27 100644 --- a/src/sage/numerical/interactive_simplex_method.py +++ b/src/sage/numerical/interactive_simplex_method.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra r""" Interactive Simplex Method diff --git a/src/sage/numerical/knapsack.py b/src/sage/numerical/knapsack.py index 3f80f517998..fe26317d7a0 100644 --- a/src/sage/numerical/knapsack.py +++ b/src/sage/numerical/knapsack.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra r""" Knapsack Problems diff --git a/src/sage/numerical/linear_functions.pxd b/src/sage/numerical/linear_functions.pxd index 568f04b75af..fb0a4b27ee2 100644 --- a/src/sage/numerical/linear_functions.pxd +++ b/src/sage/numerical/linear_functions.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra from sage.structure.parent cimport Parent, Parent_richcmp_element_without_coercion from sage.structure.element cimport ModuleElement, RingElement, Element diff --git a/src/sage/numerical/linear_functions.pyx b/src/sage/numerical/linear_functions.pyx index 9c7e10744f2..1f564fc53f8 100644 --- a/src/sage/numerical/linear_functions.pyx +++ b/src/sage/numerical/linear_functions.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra """ Linear Functions and Constraints diff --git a/src/sage/numerical/linear_tensor.py b/src/sage/numerical/linear_tensor.py index 2402845b896..99774536f32 100644 --- a/src/sage/numerical/linear_tensor.py +++ b/src/sage/numerical/linear_tensor.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra """ Matrix/Vector-Valued Linear Functions: Parents diff --git a/src/sage/numerical/linear_tensor_constraints.py b/src/sage/numerical/linear_tensor_constraints.py index 24f94f3b3d6..9cfc62bb323 100644 --- a/src/sage/numerical/linear_tensor_constraints.py +++ b/src/sage/numerical/linear_tensor_constraints.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra """ Constraints on Linear Functions Tensored with a Free Module diff --git a/src/sage/numerical/linear_tensor_element.pxd b/src/sage/numerical/linear_tensor_element.pxd index 1cd84d3e33f..0318924471e 100644 --- a/src/sage/numerical/linear_tensor_element.pxd +++ b/src/sage/numerical/linear_tensor_element.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra from sage.structure.element cimport Element, ModuleElement cdef class LinearTensor(ModuleElement): diff --git a/src/sage/numerical/linear_tensor_element.pyx b/src/sage/numerical/linear_tensor_element.pyx index c77aa290e21..ceac8708599 100644 --- a/src/sage/numerical/linear_tensor_element.pyx +++ b/src/sage/numerical/linear_tensor_element.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra """ Matrix/Vector-Valued Linear Functions: Elements diff --git a/src/sage/numerical/mip.pxd b/src/sage/numerical/mip.pxd index 1422827e1e4..8422f0ade79 100644 --- a/src/sage/numerical/mip.pxd +++ b/src/sage/numerical/mip.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra cdef extern from *: cdef int BINARY = 1 cdef int REAL = -1 diff --git a/src/sage/numerical/mip.pyx b/src/sage/numerical/mip.pyx index 368b9e4b0e3..b8e4bdc7b09 100644 --- a/src/sage/numerical/mip.pyx +++ b/src/sage/numerical/mip.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra r""" Mixed Integer Linear Programming diff --git a/src/sage/numerical/optimize.py b/src/sage/numerical/optimize.py index 54262183b1b..d2e47deb97e 100644 --- a/src/sage/numerical/optimize.py +++ b/src/sage/numerical/optimize.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: optional - scipy """ Numerical Root Finding and Optimization diff --git a/src/sage/numerical/sdp.pxd b/src/sage/numerical/sdp.pxd index 629e6c83f94..49b7a4d186f 100644 --- a/src/sage/numerical/sdp.pxd +++ b/src/sage/numerical/sdp.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra from sage.structure.sage_object cimport SageObject from sage.structure.parent cimport Parent from sage.structure.element cimport Element diff --git a/src/sage/numerical/sdp.pyx b/src/sage/numerical/sdp.pyx index 8701ed22150..1574fcf76b3 100644 --- a/src/sage/numerical/sdp.pyx +++ b/src/sage/numerical/sdp.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra r""" Semidefinite Programming diff --git a/src/sage/parallel/all.py b/src/sage/parallel/all.py index 85f69c86165..8badd23e060 100644 --- a/src/sage/parallel/all.py +++ b/src/sage/parallel/all.py @@ -1,4 +1,6 @@ +# sage_setup: distribution = sagemath-categories -from .decorate import parallel, fork +from sage.parallel.decorate import parallel, fork from sage.misc.lazy_import import lazy_import lazy_import('sage.parallel.parallelism', 'Parallelism') +del lazy_import diff --git a/src/sage/parallel/decorate.py b/src/sage/parallel/decorate.py index b8ea5e75bb3..00b63dde8f5 100644 --- a/src/sage/parallel/decorate.py +++ b/src/sage/parallel/decorate.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Decorate interface for parallel computation """ diff --git a/src/sage/parallel/map_reduce.py b/src/sage/parallel/map_reduce.py index 2765764cddf..f5d4b7bbde7 100644 --- a/src/sage/parallel/map_reduce.py +++ b/src/sage/parallel/map_reduce.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-categories r""" Parallel computations using RecursivelyEnumeratedSet and Map-Reduce diff --git a/src/sage/parallel/multiprocessing_sage.py b/src/sage/parallel/multiprocessing_sage.py index 2ccab49ac0f..350c833afed 100644 --- a/src/sage/parallel/multiprocessing_sage.py +++ b/src/sage/parallel/multiprocessing_sage.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Parallel Iterator built using Python's multiprocessing module """ diff --git a/src/sage/parallel/ncpus.py b/src/sage/parallel/ncpus.py index 24e8c0c5743..44771a9aa49 100644 --- a/src/sage/parallel/ncpus.py +++ b/src/sage/parallel/ncpus.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ CPU Detection """ diff --git a/src/sage/parallel/parallelism.py b/src/sage/parallel/parallelism.py index 8aafe232fee..cde870e2604 100644 --- a/src/sage/parallel/parallelism.py +++ b/src/sage/parallel/parallelism.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Parallelization control diff --git a/src/sage/parallel/reference.py b/src/sage/parallel/reference.py index 36dd7a8bb76..ccde2ebfd97 100644 --- a/src/sage/parallel/reference.py +++ b/src/sage/parallel/reference.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Reference Parallel Primitives diff --git a/src/sage/parallel/use_fork.py b/src/sage/parallel/use_fork.py index 19ee4b0e1d6..2d964811766 100644 --- a/src/sage/parallel/use_fork.py +++ b/src/sage/parallel/use_fork.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Parallel iterator built using the ``fork()`` system call """ diff --git a/src/sage/plot/all.py b/src/sage/plot/all.py index 1f16e2d6789..00131580f87 100644 --- a/src/sage/plot/all.py +++ b/src/sage/plot/all.py @@ -1,39 +1,43 @@ -from .graphics import Graphics -from .plot import (plot, graphics_array, multi_graphics, list_plot, - parametric_plot, polar_plot, plot_loglog, plot_semilogx, - plot_semilogy, list_plot_loglog, list_plot_semilogx, - list_plot_semilogy) -from .line import line, line2d -from .arrow import arrow, arrow2d -from .bar_chart import bar_chart -from .histogram import histogram -from .bezier_path import bezier_path -from .scatter_plot import scatter_plot -from .disk import disk -from .point import point, points, point2d -from .matrix_plot import matrix_plot -from .plot_field import plot_vector_field, plot_slope_field -from .text import text -from .polygon import polygon, polygon2d -from .circle import circle -from .ellipse import ellipse -from .contour_plot import contour_plot, implicit_plot, region_plot -from .density_plot import density_plot -from .streamline_plot import streamline_plot +# sage_setup: distribution = sagemath-plot + +from sage.plot.graphics import Graphics +from sage.plot.plot import (plot, graphics_array, multi_graphics, list_plot, + parametric_plot, polar_plot, plot_loglog, plot_semilogx, + plot_semilogy, list_plot_loglog, list_plot_semilogx, + list_plot_semilogy) +from sage.plot.line import line, line2d +from sage.plot.arrow import arrow, arrow2d +from sage.plot.bar_chart import bar_chart +from sage.plot.histogram import histogram +from sage.plot.bezier_path import bezier_path +from sage.plot.scatter_plot import scatter_plot +from sage.plot.disk import disk +from sage.plot.point import point, points, point2d +from sage.plot.matrix_plot import matrix_plot +from sage.plot.plot_field import plot_vector_field, plot_slope_field +from sage.plot.text import text +from sage.plot.polygon import polygon, polygon2d +from sage.plot.circle import circle +from sage.plot.ellipse import ellipse +from sage.plot.contour_plot import contour_plot, implicit_plot, region_plot +from sage.plot.density_plot import density_plot +from sage.plot.streamline_plot import streamline_plot from sage.misc.lazy_import import lazy_import -lazy_import("sage.plot.complex_plot",["complex_plot"]) +lazy_import("sage.plot.complex_plot", ["complex_plot"]) -from .arc import arc +from sage.plot.arc import arc -from .animate import animate +from sage.plot.animate import animate -from .plot3d.tachyon import Tachyon +from sage.plot.plot3d.tachyon import Tachyon -from .colors import Color, hue, rainbow, colors, colormaps +from sage.plot.colors import Color, hue, rainbow, colors, colormaps -from .step import plot_step_function +from sage.plot.step import plot_step_function -from .hyperbolic_arc import hyperbolic_arc -from .hyperbolic_polygon import hyperbolic_triangle, hyperbolic_polygon +lazy_import("sage.plot.hyperbolic_arc", "hyperbolic_arc") +lazy_import("sage.plot.hyperbolic_polygon", [ + "hyperbolic_triangle", "hyperbolic_polygon"]) lazy_import("sage.plot.hyperbolic_regular_polygon", "hyperbolic_regular_polygon") +del lazy_import diff --git a/src/sage/plot/animate.py b/src/sage/plot/animate.py index 071bcd92622..328ebb0d30f 100644 --- a/src/sage/plot/animate.py +++ b/src/sage/plot/animate.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-plot # sage.doctest: needs sage.symbolic r""" Animated plots diff --git a/src/sage/plot/arc.py b/src/sage/plot/arc.py index 8da333ee12b..f27d2538361 100644 --- a/src/sage/plot/arc.py +++ b/src/sage/plot/arc.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-plot """ Arcs of circles and ellipses """ diff --git a/src/sage/plot/arrow.py b/src/sage/plot/arrow.py index 74da7b4b4f7..397da59735a 100644 --- a/src/sage/plot/arrow.py +++ b/src/sage/plot/arrow.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-plot """ Arrows """ diff --git a/src/sage/plot/bar_chart.py b/src/sage/plot/bar_chart.py index 34ed242af4c..2f1dc0f27c9 100644 --- a/src/sage/plot/bar_chart.py +++ b/src/sage/plot/bar_chart.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-plot """ Bar charts """ diff --git a/src/sage/plot/bezier_path.py b/src/sage/plot/bezier_path.py index 14958fbbba8..b801f4a6ede 100644 --- a/src/sage/plot/bezier_path.py +++ b/src/sage/plot/bezier_path.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-plot r""" Bezier paths """ diff --git a/src/sage/plot/circle.py b/src/sage/plot/circle.py index c7fd3d9dfc0..f2543a7331d 100644 --- a/src/sage/plot/circle.py +++ b/src/sage/plot/circle.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-plot """ Circles """ diff --git a/src/sage/plot/colors.py b/src/sage/plot/colors.py index 3322c6cfdbc..2012b32ee1d 100644 --- a/src/sage/plot/colors.py +++ b/src/sage/plot/colors.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-plot # sage.doctest: needs sage.plot r""" Colors diff --git a/src/sage/plot/complex_plot.pyx b/src/sage/plot/complex_plot.pyx index f1f2671a803..1ad410467fc 100644 --- a/src/sage/plot/complex_plot.pyx +++ b/src/sage/plot/complex_plot.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-plot """ Complex plots diff --git a/src/sage/plot/contour_plot.py b/src/sage/plot/contour_plot.py index a0d9e2689f1..f526c5de5dd 100644 --- a/src/sage/plot/contour_plot.py +++ b/src/sage/plot/contour_plot.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-plot # sage.doctest: needs sage.symbolic """ Contour plots diff --git a/src/sage/plot/density_plot.py b/src/sage/plot/density_plot.py index ff27f2d126b..269fc73ef35 100644 --- a/src/sage/plot/density_plot.py +++ b/src/sage/plot/density_plot.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-plot # sage.doctest: needs sage.symbolic """ Density plots diff --git a/src/sage/plot/disk.py b/src/sage/plot/disk.py index 4219cf35155..e60b89a506e 100644 --- a/src/sage/plot/disk.py +++ b/src/sage/plot/disk.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-plot """ Disks """ diff --git a/src/sage/plot/ellipse.py b/src/sage/plot/ellipse.py index 788db0fd76b..135bbeee8f6 100644 --- a/src/sage/plot/ellipse.py +++ b/src/sage/plot/ellipse.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-plot """ Ellipses """ diff --git a/src/sage/plot/graphics.py b/src/sage/plot/graphics.py index 8a61068887f..376bb2d25fa 100644 --- a/src/sage/plot/graphics.py +++ b/src/sage/plot/graphics.py @@ -1,4 +1,4 @@ -# -*- encoding: utf-8 -*- +# sage_setup: distribution = sagemath-plot r""" Graphics objects diff --git a/src/sage/plot/histogram.py b/src/sage/plot/histogram.py index e10229417fc..e8de0f7262f 100644 --- a/src/sage/plot/histogram.py +++ b/src/sage/plot/histogram.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-plot """ Histograms """ diff --git a/src/sage/plot/hyperbolic_arc.py b/src/sage/plot/hyperbolic_arc.py index 4e7fda8350d..17fdaf90c04 100644 --- a/src/sage/plot/hyperbolic_arc.py +++ b/src/sage/plot/hyperbolic_arc.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-plot # sage.doctest: needs sage.symbolic r""" Arcs in hyperbolic geometry diff --git a/src/sage/plot/hyperbolic_polygon.py b/src/sage/plot/hyperbolic_polygon.py index efe39697829..446f66f9404 100644 --- a/src/sage/plot/hyperbolic_polygon.py +++ b/src/sage/plot/hyperbolic_polygon.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-plot # sage.doctest: needs sage.symbolic """ Polygons and triangles in hyperbolic geometry diff --git a/src/sage/plot/hyperbolic_regular_polygon.py b/src/sage/plot/hyperbolic_regular_polygon.py index 9be2169ab63..a48ba7200ca 100644 --- a/src/sage/plot/hyperbolic_regular_polygon.py +++ b/src/sage/plot/hyperbolic_regular_polygon.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-plot # sage.doctest: needs sage.symbolic """ Regular polygons in the upper half model for hyperbolic plane diff --git a/src/sage/plot/line.py b/src/sage/plot/line.py index 1160ade0825..1c96be6be9c 100644 --- a/src/sage/plot/line.py +++ b/src/sage/plot/line.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-plot """ Line plots """ diff --git a/src/sage/plot/matrix_plot.py b/src/sage/plot/matrix_plot.py index 96e966a6513..3bc93640b48 100644 --- a/src/sage/plot/matrix_plot.py +++ b/src/sage/plot/matrix_plot.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-plot """ Matrix plots """ diff --git a/src/sage/plot/misc.py b/src/sage/plot/misc.py index 45494f45698..231cc593459 100644 --- a/src/sage/plot/misc.py +++ b/src/sage/plot/misc.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-plot # sage.doctest: needs sage.symbolic """ Plotting utilities diff --git a/src/sage/plot/multigraphics.py b/src/sage/plot/multigraphics.py index f22febca152..48e6bdb2e2e 100644 --- a/src/sage/plot/multigraphics.py +++ b/src/sage/plot/multigraphics.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-plot # sage.doctest: needs sage.symbolic r""" Graphics arrays and insets diff --git a/src/sage/plot/plot.py b/src/sage/plot/plot.py index 20a71ef8bd1..9f081e8cfb4 100644 --- a/src/sage/plot/plot.py +++ b/src/sage/plot/plot.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-plot # sage.doctest: needs sage.symbolic r""" 2D plotting diff --git a/src/sage/plot/plot3d/all.py b/src/sage/plot/plot3d/all.py index 16c647c6b50..60c9dc491e6 100644 --- a/src/sage/plot/plot3d/all.py +++ b/src/sage/plot/plot3d/all.py @@ -1,21 +1,23 @@ +# sage_setup: distribution = sagemath-plot -from .plot3d import plot3d, cylindrical_plot3d, spherical_plot3d, Spherical, SphericalElevation, Cylindrical -from .parametric_plot3d import parametric_plot3d -from .plot_field3d import plot_vector_field3d +from sage.plot.plot3d.plot3d import plot3d, cylindrical_plot3d, spherical_plot3d, Spherical, SphericalElevation, Cylindrical +from sage.plot.plot3d.parametric_plot3d import parametric_plot3d +from sage.plot.plot3d.plot_field3d import plot_vector_field3d # We lazy_import the following modules since they import numpy which slows down sage startup from sage.misc.lazy_import import lazy_import -lazy_import("sage.plot.plot3d.implicit_plot3d",["implicit_plot3d"]) +lazy_import("sage.plot.plot3d.implicit_plot3d", ["implicit_plot3d"]) -from .list_plot3d import list_plot3d -from .revolution_plot3d import revolution_plot3d +from sage.plot.plot3d.list_plot3d import list_plot3d +from sage.plot.plot3d.revolution_plot3d import revolution_plot3d -from .platonic import tetrahedron, cube, octahedron, dodecahedron, icosahedron +from sage.plot.plot3d.platonic import tetrahedron, cube, octahedron, dodecahedron, icosahedron -from .shapes2 import sphere, line3d, polygon3d, polygons3d, point3d, text3d, bezier3d +from sage.plot.plot3d.shapes2 import sphere, line3d, polygon3d, polygons3d, point3d, text3d, bezier3d -from .shapes import arrow3d +from sage.plot.plot3d.shapes import arrow3d -#from shapes import Box, ColorCube, Cone, Cylinder, LineSegment, Arrow, Sphere, Torus, Text as Text3D -#from parametric_surface import ParametricSurface, MoebiusStrip -#from plot3d import plot3d, axes as axes3d +# from shapes import Box, ColorCube, Cone, Cylinder, LineSegment, Arrow, Sphere, Torus, Text as Text3D +# from parametric_surface import ParametricSurface, MoebiusStrip +# from plot3d import plot3d, axes as axes3d +del lazy_import diff --git a/src/sage/plot/plot3d/base.pxd b/src/sage/plot/plot3d/base.pxd index 0b7619ddd44..49c0f9b3d82 100644 --- a/src/sage/plot/plot3d/base.pxd +++ b/src/sage/plot/plot3d/base.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-plot from sage.structure.sage_object cimport SageObject diff --git a/src/sage/plot/plot3d/base.pyx b/src/sage/plot/plot3d/base.pyx index 66694f47a5f..57804b2c979 100644 --- a/src/sage/plot/plot3d/base.pyx +++ b/src/sage/plot/plot3d/base.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-plot r""" Base classes for 3D graphics objects and plotting diff --git a/src/sage/plot/plot3d/implicit_plot3d.py b/src/sage/plot/plot3d/implicit_plot3d.py index 89512e2ae87..1b304f9308d 100644 --- a/src/sage/plot/plot3d/implicit_plot3d.py +++ b/src/sage/plot/plot3d/implicit_plot3d.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-plot # sage.doctest: needs sage.symbolic """ Implicit plots diff --git a/src/sage/plot/plot3d/implicit_surface.pyx b/src/sage/plot/plot3d/implicit_surface.pyx index df28f7c6e6b..c508c73e604 100644 --- a/src/sage/plot/plot3d/implicit_surface.pyx +++ b/src/sage/plot/plot3d/implicit_surface.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-plot # sage.doctest: needs sage.symbolic r""" Graphics 3D object for representing and triangulating isosurfaces diff --git a/src/sage/plot/plot3d/index_face_set.pxd b/src/sage/plot/plot3d/index_face_set.pxd index 5a81bd32de1..e020fc3c265 100644 --- a/src/sage/plot/plot3d/index_face_set.pxd +++ b/src/sage/plot/plot3d/index_face_set.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-plot from sage.plot.plot3d.base cimport PrimitiveObject from sage.plot.plot3d.transform cimport point_c, face_c, color_c diff --git a/src/sage/plot/plot3d/index_face_set.pyx b/src/sage/plot/plot3d/index_face_set.pyx index 4288db70005..4c84d7dfd39 100644 --- a/src/sage/plot/plot3d/index_face_set.pyx +++ b/src/sage/plot/plot3d/index_face_set.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-plot """ Indexed face sets diff --git a/src/sage/plot/plot3d/introduction.py b/src/sage/plot/plot3d/introduction.py index b297fdd180a..4424bcb2195 100644 --- a/src/sage/plot/plot3d/introduction.py +++ b/src/sage/plot/plot3d/introduction.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-plot r""" Introduction diff --git a/src/sage/plot/plot3d/list_plot3d.py b/src/sage/plot/plot3d/list_plot3d.py index 7bfd84f76a4..ff2b8f85db4 100644 --- a/src/sage/plot/plot3d/list_plot3d.py +++ b/src/sage/plot/plot3d/list_plot3d.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-plot """ List plots """ diff --git a/src/sage/plot/plot3d/parametric_plot3d.py b/src/sage/plot/plot3d/parametric_plot3d.py index 680cb187787..38b01dc6d73 100644 --- a/src/sage/plot/plot3d/parametric_plot3d.py +++ b/src/sage/plot/plot3d/parametric_plot3d.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-plot # sage.doctest: needs sage.symbolic """ Parametric plots diff --git a/src/sage/plot/plot3d/parametric_surface.pxd b/src/sage/plot/plot3d/parametric_surface.pxd index 82ac1164f8a..a018fc00c27 100644 --- a/src/sage/plot/plot3d/parametric_surface.pxd +++ b/src/sage/plot/plot3d/parametric_surface.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-plot from sage.plot.plot3d.index_face_set cimport IndexFaceSet from sage.plot.plot3d.transform cimport point_c diff --git a/src/sage/plot/plot3d/parametric_surface.pyx b/src/sage/plot/plot3d/parametric_surface.pyx index 62e397030cd..c47ed782a23 100644 --- a/src/sage/plot/plot3d/parametric_surface.pyx +++ b/src/sage/plot/plot3d/parametric_surface.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-plot # sage.doctest: needs sage.symbolic r""" Parametric surface diff --git a/src/sage/plot/plot3d/platonic.py b/src/sage/plot/plot3d/platonic.py index 491179ede81..1df7fdfdb95 100644 --- a/src/sage/plot/plot3d/platonic.py +++ b/src/sage/plot/plot3d/platonic.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-plot r""" Platonic solids diff --git a/src/sage/plot/plot3d/plot3d.py b/src/sage/plot/plot3d/plot3d.py index 2e027e87dd2..1f88e608846 100644 --- a/src/sage/plot/plot3d/plot3d.py +++ b/src/sage/plot/plot3d/plot3d.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-plot # sage.doctest: needs sage.symbolic r""" Plotting functions diff --git a/src/sage/plot/plot3d/plot_field3d.py b/src/sage/plot/plot3d/plot_field3d.py index a18c49215be..d64cecd237d 100644 --- a/src/sage/plot/plot3d/plot_field3d.py +++ b/src/sage/plot/plot3d/plot_field3d.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-plot # sage.doctest: needs sage.symbolic """ Plotting 3D fields diff --git a/src/sage/plot/plot3d/point_c.pxi b/src/sage/plot/plot3d/point_c.pxi index ba9561ab18c..d8e8cb47f73 100644 --- a/src/sage/plot/plot3d/point_c.pxi +++ b/src/sage/plot/plot3d/point_c.pxi @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-plot # **************************************************************************** # Copyright (C) 2007 Robert Bradshaw # diff --git a/src/sage/plot/plot3d/revolution_plot3d.py b/src/sage/plot/plot3d/revolution_plot3d.py index f3220dcd1a3..65d2d4820d7 100644 --- a/src/sage/plot/plot3d/revolution_plot3d.py +++ b/src/sage/plot/plot3d/revolution_plot3d.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-plot # sage.doctest: needs sage.plot sage.symbolic """ Surfaces of revolution diff --git a/src/sage/plot/plot3d/shapes.pxd b/src/sage/plot/plot3d/shapes.pxd index d01e2a7460d..aa385217dd3 100644 --- a/src/sage/plot/plot3d/shapes.pxd +++ b/src/sage/plot/plot3d/shapes.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-plot from sage.plot.plot3d.parametric_surface cimport ParametricSurface diff --git a/src/sage/plot/plot3d/shapes.pyx b/src/sage/plot/plot3d/shapes.pyx index 694fca5bb4d..ccbb3d5cff5 100644 --- a/src/sage/plot/plot3d/shapes.pyx +++ b/src/sage/plot/plot3d/shapes.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-plot """ Basic objects such as Sphere, Box, Cone, etc. diff --git a/src/sage/plot/plot3d/shapes2.py b/src/sage/plot/plot3d/shapes2.py index 96e4646bbc4..4587eaa6a2e 100644 --- a/src/sage/plot/plot3d/shapes2.py +++ b/src/sage/plot/plot3d/shapes2.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-plot r""" Classes for Lines, Frames, Rulers, Spheres, Points, Dots, and Text diff --git a/src/sage/plot/plot3d/tachyon.py b/src/sage/plot/plot3d/tachyon.py index 4e8184a7816..f7c80d56bce 100644 --- a/src/sage/plot/plot3d/tachyon.py +++ b/src/sage/plot/plot3d/tachyon.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-plot r""" The Tachyon 3D Ray Tracer diff --git a/src/sage/plot/plot3d/texture.py b/src/sage/plot/plot3d/texture.py index c4dee5d3ad5..5e0b1708594 100644 --- a/src/sage/plot/plot3d/texture.py +++ b/src/sage/plot/plot3d/texture.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-plot r""" Texture support diff --git a/src/sage/plot/plot3d/transform.pxd b/src/sage/plot/plot3d/transform.pxd index 39fd2bb6381..8113d48542c 100644 --- a/src/sage/plot/plot3d/transform.pxd +++ b/src/sage/plot/plot3d/transform.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-plot cdef struct point_c: double x, y, z diff --git a/src/sage/plot/plot3d/transform.pyx b/src/sage/plot/plot3d/transform.pyx index ad9aae98278..a2633a4da4c 100644 --- a/src/sage/plot/plot3d/transform.pyx +++ b/src/sage/plot/plot3d/transform.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-plot """ Transformations """ diff --git a/src/sage/plot/plot3d/tri_plot.py b/src/sage/plot/plot3d/tri_plot.py index 256b0d348c3..3b2e506d854 100644 --- a/src/sage/plot/plot3d/tri_plot.py +++ b/src/sage/plot/plot3d/tri_plot.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-plot r""" Adaptive refinement code for 3d surface plotting diff --git a/src/sage/plot/plot_field.py b/src/sage/plot/plot_field.py index a54a6db185b..adafeb93fd8 100644 --- a/src/sage/plot/plot_field.py +++ b/src/sage/plot/plot_field.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-plot # sage.doctest: needs sage.symbolic """ Plotting fields diff --git a/src/sage/plot/point.py b/src/sage/plot/point.py index 9377d2bec85..bc138f6ddff 100644 --- a/src/sage/plot/point.py +++ b/src/sage/plot/point.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-plot r""" Points diff --git a/src/sage/plot/polygon.py b/src/sage/plot/polygon.py index a2159fcfb56..a49477805e0 100644 --- a/src/sage/plot/polygon.py +++ b/src/sage/plot/polygon.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-plot """ Polygons """ diff --git a/src/sage/plot/primitive.py b/src/sage/plot/primitive.py index 20c2987142f..01e1bf67b86 100644 --- a/src/sage/plot/primitive.py +++ b/src/sage/plot/primitive.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-plot """ Plotting primitives """ diff --git a/src/sage/plot/scatter_plot.py b/src/sage/plot/scatter_plot.py index c78b33a5258..e523c3320da 100644 --- a/src/sage/plot/scatter_plot.py +++ b/src/sage/plot/scatter_plot.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-plot """ Scatter plots """ diff --git a/src/sage/plot/step.py b/src/sage/plot/step.py index 4023686f9bd..81e3dc56870 100644 --- a/src/sage/plot/step.py +++ b/src/sage/plot/step.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-plot # sage.doctest: needs sage.symbolic """ Step function plots diff --git a/src/sage/plot/streamline_plot.py b/src/sage/plot/streamline_plot.py index 663d3aee70b..8d32bedb449 100644 --- a/src/sage/plot/streamline_plot.py +++ b/src/sage/plot/streamline_plot.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-plot # sage.doctest: needs sage.symbolic """ Streamline plots diff --git a/src/sage/plot/text.py b/src/sage/plot/text.py index 602cdfebddf..133f34bade6 100644 --- a/src/sage/plot/text.py +++ b/src/sage/plot/text.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-plot """ Text in plots """ diff --git a/src/sage/probability/all.py b/src/sage/probability/all.py index 689ee7a7934..5e82c1e7525 100644 --- a/src/sage/probability/all.py +++ b/src/sage/probability/all.py @@ -1,9 +1,10 @@ +# sage_setup: distribution = sagemath-modules -from .random_variable import ( - DiscreteRandomVariable, - DiscreteProbabilitySpace ) +from sage.probability.random_variable import ( + DiscreteRandomVariable, + DiscreteProbabilitySpace) -from .probability_distribution import ( +from sage.probability.probability_distribution import ( RealDistribution, SphericalDistribution, - GeneralDiscreteDistribution ) + GeneralDiscreteDistribution) diff --git a/src/sage/probability/probability_distribution.pyx b/src/sage/probability/probability_distribution.pyx index e2c71af9c25..86c0dd17599 100644 --- a/src/sage/probability/probability_distribution.pyx +++ b/src/sage/probability/probability_distribution.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Probability Distributions diff --git a/src/sage/probability/random_variable.py b/src/sage/probability/random_variable.py index 4a385e55150..5950633e03f 100644 --- a/src/sage/probability/random_variable.py +++ b/src/sage/probability/random_variable.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Random variables and probability spaces diff --git a/src/sage/quadratic_forms/all.py b/src/sage/quadratic_forms/all.py index 81d395f375c..f09471d0416 100644 --- a/src/sage/quadratic_forms/all.py +++ b/src/sage/quadratic_forms/all.py @@ -1,19 +1,4 @@ -from .binary_qf import BinaryQF, BinaryQF_reduced_representatives +# sage_setup: distribution = sagemath-modules -from .bqf_class_group import BQFClassGroup - -from .ternary_qf import TernaryQF, find_all_ternary_qf_by_level_disc, find_a_ternary_qf_by_level_disc - -from .quadratic_form import QuadraticForm, DiagonalQuadraticForm, quadratic_form_from_invariants - -from .random_quadraticform import (random_quadraticform, random_quadraticform_with_conditions, - random_ternaryqf, random_ternaryqf_with_conditions) - -from .extras import least_quadratic_nonresidue, extend_to_primitive, is_triangular_number - -from .special_values import (gamma__exact, zeta__exact, QuadraticBernoulliNumber, - quadratic_L_function__exact, quadratic_L_function__numerical) - -from .genera.genus import Genus - -from .constructions import BezoutianQuadraticForm, HyperbolicPlane_quadratic_form +from sage.quadratic_forms.all__sagemath_modules import * +from sage.quadratic_forms.all__sagemath_pari import * diff --git a/src/sage/quadratic_forms/all__sagemath_modules.py b/src/sage/quadratic_forms/all__sagemath_modules.py new file mode 100644 index 00000000000..62516aead2a --- /dev/null +++ b/src/sage/quadratic_forms/all__sagemath_modules.py @@ -0,0 +1,12 @@ +from sage.quadratic_forms.binary_qf import BinaryQF, BinaryQF_reduced_representatives + +from sage.quadratic_forms.ternary_qf import TernaryQF, find_all_ternary_qf_by_level_disc, find_a_ternary_qf_by_level_disc + +from sage.quadratic_forms.quadratic_form import QuadraticForm, DiagonalQuadraticForm, quadratic_form_from_invariants + +from sage.quadratic_forms.random_quadraticform import (random_quadraticform, random_quadraticform_with_conditions, + random_ternaryqf, random_ternaryqf_with_conditions) + +from sage.quadratic_forms.extras import least_quadratic_nonresidue, extend_to_primitive, is_triangular_number + +from sage.quadratic_forms.constructions import BezoutianQuadraticForm, HyperbolicPlane_quadratic_form diff --git a/src/sage/quadratic_forms/all__sagemath_pari.py b/src/sage/quadratic_forms/all__sagemath_pari.py new file mode 100644 index 00000000000..f6235960f54 --- /dev/null +++ b/src/sage/quadratic_forms/all__sagemath_pari.py @@ -0,0 +1,6 @@ +from sage.quadratic_forms.bqf_class_group import BQFClassGroup + +from sage.quadratic_forms.special_values import (gamma__exact, zeta__exact, QuadraticBernoulliNumber, + quadratic_L_function__exact, quadratic_L_function__numerical) + +from sage.quadratic_forms.genera.genus import Genus diff --git a/src/sage/quadratic_forms/binary_qf.py b/src/sage/quadratic_forms/binary_qf.py index 1bd4e6db030..5a5a16eaae9 100755 --- a/src/sage/quadratic_forms/binary_qf.py +++ b/src/sage/quadratic_forms/binary_qf.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Binary quadratic forms with integer coefficients @@ -1608,17 +1609,21 @@ def small_prime_value(self, Bmax=1000): raise ValueError("Unable to find a prime value of %s" % self) B += 10 - def solve_integer(self, n, *, algorithm="general"): + def solve_integer(self, n, *, algorithm="general", _flag=2): r""" Solve `Q(x, y) = n` in integers `x` and `y` where `Q` is this quadratic form. INPUT: - - ``n`` -- a positive integer + - ``n`` -- a positive integer or a + `:sage:`~sage.structure.factorization.Factorization` object - ``algorithm`` -- ``"general"`` (default) or ``"cornacchia"`` + - ``_flag`` -- ``1``, ``2`` (default) or ``3``; passed onto the pari + function``qfbsolve``. For internal use only. + To use the Cornacchia algorithm, the quadratic form must have `a=1` and `b=0` and `c>0`, and ``n`` must be a prime or four times a prime (but this is not checked). @@ -1630,6 +1635,8 @@ def solve_integer(self, n, *, algorithm="general"): ALGORITHM: :pari:`qfbsolve` or :pari:`qfbcornacchia` + TODO:: Replace `_flag` with human-readable parameters c.f. :issue:`37119` + EXAMPLES:: sage: Q = BinaryQF([1, 0, 419]) @@ -1665,6 +1672,14 @@ def solve_integer(self, n, *, algorithm="general"): sage: [Q.solve_integer(6) for Q in Qs] [(1, -1), (1, -1), (-1, -1)] + :: + + sage: # needs sage.libs.pari + sage: n = factor(126) + sage: Q = BinaryQF([1, 0, 5]) + sage: Q.solve_integer(n) + (11, -1) + TESTS: The returned solutions are correct (random inputs):: @@ -1714,22 +1729,39 @@ def solve_integer(self, n, *, algorithm="general"): sage: Q = Q.matrix_action_right(U) sage: Q.discriminant().is_square() True - sage: xy = Q.solve_integer(n) # needs sage.libs.pari - sage: Q(*xy) == n # needs sage.libs.pari + sage: # needs sage.libs.pari + sage: xy = Q.solve_integer(n) + sage: Q(*xy) == n True Also test the `n=0` special case separately:: - sage: xy = Q.solve_integer(0) # needs sage.libs.pari - sage: Q(*xy) # needs sage.libs.pari + sage: # needs sage.libs.pari + sage: xy = Q.solve_integer(0) + sage: Q(*xy) 0 - """ - n = ZZ(n) + Test for different `_flag` values:: + + sage: # needs sage.libs.pari + sage: Q = BinaryQF([1, 0, 5]) + sage: Q.solve_integer(126, _flag=1) + [(11, -1), (-1, -5), (-1, 5), (-11, -1)] + sage: Q.solve_integer(126, _flag=2) + (11, -1) + sage: Q.solve_integer(126, _flag=3) + [(11, -1), (-1, -5), (-1, 5), (-11, -1), (-9, -3), (9, -3)] + """ if self.is_negative_definite(): # not supported by PARI return (-self).solve_integer(-n) if self.is_reducible(): # square discriminant; not supported by PARI + from sage.structure.factorization import Factorization + if isinstance(n, Factorization): + n = ZZ(n.value()) + else: + n = ZZ(n) + if self._a: # https://math.stackexchange.com/a/980075 w = self.discriminant().sqrt() @@ -1772,9 +1804,10 @@ def solve_integer(self, n, *, algorithm="general"): if algorithm != 'general': raise ValueError(f'algorithm {algorithm!r} is not a valid algorithm') - flag = 2 # single solution, possibly imprimitive - sol = self.__pari__().qfbsolve(n, flag) - return tuple(map(ZZ, sol)) if sol else None + sol = self.__pari__().qfbsolve(n, _flag) + if _flag == 2: + return tuple(map(ZZ, sol)) if sol else None + return list(map(lambda tup: tuple(map(ZZ, tup)), sol)) def form_class(self): r""" diff --git a/src/sage/quadratic_forms/bqf_class_group.py b/src/sage/quadratic_forms/bqf_class_group.py index 6d3aefed881..2db1c637336 100644 --- a/src/sage/quadratic_forms/bqf_class_group.py +++ b/src/sage/quadratic_forms/bqf_class_group.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Class groups of binary quadratic forms diff --git a/src/sage/quadratic_forms/constructions.py b/src/sage/quadratic_forms/constructions.py index 2fe117d2e29..f24148f6d31 100644 --- a/src/sage/quadratic_forms/constructions.py +++ b/src/sage/quadratic_forms/constructions.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Constructions of quadratic forms """ diff --git a/src/sage/quadratic_forms/count_local_2.pyx b/src/sage/quadratic_forms/count_local_2.pyx index 3ce05a3a413..a00f1072d82 100644 --- a/src/sage/quadratic_forms/count_local_2.pyx +++ b/src/sage/quadratic_forms/count_local_2.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Optimized counting of congruence solutions """ diff --git a/src/sage/quadratic_forms/extras.py b/src/sage/quadratic_forms/extras.py index 7bdba23c32e..e0ef56a2625 100644 --- a/src/sage/quadratic_forms/extras.py +++ b/src/sage/quadratic_forms/extras.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Extra functions for quadratic forms """ diff --git a/src/sage/quadratic_forms/genera/all.py b/src/sage/quadratic_forms/genera/all.py index b1f48b5b8f6..94beebc6290 100644 --- a/src/sage/quadratic_forms/genera/all.py +++ b/src/sage/quadratic_forms/genera/all.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari # **************************************************************************** # Copyright (C) 2007 David Kohel # @@ -5,4 +6,4 @@ # # https://www.gnu.org/licenses/ # **************************************************************************** -from .genus import Genus, LocalGenusSymbol, is_GlobalGenus +from sage.quadratic_forms.genera.genus import Genus, LocalGenusSymbol, is_GlobalGenus diff --git a/src/sage/quadratic_forms/genera/genus.py b/src/sage/quadratic_forms/genera/genus.py index d98b2416c3d..7e9f7a7e557 100644 --- a/src/sage/quadratic_forms/genera/genus.py +++ b/src/sage/quadratic_forms/genera/genus.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari # sage.doctest: needs sage.libs.pari r""" Genus diff --git a/src/sage/quadratic_forms/genera/normal_form.py b/src/sage/quadratic_forms/genera/normal_form.py index 829b4783226..237caa0ac62 100644 --- a/src/sage/quadratic_forms/genera/normal_form.py +++ b/src/sage/quadratic_forms/genera/normal_form.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari # sage.doctest: needs sage.libs.pari sage.rings.padics r""" Normal forms for `p`-adic quadratic and bilinear forms diff --git a/src/sage/quadratic_forms/genera/spinor_genus.py b/src/sage/quadratic_forms/genera/spinor_genus.py index 4f318a64d44..f3bfebaf6f8 100644 --- a/src/sage/quadratic_forms/genera/spinor_genus.py +++ b/src/sage/quadratic_forms/genera/spinor_genus.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari # sage.doctest: needs sage.groups r""" Spinor genus computations. diff --git a/src/sage/quadratic_forms/qfsolve.py b/src/sage/quadratic_forms/qfsolve.py index 83720128bfc..5f418226e7c 100644 --- a/src/sage/quadratic_forms/qfsolve.py +++ b/src/sage/quadratic_forms/qfsolve.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari # sage.doctest: needs sage.libs.pari """ Solving quadratic equations diff --git a/src/sage/quadratic_forms/quadratic_form.py b/src/sage/quadratic_forms/quadratic_form.py index b9a9767a54a..eb7ccc893fe 100644 --- a/src/sage/quadratic_forms/quadratic_form.py +++ b/src/sage/quadratic_forms/quadratic_form.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Quadratic forms overview diff --git a/src/sage/quadratic_forms/quadratic_form__automorphisms.py b/src/sage/quadratic_forms/quadratic_form__automorphisms.py index 4b6e3594f83..4972cacee14 100644 --- a/src/sage/quadratic_forms/quadratic_form__automorphisms.py +++ b/src/sage/quadratic_forms/quadratic_form__automorphisms.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari # sage.doctest: needs sage.libs.pari """ Automorphisms of Quadratic Forms diff --git a/src/sage/quadratic_forms/quadratic_form__count_local_2.py b/src/sage/quadratic_forms/quadratic_form__count_local_2.py index b125d8d6840..c98d2f4271e 100644 --- a/src/sage/quadratic_forms/quadratic_form__count_local_2.py +++ b/src/sage/quadratic_forms/quadratic_form__count_local_2.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Counting Congruence Solutions diff --git a/src/sage/quadratic_forms/quadratic_form__equivalence_testing.py b/src/sage/quadratic_forms/quadratic_form__equivalence_testing.py index 89d4c281104..78d8a22b509 100644 --- a/src/sage/quadratic_forms/quadratic_form__equivalence_testing.py +++ b/src/sage/quadratic_forms/quadratic_form__equivalence_testing.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Equivalence Testing diff --git a/src/sage/quadratic_forms/quadratic_form__evaluate.pyx b/src/sage/quadratic_forms/quadratic_form__evaluate.pyx index 95e82e669dc..ddea5c0c112 100644 --- a/src/sage/quadratic_forms/quadratic_form__evaluate.pyx +++ b/src/sage/quadratic_forms/quadratic_form__evaluate.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules "Evaluation" diff --git a/src/sage/quadratic_forms/quadratic_form__genus.py b/src/sage/quadratic_forms/quadratic_form__genus.py index 52468e9889a..7ff275be265 100644 --- a/src/sage/quadratic_forms/quadratic_form__genus.py +++ b/src/sage/quadratic_forms/quadratic_form__genus.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari # sage.doctest: needs sage.libs.pari """ Local and Global Genus Symbols diff --git a/src/sage/quadratic_forms/quadratic_form__local_density_congruence.py b/src/sage/quadratic_forms/quadratic_form__local_density_congruence.py index a39637df8f0..f02d5aca212 100644 --- a/src/sage/quadratic_forms/quadratic_form__local_density_congruence.py +++ b/src/sage/quadratic_forms/quadratic_form__local_density_congruence.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Local Density Congruence """ diff --git a/src/sage/quadratic_forms/quadratic_form__local_density_interfaces.py b/src/sage/quadratic_forms/quadratic_form__local_density_interfaces.py index ec39e489494..dac1793a1be 100644 --- a/src/sage/quadratic_forms/quadratic_form__local_density_interfaces.py +++ b/src/sage/quadratic_forms/quadratic_form__local_density_interfaces.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari """ Local Density Interfaces """ diff --git a/src/sage/quadratic_forms/quadratic_form__local_field_invariants.py b/src/sage/quadratic_forms/quadratic_form__local_field_invariants.py index aff8dad2d62..90341e00ae0 100644 --- a/src/sage/quadratic_forms/quadratic_form__local_field_invariants.py +++ b/src/sage/quadratic_forms/quadratic_form__local_field_invariants.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Local Field Invariants diff --git a/src/sage/quadratic_forms/quadratic_form__local_normal_form.py b/src/sage/quadratic_forms/quadratic_form__local_normal_form.py index 5770a3c22f0..fd3cebb8cbd 100644 --- a/src/sage/quadratic_forms/quadratic_form__local_normal_form.py +++ b/src/sage/quadratic_forms/quadratic_form__local_normal_form.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari """ Local Normal Form """ diff --git a/src/sage/quadratic_forms/quadratic_form__local_representation_conditions.py b/src/sage/quadratic_forms/quadratic_form__local_representation_conditions.py index c337d2994a0..e7a1c2607f9 100644 --- a/src/sage/quadratic_forms/quadratic_form__local_representation_conditions.py +++ b/src/sage/quadratic_forms/quadratic_form__local_representation_conditions.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari # sage.doctest: needs sage.libs.pari sage.rings.number_field """ Local Representation Conditions diff --git a/src/sage/quadratic_forms/quadratic_form__mass.py b/src/sage/quadratic_forms/quadratic_form__mass.py index 67bf06d888a..e951d8c1b29 100644 --- a/src/sage/quadratic_forms/quadratic_form__mass.py +++ b/src/sage/quadratic_forms/quadratic_form__mass.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari """ Shimura Mass """ diff --git a/src/sage/quadratic_forms/quadratic_form__mass__Conway_Sloane_masses.py b/src/sage/quadratic_forms/quadratic_form__mass__Conway_Sloane_masses.py index 894ee68cec9..732e31bff96 100644 --- a/src/sage/quadratic_forms/quadratic_form__mass__Conway_Sloane_masses.py +++ b/src/sage/quadratic_forms/quadratic_form__mass__Conway_Sloane_masses.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari """ Conway-Sloane masses """ diff --git a/src/sage/quadratic_forms/quadratic_form__mass__Siegel_densities.py b/src/sage/quadratic_forms/quadratic_form__mass__Siegel_densities.py index 9133a84b76f..a82406bce24 100644 --- a/src/sage/quadratic_forms/quadratic_form__mass__Siegel_densities.py +++ b/src/sage/quadratic_forms/quadratic_form__mass__Siegel_densities.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari """ Local Masses and Siegel Densities """ diff --git a/src/sage/quadratic_forms/quadratic_form__neighbors.py b/src/sage/quadratic_forms/quadratic_form__neighbors.py index 0486e0a4acb..19577bd0585 100644 --- a/src/sage/quadratic_forms/quadratic_form__neighbors.py +++ b/src/sage/quadratic_forms/quadratic_form__neighbors.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Neighbors """ diff --git a/src/sage/quadratic_forms/quadratic_form__reduction_theory.py b/src/sage/quadratic_forms/quadratic_form__reduction_theory.py index 87323962097..1bafe1e2756 100644 --- a/src/sage/quadratic_forms/quadratic_form__reduction_theory.py +++ b/src/sage/quadratic_forms/quadratic_form__reduction_theory.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Reduction Theory """ diff --git a/src/sage/quadratic_forms/quadratic_form__siegel_product.py b/src/sage/quadratic_forms/quadratic_form__siegel_product.py index b481f5ad073..1aebfabb6bf 100644 --- a/src/sage/quadratic_forms/quadratic_form__siegel_product.py +++ b/src/sage/quadratic_forms/quadratic_form__siegel_product.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari # sage.doctest: needs sage.libs.pari """ Siegel Products diff --git a/src/sage/quadratic_forms/quadratic_form__split_local_covering.py b/src/sage/quadratic_forms/quadratic_form__split_local_covering.py index 4db788e5e44..ca265e51056 100644 --- a/src/sage/quadratic_forms/quadratic_form__split_local_covering.py +++ b/src/sage/quadratic_forms/quadratic_form__split_local_covering.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Split Local Covering """ diff --git a/src/sage/quadratic_forms/quadratic_form__ternary_Tornaria.py b/src/sage/quadratic_forms/quadratic_form__ternary_Tornaria.py index cc7a6549312..01fdced1bc1 100644 --- a/src/sage/quadratic_forms/quadratic_form__ternary_Tornaria.py +++ b/src/sage/quadratic_forms/quadratic_form__ternary_Tornaria.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Tornaria methods for computing with quadratic forms """ diff --git a/src/sage/quadratic_forms/quadratic_form__theta.py b/src/sage/quadratic_forms/quadratic_form__theta.py index c4f0606df4c..8320c6ac13a 100644 --- a/src/sage/quadratic_forms/quadratic_form__theta.py +++ b/src/sage/quadratic_forms/quadratic_form__theta.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Theta Series of Quadratic Forms diff --git a/src/sage/quadratic_forms/quadratic_form__variable_substitutions.py b/src/sage/quadratic_forms/quadratic_form__variable_substitutions.py index cbcae91d9de..f47efdbdc8f 100644 --- a/src/sage/quadratic_forms/quadratic_form__variable_substitutions.py +++ b/src/sage/quadratic_forms/quadratic_form__variable_substitutions.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Variable Substitution, Multiplication, Division, Scaling diff --git a/src/sage/quadratic_forms/random_quadraticform.py b/src/sage/quadratic_forms/random_quadraticform.py index e372c625f57..d0b202dd919 100644 --- a/src/sage/quadratic_forms/random_quadraticform.py +++ b/src/sage/quadratic_forms/random_quadraticform.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Random quadratic forms diff --git a/src/sage/quadratic_forms/special_values.py b/src/sage/quadratic_forms/special_values.py index 2ee775e053d..74f1882a7cb 100644 --- a/src/sage/quadratic_forms/special_values.py +++ b/src/sage/quadratic_forms/special_values.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari r""" Routines for computing special values of `L`-functions diff --git a/src/sage/quadratic_forms/ternary.pyx b/src/sage/quadratic_forms/ternary.pyx index 3c1ca8832a8..583f1f1c88d 100644 --- a/src/sage/quadratic_forms/ternary.pyx +++ b/src/sage/quadratic_forms/ternary.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Helper code for ternary quadratic forms """ diff --git a/src/sage/quadratic_forms/ternary_qf.py b/src/sage/quadratic_forms/ternary_qf.py index d5384632694..fda07dec2bb 100644 --- a/src/sage/quadratic_forms/ternary_qf.py +++ b/src/sage/quadratic_forms/ternary_qf.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Ternary quadratic form with integer coefficients diff --git a/src/sage/quivers/algebra.py b/src/sage/quivers/algebra.py index 393caa64f40..fb2211c474a 100644 --- a/src/sage/quivers/algebra.py +++ b/src/sage/quivers/algebra.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint """ Path Algebras """ diff --git a/src/sage/quivers/algebra_elements.pxd b/src/sage/quivers/algebra_elements.pxd index 3beb69914d0..91645ff60d2 100644 --- a/src/sage/quivers/algebra_elements.pxd +++ b/src/sage/quivers/algebra_elements.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint """ Cython types for elements of path algebras """ diff --git a/src/sage/quivers/algebra_elements.pxi b/src/sage/quivers/algebra_elements.pxi index 45d18478f60..2ca59dbd40d 100644 --- a/src/sage/quivers/algebra_elements.pxi +++ b/src/sage/quivers/algebra_elements.pxi @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint """ Boilerplate functions for a cython implementation of elements of path algebras diff --git a/src/sage/quivers/algebra_elements.pyx b/src/sage/quivers/algebra_elements.pyx index 3d05ba7e270..8e1cbd0b8c6 100644 --- a/src/sage/quivers/algebra_elements.pyx +++ b/src/sage/quivers/algebra_elements.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint """ Path algebra elements diff --git a/src/sage/quivers/all.py b/src/sage/quivers/all.py index e69de29bb2d..d31bae41036 100644 --- a/src/sage/quivers/all.py +++ b/src/sage/quivers/all.py @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-flint diff --git a/src/sage/quivers/homspace.py b/src/sage/quivers/homspace.py index 414eafa5a89..36e3eea2eca 100644 --- a/src/sage/quivers/homspace.py +++ b/src/sage/quivers/homspace.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint """ Quiver Homspace """ diff --git a/src/sage/quivers/morphism.py b/src/sage/quivers/morphism.py index b2f3d33e0df..4a67151a580 100644 --- a/src/sage/quivers/morphism.py +++ b/src/sage/quivers/morphism.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint """ Quiver Morphisms """ diff --git a/src/sage/quivers/path_semigroup.py b/src/sage/quivers/path_semigroup.py index 42ff7b0698e..6b42236d314 100644 --- a/src/sage/quivers/path_semigroup.py +++ b/src/sage/quivers/path_semigroup.py @@ -1,4 +1,4 @@ -# -*- encoding: utf-8 -*- +# sage_setup: distribution = sagemath-flint """ Path Semigroups """ diff --git a/src/sage/quivers/paths.pxd b/src/sage/quivers/paths.pxd index 5757bf6e219..26e5ad3ccf5 100644 --- a/src/sage/quivers/paths.pxd +++ b/src/sage/quivers/paths.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint from sage.structure.element cimport MonoidElement, Element from sage.data_structures.bounded_integer_sequences cimport biseq_t diff --git a/src/sage/quivers/paths.pyx b/src/sage/quivers/paths.pyx index aead99670ab..984d792621d 100644 --- a/src/sage/quivers/paths.pyx +++ b/src/sage/quivers/paths.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint """ Quiver Paths """ diff --git a/src/sage/quivers/representation.py b/src/sage/quivers/representation.py index 4d8b3cf7321..6e85af5af76 100644 --- a/src/sage/quivers/representation.py +++ b/src/sage/quivers/representation.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint r""" Quiver Representations diff --git a/src/sage/repl/__init__.py b/src/sage/repl/__init__.py index 1357b584ef3..dfa0bd2e536 100644 --- a/src/sage/repl/__init__.py +++ b/src/sage/repl/__init__.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-repl # IPython calls this when "%load_ext sage.repl" is used. # The Sage application loads it when starting up. def load_ipython_extension(*args): diff --git a/src/sage/repl/all.py b/src/sage/repl/all.py index 96fd6de5f6d..bf4b65b10fe 100644 --- a/src/sage/repl/all.py +++ b/src/sage/repl/all.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-repl from sage.misc.lazy_import import lazy_import from sage.repl.preparse import preparse, implicit_multiplication @@ -5,9 +6,10 @@ lazy_import('sage.repl.interpreter', 'preparser') lazy_import('sage.repl.attach', [ - 'attach', 'detach', 'attached_files', 'load_attach_path', - 'reset_load_attach_path', 'load_attach_mode']) + 'attach', 'detach', 'attached_files', 'load_attach_path', + 'reset_load_attach_path', 'load_attach_mode']) from sage.repl.rich_output.display_manager import get_display_manager from sage.repl.rich_output.pretty_print import pretty_print, show +del lazy_import diff --git a/src/sage/repl/attach.py b/src/sage/repl/attach.py index 689759d50a8..52f3f12fa62 100644 --- a/src/sage/repl/attach.py +++ b/src/sage/repl/attach.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-repl r""" Keep track of attached files diff --git a/src/sage/repl/configuration.py b/src/sage/repl/configuration.py index 90df44bdf81..ad0870cca2e 100644 --- a/src/sage/repl/configuration.py +++ b/src/sage/repl/configuration.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-repl r""" Sage's IPython Configuration diff --git a/src/sage/repl/display/__init__.py b/src/sage/repl/display/__init__.py index e69de29bb2d..62acb4df510 100644 --- a/src/sage/repl/display/__init__.py +++ b/src/sage/repl/display/__init__.py @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-repl diff --git a/src/sage/repl/display/fancy_repr.py b/src/sage/repl/display/fancy_repr.py index 1cfaf94c45f..c2e88af33f0 100644 --- a/src/sage/repl/display/fancy_repr.py +++ b/src/sage/repl/display/fancy_repr.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-repl """ Representations of objects """ diff --git a/src/sage/repl/display/formatter.py b/src/sage/repl/display/formatter.py index 822a9edfaba..9d6eaf53894 100644 --- a/src/sage/repl/display/formatter.py +++ b/src/sage/repl/display/formatter.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-repl r""" IPython Displayhook Formatters diff --git a/src/sage/repl/display/jsmol_iframe.py b/src/sage/repl/display/jsmol_iframe.py index f8e69cfcb59..1d1c9c8fb55 100644 --- a/src/sage/repl/display/jsmol_iframe.py +++ b/src/sage/repl/display/jsmol_iframe.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-repl """ HTML Generator for JSmol diff --git a/src/sage/repl/display/pretty_print.py b/src/sage/repl/display/pretty_print.py index 95a5f86a520..99bbe5013d0 100644 --- a/src/sage/repl/display/pretty_print.py +++ b/src/sage/repl/display/pretty_print.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-repl """ The Sage pretty printer diff --git a/src/sage/repl/display/util.py b/src/sage/repl/display/util.py index a2033c69f4f..8fcc6569a3a 100644 --- a/src/sage/repl/display/util.py +++ b/src/sage/repl/display/util.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-repl """ Utility functions for pretty-printing diff --git a/src/sage/repl/image.py b/src/sage/repl/image.py index c9b2001b016..500e60d97b0 100644 --- a/src/sage/repl/image.py +++ b/src/sage/repl/image.py @@ -1,4 +1,4 @@ -# -*- encoding: utf-8 -*- +# sage_setup: distribution = sagemath-repl """ Sage Wrapper for Bitmap Images diff --git a/src/sage/repl/inputhook.py b/src/sage/repl/inputhook.py index 8d79110ebbf..99fb4a0c871 100644 --- a/src/sage/repl/inputhook.py +++ b/src/sage/repl/inputhook.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-repl """ The Sage Input Hook diff --git a/src/sage/repl/interface_magic.py b/src/sage/repl/interface_magic.py index b77bc09e972..b60355f5cae 100644 --- a/src/sage/repl/interface_magic.py +++ b/src/sage/repl/interface_magic.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-repl """ Magics for each of the Sage interfaces diff --git a/src/sage/repl/interpreter.py b/src/sage/repl/interpreter.py index abd2c4fcad1..84af28f8cf7 100644 --- a/src/sage/repl/interpreter.py +++ b/src/sage/repl/interpreter.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-repl r""" Sage's IPython Modifications diff --git a/src/sage/repl/ipython_extension.py b/src/sage/repl/ipython_extension.py index f9b165847d8..a7fccf9aa99 100644 --- a/src/sage/repl/ipython_extension.py +++ b/src/sage/repl/ipython_extension.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-repl r""" Sage's IPython Extension diff --git a/src/sage/repl/ipython_kernel/__init__.py b/src/sage/repl/ipython_kernel/__init__.py index e69de29bb2d..62acb4df510 100644 --- a/src/sage/repl/ipython_kernel/__init__.py +++ b/src/sage/repl/ipython_kernel/__init__.py @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-repl diff --git a/src/sage/repl/ipython_kernel/__main__.py b/src/sage/repl/ipython_kernel/__main__.py index a1657263bee..8f575facf67 100644 --- a/src/sage/repl/ipython_kernel/__main__.py +++ b/src/sage/repl/ipython_kernel/__main__.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-repl from ipykernel.kernelapp import IPKernelApp from sage.repl.ipython_kernel.kernel import SageKernel IPKernelApp.launch_instance(kernel_class=SageKernel) diff --git a/src/sage/repl/ipython_kernel/all_jupyter.py b/src/sage/repl/ipython_kernel/all_jupyter.py index 37899e1c080..2d2677da27d 100644 --- a/src/sage/repl/ipython_kernel/all_jupyter.py +++ b/src/sage/repl/ipython_kernel/all_jupyter.py @@ -1,9 +1,10 @@ +# sage_setup: distribution = sagemath-repl """ All imports for Jupyter """ from sage.all_cmdline import * -from .widgets_sagenb import (input_box, text_control, slider, - range_slider, checkbox, selector, input_grid, color_selector) -from .interact import interact +from sage.repl.ipython_kernel.widgets_sagenb import (input_box, text_control, slider, + range_slider, checkbox, selector, input_grid, color_selector) +from sage.repl.ipython_kernel.interact import interact diff --git a/src/sage/repl/ipython_kernel/install.py b/src/sage/repl/ipython_kernel/install.py index 9b5ab3486c7..d4feb9e06a3 100644 --- a/src/sage/repl/ipython_kernel/install.py +++ b/src/sage/repl/ipython_kernel/install.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-repl """ Installing the SageMath Jupyter Kernel and Extensions diff --git a/src/sage/repl/ipython_kernel/interact.py b/src/sage/repl/ipython_kernel/interact.py index c9c3d627657..f62cf420fc1 100644 --- a/src/sage/repl/ipython_kernel/interact.py +++ b/src/sage/repl/ipython_kernel/interact.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-repl r""" Interacts for the Sage Jupyter notebook diff --git a/src/sage/repl/ipython_kernel/kernel.py b/src/sage/repl/ipython_kernel/kernel.py index 5398270160e..1de9df5ee44 100644 --- a/src/sage/repl/ipython_kernel/kernel.py +++ b/src/sage/repl/ipython_kernel/kernel.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-repl """ The Sage ZMQ Kernel diff --git a/src/sage/repl/ipython_kernel/widgets.py b/src/sage/repl/ipython_kernel/widgets.py index 14c879373a5..93498c7e09a 100644 --- a/src/sage/repl/ipython_kernel/widgets.py +++ b/src/sage/repl/ipython_kernel/widgets.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-repl r""" Widgets to be used for the Sage Jupyter notebook diff --git a/src/sage/repl/ipython_kernel/widgets_sagenb.py b/src/sage/repl/ipython_kernel/widgets_sagenb.py index cedf713248a..4d3b1dbdedc 100644 --- a/src/sage/repl/ipython_kernel/widgets_sagenb.py +++ b/src/sage/repl/ipython_kernel/widgets_sagenb.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-repl r""" Functions to construct widgets, based on the old SageNB interface. diff --git a/src/sage/repl/ipython_tests.py b/src/sage/repl/ipython_tests.py index 74a76c84d68..5070fc4fb35 100644 --- a/src/sage/repl/ipython_tests.py +++ b/src/sage/repl/ipython_tests.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-repl ''' Tests for the IPython integration diff --git a/src/sage/repl/load.py b/src/sage/repl/load.py index b0f4a269242..ea452873682 100644 --- a/src/sage/repl/load.py +++ b/src/sage/repl/load.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-repl """ Load Python, Sage, Cython, Fortran and Magma files in Sage """ diff --git a/src/sage/repl/preparse.py b/src/sage/repl/preparse.py index 9eadcca6fb7..e72d6d013fe 100644 --- a/src/sage/repl/preparse.py +++ b/src/sage/repl/preparse.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-repl """ The Sage Preparser diff --git a/src/sage/repl/prompts.py b/src/sage/repl/prompts.py index 4bc2cae68e6..5b1c66bb6f2 100644 --- a/src/sage/repl/prompts.py +++ b/src/sage/repl/prompts.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-repl r""" Sage Commandline Prompts """ diff --git a/src/sage/repl/rich_output/__init__.py b/src/sage/repl/rich_output/__init__.py index 49e8325ba21..558cd47d827 100644 --- a/src/sage/repl/rich_output/__init__.py +++ b/src/sage/repl/rich_output/__init__.py @@ -1,4 +1,4 @@ -# -*- encoding: utf-8 -*- +# sage_setup: distribution = sagemath-repl from .display_manager import get_display_manager from .pretty_print import pretty_print diff --git a/src/sage/repl/rich_output/backend_base.py b/src/sage/repl/rich_output/backend_base.py index 40019397733..98da01836cc 100644 --- a/src/sage/repl/rich_output/backend_base.py +++ b/src/sage/repl/rich_output/backend_base.py @@ -1,4 +1,4 @@ -# -*- encoding: utf-8 -*- +# sage_setup: distribution = sagemath-repl r""" Base Class for Backends diff --git a/src/sage/repl/rich_output/backend_doctest.py b/src/sage/repl/rich_output/backend_doctest.py index 69905f7b067..430579f3f19 100644 --- a/src/sage/repl/rich_output/backend_doctest.py +++ b/src/sage/repl/rich_output/backend_doctest.py @@ -1,4 +1,4 @@ -# -*- encoding: utf-8 -*- +# sage_setup: distribution = sagemath-repl """ The backend used for doctests diff --git a/src/sage/repl/rich_output/backend_emacs.py b/src/sage/repl/rich_output/backend_emacs.py index 112650270dd..52e098720c4 100644 --- a/src/sage/repl/rich_output/backend_emacs.py +++ b/src/sage/repl/rich_output/backend_emacs.py @@ -1,4 +1,4 @@ -# -*- encoding: utf-8 -*- +# sage_setup: distribution = sagemath-repl r""" Emacs sage-mode Backend for the Sage Rich Output System diff --git a/src/sage/repl/rich_output/backend_ipython.py b/src/sage/repl/rich_output/backend_ipython.py index 7f39e37bf8f..1fe536762d1 100644 --- a/src/sage/repl/rich_output/backend_ipython.py +++ b/src/sage/repl/rich_output/backend_ipython.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-repl """ IPython Backend for the Sage Rich Output System diff --git a/src/sage/repl/rich_output/buffer.py b/src/sage/repl/rich_output/buffer.py index 10b861e846e..19681fd1dc9 100644 --- a/src/sage/repl/rich_output/buffer.py +++ b/src/sage/repl/rich_output/buffer.py @@ -1,4 +1,4 @@ -# -*- encoding: utf-8 -*- +# sage_setup: distribution = sagemath-repl r""" Output Buffer diff --git a/src/sage/repl/rich_output/display_manager.py b/src/sage/repl/rich_output/display_manager.py index cfece92a810..1a3bb46ee1d 100644 --- a/src/sage/repl/rich_output/display_manager.py +++ b/src/sage/repl/rich_output/display_manager.py @@ -1,4 +1,4 @@ -# -*- encoding: utf-8 -*- +# sage_setup: distribution = sagemath-repl r""" Display Manager diff --git a/src/sage/repl/rich_output/output_basic.py b/src/sage/repl/rich_output/output_basic.py index 03f267896e6..ea538ca5c96 100644 --- a/src/sage/repl/rich_output/output_basic.py +++ b/src/sage/repl/rich_output/output_basic.py @@ -1,4 +1,4 @@ -# -*- encoding: utf-8 -*- +# sage_setup: distribution = sagemath-repl r""" Basic Output Types diff --git a/src/sage/repl/rich_output/output_browser.py b/src/sage/repl/rich_output/output_browser.py index 3d7cda599a1..00072c96030 100644 --- a/src/sage/repl/rich_output/output_browser.py +++ b/src/sage/repl/rich_output/output_browser.py @@ -1,4 +1,4 @@ -# -*- encoding: utf-8 -*- +# sage_setup: distribution = sagemath-repl r""" Rich Output for the Browser """ diff --git a/src/sage/repl/rich_output/output_catalog.py b/src/sage/repl/rich_output/output_catalog.py index 748941c11fc..542182eee69 100644 --- a/src/sage/repl/rich_output/output_catalog.py +++ b/src/sage/repl/rich_output/output_catalog.py @@ -1,4 +1,4 @@ -# -*- encoding: utf-8 -*- +# sage_setup: distribution = sagemath-repl r""" Catalog of all available output container types. diff --git a/src/sage/repl/rich_output/output_graphics.py b/src/sage/repl/rich_output/output_graphics.py index 010ffcb60c8..d8c29c553a7 100644 --- a/src/sage/repl/rich_output/output_graphics.py +++ b/src/sage/repl/rich_output/output_graphics.py @@ -1,4 +1,4 @@ -# -*- encoding: utf-8 -*- +# sage_setup: distribution = sagemath-repl r""" Graphics Output Types diff --git a/src/sage/repl/rich_output/output_graphics3d.py b/src/sage/repl/rich_output/output_graphics3d.py index 46ff6d67ad1..3cf42fafb4a 100644 --- a/src/sage/repl/rich_output/output_graphics3d.py +++ b/src/sage/repl/rich_output/output_graphics3d.py @@ -1,4 +1,4 @@ -# -*- encoding: utf-8 -*- +# sage_setup: distribution = sagemath-repl r""" Three-Dimensional Graphics Output Types diff --git a/src/sage/repl/rich_output/output_video.py b/src/sage/repl/rich_output/output_video.py index 3a0d718aaab..5171ac058ae 100644 --- a/src/sage/repl/rich_output/output_video.py +++ b/src/sage/repl/rich_output/output_video.py @@ -1,4 +1,4 @@ -# -*- encoding: utf-8 -*- +# sage_setup: distribution = sagemath-repl r""" Video Output Types diff --git a/src/sage/repl/rich_output/preferences.py b/src/sage/repl/rich_output/preferences.py index f26962dc29b..ca32aa1ea81 100644 --- a/src/sage/repl/rich_output/preferences.py +++ b/src/sage/repl/rich_output/preferences.py @@ -1,4 +1,4 @@ -# -*- encoding: utf-8 -*- +# sage_setup: distribution = sagemath-repl r""" Display Preferences diff --git a/src/sage/repl/rich_output/pretty_print.py b/src/sage/repl/rich_output/pretty_print.py index 65d72068588..00b0c75465d 100644 --- a/src/sage/repl/rich_output/pretty_print.py +++ b/src/sage/repl/rich_output/pretty_print.py @@ -1,4 +1,4 @@ -# -*- encoding: utf-8 -*- +# sage_setup: distribution = sagemath-repl r""" The ``pretty_print`` command diff --git a/src/sage/repl/rich_output/test_backend.py b/src/sage/repl/rich_output/test_backend.py index f0750addb39..a08d75624e1 100644 --- a/src/sage/repl/rich_output/test_backend.py +++ b/src/sage/repl/rich_output/test_backend.py @@ -1,4 +1,4 @@ -# -*- encoding: utf-8 -*- +# sage_setup: distribution = sagemath-repl r""" Test Backend diff --git a/src/sage/repl/user_globals.py b/src/sage/repl/user_globals.py index 75686da1a55..d39b1dd9aad 100644 --- a/src/sage/repl/user_globals.py +++ b/src/sage/repl/user_globals.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-repl # sage.doctest: needs sage.modules r""" User-interface globals diff --git a/src/sage/rings/abc.pxd b/src/sage/rings/abc.pxd index a2d2e3f0ce4..991773f0359 100644 --- a/src/sage/rings/abc.pxd +++ b/src/sage/rings/abc.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories from sage.rings.ring cimport CommutativeRing, Field cdef class RealField(Field): diff --git a/src/sage/rings/abc.pyx b/src/sage/rings/abc.pyx index e8078f97743..cfbb74465a2 100644 --- a/src/sage/rings/abc.pyx +++ b/src/sage/rings/abc.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Abstract base classes for rings """ diff --git a/src/sage/rings/algebraic_closure_finite_field.py b/src/sage/rings/algebraic_closure_finite_field.py index 9e97df6517d..7920e04cba7 100644 --- a/src/sage/rings/algebraic_closure_finite_field.py +++ b/src/sage/rings/algebraic_closure_finite_field.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.rings.finite_rings r""" Algebraic closures of finite fields diff --git a/src/sage/rings/all.py b/src/sage/rings/all.py index e3c7167fe12..965f83d02f6 100644 --- a/src/sage/rings/all.py +++ b/src/sage/rings/all.py @@ -14,35 +14,22 @@ from sage.rings.all__sagemath_categories import * -# Ring base classes -from sage.rings.ring import (Ring, Field, CommutativeRing, IntegralDomain, - PrincipalIdealDomain) - -lazy_import("sage.rings.ring", "DedekindDomain") - -# Ring element base classes -from sage.structure.element import (CommutativeAlgebraElement, - RingElement, CommutativeRingElement, IntegralDomainElement, - DedekindDomainElement, PrincipalIdealDomainElement, - EuclideanDomainElement, FieldElement) - -# Ideals -from sage.rings.ideal import Ideal -ideal = Ideal +# Following will go to all__sagemath_categories.py in #36566 # Quotient from sage.rings.quotient_ring import QuotientRing # Infinities from sage.rings.infinity import infinity, Infinity, InfinityRing, unsigned_infinity, UnsignedInfinityRing +oo = infinity # Rational integers. from sage.rings.integer_ring import IntegerRing, ZZ, crt_basis from sage.rings.integer import Integer # Rational numbers -from sage.rings.rational_field import RationalField, QQ from sage.rings.rational import Rational +from sage.rings.rational_field import RationalField, QQ Rationals = RationalField # Integers modulo n. @@ -50,70 +37,41 @@ from sage.rings.finite_rings.integer_mod import IntegerMod, Mod, mod Integers = IntegerModRing +# up to here (#36566) + # Finite fields from sage.rings.finite_rings.all import * -# Number field -from sage.rings.number_field.all import * +from sage.rings.all__sagemath_combinat import * +from sage.rings.all__sagemath_flint import * +from sage.rings.all__sagemath_gap import * +from sage.rings.all__sagemath_modules import * + +try: + from sage.rings.all__sagemath_symbolics import * +except ImportError: + pass # Function field from sage.rings.function_field.all import * -# Finite residue fields -from sage.rings.finite_rings.residue_field import ResidueField - -# p-adic field -from sage.rings.padics.all import * -from sage.rings.padics.padic_printing import _printer_defaults as padic_printing - -# valuations -from sage.rings.valuation.all import * +# Following will go to all__sagemath_categories.py in #36566 # Semirings from sage.rings.semirings.all import * -# Real numbers -from sage.rings.real_mpfr import (RealField, RR, - create_RealNumber as RealNumber) # this is used by the preparser to wrap real literals -- very important. -Reals = RealField - +# Double precision floating point numbers from sage.rings.real_double import RealDoubleField, RDF, RealDoubleElement +# Lazy reals from sage.rings.real_lazy import RealLazyField, RLF, ComplexLazyField, CLF -from sage.rings.real_arb import RealBallField, RBF +# up to here (#36566) # Polynomial Rings and Polynomial Quotient Rings from sage.rings.polynomial.all import * - -# Algebraic numbers -from sage.rings.qqbar import (AlgebraicRealField, AA, - AlgebraicReal, - AlgebraicField, QQbar, - AlgebraicNumber, - number_field_elements_from_algebraics) -from sage.rings.universal_cyclotomic_field import UniversalCyclotomicField, E - -# Intervals -from sage.rings.real_mpfi import (RealIntervalField, - RIF, - RealInterval) - -# Complex numbers -from sage.rings.complex_mpfr import ComplexField -from sage.rings.complex_mpfr import create_ComplexNumber as ComplexNumber -Complexes = ComplexField -from sage.rings.complex_interval_field import ComplexIntervalField -from sage.rings.complex_interval import (create_ComplexIntervalFieldElement as ComplexIntervalFieldElement) - -from sage.rings.complex_double import ComplexDoubleField, ComplexDoubleElement, CDF - -from sage.rings.complex_mpc import MPComplexField - -from sage.rings.complex_arb import ComplexBallField, CBF - -lazy_import("sage.rings.imaginary_unit", "I") +# Following will go to all__sagemath_categories.py in #36566 # Power series rings from sage.rings.power_series_ring import PowerSeriesRing @@ -121,19 +79,9 @@ # Laurent series ring in one variable from sage.rings.laurent_series_ring import LaurentSeriesRing -# Lazy Laurent series ring -lazy_import('sage.rings.lazy_series_ring', ['LazyLaurentSeriesRing', 'LazyPowerSeriesRing', - 'LazySymmetricFunctions', 'LazyDirichletSeriesRing']) - -# Tate algebras -from sage.rings.tate_algebra import TateAlgebra - # Puiseux series ring from sage.rings.puiseux_series_ring import PuiseuxSeriesRing -# Pseudo-ring of PARI objects. -from sage.rings.pari_ring import PariRing, Pari - # Big-oh notation from sage.rings.big_oh import O @@ -144,27 +92,27 @@ # Localization from sage.rings.localization import Localization +# up to here (#36566) + # c-finite sequences from sage.rings.cfinite_sequence import CFiniteSequence, CFiniteSequences -from sage.rings.bernoulli_mod_p import bernoulli_mod_p, bernoulli_mod_p_single - -from sage.rings.monomials import monomials - -from sage.rings.cc import CC -from sage.rings.cif import CIF - -# invariant theory -from sage.rings.invariants.all import * - from sage.rings.fast_arith import prime_range +# Following will go to all__sagemath_categories.py in #36566 + # continued fractions from sage.rings.continued_fraction import (continued_fraction, continued_fraction_list) +# up to here (#36566) + # asymptotic ring -from sage.rings.asymptotic.all import * +# from sage.rings.asymptotic.all import * +lazy_import('sage.rings.asymptotic.asymptotic_ring', 'AsymptoticRing') +lazy_import('sage.rings.asymptotic.asymptotic_expansion_generators', + 'asymptotic_expansions') # Register classes in numbers abc from sage.rings import numbers_abc +del lazy_import diff --git a/src/sage/rings/all__sagemath_brial.py b/src/sage/rings/all__sagemath_brial.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/rings/all__sagemath_categories.py b/src/sage/rings/all__sagemath_categories.py index d03d1c6b483..99a78aac8df 100644 --- a/src/sage/rings/all__sagemath_categories.py +++ b/src/sage/rings/all__sagemath_categories.py @@ -1,6 +1,29 @@ +# sage_setup: distribution = sagemath-categories + +from sage.misc.lazy_import import lazy_import + # Ring base classes -from sage.rings.ring import Ring +from sage.rings.ring import (Ring, Field, CommutativeRing, IntegralDomain, + PrincipalIdealDomain) + +lazy_import("sage.rings.ring", "DedekindDomain") + +# Ring element base classes +from sage.structure.element import (CommutativeAlgebraElement, + RingElement, CommutativeRingElement, IntegralDomainElement, + DedekindDomainElement, PrincipalIdealDomainElement, + EuclideanDomainElement, FieldElement) + # Ideals from sage.rings.ideal import Ideal - ideal = Ideal + +# To be added in #36566: + +# from sage.rings.finite_rings.all__sagemath_categories import * +# from sage.rings.function_field.all__sagemath_categories import * +# from sage.rings.number_field.all__sagemath_categories import * +# from sage.rings.padics.all__sagemath_categories import * +# from sage.rings.polynomial.all__sagemath_categories import * + +del lazy_import diff --git a/src/sage/rings/all__sagemath_combinat.py b/src/sage/rings/all__sagemath_combinat.py new file mode 100644 index 00000000000..3e054b1da0b --- /dev/null +++ b/src/sage/rings/all__sagemath_combinat.py @@ -0,0 +1,9 @@ +from sage.rings.all__sagemath_categories import * + +from sage.misc.lazy_import import lazy_import + +# Lazy Laurent series ring +lazy_import('sage.rings.lazy_series_ring', ['LazyLaurentSeriesRing', 'LazyPowerSeriesRing', + 'LazySymmetricFunctions', 'LazyDirichletSeriesRing']) + +del lazy_import diff --git a/src/sage/rings/all__sagemath_flint.py b/src/sage/rings/all__sagemath_flint.py new file mode 100644 index 00000000000..098426b0e9b --- /dev/null +++ b/src/sage/rings/all__sagemath_flint.py @@ -0,0 +1,36 @@ + +from sage.rings.all__sagemath_ntl import * + +# Real numbers +from sage.rings.real_arb import RealBallField, RBF + +from sage.rings.complex_arb import ComplexBallField, CBF + +# Number field +from sage.rings.number_field.all import * + +from sage.rings.monomials import monomials + +# Algebraic numbers +from sage.rings.qqbar import (AlgebraicRealField, AA, + AlgebraicReal, + AlgebraicField, QQbar, + AlgebraicNumber, + number_field_elements_from_algebraics) + +# Intervals +from sage.rings.real_mpfi import (RealIntervalField, + RIF, + RealInterval) + +# Complex numbers +from sage.rings.complex_interval_field import ComplexIntervalField +from sage.rings.complex_interval import ( + create_ComplexIntervalFieldElement as ComplexIntervalFieldElement) + +from sage.misc.lazy_import import lazy_import + +lazy_import("sage.rings.imaginary_unit", "I") + +from sage.rings.cif import CIF +del lazy_import diff --git a/src/sage/rings/all__sagemath_gap.py b/src/sage/rings/all__sagemath_gap.py new file mode 100644 index 00000000000..82933d8cb54 --- /dev/null +++ b/src/sage/rings/all__sagemath_gap.py @@ -0,0 +1,6 @@ + +from sage.misc.lazy_import import lazy_import + +lazy_import('sage.rings.universal_cyclotomic_field', ['UniversalCyclotomicField', 'E']) + +del lazy_import diff --git a/src/sage/rings/all__sagemath_linbox.py b/src/sage/rings/all__sagemath_linbox.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/rings/all__sagemath_modules.py b/src/sage/rings/all__sagemath_modules.py new file mode 100644 index 00000000000..c82909b5984 --- /dev/null +++ b/src/sage/rings/all__sagemath_modules.py @@ -0,0 +1,24 @@ +from sage.rings.all__sagemath_categories import * + +from sage.rings.function_field.all__sagemath_modules import * +from sage.rings.polynomial.all__sagemath_modules import * + +# Real numbers +from sage.rings.real_mpfr import (RealField, RR, + create_RealNumber as RealNumber) # this is used by the preparser to wrap real literals -- very important. +Reals = RealField + +# Complex numbers + +from sage.rings.complex_mpfr import ComplexField +from sage.rings.complex_mpfr import create_ComplexNumber as ComplexNumber +Complexes = ComplexField + +from sage.rings.complex_double import ComplexDoubleField, ComplexDoubleElement, CDF + +from sage.rings.cc import CC + +from sage.rings.complex_mpc import MPComplexField + +# invariant theory +from sage.rings.invariants.all import * diff --git a/src/sage/rings/all__sagemath_ntl.py b/src/sage/rings/all__sagemath_ntl.py new file mode 100644 index 00000000000..c64b779350c --- /dev/null +++ b/src/sage/rings/all__sagemath_ntl.py @@ -0,0 +1,6 @@ + +from sage.rings.all__sagemath_pari import * + +from sage.rings.padics.all__sagemath_ntl import * + +from sage.rings.bernoulli_mod_p import bernoulli_mod_p, bernoulli_mod_p_single diff --git a/src/sage/rings/all__sagemath_objects.py b/src/sage/rings/all__sagemath_objects.py index 38e44245ad3..40da49fdd73 100644 --- a/src/sage/rings/all__sagemath_objects.py +++ b/src/sage/rings/all__sagemath_objects.py @@ -1,2 +1,3 @@ +# sage_setup: distribution = sagemath-objects # The presence of this file ensures that sage_setup for sagemath-objects # considers this directory as a namespace package diff --git a/src/sage/rings/all__sagemath_pari.py b/src/sage/rings/all__sagemath_pari.py new file mode 100644 index 00000000000..73f3230790e --- /dev/null +++ b/src/sage/rings/all__sagemath_pari.py @@ -0,0 +1,12 @@ + +# Pseudo-ring of PARI objects. +from sage.rings.pari_ring import PariRing, Pari + +# p-adic field +from sage.rings.padics.all__sagemath_pari import * + +# valuations +from sage.rings.valuation.all import * + +# Tate algebras +from sage.rings.tate_algebra import TateAlgebra diff --git a/src/sage/rings/all__sagemath_singular.py b/src/sage/rings/all__sagemath_singular.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/rings/all__sagemath_symbolics.py b/src/sage/rings/all__sagemath_symbolics.py new file mode 100644 index 00000000000..be07e478a77 --- /dev/null +++ b/src/sage/rings/all__sagemath_symbolics.py @@ -0,0 +1 @@ +from sage.rings.all__sagemath_modules import * diff --git a/src/sage/rings/asymptotic/all.py b/src/sage/rings/asymptotic/all.py index 9353f267624..27e4d289212 100644 --- a/src/sage/rings/asymptotic/all.py +++ b/src/sage/rings/asymptotic/all.py @@ -1,3 +1,5 @@ from sage.misc.lazy_import import lazy_import lazy_import('sage.rings.asymptotic.asymptotic_ring', 'AsymptoticRing') -lazy_import('sage.rings.asymptotic.asymptotic_expansion_generators', 'asymptotic_expansions') +lazy_import('sage.rings.asymptotic.asymptotic_expansion_generators', + 'asymptotic_expansions') +del lazy_import diff --git a/src/sage/rings/bernmm.pyx b/src/sage/rings/bernmm.pyx index 8c6539150a7..d46c53e65f5 100644 --- a/src/sage/rings/bernmm.pyx +++ b/src/sage/rings/bernmm.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl # distutils: sources = sage/rings/bernmm/bern_modp.cpp sage/rings/bernmm/bern_modp_util.cpp sage/rings/bernmm/bern_rat.cpp # distutils: libraries = NTL_LIBRARIES pthread gmp # distutils: extra_compile_args = NTL_CFLAGS diff --git a/src/sage/rings/bernoulli_mod_p.pyx b/src/sage/rings/bernoulli_mod_p.pyx index ee73d6ad209..a9dee686d40 100644 --- a/src/sage/rings/bernoulli_mod_p.pyx +++ b/src/sage/rings/bernoulli_mod_p.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl # distutils: libraries = NTL_LIBRARIES gmp # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR diff --git a/src/sage/rings/big_oh.py b/src/sage/rings/big_oh.py index 917c81e0a3d..eafb46c83aa 100644 --- a/src/sage/rings/big_oh.py +++ b/src/sage/rings/big_oh.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Big O for various types (power series, p-adics, etc.) diff --git a/src/sage/rings/cc.py b/src/sage/rings/cc.py index 94e3093488b..93ec91d77a2 100644 --- a/src/sage/rings/cc.py +++ b/src/sage/rings/cc.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.rings.complex_mpfr import ComplexField CC = ComplexField() diff --git a/src/sage/rings/cif.py b/src/sage/rings/cif.py index 900c635e87b..98c15bd3d45 100644 --- a/src/sage/rings/cif.py +++ b/src/sage/rings/cif.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint from sage.rings.complex_interval_field import ComplexIntervalField CIF = ComplexIntervalField() diff --git a/src/sage/rings/complex_arb.pxd b/src/sage/rings/complex_arb.pxd index 4cd016d0798..32339dd18a2 100644 --- a/src/sage/rings/complex_arb.pxd +++ b/src/sage/rings/complex_arb.pxd @@ -1,3 +1,5 @@ +# sage_setup: distribution = sagemath-flint + from sage.libs.flint.acb cimport acb_t from sage.rings.complex_interval cimport ComplexIntervalFieldElement from sage.rings.real_arb cimport RealBall diff --git a/src/sage/rings/complex_arb.pyx b/src/sage/rings/complex_arb.pyx index cb4ee0ff6b8..5ad31f6a4f0 100644 --- a/src/sage/rings/complex_arb.pyx +++ b/src/sage/rings/complex_arb.pyx @@ -1,4 +1,4 @@ -# -*- coding: utf-8 +# sage_setup: distribution = sagemath-flint r""" Arbitrary precision complex balls diff --git a/src/sage/rings/complex_conversion.pxd b/src/sage/rings/complex_conversion.pxd index 2053005e340..da870969874 100644 --- a/src/sage/rings/complex_conversion.pxd +++ b/src/sage/rings/complex_conversion.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.structure.element cimport Element from sage.categories.map cimport Map diff --git a/src/sage/rings/complex_conversion.pyx b/src/sage/rings/complex_conversion.pyx index f601b4d5420..31afe86b5cd 100644 --- a/src/sage/rings/complex_conversion.pyx +++ b/src/sage/rings/complex_conversion.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.rings.complex_double cimport ComplexDoubleElement from sage.rings.complex_mpfr cimport ComplexNumber from sage.libs.mpfr cimport mpfr_get_d, MPFR_RNDN diff --git a/src/sage/rings/complex_double.pxd b/src/sage/rings/complex_double.pxd index 7352520c769..4d43ae2b58f 100644 --- a/src/sage/rings/complex_double.pxd +++ b/src/sage/rings/complex_double.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.libs.gsl.types cimport gsl_complex cimport sage.structure.element diff --git a/src/sage/rings/complex_double.pyx b/src/sage/rings/complex_double.pyx index 1dfa7dbd505..68cc6664478 100644 --- a/src/sage/rings/complex_double.pyx +++ b/src/sage/rings/complex_double.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # distutils: extra_compile_args = -D_XPG6 # distutils: libraries = m r""" diff --git a/src/sage/rings/complex_interval.pxd b/src/sage/rings/complex_interval.pxd index f5c59de4d7a..2620dc480f5 100644 --- a/src/sage/rings/complex_interval.pxd +++ b/src/sage/rings/complex_interval.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint from sage.libs.mpfr.types cimport mpfr_prec_t from sage.libs.mpfi.types cimport mpfi_t diff --git a/src/sage/rings/complex_interval.pyx b/src/sage/rings/complex_interval.pyx index d272a8e81db..66a28104de4 100644 --- a/src/sage/rings/complex_interval.pyx +++ b/src/sage/rings/complex_interval.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint """ Arbitrary precision complex intervals diff --git a/src/sage/rings/complex_interval_field.py b/src/sage/rings/complex_interval_field.py index 372d84abca8..fccb7d7b1c1 100644 --- a/src/sage/rings/complex_interval_field.py +++ b/src/sage/rings/complex_interval_field.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint r""" Arbitrary precision complex intervals (parent class) diff --git a/src/sage/rings/complex_mpc.pxd b/src/sage/rings/complex_mpc.pxd index 1c65618578b..37c0ee9939a 100644 --- a/src/sage/rings/complex_mpc.pxd +++ b/src/sage/rings/complex_mpc.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.libs.mpc.types cimport mpc_t, mpc_rnd_t cimport sage.structure.element diff --git a/src/sage/rings/complex_mpc.pyx b/src/sage/rings/complex_mpc.pyx index 79501000200..ba8b8272daf 100644 --- a/src/sage/rings/complex_mpc.pyx +++ b/src/sage/rings/complex_mpc.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Arbitrary precision floating point complex numbers using GNU MPC diff --git a/src/sage/rings/complex_mpfr.pxd b/src/sage/rings/complex_mpfr.pxd index 385feec8c37..a676d407d40 100644 --- a/src/sage/rings/complex_mpfr.pxd +++ b/src/sage/rings/complex_mpfr.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.libs.mpfr.types cimport mpfr_t, mpfr_prec_t cimport sage.structure.element diff --git a/src/sage/rings/complex_mpfr.pyx b/src/sage/rings/complex_mpfr.pyx index 616a25241b0..3bba71be085 100644 --- a/src/sage/rings/complex_mpfr.pyx +++ b/src/sage/rings/complex_mpfr.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Arbitrary precision floating point complex numbers using GNU MPFR diff --git a/src/sage/rings/continued_fraction.py b/src/sage/rings/continued_fraction.py index 13138a999ac..5c92420d7d8 100644 --- a/src/sage/rings/continued_fraction.py +++ b/src/sage/rings/continued_fraction.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-categories r""" Continued fractions diff --git a/src/sage/rings/continued_fraction_gosper.py b/src/sage/rings/continued_fraction_gosper.py index 5c713ab41c7..c4ea81b0f8e 100644 --- a/src/sage/rings/continued_fraction_gosper.py +++ b/src/sage/rings/continued_fraction_gosper.py @@ -1,4 +1,4 @@ -# -*- encoding: utf-8 -*- +# sage_setup: distribution = sagemath-categories """ Gosper iterator for homographic transformations diff --git a/src/sage/rings/convert/all.py b/src/sage/rings/convert/all.py index e69de29bb2d..d31bae41036 100644 --- a/src/sage/rings/convert/all.py +++ b/src/sage/rings/convert/all.py @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-flint diff --git a/src/sage/rings/convert/mpfi.pxd b/src/sage/rings/convert/mpfi.pxd index ea43d9383f2..4c29da9a896 100644 --- a/src/sage/rings/convert/mpfi.pxd +++ b/src/sage/rings/convert/mpfi.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint from sage.libs.mpfi.types cimport mpfi_ptr cdef int mpfi_set_sage(mpfi_ptr re, mpfi_ptr im, x, field, int base) except -1 diff --git a/src/sage/rings/convert/mpfi.pyx b/src/sage/rings/convert/mpfi.pyx index 0d42927740a..e7e54e54d58 100644 --- a/src/sage/rings/convert/mpfi.pyx +++ b/src/sage/rings/convert/mpfi.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint """ Convert Sage/Python objects to real/complex intervals """ diff --git a/src/sage/rings/derivation.py b/src/sage/rings/derivation.py index 2702f497d66..70da2e3f16f 100644 --- a/src/sage/rings/derivation.py +++ b/src/sage/rings/derivation.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Derivations diff --git a/src/sage/rings/factorint.pyx b/src/sage/rings/factorint.pyx index 3571c74bd8d..c1a49b5f3d7 100644 --- a/src/sage/rings/factorint.pyx +++ b/src/sage/rings/factorint.pyx @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*-* +# sage_setup: distribution = sagemath-categories r""" Integer factorization functions diff --git a/src/sage/rings/factorint_flint.pyx b/src/sage/rings/factorint_flint.pyx index cc50af04a1c..23f110abeec 100644 --- a/src/sage/rings/factorint_flint.pyx +++ b/src/sage/rings/factorint_flint.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint # sage.doctest: needs sage.libs.flint r""" Integer factorization using FLINT diff --git a/src/sage/rings/factorint_pari.pyx b/src/sage/rings/factorint_pari.pyx index 8dae96b047f..683813aefb6 100644 --- a/src/sage/rings/factorint_pari.pyx +++ b/src/sage/rings/factorint_pari.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari # sage.doctest: needs sage.libs.pari r""" Integer factorization using PARI diff --git a/src/sage/rings/fast_arith.pxd b/src/sage/rings/fast_arith.pxd index 7a99e658b91..52be135488e 100644 --- a/src/sage/rings/fast_arith.pxd +++ b/src/sage/rings/fast_arith.pxd @@ -1,3 +1,5 @@ +# sage_setup: distribution = sagemath-categories + cpdef prime_range(start, stop=*, algorithm=*, bint py_ints=*) cdef class arith_int: diff --git a/src/sage/rings/fast_arith.pyx b/src/sage/rings/fast_arith.pyx index 4796122c1b6..817aadf7e54 100644 --- a/src/sage/rings/fast_arith.pyx +++ b/src/sage/rings/fast_arith.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.libs.pari """ Basic arithmetic with C integers diff --git a/src/sage/rings/finite_rings/all.py b/src/sage/rings/finite_rings/all.py index 5d3d3f21c73..a3dbfe5764f 100644 --- a/src/sage/rings/finite_rings/all.py +++ b/src/sage/rings/finite_rings/all.py @@ -2,7 +2,7 @@ Finite Fields """ -#***************************************************************************** +# ***************************************************************************** # Copyright (C) 2010 David Roe # William Stein # @@ -15,9 +15,7 @@ # # The full text of the GPL is available at: # -# http://www.gnu.org/licenses/ -#***************************************************************************** +# https://www.gnu.org/licenses/ +# ***************************************************************************** -from .finite_field_constructor import FiniteField -from .conway_polynomials import conway_polynomial, exists_conway_polynomial -GF = FiniteField +from sage.rings.finite_rings.all__sagemath_categories import * diff --git a/src/sage/rings/finite_rings/all__sagemath_categories.py b/src/sage/rings/finite_rings/all__sagemath_categories.py new file mode 100644 index 00000000000..a2330a07fe4 --- /dev/null +++ b/src/sage/rings/finite_rings/all__sagemath_categories.py @@ -0,0 +1,8 @@ +from sage.rings.finite_rings.finite_field_constructor import FiniteField + +GF = FiniteField + +from sage.rings.finite_rings.conway_polynomials import conway_polynomial, exists_conway_polynomial + +# Finite residue fields +from sage.rings.finite_rings.residue_field import ResidueField diff --git a/src/sage/rings/finite_rings/all__sagemath_linbox.py b/src/sage/rings/finite_rings/all__sagemath_linbox.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/rings/finite_rings/all__sagemath_modules.py b/src/sage/rings/finite_rings/all__sagemath_modules.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/rings/finite_rings/all__sagemath_ntl.py b/src/sage/rings/finite_rings/all__sagemath_ntl.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/rings/finite_rings/all__sagemath_pari.py b/src/sage/rings/finite_rings/all__sagemath_pari.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/rings/finite_rings/conway_polynomials.py b/src/sage/rings/finite_rings/conway_polynomials.py index 7d6e558f030..cb12034851b 100644 --- a/src/sage/rings/finite_rings/conway_polynomials.py +++ b/src/sage/rings/finite_rings/conway_polynomials.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Routines for Conway and pseudo-Conway polynomials diff --git a/src/sage/rings/finite_rings/element_base.pxd b/src/sage/rings/finite_rings/element_base.pxd index c214e4745a9..55269abe48d 100644 --- a/src/sage/rings/finite_rings/element_base.pxd +++ b/src/sage/rings/finite_rings/element_base.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories from sage.structure.element cimport CommutativeRingElement from sage.structure.sage_object cimport SageObject diff --git a/src/sage/rings/finite_rings/element_base.pyx b/src/sage/rings/finite_rings/element_base.pyx index f6a450edfa2..2011d066c8b 100755 --- a/src/sage/rings/finite_rings/element_base.pyx +++ b/src/sage/rings/finite_rings/element_base.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.rings.finite_rings """ Base class for finite field elements diff --git a/src/sage/rings/finite_rings/element_givaro.pxd b/src/sage/rings/finite_rings/element_givaro.pxd index 4b1e0430a1c..12b4f9ada34 100644 --- a/src/sage/rings/finite_rings/element_givaro.pxd +++ b/src/sage/rings/finite_rings/element_givaro.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-linbox # distutils: extra_compile_args = GIVARO_CFLAGS -std=c++11 # distutils: include_dirs = GIVARO_INCDIR diff --git a/src/sage/rings/finite_rings/element_givaro.pyx b/src/sage/rings/finite_rings/element_givaro.pyx index c9b9e323181..6f60aa089dc 100644 --- a/src/sage/rings/finite_rings/element_givaro.pyx +++ b/src/sage/rings/finite_rings/element_givaro.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-linbox # distutils: libraries = givaro gmp m # distutils: language = c++ r""" diff --git a/src/sage/rings/finite_rings/element_ntl_gf2e.pxd b/src/sage/rings/finite_rings/element_ntl_gf2e.pxd index e98744413b5..e2b1f2cdb1d 100644 --- a/src/sage/rings/finite_rings/element_ntl_gf2e.pxd +++ b/src/sage/rings/finite_rings/element_ntl_gf2e.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl from sage.libs.ntl.types cimport GF2E_c, GF2EContext_c from sage.rings.finite_rings.finite_field_base cimport FiniteField from sage.rings.finite_rings.element_base cimport FinitePolyExtElement, Cache_base diff --git a/src/sage/rings/finite_rings/element_ntl_gf2e.pyx b/src/sage/rings/finite_rings/element_ntl_gf2e.pyx index 399bb76815b..3b56b679e6c 100644 --- a/src/sage/rings/finite_rings/element_ntl_gf2e.pyx +++ b/src/sage/rings/finite_rings/element_ntl_gf2e.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl # distutils: libraries = NTL_LIBRARIES # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR diff --git a/src/sage/rings/finite_rings/element_pari_ffelt.pxd b/src/sage/rings/finite_rings/element_pari_ffelt.pxd index 06aabcaa6d5..9db2a6401e0 100644 --- a/src/sage/rings/finite_rings/element_pari_ffelt.pxd +++ b/src/sage/rings/finite_rings/element_pari_ffelt.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari from cypari2.types cimport GEN from sage.rings.finite_rings.element_base cimport FinitePolyExtElement diff --git a/src/sage/rings/finite_rings/element_pari_ffelt.pyx b/src/sage/rings/finite_rings/element_pari_ffelt.pyx index 989b0e20b9e..a7013a7f5b4 100644 --- a/src/sage/rings/finite_rings/element_pari_ffelt.pyx +++ b/src/sage/rings/finite_rings/element_pari_ffelt.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari """ Finite field elements implemented via PARI's FFELT type diff --git a/src/sage/rings/finite_rings/finite_field_base.pxd b/src/sage/rings/finite_rings/finite_field_base.pxd index 776c1f40137..2b66bd916aa 100644 --- a/src/sage/rings/finite_rings/finite_field_base.pxd +++ b/src/sage/rings/finite_rings/finite_field_base.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories from sage.rings.ring cimport Field cdef class FiniteField(Field): diff --git a/src/sage/rings/finite_rings/finite_field_base.pyx b/src/sage/rings/finite_rings/finite_field_base.pyx index 2c49f3bc9ae..1e512d01cf6 100644 --- a/src/sage/rings/finite_rings/finite_field_base.pyx +++ b/src/sage/rings/finite_rings/finite_field_base.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.rings.finite_rings """ Base class for finite fields diff --git a/src/sage/rings/finite_rings/finite_field_constructor.py b/src/sage/rings/finite_rings/finite_field_constructor.py index 78acc0a8873..1191a37c6fb 100644 --- a/src/sage/rings/finite_rings/finite_field_constructor.py +++ b/src/sage/rings/finite_rings/finite_field_constructor.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.rings.finite_rings r""" Finite fields diff --git a/src/sage/rings/finite_rings/finite_field_givaro.py b/src/sage/rings/finite_rings/finite_field_givaro.py index 9f6abdb40b4..096459ddd41 100644 --- a/src/sage/rings/finite_rings/finite_field_givaro.py +++ b/src/sage/rings/finite_rings/finite_field_givaro.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-linbox """ Givaro finite fields diff --git a/src/sage/rings/finite_rings/finite_field_ntl_gf2e.py b/src/sage/rings/finite_rings/finite_field_ntl_gf2e.py index 654f7a2b54b..758c1cedf4b 100644 --- a/src/sage/rings/finite_rings/finite_field_ntl_gf2e.py +++ b/src/sage/rings/finite_rings/finite_field_ntl_gf2e.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl """ Finite fields of characteristic 2 """ diff --git a/src/sage/rings/finite_rings/finite_field_pari_ffelt.py b/src/sage/rings/finite_rings/finite_field_pari_ffelt.py index c60a7a563a7..9c6caca35ca 100644 --- a/src/sage/rings/finite_rings/finite_field_pari_ffelt.py +++ b/src/sage/rings/finite_rings/finite_field_pari_ffelt.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari """ Finite fields implemented via PARI's FFELT type diff --git a/src/sage/rings/finite_rings/finite_field_prime_modn.py b/src/sage/rings/finite_rings/finite_field_prime_modn.py index b51cf9fe7d5..c95a1413bc9 100644 --- a/src/sage/rings/finite_rings/finite_field_prime_modn.py +++ b/src/sage/rings/finite_rings/finite_field_prime_modn.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Finite prime fields diff --git a/src/sage/rings/finite_rings/galois_group.py b/src/sage/rings/finite_rings/galois_group.py index f11b72bc681..e817e2bad44 100644 --- a/src/sage/rings/finite_rings/galois_group.py +++ b/src/sage/rings/finite_rings/galois_group.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.modules sage.rings.finite_rings r""" Galois groups of Finite Fields diff --git a/src/sage/rings/finite_rings/hom_finite_field.pxd b/src/sage/rings/finite_rings/hom_finite_field.pxd index 199d655d6d6..e1f348b3db4 100644 --- a/src/sage/rings/finite_rings/hom_finite_field.pxd +++ b/src/sage/rings/finite_rings/hom_finite_field.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories from sage.rings.morphism cimport RingHomomorphism_im_gens, FrobeniusEndomorphism_generic from sage.structure.element cimport Element from sage.categories.map cimport Section diff --git a/src/sage/rings/finite_rings/hom_finite_field.pyx b/src/sage/rings/finite_rings/hom_finite_field.pyx index 8a83bf48766..46aac2d153e 100644 --- a/src/sage/rings/finite_rings/hom_finite_field.pyx +++ b/src/sage/rings/finite_rings/hom_finite_field.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.rings.finite_rings """ Finite field morphisms diff --git a/src/sage/rings/finite_rings/hom_finite_field_givaro.pxd b/src/sage/rings/finite_rings/hom_finite_field_givaro.pxd index dc401d526c0..f01918b0267 100644 --- a/src/sage/rings/finite_rings/hom_finite_field_givaro.pxd +++ b/src/sage/rings/finite_rings/hom_finite_field_givaro.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-linbox from sage.rings.finite_rings.hom_finite_field cimport (SectionFiniteFieldHomomorphism_generic, FiniteFieldHomomorphism_generic, FrobeniusEndomorphism_finite_field) diff --git a/src/sage/rings/finite_rings/hom_finite_field_givaro.pyx b/src/sage/rings/finite_rings/hom_finite_field_givaro.pyx index 0e67cb6f123..a110aaad137 100644 --- a/src/sage/rings/finite_rings/hom_finite_field_givaro.pyx +++ b/src/sage/rings/finite_rings/hom_finite_field_givaro.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-linbox # distutils: libraries = givaro NTL_LIBRARIES gmp m # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR diff --git a/src/sage/rings/finite_rings/hom_prime_finite_field.pxd b/src/sage/rings/finite_rings/hom_prime_finite_field.pxd index b146b0c9169..af571b31f84 100644 --- a/src/sage/rings/finite_rings/hom_prime_finite_field.pxd +++ b/src/sage/rings/finite_rings/hom_prime_finite_field.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories from sage.rings.finite_rings.hom_finite_field cimport (SectionFiniteFieldHomomorphism_generic, FiniteFieldHomomorphism_generic, FrobeniusEndomorphism_finite_field) diff --git a/src/sage/rings/finite_rings/hom_prime_finite_field.pyx b/src/sage/rings/finite_rings/hom_prime_finite_field.pyx index e45de1d83f9..7f1f88e2521 100644 --- a/src/sage/rings/finite_rings/hom_prime_finite_field.pyx +++ b/src/sage/rings/finite_rings/hom_prime_finite_field.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Finite field morphisms for prime fields diff --git a/src/sage/rings/finite_rings/homset.py b/src/sage/rings/finite_rings/homset.py index ef72f35a1a5..d0441d2c795 100644 --- a/src/sage/rings/finite_rings/homset.py +++ b/src/sage/rings/finite_rings/homset.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.rings.finite_rings """ Homset for finite fields diff --git a/src/sage/rings/finite_rings/integer_mod.pxd b/src/sage/rings/finite_rings/integer_mod.pxd index 34e72472a3e..80dd01e2072 100644 --- a/src/sage/rings/finite_rings/integer_mod.pxd +++ b/src/sage/rings/finite_rings/integer_mod.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories from sage.libs.gmp.types cimport * from sage.rings.finite_rings.stdint cimport * from sage.rings.finite_rings.element_base cimport FiniteRingElement diff --git a/src/sage/rings/finite_rings/integer_mod.pyx b/src/sage/rings/finite_rings/integer_mod.pyx index 9a3f02b6ef0..da6f6102581 100644 --- a/src/sage/rings/finite_rings/integer_mod.pyx +++ b/src/sage/rings/finite_rings/integer_mod.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Elements of `\ZZ/n\ZZ` diff --git a/src/sage/rings/finite_rings/integer_mod_ring.py b/src/sage/rings/finite_rings/integer_mod_ring.py index 177dd28460a..6b91f4ee58c 100644 --- a/src/sage/rings/finite_rings/integer_mod_ring.py +++ b/src/sage/rings/finite_rings/integer_mod_ring.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Ring `\ZZ/n\ZZ` of integers modulo `n` diff --git a/src/sage/rings/finite_rings/maps_finite_field.py b/src/sage/rings/finite_rings/maps_finite_field.py index 0ae08a3d25d..55da94bbd5b 100644 --- a/src/sage/rings/finite_rings/maps_finite_field.py +++ b/src/sage/rings/finite_rings/maps_finite_field.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.rings.finite_rings """ Structure maps for finite fields diff --git a/src/sage/rings/finite_rings/residue_field.pxd b/src/sage/rings/finite_rings/residue_field.pxd index 0acb8da0a9a..dc221970bfe 100644 --- a/src/sage/rings/finite_rings/residue_field.pxd +++ b/src/sage/rings/finite_rings/residue_field.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories from sage.rings.morphism cimport RingHomomorphism from sage.structure.element cimport Element from sage.rings.finite_rings.integer_mod cimport NativeIntStruct diff --git a/src/sage/rings/finite_rings/residue_field.pyx b/src/sage/rings/finite_rings/residue_field.pyx index 83d78abb2aa..4f503a5195c 100644 --- a/src/sage/rings/finite_rings/residue_field.pyx +++ b/src/sage/rings/finite_rings/residue_field.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Finite residue fields diff --git a/src/sage/rings/finite_rings/residue_field_givaro.pyx b/src/sage/rings/finite_rings/residue_field_givaro.pyx index a00bc5138fd..9d89dabb553 100644 --- a/src/sage/rings/finite_rings/residue_field_givaro.pyx +++ b/src/sage/rings/finite_rings/residue_field_givaro.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-linbox r""" Finite residue fields (Givaro implementation) """ diff --git a/src/sage/rings/finite_rings/residue_field_ntl_gf2e.pyx b/src/sage/rings/finite_rings/residue_field_ntl_gf2e.pyx index 5071bc87137..c396ad2e04b 100644 --- a/src/sage/rings/finite_rings/residue_field_ntl_gf2e.pyx +++ b/src/sage/rings/finite_rings/residue_field_ntl_gf2e.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl r""" Finite residue fields (NTL implementation) """ diff --git a/src/sage/rings/finite_rings/residue_field_pari_ffelt.pyx b/src/sage/rings/finite_rings/residue_field_pari_ffelt.pyx index e9962c3ccde..1fcc1fad260 100644 --- a/src/sage/rings/finite_rings/residue_field_pari_ffelt.pyx +++ b/src/sage/rings/finite_rings/residue_field_pari_ffelt.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari r""" Finite residue fields (PARI implementation) """ diff --git a/src/sage/rings/finite_rings/stdint.pxd b/src/sage/rings/finite_rings/stdint.pxd index b2b96a90c39..f82d61698aa 100644 --- a/src/sage/rings/finite_rings/stdint.pxd +++ b/src/sage/rings/finite_rings/stdint.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ C Integer Types Used in Finite Rings """ diff --git a/src/sage/rings/fraction_field.py b/src/sage/rings/fraction_field.py index 32c9aed0afd..efabe4960bb 100644 --- a/src/sage/rings/fraction_field.py +++ b/src/sage/rings/fraction_field.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-categories r""" Fraction Field of Integral Domains diff --git a/src/sage/rings/fraction_field_FpT.pxd b/src/sage/rings/fraction_field_FpT.pxd index 7d5d960a0ca..4718131e2f7 100644 --- a/src/sage/rings/fraction_field_FpT.pxd +++ b/src/sage/rings/fraction_field_FpT.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint from sage.libs.flint.types cimport nmod_poly_t from sage.rings.morphism cimport RingHomomorphism diff --git a/src/sage/rings/fraction_field_FpT.pyx b/src/sage/rings/fraction_field_FpT.pyx index 14857c66732..6598a7fe256 100644 --- a/src/sage/rings/fraction_field_FpT.pyx +++ b/src/sage/rings/fraction_field_FpT.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint # distutils: libraries = gmp NTL_LIBRARIES # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR diff --git a/src/sage/rings/fraction_field_element.pyx b/src/sage/rings/fraction_field_element.pyx index ea323e2709f..84358475fc5 100644 --- a/src/sage/rings/fraction_field_element.pyx +++ b/src/sage/rings/fraction_field_element.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Fraction Field Elements diff --git a/src/sage/rings/function_field/all.py b/src/sage/rings/function_field/all.py index 455fa9fe19e..e536f198d16 100644 --- a/src/sage/rings/function_field/all.py +++ b/src/sage/rings/function_field/all.py @@ -1,5 +1,13 @@ -from .constructor import FunctionField +# sage_setup: distribution = sagemath-categories + +from sage.rings.function_field.all__sagemath_modules import * + +try: + from sage.rings.function_field.all__sagemath_symbolics import * +except ImportError: + pass from sage.misc.lazy_import import lazy_import lazy_import("sage.rings.function_field.drinfeld_modules.drinfeld_module", "DrinfeldModule") +del lazy_import diff --git a/src/sage/rings/function_field/all__sagemath_categories.py b/src/sage/rings/function_field/all__sagemath_categories.py new file mode 100644 index 00000000000..1cc1f1b8b2f --- /dev/null +++ b/src/sage/rings/function_field/all__sagemath_categories.py @@ -0,0 +1 @@ +from sage.rings.function_field.constructor import FunctionField diff --git a/src/sage/rings/function_field/all__sagemath_modules.py b/src/sage/rings/function_field/all__sagemath_modules.py new file mode 100644 index 00000000000..f1bd876653e --- /dev/null +++ b/src/sage/rings/function_field/all__sagemath_modules.py @@ -0,0 +1 @@ +from sage.rings.function_field.all__sagemath_categories import * diff --git a/src/sage/rings/function_field/all__sagemath_pari.py b/src/sage/rings/function_field/all__sagemath_pari.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/rings/function_field/all__sagemath_singular.py b/src/sage/rings/function_field/all__sagemath_singular.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/rings/function_field/all__sagemath_symbolics.py b/src/sage/rings/function_field/all__sagemath_symbolics.py new file mode 100644 index 00000000000..7c97e664309 --- /dev/null +++ b/src/sage/rings/function_field/all__sagemath_symbolics.py @@ -0,0 +1 @@ +from sage.rings.function_field.all__sagemath_modules import * diff --git a/src/sage/rings/function_field/constructor.py b/src/sage/rings/function_field/constructor.py index 6dff57348a7..4136b72575e 100644 --- a/src/sage/rings/function_field/constructor.py +++ b/src/sage/rings/function_field/constructor.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Factories to construct function fields diff --git a/src/sage/rings/function_field/derivations.py b/src/sage/rings/function_field/derivations.py index 9a6f0f613a9..d727fa60843 100644 --- a/src/sage/rings/function_field/derivations.py +++ b/src/sage/rings/function_field/derivations.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Derivations of function fields diff --git a/src/sage/rings/function_field/derivations_polymod.py b/src/sage/rings/function_field/derivations_polymod.py index 2e0fe91a968..ffaefac3d00 100644 --- a/src/sage/rings/function_field/derivations_polymod.py +++ b/src/sage/rings/function_field/derivations_polymod.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-singular r""" Derivations of function fields: extension """ diff --git a/src/sage/rings/function_field/derivations_rational.py b/src/sage/rings/function_field/derivations_rational.py index 777f16d3e08..d6358ee9582 100644 --- a/src/sage/rings/function_field/derivations_rational.py +++ b/src/sage/rings/function_field/derivations_rational.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Derivations of function fields: rational """ diff --git a/src/sage/rings/function_field/differential.py b/src/sage/rings/function_field/differential.py index 9b6fec9a72d..9e5ca35474c 100644 --- a/src/sage/rings/function_field/differential.py +++ b/src/sage/rings/function_field/differential.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: optional - sage.modules """ Differentials of function fields diff --git a/src/sage/rings/function_field/divisor.py b/src/sage/rings/function_field/divisor.py index 79d952e2247..15da31b1804 100644 --- a/src/sage/rings/function_field/divisor.py +++ b/src/sage/rings/function_field/divisor.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: optional - sage.rings.finite_rings (because all doctests use finite fields) # sage.doctest: optional - sage.rings.function_field (because almost all doctests use function field extensions) """ diff --git a/src/sage/rings/function_field/element.pxd b/src/sage/rings/function_field/element.pxd index 09ac9221e76..79f46a7ccc5 100644 --- a/src/sage/rings/function_field/element.pxd +++ b/src/sage/rings/function_field/element.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories from sage.structure.element cimport FieldElement diff --git a/src/sage/rings/function_field/element.pyx b/src/sage/rings/function_field/element.pyx index 2765b805aba..568dc15e9b2 100644 --- a/src/sage/rings/function_field/element.pyx +++ b/src/sage/rings/function_field/element.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Elements of function fields diff --git a/src/sage/rings/function_field/element_polymod.pyx b/src/sage/rings/function_field/element_polymod.pyx index 7a75bfe978e..401f9a896e2 100644 --- a/src/sage/rings/function_field/element_polymod.pyx +++ b/src/sage/rings/function_field/element_polymod.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-singular # sage.doctest: optional - sage.rings.function_field r""" Elements of function fields: extension diff --git a/src/sage/rings/function_field/element_rational.pyx b/src/sage/rings/function_field/element_rational.pyx index 40d0d9734ef..8538c9b5659 100644 --- a/src/sage/rings/function_field/element_rational.pyx +++ b/src/sage/rings/function_field/element_rational.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Elements of function fields: rational """ diff --git a/src/sage/rings/function_field/extensions.py b/src/sage/rings/function_field/extensions.py index 9e42e5bff6b..24df382b34f 100644 --- a/src/sage/rings/function_field/extensions.py +++ b/src/sage/rings/function_field/extensions.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Special extensions of function fields diff --git a/src/sage/rings/function_field/function_field.py b/src/sage/rings/function_field/function_field.py index 16f83aaea84..0ef020bad9a 100644 --- a/src/sage/rings/function_field/function_field.py +++ b/src/sage/rings/function_field/function_field.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Function Fields diff --git a/src/sage/rings/function_field/function_field_polymod.py b/src/sage/rings/function_field/function_field_polymod.py index 9c44f7cb908..0fa7d1f3476 100644 --- a/src/sage/rings/function_field/function_field_polymod.py +++ b/src/sage/rings/function_field/function_field_polymod.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-singular # sage.doctest: optional - sage.rings.function_field r""" Function Fields: extension diff --git a/src/sage/rings/function_field/function_field_rational.py b/src/sage/rings/function_field/function_field_rational.py index 2226c086b00..0fef4aa89f9 100644 --- a/src/sage/rings/function_field/function_field_rational.py +++ b/src/sage/rings/function_field/function_field_rational.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Function Fields: rational """ diff --git a/src/sage/rings/function_field/hermite_form_polynomial.pyx b/src/sage/rings/function_field/hermite_form_polynomial.pyx index 12881615315..6e5323c7518 100644 --- a/src/sage/rings/function_field/hermite_form_polynomial.pyx +++ b/src/sage/rings/function_field/hermite_form_polynomial.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Hermite form computation for function fields diff --git a/src/sage/rings/function_field/ideal.py b/src/sage/rings/function_field/ideal.py index 22aa15299b1..76b568d349c 100644 --- a/src/sage/rings/function_field/ideal.py +++ b/src/sage/rings/function_field/ideal.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Ideals of function fields diff --git a/src/sage/rings/function_field/ideal_polymod.py b/src/sage/rings/function_field/ideal_polymod.py index da45bc508cf..dbb2fc1f4ae 100644 --- a/src/sage/rings/function_field/ideal_polymod.py +++ b/src/sage/rings/function_field/ideal_polymod.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-singular # sage.doctest: optional - sage.rings.function_field r""" Ideals of function fields: extension diff --git a/src/sage/rings/function_field/ideal_rational.py b/src/sage/rings/function_field/ideal_rational.py index e6abe1ff605..d441d765a6c 100644 --- a/src/sage/rings/function_field/ideal_rational.py +++ b/src/sage/rings/function_field/ideal_rational.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Ideals of function fields: rational """ diff --git a/src/sage/rings/function_field/maps.py b/src/sage/rings/function_field/maps.py index 85377f1c894..d533a42041f 100644 --- a/src/sage/rings/function_field/maps.py +++ b/src/sage/rings/function_field/maps.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Morphisms of function fields diff --git a/src/sage/rings/function_field/order.py b/src/sage/rings/function_field/order.py index 615cbab3690..df2a3400655 100644 --- a/src/sage/rings/function_field/order.py +++ b/src/sage/rings/function_field/order.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Orders of function fields diff --git a/src/sage/rings/function_field/order_basis.py b/src/sage/rings/function_field/order_basis.py index eebaeab97d1..b0a2f51fc07 100644 --- a/src/sage/rings/function_field/order_basis.py +++ b/src/sage/rings/function_field/order_basis.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.modules (because __init__ constructs a vector space) r""" Orders of function fields: basis diff --git a/src/sage/rings/function_field/order_polymod.py b/src/sage/rings/function_field/order_polymod.py index d6831fa7248..41c5e44cf35 100644 --- a/src/sage/rings/function_field/order_polymod.py +++ b/src/sage/rings/function_field/order_polymod.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-singular # sage.doctest: optional - sage.rings.function_field r""" Orders of function fields: extension diff --git a/src/sage/rings/function_field/order_rational.py b/src/sage/rings/function_field/order_rational.py index 99da2af1ebd..e63db9c9015 100644 --- a/src/sage/rings/function_field/order_rational.py +++ b/src/sage/rings/function_field/order_rational.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Orders of function fields: rational """ diff --git a/src/sage/rings/function_field/place.py b/src/sage/rings/function_field/place.py index dbc3ab0e767..73a8d145ceb 100644 --- a/src/sage/rings/function_field/place.py +++ b/src/sage/rings/function_field/place.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Places of function fields diff --git a/src/sage/rings/function_field/place_polymod.py b/src/sage/rings/function_field/place_polymod.py index f345c31129e..aac0b9b32b4 100644 --- a/src/sage/rings/function_field/place_polymod.py +++ b/src/sage/rings/function_field/place_polymod.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-singular # sage.doctest: optional - sage.rings.function_field """ Places of function fields: extension diff --git a/src/sage/rings/function_field/place_rational.py b/src/sage/rings/function_field/place_rational.py index 9b98397ba90..181efc08ba5 100644 --- a/src/sage/rings/function_field/place_rational.py +++ b/src/sage/rings/function_field/place_rational.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: optional - sage.rings.finite_rings (because all doctests use finite fields) """ Places of function fields: rational diff --git a/src/sage/rings/function_field/valuation.py b/src/sage/rings/function_field/valuation.py index aa127de2069..01644cd1f7a 100644 --- a/src/sage/rings/function_field/valuation.py +++ b/src/sage/rings/function_field/valuation.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari r""" Discrete valuations on function fields diff --git a/src/sage/rings/generic.py b/src/sage/rings/generic.py index bfcb1d2bc50..f43c0c880fc 100644 --- a/src/sage/rings/generic.py +++ b/src/sage/rings/generic.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Generic data structures and algorithms for rings diff --git a/src/sage/rings/homset.py b/src/sage/rings/homset.py index b2f24a3800a..d9e1b93f395 100644 --- a/src/sage/rings/homset.py +++ b/src/sage/rings/homset.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Space of homomorphisms between two rings """ diff --git a/src/sage/rings/ideal.py b/src/sage/rings/ideal.py index 4dba8ec9d42..c70495c7cd7 100644 --- a/src/sage/rings/ideal.py +++ b/src/sage/rings/ideal.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Ideals of commutative rings diff --git a/src/sage/rings/ideal_monoid.py b/src/sage/rings/ideal_monoid.py index 019348a6afe..438b25b86e6 100644 --- a/src/sage/rings/ideal_monoid.py +++ b/src/sage/rings/ideal_monoid.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Monoid of ideals in a commutative ring diff --git a/src/sage/rings/imaginary_unit.py b/src/sage/rings/imaginary_unit.py index bb29cd32630..cfe6c09bab2 100644 --- a/src/sage/rings/imaginary_unit.py +++ b/src/sage/rings/imaginary_unit.py @@ -1,4 +1,4 @@ -# coding: utf-8 +# sage_setup: distribution = sagemath-flint from sage.rings.number_field.number_field import GaussianField diff --git a/src/sage/rings/infinity.py b/src/sage/rings/infinity.py index f37c72c35a0..e9cdab21aca 100644 --- a/src/sage/rings/infinity.py +++ b/src/sage/rings/infinity.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Signed and Unsigned Infinities diff --git a/src/sage/rings/integer.pxd b/src/sage/rings/integer.pxd index 1165895729e..9fb5913b635 100644 --- a/src/sage/rings/integer.pxd +++ b/src/sage/rings/integer.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories from sage.libs.gmp.types cimport __mpz_struct, mpz_t, mpz_ptr from sage.libs.gmp.mpz cimport mpz_set diff --git a/src/sage/rings/integer.pyx b/src/sage/rings/integer.pyx index 70d11efaf7a..349d5efe460 100644 --- a/src/sage/rings/integer.pyx +++ b/src/sage/rings/integer.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Elements of the ring `\ZZ` of integers diff --git a/src/sage/rings/integer_fake.pxd b/src/sage/rings/integer_fake.pxd index 2bd7a91142e..73e9d802462 100644 --- a/src/sage/rings/integer_fake.pxd +++ b/src/sage/rings/integer_fake.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects """ Fake Integer interface diff --git a/src/sage/rings/integer_ring.pxd b/src/sage/rings/integer_ring.pxd index d0af1bc068f..54b05a9c6e1 100644 --- a/src/sage/rings/integer_ring.pxd +++ b/src/sage/rings/integer_ring.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories from sage.rings.ring cimport PrincipalIdealDomain from sage.rings.integer cimport Integer from sage.libs.gmp.types cimport mpz_t diff --git a/src/sage/rings/integer_ring.pyx b/src/sage/rings/integer_ring.pyx index ab445056cc7..b199f53b819 100644 --- a/src/sage/rings/integer_ring.pyx +++ b/src/sage/rings/integer_ring.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Ring `\ZZ` of Integers diff --git a/src/sage/rings/invariants/all.py b/src/sage/rings/invariants/all.py index eb0cce3175f..f9de850093c 100644 --- a/src/sage/rings/invariants/all.py +++ b/src/sage/rings/invariants/all.py @@ -1,2 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.misc.lazy_import import lazy_import lazy_import('sage.rings.invariants.invariant_theory', 'invariant_theory') +del lazy_import diff --git a/src/sage/rings/invariants/invariant_theory.py b/src/sage/rings/invariants/invariant_theory.py index cda4138d5e4..1555d66d58b 100644 --- a/src/sage/rings/invariants/invariant_theory.py +++ b/src/sage/rings/invariants/invariant_theory.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Classical Invariant Theory diff --git a/src/sage/rings/invariants/reconstruction.py b/src/sage/rings/invariants/reconstruction.py index 8e98ad3f20f..5471aee15c9 100644 --- a/src/sage/rings/invariants/reconstruction.py +++ b/src/sage/rings/invariants/reconstruction.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Reconstruction of Algebraic Forms diff --git a/src/sage/rings/laurent_series_ring.py b/src/sage/rings/laurent_series_ring.py index 4e0c6f0d557..1d522366cac 100644 --- a/src/sage/rings/laurent_series_ring.py +++ b/src/sage/rings/laurent_series_ring.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Laurent Series Rings diff --git a/src/sage/rings/laurent_series_ring_element.pxd b/src/sage/rings/laurent_series_ring_element.pxd index 8df5a92c9e7..2e6959c1272 100644 --- a/src/sage/rings/laurent_series_ring_element.pxd +++ b/src/sage/rings/laurent_series_ring_element.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories from sage.structure.element cimport AlgebraElement, ModuleElement cdef class LaurentSeries(AlgebraElement): diff --git a/src/sage/rings/laurent_series_ring_element.pyx b/src/sage/rings/laurent_series_ring_element.pyx index 8bbf227e302..ff350e07daa 100644 --- a/src/sage/rings/laurent_series_ring_element.pyx +++ b/src/sage/rings/laurent_series_ring_element.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Laurent Series diff --git a/src/sage/rings/lazy_series.py b/src/sage/rings/lazy_series.py index f4c46a03ca5..b582d1025ec 100644 --- a/src/sage/rings/lazy_series.py +++ b/src/sage/rings/lazy_series.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-combinat r""" Lazy Series diff --git a/src/sage/rings/lazy_series_ring.py b/src/sage/rings/lazy_series_ring.py index 06fd7a5d595..157454968fb 100644 --- a/src/sage/rings/lazy_series_ring.py +++ b/src/sage/rings/lazy_series_ring.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" Lazy Series Rings diff --git a/src/sage/rings/localization.py b/src/sage/rings/localization.py index c55cfc48b40..b8efa0d025e 100644 --- a/src/sage/rings/localization.py +++ b/src/sage/rings/localization.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Localization diff --git a/src/sage/rings/monomials.py b/src/sage/rings/monomials.py index ed154ab8c06..bfa396d79dc 100644 --- a/src/sage/rings/monomials.py +++ b/src/sage/rings/monomials.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint "Monomials" def _monomials(gens, R, n, i): diff --git a/src/sage/rings/morphism.pxd b/src/sage/rings/morphism.pxd index 4b8e8d052df..b310b5381ef 100644 --- a/src/sage/rings/morphism.pxd +++ b/src/sage/rings/morphism.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories from sage.rings.integer cimport Integer from sage.structure.element cimport Element from sage.structure.parent cimport Parent diff --git a/src/sage/rings/morphism.pyx b/src/sage/rings/morphism.pyx index 6c78460a534..efc6973ac0e 100644 --- a/src/sage/rings/morphism.pyx +++ b/src/sage/rings/morphism.pyx @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-categories r""" Homomorphisms of rings diff --git a/src/sage/rings/multi_power_series_ring.py b/src/sage/rings/multi_power_series_ring.py index 0b34dfa003b..739420b280c 100644 --- a/src/sage/rings/multi_power_series_ring.py +++ b/src/sage/rings/multi_power_series_ring.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Multivariate Power Series Rings diff --git a/src/sage/rings/multi_power_series_ring_element.py b/src/sage/rings/multi_power_series_ring_element.py index a92bb54377a..7cfcacfdccb 100644 --- a/src/sage/rings/multi_power_series_ring_element.py +++ b/src/sage/rings/multi_power_series_ring_element.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Multivariate Power Series diff --git a/src/sage/rings/noncommutative_ideals.pyx b/src/sage/rings/noncommutative_ideals.pyx index 62484c9326b..bc665c346f1 100644 --- a/src/sage/rings/noncommutative_ideals.pyx +++ b/src/sage/rings/noncommutative_ideals.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.modules """ Ideals of non-commutative rings diff --git a/src/sage/rings/number_field/S_unit_solver.py b/src/sage/rings/number_field/S_unit_solver.py index 1bc9e07d9c0..f1916eeaeae 100644 --- a/src/sage/rings/number_field/S_unit_solver.py +++ b/src/sage/rings/number_field/S_unit_solver.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint # sage.doctest: needs sage.rings.number_field sage.rings.padics r""" Solver for the `S`-unit equation `x + y = 1` diff --git a/src/sage/rings/number_field/all.py b/src/sage/rings/number_field/all.py index 5c56f8cff58..188951d9126 100644 --- a/src/sage/rings/number_field/all.py +++ b/src/sage/rings/number_field/all.py @@ -1,15 +1,20 @@ +# sage_setup: distribution = sagemath-flint -from .number_field import (NumberField, NumberFieldTower, CyclotomicField, QuadraticField, - is_fundamental_discriminant, is_real_place) -from .number_field_element import NumberFieldElement +from sage.rings.number_field.number_field import (NumberField, NumberFieldTower, CyclotomicField, QuadraticField, + is_fundamental_discriminant, is_real_place) +from sage.rings.number_field.number_field_element import NumberFieldElement -from .order import EquationOrder, GaussianIntegers, EisensteinIntegers +from sage.rings.number_field.order import EquationOrder, GaussianIntegers, EisensteinIntegers -from sage.misc.lazy_import import lazy_import as _lazy_import +from sage.misc.lazy_import import lazy_import -_lazy_import('sage.rings.number_field.totallyreal', 'enumerate_totallyreal_fields_prim') -_lazy_import('sage.rings.number_field.totallyreal_data', 'hermite_constant') -_lazy_import('sage.rings.number_field.totallyreal_rel', 'enumerate_totallyreal_fields_all') -_lazy_import('sage.rings.number_field.totallyreal_rel', 'enumerate_totallyreal_fields_rel') +lazy_import('sage.rings.number_field.totallyreal', 'enumerate_totallyreal_fields_prim') +lazy_import('sage.rings.number_field.totallyreal_data', 'hermite_constant') +lazy_import('sage.rings.number_field.totallyreal_rel', + 'enumerate_totallyreal_fields_all') +lazy_import('sage.rings.number_field.totallyreal_rel', + 'enumerate_totallyreal_fields_rel') -from .unit_group import UnitGroup +from sage.rings.number_field.unit_group import UnitGroup + +del lazy_import diff --git a/src/sage/rings/number_field/all__sagemath_categories.py b/src/sage/rings/number_field/all__sagemath_categories.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/rings/number_field/all__sagemath_flint.py b/src/sage/rings/number_field/all__sagemath_flint.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/rings/number_field/all__sagemath_pari.py b/src/sage/rings/number_field/all__sagemath_pari.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/rings/number_field/bdd_height.py b/src/sage/rings/number_field/bdd_height.py index beed9da5e20..747c0f89756 100644 --- a/src/sage/rings/number_field/bdd_height.py +++ b/src/sage/rings/number_field/bdd_height.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint # sage.doctest: needs sage.geometry.polyhedron r""" Elements of bounded height in number fields diff --git a/src/sage/rings/number_field/class_group.py b/src/sage/rings/number_field/class_group.py index 4f10c8d8f13..2f6c3c3c8cb 100644 --- a/src/sage/rings/number_field/class_group.py +++ b/src/sage/rings/number_field/class_group.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-flint r""" Class groups of number fields diff --git a/src/sage/rings/number_field/galois_group.py b/src/sage/rings/number_field/galois_group.py index 999089d49d0..a9ae8f3fd2a 100644 --- a/src/sage/rings/number_field/galois_group.py +++ b/src/sage/rings/number_field/galois_group.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint # sage.doctest: needs sage.groups sage.rings.number_field """ Galois groups of number fields diff --git a/src/sage/rings/number_field/homset.py b/src/sage/rings/number_field/homset.py index 4e4a12a9c6f..c3565e4b90b 100644 --- a/src/sage/rings/number_field/homset.py +++ b/src/sage/rings/number_field/homset.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint """ Sets of homomorphisms between number fields """ diff --git a/src/sage/rings/number_field/maps.py b/src/sage/rings/number_field/maps.py index b14c4ca48f3..ea83eca6e7a 100644 --- a/src/sage/rings/number_field/maps.py +++ b/src/sage/rings/number_field/maps.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint r""" Structure maps for number fields diff --git a/src/sage/rings/number_field/morphism.py b/src/sage/rings/number_field/morphism.py index a16ccd2bbc6..cc639fe183d 100644 --- a/src/sage/rings/number_field/morphism.py +++ b/src/sage/rings/number_field/morphism.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint r""" Morphisms between number fields diff --git a/src/sage/rings/number_field/number_field.py b/src/sage/rings/number_field/number_field.py index 1413b1ea057..cd61295310e 100644 --- a/src/sage/rings/number_field/number_field.py +++ b/src/sage/rings/number_field/number_field.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint # sage.doctest: needs sage.libs.linbox r""" Number fields diff --git a/src/sage/rings/number_field/number_field_base.pxd b/src/sage/rings/number_field/number_field_base.pxd index ba6a8e98143..52de3655c39 100644 --- a/src/sage/rings/number_field/number_field_base.pxd +++ b/src/sage/rings/number_field/number_field_base.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories from sage.rings.ring cimport Field cdef class NumberField(Field): diff --git a/src/sage/rings/number_field/number_field_base.pyx b/src/sage/rings/number_field/number_field_base.pyx index 7f55d887a0f..cf0dc56e9ef 100644 --- a/src/sage/rings/number_field/number_field_base.pyx +++ b/src/sage/rings/number_field/number_field_base.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.rings.number_field """ Base class of number fields diff --git a/src/sage/rings/number_field/number_field_element.pxd b/src/sage/rings/number_field/number_field_element.pxd index df72e703017..610e001dc00 100644 --- a/src/sage/rings/number_field/number_field_element.pxd +++ b/src/sage/rings/number_field/number_field_element.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint cimport sage.structure.element from sage.libs.gmp.types cimport mpz_t from sage.rings.integer cimport Integer diff --git a/src/sage/rings/number_field/number_field_element.pyx b/src/sage/rings/number_field/number_field_element.pyx index 844a4ec3162..5a5f133c2fc 100644 --- a/src/sage/rings/number_field/number_field_element.pyx +++ b/src/sage/rings/number_field/number_field_element.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint # distutils: libraries = NTL_LIBRARIES # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR diff --git a/src/sage/rings/number_field/number_field_element_base.pxd b/src/sage/rings/number_field/number_field_element_base.pxd index 060f0c754c4..7575d280a1e 100644 --- a/src/sage/rings/number_field/number_field_element_base.pxd +++ b/src/sage/rings/number_field/number_field_element_base.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories from sage.structure.element cimport FieldElement diff --git a/src/sage/rings/number_field/number_field_element_base.pyx b/src/sage/rings/number_field/number_field_element_base.pyx index 5fee5817cbc..0b2b17b9064 100644 --- a/src/sage/rings/number_field/number_field_element_base.pyx +++ b/src/sage/rings/number_field/number_field_element_base.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Number field elements (abstract base class) """ diff --git a/src/sage/rings/number_field/number_field_element_quadratic.pxd b/src/sage/rings/number_field/number_field_element_quadratic.pxd index 6dce9c04d90..d196e735a99 100644 --- a/src/sage/rings/number_field/number_field_element_quadratic.pxd +++ b/src/sage/rings/number_field/number_field_element_quadratic.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint from sage.libs.gmp.types cimport mpz_t from sage.libs.flint.types cimport arb_t from sage.rings.integer cimport Integer diff --git a/src/sage/rings/number_field/number_field_element_quadratic.pyx b/src/sage/rings/number_field/number_field_element_quadratic.pyx index f48df864b74..7db9fdbaa81 100644 --- a/src/sage/rings/number_field/number_field_element_quadratic.pyx +++ b/src/sage/rings/number_field/number_field_element_quadratic.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint # distutils: libraries = NTL_LIBRARIES # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR diff --git a/src/sage/rings/number_field/number_field_ideal.py b/src/sage/rings/number_field/number_field_ideal.py index 1be7a76f46f..fe1ac8cc049 100644 --- a/src/sage/rings/number_field/number_field_ideal.py +++ b/src/sage/rings/number_field/number_field_ideal.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.libs.pari sage.rings.number_field """ Ideals of number fields diff --git a/src/sage/rings/number_field/number_field_ideal_rel.py b/src/sage/rings/number_field/number_field_ideal_rel.py index 7c0e4daa7a2..f51c988f646 100644 --- a/src/sage/rings/number_field/number_field_ideal_rel.py +++ b/src/sage/rings/number_field/number_field_ideal_rel.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint r""" Ideals of relative number fields diff --git a/src/sage/rings/number_field/number_field_morphisms.pyx b/src/sage/rings/number_field/number_field_morphisms.pyx index 94a917b5322..f0512bf28b6 100644 --- a/src/sage/rings/number_field/number_field_morphisms.pyx +++ b/src/sage/rings/number_field/number_field_morphisms.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint # sage.doctest: needs sage.rings.number_field r""" Embeddings into ambient fields diff --git a/src/sage/rings/number_field/number_field_rel.py b/src/sage/rings/number_field/number_field_rel.py index 0fdc3a8e89c..9009559c3ee 100644 --- a/src/sage/rings/number_field/number_field_rel.py +++ b/src/sage/rings/number_field/number_field_rel.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint r""" Relative number fields diff --git a/src/sage/rings/number_field/order.py b/src/sage/rings/number_field/order.py index 94d0732704d..74bc0e5de21 100644 --- a/src/sage/rings/number_field/order.py +++ b/src/sage/rings/number_field/order.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint # sage.doctest: needs sage.libs.linbox """ Orders in number fields diff --git a/src/sage/rings/number_field/selmer_group.py b/src/sage/rings/number_field/selmer_group.py index 87221473348..3eb7246ab25 100644 --- a/src/sage/rings/number_field/selmer_group.py +++ b/src/sage/rings/number_field/selmer_group.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-flint r""" `p`-Selmer groups of number fields diff --git a/src/sage/rings/number_field/small_primes_of_degree_one.py b/src/sage/rings/number_field/small_primes_of_degree_one.py index 73f770c34dd..b22217f9d27 100644 --- a/src/sage/rings/number_field/small_primes_of_degree_one.py +++ b/src/sage/rings/number_field/small_primes_of_degree_one.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint r""" Small primes of degree one diff --git a/src/sage/rings/number_field/splitting_field.py b/src/sage/rings/number_field/splitting_field.py index 4de3515f161..843fddbb6b0 100644 --- a/src/sage/rings/number_field/splitting_field.py +++ b/src/sage/rings/number_field/splitting_field.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint """ Splitting fields of polynomials over number fields diff --git a/src/sage/rings/number_field/structure.py b/src/sage/rings/number_field/structure.py index 92be301645b..d092c1fc106 100644 --- a/src/sage/rings/number_field/structure.py +++ b/src/sage/rings/number_field/structure.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint # sage.doctest: needs sage.rings.number_field r""" Helper classes for structural embeddings and isomorphisms of number fields diff --git a/src/sage/rings/number_field/totallyreal.pyx b/src/sage/rings/number_field/totallyreal.pyx index 3e591fb1baa..3fa8249a662 100644 --- a/src/sage/rings/number_field/totallyreal.pyx +++ b/src/sage/rings/number_field/totallyreal.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint r""" Enumeration of primitive totally real fields diff --git a/src/sage/rings/number_field/totallyreal_data.pxd b/src/sage/rings/number_field/totallyreal_data.pxd index 61973829ddb..abd99f90a69 100644 --- a/src/sage/rings/number_field/totallyreal_data.pxd +++ b/src/sage/rings/number_field/totallyreal_data.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint cdef double eval_seq_as_poly(int *f, int n, double x) noexcept cdef double newton(int *f, int *df, int n, double x0, double eps) noexcept cdef void newton_in_intervals(int *f, int *df, int n, double *beta, double eps, double *rts) noexcept diff --git a/src/sage/rings/number_field/totallyreal_data.pyx b/src/sage/rings/number_field/totallyreal_data.pyx index 6336b16264b..fd67045b5f8 100644 --- a/src/sage/rings/number_field/totallyreal_data.pyx +++ b/src/sage/rings/number_field/totallyreal_data.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint # distutils: libraries = gmp """ Enumeration of totally real fields: data diff --git a/src/sage/rings/number_field/totallyreal_phc.py b/src/sage/rings/number_field/totallyreal_phc.py index e564d760320..7ea5b5fc7d5 100644 --- a/src/sage/rings/number_field/totallyreal_phc.py +++ b/src/sage/rings/number_field/totallyreal_phc.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint """ Enumeration of totally real fields: PHC interface diff --git a/src/sage/rings/number_field/totallyreal_rel.py b/src/sage/rings/number_field/totallyreal_rel.py index e4e96154838..efa4aec9468 100644 --- a/src/sage/rings/number_field/totallyreal_rel.py +++ b/src/sage/rings/number_field/totallyreal_rel.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint # sage.doctest: needs sage.geometry.polyhedron sage.libs.linbox sage.modules sage.rings.number_field r""" Enumeration of totally real fields: relative extensions diff --git a/src/sage/rings/number_field/unit_group.py b/src/sage/rings/number_field/unit_group.py index a98c1dd0907..98368a5fbae 100644 --- a/src/sage/rings/number_field/unit_group.py +++ b/src/sage/rings/number_field/unit_group.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint r""" Units and `S`-unit groups of number fields diff --git a/src/sage/rings/padics/CA_template.pxi b/src/sage/rings/padics/CA_template.pxi index e8d906b01c8..94d02062ae4 100644 --- a/src/sage/rings/padics/CA_template.pxi +++ b/src/sage/rings/padics/CA_template.pxi @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari r""" Capped absolute template for complete discrete valuation rings diff --git a/src/sage/rings/padics/CA_template_header.pxi b/src/sage/rings/padics/CA_template_header.pxi index d15a055cb4d..1b1c3262f37 100644 --- a/src/sage/rings/padics/CA_template_header.pxi +++ b/src/sage/rings/padics/CA_template_header.pxi @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari """ This file provides the declaration for ``CAElement`` and the morphisms to the integers and rationals. diff --git a/src/sage/rings/padics/CR_template.pxi b/src/sage/rings/padics/CR_template.pxi index acdc4803670..7491720c26a 100644 --- a/src/sage/rings/padics/CR_template.pxi +++ b/src/sage/rings/padics/CR_template.pxi @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari """ Capped relative template for complete discrete valuation rings and their fraction fields diff --git a/src/sage/rings/padics/CR_template_header.pxi b/src/sage/rings/padics/CR_template_header.pxi index 54c482f7ff2..ebbe7b0b326 100644 --- a/src/sage/rings/padics/CR_template_header.pxi +++ b/src/sage/rings/padics/CR_template_header.pxi @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari """ This file provides the declaration for ``CRElement`` and the morphisms to and from the integers and rationals. diff --git a/src/sage/rings/padics/FM_template.pxi b/src/sage/rings/padics/FM_template.pxi index 8ce93d797a8..7a158d50a49 100644 --- a/src/sage/rings/padics/FM_template.pxi +++ b/src/sage/rings/padics/FM_template.pxi @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari """ Fixed modulus template for complete discrete valuation rings diff --git a/src/sage/rings/padics/FM_template_header.pxi b/src/sage/rings/padics/FM_template_header.pxi index bd651167622..5de73d5478a 100644 --- a/src/sage/rings/padics/FM_template_header.pxi +++ b/src/sage/rings/padics/FM_template_header.pxi @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari """ This file provides the declaration for the ``FMElement`` and the morphisms to and from the integers and rationals. diff --git a/src/sage/rings/padics/FP_template.pxi b/src/sage/rings/padics/FP_template.pxi index 5c7f94051e7..701a7c01298 100644 --- a/src/sage/rings/padics/FP_template.pxi +++ b/src/sage/rings/padics/FP_template.pxi @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari """ Floating point template for complete discrete valuation rings diff --git a/src/sage/rings/padics/FP_template_header.pxi b/src/sage/rings/padics/FP_template_header.pxi index fde598e05fd..d9510add4bf 100644 --- a/src/sage/rings/padics/FP_template_header.pxi +++ b/src/sage/rings/padics/FP_template_header.pxi @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari """ This file provides the declaration for ``FPElement`` and the morphisms to and from the integers and rationals. diff --git a/src/sage/rings/padics/all.py b/src/sage/rings/padics/all.py index 7014f5622d8..d70d7c2f229 100644 --- a/src/sage/rings/padics/all.py +++ b/src/sage/rings/padics/all.py @@ -1,6 +1,3 @@ -from .factory import Zp, Zq, Zp as pAdicRing, ZpCR, ZpCA, ZpFM, ZpFP, ZpLC, ZpLF, ZqCR, ZqCA, ZqFM, ZqFP, ZpER -from .factory import Qp, Qq, Qp as pAdicField, QpCR, QpFP, QpLC, QpLF, QqCR, QqFP, QpER -from .factory import pAdicExtension -from .padic_generic import local_print_mode -from .pow_computer import PowComputer -from .pow_computer_ext import PowComputer_ext_maker +# sage_setup: distribution = sagemath-flint + +from sage.rings.padics.all__sagemath_flint import * diff --git a/src/sage/rings/padics/all__sagemath_categories.py b/src/sage/rings/padics/all__sagemath_categories.py new file mode 100644 index 00000000000..fec72979f02 --- /dev/null +++ b/src/sage/rings/padics/all__sagemath_categories.py @@ -0,0 +1 @@ +from sage.rings.padics.padic_generic import local_print_mode diff --git a/src/sage/rings/padics/all__sagemath_flint.py b/src/sage/rings/padics/all__sagemath_flint.py new file mode 100644 index 00000000000..6362a8551f0 --- /dev/null +++ b/src/sage/rings/padics/all__sagemath_flint.py @@ -0,0 +1,2 @@ + +from sage.rings.padics.all__sagemath_ntl import * diff --git a/src/sage/rings/padics/all__sagemath_ntl.py b/src/sage/rings/padics/all__sagemath_ntl.py new file mode 100644 index 00000000000..dfa31e55f90 --- /dev/null +++ b/src/sage/rings/padics/all__sagemath_ntl.py @@ -0,0 +1,4 @@ + +from sage.rings.padics.all__sagemath_pari import * + +from sage.rings.padics.pow_computer_ext import PowComputer_ext_maker diff --git a/src/sage/rings/padics/all__sagemath_pari.py b/src/sage/rings/padics/all__sagemath_pari.py new file mode 100644 index 00000000000..5072418e856 --- /dev/null +++ b/src/sage/rings/padics/all__sagemath_pari.py @@ -0,0 +1,10 @@ + +from sage.rings.padics.all__sagemath_categories import * + +from sage.rings.padics.factory import Zp, Zq, Zp as pAdicRing, ZpCR, ZpCA, ZpFM, ZpFP, ZpLC, ZpLF, ZqCR, ZqCA, ZqFM, ZqFP, ZpER +from sage.rings.padics.factory import Qp, Qq, Qp as pAdicField, QpCR, QpFP, QpLC, QpLF, QqCR, QqFP, QpER +from sage.rings.padics.factory import pAdicExtension + +from sage.rings.padics.padic_printing import _printer_defaults as padic_printing + +from sage.rings.padics.pow_computer import PowComputer diff --git a/src/sage/rings/padics/common_conversion.pxd b/src/sage/rings/padics/common_conversion.pxd index 4e0edb8f8e6..936b97f105e 100644 --- a/src/sage/rings/padics/common_conversion.pxd +++ b/src/sage/rings/padics/common_conversion.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari from sage.rings.integer cimport Integer from sage.rings.padics.pow_computer cimport PowComputer_class from sage.libs.gmp.mpz cimport mpz_t, mpq_t diff --git a/src/sage/rings/padics/common_conversion.pyx b/src/sage/rings/padics/common_conversion.pyx index 0afddcc30a4..61196c6e4da 100644 --- a/src/sage/rings/padics/common_conversion.pyx +++ b/src/sage/rings/padics/common_conversion.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari r""" The functions in this file are used in creating new p-adic elements. diff --git a/src/sage/rings/padics/eisenstein_extension_generic.py b/src/sage/rings/padics/eisenstein_extension_generic.py index 10e198abfb9..61db8ce062f 100644 --- a/src/sage/rings/padics/eisenstein_extension_generic.py +++ b/src/sage/rings/padics/eisenstein_extension_generic.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari """ Eisenstein Extension Generic diff --git a/src/sage/rings/padics/factory.py b/src/sage/rings/padics/factory.py index 60c37322bd2..35658ddd459 100644 --- a/src/sage/rings/padics/factory.py +++ b/src/sage/rings/padics/factory.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari r""" Factory diff --git a/src/sage/rings/padics/generic_nodes.py b/src/sage/rings/padics/generic_nodes.py index ecee8e4e5f3..4e3f174b55b 100644 --- a/src/sage/rings/padics/generic_nodes.py +++ b/src/sage/rings/padics/generic_nodes.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari """ `p`-adic Generic Nodes diff --git a/src/sage/rings/padics/lattice_precision.py b/src/sage/rings/padics/lattice_precision.py index 51a510a4360..01bd1d00df3 100644 --- a/src/sage/rings/padics/lattice_precision.py +++ b/src/sage/rings/padics/lattice_precision.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari r""" Lattice precision for the parents ``ZpLC``/``QpLC`` and ``ZpLF``/``QpLF`` diff --git a/src/sage/rings/padics/local_generic.py b/src/sage/rings/padics/local_generic.py index 066459c65a2..cc23c0e0894 100644 --- a/src/sage/rings/padics/local_generic.py +++ b/src/sage/rings/padics/local_generic.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.rings.padics r""" Local Generic diff --git a/src/sage/rings/padics/local_generic_element.pxd b/src/sage/rings/padics/local_generic_element.pxd index 9111d2f173c..daf1194956f 100644 --- a/src/sage/rings/padics/local_generic_element.pxd +++ b/src/sage/rings/padics/local_generic_element.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories from sage.structure.element cimport CommutativeRingElement cdef class LocalGenericElement(CommutativeRingElement): diff --git a/src/sage/rings/padics/local_generic_element.pyx b/src/sage/rings/padics/local_generic_element.pyx index e1f5a7a04a0..4a88b75ba87 100644 --- a/src/sage/rings/padics/local_generic_element.pyx +++ b/src/sage/rings/padics/local_generic_element.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.rings.padics """ Local Generic Element diff --git a/src/sage/rings/padics/misc.py b/src/sage/rings/padics/misc.py index 984482bc39c..3bde32a996a 100644 --- a/src/sage/rings/padics/misc.py +++ b/src/sage/rings/padics/misc.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-categories r""" Miscellaneous Functions diff --git a/src/sage/rings/padics/morphism.pxd b/src/sage/rings/padics/morphism.pxd index b6afedd2377..4fd8175c847 100644 --- a/src/sage/rings/padics/morphism.pxd +++ b/src/sage/rings/padics/morphism.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari from sage.rings.morphism cimport RingHomomorphism from sage.structure.element cimport Element diff --git a/src/sage/rings/padics/morphism.pyx b/src/sage/rings/padics/morphism.pyx index c8238bdc9fa..5418878a3ca 100644 --- a/src/sage/rings/padics/morphism.pyx +++ b/src/sage/rings/padics/morphism.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari # sage.doctest: needs sage.libs.ntl """ Frobenius endomorphisms on p-adic fields diff --git a/src/sage/rings/padics/padic_ZZ_pX_CA_element.pxd b/src/sage/rings/padics/padic_ZZ_pX_CA_element.pxd index 7afe94b1bf3..63b03c15e87 100644 --- a/src/sage/rings/padics/padic_ZZ_pX_CA_element.pxd +++ b/src/sage/rings/padics/padic_ZZ_pX_CA_element.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl from sage.libs.gmp.types cimport mpq_t from sage.rings.padics.padic_ZZ_pX_element cimport pAdicZZpXElement from sage.structure.element cimport RingElement, ModuleElement diff --git a/src/sage/rings/padics/padic_ZZ_pX_CA_element.pyx b/src/sage/rings/padics/padic_ZZ_pX_CA_element.pyx index 58f5670aa05..dd3090651b6 100644 --- a/src/sage/rings/padics/padic_ZZ_pX_CA_element.pyx +++ b/src/sage/rings/padics/padic_ZZ_pX_CA_element.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl # distutils: libraries = NTL_LIBRARIES gmp m # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR diff --git a/src/sage/rings/padics/padic_ZZ_pX_CR_element.pxd b/src/sage/rings/padics/padic_ZZ_pX_CR_element.pxd index 9744b2a3f62..04f24b78377 100644 --- a/src/sage/rings/padics/padic_ZZ_pX_CR_element.pxd +++ b/src/sage/rings/padics/padic_ZZ_pX_CR_element.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl from sage.libs.gmp.types cimport mpz_t, mpq_t from sage.rings.padics.padic_ZZ_pX_element cimport pAdicZZpXElement from sage.structure.element cimport RingElement, ModuleElement diff --git a/src/sage/rings/padics/padic_ZZ_pX_CR_element.pyx b/src/sage/rings/padics/padic_ZZ_pX_CR_element.pyx index ec86b03535b..94bc504a890 100644 --- a/src/sage/rings/padics/padic_ZZ_pX_CR_element.pyx +++ b/src/sage/rings/padics/padic_ZZ_pX_CR_element.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl # distutils: libraries = NTL_LIBRARIES gmp m # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR diff --git a/src/sage/rings/padics/padic_ZZ_pX_FM_element.pxd b/src/sage/rings/padics/padic_ZZ_pX_FM_element.pxd index 90626089442..221b6dba2cb 100644 --- a/src/sage/rings/padics/padic_ZZ_pX_FM_element.pxd +++ b/src/sage/rings/padics/padic_ZZ_pX_FM_element.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl from sage.libs.ntl.types cimport ZZ_pX_c from sage.rings.padics.padic_ZZ_pX_element cimport pAdicZZpXElement from sage.structure.element cimport RingElement, ModuleElement diff --git a/src/sage/rings/padics/padic_ZZ_pX_FM_element.pyx b/src/sage/rings/padics/padic_ZZ_pX_FM_element.pyx index 44d549847a9..910f7a5f3d0 100644 --- a/src/sage/rings/padics/padic_ZZ_pX_FM_element.pyx +++ b/src/sage/rings/padics/padic_ZZ_pX_FM_element.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl # distutils: libraries = NTL_LIBRARIES gmp m # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR diff --git a/src/sage/rings/padics/padic_ZZ_pX_element.pxd b/src/sage/rings/padics/padic_ZZ_pX_element.pxd index 1d2f9abcbdb..4fc388fbe36 100644 --- a/src/sage/rings/padics/padic_ZZ_pX_element.pxd +++ b/src/sage/rings/padics/padic_ZZ_pX_element.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl from sage.rings.padics.padic_ext_element cimport pAdicExtElement from sage.rings.padics.pow_computer_ext cimport PowComputer_ZZ_pX diff --git a/src/sage/rings/padics/padic_ZZ_pX_element.pyx b/src/sage/rings/padics/padic_ZZ_pX_element.pyx index b88bd5053bf..1c77027faee 100644 --- a/src/sage/rings/padics/padic_ZZ_pX_element.pyx +++ b/src/sage/rings/padics/padic_ZZ_pX_element.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl # distutils: libraries = NTL_LIBRARIES gmp m # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR diff --git a/src/sage/rings/padics/padic_base_generic.py b/src/sage/rings/padics/padic_base_generic.py index 792e99996c5..f3e2ba82fa0 100644 --- a/src/sage/rings/padics/padic_base_generic.py +++ b/src/sage/rings/padics/padic_base_generic.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari r""" `p`-adic Base Generic diff --git a/src/sage/rings/padics/padic_base_leaves.py b/src/sage/rings/padics/padic_base_leaves.py index efd4073c30d..538d30b6b81 100644 --- a/src/sage/rings/padics/padic_base_leaves.py +++ b/src/sage/rings/padics/padic_base_leaves.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari r""" `p`-adic Base Leaves diff --git a/src/sage/rings/padics/padic_capped_absolute_element.pxd b/src/sage/rings/padics/padic_capped_absolute_element.pxd index 48c8500a678..d2193ce373a 100644 --- a/src/sage/rings/padics/padic_capped_absolute_element.pxd +++ b/src/sage/rings/padics/padic_capped_absolute_element.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari from sage.libs.gmp.types cimport mpz_t from cypari2.gen cimport Gen as pari_gen from sage.rings.padics.padic_capped_relative_element cimport CRElement diff --git a/src/sage/rings/padics/padic_capped_absolute_element.pyx b/src/sage/rings/padics/padic_capped_absolute_element.pyx index d21b2c18acb..c5e5a235cb9 100644 --- a/src/sage/rings/padics/padic_capped_absolute_element.pyx +++ b/src/sage/rings/padics/padic_capped_absolute_element.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari """ `p`-adic Capped Absolute Elements diff --git a/src/sage/rings/padics/padic_capped_relative_element.pxd b/src/sage/rings/padics/padic_capped_relative_element.pxd index 2cf6d5276f5..e1d544ea9d0 100644 --- a/src/sage/rings/padics/padic_capped_relative_element.pxd +++ b/src/sage/rings/padics/padic_capped_relative_element.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari from sage.libs.gmp.types cimport mpz_t from cypari2.gen cimport Gen as pari_gen diff --git a/src/sage/rings/padics/padic_capped_relative_element.pyx b/src/sage/rings/padics/padic_capped_relative_element.pyx index 701c9575417..ba7e2828429 100644 --- a/src/sage/rings/padics/padic_capped_relative_element.pyx +++ b/src/sage/rings/padics/padic_capped_relative_element.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari """ `p`-adic Capped Relative Elements diff --git a/src/sage/rings/padics/padic_ext_element.pxd b/src/sage/rings/padics/padic_ext_element.pxd index d8e2ca0a5a0..62323933199 100644 --- a/src/sage/rings/padics/padic_ext_element.pxd +++ b/src/sage/rings/padics/padic_ext_element.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl from sage.rings.padics.padic_generic_element cimport pAdicGenericElement from sage.libs.ntl.types cimport ZZ_pX_c, ZZ_pE_c, ZZ_pEX_c, ZZ_p_c, ZZX_c from sage.libs.ntl.ntl_ZZ_pContext cimport ntl_ZZ_pContext_class diff --git a/src/sage/rings/padics/padic_ext_element.pyx b/src/sage/rings/padics/padic_ext_element.pyx index 2327c8085a0..ea2d2bc46bb 100644 --- a/src/sage/rings/padics/padic_ext_element.pyx +++ b/src/sage/rings/padics/padic_ext_element.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl # distutils: libraries = NTL_LIBRARIES gmp m # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR diff --git a/src/sage/rings/padics/padic_extension_generic.py b/src/sage/rings/padics/padic_extension_generic.py index 42d58e9d229..995f3ed2d06 100644 --- a/src/sage/rings/padics/padic_extension_generic.py +++ b/src/sage/rings/padics/padic_extension_generic.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari # sage.doctest: needs sage.libs.ntl """ `p`-adic Extension Generic diff --git a/src/sage/rings/padics/padic_extension_leaves.py b/src/sage/rings/padics/padic_extension_leaves.py index d6450039a82..1bd9acd8e04 100644 --- a/src/sage/rings/padics/padic_extension_leaves.py +++ b/src/sage/rings/padics/padic_extension_leaves.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari r""" `p`-adic Extension Leaves diff --git a/src/sage/rings/padics/padic_fixed_mod_element.pxd b/src/sage/rings/padics/padic_fixed_mod_element.pxd index cd619a1bcb2..105fe481850 100644 --- a/src/sage/rings/padics/padic_fixed_mod_element.pxd +++ b/src/sage/rings/padics/padic_fixed_mod_element.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari from sage.libs.gmp.types cimport mpz_t from cypari2.gen cimport Gen as pari_gen from sage.rings.padics.padic_floating_point_element cimport FPElement diff --git a/src/sage/rings/padics/padic_fixed_mod_element.pyx b/src/sage/rings/padics/padic_fixed_mod_element.pyx index bb4b8f3e0db..5fb895c4aad 100644 --- a/src/sage/rings/padics/padic_fixed_mod_element.pyx +++ b/src/sage/rings/padics/padic_fixed_mod_element.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari """ `p`-adic Fixed-Mod Element diff --git a/src/sage/rings/padics/padic_floating_point_element.pxd b/src/sage/rings/padics/padic_floating_point_element.pxd index 721c471d253..434a4cc83f9 100644 --- a/src/sage/rings/padics/padic_floating_point_element.pxd +++ b/src/sage/rings/padics/padic_floating_point_element.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari from sage.libs.gmp.types cimport mpz_t from cypari2.gen cimport Gen as pari_gen diff --git a/src/sage/rings/padics/padic_floating_point_element.pyx b/src/sage/rings/padics/padic_floating_point_element.pyx index ed80e7c853d..4d0d4ee6620 100644 --- a/src/sage/rings/padics/padic_floating_point_element.pyx +++ b/src/sage/rings/padics/padic_floating_point_element.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari r""" `p`-adic Floating Point Elements diff --git a/src/sage/rings/padics/padic_generic.py b/src/sage/rings/padics/padic_generic.py index 6452d77db22..28e80ad59b1 100644 --- a/src/sage/rings/padics/padic_generic.py +++ b/src/sage/rings/padics/padic_generic.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.rings.padics r""" `p`-adic Generic diff --git a/src/sage/rings/padics/padic_generic_element.pxd b/src/sage/rings/padics/padic_generic_element.pxd index dadf7099c00..b3b04c85e86 100644 --- a/src/sage/rings/padics/padic_generic_element.pxd +++ b/src/sage/rings/padics/padic_generic_element.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari from cpython cimport array cimport sage.structure.element diff --git a/src/sage/rings/padics/padic_generic_element.pyx b/src/sage/rings/padics/padic_generic_element.pyx index b8f02e31970..9e81dbb9d09 100644 --- a/src/sage/rings/padics/padic_generic_element.pyx +++ b/src/sage/rings/padics/padic_generic_element.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari """ `p`-adic Generic Element diff --git a/src/sage/rings/padics/padic_lattice_element.py b/src/sage/rings/padics/padic_lattice_element.py index d1b75efe6d6..49e70df3fe5 100644 --- a/src/sage/rings/padics/padic_lattice_element.py +++ b/src/sage/rings/padics/padic_lattice_element.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari r""" `p`-adic Elements with lattice precision. diff --git a/src/sage/rings/padics/padic_printing.pxd b/src/sage/rings/padics/padic_printing.pxd index 44698b3d73d..1a238054efa 100644 --- a/src/sage/rings/padics/padic_printing.pxd +++ b/src/sage/rings/padics/padic_printing.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari from sage.structure.sage_object cimport SageObject from sage.rings.padics.pow_computer cimport PowComputer_class from sage.rings.padics.padic_generic_element cimport pAdicGenericElement diff --git a/src/sage/rings/padics/padic_printing.pyx b/src/sage/rings/padics/padic_printing.pyx index fc9f15b07b1..e18ce08d5c4 100644 --- a/src/sage/rings/padics/padic_printing.pyx +++ b/src/sage/rings/padics/padic_printing.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari # distutils: libraries = NTL_LIBRARIES gmp m # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR diff --git a/src/sage/rings/padics/padic_relaxed_element.pxd b/src/sage/rings/padics/padic_relaxed_element.pxd index 991af951643..d21d4a2a88c 100644 --- a/src/sage/rings/padics/padic_relaxed_element.pxd +++ b/src/sage/rings/padics/padic_relaxed_element.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl from sage.libs.flint.types cimport fmpz, fmpz_t, fmpz_poly_t, flint_rand_t ctypedef fmpz_t cdigit diff --git a/src/sage/rings/padics/padic_relaxed_element.pyx b/src/sage/rings/padics/padic_relaxed_element.pyx index 88b5003b0eb..f696dde41e3 100644 --- a/src/sage/rings/padics/padic_relaxed_element.pyx +++ b/src/sage/rings/padics/padic_relaxed_element.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint cdef inline type element_class_zero = pAdicRelaxedElement_zero cdef inline type element_class_one = pAdicRelaxedElement_one cdef inline type element_class_bound = pAdicRelaxedElement_bound diff --git a/src/sage/rings/padics/padic_relaxed_errors.pxd b/src/sage/rings/padics/padic_relaxed_errors.pxd index bfe375b8eee..f0c31369c93 100644 --- a/src/sage/rings/padics/padic_relaxed_errors.pxd +++ b/src/sage/rings/padics/padic_relaxed_errors.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl cdef inline int ERROR_ABANDON cdef inline int ERROR_NOTDEFINED cdef inline int ERROR_PRECISION diff --git a/src/sage/rings/padics/padic_relaxed_errors.pyx b/src/sage/rings/padics/padic_relaxed_errors.pyx index 2157234f62b..dce83aaec65 100644 --- a/src/sage/rings/padics/padic_relaxed_errors.pyx +++ b/src/sage/rings/padics/padic_relaxed_errors.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint # **************************************************************************** # Copyright (C) 2021 Xavier Caruso # diff --git a/src/sage/rings/padics/padic_template_element.pxi b/src/sage/rings/padics/padic_template_element.pxi index 4b5b9c6dbe9..2c25ff6c0b4 100644 --- a/src/sage/rings/padics/padic_template_element.pxi +++ b/src/sage/rings/padics/padic_template_element.pxi @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari """ This file gives a class from which all the `p`-adic templates inherit. diff --git a/src/sage/rings/padics/padic_template_element_header.pxi b/src/sage/rings/padics/padic_template_element_header.pxi index 11e1cc7fab7..08c9592e69c 100644 --- a/src/sage/rings/padics/padic_template_element_header.pxi +++ b/src/sage/rings/padics/padic_template_element_header.pxi @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari """ This file provides the declaration for the pAdicTemplateElement class, which collects common functionality for the different p-adic template diff --git a/src/sage/rings/padics/padic_valuation.py b/src/sage/rings/padics/padic_valuation.py index 7b162228fbb..457555bd5da 100644 --- a/src/sage/rings/padics/padic_valuation.py +++ b/src/sage/rings/padics/padic_valuation.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-pari r""" `p`-adic Valuations on Number Fields and Their Subrings and Completions diff --git a/src/sage/rings/padics/pow_computer.pxd b/src/sage/rings/padics/pow_computer.pxd index 5cb6a474849..ada2533961b 100644 --- a/src/sage/rings/padics/pow_computer.pxd +++ b/src/sage/rings/padics/pow_computer.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari from sage.libs.gmp.types cimport mpz_t, mpz_srcptr from sage.structure.sage_object cimport SageObject from sage.rings.integer cimport Integer diff --git a/src/sage/rings/padics/pow_computer.pyx b/src/sage/rings/padics/pow_computer.pyx index dda423f4a0f..d26fe7d5b14 100644 --- a/src/sage/rings/padics/pow_computer.pyx +++ b/src/sage/rings/padics/pow_computer.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari # distutils: libraries = NTL_LIBRARIES gmp m # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR diff --git a/src/sage/rings/padics/pow_computer_ext.pxd b/src/sage/rings/padics/pow_computer_ext.pxd index 5d31790e02e..1899c40057f 100644 --- a/src/sage/rings/padics/pow_computer_ext.pxd +++ b/src/sage/rings/padics/pow_computer_ext.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl from sage.rings.padics.pow_computer cimport PowComputer_class from sage.libs.ntl.ntl_ZZ_pContext cimport ntl_ZZ_pContext_class from sage.libs.ntl.types cimport * diff --git a/src/sage/rings/padics/pow_computer_ext.pyx b/src/sage/rings/padics/pow_computer_ext.pyx index 89a073550f5..06b08444439 100644 --- a/src/sage/rings/padics/pow_computer_ext.pyx +++ b/src/sage/rings/padics/pow_computer_ext.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl # distutils: libraries = NTL_LIBRARIES gmp m # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR diff --git a/src/sage/rings/padics/pow_computer_flint.pxd b/src/sage/rings/padics/pow_computer_flint.pxd index 7b0d042115d..a2c853eca89 100644 --- a/src/sage/rings/padics/pow_computer_flint.pxd +++ b/src/sage/rings/padics/pow_computer_flint.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint from sage.libs.gmp.mpz cimport mpz_t from sage.libs.flint.types cimport padic_ctx_t, fmpz_t, fmpz_poly_t from sage.rings.padics.pow_computer cimport PowComputer_class diff --git a/src/sage/rings/padics/pow_computer_flint.pyx b/src/sage/rings/padics/pow_computer_flint.pyx index 2a9c937923f..de95d6b6955 100644 --- a/src/sage/rings/padics/pow_computer_flint.pyx +++ b/src/sage/rings/padics/pow_computer_flint.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint # distutils: libraries = gmp NTL_LIBRARIES # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR diff --git a/src/sage/rings/padics/pow_computer_relative.pxd b/src/sage/rings/padics/pow_computer_relative.pxd index df989768720..0b99bc4b65a 100644 --- a/src/sage/rings/padics/pow_computer_relative.pxd +++ b/src/sage/rings/padics/pow_computer_relative.pxd @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-pari from sage.rings.padics.pow_computer cimport PowComputer_class from sage.rings.polynomial.polynomial_element cimport Polynomial_generic_dense diff --git a/src/sage/rings/padics/pow_computer_relative.pyx b/src/sage/rings/padics/pow_computer_relative.pyx index 98b3a6f5fa4..ff43b4b7082 100644 --- a/src/sage/rings/padics/pow_computer_relative.pyx +++ b/src/sage/rings/padics/pow_computer_relative.pyx @@ -1,10 +1,10 @@ +# sage_setup: distribution = sagemath-pari # distutils: libraries = NTL_LIBRARIES gmp m # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR # distutils: library_dirs = NTL_LIBDIR # distutils: extra_link_args = NTL_LIBEXTRA # distutils: language = c++ -# -*- coding: utf-8 -*- r""" A ``PowComputer`` for relative extensions diff --git a/src/sage/rings/padics/precision_error.py b/src/sage/rings/padics/precision_error.py index a536fa1a104..fa5d577936a 100644 --- a/src/sage/rings/padics/precision_error.py +++ b/src/sage/rings/padics/precision_error.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Precision Error diff --git a/src/sage/rings/padics/qadic_flint_CA.pxd b/src/sage/rings/padics/qadic_flint_CA.pxd index 56cd4dbc03d..95ea3145a31 100644 --- a/src/sage/rings/padics/qadic_flint_CA.pxd +++ b/src/sage/rings/padics/qadic_flint_CA.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint from cypari2.gen cimport Gen as pari_gen from sage.libs.flint.types cimport fmpz_poly_t from sage.rings.padics.pow_computer_flint cimport PowComputer_flint_unram diff --git a/src/sage/rings/padics/qadic_flint_CA.pyx b/src/sage/rings/padics/qadic_flint_CA.pyx index a2a65359edc..58e37de3141 100644 --- a/src/sage/rings/padics/qadic_flint_CA.pyx +++ b/src/sage/rings/padics/qadic_flint_CA.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint include "sage/libs/linkages/padics/fmpz_poly_unram.pxi" include "sage/libs/linkages/padics/unram_shared.pxi" include "CA_template.pxi" diff --git a/src/sage/rings/padics/qadic_flint_CR.pxd b/src/sage/rings/padics/qadic_flint_CR.pxd index 1f1765bc61c..b70f7bfe01e 100644 --- a/src/sage/rings/padics/qadic_flint_CR.pxd +++ b/src/sage/rings/padics/qadic_flint_CR.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint from cypari2.gen cimport Gen as pari_gen from sage.libs.flint.types cimport fmpz_poly_t from sage.rings.padics.pow_computer_flint cimport PowComputer_flint_unram diff --git a/src/sage/rings/padics/qadic_flint_CR.pyx b/src/sage/rings/padics/qadic_flint_CR.pyx index 8f7f268b60e..fc3f59d908e 100644 --- a/src/sage/rings/padics/qadic_flint_CR.pyx +++ b/src/sage/rings/padics/qadic_flint_CR.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint include "sage/libs/linkages/padics/fmpz_poly_unram.pxi" include "sage/libs/linkages/padics/unram_shared.pxi" include "CR_template.pxi" diff --git a/src/sage/rings/padics/qadic_flint_FM.pxd b/src/sage/rings/padics/qadic_flint_FM.pxd index 7c2facd3aaa..ded2ef8b970 100644 --- a/src/sage/rings/padics/qadic_flint_FM.pxd +++ b/src/sage/rings/padics/qadic_flint_FM.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint from cypari2.gen cimport Gen as pari_gen from sage.libs.flint.types cimport fmpz_poly_t from sage.rings.padics.qadic_flint_FP cimport FPElement diff --git a/src/sage/rings/padics/qadic_flint_FM.pyx b/src/sage/rings/padics/qadic_flint_FM.pyx index 0a5e0563101..526873888cf 100644 --- a/src/sage/rings/padics/qadic_flint_FM.pyx +++ b/src/sage/rings/padics/qadic_flint_FM.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint include "sage/libs/linkages/padics/fmpz_poly_unram.pxi" include "sage/libs/linkages/padics/unram_shared.pxi" include "FM_template.pxi" diff --git a/src/sage/rings/padics/qadic_flint_FP.pxd b/src/sage/rings/padics/qadic_flint_FP.pxd index 1a25be2fc08..5526168e40a 100644 --- a/src/sage/rings/padics/qadic_flint_FP.pxd +++ b/src/sage/rings/padics/qadic_flint_FP.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint from cypari2.gen cimport Gen as pari_gen from sage.libs.flint.fmpz_poly cimport fmpz_poly_t from sage.rings.padics.pow_computer_flint cimport PowComputer_flint_unram diff --git a/src/sage/rings/padics/qadic_flint_FP.pyx b/src/sage/rings/padics/qadic_flint_FP.pyx index 2d080dba429..4faf12cbc83 100644 --- a/src/sage/rings/padics/qadic_flint_FP.pyx +++ b/src/sage/rings/padics/qadic_flint_FP.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint # distutils: libraries = flint include "sage/libs/linkages/padics/fmpz_poly_unram.pxi" diff --git a/src/sage/rings/padics/relative_extension_leaves.py b/src/sage/rings/padics/relative_extension_leaves.py index 0310f2b21c3..c2ff4c399c2 100644 --- a/src/sage/rings/padics/relative_extension_leaves.py +++ b/src/sage/rings/padics/relative_extension_leaves.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari """ Relative extensions of `p`-adic rings diff --git a/src/sage/rings/padics/relative_ramified_CA.pxd b/src/sage/rings/padics/relative_ramified_CA.pxd index e87d051a24e..794f6305a7d 100644 --- a/src/sage/rings/padics/relative_ramified_CA.pxd +++ b/src/sage/rings/padics/relative_ramified_CA.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari from sage.rings.polynomial.polynomial_element cimport Polynomial_generic_dense_inexact as celement from sage.rings.padics.pow_computer_relative cimport PowComputer_relative_eis as PowComputer_ from sage.rings.padics.relative_ramified_CR cimport CRElement diff --git a/src/sage/rings/padics/relative_ramified_CA.pyx b/src/sage/rings/padics/relative_ramified_CA.pyx index 42337d04979..907110c5196 100644 --- a/src/sage/rings/padics/relative_ramified_CA.pyx +++ b/src/sage/rings/padics/relative_ramified_CA.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari # sage.doctest: needs sage.libs.flint include "sage/libs/linkages/padics/Polynomial_ram.pxi" include "CA_template.pxi" diff --git a/src/sage/rings/padics/relative_ramified_CR.pxd b/src/sage/rings/padics/relative_ramified_CR.pxd index e7c5cdc04ca..10607fa8a19 100644 --- a/src/sage/rings/padics/relative_ramified_CR.pxd +++ b/src/sage/rings/padics/relative_ramified_CR.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari from sage.rings.polynomial.polynomial_element cimport Polynomial_generic_dense_inexact as celement from sage.rings.padics.pow_computer_relative cimport PowComputer_relative_eis as PowComputer_ diff --git a/src/sage/rings/padics/relative_ramified_CR.pyx b/src/sage/rings/padics/relative_ramified_CR.pyx index 5263c190966..633464e9968 100644 --- a/src/sage/rings/padics/relative_ramified_CR.pyx +++ b/src/sage/rings/padics/relative_ramified_CR.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari # sage.doctest: needs sage.libs.ntl include "sage/libs/linkages/padics/Polynomial_ram.pxi" include "CR_template.pxi" diff --git a/src/sage/rings/padics/relative_ramified_FM.pxd b/src/sage/rings/padics/relative_ramified_FM.pxd index cf2e1238463..5e19bfde27a 100644 --- a/src/sage/rings/padics/relative_ramified_FM.pxd +++ b/src/sage/rings/padics/relative_ramified_FM.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari from sage.rings.polynomial.polynomial_element cimport Polynomial_generic_dense_inexact as celement from sage.rings.padics.pow_computer_relative cimport PowComputer_relative_eis as PowComputer_ from sage.rings.padics.relative_ramified_FP cimport FPElement diff --git a/src/sage/rings/padics/relative_ramified_FM.pyx b/src/sage/rings/padics/relative_ramified_FM.pyx index 27d18035ccb..93f734d084c 100644 --- a/src/sage/rings/padics/relative_ramified_FM.pyx +++ b/src/sage/rings/padics/relative_ramified_FM.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari # sage.doctest: needs sage.libs.flint include "sage/libs/linkages/padics/Polynomial_ram.pxi" include "FM_template.pxi" diff --git a/src/sage/rings/padics/relative_ramified_FP.pxd b/src/sage/rings/padics/relative_ramified_FP.pxd index d060fbe1a3a..7528f6802f5 100644 --- a/src/sage/rings/padics/relative_ramified_FP.pxd +++ b/src/sage/rings/padics/relative_ramified_FP.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari from sage.rings.polynomial.polynomial_element cimport Polynomial_generic_dense_inexact as celement from sage.rings.padics.pow_computer_relative cimport PowComputer_relative_eis as PowComputer_ diff --git a/src/sage/rings/padics/relative_ramified_FP.pyx b/src/sage/rings/padics/relative_ramified_FP.pyx index 3cbae5e55d3..38b4e61fe67 100644 --- a/src/sage/rings/padics/relative_ramified_FP.pyx +++ b/src/sage/rings/padics/relative_ramified_FP.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari # sage.doctest: needs sage.libs.flint include "sage/libs/linkages/padics/Polynomial_ram.pxi" include "FP_template.pxi" diff --git a/src/sage/rings/padics/relaxed_template.pxi b/src/sage/rings/padics/relaxed_template.pxi index 7068a1425a2..f7e2e376d22 100644 --- a/src/sage/rings/padics/relaxed_template.pxi +++ b/src/sage/rings/padics/relaxed_template.pxi @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari # sage.doctest: needs sage.libs.flint r""" Template for relaxed `p`-adic rings and fields. diff --git a/src/sage/rings/padics/relaxed_template_header.pxi b/src/sage/rings/padics/relaxed_template_header.pxi index 7a57141e922..740c508d7ad 100644 --- a/src/sage/rings/padics/relaxed_template_header.pxi +++ b/src/sage/rings/padics/relaxed_template_header.pxi @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari """ This file provides the declaration for the RelaxedElement class, which collects common functionality for the different relaxed p-adic diff --git a/src/sage/rings/padics/tests.py b/src/sage/rings/padics/tests.py index 1d0e3f3c5d6..55d786b8701 100644 --- a/src/sage/rings/padics/tests.py +++ b/src/sage/rings/padics/tests.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari """ TESTS:: diff --git a/src/sage/rings/padics/tutorial.py b/src/sage/rings/padics/tutorial.py index 45459711382..b4f502440a9 100644 --- a/src/sage/rings/padics/tutorial.py +++ b/src/sage/rings/padics/tutorial.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari r""" Introduction to the `p`-adics ========================================== diff --git a/src/sage/rings/padics/unramified_extension_generic.py b/src/sage/rings/padics/unramified_extension_generic.py index 3ca4d07b2b0..049253423d4 100644 --- a/src/sage/rings/padics/unramified_extension_generic.py +++ b/src/sage/rings/padics/unramified_extension_generic.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari """ Unramified Extension Generic diff --git a/src/sage/rings/pari_ring.py b/src/sage/rings/pari_ring.py index f34a45829a0..20856a69849 100644 --- a/src/sage/rings/pari_ring.py +++ b/src/sage/rings/pari_ring.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari """ Ring of pari objects diff --git a/src/sage/rings/polynomial/all.py b/src/sage/rings/polynomial/all.py index 853f422bdc7..78e29ac0bb9 100644 --- a/src/sage/rings/polynomial/all.py +++ b/src/sage/rings/polynomial/all.py @@ -18,18 +18,8 @@ from sage.misc.lazy_import import lazy_import -# Quotient of polynomial ring -from sage.rings.polynomial.polynomial_quotient_ring import PolynomialQuotientRing -from sage.rings.polynomial.polynomial_quotient_ring_element import PolynomialQuotientRingElement - -# Univariate Polynomial Rings -from sage.rings.polynomial.polynomial_ring_constructor import PolynomialRing -from sage.rings.polynomial.polynomial_ring import polygen, polygens -from sage.rings.polynomial.polynomial_element import Polynomial - -# Multivariate Polynomial Rings -from sage.rings.polynomial.term_order import TermOrder -from sage.rings.polynomial.multi_polynomial_element import degree_lowest_rational_function +from sage.rings.polynomial.all__sagemath_categories import * +from sage.rings.polynomial.all__sagemath_modules import * # Generic convolution from sage.rings.polynomial.convolution import convolution @@ -38,19 +28,9 @@ from sage.rings.polynomial.polynomial_ring_constructor import BooleanPolynomialRing_constructor as BooleanPolynomialRing # Laurent Polynomial Rings -from sage.rings.polynomial.laurent_polynomial_ring import LaurentPolynomialRing lazy_import('sage.rings.polynomial.omega', 'MacMahonOmega') -# Infinite Polynomial Rings -from sage.rings.polynomial.infinite_polynomial_ring import InfinitePolynomialRing - -# Ore Polynomial Rings -lazy_import('sage.rings.polynomial.ore_polynomial_ring', 'OrePolynomialRing') -SkewPolynomialRing = OrePolynomialRing - -# Evaluation of cyclotomic polynomials -from sage.rings.polynomial.cyclotomic import cyclotomic_value - # Integer-valued Univariate Polynomial Ring lazy_import('sage.rings.polynomial.integer_valued_polynomials', 'IntegerValuedPolynomialRing') +del lazy_import diff --git a/src/sage/rings/polynomial/all__sagemath_brial.py b/src/sage/rings/polynomial/all__sagemath_brial.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/rings/polynomial/all__sagemath_categories.py b/src/sage/rings/polynomial/all__sagemath_categories.py new file mode 100644 index 00000000000..2b79da92a4c --- /dev/null +++ b/src/sage/rings/polynomial/all__sagemath_categories.py @@ -0,0 +1,21 @@ +# Quotient of polynomial ring +from sage.rings.polynomial.polynomial_quotient_ring import PolynomialQuotientRing +from sage.rings.polynomial.polynomial_quotient_ring_element import PolynomialQuotientRingElement + +# Univariate Polynomial Rings +from sage.rings.polynomial.polynomial_ring_constructor import PolynomialRing +from sage.rings.polynomial.polynomial_ring import polygen, polygens +from sage.rings.polynomial.polynomial_element import Polynomial + +# Multivariate Polynomial Rings +from sage.rings.polynomial.term_order import TermOrder +from sage.rings.polynomial.multi_polynomial_element import degree_lowest_rational_function + +# Infinite Polynomial Rings +from sage.rings.polynomial.infinite_polynomial_ring import InfinitePolynomialRing + +# Laurent Polynomial Rings +from sage.rings.polynomial.laurent_polynomial_ring import LaurentPolynomialRing + +# Evaluation of cyclotomic polynomials +from sage.rings.polynomial.cyclotomic import cyclotomic_value diff --git a/src/sage/rings/polynomial/all__sagemath_flint.py b/src/sage/rings/polynomial/all__sagemath_flint.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/rings/polynomial/all__sagemath_linbox.py b/src/sage/rings/polynomial/all__sagemath_linbox.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/rings/polynomial/all__sagemath_modules.py b/src/sage/rings/polynomial/all__sagemath_modules.py new file mode 100644 index 00000000000..647d682eb84 --- /dev/null +++ b/src/sage/rings/polynomial/all__sagemath_modules.py @@ -0,0 +1,7 @@ + +from sage.misc.lazy_import import lazy_import + +# Ore Polynomial Rings +lazy_import('sage.rings.polynomial.ore_polynomial_ring', 'OrePolynomialRing') +SkewPolynomialRing = OrePolynomialRing +del lazy_import diff --git a/src/sage/rings/polynomial/all__sagemath_ntl.py b/src/sage/rings/polynomial/all__sagemath_ntl.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/rings/polynomial/all__sagemath_pari.py b/src/sage/rings/polynomial/all__sagemath_pari.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/rings/polynomial/all__sagemath_singular.py b/src/sage/rings/polynomial/all__sagemath_singular.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/rings/polynomial/all__sagemath_symbolics.py b/src/sage/rings/polynomial/all__sagemath_symbolics.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/rings/polynomial/binary_form_reduce.py b/src/sage/rings/polynomial/binary_form_reduce.py index bb6b4296d1a..79f39cdd78d 100644 --- a/src/sage/rings/polynomial/binary_form_reduce.py +++ b/src/sage/rings/polynomial/binary_form_reduce.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- r""" Helper functions for reduction of binary forms. diff --git a/src/sage/rings/polynomial/commutative_polynomial.pxd b/src/sage/rings/polynomial/commutative_polynomial.pxd index c4a8956daa5..ec6d99c1208 100644 --- a/src/sage/rings/polynomial/commutative_polynomial.pxd +++ b/src/sage/rings/polynomial/commutative_polynomial.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories from sage.structure.element cimport CommutativeAlgebraElement diff --git a/src/sage/rings/polynomial/commutative_polynomial.pyx b/src/sage/rings/polynomial/commutative_polynomial.pyx index dc9f2cab8b7..1fb3de6b803 100644 --- a/src/sage/rings/polynomial/commutative_polynomial.pyx +++ b/src/sage/rings/polynomial/commutative_polynomial.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories cdef class CommutativePolynomial(CommutativeAlgebraElement): r""" Abstract base class for commutative polynomials in any number of variables diff --git a/src/sage/rings/polynomial/complex_roots.py b/src/sage/rings/polynomial/complex_roots.py index 602ba9ffc27..351a49cdada 100644 --- a/src/sage/rings/polynomial/complex_roots.py +++ b/src/sage/rings/polynomial/complex_roots.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint """ Isolate Complex Roots of Polynomials diff --git a/src/sage/rings/polynomial/cyclotomic.pyx b/src/sage/rings/polynomial/cyclotomic.pyx index a7339d23604..04cf7ad635b 100644 --- a/src/sage/rings/polynomial/cyclotomic.pyx +++ b/src/sage/rings/polynomial/cyclotomic.pyx @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-categories r""" Fast calculation of cyclotomic polynomials diff --git a/src/sage/rings/polynomial/evaluation_flint.pxd b/src/sage/rings/polynomial/evaluation_flint.pxd index b699871ba0c..c8f9832b1d0 100644 --- a/src/sage/rings/polynomial/evaluation_flint.pxd +++ b/src/sage/rings/polynomial/evaluation_flint.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint from sage.libs.flint.types cimport fmpz_poly_t from sage.libs.mpfr.types cimport mpfr_t from sage.libs.mpfi.types cimport mpfi_t diff --git a/src/sage/rings/polynomial/evaluation_flint.pyx b/src/sage/rings/polynomial/evaluation_flint.pyx index 1c5909c37b0..7e5d2b6fb38 100644 --- a/src/sage/rings/polynomial/evaluation_flint.pyx +++ b/src/sage/rings/polynomial/evaluation_flint.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint # distutils: libraries = flint r""" Fast evaluation of polynomials (Horner's rule) diff --git a/src/sage/rings/polynomial/evaluation_ntl.pxd b/src/sage/rings/polynomial/evaluation_ntl.pxd index 9af0a0b9d40..f0e5e5d35c3 100644 --- a/src/sage/rings/polynomial/evaluation_ntl.pxd +++ b/src/sage/rings/polynomial/evaluation_ntl.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl from sage.libs.ntl.types cimport ZZX_c from sage.libs.mpfr.types cimport mpfr_t from sage.libs.mpfi.types cimport mpfi_t diff --git a/src/sage/rings/polynomial/evaluation_ntl.pyx b/src/sage/rings/polynomial/evaluation_ntl.pyx index 28b3917d3a1..e30a4dfd79b 100644 --- a/src/sage/rings/polynomial/evaluation_ntl.pyx +++ b/src/sage/rings/polynomial/evaluation_ntl.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl # distutils: libraries = NTL_LIBRARIES # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR diff --git a/src/sage/rings/polynomial/flatten.py b/src/sage/rings/polynomial/flatten.py index ca2a491b94d..9f4e3661dcf 100644 --- a/src/sage/rings/polynomial/flatten.py +++ b/src/sage/rings/polynomial/flatten.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-categories r""" Class to flatten polynomial rings over polynomial ring diff --git a/src/sage/rings/polynomial/hilbert.pyx b/src/sage/rings/polynomial/hilbert.pyx index 439d2ed893e..8acf82c1ca9 100644 --- a/src/sage/rings/polynomial/hilbert.pyx +++ b/src/sage/rings/polynomial/hilbert.pyx @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-flint r""" Compute Hilbert series of monomial ideals diff --git a/src/sage/rings/polynomial/ideal.py b/src/sage/rings/polynomial/ideal.py index 9719c81ba41..7637a067d9c 100644 --- a/src/sage/rings/polynomial/ideal.py +++ b/src/sage/rings/polynomial/ideal.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-categories """ Ideals in Univariate Polynomial Rings diff --git a/src/sage/rings/polynomial/infinite_polynomial_element.py b/src/sage/rings/polynomial/infinite_polynomial_element.py index b135404a020..67c6d819ad5 100644 --- a/src/sage/rings/polynomial/infinite_polynomial_element.py +++ b/src/sage/rings/polynomial/infinite_polynomial_element.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Elements of Infinite Polynomial Rings diff --git a/src/sage/rings/polynomial/infinite_polynomial_ring.py b/src/sage/rings/polynomial/infinite_polynomial_ring.py index dbb71289f89..02e2949b1f9 100644 --- a/src/sage/rings/polynomial/infinite_polynomial_ring.py +++ b/src/sage/rings/polynomial/infinite_polynomial_ring.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Infinite Polynomial Rings diff --git a/src/sage/rings/polynomial/laurent_polynomial.pxd b/src/sage/rings/polynomial/laurent_polynomial.pxd index 8e9107aeb47..7ebefd0ba0e 100644 --- a/src/sage/rings/polynomial/laurent_polynomial.pxd +++ b/src/sage/rings/polynomial/laurent_polynomial.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories from sage.structure.element cimport CommutativeAlgebraElement, ModuleElement, RingElement, Element diff --git a/src/sage/rings/polynomial/laurent_polynomial.pyx b/src/sage/rings/polynomial/laurent_polynomial.pyx index a830ef7f510..831916cc804 100644 --- a/src/sage/rings/polynomial/laurent_polynomial.pyx +++ b/src/sage/rings/polynomial/laurent_polynomial.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Elements of Laurent polynomial rings """ diff --git a/src/sage/rings/polynomial/laurent_polynomial_ideal.py b/src/sage/rings/polynomial/laurent_polynomial_ideal.py index d569dc06101..5ebd560c0c0 100644 --- a/src/sage/rings/polynomial/laurent_polynomial_ideal.py +++ b/src/sage/rings/polynomial/laurent_polynomial_ideal.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.libs.singular sage.modules (because all doctests need laurent_polynomial_mpair, Groebner bases) r""" Ideals in Laurent polynomial rings. diff --git a/src/sage/rings/polynomial/laurent_polynomial_mpair.pxd b/src/sage/rings/polynomial/laurent_polynomial_mpair.pxd index 79f09def6aa..a93da987a1c 100644 --- a/src/sage/rings/polynomial/laurent_polynomial_mpair.pxd +++ b/src/sage/rings/polynomial/laurent_polynomial_mpair.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.rings.polynomial.laurent_polynomial cimport LaurentPolynomial from sage.rings.polynomial.multi_polynomial cimport MPolynomial from sage.rings.polynomial.polydict cimport ETuple, PolyDict diff --git a/src/sage/rings/polynomial/laurent_polynomial_mpair.pyx b/src/sage/rings/polynomial/laurent_polynomial_mpair.pyx index c03239cebde..0122ba41ea2 100644 --- a/src/sage/rings/polynomial/laurent_polynomial_mpair.pyx +++ b/src/sage/rings/polynomial/laurent_polynomial_mpair.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Elements of multivariate Laurent polynomial rings """ diff --git a/src/sage/rings/polynomial/laurent_polynomial_ring.py b/src/sage/rings/polynomial/laurent_polynomial_ring.py index 6d24de9f96f..b93926101a6 100644 --- a/src/sage/rings/polynomial/laurent_polynomial_ring.py +++ b/src/sage/rings/polynomial/laurent_polynomial_ring.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Ring of Laurent Polynomials diff --git a/src/sage/rings/polynomial/laurent_polynomial_ring_base.py b/src/sage/rings/polynomial/laurent_polynomial_ring_base.py index 21cc29329e6..47ed7486875 100644 --- a/src/sage/rings/polynomial/laurent_polynomial_ring_base.py +++ b/src/sage/rings/polynomial/laurent_polynomial_ring_base.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.modules r""" Ring of Laurent Polynomials (base class) diff --git a/src/sage/rings/polynomial/msolve.py b/src/sage/rings/polynomial/msolve.py index 47775f9bd8c..d15d498c040 100644 --- a/src/sage/rings/polynomial/msolve.py +++ b/src/sage/rings/polynomial/msolve.py @@ -1,4 +1,3 @@ -# coding: utf-8 r""" Solution of polynomial systems using msolve diff --git a/src/sage/rings/polynomial/multi_polynomial.pxd b/src/sage/rings/polynomial/multi_polynomial.pxd index 9c96ce7a505..e6792991411 100644 --- a/src/sage/rings/polynomial/multi_polynomial.pxd +++ b/src/sage/rings/polynomial/multi_polynomial.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories from sage.rings.polynomial.commutative_polynomial cimport CommutativePolynomial diff --git a/src/sage/rings/polynomial/multi_polynomial.pyx b/src/sage/rings/polynomial/multi_polynomial.pyx index 37247f36571..2227d050886 100644 --- a/src/sage/rings/polynomial/multi_polynomial.pyx +++ b/src/sage/rings/polynomial/multi_polynomial.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Base class for elements of multivariate polynomial rings """ diff --git a/src/sage/rings/polynomial/multi_polynomial_element.py b/src/sage/rings/polynomial/multi_polynomial_element.py index d2355aa257b..a2320652bbd 100644 --- a/src/sage/rings/polynomial/multi_polynomial_element.py +++ b/src/sage/rings/polynomial/multi_polynomial_element.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Generic Multivariate Polynomials diff --git a/src/sage/rings/polynomial/multi_polynomial_ideal.py b/src/sage/rings/polynomial/multi_polynomial_ideal.py index f80f7b141a7..817f62b0f95 100644 --- a/src/sage/rings/polynomial/multi_polynomial_ideal.py +++ b/src/sage/rings/polynomial/multi_polynomial_ideal.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.libs.singular r""" Ideals in multivariate polynomial rings diff --git a/src/sage/rings/polynomial/multi_polynomial_ideal_libsingular.pxd b/src/sage/rings/polynomial/multi_polynomial_ideal_libsingular.pxd index 58f853973dc..8eb858d329f 100644 --- a/src/sage/rings/polynomial/multi_polynomial_ideal_libsingular.pxd +++ b/src/sage/rings/polynomial/multi_polynomial_ideal_libsingular.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-singular from sage.libs.singular.decl cimport ideal, ring cdef object singular_ideal_to_sage_sequence(ideal *i, ring *r, object parent) diff --git a/src/sage/rings/polynomial/multi_polynomial_ideal_libsingular.pyx b/src/sage/rings/polynomial/multi_polynomial_ideal_libsingular.pyx index 14820418454..af6c00bd02e 100644 --- a/src/sage/rings/polynomial/multi_polynomial_ideal_libsingular.pyx +++ b/src/sage/rings/polynomial/multi_polynomial_ideal_libsingular.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-singular """ Direct low-level access to SINGULAR's Groebner basis engine via libSINGULAR diff --git a/src/sage/rings/polynomial/multi_polynomial_libsingular.pxd b/src/sage/rings/polynomial/multi_polynomial_libsingular.pxd index 5cc546112c9..c71bc792d00 100644 --- a/src/sage/rings/polynomial/multi_polynomial_libsingular.pxd +++ b/src/sage/rings/polynomial/multi_polynomial_libsingular.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-singular from sage.libs.singular.decl cimport poly, ring from sage.rings.polynomial.multi_polynomial cimport MPolynomial_libsingular as MPolynomial_libsingular_base diff --git a/src/sage/rings/polynomial/multi_polynomial_libsingular.pyx b/src/sage/rings/polynomial/multi_polynomial_libsingular.pyx index 40fbc8c69aa..c314072f338 100644 --- a/src/sage/rings/polynomial/multi_polynomial_libsingular.pyx +++ b/src/sage/rings/polynomial/multi_polynomial_libsingular.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-singular r""" Multivariate Polynomials via libSINGULAR diff --git a/src/sage/rings/polynomial/multi_polynomial_ring.py b/src/sage/rings/polynomial/multi_polynomial_ring.py index daed8502cdf..0b2761293ca 100644 --- a/src/sage/rings/polynomial/multi_polynomial_ring.py +++ b/src/sage/rings/polynomial/multi_polynomial_ring.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Multivariate Polynomial Rings over Generic Rings diff --git a/src/sage/rings/polynomial/multi_polynomial_ring_base.pxd b/src/sage/rings/polynomial/multi_polynomial_ring_base.pxd index 4ce9033dadb..5e83879afab 100644 --- a/src/sage/rings/polynomial/multi_polynomial_ring_base.pxd +++ b/src/sage/rings/polynomial/multi_polynomial_ring_base.pxd @@ -1,3 +1,5 @@ +# sage_setup: distribution = sagemath-categories + from sage.rings.ring cimport CommutativeRing, Ring from sage.structure.parent cimport Parent diff --git a/src/sage/rings/polynomial/multi_polynomial_ring_base.pyx b/src/sage/rings/polynomial/multi_polynomial_ring_base.pyx index 4ad2a3f1fa9..2d52adf36e7 100644 --- a/src/sage/rings/polynomial/multi_polynomial_ring_base.pyx +++ b/src/sage/rings/polynomial/multi_polynomial_ring_base.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Base class for multivariate polynomial rings """ diff --git a/src/sage/rings/polynomial/multi_polynomial_sequence.py b/src/sage/rings/polynomial/multi_polynomial_sequence.py index e9476061b57..214743af282 100644 --- a/src/sage/rings/polynomial/multi_polynomial_sequence.py +++ b/src/sage/rings/polynomial/multi_polynomial_sequence.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Polynomial Sequences diff --git a/src/sage/rings/polynomial/ore_function_element.py b/src/sage/rings/polynomial/ore_function_element.py index f44dd8ad880..2f74a939c6b 100644 --- a/src/sage/rings/polynomial/ore_function_element.py +++ b/src/sage/rings/polynomial/ore_function_element.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Fraction field elements of Ore polynomial rings diff --git a/src/sage/rings/polynomial/ore_function_field.py b/src/sage/rings/polynomial/ore_function_field.py index 8bb86d0dba8..aea971b1689 100644 --- a/src/sage/rings/polynomial/ore_function_field.py +++ b/src/sage/rings/polynomial/ore_function_field.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Fraction fields of Ore polynomial rings diff --git a/src/sage/rings/polynomial/ore_polynomial_element.pxd b/src/sage/rings/polynomial/ore_polynomial_element.pxd index f38bcb0f0c5..f706b47fd7a 100644 --- a/src/sage/rings/polynomial/ore_polynomial_element.pxd +++ b/src/sage/rings/polynomial/ore_polynomial_element.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.structure.element cimport AlgebraElement from sage.structure.parent cimport Parent from sage.rings.integer cimport Integer diff --git a/src/sage/rings/polynomial/ore_polynomial_element.pyx b/src/sage/rings/polynomial/ore_polynomial_element.pyx index 47b5b7e6ad7..7cf35766986 100644 --- a/src/sage/rings/polynomial/ore_polynomial_element.pyx +++ b/src/sage/rings/polynomial/ore_polynomial_element.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.combinat r""" Univariate Ore polynomials diff --git a/src/sage/rings/polynomial/ore_polynomial_ring.py b/src/sage/rings/polynomial/ore_polynomial_ring.py index c8af00da1ad..c3452e5b7f3 100644 --- a/src/sage/rings/polynomial/ore_polynomial_ring.py +++ b/src/sage/rings/polynomial/ore_polynomial_ring.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.combinat r""" Univariate Ore polynomial rings diff --git a/src/sage/rings/polynomial/padics/all.py b/src/sage/rings/polynomial/padics/all.py index e69de29bb2d..01c9cb07cd5 100644 --- a/src/sage/rings/polynomial/padics/all.py +++ b/src/sage/rings/polynomial/padics/all.py @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-pari diff --git a/src/sage/rings/polynomial/padics/polynomial_padic.py b/src/sage/rings/polynomial/padics/polynomial_padic.py index 2e9e1f36da1..0ed7179909f 100644 --- a/src/sage/rings/polynomial/padics/polynomial_padic.py +++ b/src/sage/rings/polynomial/padics/polynomial_padic.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari """ Base class for generic `p`-adic polynomials diff --git a/src/sage/rings/polynomial/padics/polynomial_padic_capped_relative_dense.py b/src/sage/rings/polynomial/padics/polynomial_padic_capped_relative_dense.py index ebae8acfcff..8bfb7270eeb 100644 --- a/src/sage/rings/polynomial/padics/polynomial_padic_capped_relative_dense.py +++ b/src/sage/rings/polynomial/padics/polynomial_padic_capped_relative_dense.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari # sage.doctest: needs sage.libs.ntl """ p-adic Capped Relative Dense Polynomials diff --git a/src/sage/rings/polynomial/padics/polynomial_padic_flat.py b/src/sage/rings/polynomial/padics/polynomial_padic_flat.py index 6d25e6a0a5f..a4fced39029 100644 --- a/src/sage/rings/polynomial/padics/polynomial_padic_flat.py +++ b/src/sage/rings/polynomial/padics/polynomial_padic_flat.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari """ p-adic Flat Polynomials """ diff --git a/src/sage/rings/polynomial/pbori/PyPolyBoRi.py b/src/sage/rings/polynomial/pbori/PyPolyBoRi.py index 18ca366fb85..a33da76b252 100644 --- a/src/sage/rings/polynomial/pbori/PyPolyBoRi.py +++ b/src/sage/rings/polynomial/pbori/PyPolyBoRi.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-brial r""" PolyBoRi's interface to libpolybori/BRiAL diff --git a/src/sage/rings/polynomial/pbori/__init__.py b/src/sage/rings/polynomial/pbori/__init__.py index 325ed646516..257a9b7d6a7 100644 --- a/src/sage/rings/polynomial/pbori/__init__.py +++ b/src/sage/rings/polynomial/pbori/__init__.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-brial """The PolyBoRi package implements a framework for computations with Polynomials in Boolean Ring. The core of PolyBoRi is a C++ library, which provides high-level data types for Boolean polynomials and monomials, diff --git a/src/sage/rings/polynomial/pbori/blocks.py b/src/sage/rings/polynomial/pbori/blocks.py index ba6b9c7b493..fac47ac31e6 100644 --- a/src/sage/rings/polynomial/pbori/blocks.py +++ b/src/sage/rings/polynomial/pbori/blocks.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-brial import sys from itertools import chain, islice diff --git a/src/sage/rings/polynomial/pbori/cnf.py b/src/sage/rings/polynomial/pbori/cnf.py index 266a6f0f8a8..f09c33e7f78 100644 --- a/src/sage/rings/polynomial/pbori/cnf.py +++ b/src/sage/rings/polynomial/pbori/cnf.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-brial from random import Random from sage.rings.polynomial.pbori.pbori import if_then_else as ite from .PyPolyBoRi import Polynomial diff --git a/src/sage/rings/polynomial/pbori/easy_polynomials.py b/src/sage/rings/polynomial/pbori/easy_polynomials.py index 8451e7536ee..0b24da41ded 100644 --- a/src/sage/rings/polynomial/pbori/easy_polynomials.py +++ b/src/sage/rings/polynomial/pbori/easy_polynomials.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-brial from .interpolate import variety_lex_leading_terms, nf_lex_points from .pbori import easy_linear_factors diff --git a/src/sage/rings/polynomial/pbori/fglm.py b/src/sage/rings/polynomial/pbori/fglm.py index 60559b31b85..f9e0d3a4fe4 100644 --- a/src/sage/rings/polynomial/pbori/fglm.py +++ b/src/sage/rings/polynomial/pbori/fglm.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-brial from .pbori import BooleSet, FGLMStrategy from .PyPolyBoRi import BoolePolynomialVector, Polynomial diff --git a/src/sage/rings/polynomial/pbori/frontend.py b/src/sage/rings/polynomial/pbori/frontend.py index b0072cd5abf..94f03a44490 100644 --- a/src/sage/rings/polynomial/pbori/frontend.py +++ b/src/sage/rings/polynomial/pbori/frontend.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-brial # Import basic functionality r""" This module defines an initial ring, and patches the declare_ring to use diff --git a/src/sage/rings/polynomial/pbori/gbcore.py b/src/sage/rings/polynomial/pbori/gbcore.py index 3eb6a73ff25..c33556d132b 100644 --- a/src/sage/rings/polynomial/pbori/gbcore.py +++ b/src/sage/rings/polynomial/pbori/gbcore.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-brial from copy import copy from itertools import chain from inspect import getfullargspec as getargspec diff --git a/src/sage/rings/polynomial/pbori/gbrefs.py b/src/sage/rings/polynomial/pbori/gbrefs.py index 70dc795cbab..2f617e3192a 100644 --- a/src/sage/rings/polynomial/pbori/gbrefs.py +++ b/src/sage/rings/polynomial/pbori/gbrefs.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-brial import gzip from io import StringIO import base64 as uu diff --git a/src/sage/rings/polynomial/pbori/heuristics.py b/src/sage/rings/polynomial/pbori/heuristics.py index 5dcfca16f87..053694a7ba2 100644 --- a/src/sage/rings/polynomial/pbori/heuristics.py +++ b/src/sage/rings/polynomial/pbori/heuristics.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-brial from .PyPolyBoRi import Polynomial, gauss_on_polys diff --git a/src/sage/rings/polynomial/pbori/interpolate.py b/src/sage/rings/polynomial/pbori/interpolate.py index 68f25d57bb2..a804ccc8ae7 100644 --- a/src/sage/rings/polynomial/pbori/interpolate.py +++ b/src/sage/rings/polynomial/pbori/interpolate.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-brial # Copyright (c) 2005-2007 by The PolyBoRi Team from time import process_time as clock from random import Random diff --git a/src/sage/rings/polynomial/pbori/interred.py b/src/sage/rings/polynomial/pbori/interred.py index fe59be30896..8d7c3608284 100644 --- a/src/sage/rings/polynomial/pbori/interred.py +++ b/src/sage/rings/polynomial/pbori/interred.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-brial from .pbori import ReductionStrategy from .PyPolyBoRi import Polynomial diff --git a/src/sage/rings/polynomial/pbori/ll.py b/src/sage/rings/polynomial/pbori/ll.py index 71a01bd3b50..581e61f24d6 100644 --- a/src/sage/rings/polynomial/pbori/ll.py +++ b/src/sage/rings/polynomial/pbori/ll.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-brial from .pbori import (top_index, if_then_else, substitute_variables, BooleSet, ll_red_nf_redsb, ll_red_nf_noredsb, diff --git a/src/sage/rings/polynomial/pbori/nf.py b/src/sage/rings/polynomial/pbori/nf.py index ac6e447c525..d35208f814f 100644 --- a/src/sage/rings/polynomial/pbori/nf.py +++ b/src/sage/rings/polynomial/pbori/nf.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-brial from sage.rings.polynomial.pbori.pbori import mod_mon_set from .pbori import (BooleSet, GroebnerStrategy, ReductionStrategy, parallel_reduce, easy_linear_factors) diff --git a/src/sage/rings/polynomial/pbori/parallel.py b/src/sage/rings/polynomial/pbori/parallel.py index be10865dd50..8bd7ca89e8e 100644 --- a/src/sage/rings/polynomial/pbori/parallel.py +++ b/src/sage/rings/polynomial/pbori/parallel.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-brial # coding=utf-8 r""" parallel.py diff --git a/src/sage/rings/polynomial/pbori/pbori.pxd b/src/sage/rings/polynomial/pbori/pbori.pxd index ae4ac1353d2..1cb2e136f8b 100644 --- a/src/sage/rings/polynomial/pbori/pbori.pxd +++ b/src/sage/rings/polynomial/pbori/pbori.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-brial from libcpp.memory cimport unique_ptr, shared_ptr, make_shared from sage.rings.polynomial.multi_polynomial_ring_base cimport MPolynomialRing_base, BooleanPolynomialRing_base diff --git a/src/sage/rings/polynomial/pbori/pbori.pyx b/src/sage/rings/polynomial/pbori/pbori.pyx index 702847ba332..426506e500f 100644 --- a/src/sage/rings/polynomial/pbori/pbori.pyx +++ b/src/sage/rings/polynomial/pbori/pbori.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-brial # distutils: libraries = brial brial_groebner M4RI_LIBRARIES LIBPNG_LIBRARIES # distutils: library_dirs = M4RI_LIBDIR LIBPNG_LIBDIR # distutils: include_dirs = M4RI_INCDIR LIBPNG_INCDIR diff --git a/src/sage/rings/polynomial/pbori/randompoly.py b/src/sage/rings/polynomial/pbori/randompoly.py index 1e0dcd56189..bc9729c4749 100644 --- a/src/sage/rings/polynomial/pbori/randompoly.py +++ b/src/sage/rings/polynomial/pbori/randompoly.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-brial from random import Random from pprint import pformat diff --git a/src/sage/rings/polynomial/pbori/rank.py b/src/sage/rings/polynomial/pbori/rank.py index bf16e6220ce..ec7160cb73c 100644 --- a/src/sage/rings/polynomial/pbori/rank.py +++ b/src/sage/rings/polynomial/pbori/rank.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-brial def input_signals(p): return list((p + p.lex_lead()).vars_as_monomial().variables()) diff --git a/src/sage/rings/polynomial/pbori/specialsets.py b/src/sage/rings/polynomial/pbori/specialsets.py index 74f56c2faf5..5fbe7ae560f 100644 --- a/src/sage/rings/polynomial/pbori/specialsets.py +++ b/src/sage/rings/polynomial/pbori/specialsets.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-brial from .pbori import (top_index, if_then_else, mod_mon_set, BooleSet, BooleConstant) from .PyPolyBoRi import (Polynomial, Monomial, Variable) diff --git a/src/sage/rings/polynomial/pbori/statistics.py b/src/sage/rings/polynomial/pbori/statistics.py index 93cced307a7..ad6563c6a99 100644 --- a/src/sage/rings/polynomial/pbori/statistics.py +++ b/src/sage/rings/polynomial/pbori/statistics.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-brial from .pbori import top_index, BooleConstant from .PyPolyBoRi import Monomial, Polynomial diff --git a/src/sage/rings/polynomial/plural.pxd b/src/sage/rings/polynomial/plural.pxd index 90b79947592..0c1eaa5ec53 100644 --- a/src/sage/rings/polynomial/plural.pxd +++ b/src/sage/rings/polynomial/plural.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-singular from sage.libs.singular.decl cimport * from sage.rings.ring cimport Ring from sage.structure.element cimport RingElement, Element diff --git a/src/sage/rings/polynomial/plural.pyx b/src/sage/rings/polynomial/plural.pyx index 23dd2a11179..78e076c41cd 100644 --- a/src/sage/rings/polynomial/plural.pyx +++ b/src/sage/rings/polynomial/plural.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-singular r""" Noncommutative polynomials via libSINGULAR/Plural diff --git a/src/sage/rings/polynomial/polydict.pxd b/src/sage/rings/polynomial/polydict.pxd index 69ddc888378..12c8f77843a 100644 --- a/src/sage/rings/polynomial/polydict.pxd +++ b/src/sage/rings/polynomial/polydict.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories cdef class PolyDict: cdef dict __repn diff --git a/src/sage/rings/polynomial/polydict.pyx b/src/sage/rings/polynomial/polydict.pyx index e579052df95..c66babde7cf 100644 --- a/src/sage/rings/polynomial/polydict.pyx +++ b/src/sage/rings/polynomial/polydict.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Generic data structures for multivariate polynomials diff --git a/src/sage/rings/polynomial/polynomial_compiled.pxd b/src/sage/rings/polynomial/polynomial_compiled.pxd index e1b11ec1a41..b0fee780414 100644 --- a/src/sage/rings/polynomial/polynomial_compiled.pxd +++ b/src/sage/rings/polynomial/polynomial_compiled.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories from sage.misc.binary_tree import BinaryTree from sage.misc.binary_tree cimport BinaryTree diff --git a/src/sage/rings/polynomial/polynomial_compiled.pyx b/src/sage/rings/polynomial/polynomial_compiled.pyx index 1a140067ad3..fd54f9117bb 100644 --- a/src/sage/rings/polynomial/polynomial_compiled.pyx +++ b/src/sage/rings/polynomial/polynomial_compiled.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Polynomial Compilers diff --git a/src/sage/rings/polynomial/polynomial_complex_arb.pxd b/src/sage/rings/polynomial/polynomial_complex_arb.pxd index bda5cc66008..4c198a4b945 100644 --- a/src/sage/rings/polynomial/polynomial_complex_arb.pxd +++ b/src/sage/rings/polynomial/polynomial_complex_arb.pxd @@ -1,3 +1,5 @@ +# sage_setup: distribution = sagemath-flint + from sage.libs.flint.acb_poly cimport * from sage.rings.polynomial.polynomial_element cimport Polynomial diff --git a/src/sage/rings/polynomial/polynomial_complex_arb.pyx b/src/sage/rings/polynomial/polynomial_complex_arb.pyx index da1ade2edcb..305bae3595f 100644 --- a/src/sage/rings/polynomial/polynomial_complex_arb.pyx +++ b/src/sage/rings/polynomial/polynomial_complex_arb.pyx @@ -1,4 +1,4 @@ -# -*- coding: utf-8 +# sage_setup: distribution = sagemath-flint r""" Univariate polynomials over `\CC` with Arb ball coefficients. diff --git a/src/sage/rings/polynomial/polynomial_element.pxd b/src/sage/rings/polynomial/polynomial_element.pxd index a8f2cf3057b..f5b9363cc4c 100644 --- a/src/sage/rings/polynomial/polynomial_element.pxd +++ b/src/sage/rings/polynomial/polynomial_element.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories from sage.structure.element import Element from sage.structure.element cimport Element, CommutativeAlgebraElement, ModuleElement from sage.structure.parent cimport Parent diff --git a/src/sage/rings/polynomial/polynomial_element.pyx b/src/sage/rings/polynomial/polynomial_element.pyx index e9b09e8f2b7..0c49f638fcf 100644 --- a/src/sage/rings/polynomial/polynomial_element.pyx +++ b/src/sage/rings/polynomial/polynomial_element.pyx @@ -1,4 +1,4 @@ -# coding: utf-8 +# sage_setup: distribution = sagemath-categories """ Univariate polynomial base class diff --git a/src/sage/rings/polynomial/polynomial_element_generic.py b/src/sage/rings/polynomial/polynomial_element_generic.py index 370d8f22fc6..ad49cf7aa7c 100644 --- a/src/sage/rings/polynomial/polynomial_element_generic.py +++ b/src/sage/rings/polynomial/polynomial_element_generic.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Univariate Polynomials over domains and fields diff --git a/src/sage/rings/polynomial/polynomial_fateman.py b/src/sage/rings/polynomial/polynomial_fateman.py index 8ccf13eba09..4270fb68c16 100644 --- a/src/sage/rings/polynomial/polynomial_fateman.py +++ b/src/sage/rings/polynomial/polynomial_fateman.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories "Polynomial multiplication by Kronecker substitution" ################################################################################ # Copyright (C) 2007 William Stein diff --git a/src/sage/rings/polynomial/polynomial_gf2x.pxd b/src/sage/rings/polynomial/polynomial_gf2x.pxd index 293715c0379..74ae9d5c08f 100644 --- a/src/sage/rings/polynomial/polynomial_gf2x.pxd +++ b/src/sage/rings/polynomial/polynomial_gf2x.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-linbox from sage.libs.ntl.GF2X cimport GF2X_c ctypedef GF2X_c celement diff --git a/src/sage/rings/polynomial/polynomial_gf2x.pyx b/src/sage/rings/polynomial/polynomial_gf2x.pyx index c3bafe951ca..074a1d699e8 100644 --- a/src/sage/rings/polynomial/polynomial_gf2x.pyx +++ b/src/sage/rings/polynomial/polynomial_gf2x.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-linbox # distutils: libraries = gmp NTL_LIBRARIES # distutils: library_dirs = NTL_LIBDIR # distutils: extra_link_args = NTL_LIBEXTRA diff --git a/src/sage/rings/polynomial/polynomial_integer_dense_flint.pxd b/src/sage/rings/polynomial/polynomial_integer_dense_flint.pxd index b1b593d6a26..21feeec6c95 100644 --- a/src/sage/rings/polynomial/polynomial_integer_dense_flint.pxd +++ b/src/sage/rings/polynomial/polynomial_integer_dense_flint.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint from sage.libs.flint.types cimport fmpz_poly_t from sage.rings.polynomial.polynomial_element cimport Polynomial diff --git a/src/sage/rings/polynomial/polynomial_integer_dense_flint.pyx b/src/sage/rings/polynomial/polynomial_integer_dense_flint.pyx index 3f38f23ffdc..39552eb8939 100644 --- a/src/sage/rings/polynomial/polynomial_integer_dense_flint.pyx +++ b/src/sage/rings/polynomial/polynomial_integer_dense_flint.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint # distutils: libraries = NTL_LIBRARIES gmp # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR diff --git a/src/sage/rings/polynomial/polynomial_integer_dense_ntl.pxd b/src/sage/rings/polynomial/polynomial_integer_dense_ntl.pxd index fcd907e1abe..7df59e9bc75 100644 --- a/src/sage/rings/polynomial/polynomial_integer_dense_ntl.pxd +++ b/src/sage/rings/polynomial/polynomial_integer_dense_ntl.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl from sage.libs.ntl.types cimport ZZX_c from sage.rings.polynomial.polynomial_element cimport Polynomial diff --git a/src/sage/rings/polynomial/polynomial_integer_dense_ntl.pyx b/src/sage/rings/polynomial/polynomial_integer_dense_ntl.pyx index 6a0747d40e9..02591322bdc 100644 --- a/src/sage/rings/polynomial/polynomial_integer_dense_ntl.pyx +++ b/src/sage/rings/polynomial/polynomial_integer_dense_ntl.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl # distutils: libraries = NTL_LIBRARIES gmp # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR diff --git a/src/sage/rings/polynomial/polynomial_modn_dense_ntl.pxd b/src/sage/rings/polynomial/polynomial_modn_dense_ntl.pxd index 6934acfee8d..96409fb31d5 100644 --- a/src/sage/rings/polynomial/polynomial_modn_dense_ntl.pxd +++ b/src/sage/rings/polynomial/polynomial_modn_dense_ntl.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl from sage.structure.element cimport Element, ModuleElement, RingElement from sage.rings.polynomial.polynomial_element cimport Polynomial diff --git a/src/sage/rings/polynomial/polynomial_modn_dense_ntl.pyx b/src/sage/rings/polynomial/polynomial_modn_dense_ntl.pyx index 31dc850e982..454d70e3406 100644 --- a/src/sage/rings/polynomial/polynomial_modn_dense_ntl.pyx +++ b/src/sage/rings/polynomial/polynomial_modn_dense_ntl.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl # distutils: libraries = NTL_LIBRARIES gmp # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR diff --git a/src/sage/rings/polynomial/polynomial_number_field.pyx b/src/sage/rings/polynomial/polynomial_number_field.pyx index 5bd458e5d12..835e899c76e 100644 --- a/src/sage/rings/polynomial/polynomial_number_field.pyx +++ b/src/sage/rings/polynomial/polynomial_number_field.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint r""" Univariate polynomials over number fields diff --git a/src/sage/rings/polynomial/polynomial_quotient_ring.py b/src/sage/rings/polynomial/polynomial_quotient_ring.py index 9560ffc6ddc..a8d17323190 100644 --- a/src/sage/rings/polynomial/polynomial_quotient_ring.py +++ b/src/sage/rings/polynomial/polynomial_quotient_ring.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.libs.pari """ Quotients of Univariate Polynomial Rings diff --git a/src/sage/rings/polynomial/polynomial_quotient_ring_element.py b/src/sage/rings/polynomial/polynomial_quotient_ring_element.py index b1414f7e715..ecc619159ee 100644 --- a/src/sage/rings/polynomial/polynomial_quotient_ring_element.py +++ b/src/sage/rings/polynomial/polynomial_quotient_ring_element.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.libs.pari r""" Elements of Quotients of Univariate Polynomial Rings diff --git a/src/sage/rings/polynomial/polynomial_rational_flint.pxd b/src/sage/rings/polynomial/polynomial_rational_flint.pxd index f4644f19d04..b5983a1b8e1 100644 --- a/src/sage/rings/polynomial/polynomial_rational_flint.pxd +++ b/src/sage/rings/polynomial/polynomial_rational_flint.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint ############################################################################### # Copyright (C) 2010 Sebastian Pancratz # # # diff --git a/src/sage/rings/polynomial/polynomial_rational_flint.pyx b/src/sage/rings/polynomial/polynomial_rational_flint.pyx index c67ddf1a4c5..1f813eba8b6 100644 --- a/src/sage/rings/polynomial/polynomial_rational_flint.pyx +++ b/src/sage/rings/polynomial/polynomial_rational_flint.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint # distutils: libraries = NTL_LIBRARIES gmp # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR diff --git a/src/sage/rings/polynomial/polynomial_real_mpfr_dense.pyx b/src/sage/rings/polynomial/polynomial_real_mpfr_dense.pyx index 9aae84a3143..57ab881c523 100644 --- a/src/sage/rings/polynomial/polynomial_real_mpfr_dense.pyx +++ b/src/sage/rings/polynomial/polynomial_real_mpfr_dense.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Dense univariate polynomials over `\RR`, implemented using MPFR diff --git a/src/sage/rings/polynomial/polynomial_ring.py b/src/sage/rings/polynomial/polynomial_ring.py index d2dab0db512..ac97b65130c 100644 --- a/src/sage/rings/polynomial/polynomial_ring.py +++ b/src/sage/rings/polynomial/polynomial_ring.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-categories """ Univariate Polynomial Rings diff --git a/src/sage/rings/polynomial/polynomial_ring_constructor.py b/src/sage/rings/polynomial/polynomial_ring_constructor.py index 2a1fb99131f..3e1b6eaad2d 100644 --- a/src/sage/rings/polynomial/polynomial_ring_constructor.py +++ b/src/sage/rings/polynomial/polynomial_ring_constructor.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Constructors for polynomial rings diff --git a/src/sage/rings/polynomial/polynomial_ring_homomorphism.pxd b/src/sage/rings/polynomial/polynomial_ring_homomorphism.pxd index eccb83b1ec2..5d6b14623c3 100644 --- a/src/sage/rings/polynomial/polynomial_ring_homomorphism.pxd +++ b/src/sage/rings/polynomial/polynomial_ring_homomorphism.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories from sage.rings.morphism cimport RingHomomorphism_from_base cdef class PolynomialRingHomomorphism_from_base(RingHomomorphism_from_base): diff --git a/src/sage/rings/polynomial/polynomial_ring_homomorphism.pyx b/src/sage/rings/polynomial/polynomial_ring_homomorphism.pyx index 7e3e27dd520..a4476e0eec6 100644 --- a/src/sage/rings/polynomial/polynomial_ring_homomorphism.pyx +++ b/src/sage/rings/polynomial/polynomial_ring_homomorphism.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Ring homomorphisms from a polynomial ring to another ring diff --git a/src/sage/rings/polynomial/polynomial_singular_interface.py b/src/sage/rings/polynomial/polynomial_singular_interface.py index 761fb0f0d69..399b50f6d79 100644 --- a/src/sage/rings/polynomial/polynomial_singular_interface.py +++ b/src/sage/rings/polynomial/polynomial_singular_interface.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Polynomial Interfaces to Singular diff --git a/src/sage/rings/polynomial/polynomial_template.pxi b/src/sage/rings/polynomial/polynomial_template.pxi index 6d9621eac67..8c73afa0e74 100644 --- a/src/sage/rings/polynomial/polynomial_template.pxi +++ b/src/sage/rings/polynomial/polynomial_template.pxi @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl """ Polynomial Template for C/C++ Library Interfaces """ diff --git a/src/sage/rings/polynomial/polynomial_template_header.pxi b/src/sage/rings/polynomial/polynomial_template_header.pxi index 64ab106f314..091f92a9d05 100644 --- a/src/sage/rings/polynomial/polynomial_template_header.pxi +++ b/src/sage/rings/polynomial/polynomial_template_header.pxi @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl """ Polynomial Template for C/C++ Library Interfaces """ diff --git a/src/sage/rings/polynomial/polynomial_zmod_flint.pxd b/src/sage/rings/polynomial/polynomial_zmod_flint.pxd index c6a92f3df6c..bfee3e8a037 100644 --- a/src/sage/rings/polynomial/polynomial_zmod_flint.pxd +++ b/src/sage/rings/polynomial/polynomial_zmod_flint.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint from sage.libs.flint.types cimport nmod_poly_t, nmod_poly_struct, fmpz_poly_t from sage.structure.parent cimport Parent from sage.rings.polynomial.polynomial_integer_dense_flint cimport Polynomial_integer_dense_flint diff --git a/src/sage/rings/polynomial/polynomial_zmod_flint.pyx b/src/sage/rings/polynomial/polynomial_zmod_flint.pyx index d08395dc8e8..ad4ac79fa5b 100644 --- a/src/sage/rings/polynomial/polynomial_zmod_flint.pyx +++ b/src/sage/rings/polynomial/polynomial_zmod_flint.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint # distutils: libraries = gmp NTL_LIBRARIES # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR diff --git a/src/sage/rings/polynomial/polynomial_zz_pex.pxd b/src/sage/rings/polynomial/polynomial_zz_pex.pxd index ca60398ef68..3107ef76a39 100644 --- a/src/sage/rings/polynomial/polynomial_zz_pex.pxd +++ b/src/sage/rings/polynomial/polynomial_zz_pex.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl from sage.libs.ntl.ZZ_pEX cimport ZZ_pEX_c from sage.libs.ntl.ntl_ZZ_pEContext cimport ZZ_pEContext_ptrs diff --git a/src/sage/rings/polynomial/polynomial_zz_pex.pyx b/src/sage/rings/polynomial/polynomial_zz_pex.pyx index b8c9d0bcbd8..006953f182f 100644 --- a/src/sage/rings/polynomial/polynomial_zz_pex.pyx +++ b/src/sage/rings/polynomial/polynomial_zz_pex.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl # sage.doctest: needs sage.libs.ntl sage.rings.finite_rings # distutils: libraries = NTL_LIBRARIES gmp # distutils: extra_compile_args = NTL_CFLAGS diff --git a/src/sage/rings/polynomial/real_roots.pxd b/src/sage/rings/polynomial/real_roots.pxd index 17b3ef6d8b8..e625d82b2b7 100644 --- a/src/sage/rings/polynomial/real_roots.pxd +++ b/src/sage/rings/polynomial/real_roots.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint from sage.rings.rational cimport Rational from sage.modules.vector_integer_dense cimport Vector_integer_dense from sage.modules.vector_real_double_dense cimport Vector_real_double_dense diff --git a/src/sage/rings/polynomial/real_roots.pyx b/src/sage/rings/polynomial/real_roots.pyx index 99587194f5f..4952aa4a51a 100644 --- a/src/sage/rings/polynomial/real_roots.pyx +++ b/src/sage/rings/polynomial/real_roots.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint # sage.doctest: needs numpy sage.libs.linbox """ Isolate Real Roots of Real Polynomials diff --git a/src/sage/rings/polynomial/refine_root.pyx b/src/sage/rings/polynomial/refine_root.pyx index 32a9ce8c8e4..1d5b806abd3 100644 --- a/src/sage/rings/polynomial/refine_root.pyx +++ b/src/sage/rings/polynomial/refine_root.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint """ Refine polynomial roots using Newton--Raphson diff --git a/src/sage/rings/polynomial/skew_polynomial_element.pxd b/src/sage/rings/polynomial/skew_polynomial_element.pxd index 1eb38b5b474..aad3d2791f9 100644 --- a/src/sage/rings/polynomial/skew_polynomial_element.pxd +++ b/src/sage/rings/polynomial/skew_polynomial_element.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.rings.polynomial.ore_polynomial_element cimport OrePolynomial_generic_dense cdef class SkewPolynomial_generic_dense(OrePolynomial_generic_dense): diff --git a/src/sage/rings/polynomial/skew_polynomial_element.pyx b/src/sage/rings/polynomial/skew_polynomial_element.pyx index cf5fd9bd090..80d29f54703 100644 --- a/src/sage/rings/polynomial/skew_polynomial_element.pyx +++ b/src/sage/rings/polynomial/skew_polynomial_element.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.combinat r""" Univariate skew polynomials diff --git a/src/sage/rings/polynomial/skew_polynomial_finite_field.pxd b/src/sage/rings/polynomial/skew_polynomial_finite_field.pxd index f27cfdd6ff1..acb0e1bfe5e 100644 --- a/src/sage/rings/polynomial/skew_polynomial_finite_field.pxd +++ b/src/sage/rings/polynomial/skew_polynomial_finite_field.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.rings.polynomial.skew_polynomial_finite_order cimport SkewPolynomial_finite_order_dense cdef class SkewPolynomial_finite_field_dense (SkewPolynomial_finite_order_dense): diff --git a/src/sage/rings/polynomial/skew_polynomial_finite_field.pyx b/src/sage/rings/polynomial/skew_polynomial_finite_field.pyx index b9538d07263..35a8f87f910 100644 --- a/src/sage/rings/polynomial/skew_polynomial_finite_field.pyx +++ b/src/sage/rings/polynomial/skew_polynomial_finite_field.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.combinat sage.rings.finite_rings r""" Univariate dense skew polynomials over finite fields diff --git a/src/sage/rings/polynomial/skew_polynomial_finite_order.pxd b/src/sage/rings/polynomial/skew_polynomial_finite_order.pxd index 438773a39ef..876c15e505c 100644 --- a/src/sage/rings/polynomial/skew_polynomial_finite_order.pxd +++ b/src/sage/rings/polynomial/skew_polynomial_finite_order.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.rings.polynomial.skew_polynomial_element cimport SkewPolynomial_generic_dense cdef class SkewPolynomial_finite_order_dense (SkewPolynomial_generic_dense): diff --git a/src/sage/rings/polynomial/skew_polynomial_finite_order.pyx b/src/sage/rings/polynomial/skew_polynomial_finite_order.pyx index fcda4420378..28ed9e7e3fb 100644 --- a/src/sage/rings/polynomial/skew_polynomial_finite_order.pyx +++ b/src/sage/rings/polynomial/skew_polynomial_finite_order.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.combinat sage.rings.finite_rings r""" Univariate dense skew polynomials over a field with a finite order automorphism diff --git a/src/sage/rings/polynomial/skew_polynomial_ring.py b/src/sage/rings/polynomial/skew_polynomial_ring.py index db5285ff66f..f962fd1add5 100644 --- a/src/sage/rings/polynomial/skew_polynomial_ring.py +++ b/src/sage/rings/polynomial/skew_polynomial_ring.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.combinat r""" Univariate skew polynomial rings diff --git a/src/sage/rings/polynomial/symmetric_ideal.py b/src/sage/rings/polynomial/symmetric_ideal.py index b8a5c2dea6f..927e0f95bbb 100644 --- a/src/sage/rings/polynomial/symmetric_ideal.py +++ b/src/sage/rings/polynomial/symmetric_ideal.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.libs.singular """ Symmetric Ideals of Infinite Polynomial Rings diff --git a/src/sage/rings/polynomial/symmetric_reduction.pxd b/src/sage/rings/polynomial/symmetric_reduction.pxd index 49bd292f995..5b6a616ca54 100644 --- a/src/sage/rings/polynomial/symmetric_reduction.pxd +++ b/src/sage/rings/polynomial/symmetric_reduction.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories cdef class SymmetricReductionStrategy: cdef list _lm cdef list _lengths diff --git a/src/sage/rings/polynomial/symmetric_reduction.pyx b/src/sage/rings/polynomial/symmetric_reduction.pyx index e873fcc5397..ddac28e3431 100644 --- a/src/sage/rings/polynomial/symmetric_reduction.pyx +++ b/src/sage/rings/polynomial/symmetric_reduction.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.libs.singular r""" Symmetric Reduction of Infinite Polynomials diff --git a/src/sage/rings/polynomial/term_order.py b/src/sage/rings/polynomial/term_order.py index 4a3e78fe879..b8cd7e3615e 100644 --- a/src/sage/rings/polynomial/term_order.py +++ b/src/sage/rings/polynomial/term_order.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Term orders diff --git a/src/sage/rings/polynomial/toy_buchberger.py b/src/sage/rings/polynomial/toy_buchberger.py index 4edd2491b6d..1e63c1cdc35 100644 --- a/src/sage/rings/polynomial/toy_buchberger.py +++ b/src/sage/rings/polynomial/toy_buchberger.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Educational versions of Groebner basis algorithms diff --git a/src/sage/rings/polynomial/toy_d_basis.py b/src/sage/rings/polynomial/toy_d_basis.py index ec783625140..5a5f79169d4 100644 --- a/src/sage/rings/polynomial/toy_d_basis.py +++ b/src/sage/rings/polynomial/toy_d_basis.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Educational version of the `d`-Groebner basis algorithm over PIDs diff --git a/src/sage/rings/polynomial/toy_variety.py b/src/sage/rings/polynomial/toy_variety.py index 7a393595b61..d413a6a9892 100644 --- a/src/sage/rings/polynomial/toy_variety.py +++ b/src/sage/rings/polynomial/toy_variety.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Educational versions of Groebner basis algorithms: triangular factorization diff --git a/src/sage/rings/polynomial/weil/all.py b/src/sage/rings/polynomial/weil/all.py index 6b00c9bee88..94578021f15 100644 --- a/src/sage/rings/polynomial/weil/all.py +++ b/src/sage/rings/polynomial/weil/all.py @@ -1,2 +1,4 @@ +# sage_setup: distribution = sagemath-flint from sage.misc.lazy_import import lazy_import lazy_import('sage.rings.polynomial.weil.weil_polynomials', 'WeilPolynomials') +del lazy_import diff --git a/src/sage/rings/polynomial/weil/weil_polynomials.pyx b/src/sage/rings/polynomial/weil/weil_polynomials.pyx index 6a73e2748e4..8ba5b96d431 100755 --- a/src/sage/rings/polynomial/weil/weil_polynomials.pyx +++ b/src/sage/rings/polynomial/weil/weil_polynomials.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint r""" Iterator for Weil polynomials. diff --git a/src/sage/rings/power_series_mpoly.pxd b/src/sage/rings/power_series_mpoly.pxd index d8816e694b7..ad0723ed59c 100644 --- a/src/sage/rings/power_series_mpoly.pxd +++ b/src/sage/rings/power_series_mpoly.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories from sage.structure.element cimport ModuleElement from sage.rings.power_series_ring_element cimport PowerSeries diff --git a/src/sage/rings/power_series_mpoly.pyx b/src/sage/rings/power_series_mpoly.pyx index 714d939c30b..5da16c563f0 100644 --- a/src/sage/rings/power_series_mpoly.pyx +++ b/src/sage/rings/power_series_mpoly.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # NOT ready to be used -- possibly should be deleted. from sage.rings.power_series_ring_element cimport PowerSeries diff --git a/src/sage/rings/power_series_pari.pxd b/src/sage/rings/power_series_pari.pxd index 35b37929c33..d421ff4eda0 100644 --- a/src/sage/rings/power_series_pari.pxd +++ b/src/sage/rings/power_series_pari.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari from cypari2.gen cimport Gen as pari_gen from sage.rings.power_series_ring_element cimport PowerSeries diff --git a/src/sage/rings/power_series_pari.pyx b/src/sage/rings/power_series_pari.pyx index 24792c94123..dae90e27970 100644 --- a/src/sage/rings/power_series_pari.pyx +++ b/src/sage/rings/power_series_pari.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari r""" Power series implemented using PARI diff --git a/src/sage/rings/power_series_poly.pxd b/src/sage/rings/power_series_poly.pxd index e37e1fb26cf..e31c8bf6feb 100644 --- a/src/sage/rings/power_series_poly.pxd +++ b/src/sage/rings/power_series_poly.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories from sage.rings.power_series_ring_element cimport PowerSeries from sage.rings.polynomial.polynomial_element cimport Polynomial from sage.categories.action cimport Action diff --git a/src/sage/rings/power_series_poly.pyx b/src/sage/rings/power_series_poly.pyx index e1c45ff5d51..17cbdc8a6b8 100644 --- a/src/sage/rings/power_series_poly.pyx +++ b/src/sage/rings/power_series_poly.pyx @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-categories """ Power Series Methods diff --git a/src/sage/rings/power_series_ring.py b/src/sage/rings/power_series_ring.py index f4f97428011..757d77007ee 100644 --- a/src/sage/rings/power_series_ring.py +++ b/src/sage/rings/power_series_ring.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Power Series Rings diff --git a/src/sage/rings/power_series_ring_element.pxd b/src/sage/rings/power_series_ring_element.pxd index e5c031ee147..d9b04b287ed 100644 --- a/src/sage/rings/power_series_ring_element.pxd +++ b/src/sage/rings/power_series_ring_element.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories from sage.structure.element cimport AlgebraElement, RingElement cdef class PowerSeries(AlgebraElement): diff --git a/src/sage/rings/power_series_ring_element.pyx b/src/sage/rings/power_series_ring_element.pyx index 1505a49a995..dd213ed786d 100644 --- a/src/sage/rings/power_series_ring_element.pyx +++ b/src/sage/rings/power_series_ring_element.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Power Series diff --git a/src/sage/rings/puiseux_series_ring.py b/src/sage/rings/puiseux_series_ring.py index f5e02b28f82..ab91427ce67 100644 --- a/src/sage/rings/puiseux_series_ring.py +++ b/src/sage/rings/puiseux_series_ring.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-categories r""" Puiseux Series Ring diff --git a/src/sage/rings/puiseux_series_ring_element.pxd b/src/sage/rings/puiseux_series_ring_element.pxd index 50852a42d33..1719cd3e118 100644 --- a/src/sage/rings/puiseux_series_ring_element.pxd +++ b/src/sage/rings/puiseux_series_ring_element.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories from sage.structure.element cimport AlgebraElement, ModuleElement from sage.rings.laurent_series_ring_element cimport LaurentSeries diff --git a/src/sage/rings/puiseux_series_ring_element.pyx b/src/sage/rings/puiseux_series_ring_element.pyx index 21b1cb5b70f..b685ecf3335 100644 --- a/src/sage/rings/puiseux_series_ring_element.pyx +++ b/src/sage/rings/puiseux_series_ring_element.pyx @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-categories r""" Puiseux Series Ring Element diff --git a/src/sage/rings/qqbar.py b/src/sage/rings/qqbar.py index 4e4454988ca..1d29cd444d3 100644 --- a/src/sage/rings/qqbar.py +++ b/src/sage/rings/qqbar.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint # sage.doctest: needs sage.libs.linbox r""" Algebraic numbers diff --git a/src/sage/rings/qqbar_decorators.py b/src/sage/rings/qqbar_decorators.py index 13d6d562824..32d05130a4e 100644 --- a/src/sage/rings/qqbar_decorators.py +++ b/src/sage/rings/qqbar_decorators.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.rings.number_field """ QQbar decorators diff --git a/src/sage/rings/quotient_ring.py b/src/sage/rings/quotient_ring.py index de336620a34..df14fe04a86 100644 --- a/src/sage/rings/quotient_ring.py +++ b/src/sage/rings/quotient_ring.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Quotient Rings diff --git a/src/sage/rings/quotient_ring_element.py b/src/sage/rings/quotient_ring_element.py index cbedaf6ecdf..e94005cf7c6 100644 --- a/src/sage/rings/quotient_ring_element.py +++ b/src/sage/rings/quotient_ring_element.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Quotient Ring Elements diff --git a/src/sage/rings/rational.pxd b/src/sage/rings/rational.pxd index f42f86515d3..aeb8ab68841 100644 --- a/src/sage/rings/rational.pxd +++ b/src/sage/rings/rational.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories from sage.libs.gmp.types cimport mpq_t cimport sage.structure.element diff --git a/src/sage/rings/rational.pyx b/src/sage/rings/rational.pyx index 92fa6fd8fc3..bd0522a959e 100644 --- a/src/sage/rings/rational.pyx +++ b/src/sage/rings/rational.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # distutils: libraries = NTL_LIBRARIES # distutils: extra_compile_args = NTL_CFLAGS # distutils: include_dirs = NTL_INCDIR diff --git a/src/sage/rings/rational_field.py b/src/sage/rings/rational_field.py index 7efb5e963d6..c9849d68de9 100644 --- a/src/sage/rings/rational_field.py +++ b/src/sage/rings/rational_field.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Field `\QQ` of Rational Numbers diff --git a/src/sage/rings/real_arb.pxd b/src/sage/rings/real_arb.pxd index 6743fa1c80b..2ff63e73623 100644 --- a/src/sage/rings/real_arb.pxd +++ b/src/sage/rings/real_arb.pxd @@ -1,3 +1,5 @@ +# sage_setup: distribution = sagemath-flint + from sage.libs.flint.arb cimport arb_t from sage.libs.mpfi.types cimport mpfi_t from sage.rings.real_mpfi cimport RealIntervalField_class, RealIntervalFieldElement diff --git a/src/sage/rings/real_arb.pyx b/src/sage/rings/real_arb.pyx index 4e989f23695..fc919571eab 100644 --- a/src/sage/rings/real_arb.pyx +++ b/src/sage/rings/real_arb.pyx @@ -1,4 +1,4 @@ -# -*- coding: utf-8 +# sage_setup: distribution = sagemath-flint r""" Arbitrary precision real balls diff --git a/src/sage/rings/real_double.pxd b/src/sage/rings/real_double.pxd index 06d4121ef26..8eb81cb039d 100644 --- a/src/sage/rings/real_double.pxd +++ b/src/sage/rings/real_double.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories from sage.structure.element cimport RingElement, ModuleElement, Element, FieldElement from sage.rings.ring cimport Field cimport sage.rings.abc diff --git a/src/sage/rings/real_double.pyx b/src/sage/rings/real_double.pyx index 17842e7e80e..fcfac14a96e 100644 --- a/src/sage/rings/real_double.pyx +++ b/src/sage/rings/real_double.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Double precision floating point real numbers diff --git a/src/sage/rings/real_double_element_gsl.pxd b/src/sage/rings/real_double_element_gsl.pxd index 8025174d15c..7cc9786efa5 100644 --- a/src/sage/rings/real_double_element_gsl.pxd +++ b/src/sage/rings/real_double_element_gsl.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.rings.real_double cimport RealDoubleElement diff --git a/src/sage/rings/real_double_element_gsl.pyx b/src/sage/rings/real_double_element_gsl.pyx index 9d5f2d9a93b..d75682fe467 100644 --- a/src/sage/rings/real_double_element_gsl.pyx +++ b/src/sage/rings/real_double_element_gsl.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Double Precision Real Numbers, implementation using GSL """ diff --git a/src/sage/rings/real_field.py b/src/sage/rings/real_field.py index 7b8e17eb5b9..97e039fa20a 100644 --- a/src/sage/rings/real_field.py +++ b/src/sage/rings/real_field.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules def create_RealField(prec=53, type="MPFR", rnd="RNDN", sci_not=0): """ Create a real field with given precision, type, rounding mode and diff --git a/src/sage/rings/real_interval_absolute.pyx b/src/sage/rings/real_interval_absolute.pyx index d190329872e..e8011bacb5a 100644 --- a/src/sage/rings/real_interval_absolute.pyx +++ b/src/sage/rings/real_interval_absolute.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint # sage.doctest: # needs sage.symbolic """ Real intervals with a fixed absolute precision diff --git a/src/sage/rings/real_lazy.pxd b/src/sage/rings/real_lazy.pxd index 60a6580a550..18dcaded7cc 100644 --- a/src/sage/rings/real_lazy.pxd +++ b/src/sage/rings/real_lazy.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories from sage.rings.ring cimport Field from sage.structure.element cimport RingElement, ModuleElement, Element, FieldElement diff --git a/src/sage/rings/real_lazy.pyx b/src/sage/rings/real_lazy.pyx index 1ba394741fa..331a1d008b0 100644 --- a/src/sage/rings/real_lazy.pyx +++ b/src/sage/rings/real_lazy.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.rings.real_interval_field sage.rings.real_mpfr """ Lazy real and complex numbers diff --git a/src/sage/rings/real_mpfi.pxd b/src/sage/rings/real_mpfi.pxd index f107dbdd89a..d1275e93e6e 100644 --- a/src/sage/rings/real_mpfi.pxd +++ b/src/sage/rings/real_mpfi.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl from sage.libs.mpfr.types cimport mpfr_prec_t from sage.libs.mpfi.types cimport mpfi_t diff --git a/src/sage/rings/real_mpfi.pyx b/src/sage/rings/real_mpfi.pyx index da282aceb3b..9ef9464e93c 100644 --- a/src/sage/rings/real_mpfi.pyx +++ b/src/sage/rings/real_mpfi.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint r""" Arbitrary precision real intervals using MPFI diff --git a/src/sage/rings/real_mpfr.pxd b/src/sage/rings/real_mpfr.pxd index 785d402836c..25be80603e3 100644 --- a/src/sage/rings/real_mpfr.pxd +++ b/src/sage/rings/real_mpfr.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.libs.mpfr.types cimport mpfr_rnd_t, mpfr_t, mpfr_prec_t cimport sage.rings.abc diff --git a/src/sage/rings/real_mpfr.pyx b/src/sage/rings/real_mpfr.pyx index 1100a63e3fe..6d60172f2a7 100644 --- a/src/sage/rings/real_mpfr.pyx +++ b/src/sage/rings/real_mpfr.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Arbitrary precision floating point real numbers using GNU MPFR diff --git a/src/sage/rings/ring.pxd b/src/sage/rings/ring.pxd index e74638b91e2..9dcfcf56ef8 100644 --- a/src/sage/rings/ring.pxd +++ b/src/sage/rings/ring.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories from sage.structure.parent_gens cimport ParentWithGens cpdef bint _is_Field(x) except -2 diff --git a/src/sage/rings/ring.pyx b/src/sage/rings/ring.pyx index fe346931ce5..b0920479290 100644 --- a/src/sage/rings/ring.pyx +++ b/src/sage/rings/ring.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Rings diff --git a/src/sage/rings/ring_extension.pxd b/src/sage/rings/ring_extension.pxd index 478bd6eef75..917cd952430 100644 --- a/src/sage/rings/ring_extension.pxd +++ b/src/sage/rings/ring_extension.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.categories.map cimport Map from sage.rings.ring cimport CommutativeRing diff --git a/src/sage/rings/ring_extension.pyx b/src/sage/rings/ring_extension.pyx index 9c214a1ffee..4bd09913c03 100644 --- a/src/sage/rings/ring_extension.pyx +++ b/src/sage/rings/ring_extension.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Extension of rings diff --git a/src/sage/rings/ring_extension_conversion.pxd b/src/sage/rings/ring_extension_conversion.pxd index e3815a411ba..11c2b2b291c 100644 --- a/src/sage/rings/ring_extension_conversion.pxd +++ b/src/sage/rings/ring_extension_conversion.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.rings.ring_extension cimport RingExtension_generic diff --git a/src/sage/rings/ring_extension_conversion.pyx b/src/sage/rings/ring_extension_conversion.pyx index eeb6077cd0a..dbe7d65954b 100644 --- a/src/sage/rings/ring_extension_conversion.pyx +++ b/src/sage/rings/ring_extension_conversion.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.rings.finite_rings ############################################################################# diff --git a/src/sage/rings/ring_extension_element.pxd b/src/sage/rings/ring_extension_element.pxd index 6b62ad58c06..af53fd9876e 100644 --- a/src/sage/rings/ring_extension_element.pxd +++ b/src/sage/rings/ring_extension_element.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.rings.ring cimport CommutativeRing from sage.structure.element cimport Element from sage.structure.element cimport CommutativeAlgebraElement diff --git a/src/sage/rings/ring_extension_element.pyx b/src/sage/rings/ring_extension_element.pyx index 729793d3bfa..c6785d71b39 100644 --- a/src/sage/rings/ring_extension_element.pyx +++ b/src/sage/rings/ring_extension_element.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Elements lying in extension of rings diff --git a/src/sage/rings/ring_extension_homset.py b/src/sage/rings/ring_extension_homset.py index d2c13a11f0e..df9e3fd149b 100644 --- a/src/sage/rings/ring_extension_homset.py +++ b/src/sage/rings/ring_extension_homset.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.rings.finite_rings r""" Homset between extensions of rings diff --git a/src/sage/rings/ring_extension_morphism.pxd b/src/sage/rings/ring_extension_morphism.pxd index a02aff31a50..ad62ba49a81 100644 --- a/src/sage/rings/ring_extension_morphism.pxd +++ b/src/sage/rings/ring_extension_morphism.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.structure.element cimport Element from sage.categories.map cimport Map from sage.rings.morphism cimport RingMap diff --git a/src/sage/rings/ring_extension_morphism.pyx b/src/sage/rings/ring_extension_morphism.pyx index f861d015a35..2049aa2dabc 100644 --- a/src/sage/rings/ring_extension_morphism.pyx +++ b/src/sage/rings/ring_extension_morphism.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Morphisms between extension of rings diff --git a/src/sage/rings/semirings/all.py b/src/sage/rings/semirings/all.py index b14da38328a..d186e4b9fc7 100644 --- a/src/sage/rings/semirings/all.py +++ b/src/sage/rings/semirings/all.py @@ -1,2 +1,4 @@ -from .non_negative_integer_semiring import NonNegativeIntegerSemiring, NN -from .tropical_semiring import TropicalSemiring +# sage_setup: distribution = sagemath-categories + +from sage.rings.semirings.non_negative_integer_semiring import NonNegativeIntegerSemiring, NN +from sage.rings.semirings.tropical_semiring import TropicalSemiring diff --git a/src/sage/rings/semirings/non_negative_integer_semiring.py b/src/sage/rings/semirings/non_negative_integer_semiring.py index 1c01fc47eb5..b07e35ee970 100644 --- a/src/sage/rings/semirings/non_negative_integer_semiring.py +++ b/src/sage/rings/semirings/non_negative_integer_semiring.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Non Negative Integer Semiring """ diff --git a/src/sage/rings/semirings/tropical_semiring.pyx b/src/sage/rings/semirings/tropical_semiring.pyx index 2922298e286..d7c21b95a09 100644 --- a/src/sage/rings/semirings/tropical_semiring.pyx +++ b/src/sage/rings/semirings/tropical_semiring.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Tropical Semirings diff --git a/src/sage/rings/sum_of_squares.pxd b/src/sage/rings/sum_of_squares.pxd index d9f2e5ae4fd..a091a030d36 100644 --- a/src/sage/rings/sum_of_squares.pxd +++ b/src/sage/rings/sum_of_squares.pxd @@ -1,2 +1,3 @@ +# sage_setup: distribution = sagemath-categories from libc.stdint cimport uint_fast32_t, uint32_t cdef int two_squares_c(uint_fast32_t n, uint_fast32_t res[2]) noexcept diff --git a/src/sage/rings/sum_of_squares.pyx b/src/sage/rings/sum_of_squares.pyx index 5cd916690de..c296e2f58c9 100644 --- a/src/sage/rings/sum_of_squares.pyx +++ b/src/sage/rings/sum_of_squares.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # distutils: libraries = m r""" Fast decomposition of small integers into sums of squares diff --git a/src/sage/rings/tate_algebra.py b/src/sage/rings/tate_algebra.py index 61563f71497..1fed9d9a386 100644 --- a/src/sage/rings/tate_algebra.py +++ b/src/sage/rings/tate_algebra.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari r""" Tate algebras diff --git a/src/sage/rings/tate_algebra_element.pxd b/src/sage/rings/tate_algebra_element.pxd index 3cafe330fb0..b6b3642bb55 100644 --- a/src/sage/rings/tate_algebra_element.pxd +++ b/src/sage/rings/tate_algebra_element.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari from sage.structure.element cimport Element from sage.structure.element cimport MonoidElement from sage.structure.element cimport CommutativeAlgebraElement diff --git a/src/sage/rings/tate_algebra_element.pyx b/src/sage/rings/tate_algebra_element.pyx index ffd400d5159..5fc24fe4010 100644 --- a/src/sage/rings/tate_algebra_element.pyx +++ b/src/sage/rings/tate_algebra_element.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari """ Tate algebra element diff --git a/src/sage/rings/tate_algebra_ideal.pxd b/src/sage/rings/tate_algebra_ideal.pxd index e5581e06b8c..010c29201f1 100644 --- a/src/sage/rings/tate_algebra_ideal.pxd +++ b/src/sage/rings/tate_algebra_ideal.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari from sage.rings.tate_algebra_element cimport TateAlgebraTerm from sage.rings.tate_algebra_element cimport TateAlgebraElement diff --git a/src/sage/rings/tate_algebra_ideal.pyx b/src/sage/rings/tate_algebra_ideal.pyx index 802984874b7..45e427280b5 100644 --- a/src/sage/rings/tate_algebra_ideal.pyx +++ b/src/sage/rings/tate_algebra_ideal.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari """ Ideals in Tate algebra diff --git a/src/sage/rings/tests.py b/src/sage/rings/tests.py index c7a00f83bc2..6830c1bf96a 100644 --- a/src/sage/rings/tests.py +++ b/src/sage/rings/tests.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Tests for rings diff --git a/src/sage/rings/universal_cyclotomic_field.py b/src/sage/rings/universal_cyclotomic_field.py index a9b558bdb02..1868f019600 100644 --- a/src/sage/rings/universal_cyclotomic_field.py +++ b/src/sage/rings/universal_cyclotomic_field.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-gap # sage.doctest: needs sage.libs.gap r""" Universal cyclotomic field diff --git a/src/sage/rings/valuation/all.py b/src/sage/rings/valuation/all.py index 3f90ef9daa0..052f7265e1f 100644 --- a/src/sage/rings/valuation/all.py +++ b/src/sage/rings/valuation/all.py @@ -1,5 +1,7 @@ +# sage_setup: distribution = sagemath-pari from sage.misc.lazy_import import lazy_import lazy_import('sage.rings.valuation.gauss_valuation', 'GaussValuation') lazy_import('sage.rings.valuation', 'valuations_catalog', 'valuations') lazy_import('sage.rings.valuation.value_group', 'DiscreteValueGroup') +del lazy_import diff --git a/src/sage/rings/valuation/augmented_valuation.py b/src/sage/rings/valuation/augmented_valuation.py index 3c98e082bc4..75094ab06ca 100644 --- a/src/sage/rings/valuation/augmented_valuation.py +++ b/src/sage/rings/valuation/augmented_valuation.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari r""" Augmented valuations on polynomial rings diff --git a/src/sage/rings/valuation/developing_valuation.py b/src/sage/rings/valuation/developing_valuation.py index d7724642415..88e48f7626a 100644 --- a/src/sage/rings/valuation/developing_valuation.py +++ b/src/sage/rings/valuation/developing_valuation.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-pari r""" Valuations on polynomial rings based on `\phi`-adic expansions diff --git a/src/sage/rings/valuation/gauss_valuation.py b/src/sage/rings/valuation/gauss_valuation.py index a69977ae4b3..a9d135bfd49 100644 --- a/src/sage/rings/valuation/gauss_valuation.py +++ b/src/sage/rings/valuation/gauss_valuation.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-pari """ Gauss valuations on polynomial rings diff --git a/src/sage/rings/valuation/inductive_valuation.py b/src/sage/rings/valuation/inductive_valuation.py index 9991aaac2e1..5d5d6977ef0 100644 --- a/src/sage/rings/valuation/inductive_valuation.py +++ b/src/sage/rings/valuation/inductive_valuation.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-pari r""" Inductive valuations on polynomial rings diff --git a/src/sage/rings/valuation/limit_valuation.py b/src/sage/rings/valuation/limit_valuation.py index fa23e2c0a69..947581cb120 100644 --- a/src/sage/rings/valuation/limit_valuation.py +++ b/src/sage/rings/valuation/limit_valuation.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-pari r""" Valuations which are defined as limits of valuations. diff --git a/src/sage/rings/valuation/mapped_valuation.py b/src/sage/rings/valuation/mapped_valuation.py index 2c4aa42799d..098ea95fd01 100644 --- a/src/sage/rings/valuation/mapped_valuation.py +++ b/src/sage/rings/valuation/mapped_valuation.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-pari r""" Valuations which are implemented through a map to another valuation diff --git a/src/sage/rings/valuation/scaled_valuation.py b/src/sage/rings/valuation/scaled_valuation.py index 84249392e3a..6a22cd18dc0 100644 --- a/src/sage/rings/valuation/scaled_valuation.py +++ b/src/sage/rings/valuation/scaled_valuation.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-pari r""" Valuations which are scaled versions of another valuation diff --git a/src/sage/rings/valuation/trivial_valuation.py b/src/sage/rings/valuation/trivial_valuation.py index ddbf9d7e1b7..03fc43be725 100644 --- a/src/sage/rings/valuation/trivial_valuation.py +++ b/src/sage/rings/valuation/trivial_valuation.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-pari r""" Trivial valuations diff --git a/src/sage/rings/valuation/valuation.py b/src/sage/rings/valuation/valuation.py index 0121f6a6b25..e432478220d 100644 --- a/src/sage/rings/valuation/valuation.py +++ b/src/sage/rings/valuation/valuation.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-pari r""" Discrete valuations diff --git a/src/sage/rings/valuation/valuation_space.py b/src/sage/rings/valuation/valuation_space.py index 485a622f33c..1fee27025c7 100644 --- a/src/sage/rings/valuation/valuation_space.py +++ b/src/sage/rings/valuation/valuation_space.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-pari r""" Spaces of valuations diff --git a/src/sage/rings/valuation/valuations_catalog.py b/src/sage/rings/valuation/valuations_catalog.py index 64effaf13a6..86227c4cf6b 100644 --- a/src/sage/rings/valuation/valuations_catalog.py +++ b/src/sage/rings/valuation/valuations_catalog.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-pari from sage.misc.lazy_import import lazy_import lazy_import('sage.rings.padics.padic_valuation', 'pAdicValuation') diff --git a/src/sage/rings/valuation/value_group.py b/src/sage/rings/valuation/value_group.py index b39eec60bdd..6939504a732 100644 --- a/src/sage/rings/valuation/value_group.py +++ b/src/sage/rings/valuation/value_group.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-pari r""" Value groups of discrete valuations diff --git a/src/sage/sandpiles/all.py b/src/sage/sandpiles/all.py index 7ddccbf3869..32bf34baaa4 100644 --- a/src/sage/sandpiles/all.py +++ b/src/sage/sandpiles/all.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs from sage.misc.lazy_import import lazy_import lazy_import('sage.sandpiles.sandpile', 'Sandpile') @@ -9,3 +10,4 @@ lazy_import('sage.sandpiles.sandpile', 'triangle_sandpile') lazy_import('sage.sandpiles.examples', 'sandpiles') +del lazy_import diff --git a/src/sage/sandpiles/examples.py b/src/sage/sandpiles/examples.py index 980dec77036..1b55dfd3a18 100644 --- a/src/sage/sandpiles/examples.py +++ b/src/sage/sandpiles/examples.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-graphs """ Examples of Sandpile diff --git a/src/sage/sandpiles/sandpile.py b/src/sage/sandpiles/sandpile.py index 57838f7647b..198322b341d 100644 --- a/src/sage/sandpiles/sandpile.py +++ b/src/sage/sandpiles/sandpile.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs """ Sandpiles diff --git a/src/sage/sat/all.py b/src/sage/sat/all.py index d4beeb2a9a1..a3300520490 100644 --- a/src/sage/sat/all.py +++ b/src/sage/sat/all.py @@ -1,2 +1,4 @@ +# sage_setup: distribution = sagemath-combinat from sage.misc.lazy_import import lazy_import lazy_import('sage.sat.solvers.satsolver', 'SAT') +del lazy_import diff --git a/src/sage/sat/boolean_polynomials.py b/src/sage/sat/boolean_polynomials.py index 08cf03cf18c..3cbbaa4d81e 100644 --- a/src/sage/sat/boolean_polynomials.py +++ b/src/sage/sat/boolean_polynomials.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: optional - pycryptosat, needs sage.modules sage.rings.polynomial.pbori """ SAT Functions for Boolean Polynomials diff --git a/src/sage/sat/converters/__init__.py b/src/sage/sat/converters/__init__.py index bb7b60bbb9c..1a945d09d04 100644 --- a/src/sage/sat/converters/__init__.py +++ b/src/sage/sat/converters/__init__.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat from sage.misc.lazy_import import lazy_import from .anf2cnf import ANF2CNFConverter diff --git a/src/sage/sat/converters/anf2cnf.py b/src/sage/sat/converters/anf2cnf.py index e6dd330feff..220be966e1e 100644 --- a/src/sage/sat/converters/anf2cnf.py +++ b/src/sage/sat/converters/anf2cnf.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat """ Abstract ANF to CNF Converter diff --git a/src/sage/sat/converters/polybori.py b/src/sage/sat/converters/polybori.py index a159c7434f4..b23ff65496d 100644 --- a/src/sage/sat/converters/polybori.py +++ b/src/sage/sat/converters/polybori.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.rings.polynomial.pbori """ An ANF to CNF Converter using a Dense/Sparse Strategy diff --git a/src/sage/sat/solvers/__init__.py b/src/sage/sat/solvers/__init__.py index 27b47db2d51..d3dbc2f9a75 100644 --- a/src/sage/sat/solvers/__init__.py +++ b/src/sage/sat/solvers/__init__.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat from .satsolver import SatSolver from .cryptominisat import CryptoMiniSat diff --git a/src/sage/sat/solvers/cryptominisat.py b/src/sage/sat/solvers/cryptominisat.py index 82f1ffd9086..ecc8281d72f 100644 --- a/src/sage/sat/solvers/cryptominisat.py +++ b/src/sage/sat/solvers/cryptominisat.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" CryptoMiniSat Solver diff --git a/src/sage/sat/solvers/dimacs.py b/src/sage/sat/solvers/dimacs.py index 0c3060eb4c3..b23a1c19ead 100644 --- a/src/sage/sat/solvers/dimacs.py +++ b/src/sage/sat/solvers/dimacs.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat """ SAT-Solvers via DIMACS Files diff --git a/src/sage/sat/solvers/picosat.py b/src/sage/sat/solvers/picosat.py index a88f69da883..01b1997d085 100644 --- a/src/sage/sat/solvers/picosat.py +++ b/src/sage/sat/solvers/picosat.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat r""" PicoSAT Solver diff --git a/src/sage/sat/solvers/sat_lp.py b/src/sage/sat/solvers/sat_lp.py index 9b65b1d241d..e7a50b6aee5 100644 --- a/src/sage/sat/solvers/sat_lp.py +++ b/src/sage/sat/solvers/sat_lp.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat # sage.doctest: needs sage.numerical.mip r""" Solve SAT problems Integer Linear Programming diff --git a/src/sage/sat/solvers/satsolver.pxd b/src/sage/sat/solvers/satsolver.pxd index 7fd0ac7e798..14d8d2cf880 100644 --- a/src/sage/sat/solvers/satsolver.pxd +++ b/src/sage/sat/solvers/satsolver.pxd @@ -1,2 +1,3 @@ +# sage_setup: distribution = sagemath-combinat cdef class SatSolver: pass diff --git a/src/sage/sat/solvers/satsolver.pyx b/src/sage/sat/solvers/satsolver.pyx index 521577fda71..6c82fb247db 100644 --- a/src/sage/sat/solvers/satsolver.pyx +++ b/src/sage/sat/solvers/satsolver.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-combinat """ Abstract SAT Solver diff --git a/src/sage/schemes/affine/affine_homset.py b/src/sage/schemes/affine/affine_homset.py index b6570bd6f6d..ccba02e4d92 100644 --- a/src/sage/schemes/affine/affine_homset.py +++ b/src/sage/schemes/affine/affine_homset.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Set of homomorphisms between two affine schemes diff --git a/src/sage/schemes/affine/affine_morphism.py b/src/sage/schemes/affine/affine_morphism.py index e55f75b4e18..4a4335df7d9 100644 --- a/src/sage/schemes/affine/affine_morphism.py +++ b/src/sage/schemes/affine/affine_morphism.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Morphisms on affine schemes diff --git a/src/sage/schemes/affine/affine_point.py b/src/sage/schemes/affine/affine_point.py index 00779dbb2d6..b271656bf90 100644 --- a/src/sage/schemes/affine/affine_point.py +++ b/src/sage/schemes/affine/affine_point.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Points on affine varieties diff --git a/src/sage/schemes/affine/affine_rational_point.py b/src/sage/schemes/affine/affine_rational_point.py index 4ac17a60d79..8b6837a63ef 100644 --- a/src/sage/schemes/affine/affine_rational_point.py +++ b/src/sage/schemes/affine/affine_rational_point.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Enumeration of rational points on affine schemes diff --git a/src/sage/schemes/affine/affine_space.py b/src/sage/schemes/affine/affine_space.py index 05d3c5b59e3..766d7b34ea4 100644 --- a/src/sage/schemes/affine/affine_space.py +++ b/src/sage/schemes/affine/affine_space.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Affine `n` space over a ring """ diff --git a/src/sage/schemes/affine/affine_subscheme.py b/src/sage/schemes/affine/affine_subscheme.py index c32b2d29e7c..5618c7b538f 100644 --- a/src/sage/schemes/affine/affine_subscheme.py +++ b/src/sage/schemes/affine/affine_subscheme.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Subschemes of affine space diff --git a/src/sage/schemes/affine/all.py b/src/sage/schemes/affine/all.py index 68a540a9f1f..ac08e989715 100644 --- a/src/sage/schemes/affine/all.py +++ b/src/sage/schemes/affine/all.py @@ -1,8 +1,9 @@ +# sage_setup: distribution = sagemath-categories """nodoctest all.py -- export of affine to Sage """ -#***************************************************************************** +# ***************************************************************************** # # Sage: Open Source Mathematical Software # @@ -17,8 +18,8 @@ # # The full text of the GPL is available at: # -# http://www.gnu.org/licenses/ -#***************************************************************************** +# https://www.gnu.org/licenses/ +# ***************************************************************************** -from .affine_space import AffineSpace -from .affine_rational_point import enum_affine_rational_field, enum_affine_finite_field +from sage.schemes.affine.affine_space import AffineSpace +from sage.schemes.affine.affine_rational_point import enum_affine_rational_field, enum_affine_finite_field diff --git a/src/sage/schemes/all.py b/src/sage/schemes/all.py index 23858c6f0c8..412ade4da0d 100644 --- a/src/sage/schemes/all.py +++ b/src/sage/schemes/all.py @@ -1,8 +1,9 @@ +# sage_setup: distribution = sagemath-schemes """ all.py -- export of schemes to Sage """ -#***************************************************************************** +# ***************************************************************************** # # Sage: Open Source Mathematical Software # @@ -17,31 +18,24 @@ # # The full text of the GPL is available at: # -# http://www.gnu.org/licenses/ -#***************************************************************************** +# https://www.gnu.org/licenses/ +# ***************************************************************************** -from .jacobians.all import * +from sage.schemes.all__sagemath_categories import * +from sage.schemes.all__sagemath_polyhedra import * -from .hyperelliptic_curves.all import * +from sage.schemes.jacobians.all import * -from .curves.all import * +from sage.schemes.hyperelliptic_curves.all import * -from .plane_conics.all import * +from sage.schemes.curves.all import * -from .elliptic_curves.all import * +from sage.schemes.plane_conics.all import * -from .plane_quartics.all import * +from sage.schemes.elliptic_curves.all import * -from .generic.all import * +from sage.schemes.plane_quartics.all import * -from .toric.all import * +from sage.schemes.cyclic_covers.all import * -from .affine.all import * - -from .projective.all import * - -from .product_projective.all import * - -from .cyclic_covers.all import * - -from .berkovich.all import * +from sage.schemes.berkovich.all import * diff --git a/src/sage/schemes/all__sagemath_categories.py b/src/sage/schemes/all__sagemath_categories.py new file mode 100644 index 00000000000..02c6722874e --- /dev/null +++ b/src/sage/schemes/all__sagemath_categories.py @@ -0,0 +1,4 @@ +from sage.schemes.generic.all import * +from sage.schemes.affine.all import * +from sage.schemes.projective.all import * +from sage.schemes.product_projective.all import * diff --git a/src/sage/schemes/all__sagemath_ntl.py b/src/sage/schemes/all__sagemath_ntl.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/schemes/all__sagemath_polyhedra.py b/src/sage/schemes/all__sagemath_polyhedra.py new file mode 100644 index 00000000000..2dc39d42014 --- /dev/null +++ b/src/sage/schemes/all__sagemath_polyhedra.py @@ -0,0 +1 @@ +from sage.schemes.toric.all import * diff --git a/src/sage/schemes/berkovich/all.py b/src/sage/schemes/berkovich/all.py index cc7af01a057..ca838f75500 100644 --- a/src/sage/schemes/berkovich/all.py +++ b/src/sage/schemes/berkovich/all.py @@ -1,5 +1,6 @@ +# sage_setup: distribution = sagemath-schemes """nodoctest all.py -- export of Berkovich spaces to all of Sage """ -from .berkovich_space import Berkovich_Cp_Affine, Berkovich_Cp_Projective +from sage.schemes.berkovich.berkovich_space import Berkovich_Cp_Affine, Berkovich_Cp_Projective diff --git a/src/sage/schemes/berkovich/berkovich_cp_element.py b/src/sage/schemes/berkovich/berkovich_cp_element.py index bc8307f29e5..637d30f491d 100644 --- a/src/sage/schemes/berkovich/berkovich_cp_element.py +++ b/src/sage/schemes/berkovich/berkovich_cp_element.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.rings.padics r""" Elements of Berkovich space. diff --git a/src/sage/schemes/berkovich/berkovich_space.py b/src/sage/schemes/berkovich/berkovich_space.py index 100c2807b9d..fb915f6d85b 100644 --- a/src/sage/schemes/berkovich/berkovich_space.py +++ b/src/sage/schemes/berkovich/berkovich_space.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.rings.padics r""" Berkovich Space over `\CC_p` diff --git a/src/sage/schemes/curves/affine_curve.py b/src/sage/schemes/curves/affine_curve.py index 992cd528803..f0786bf4a04 100644 --- a/src/sage/schemes/curves/affine_curve.py +++ b/src/sage/schemes/curves/affine_curve.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.singular r""" Affine curves diff --git a/src/sage/schemes/curves/all.py b/src/sage/schemes/curves/all.py index 147c2e1e6fe..a9177144f01 100644 --- a/src/sage/schemes/curves/all.py +++ b/src/sage/schemes/curves/all.py @@ -1,8 +1,9 @@ +# sage_setup: distribution = sagemath-schemes """ Plane curves """ -#***************************************************************************** +# ***************************************************************************** # # Sage: Open Source Mathematical Software # @@ -17,9 +18,9 @@ # # The full text of the GPL is available at: # -# http://www.gnu.org/licenses/ -#***************************************************************************** +# https://www.gnu.org/licenses/ +# ***************************************************************************** -from .constructor import Curve +from sage.schemes.curves.constructor import Curve -from .projective_curve import Hasse_bounds +from sage.schemes.curves.projective_curve import Hasse_bounds diff --git a/src/sage/schemes/curves/closed_point.py b/src/sage/schemes/curves/closed_point.py index 147d60b200a..d7d04b9ae86 100644 --- a/src/sage/schemes/curves/closed_point.py +++ b/src/sage/schemes/curves/closed_point.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes """ Closed points of integral curves diff --git a/src/sage/schemes/curves/constructor.py b/src/sage/schemes/curves/constructor.py index 3564cfd73cc..7b70740e5e9 100644 --- a/src/sage/schemes/curves/constructor.py +++ b/src/sage/schemes/curves/constructor.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.singular """ Curve constructor diff --git a/src/sage/schemes/curves/curve.py b/src/sage/schemes/curves/curve.py index cacc05f884b..a4c353d097e 100644 --- a/src/sage/schemes/curves/curve.py +++ b/src/sage/schemes/curves/curve.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.singular """ Base class of curves diff --git a/src/sage/schemes/curves/point.py b/src/sage/schemes/curves/point.py index 373dc6ce19f..e379b73c813 100644 --- a/src/sage/schemes/curves/point.py +++ b/src/sage/schemes/curves/point.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.singular """ Rational points of curves diff --git a/src/sage/schemes/curves/projective_curve.py b/src/sage/schemes/curves/projective_curve.py index bb19979b3c4..2c95365167b 100644 --- a/src/sage/schemes/curves/projective_curve.py +++ b/src/sage/schemes/curves/projective_curve.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.singular r""" Projective curves diff --git a/src/sage/schemes/curves/zariski_vankampen.py b/src/sage/schemes/curves/zariski_vankampen.py index 0fc01b81347..af7703b62cc 100644 --- a/src/sage/schemes/curves/zariski_vankampen.py +++ b/src/sage/schemes/curves/zariski_vankampen.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.geometry.polyhedron sage.graphs sage.groups sage.rings.number_field r""" Zariski-Van Kampen method implementation diff --git a/src/sage/schemes/cyclic_covers/all.py b/src/sage/schemes/cyclic_covers/all.py index b1fcd806e7a..1cb47c3ca74 100644 --- a/src/sage/schemes/cyclic_covers/all.py +++ b/src/sage/schemes/cyclic_covers/all.py @@ -1 +1,3 @@ -from .constructor import CyclicCover +# sage_setup: distribution = sagemath-schemes + +from sage.schemes.cyclic_covers.constructor import CyclicCover diff --git a/src/sage/schemes/cyclic_covers/charpoly_frobenius.py b/src/sage/schemes/cyclic_covers/charpoly_frobenius.py index e28289e1d84..853fb442419 100644 --- a/src/sage/schemes/cyclic_covers/charpoly_frobenius.py +++ b/src/sage/schemes/cyclic_covers/charpoly_frobenius.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.rings.padics r""" Computation of the Frobenius polynomial using Newton's identities diff --git a/src/sage/schemes/cyclic_covers/constructor.py b/src/sage/schemes/cyclic_covers/constructor.py index 99250257121..8e20721651f 100644 --- a/src/sage/schemes/cyclic_covers/constructor.py +++ b/src/sage/schemes/cyclic_covers/constructor.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes """ Cyclic cover curve constructor """ diff --git a/src/sage/schemes/cyclic_covers/cycliccover_finite_field.py b/src/sage/schemes/cyclic_covers/cycliccover_finite_field.py index 1f92bb1b0b7..df47239e67e 100644 --- a/src/sage/schemes/cyclic_covers/cycliccover_finite_field.py +++ b/src/sage/schemes/cyclic_covers/cycliccover_finite_field.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.rings.finite_rings r""" diff --git a/src/sage/schemes/cyclic_covers/cycliccover_generic.py b/src/sage/schemes/cyclic_covers/cycliccover_generic.py index 9bca8814dad..b8a921ad788 100644 --- a/src/sage/schemes/cyclic_covers/cycliccover_generic.py +++ b/src/sage/schemes/cyclic_covers/cycliccover_generic.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes """ Cyclic covers curves over a general ring diff --git a/src/sage/schemes/elliptic_curves/BSD.py b/src/sage/schemes/elliptic_curves/BSD.py index 90b4fdaad7f..c4c0beaf9af 100644 --- a/src/sage/schemes/elliptic_curves/BSD.py +++ b/src/sage/schemes/elliptic_curves/BSD.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes "Birch and Swinnerton-Dyer formulas" from sage.arith.misc import prime_divisors diff --git a/src/sage/schemes/elliptic_curves/Qcurves.py b/src/sage/schemes/elliptic_curves/Qcurves.py index e0f55597f90..41c3edb19b9 100644 --- a/src/sage/schemes/elliptic_curves/Qcurves.py +++ b/src/sage/schemes/elliptic_curves/Qcurves.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes r""" Testing whether elliptic curves over number fields are `\QQ`-curves diff --git a/src/sage/schemes/elliptic_curves/all.py b/src/sage/schemes/elliptic_curves/all.py index f4abce51a62..5010cebcdce 100644 --- a/src/sage/schemes/elliptic_curves/all.py +++ b/src/sage/schemes/elliptic_curves/all.py @@ -1,8 +1,9 @@ +# sage_setup: distribution = sagemath-schemes """ Exported elliptic curves functionality """ -#***************************************************************************** +# ***************************************************************************** # Copyright (C) 2005 William Stein # # Distributed under the terms of the GNU General Public License (GPL) @@ -14,34 +15,35 @@ # # The full text of the GPL is available at: # -# http://www.gnu.org/licenses/ -#***************************************************************************** +# https://www.gnu.org/licenses/ +# ***************************************************************************** -from .constructor import (EllipticCurve, - EllipticCurve_from_c4c6, - EllipticCurve_from_j, - EllipticCurve_from_cubic, - EllipticCurves_with_good_reduction_outside_S) +from sage.schemes.elliptic_curves.constructor import (EllipticCurve, + EllipticCurve_from_c4c6, + EllipticCurve_from_j, + EllipticCurve_from_cubic, + EllipticCurves_with_good_reduction_outside_S) from sage.misc.lazy_import import lazy_import lazy_import('sage.schemes.elliptic_curves.jacobian', 'Jacobian') +lazy_import('sage.schemes.elliptic_curves.ell_finite_field', 'special_supersingular_curve') + lazy_import('sage.schemes.elliptic_curves.ell_rational_field', ['cremona_curves', 'cremona_optimal_curves']) -lazy_import('sage.schemes.elliptic_curves.ell_finite_field', 'special_supersingular_curve') - -from .cm import ( cm_orders, - cm_j_invariants, - cm_j_invariants_and_orders, - hilbert_class_polynomial ) +from sage.schemes.elliptic_curves.cm import (cm_orders, + cm_j_invariants, + cm_j_invariants_and_orders, + hilbert_class_polynomial) lazy_import('sage.schemes.elliptic_curves.ec_database', 'elliptic_curves') -from .kodaira_symbol import KodairaSymbol +from sage.schemes.elliptic_curves.kodaira_symbol import KodairaSymbol -from .ell_curve_isogeny import EllipticCurveIsogeny, isogeny_codomain_from_kernel +from sage.schemes.elliptic_curves.ell_curve_isogeny import EllipticCurveIsogeny, isogeny_codomain_from_kernel lazy_import('sage.schemes.elliptic_curves.mod_poly', 'classical_modular_polynomial') -from .heegner import heegner_points, heegner_point +from sage.schemes.elliptic_curves.heegner import heegner_points, heegner_point +del lazy_import diff --git a/src/sage/schemes/elliptic_curves/cardinality.py b/src/sage/schemes/elliptic_curves/cardinality.py index aaa1cf85542..da502f50767 100644 --- a/src/sage/schemes/elliptic_curves/cardinality.py +++ b/src/sage/schemes/elliptic_curves/cardinality.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.rings.finite_rings """ Specific algorithms to compute cardinality of elliptic curves over a finite field diff --git a/src/sage/schemes/elliptic_curves/cm.py b/src/sage/schemes/elliptic_curves/cm.py index e893b07051f..143ebee91f0 100644 --- a/src/sage/schemes/elliptic_curves/cm.py +++ b/src/sage/schemes/elliptic_curves/cm.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes """ Complex multiplication for elliptic curves diff --git a/src/sage/schemes/elliptic_curves/constructor.py b/src/sage/schemes/elliptic_curves/constructor.py index b99e0ab3458..9e242437756 100644 --- a/src/sage/schemes/elliptic_curves/constructor.py +++ b/src/sage/schemes/elliptic_curves/constructor.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes """ Elliptic curve constructor diff --git a/src/sage/schemes/elliptic_curves/ec_database.py b/src/sage/schemes/elliptic_curves/ec_database.py index 34099d620bb..21402f62d5e 100644 --- a/src/sage/schemes/elliptic_curves/ec_database.py +++ b/src/sage/schemes/elliptic_curves/ec_database.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes r""" Tables of elliptic curves of given rank diff --git a/src/sage/schemes/elliptic_curves/ell_curve_isogeny.py b/src/sage/schemes/elliptic_curves/ell_curve_isogeny.py index 3dc8ea0f11e..b9bd9167195 100644 --- a/src/sage/schemes/elliptic_curves/ell_curve_isogeny.py +++ b/src/sage/schemes/elliptic_curves/ell_curve_isogeny.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes r""" Isogenies diff --git a/src/sage/schemes/elliptic_curves/ell_egros.py b/src/sage/schemes/elliptic_curves/ell_egros.py index 42c8d0738be..aca2cdca48f 100644 --- a/src/sage/schemes/elliptic_curves/ell_egros.py +++ b/src/sage/schemes/elliptic_curves/ell_egros.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes r""" Elliptic curves with prescribed good reduction diff --git a/src/sage/schemes/elliptic_curves/ell_field.py b/src/sage/schemes/elliptic_curves/ell_field.py index 3efa79ff759..a4a76d1b2ba 100644 --- a/src/sage/schemes/elliptic_curves/ell_field.py +++ b/src/sage/schemes/elliptic_curves/ell_field.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes r""" Elliptic curves over a general field diff --git a/src/sage/schemes/elliptic_curves/ell_finite_field.py b/src/sage/schemes/elliptic_curves/ell_finite_field.py index 6d97f3094b4..bbe54ddb55a 100644 --- a/src/sage/schemes/elliptic_curves/ell_finite_field.py +++ b/src/sage/schemes/elliptic_curves/ell_finite_field.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes """ Elliptic curves over finite fields @@ -1369,22 +1370,18 @@ def set_order(self, value, *, check=True, num_checks=8): EXAMPLES: - This example illustrates basic usage. + This example illustrates basic usage:: - :: - - sage: E = EllipticCurve(GF(7), [0, 1]) # This curve has order 6 - sage: E.set_order(6) + sage: E = EllipticCurve(GF(7), [0, 1]) # This curve has order 12 + sage: E.set_order(12) sage: E.order() - 6 + 12 sage: E.order() * E.random_point() (0 : 1 : 0) We now give a more interesting case, the NIST-P521 curve. Its order is too big to calculate with Sage, and takes a long time - using other packages, so it is very useful here. - - :: + using other packages, so it is very useful here:: sage: p = 2^521 - 1 sage: prev_proof_state = proof.arithmetic() @@ -1403,7 +1400,7 @@ def set_order(self, value, *, check=True, num_checks=8): It is an error to pass a value which is not an integer in the Hasse-Weil range:: - sage: E = EllipticCurve(GF(7), [0, 1]) # This curve has order 6 + sage: E = EllipticCurve(GF(7), [0, 1]) # This curve has order 12 sage: E.set_order("hi") Traceback (most recent call last): ... @@ -1422,40 +1419,50 @@ def set_order(self, value, *, check=True, num_checks=8): ``num_checks``, the factorization of the actual order, and the actual group structure:: - sage: E = EllipticCurve(GF(7), [0, 1]) # This curve has order 6 + sage: E = EllipticCurve(GF(1009), [0, 1]) # This curve has order 948 + sage: E.set_order(947) + Traceback (most recent call last): + ... + ValueError: Value 947 illegal (multiple of random point not the identity) + + For curves over small finite fields, the order is cheap to compute, so it is computed + directly and compared:: + + sage: E = EllipticCurve(GF(7), [0, 1]) # This curve has order 12 sage: E.set_order(11) Traceback (most recent call last): ... - ValueError: Value 11 illegal (multiple of random point not the identity) + ValueError: Value 11 illegal (correct order is 12) - However, set_order can be fooled, though it's not likely in - "real cases of interest". For instance, the order can be set - to a multiple of the actual order:: + TESTS: - sage: E = EllipticCurve(GF(7), [0, 1]) # This curve has order 6 - sage: E.set_order(12) # 12 just fits in the Hasse range - sage: E.order() - 12 + The previous version's random tests are not strong enough. In particular, the following used + to work:: + + sage: E = EllipticCurve(GF(2), [0, 0, 1, 1, 1]) # This curve has order 1 + sage: E.set_order(3) + Traceback (most recent call last): + ... + ValueError: Value 3 illegal (correct order is 1) - Or, the order can be set incorrectly along with ``num_checks`` set - too small:: + :: - sage: E = EllipticCurve(GF(7), [0, 1]) # This curve has order 6 + sage: E = EllipticCurve(GF(7), [0, 1]) # This curve has order 12 sage: E.set_order(4, num_checks=0) + Traceback (most recent call last): + ... + ValueError: Value 4 illegal (correct order is 12) sage: E.order() - 4 - - The value of ``num_checks`` must be an integer. Negative values - are interpreted as zero, which means don't do any checking:: + 12 - sage: E = EllipticCurve(GF(7), [0, 1]) # This curve has order 6 - sage: E.set_order(4, num_checks=-12) - sage: E.order() - 4 + .. TODO:: Add provable correctness check by computing the abelian group structure and + comparing. AUTHORS: - - Mariah Lenox (2011-02-16) + - Mariah Lenox (2011-02-16): Initial implementation + + - Gareth Ma (2024-01-21): Fix bug for small curves """ value = Integer(value) @@ -1464,12 +1471,19 @@ def set_order(self, value, *, check=True, num_checks=8): q = self.base_field().order() a,b = Hasse_bounds(q,1) if not a <= value <= b: - raise ValueError('Value %s illegal (not an integer in the Hasse range)' % value) + raise ValueError(f"Value {value} illegal (not an integer in the Hasse range)") + + # For really small values, the random tests are too weak to detect wrong orders + # So we go with computing directly instead. + if q <= 100: + if self.order() != value: + raise ValueError(f"Value {value} illegal (correct order is {self.order()})") + # Is value*random == identity? - for i in range(num_checks): + for _ in range(num_checks): G = self.random_point() if value * G != self(0): - raise ValueError('Value %s illegal (multiple of random point not the identity)' % value) + raise ValueError(f"Value {value} illegal (multiple of random point not the identity)") # TODO: It might help some of PARI's algorithms if we # could copy this over to the .pari_curve() as well. @@ -1564,10 +1578,9 @@ def height_above_floor(self, ell, e): F = j.parent() x = polygen(F) from sage.rings.polynomial.polynomial_ring import polygens - from sage.libs.pari.convert_sage import gen_to_sage - from sage.libs.pari.all import pari - X,Y = polygens(F,['X', 'Y'],2) - phi = gen_to_sage(pari.polmodular(ell),{'x':X, 'y':Y}) + from sage.schemes.elliptic_curves.mod_poly import classical_modular_polynomial + X, Y = polygens(F, "X, Y", 2) + phi = classical_modular_polynomial(ell)(X, Y) j1 = phi([x,j]).roots(multiplicities=False) nj1 = len(j1) on_floor = self.two_torsion_rank() < 2 if ell == 2 else nj1 <= ell @@ -1836,9 +1849,10 @@ def twists(self): twists = curves_with_j_0(K) elif j == 1728: twists = curves_with_j_1728(K) - if twists: # i.e. if j=0 or 1728 + + if twists: # i.e. if j=0 or 1728 # replace the one isomorphic to self with self and move to front - for i,t in enumerate(twists): + for i, t in enumerate(twists): if self.is_isomorphic(t): twists[i] = twists[0] twists[0] = self @@ -1847,15 +1861,20 @@ def twists(self): # Now j is not 0 or 1728, and we only have a quadratic twist - if K.characteristic() == 2: # find D with trace 1 for the additive twist - D = K.one() # will work if degree is odd - while D.trace() == 0: + if K.characteristic() == 2: + # find D with trace 1 for the additive twist + D = K.one() + while not D or D.trace() == 0: D = K.random_element() - else: # find a nonsquare D + else: + # find a nonsquare D. D = K.gen() - q2 = (K.cardinality()-1)//2 + q2 = (K.cardinality() - 1) // 2 while not D or D**q2 == 1: D = K.random_element() + # assert D and D**q2 != 1 + # assert not D.is_square() + return [self, self.quadratic_twist(D)] def curves_with_j_0(K): @@ -1872,6 +1891,7 @@ def curves_with_j_0(K): For `K=\GF{q}` where `q\equiv1\mod{6}` there are six curves, the sextic twists of `y^2=x^3+1`:: + sage: # needs sage.rings.finite_rings sage: from sage.schemes.elliptic_curves.ell_finite_field import curves_with_j_0 sage: sorted(curves_with_j_0(GF(7)), key = lambda E: E.a_invariants()) [Elliptic Curve defined by y^2 = x^3 + 1 over Finite Field of size 7, @@ -1880,13 +1900,12 @@ def curves_with_j_0(K): Elliptic Curve defined by y^2 = x^3 + 4 over Finite Field of size 7, Elliptic Curve defined by y^2 = x^3 + 5 over Finite Field of size 7, Elliptic Curve defined by y^2 = x^3 + 6 over Finite Field of size 7] - sage: curves_with_j_0(GF(25)) # needs sage.rings.finite_rings - [Elliptic Curve defined by y^2 = x^3 + 1 over Finite Field in z2 of size 5^2, - Elliptic Curve defined by y^2 = x^3 + z2 over Finite Field in z2 of size 5^2, - Elliptic Curve defined by y^2 = x^3 + (z2+3) over Finite Field in z2 of size 5^2, - Elliptic Curve defined by y^2 = x^3 + (4*z2+3) over Finite Field in z2 of size 5^2, - Elliptic Curve defined by y^2 = x^3 + (2*z2+2) over Finite Field in z2 of size 5^2, - Elliptic Curve defined by y^2 = x^3 + (4*z2+1) over Finite Field in z2 of size 5^2] + sage: curves = curves_with_j_0(GF(25)); len(curves) + 6 + sage: all(not curves[i].is_isomorphic(curves[j]) for i in range(6) for j in range(i + 1, 6)) + True + sage: set(E.j_invariant() for E in curves) + {0} For `K=\GF{q}` where `q\equiv5\mod{6}` there are two curves, quadratic twists of each other by `-3`: `y^2=x^3+1` and @@ -1910,14 +1929,22 @@ def curves_with_j_0(K): q = K.cardinality() if q % 3 == 2: # Then we only have two quadratic twists (and -3 is non-square) - return [EllipticCurve(K, [0,a]) for a in [1,-27]] + return [EllipticCurve(K, [0, a]) for a in [1, -27]] # Now we have genuine sextic twists, find D generating K* mod 6th powers - q2 = (q-1)//2 - q3 = (q-1)//3 + q2 = (q - 1) // 2 + q3 = (q - 1) // 3 D = K.gen() while not D or D**q2 == 1 or D**q3 == 1: D = K.random_element() - return [EllipticCurve(K, [0,D**i]) for i in range(6)] + + curves = [EllipticCurve(K, [0, D**i]) for i in range(6)] + # TODO: issue 37110, Precompute orders of sextic twists + docs + # The idea should be to evaluate the character (D / q) or something + # Probably reference [RS2010]_ and [Connell1999]_ + # Also a necessary change is `curves_with_j_0` should take in an optional "starting curve" + # (passed from the original .twists call), because if you start twisting from that curve, + # then you can also compute the orders! + return curves def curves_with_j_1728(K): r""" @@ -1939,7 +1966,7 @@ def curves_with_j_1728(K): Elliptic Curve defined by y^2 = x^3 + 2*x over Finite Field of size 5, Elliptic Curve defined by y^2 = x^3 + 3*x over Finite Field of size 5, Elliptic Curve defined by y^2 = x^3 + 4*x over Finite Field of size 5] - sage: curves_with_j_1728(GF(49)) # needs sage.rings.finite_rings + sage: curves_with_j_1728(GF(49)) # random # needs sage.rings.finite_rings [Elliptic Curve defined by y^2 = x^3 + x over Finite Field in z2 of size 7^2, Elliptic Curve defined by y^2 = x^3 + z2*x over Finite Field in z2 of size 7^2, Elliptic Curve defined by y^2 = x^3 + (z2+4)*x over Finite Field in z2 of size 7^2, @@ -1968,11 +1995,12 @@ def curves_with_j_1728(K): if q % 4 == 3: return [EllipticCurve(K, [a,0]) for a in [1,-1]] # Now we have genuine quartic twists, find D generating K* mod 4th powers - q2 = (q-1)//2 + q2 = (q - 1) // 2 D = K.gen() while not D or D**q2 == 1: D = K.random_element() - return [EllipticCurve(K, [D**i,0]) for i in range(4)] + curves = [EllipticCurve(K, [D**i, 0]) for i in range(4)] + return curves def curves_with_j_0_char2(K): r""" @@ -2644,3 +2672,119 @@ def special_supersingular_curve(F, *, endomorphism=False): endo._degree = ZZ(q) endo.trace.set_cache(ZZ.zero()) return E, endo + +def EllipticCurve_with_order(m, *, D=None): + r""" + Return an iterator for elliptic curves over finite fields with the given order. The curves are + computed using the Complex Multiplication (CM) method. + + A `:sage:`~sage.structure.factorization.Factorization` can be passed for ``m``, in which case + the algorithm is more efficient. + + If ``D`` is specified, it is used as the discriminant. + + EXAMPLES:: + + sage: from sage.schemes.elliptic_curves.ell_finite_field import EllipticCurve_with_order + sage: E = next(EllipticCurve_with_order(1234)); E # random + Elliptic Curve defined by y^2 = x^3 + 1142*x + 1209 over Finite Field of size 1237 + sage: E.order() == 1234 + True + + When ``iter`` is set, the function returns an iterator of all elliptic curves with the given + order:: + + sage: from sage.schemes.elliptic_curves.ell_finite_field import EllipticCurve_with_order + sage: it = EllipticCurve_with_order(21); it + + sage: E = next(it); E # random + Elliptic Curve defined by y^2 = x^3 + 6*x + 14 over Finite Field of size 23 + sage: E.order() == 21 + True + sage: Es = [E] + list(it); Es # random + [Elliptic Curve defined by y^2 = x^3 + 6*x + 14 over Finite Field of size 23, + Elliptic Curve defined by y^2 = x^3 + 12*x + 4 over Finite Field of size 23, + Elliptic Curve defined by y^2 = x^3 + 5*x + 2 over Finite Field of size 23, + Elliptic Curve defined by y^2 = x^3 + (z2+3) over Finite Field in z2 of size 5^2, + Elliptic Curve defined by y^2 = x^3 + (2*z2+2) over Finite Field in z2 of size 5^2, + Elliptic Curve defined by y^2 = x^3 + 7*x + 1 over Finite Field of size 19, + Elliptic Curve defined by y^2 = x^3 + 17*x + 10 over Finite Field of size 19, + Elliptic Curve defined by y^2 = x^3 + 5*x + 12 over Finite Field of size 17, + Elliptic Curve defined by y^2 = x^3 + 9*x + 1 over Finite Field of size 17, + Elliptic Curve defined by y^2 = x^3 + 7*x + 6 over Finite Field of size 17, + Elliptic Curve defined by y^2 = x^3 + z3^2*x^2 + (2*z3^2+z3) over Finite Field in z3 of size 3^3, + Elliptic Curve defined by y^2 = x^3 + (z3^2+2*z3+1)*x^2 + (2*z3^2+2*z3) over Finite Field in z3 of size 3^3, + Elliptic Curve defined by y^2 = x^3 + (z3^2+z3+1)*x^2 + (2*z3^2+1) over Finite Field in z3 of size 3^3, + Elliptic Curve defined by y^2 + (z4^2+z4+1)*y = x^3 over Finite Field in z4 of size 2^4, + Elliptic Curve defined by y^2 + (z4^2+z4)*y = x^3 over Finite Field in z4 of size 2^4, + Elliptic Curve defined by y^2 = x^3 + 18*x + 26 over Finite Field of size 29, + Elliptic Curve defined by y^2 = x^3 + 11*x + 19 over Finite Field of size 29, + Elliptic Curve defined by y^2 = x^3 + 4 over Finite Field of size 19, + Elliptic Curve defined by y^2 = x^3 + 19 over Finite Field of size 31, + Elliptic Curve defined by y^2 = x^3 + 4 over Finite Field of size 13] + sage: all(E.order() == 21 for E in Es) + True + + Indeed, we can verify that this is correct. Hasse's bounds tell us that $p \leq 50$ + (approximately), and the rest can be checked via bruteforce:: + + sage: for p in prime_range(50): + ....: for j in range(p): + ....: E0 = EllipticCurve(GF(p), j=j) + ....: for Et in E0.twists(): + ....: if Et.order() == 21: + ....: assert any(Et.is_isomorphic(E) for E in Es) + + .. NOTE:: + + The output curves are not deterministic, as :func:`EllipticCurve_finite_field.twists` is not + deterministic. However, the order of the j-invariants and base fields is fixed. + + AUTHORS: + + - Gareth Ma and Giacomo Pope (Sage Days 123): initial version + """ + from sage.arith.misc import is_prime_power, factor + from sage.quadratic_forms.binary_qf import BinaryQF + from sage.structure.factorization import Factorization + from sage.schemes.elliptic_curves.cm import hilbert_class_polynomial + + def find_q(m, m4_fac, D): + for t, _ in BinaryQF(1, 0, -D).solve_integer(m4_fac, _flag=3): + yield m + 1 - t + yield m + 1 + t + + if isinstance(m, Factorization): + m4_fac = m * factor(4) + m_val = m.value() + else: + m4_fac = factor(m * 4) + m_val = m + + if D is None: + Ds = (D for D in range(-4 * m_val, 0) if D % 4 in [0, 1]) + else: + assert D < 0 and D % 4 in [0, 1] + Ds = [D] + + seen = set() + for D in Ds: + for q in find_q(m_val, m4_fac, D): + if not is_prime_power(q): + continue + + H = hilbert_class_polynomial(D) + K = GF(q) + roots = H.roots(ring=K) + for j0, _ in roots: + E = EllipticCurve(j=j0) + for Et in E.twists(): + if any(Et.is_isomorphic(E) for E in seen): + continue + try: + # This tests whether the curve has given order + Et.set_order(m_val) + seen.add(Et) + yield Et + except ValueError: + pass diff --git a/src/sage/schemes/elliptic_curves/ell_generic.py b/src/sage/schemes/elliptic_curves/ell_generic.py index 4719b914bde..79fafe6a151 100644 --- a/src/sage/schemes/elliptic_curves/ell_generic.py +++ b/src/sage/schemes/elliptic_curves/ell_generic.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes r""" Elliptic curves over a general ring diff --git a/src/sage/schemes/elliptic_curves/ell_local_data.py b/src/sage/schemes/elliptic_curves/ell_local_data.py index 8192b8ce84c..9fb84815993 100644 --- a/src/sage/schemes/elliptic_curves/ell_local_data.py +++ b/src/sage/schemes/elliptic_curves/ell_local_data.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes r""" Local data for elliptic curves over number fields diff --git a/src/sage/schemes/elliptic_curves/ell_modular_symbols.py b/src/sage/schemes/elliptic_curves/ell_modular_symbols.py index 6fc75d2cabb..bc16fea7a3d 100644 --- a/src/sage/schemes/elliptic_curves/ell_modular_symbols.py +++ b/src/sage/schemes/elliptic_curves/ell_modular_symbols.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes r""" Modular symbols attached to elliptic curves over `\QQ` diff --git a/src/sage/schemes/elliptic_curves/ell_number_field.py b/src/sage/schemes/elliptic_curves/ell_number_field.py index b0c07df78b6..95ae59642ef 100644 --- a/src/sage/schemes/elliptic_curves/ell_number_field.py +++ b/src/sage/schemes/elliptic_curves/ell_number_field.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.rings.number_field r""" Elliptic curves over number fields diff --git a/src/sage/schemes/elliptic_curves/ell_padic_field.py b/src/sage/schemes/elliptic_curves/ell_padic_field.py index 2867ff51d23..fb18afdaca7 100644 --- a/src/sage/schemes/elliptic_curves/ell_padic_field.py +++ b/src/sage/schemes/elliptic_curves/ell_padic_field.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.rings.padics """ Elliptic curves over padic fields diff --git a/src/sage/schemes/elliptic_curves/ell_point.py b/src/sage/schemes/elliptic_curves/ell_point.py index a1c1ff796ed..64a4d8cdc0d 100644 --- a/src/sage/schemes/elliptic_curves/ell_point.py +++ b/src/sage/schemes/elliptic_curves/ell_point.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes r""" Points on elliptic curves diff --git a/src/sage/schemes/elliptic_curves/ell_rational_field.py b/src/sage/schemes/elliptic_curves/ell_rational_field.py index f49ccfbc568..38be45180b0 100644 --- a/src/sage/schemes/elliptic_curves/ell_rational_field.py +++ b/src/sage/schemes/elliptic_curves/ell_rational_field.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes r""" Elliptic curves over the rational numbers diff --git a/src/sage/schemes/elliptic_curves/ell_tate_curve.py b/src/sage/schemes/elliptic_curves/ell_tate_curve.py index 70697a4b036..c5fbe595f40 100644 --- a/src/sage/schemes/elliptic_curves/ell_tate_curve.py +++ b/src/sage/schemes/elliptic_curves/ell_tate_curve.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes r""" Tate's parametrisation of `p`-adic curves with multiplicative reduction diff --git a/src/sage/schemes/elliptic_curves/ell_torsion.py b/src/sage/schemes/elliptic_curves/ell_torsion.py index cc543b339a4..49d1e0470b5 100644 --- a/src/sage/schemes/elliptic_curves/ell_torsion.py +++ b/src/sage/schemes/elliptic_curves/ell_torsion.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes r""" Torsion subgroups of elliptic curves over number fields (including `\QQ`) diff --git a/src/sage/schemes/elliptic_curves/ell_wp.py b/src/sage/schemes/elliptic_curves/ell_wp.py index e421b2c285c..28725bfc84b 100644 --- a/src/sage/schemes/elliptic_curves/ell_wp.py +++ b/src/sage/schemes/elliptic_curves/ell_wp.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes r""" Weierstrass `\wp`-function for elliptic curves diff --git a/src/sage/schemes/elliptic_curves/formal_group.py b/src/sage/schemes/elliptic_curves/formal_group.py index ae3dceb8555..4eb070d2047 100644 --- a/src/sage/schemes/elliptic_curves/formal_group.py +++ b/src/sage/schemes/elliptic_curves/formal_group.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes r""" Formal groups of elliptic curves diff --git a/src/sage/schemes/elliptic_curves/gal_reps.py b/src/sage/schemes/elliptic_curves/gal_reps.py index e5b5c9bbe03..b5d50b30627 100644 --- a/src/sage/schemes/elliptic_curves/gal_reps.py +++ b/src/sage/schemes/elliptic_curves/gal_reps.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes r""" Galois representations attached to elliptic curves diff --git a/src/sage/schemes/elliptic_curves/gal_reps_number_field.py b/src/sage/schemes/elliptic_curves/gal_reps_number_field.py index ea9d3bdc2ed..69f40a8083b 100644 --- a/src/sage/schemes/elliptic_curves/gal_reps_number_field.py +++ b/src/sage/schemes/elliptic_curves/gal_reps_number_field.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.rings.number_field r""" Galois representations for elliptic curves over number fields diff --git a/src/sage/schemes/elliptic_curves/gp_simon.py b/src/sage/schemes/elliptic_curves/gp_simon.py index 39a60361ec6..96dad566b71 100644 --- a/src/sage/schemes/elliptic_curves/gp_simon.py +++ b/src/sage/schemes/elliptic_curves/gp_simon.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.libs.pari """ Denis Simon's PARI scripts diff --git a/src/sage/schemes/elliptic_curves/heegner.py b/src/sage/schemes/elliptic_curves/heegner.py index df91b74b280..c8d51392338 100644 --- a/src/sage/schemes/elliptic_curves/heegner.py +++ b/src/sage/schemes/elliptic_curves/heegner.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.rings.number_field r""" Heegner points on elliptic curves over the rational numbers diff --git a/src/sage/schemes/elliptic_curves/height.py b/src/sage/schemes/elliptic_curves/height.py index 7ddd080d5b1..3dee2ee4a01 100644 --- a/src/sage/schemes/elliptic_curves/height.py +++ b/src/sage/schemes/elliptic_curves/height.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes r""" Canonical heights for elliptic curves over number fields diff --git a/src/sage/schemes/elliptic_curves/hom.py b/src/sage/schemes/elliptic_curves/hom.py index fe450c89c5c..bf1b187c0e7 100644 --- a/src/sage/schemes/elliptic_curves/hom.py +++ b/src/sage/schemes/elliptic_curves/hom.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes """ Elliptic-curve morphisms diff --git a/src/sage/schemes/elliptic_curves/hom_composite.py b/src/sage/schemes/elliptic_curves/hom_composite.py index b9dcc197616..76e289fe5bd 100644 --- a/src/sage/schemes/elliptic_curves/hom_composite.py +++ b/src/sage/schemes/elliptic_curves/hom_composite.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes r""" Composite morphisms of elliptic curves diff --git a/src/sage/schemes/elliptic_curves/hom_frobenius.py b/src/sage/schemes/elliptic_curves/hom_frobenius.py index 66aa3a5b5a4..2daa4348905 100644 --- a/src/sage/schemes/elliptic_curves/hom_frobenius.py +++ b/src/sage/schemes/elliptic_curves/hom_frobenius.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.rings.finite_rings r""" Frobenius isogenies of elliptic curves diff --git a/src/sage/schemes/elliptic_curves/hom_scalar.py b/src/sage/schemes/elliptic_curves/hom_scalar.py index de3a02c9b9d..8b9eb2292d2 100644 --- a/src/sage/schemes/elliptic_curves/hom_scalar.py +++ b/src/sage/schemes/elliptic_curves/hom_scalar.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes r""" Scalar-multiplication morphisms of elliptic curves diff --git a/src/sage/schemes/elliptic_curves/hom_sum.py b/src/sage/schemes/elliptic_curves/hom_sum.py index ab10ec0d530..1492d0409d4 100644 --- a/src/sage/schemes/elliptic_curves/hom_sum.py +++ b/src/sage/schemes/elliptic_curves/hom_sum.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes r""" Sums of morphisms of elliptic curves diff --git a/src/sage/schemes/elliptic_curves/hom_velusqrt.py b/src/sage/schemes/elliptic_curves/hom_velusqrt.py index 769611c61cd..f12cfa9cdab 100644 --- a/src/sage/schemes/elliptic_curves/hom_velusqrt.py +++ b/src/sage/schemes/elliptic_curves/hom_velusqrt.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes r""" Square‑root Vélu algorithm for elliptic-curve isogenies diff --git a/src/sage/schemes/elliptic_curves/isogeny_class.py b/src/sage/schemes/elliptic_curves/isogeny_class.py index b20e173cff9..008c61856b5 100644 --- a/src/sage/schemes/elliptic_curves/isogeny_class.py +++ b/src/sage/schemes/elliptic_curves/isogeny_class.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.rings.number_field r""" Isogeny class of elliptic curves over number fields diff --git a/src/sage/schemes/elliptic_curves/isogeny_small_degree.py b/src/sage/schemes/elliptic_curves/isogeny_small_degree.py index 4623828ccc5..3299d407039 100644 --- a/src/sage/schemes/elliptic_curves/isogeny_small_degree.py +++ b/src/sage/schemes/elliptic_curves/isogeny_small_degree.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes r""" Isogenies of small prime degree diff --git a/src/sage/schemes/elliptic_curves/jacobian.py b/src/sage/schemes/elliptic_curves/jacobian.py index 23151109453..16bdf2d11b4 100644 --- a/src/sage/schemes/elliptic_curves/jacobian.py +++ b/src/sage/schemes/elliptic_curves/jacobian.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes """ Construct elliptic curves as Jacobians diff --git a/src/sage/schemes/elliptic_curves/kodaira_symbol.py b/src/sage/schemes/elliptic_curves/kodaira_symbol.py index 3b3b976fa66..c07e1d825e0 100644 --- a/src/sage/schemes/elliptic_curves/kodaira_symbol.py +++ b/src/sage/schemes/elliptic_curves/kodaira_symbol.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes r""" Kodaira symbols diff --git a/src/sage/schemes/elliptic_curves/kraus.py b/src/sage/schemes/elliptic_curves/kraus.py index b117e8f7ba7..3420569f896 100644 --- a/src/sage/schemes/elliptic_curves/kraus.py +++ b/src/sage/schemes/elliptic_curves/kraus.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes r""" Global and semi-global minimal models for elliptic curves over number fields diff --git a/src/sage/schemes/elliptic_curves/lseries_ell.py b/src/sage/schemes/elliptic_curves/lseries_ell.py index 26d9042908f..65208647631 100644 --- a/src/sage/schemes/elliptic_curves/lseries_ell.py +++ b/src/sage/schemes/elliptic_curves/lseries_ell.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes """ `L`-series for elliptic curves diff --git a/src/sage/schemes/elliptic_curves/mod5family.py b/src/sage/schemes/elliptic_curves/mod5family.py index 64069c342b7..19943d6cf55 100644 --- a/src/sage/schemes/elliptic_curves/mod5family.py +++ b/src/sage/schemes/elliptic_curves/mod5family.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes """ Elliptic curves with congruent mod-5 representation diff --git a/src/sage/schemes/elliptic_curves/mod_poly.py b/src/sage/schemes/elliptic_curves/mod_poly.py index 580e2aa7598..c139742a6d8 100644 --- a/src/sage/schemes/elliptic_curves/mod_poly.py +++ b/src/sage/schemes/elliptic_curves/mod_poly.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes r""" Modular polynomials for elliptic curves diff --git a/src/sage/schemes/elliptic_curves/mod_sym_num.pyx b/src/sage/schemes/elliptic_curves/mod_sym_num.pyx index a131dc8a47c..ee40b5daceb 100644 --- a/src/sage/schemes/elliptic_curves/mod_sym_num.pyx +++ b/src/sage/schemes/elliptic_curves/mod_sym_num.pyx @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-schemes #cdivision=False #cython: cdivision_warnings=False #cython: profile=False diff --git a/src/sage/schemes/elliptic_curves/modular_parametrization.py b/src/sage/schemes/elliptic_curves/modular_parametrization.py index 2ed663e31cb..0f3e4d4bc04 100644 --- a/src/sage/schemes/elliptic_curves/modular_parametrization.py +++ b/src/sage/schemes/elliptic_curves/modular_parametrization.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes r""" Modular parametrization of elliptic curves over `\QQ` diff --git a/src/sage/schemes/elliptic_curves/padic_lseries.py b/src/sage/schemes/elliptic_curves/padic_lseries.py index 113d7e16104..9e6e76c538f 100644 --- a/src/sage/schemes/elliptic_curves/padic_lseries.py +++ b/src/sage/schemes/elliptic_curves/padic_lseries.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.rings.padics r""" `p`-adic `L`-functions of elliptic curves diff --git a/src/sage/schemes/elliptic_curves/padics.py b/src/sage/schemes/elliptic_curves/padics.py index 63974e617f1..c2f72ad18f9 100644 --- a/src/sage/schemes/elliptic_curves/padics.py +++ b/src/sage/schemes/elliptic_curves/padics.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.rings.padics # # All these methods are imported in EllipticCurve_rational_field, diff --git a/src/sage/schemes/elliptic_curves/period_lattice.py b/src/sage/schemes/elliptic_curves/period_lattice.py index 7cdc5dd6eee..799863a93c2 100644 --- a/src/sage/schemes/elliptic_curves/period_lattice.py +++ b/src/sage/schemes/elliptic_curves/period_lattice.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes r""" Period lattices of elliptic curves and related functions diff --git a/src/sage/schemes/elliptic_curves/period_lattice_region.pyx b/src/sage/schemes/elliptic_curves/period_lattice_region.pyx index 60c132db2d1..e26f87a1d75 100644 --- a/src/sage/schemes/elliptic_curves/period_lattice_region.pyx +++ b/src/sage/schemes/elliptic_curves/period_lattice_region.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.rings.complex_double sage.symbolic r""" Regions in fundamental domains of period lattices diff --git a/src/sage/schemes/elliptic_curves/saturation.py b/src/sage/schemes/elliptic_curves/saturation.py index 5f3e1dcd629..f7149ffc198 100644 --- a/src/sage/schemes/elliptic_curves/saturation.py +++ b/src/sage/schemes/elliptic_curves/saturation.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.rings.finite_rings sage.rings.number_field r""" Saturation of Mordell-Weil groups of elliptic curves over number fields diff --git a/src/sage/schemes/elliptic_curves/sha_tate.py b/src/sage/schemes/elliptic_curves/sha_tate.py index 16bbf1d4a72..0c9f0c541cb 100644 --- a/src/sage/schemes/elliptic_curves/sha_tate.py +++ b/src/sage/schemes/elliptic_curves/sha_tate.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes r""" Tate-Shafarevich group diff --git a/src/sage/schemes/elliptic_curves/weierstrass_morphism.py b/src/sage/schemes/elliptic_curves/weierstrass_morphism.py index 422b28b67fe..376a833a0bc 100644 --- a/src/sage/schemes/elliptic_curves/weierstrass_morphism.py +++ b/src/sage/schemes/elliptic_curves/weierstrass_morphism.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes r""" Isomorphisms between Weierstrass models of elliptic curves diff --git a/src/sage/schemes/elliptic_curves/weierstrass_transform.py b/src/sage/schemes/elliptic_curves/weierstrass_transform.py index 07f897fb315..b5f1aab85fa 100644 --- a/src/sage/schemes/elliptic_curves/weierstrass_transform.py +++ b/src/sage/schemes/elliptic_curves/weierstrass_transform.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes """ Morphism to bring a genus-one curve into Weierstrass form diff --git a/src/sage/schemes/generic/algebraic_scheme.py b/src/sage/schemes/generic/algebraic_scheme.py index 172256fa6a1..d9dd66a23dd 100644 --- a/src/sage/schemes/generic/algebraic_scheme.py +++ b/src/sage/schemes/generic/algebraic_scheme.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Algebraic schemes diff --git a/src/sage/schemes/generic/all.py b/src/sage/schemes/generic/all.py index b8ba9585bfa..58686520213 100644 --- a/src/sage/schemes/generic/all.py +++ b/src/sage/schemes/generic/all.py @@ -1,4 +1,5 @@ +# sage_setup: distribution = sagemath-categories # code exports -from .spec import Spec -from .hypersurface import ProjectiveHypersurface, AffineHypersurface +from sage.schemes.generic.spec import Spec +from sage.schemes.generic.hypersurface import ProjectiveHypersurface, AffineHypersurface diff --git a/src/sage/schemes/generic/ambient_space.py b/src/sage/schemes/generic/ambient_space.py index 52b3f1e0e39..d99e17921b6 100644 --- a/src/sage/schemes/generic/ambient_space.py +++ b/src/sage/schemes/generic/ambient_space.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Ambient spaces """ diff --git a/src/sage/schemes/generic/divisor.py b/src/sage/schemes/generic/divisor.py index c6d99b12204..b8a9c0c32ca 100644 --- a/src/sage/schemes/generic/divisor.py +++ b/src/sage/schemes/generic/divisor.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.schemes """ Divisors on schemes diff --git a/src/sage/schemes/generic/divisor_group.py b/src/sage/schemes/generic/divisor_group.py index 5dfd66a1bb9..775bc38927a 100644 --- a/src/sage/schemes/generic/divisor_group.py +++ b/src/sage/schemes/generic/divisor_group.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Divisor groups diff --git a/src/sage/schemes/generic/glue.py b/src/sage/schemes/generic/glue.py index e70aafa0507..bef3adf9009 100644 --- a/src/sage/schemes/generic/glue.py +++ b/src/sage/schemes/generic/glue.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Scheme obtained by gluing two other schemes """ diff --git a/src/sage/schemes/generic/homset.py b/src/sage/schemes/generic/homset.py index 6fca9c1e257..55906516985 100644 --- a/src/sage/schemes/generic/homset.py +++ b/src/sage/schemes/generic/homset.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Set of homomorphisms between two schemes diff --git a/src/sage/schemes/generic/hypersurface.py b/src/sage/schemes/generic/hypersurface.py index f4991527c78..07b9683ec66 100644 --- a/src/sage/schemes/generic/hypersurface.py +++ b/src/sage/schemes/generic/hypersurface.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.schemes r""" Hypersurfaces in affine and projective space diff --git a/src/sage/schemes/generic/morphism.py b/src/sage/schemes/generic/morphism.py index 7d91214e32a..f680193977c 100644 --- a/src/sage/schemes/generic/morphism.py +++ b/src/sage/schemes/generic/morphism.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Scheme morphism diff --git a/src/sage/schemes/generic/point.py b/src/sage/schemes/generic/point.py index 7ef85645f56..0eb63567253 100644 --- a/src/sage/schemes/generic/point.py +++ b/src/sage/schemes/generic/point.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Points on schemes """ diff --git a/src/sage/schemes/generic/scheme.py b/src/sage/schemes/generic/scheme.py index 2c0e3100c86..4865a5c1782 100644 --- a/src/sage/schemes/generic/scheme.py +++ b/src/sage/schemes/generic/scheme.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Schemes diff --git a/src/sage/schemes/generic/spec.py b/src/sage/schemes/generic/spec.py index 93fc8b7e43c..2a85eaa447e 100644 --- a/src/sage/schemes/generic/spec.py +++ b/src/sage/schemes/generic/spec.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ The Spec functor diff --git a/src/sage/schemes/hyperelliptic_curves/all.py b/src/sage/schemes/hyperelliptic_curves/all.py index 88733235129..01603fb4b66 100644 --- a/src/sage/schemes/hyperelliptic_curves/all.py +++ b/src/sage/schemes/hyperelliptic_curves/all.py @@ -1,4 +1,7 @@ -from .constructor import HyperellipticCurve -from .kummer_surface import KummerSurface -from .mestre import (Mestre_conic, HyperellipticCurve_from_invariants) -from . import monsky_washnitzer +# sage_setup: distribution = sagemath-schemes + +from sage.schemes.hyperelliptic_curves.constructor import HyperellipticCurve +from sage.schemes.hyperelliptic_curves.kummer_surface import KummerSurface +from sage.schemes.hyperelliptic_curves.mestre import ( + Mestre_conic, HyperellipticCurve_from_invariants) +from sage.schemes.hyperelliptic_curves import monsky_washnitzer diff --git a/src/sage/schemes/hyperelliptic_curves/all__sagemath_ntl.py b/src/sage/schemes/hyperelliptic_curves/all__sagemath_ntl.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/schemes/hyperelliptic_curves/constructor.py b/src/sage/schemes/hyperelliptic_curves/constructor.py index 8ed20d9ce5a..60856b8cc2f 100644 --- a/src/sage/schemes/hyperelliptic_curves/constructor.py +++ b/src/sage/schemes/hyperelliptic_curves/constructor.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes """ Hyperelliptic curve constructor diff --git a/src/sage/schemes/hyperelliptic_curves/hypellfrob.pyx b/src/sage/schemes/hyperelliptic_curves/hypellfrob.pyx index 9f9bb04d0ea..cffccdfaabd 100644 --- a/src/sage/schemes/hyperelliptic_curves/hypellfrob.pyx +++ b/src/sage/schemes/hyperelliptic_curves/hypellfrob.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-ntl # distutils: language = c++ # distutils: sources = sage/schemes/hyperelliptic_curves/hypellfrob/hypellfrob.cpp sage/schemes/hyperelliptic_curves/hypellfrob/recurrences_ntl.cpp # distutils: depends = sage/schemes/hyperelliptic_curves/hypellfrob/hypellfrob.h sage/schemes/hyperelliptic_curves/hypellfrob/recurrences_ntl.h diff --git a/src/sage/schemes/hyperelliptic_curves/hyperelliptic_finite_field.py b/src/sage/schemes/hyperelliptic_curves/hyperelliptic_finite_field.py index f461132b1d1..05480eee5f3 100644 --- a/src/sage/schemes/hyperelliptic_curves/hyperelliptic_finite_field.py +++ b/src/sage/schemes/hyperelliptic_curves/hyperelliptic_finite_field.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.rings.finite_rings r""" Hyperelliptic curves over a finite field diff --git a/src/sage/schemes/hyperelliptic_curves/hyperelliptic_g2.py b/src/sage/schemes/hyperelliptic_curves/hyperelliptic_g2.py index b2850e39cbd..900327c2e54 100644 --- a/src/sage/schemes/hyperelliptic_curves/hyperelliptic_g2.py +++ b/src/sage/schemes/hyperelliptic_curves/hyperelliptic_g2.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes """ Hyperelliptic curves of genus 2 over a general ring """ diff --git a/src/sage/schemes/hyperelliptic_curves/hyperelliptic_generic.py b/src/sage/schemes/hyperelliptic_curves/hyperelliptic_generic.py index c18732064d4..3b243677e18 100644 --- a/src/sage/schemes/hyperelliptic_curves/hyperelliptic_generic.py +++ b/src/sage/schemes/hyperelliptic_curves/hyperelliptic_generic.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes """ Hyperelliptic curves over a general ring diff --git a/src/sage/schemes/hyperelliptic_curves/hyperelliptic_padic_field.py b/src/sage/schemes/hyperelliptic_curves/hyperelliptic_padic_field.py index 018d60c22f8..44e08e87627 100644 --- a/src/sage/schemes/hyperelliptic_curves/hyperelliptic_padic_field.py +++ b/src/sage/schemes/hyperelliptic_curves/hyperelliptic_padic_field.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.rings.padics """ Hyperelliptic curves over a `p`-adic field diff --git a/src/sage/schemes/hyperelliptic_curves/hyperelliptic_rational_field.py b/src/sage/schemes/hyperelliptic_curves/hyperelliptic_rational_field.py index f9337b0fbc0..a46d8a81cec 100644 --- a/src/sage/schemes/hyperelliptic_curves/hyperelliptic_rational_field.py +++ b/src/sage/schemes/hyperelliptic_curves/hyperelliptic_rational_field.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes """ Hyperelliptic curves over the rationals """ @@ -20,21 +21,48 @@ class HyperellipticCurve_rational_field(hyperelliptic_generic.HyperellipticCurve ProjectivePlaneCurve_field): def matrix_of_frobenius(self, p, prec=20): + """ + Compute the matrix of Frobenius on Monsky-Washnitzer cohomology using + the `p`-adic field with precision ``prec``. + + This function is essentially a wrapper function of + :meth:`sage.schemes.hyperelliptic_curves.monsky_washnitzer.matrix_of_frobenius_hyperelliptic`. + + INPUT: - # BUG: should get this method from HyperellipticCurve_generic - def my_chage_ring(self, R): - from .constructor import HyperellipticCurve - f, h = self._hyperelliptic_polynomials - y = self._printing_ring.gen() - x = self._printing_ring.base_ring().gen() - return HyperellipticCurve(f.change_ring(R), h, "%s,%s" % (x,y)) + - ``p`` (prime integer or pAdic ring / field) -- if ``p`` is an integer, + constructs a ``pAdicField`` with ``p`` to compute the matrix of + Frobenius, otherwise uses the supplied pAdic ring or field. + - ``prec`` (optional) -- if ``p`` is an prime integer, the `p`-adic + precision of the coefficient ring constructed. + + EXAMPLES:: + + sage: K = pAdicField(5, prec=3) + sage: R. = QQ['x'] + sage: H = HyperellipticCurve(x^5 - 2*x + 3) + sage: H.matrix_of_frobenius(K) + [ 4*5 + O(5^3) 5 + 2*5^2 + O(5^3) 2 + 3*5 + 2*5^2 + O(5^3) 2 + 5 + 5^2 + O(5^3)] + [ 3*5 + 5^2 + O(5^3) 3*5 + O(5^3) 4*5 + O(5^3) 2 + 5^2 + O(5^3)] + [ 4*5 + 4*5^2 + O(5^3) 3*5 + 2*5^2 + O(5^3) 5 + 3*5^2 + O(5^3) 2*5 + 2*5^2 + O(5^3)] + [ 5^2 + O(5^3) 5 + 4*5^2 + O(5^3) 4*5 + 3*5^2 + O(5^3) 2*5 + O(5^3)] + + You can also pass directly a prime `p` with to construct a pAdic field with precision + ``prec``:: + + sage: H.matrix_of_frobenius(3, prec=2) + [ O(3^2) 3 + O(3^2) O(3^2) O(3^2)] + [ 3 + O(3^2) O(3^2) O(3^2) 2 + 3 + O(3^2)] + [ 2*3 + O(3^2) O(3^2) O(3^2) 3^-1 + O(3)] + [ O(3^2) O(3^2) 3 + O(3^2) O(3^2)] + """ import sage.schemes.hyperelliptic_curves.monsky_washnitzer as monsky_washnitzer if isinstance(p, (sage.rings.abc.pAdicField, sage.rings.abc.pAdicRing)): K = p else: K = pAdicField(p, prec) - frob_p, forms = monsky_washnitzer.matrix_of_frobenius_hyperelliptic(my_chage_ring(self, K)) + frob_p, _ = monsky_washnitzer.matrix_of_frobenius_hyperelliptic(self.change_ring(K)) return frob_p def lseries(self, prec=53): diff --git a/src/sage/schemes/hyperelliptic_curves/invariants.py b/src/sage/schemes/hyperelliptic_curves/invariants.py index 258775c7bc6..d1cf58258a0 100644 --- a/src/sage/schemes/hyperelliptic_curves/invariants.py +++ b/src/sage/schemes/hyperelliptic_curves/invariants.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes r""" Compute invariants of quintics and sextics via 'Ueberschiebung' diff --git a/src/sage/schemes/hyperelliptic_curves/jacobian_endomorphism_utils.py b/src/sage/schemes/hyperelliptic_curves/jacobian_endomorphism_utils.py index 2ceb709b646..a073444055c 100644 --- a/src/sage/schemes/hyperelliptic_curves/jacobian_endomorphism_utils.py +++ b/src/sage/schemes/hyperelliptic_curves/jacobian_endomorphism_utils.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes r""" Some functions regarding geometric endomorphism rings of Jacobians of hyperelliptic curves. diff --git a/src/sage/schemes/hyperelliptic_curves/jacobian_g2.py b/src/sage/schemes/hyperelliptic_curves/jacobian_g2.py index b4b4259326e..9b17869dde1 100644 --- a/src/sage/schemes/hyperelliptic_curves/jacobian_g2.py +++ b/src/sage/schemes/hyperelliptic_curves/jacobian_g2.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes """ Jacobian of a hyperelliptic curve of genus 2 """ diff --git a/src/sage/schemes/hyperelliptic_curves/jacobian_generic.py b/src/sage/schemes/hyperelliptic_curves/jacobian_generic.py index 2e91a96e02a..015efdd184d 100644 --- a/src/sage/schemes/hyperelliptic_curves/jacobian_generic.py +++ b/src/sage/schemes/hyperelliptic_curves/jacobian_generic.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes """ Jacobian of a general hyperelliptic curve """ diff --git a/src/sage/schemes/hyperelliptic_curves/jacobian_homset.py b/src/sage/schemes/hyperelliptic_curves/jacobian_homset.py index a5f4f63876c..46cdca7851c 100644 --- a/src/sage/schemes/hyperelliptic_curves/jacobian_homset.py +++ b/src/sage/schemes/hyperelliptic_curves/jacobian_homset.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes """ Rational point sets on a Jacobian diff --git a/src/sage/schemes/hyperelliptic_curves/jacobian_morphism.py b/src/sage/schemes/hyperelliptic_curves/jacobian_morphism.py index 72024866cb6..daab2d2259e 100644 --- a/src/sage/schemes/hyperelliptic_curves/jacobian_morphism.py +++ b/src/sage/schemes/hyperelliptic_curves/jacobian_morphism.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes r""" Jacobian 'morphism' as a class in the Picard group diff --git a/src/sage/schemes/hyperelliptic_curves/kummer_surface.py b/src/sage/schemes/hyperelliptic_curves/kummer_surface.py index dadf1200f01..ead0f84dba6 100644 --- a/src/sage/schemes/hyperelliptic_curves/kummer_surface.py +++ b/src/sage/schemes/hyperelliptic_curves/kummer_surface.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes """ Kummer surfaces over a general ring """ diff --git a/src/sage/schemes/hyperelliptic_curves/mestre.py b/src/sage/schemes/hyperelliptic_curves/mestre.py index 9da4995bcf3..bccee0596ef 100644 --- a/src/sage/schemes/hyperelliptic_curves/mestre.py +++ b/src/sage/schemes/hyperelliptic_curves/mestre.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes r""" Mestre's algorithm diff --git a/src/sage/schemes/hyperelliptic_curves/monsky_washnitzer.py b/src/sage/schemes/hyperelliptic_curves/monsky_washnitzer.py index 03b795a4704..da9a6029d50 100644 --- a/src/sage/schemes/hyperelliptic_curves/monsky_washnitzer.py +++ b/src/sage/schemes/hyperelliptic_curves/monsky_washnitzer.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes r""" Computation of Frobenius matrix on Monsky-Washnitzer cohomology diff --git a/src/sage/schemes/jacobians/abstract_jacobian.py b/src/sage/schemes/jacobians/abstract_jacobian.py index 9ab2ef283ae..d5e7c831515 100644 --- a/src/sage/schemes/jacobians/abstract_jacobian.py +++ b/src/sage/schemes/jacobians/abstract_jacobian.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes """ Jacobians of curves diff --git a/src/sage/schemes/jacobians/all.py b/src/sage/schemes/jacobians/all.py index ec769450947..9179802b171 100644 --- a/src/sage/schemes/jacobians/all.py +++ b/src/sage/schemes/jacobians/all.py @@ -1 +1,3 @@ -#from abstract_jacobian import is_Jacobian, Jacobian +# sage_setup: distribution = sagemath-schemes + +# from abstract_jacobian import is_Jacobian, Jacobian diff --git a/src/sage/schemes/overview.py b/src/sage/schemes/overview.py index bd83daafac0..ed71a5993a1 100644 --- a/src/sage/schemes/overview.py +++ b/src/sage/schemes/overview.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes r""" Scheme implementation overview diff --git a/src/sage/schemes/plane_conics/all.py b/src/sage/schemes/plane_conics/all.py index b0237ba2e7c..c3b1170b6b4 100644 --- a/src/sage/schemes/plane_conics/all.py +++ b/src/sage/schemes/plane_conics/all.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes """ Plane conics """ @@ -18,4 +19,4 @@ # # https://www.gnu.org/licenses/ # **************************************************************************** -from .constructor import Conic +from sage.schemes.plane_conics.constructor import Conic diff --git a/src/sage/schemes/plane_conics/con_field.py b/src/sage/schemes/plane_conics/con_field.py index edb6cc82eb4..f7e213d57cc 100644 --- a/src/sage/schemes/plane_conics/con_field.py +++ b/src/sage/schemes/plane_conics/con_field.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes r""" Projective plane conics over a field diff --git a/src/sage/schemes/plane_conics/con_finite_field.py b/src/sage/schemes/plane_conics/con_finite_field.py index e62d8db828f..30b2a19357d 100644 --- a/src/sage/schemes/plane_conics/con_finite_field.py +++ b/src/sage/schemes/plane_conics/con_finite_field.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.rings.finite_rings r""" Projective plane conics over finite fields diff --git a/src/sage/schemes/plane_conics/con_number_field.py b/src/sage/schemes/plane_conics/con_number_field.py index 3f1c7c90414..b419664ee12 100644 --- a/src/sage/schemes/plane_conics/con_number_field.py +++ b/src/sage/schemes/plane_conics/con_number_field.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs sage.rings.number_field r""" Projective plane conics over a number field diff --git a/src/sage/schemes/plane_conics/con_rational_field.py b/src/sage/schemes/plane_conics/con_rational_field.py index f59468d3b90..51cd9e8248b 100644 --- a/src/sage/schemes/plane_conics/con_rational_field.py +++ b/src/sage/schemes/plane_conics/con_rational_field.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes r""" Projective plane conics over `\QQ` diff --git a/src/sage/schemes/plane_conics/con_rational_function_field.py b/src/sage/schemes/plane_conics/con_rational_function_field.py index fec1a50fdbb..8caad318aa4 100644 --- a/src/sage/schemes/plane_conics/con_rational_function_field.py +++ b/src/sage/schemes/plane_conics/con_rational_function_field.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes r""" Projective plane conics over a rational function field diff --git a/src/sage/schemes/plane_conics/constructor.py b/src/sage/schemes/plane_conics/constructor.py index a078bc07d22..293a8baf6fd 100644 --- a/src/sage/schemes/plane_conics/constructor.py +++ b/src/sage/schemes/plane_conics/constructor.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes r""" Plane conic constructor diff --git a/src/sage/schemes/plane_quartics/all.py b/src/sage/schemes/plane_quartics/all.py index 6986f1ec1fa..d0e58a36de1 100644 --- a/src/sage/schemes/plane_quartics/all.py +++ b/src/sage/schemes/plane_quartics/all.py @@ -1 +1,3 @@ -from .quartic_constructor import QuarticCurve +# sage_setup: distribution = sagemath-schemes + +from sage.schemes.plane_quartics.quartic_constructor import QuarticCurve diff --git a/src/sage/schemes/plane_quartics/quartic_constructor.py b/src/sage/schemes/plane_quartics/quartic_constructor.py index 37c06a1f5c9..d091cce9731 100644 --- a/src/sage/schemes/plane_quartics/quartic_constructor.py +++ b/src/sage/schemes/plane_quartics/quartic_constructor.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes """ Quartic curve constructor """ diff --git a/src/sage/schemes/plane_quartics/quartic_generic.py b/src/sage/schemes/plane_quartics/quartic_generic.py index ac2cdd84d82..fcdf38f3abf 100644 --- a/src/sage/schemes/plane_quartics/quartic_generic.py +++ b/src/sage/schemes/plane_quartics/quartic_generic.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes """ Plane quartic curves over a general ring diff --git a/src/sage/schemes/product_projective/all.py b/src/sage/schemes/product_projective/all.py index c9ee0d6b51f..56ec5181f39 100644 --- a/src/sage/schemes/product_projective/all.py +++ b/src/sage/schemes/product_projective/all.py @@ -1,4 +1,6 @@ +# sage_setup: distribution = sagemath-categories from sage.misc.lazy_import import lazy_import lazy_import('sage.schemes.product_projective.space', 'ProductProjectiveSpaces') lazy_import('sage.schemes.product_projective.space', 'is_ProductProjectiveSpaces') +del lazy_import diff --git a/src/sage/schemes/product_projective/homset.py b/src/sage/schemes/product_projective/homset.py index b0b8655a0ec..0072d3eb97f 100644 --- a/src/sage/schemes/product_projective/homset.py +++ b/src/sage/schemes/product_projective/homset.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Set of homomorphisms diff --git a/src/sage/schemes/product_projective/morphism.py b/src/sage/schemes/product_projective/morphism.py index d5b1974164b..1326f3ea358 100644 --- a/src/sage/schemes/product_projective/morphism.py +++ b/src/sage/schemes/product_projective/morphism.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Polynomial morphisms for products of projective spaces diff --git a/src/sage/schemes/product_projective/point.py b/src/sage/schemes/product_projective/point.py index 6de7cf74d7d..456755d5c03 100644 --- a/src/sage/schemes/product_projective/point.py +++ b/src/sage/schemes/product_projective/point.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Points for products of projective spaces diff --git a/src/sage/schemes/product_projective/rational_point.py b/src/sage/schemes/product_projective/rational_point.py index a4488647063..f4d55e60bbc 100644 --- a/src/sage/schemes/product_projective/rational_point.py +++ b/src/sage/schemes/product_projective/rational_point.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Enumeration of rational points on product projective schemes diff --git a/src/sage/schemes/product_projective/space.py b/src/sage/schemes/product_projective/space.py index 3fee46cc15a..0dea77c2f2f 100644 --- a/src/sage/schemes/product_projective/space.py +++ b/src/sage/schemes/product_projective/space.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Products of projective spaces diff --git a/src/sage/schemes/product_projective/subscheme.py b/src/sage/schemes/product_projective/subscheme.py index 35433ba565b..0627823f6b1 100644 --- a/src/sage/schemes/product_projective/subscheme.py +++ b/src/sage/schemes/product_projective/subscheme.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Subschemes of products of projective spaces diff --git a/src/sage/schemes/projective/all.py b/src/sage/schemes/projective/all.py index 44e92ee5f23..4dcc66d77da 100644 --- a/src/sage/schemes/projective/all.py +++ b/src/sage/schemes/projective/all.py @@ -1,8 +1,9 @@ +# sage_setup: distribution = sagemath-categories """nodoctest all.py -- export of projective schemes to Sage """ -#***************************************************************************** +# ***************************************************************************** # # Sage: Open Source Mathematical Software # @@ -17,7 +18,7 @@ # # The full text of the GPL is available at: # -# http://www.gnu.org/licenses/ -#***************************************************************************** +# https://www.gnu.org/licenses/ +# ***************************************************************************** -from .projective_space import ProjectiveSpace, is_ProjectiveSpace +from sage.schemes.projective.projective_space import ProjectiveSpace, is_ProjectiveSpace diff --git a/src/sage/schemes/projective/proj_bdd_height.py b/src/sage/schemes/projective/proj_bdd_height.py index 0ea174ddc4d..4ae7afd0ab6 100644 --- a/src/sage/schemes/projective/proj_bdd_height.py +++ b/src/sage/schemes/projective/proj_bdd_height.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Points of bounded height in projective spaces diff --git a/src/sage/schemes/projective/projective_homset.py b/src/sage/schemes/projective/projective_homset.py index 91c01a51128..c7a747dd0fe 100644 --- a/src/sage/schemes/projective/projective_homset.py +++ b/src/sage/schemes/projective/projective_homset.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Set of homomorphisms between two projective schemes diff --git a/src/sage/schemes/projective/projective_morphism.py b/src/sage/schemes/projective/projective_morphism.py index 6d81b47abc2..dfed249e18d 100644 --- a/src/sage/schemes/projective/projective_morphism.py +++ b/src/sage/schemes/projective/projective_morphism.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Morphisms on projective schemes diff --git a/src/sage/schemes/projective/projective_point.py b/src/sage/schemes/projective/projective_point.py index 2f5576e6a12..6e420bb8309 100644 --- a/src/sage/schemes/projective/projective_point.py +++ b/src/sage/schemes/projective/projective_point.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Points on projective varieties diff --git a/src/sage/schemes/projective/projective_rational_point.py b/src/sage/schemes/projective/projective_rational_point.py index 8c2fa76599a..48f94508f1c 100644 --- a/src/sage/schemes/projective/projective_rational_point.py +++ b/src/sage/schemes/projective/projective_rational_point.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Enumeration of rational points on projective schemes diff --git a/src/sage/schemes/projective/projective_space.py b/src/sage/schemes/projective/projective_space.py index 5c55a62106e..d4d041550cf 100644 --- a/src/sage/schemes/projective/projective_space.py +++ b/src/sage/schemes/projective/projective_space.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Projective `n` space over a ring diff --git a/src/sage/schemes/projective/projective_subscheme.py b/src/sage/schemes/projective/projective_subscheme.py index 3ea963e0e04..7ea3a3ab251 100644 --- a/src/sage/schemes/projective/projective_subscheme.py +++ b/src/sage/schemes/projective/projective_subscheme.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Subschemes of projective space diff --git a/src/sage/schemes/riemann_surfaces/all.py b/src/sage/schemes/riemann_surfaces/all.py index e69de29bb2d..c05f67159dc 100644 --- a/src/sage/schemes/riemann_surfaces/all.py +++ b/src/sage/schemes/riemann_surfaces/all.py @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-schemes diff --git a/src/sage/schemes/riemann_surfaces/riemann_surface.py b/src/sage/schemes/riemann_surfaces/riemann_surface.py index fb6715f5f87..e3847b57038 100644 --- a/src/sage/schemes/riemann_surfaces/riemann_surface.py +++ b/src/sage/schemes/riemann_surfaces/riemann_surface.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-schemes # sage.doctest: needs scipy sage.graphs sage.groups r""" Riemann matrices and endomorphism rings of algebraic Riemann surfaces diff --git a/src/sage/schemes/toric/all.py b/src/sage/schemes/toric/all.py index 71ad52ef5c6..95b4c41f292 100644 --- a/src/sage/schemes/toric/all.py +++ b/src/sage/schemes/toric/all.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra # sage.doctest: needs sage.geometry.polyhedron sage.graphs from sage.misc.lazy_import import lazy_import @@ -6,3 +7,4 @@ lazy_import('sage.schemes.toric.library', 'toric_varieties') lazy_import('sage.schemes.toric.fano_variety', 'CPRFanoToricVariety') lazy_import('sage.schemes.toric.ideal', 'ToricIdeal') +del lazy_import diff --git a/src/sage/schemes/toric/chow_group.py b/src/sage/schemes/toric/chow_group.py index 9b612ece0eb..b10ebba78f5 100644 --- a/src/sage/schemes/toric/chow_group.py +++ b/src/sage/schemes/toric/chow_group.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra # sage.doctest: needs sage.geometry.polyhedron sage.graphs r""" The Chow group of a toric variety @@ -230,12 +231,14 @@ def _repr_(self) -> str: def degree(self) -> int: r""" - The degree of the Chow cycle. + Return the degree of the Chow cycle. OUTPUT: Integer. The complex dimension of the subvariety representing - the Chow cycle. Raises a ``ValueError`` if the Chow cycle is a + the Chow cycle. + + This raises a :class:`ValueError` if the Chow cycle is a sum of mixed degree cycles. EXAMPLES:: @@ -354,7 +357,7 @@ def intersection_with_divisor(self, divisor): OUTPUT: A new :class:`ChowCycle`. If the divisor is not Cartier then - this method potentially raises a ``ValueError``, indicating + this method potentially raises a :class:`ValueError`, indicating that the divisor cannot be made transversal to the Chow cycle. EXAMPLES:: @@ -471,7 +474,7 @@ def cohomology_class(self): If the toric variety is not simplicial, that is, has worse than orbifold singularities, there is no way to associate a cohomology class of the correct degree. In this case, - :meth:`cohomology_class` raises a ``ValueError``. + :meth:`cohomology_class` raises a :class:`ValueError`. EXAMPLES:: diff --git a/src/sage/schemes/toric/divisor.py b/src/sage/schemes/toric/divisor.py index a67312516fa..223894f2e4f 100644 --- a/src/sage/schemes/toric/divisor.py +++ b/src/sage/schemes/toric/divisor.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra # sage.doctest: needs sage.geometry.polyhedron sage.graphs r""" Toric divisors and divisor classes @@ -567,7 +568,7 @@ def m(self, cone): returned. - If there is no such vector (i.e. ``self`` is not even a - `\QQ`-Cartier divisor), a ``ValueError`` is raised. + `\QQ`-Cartier divisor), a :class:`ValueError` is raised. EXAMPLES:: @@ -773,7 +774,7 @@ def move_away_from(self, cone): .. NOTE:: A divisor that is Weil but not Cartier might be impossible - to move away. In this case, a ``ValueError`` is raised. + to move away. In this case, a :class:`ValueError` is raised. EXAMPLES:: diff --git a/src/sage/schemes/toric/divisor_class.pyx b/src/sage/schemes/toric/divisor_class.pyx index 5a92fe5b38d..e333ee713ff 100644 --- a/src/sage/schemes/toric/divisor_class.pyx +++ b/src/sage/schemes/toric/divisor_class.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra # sage.doctest: needs sage.geometry.polyhedron sage.graphs r""" Toric rational divisor classes @@ -204,7 +205,7 @@ cdef class ToricRationalDivisorClass(Vector_rational_dense): cpdef _dot_product_(self, Vector right): r""" - Raise a ``TypeError`` exception. + Raise a :class:`TypeError` exception. Dot product is not defined on toric rational divisor classes. @@ -214,7 +215,7 @@ cdef class ToricRationalDivisorClass(Vector_rational_dense): OUTPUT: - - ``TypeError`` exception is raised. + A :class:`TypeError` exception is raised. TESTS:: diff --git a/src/sage/schemes/toric/fano_variety.py b/src/sage/schemes/toric/fano_variety.py index d6cbe751274..cae84527c8c 100644 --- a/src/sage/schemes/toric/fano_variety.py +++ b/src/sage/schemes/toric/fano_variety.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra # sage.doctest: needs sage.geometry.polyhedron sage.graphs r""" Fano toric varieties diff --git a/src/sage/schemes/toric/homset.py b/src/sage/schemes/toric/homset.py index e02d0b92078..1c9bf503313 100644 --- a/src/sage/schemes/toric/homset.py +++ b/src/sage/schemes/toric/homset.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra # sage.doctest: needs sage.geometry.polyhedron sage.graphs r""" Set of homomorphisms between two toric varieties diff --git a/src/sage/schemes/toric/ideal.py b/src/sage/schemes/toric/ideal.py index 6d611719c14..1129a115feb 100644 --- a/src/sage/schemes/toric/ideal.py +++ b/src/sage/schemes/toric/ideal.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra # sage.doctest: needs sage.geometry.polyhedron sage.graphs sage.libs.singular r""" Toric ideals @@ -161,7 +162,7 @@ class ToricIdeal(MPolynomialIdeal): You may specify the ambient polynomial ring via the ``polynomial_ring`` parameter or via the ``names`` and - ``base_ring`` parameter. A ``ValueError`` is raised if you + ``base_ring`` parameter. A :class:`ValueError` is raised if you specify both. - ``algorithm`` -- string (optional). The algorithm to use. For diff --git a/src/sage/schemes/toric/library.py b/src/sage/schemes/toric/library.py index c09c404d64a..800ed825f85 100644 --- a/src/sage/schemes/toric/library.py +++ b/src/sage/schemes/toric/library.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra # sage.doctest: needs sage.geometry.polyhedron sage.graphs r""" Library of toric varieties diff --git a/src/sage/schemes/toric/morphism.py b/src/sage/schemes/toric/morphism.py index b5d11c0d808..c53f5016579 100644 --- a/src/sage/schemes/toric/morphism.py +++ b/src/sage/schemes/toric/morphism.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra # sage.doctest: needs sage.geometry.polyhedron sage.graphs r""" Morphisms of toric varieties @@ -521,7 +522,8 @@ def as_fan_morphism(self): OUTPUT: A :class:`SchemeMorphism_polynomial_toric_variety`. - Raises a ``TypeError`` if the morphism cannot be written in such a way. + This raises a :class:`TypeError` if the morphism cannot be written + in such a way. EXAMPLES:: @@ -680,9 +682,10 @@ def as_polynomial_map(self): OUTPUT: - A :class:`SchemeMorphism_polynomial_toric_variety`. Raises a - ``TypeError`` if the morphism cannot be written in terms of - homogeneous polynomials. + A :class:`SchemeMorphism_polynomial_toric_variety`. + + This raises a :class:`TypeError` if the morphism cannot be + written in terms of homogeneous polynomials. The defining polynomials are not necessarily unique. There are choices if multiple ambient space ray generators project to @@ -716,7 +719,7 @@ def as_polynomial_map(self): orbit = self.domain() codomain_fan = self.codomain().fan() R = orbit.coordinate_ring() - polys = [ R.one() ] * codomain_fan.nrays() + polys = [R.one()] * codomain_fan.nrays() for i in self._defining_cone.ambient_ray_indices(): polys[i] = R.zero() ray_index_map = self._reverse_ray_map() @@ -1070,8 +1073,8 @@ def as_polynomial_map(self): OUTPUT: A :class:`SchemeMorphism_polynomial_toric_variety`. - Raises a ``TypeError`` if the morphism cannot be written in terms of - homogeneous polynomials. + This raises a :class:`TypeError` if the morphism cannot be written + in terms of homogeneous polynomials. EXAMPLES:: @@ -1104,8 +1107,8 @@ def as_polynomial_map(self): 'homogeneous polynomials') polys[i] *= x**d if phi.domain_fan().virtual_rays(): - raise NotImplementedError("polynomial representations for fans " - "with virtual rays are not implemented yet") + raise NotImplementedError("polynomial representations for fans with" + " virtual rays are not implemented yet") return SchemeMorphism_polynomial_toric_variety(self.parent(), polys) def is_bundle(self): @@ -1477,7 +1480,7 @@ def fiber_component(self, domain_cone, multiplicity=False): embedding = SchemeMorphism_fan_fiber_component_toric_variety(self, domain_cone) if multiplicity: return embedding.domain(), \ - self.fan_morphism().index(embedding.base_cone()) + self.fan_morphism().index(embedding.base_cone()) else: return embedding.domain() @@ -1609,7 +1612,7 @@ def is_union_in_fan(self, c0, c1): except ValueError: return False - m = matrix(ZZ, n, n, lambda i,j:is_union_in_fan(self,prim[i], prim[j])) + m = matrix(ZZ, n, n, lambda i, j: is_union_in_fan(self, prim[i], prim[j])) for i in range(n): m[i, i] = 0 @@ -1727,9 +1730,10 @@ def as_polynomial_map(self): OUTPUT: - A :class:`SchemeMorphism_polynomial_toric_variety`. Raises a - ``ValueError`` if the morphism cannot be written in terms of - homogeneous polynomials. + A :class:`SchemeMorphism_polynomial_toric_variety`. + + This raises a :class:`ValueError` if the morphism cannot be + written in terms of homogeneous polynomials. EXAMPLES:: @@ -1830,7 +1834,7 @@ def projection(ray): star_rays = set() for cone in fm.relative_star_generators(defining_cone): star_rays.update(cone.rays()) - projected_rays = [ projection(r) for r in cone.rays() ] + projected_rays = [projection(r) for r in cone.rays()] cones.append(Cone(projected_rays)) fiber_fan = Fan(cones) diff --git a/src/sage/schemes/toric/points.py b/src/sage/schemes/toric/points.py index 20507e5c0af..ce7dd62a7fb 100644 --- a/src/sage/schemes/toric/points.py +++ b/src/sage/schemes/toric/points.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra # sage.doctest: needs sage.geometry.polyhedron sage.graphs """ Enumerate points of a toric variety diff --git a/src/sage/schemes/toric/sheaf/all.py b/src/sage/schemes/toric/sheaf/all.py index e69de29bb2d..ca4c26e905d 100644 --- a/src/sage/schemes/toric/sheaf/all.py +++ b/src/sage/schemes/toric/sheaf/all.py @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-polyhedra diff --git a/src/sage/schemes/toric/sheaf/constructor.py b/src/sage/schemes/toric/sheaf/constructor.py index 72ed52a0115..dccf6a9ff58 100644 --- a/src/sage/schemes/toric/sheaf/constructor.py +++ b/src/sage/schemes/toric/sheaf/constructor.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra # sage.doctest: needs sage.geometry.polyhedron sage.graphs r""" Construct sheaves on toric varieties diff --git a/src/sage/schemes/toric/sheaf/klyachko.py b/src/sage/schemes/toric/sheaf/klyachko.py index 4325e77f186..9db9dacc014 100644 --- a/src/sage/schemes/toric/sheaf/klyachko.py +++ b/src/sage/schemes/toric/sheaf/klyachko.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra # sage.doctest: needs sage.geometry.polyhedron sage.graphs """ Klyachko bundles and sheaves diff --git a/src/sage/schemes/toric/toric_subscheme.py b/src/sage/schemes/toric/toric_subscheme.py index 8d3bd985ed2..7f3684833b9 100644 --- a/src/sage/schemes/toric/toric_subscheme.py +++ b/src/sage/schemes/toric/toric_subscheme.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra # sage.doctest: needs sage.geometry.polyhedron sage.graphs r""" Subschemes of toric space diff --git a/src/sage/schemes/toric/variety.py b/src/sage/schemes/toric/variety.py index ac2adcfdb30..84ad819a1df 100644 --- a/src/sage/schemes/toric/variety.py +++ b/src/sage/schemes/toric/variety.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra # sage.doctest: needs sage.geometry.polyhedron sage.graphs r""" Toric varieties @@ -666,7 +667,8 @@ def _check_satisfies_equations(self, coordinates): OUTPUT: - ``True`` if ``coordinates`` do define a valid point of ``self``, - otherwise a ``TypeError`` or ``ValueError`` exception is raised. + otherwise a :class:`TypeError` or :class:`ValueError` exception + is raised. TESTS:: @@ -927,7 +929,7 @@ def _validate(self, polynomials): - ``polynomials`` (the input parameter without any modifications) if ``polynomials`` do define valid polynomial functions on ``self``, - otherwise a ``ValueError`` exception is raised. + otherwise a :class:`ValueError` exception is raised. TESTS: @@ -1102,7 +1104,7 @@ def embedding_morphism(self): - :class:`scheme morphism ` if the default embedding morphism was defined for ``self``, - otherwise a ``ValueError`` exception is raised. + otherwise a :class:`ValueError` exception is raised. EXAMPLES:: @@ -1196,7 +1198,7 @@ def inject_coefficients(self, scope=None, verbose=True): while True: scope = sys._getframe(depth).f_globals if (scope["__name__"] == "__main__" - and scope.get("__package__", None) is None): + and scope.get("__package__", None) is None): break depth += 1 try: @@ -1216,7 +1218,7 @@ def dimension_singularities(self): this method will return the dimension of the largest-dimensional component. - Returns -1 if the toric variety is smooth. + This returns `-1` if the toric variety is smooth. EXAMPLES:: @@ -1227,7 +1229,7 @@ def dimension_singularities(self): sage: toric_varieties.P2().dimension_singularities() -1 """ - for codim in range(self.dimension()+1): + for codim in range(self.dimension() + 1): if any(not cone.is_smooth() for cone in self.fan(codim)): return self.dimension() - codim return -1 @@ -1291,7 +1293,7 @@ def is_homogeneous(self, polynomial): from sage.modules.free_module import FreeModule rays = fan.rays() + fan.virtual_rays() degrees_group = FreeModule(ZZ, len(rays)).quotient( - rays.matrix().columns()) + rays.matrix().columns()) self._homogeneous_degrees_group = degrees_group degrees_group = self._homogeneous_degrees_group S = self.coordinate_ring() @@ -1303,9 +1305,9 @@ def is_homogeneous(self, polynomial): monomials = polynomial.monomials() if not monomials: return True - degree = degrees_group(vector(ZZ,monomials[0].degrees())) + degree = degrees_group(vector(ZZ, monomials[0].degrees())) for monomial in monomials: - if degrees_group(vector(ZZ,monomial.degrees())) != degree: + if degrees_group(vector(ZZ, monomial.degrees())) != degree: return False return True @@ -1464,12 +1466,12 @@ def Kaehler_cone(self): from sage.schemes.toric.divisor import \ ToricRationalDivisorClassGroup_basis_lattice L = ToricRationalDivisorClassGroup_basis_lattice( - self.rational_class_group()) + self.rational_class_group()) n = fan.nrays() K = None for cone in fan: sigma = Cone([GT[i] for i in range(n) - if i not in cone.ambient_ray_indices()], + if i not in cone.ambient_ray_indices()], lattice=L) K = K.intersection(sigma) if K is not None else sigma return K @@ -1477,7 +1479,7 @@ def Kaehler_cone(self): @cached_method def Mori_cone(self): r""" - Returns the Mori cone of ``self``. + Return the Mori cone of ``self``. OUTPUT: :class:`cone `. @@ -1515,7 +1517,7 @@ def Mori_cone(self): # so far this is not the case. rays = (ray * self._fan.Gale_transform() for ray in self.Kaehler_cone().dual().rays()) - return Cone(rays, lattice=ZZ**(self._fan.nrays()+1)) + return Cone(rays, lattice=ZZ**(self._fan.nrays() + 1)) def plot(self, **options): r""" @@ -1604,7 +1606,7 @@ def Chow_group(self, base_ring=ZZ): (( 0 | 0 | 1 ), ( 0 | 1 | 0 ), ( 1 | 0 | 0 )) """ from sage.schemes.toric.chow_group import ChowGroup - return ChowGroup(self,base_ring) + return ChowGroup(self, base_ring) def cartesian_product(self, other, coordinate_names=None, coordinate_indices=None): @@ -2001,7 +2003,7 @@ def volume_class(self): A :class:`CohomologyClass`. If it exists, it is the class of the (properly normalized) volume form, that is, it is the Poincaré dual of a single point. If it does not exist, a - ``ValueError`` is raised. + :class:`ValueError` is raised. EXAMPLES:: @@ -2177,11 +2179,9 @@ def Chern_class(self, deg=None): True """ assert self.is_orbifold(), "Requires the toric variety to be an orbifold." - c = prod([ 1+self.cohomology_ring().gen(i) for i in range(self._fan.nrays()) ]) - if deg is None: - return c - else: - return c.part_of_degree(deg) + c = prod([1 + self.cohomology_ring().gen(i) + for i in range(self._fan.nrays())]) + return c if deg is None else c.part_of_degree(deg) @cached_method def Chern_character(self, deg=None): @@ -2218,12 +2218,9 @@ def Chern_character(self, deg=None): """ assert self.is_orbifold(), "Requires the toric variety to be an orbifold." n_rels = self._fan.nrays() - self.dimension() - ch = sum([ self.cohomology_ring().gen(i).exp() - for i in range(self._fan.nrays()) ]) - n_rels - if deg is None: - return ch - else: - return ch.part_of_degree(deg) + ch = sum([self.cohomology_ring().gen(i).exp() + for i in range(self._fan.nrays())]) - n_rels + return ch if deg is None else ch.part_of_degree(deg) @cached_method def Todd_class(self, deg=None): @@ -2265,17 +2262,14 @@ def Todd_class(self, deg=None): c2 = self.Chern_class(2) Td += QQ.one() / 12 * (c1**2 + c2) if dim >= 3: - Td += QQ.one() / 24 * c1*c2 + Td += QQ.one() / 24 * c1 * c2 if dim >= 4: c3 = self.Chern_class(3) c4 = self.Chern_class(4) Td += -QQ.one() / 720 * (c1**4 - 4*c1**2*c2 - 3*c2**2 - c1*c3 + c4) if dim >= 5: raise NotImplementedError('Todd class is currently only implemented up to degree 4') - if deg is None: - return Td - else: - return Td.part_of_degree(deg) + return Td if deg is None else Td.part_of_degree(deg) c = Chern_class ch = Chern_character @@ -2308,7 +2302,7 @@ def Euler_number(self): else: chi = 0 H = self.cohomology_basis() - for d in range(self.dimension()+1): + for d in range(self.dimension() + 1): chi += (-1)**d * len(H[d]) self._chi = chi return self._chi @@ -2317,7 +2311,7 @@ def Euler_number(self): def K(self): r""" - Returns the canonical divisor of the toric variety. + Return the canonical divisor of the toric variety. EXAMPLES: @@ -2331,7 +2325,7 @@ def K(self): 6 """ from sage.schemes.toric.divisor import ToricDivisor - return ToricDivisor(self, [-1]*self._fan.nrays()) + return ToricDivisor(self, [-1] * self._fan.nrays()) def divisor(self, arg, base_ring=None, check=True, reduce=True): r""" @@ -2632,8 +2626,8 @@ def _orbit_closure_projection(self, cone, x): This quotient lattice is the ambient lattice for the fan of the orbit closure corresponding to ``cone``. - If ``x`` is a cone not in the star of ``cone``, an ``IndexError`` is - raised. + If ``x`` is a cone not in the star of ``cone``, an :class:`IndexError` + is raised. See :meth:`orbit_closure` for more details. @@ -2719,11 +2713,10 @@ def orbit_closure(self, cone): sage: A2.orbit_closure(A2.fan(2)[0]) 0-d affine toric variety """ - cone = self.fan().embed(cone) - cones = [] - for star_cone in cone.star_generators(): - cones.append( self._orbit_closure_projection(cone, star_cone) ) from sage.geometry.fan import discard_faces + cone = self.fan().embed(cone) + cones = [self._orbit_closure_projection(cone, star_cone) + for star_cone in cone.star_generators()] fan = Fan(discard_faces(cones), check=False) orbit_closure = ToricVariety(fan) @@ -2809,7 +2802,7 @@ def Demazure_roots(self): antiK = -self.K() fan_rays = self.fan().rays() roots = [m for m in antiK.sections() - if [ray*m for ray in fan_rays].count(-1) == 1] + if [ray * m for ray in fan_rays].count(-1) == 1] return tuple(roots) def Aut_dimension(self): @@ -2984,7 +2977,7 @@ def normalize_names(names=None, ngens=None, prefix=None, indices=None, names = list(names) except TypeError: raise TypeError( - "names must be a string or a list or tuple of them") + "names must be a string or a list or tuple of them") for name in names: if not isinstance(name, str): raise TypeError( @@ -3137,7 +3130,7 @@ def _latex_(self): """ return fr'H^\ast\left({self._variety._latex_()},{latex(QQ)}\right)' - def _element_constructor_(self,x): + def _element_constructor_(self, x): r""" Construct a :class:`CohomologyClass`. @@ -3260,7 +3253,8 @@ def gens(self): ([z], [z], [z]) """ if "_gens" not in self.__dict__: - self._gens = tuple( self.gen(i) for i in range(self._variety.fan().nrays()) ) + self._gens = tuple(self.gen(i) + for i in range(self._variety.fan().nrays())) return self._gens def gen(self, i): @@ -3469,7 +3463,7 @@ def exp(self): OUTPUT: The cohomology class `\exp(` ``self`` `)` if the constant part - vanishes, otherwise a ``ValueError`` is raised. + vanishes, otherwise a :class:`ValueError` is raised. EXAMPLES:: @@ -3484,6 +3478,6 @@ def exp(self): if not self.part_of_degree(0).is_zero(): raise ValueError('must not have a constant part') exp_x = self.parent().one() - for d in range(1, self.parent()._variety.dimension()+1): + for d in range(1, self.parent()._variety.dimension() + 1): exp_x += self**d / factorial(d) return exp_x diff --git a/src/sage/schemes/toric/weierstrass.py b/src/sage/schemes/toric/weierstrass.py index b727e586141..46afd489cc3 100644 --- a/src/sage/schemes/toric/weierstrass.py +++ b/src/sage/schemes/toric/weierstrass.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra # sage.doctest: needs sage.geometry.polyhedron sage.graphs r""" Weierstrass form of a toric elliptic curve @@ -176,8 +177,8 @@ def Discriminant(polynomial, variables=None): sage: Discriminant([quadratic1, quadratic2]) -1/16 """ - (f, g) = WeierstrassForm(polynomial, variables) - return 4*f**3+27*g**2 + f, g = WeierstrassForm(polynomial, variables) + return 4*f**3 + 27*g**2 ###################################################################### @@ -199,7 +200,7 @@ def j_invariant(polynomial, variables=None): * A nodal cubic: `j(-y^2 + x^2 + x^3) = \infty` * A cuspidal cubic `y^2=x^3` has undefined `j`-invariant. In this - case, a ``ValueError`` is raised. + case, a :class:`ValueError` is raised. EXAMPLES:: @@ -220,10 +221,10 @@ def j_invariant(polynomial, variables=None): ... ValueError: curve is singular and has no well-defined j-invariant """ - (f, g) = WeierstrassForm(polynomial, variables) - disc = 4*f**3+27*g**2 + f, g = WeierstrassForm(polynomial, variables) + disc = 4*f**3 + 27*g**2 if disc != 0: - return 1728 * 4*f**3/disc + return 1728 * 4 * f**3 / disc if f != 0: return Infinity raise ValueError('curve is singular and has no well-defined j-invariant') @@ -505,7 +506,7 @@ def WeierstrassForm(polynomial, variables=None, transformation=False): ###################################################################### def _check_homogeneity(polynomial, variables, weights, total_weight=None): """ - Raise ``ValueError`` if the polynomial is not weighted + Raise :class:`ValueError` if the polynomial is not weighted homogeneous. INPUT: @@ -526,7 +527,7 @@ def _check_homogeneity(polynomial, variables, weights, total_weight=None): OUTPUT: This function returns nothing. If the polynomial is not weighted - homogeneous, a ``ValueError`` is raised. + homogeneous, a :class:`ValueError` is raised. EXAMPLES:: @@ -552,8 +553,8 @@ def _check_homogeneity(polynomial, variables, weights, total_weight=None): total_weight = weight_e else: if weight_e != total_weight: - raise ValueError('the polynomial is not homogeneous with ' - 'weights '+str(weights)) + msg = f'the polynomial is not homogeneous with weights {weights}' + raise ValueError(msg) ###################################################################### @@ -602,8 +603,8 @@ def index(monomial): coeffs[i] = c*m + coeffs.pop(i, R.zero()) result = tuple(coeffs.pop(index(m), R.zero()) // m for m in monomials) if coeffs: - raise ValueError('the polynomial contains more monomials than ' - 'given: ' + str(coeffs)) + msg = f'the polynomial contains more monomials than given: {coeffs}' + raise ValueError(msg) return result @@ -623,7 +624,7 @@ def _check_polynomial_P2(cubic, variables): OUTPUT: This functions returns ``variables``, potentially guessed from the - polynomial ring. A ``ValueError`` is raised if the polynomial is + polynomial ring. A :class:`ValueError` is raised if the polynomial is not homogeneous. EXAMPLES:: @@ -757,7 +758,7 @@ def WeierstrassForm_P2(polynomial, variables=None): F = polynomial.base_ring() S = cubic.S_invariant() T = cubic.T_invariant() - return (27*S, -27/F(4)*T) + return (27 * S, -27 / F(4) * T) ###################################################################### @@ -780,7 +781,7 @@ def _check_polynomial_P1xP1(biquadric, variables): OUTPUT: This functions returns ``variables``, potentially guessed from the - polynomial ring. A ``ValueError`` is raised if the polynomial is + polynomial ring. A :class:`ValueError` is raised if the polynomial is not homogeneous. EXAMPLES:: @@ -853,7 +854,7 @@ def _partial_discriminant(quadric, y0, y1=None): monomials = (quadric.parent().one(), y0, y0**2) variables = [y0] else: - monomials = (y1**2, y0*y1, y0**2) + monomials = (y1**2, y0 * y1, y0**2) variables = [y0, y1] c = _extract_coefficients(quadric, monomials, variables) return c[1]**2 - 4*c[0]*c[2] @@ -941,7 +942,7 @@ def WeierstrassForm_P1xP1(biquadric, variables=None): Q = invariant_theory.binary_quartic(delta, x, y) g2 = Q.EisensteinD() g3 = -Q.EisensteinE() - return (-g2/4, -g3/4) + return (-g2 / 4, -g3 / 4) ###################################################################### @@ -964,7 +965,7 @@ def _check_polynomial_P2_112(polynomial, variables): OUTPUT: This functions returns ``variables``, potentially guessed from the - polynomial ring. A ``ValueError`` is raised if the polynomial is + polynomial ring. A :class:`ValueError` is raised if the polynomial is not homogeneous. EXAMPLES:: @@ -1076,4 +1077,4 @@ def WeierstrassForm_P2_112(polynomial, variables=None): Q = invariant_theory.binary_quartic(delta, x, z) g2 = Q.EisensteinD() g3 = -Q.EisensteinE() - return (-g2/4, -g3/4) + return (-g2 / 4, -g3 / 4) diff --git a/src/sage/schemes/toric/weierstrass_covering.py b/src/sage/schemes/toric/weierstrass_covering.py index 128c30d33a8..b5a743210a7 100644 --- a/src/sage/schemes/toric/weierstrass_covering.py +++ b/src/sage/schemes/toric/weierstrass_covering.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra # sage.doctest: needs sage.geometry.polyhedron sage.graphs r""" Map to the Weierstrass form of a toric elliptic curve diff --git a/src/sage/schemes/toric/weierstrass_higher.py b/src/sage/schemes/toric/weierstrass_higher.py index 6e2cc57e59d..0c0fb57489d 100644 --- a/src/sage/schemes/toric/weierstrass_higher.py +++ b/src/sage/schemes/toric/weierstrass_higher.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-polyhedra # sage.doctest: needs sage.geometry.polyhedron sage.graphs r""" Weierstrass for elliptic curves in higher codimension @@ -81,7 +82,7 @@ def _check_polynomials_P3(quadratic1, quadratic2, variables): OUTPUT: This function returns ``variables``, potentially guessed from the - polynomial ring. A ``ValueError`` is raised if the polynomial is + polynomial ring. A :class:`ValueError` is raised if the polynomial is not homogeneous. EXAMPLES:: diff --git a/src/sage/sets/all.py b/src/sage/sets/all.py index 1c1a69e57a7..ce54f9cf6b1 100644 --- a/src/sage/sets/all.py +++ b/src/sage/sets/all.py @@ -1,15 +1,17 @@ +# sage_setup: distribution = sagemath-categories from sage.misc.lazy_import import lazy_import lazy_import('sage.sets.real_set', 'RealSet') -from .set import Set -from .integer_range import IntegerRange -from .non_negative_integers import NonNegativeIntegers -from .positive_integers import PositiveIntegers -from .finite_enumerated_set import FiniteEnumeratedSet -lazy_import('sage.sets.recursively_enumerated_set','RecursivelyEnumeratedSet') -from .totally_ordered_finite_set import TotallyOrderedFiniteSet -from .disjoint_union_enumerated_sets import DisjointUnionEnumeratedSets -from .primes import Primes -from .family import Family -from .disjoint_set import DisjointSet -from .condition_set import ConditionSet -from .finite_set_maps import FiniteSetMaps +from sage.sets.set import Set +from sage.sets.integer_range import IntegerRange +from sage.sets.non_negative_integers import NonNegativeIntegers +from sage.sets.positive_integers import PositiveIntegers +from sage.sets.finite_enumerated_set import FiniteEnumeratedSet +lazy_import('sage.sets.recursively_enumerated_set', 'RecursivelyEnumeratedSet') +from sage.sets.totally_ordered_finite_set import TotallyOrderedFiniteSet +from sage.sets.disjoint_union_enumerated_sets import DisjointUnionEnumeratedSets +from sage.sets.primes import Primes +from sage.sets.family import Family +from sage.sets.disjoint_set import DisjointSet +from sage.sets.condition_set import ConditionSet +from sage.sets.finite_set_maps import FiniteSetMaps +del lazy_import diff --git a/src/sage/sets/all__sagemath_objects.py b/src/sage/sets/all__sagemath_objects.py index 38e44245ad3..40da49fdd73 100644 --- a/src/sage/sets/all__sagemath_objects.py +++ b/src/sage/sets/all__sagemath_objects.py @@ -1,2 +1,3 @@ +# sage_setup: distribution = sagemath-objects # The presence of this file ensures that sage_setup for sagemath-objects # considers this directory as a namespace package diff --git a/src/sage/sets/cartesian_product.py b/src/sage/sets/cartesian_product.py index 47b94b6d222..9dd9263a804 100644 --- a/src/sage/sets/cartesian_product.py +++ b/src/sage/sets/cartesian_product.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Cartesian products diff --git a/src/sage/sets/condition_set.py b/src/sage/sets/condition_set.py index e29f0124224..10e05f9ce1d 100644 --- a/src/sage/sets/condition_set.py +++ b/src/sage/sets/condition_set.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Subsets of a Universe Defined by Predicates """ diff --git a/src/sage/sets/disjoint_set.pxd b/src/sage/sets/disjoint_set.pxd index 1ec38f5966b..381af463cdf 100644 --- a/src/sage/sets/disjoint_set.pxd +++ b/src/sage/sets/disjoint_set.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories #***************************************************************************** # Copyright (C) 2009 Sebastien Labbe # diff --git a/src/sage/sets/disjoint_set.pyx b/src/sage/sets/disjoint_set.pyx index e8ae11fc3a1..703c443e9ec 100644 --- a/src/sage/sets/disjoint_set.pyx +++ b/src/sage/sets/disjoint_set.pyx @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-categories r""" Disjoint-set data structure diff --git a/src/sage/sets/disjoint_union_enumerated_sets.py b/src/sage/sets/disjoint_union_enumerated_sets.py index 030834993fa..d20af8caf4b 100644 --- a/src/sage/sets/disjoint_union_enumerated_sets.py +++ b/src/sage/sets/disjoint_union_enumerated_sets.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Disjoint union of enumerated sets diff --git a/src/sage/sets/family.pxd b/src/sage/sets/family.pxd index f5d8f755ecc..5459ef38e0b 100644 --- a/src/sage/sets/family.pxd +++ b/src/sage/sets/family.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories from sage.structure.parent cimport Parent diff --git a/src/sage/sets/family.pyx b/src/sage/sets/family.pyx index 36a6b0d6b1f..f4d4ab16b34 100644 --- a/src/sage/sets/family.pyx +++ b/src/sage/sets/family.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Families diff --git a/src/sage/sets/finite_enumerated_set.py b/src/sage/sets/finite_enumerated_set.py index 6f205e5b70e..e67ae5dd886 100644 --- a/src/sage/sets/finite_enumerated_set.py +++ b/src/sage/sets/finite_enumerated_set.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Finite Enumerated Sets """ diff --git a/src/sage/sets/finite_set_map_cy.pxd b/src/sage/sets/finite_set_map_cy.pxd index daa46c099e0..2a18a9ff2f8 100644 --- a/src/sage/sets/finite_set_map_cy.pxd +++ b/src/sage/sets/finite_set_map_cy.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories #***************************************************************************** # Copyright (C) 2010 Florent Hivert , # diff --git a/src/sage/sets/finite_set_map_cy.pyx b/src/sage/sets/finite_set_map_cy.pyx index a06dc0a2bd9..9825e8502de 100644 --- a/src/sage/sets/finite_set_map_cy.pyx +++ b/src/sage/sets/finite_set_map_cy.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Data structures for maps between finite sets diff --git a/src/sage/sets/finite_set_maps.py b/src/sage/sets/finite_set_maps.py index b0faa1ddd95..9429eee92ed 100644 --- a/src/sage/sets/finite_set_maps.py +++ b/src/sage/sets/finite_set_maps.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Maps between finite sets diff --git a/src/sage/sets/image_set.py b/src/sage/sets/image_set.py index 0472d793c19..43650511660 100644 --- a/src/sage/sets/image_set.py +++ b/src/sage/sets/image_set.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Image Sets """ diff --git a/src/sage/sets/integer_range.py b/src/sage/sets/integer_range.py index 31602abb5a6..9706facafc5 100644 --- a/src/sage/sets/integer_range.py +++ b/src/sage/sets/integer_range.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Integer Range diff --git a/src/sage/sets/non_negative_integers.py b/src/sage/sets/non_negative_integers.py index a7995ff3e1e..f76b8e6c6b0 100644 --- a/src/sage/sets/non_negative_integers.py +++ b/src/sage/sets/non_negative_integers.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Non Negative Integers """ diff --git a/src/sage/sets/positive_integers.py b/src/sage/sets/positive_integers.py index 70625fb53b7..cfb44167fe2 100644 --- a/src/sage/sets/positive_integers.py +++ b/src/sage/sets/positive_integers.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Positive Integers """ diff --git a/src/sage/sets/primes.py b/src/sage/sets/primes.py index ac33901a73b..fc4e8b02d29 100644 --- a/src/sage/sets/primes.py +++ b/src/sage/sets/primes.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ The set of prime numbers diff --git a/src/sage/sets/pythonclass.pxd b/src/sage/sets/pythonclass.pxd index 4346d918386..cb59baca759 100644 --- a/src/sage/sets/pythonclass.pxd +++ b/src/sage/sets/pythonclass.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects from sage.structure.parent cimport Set_generic diff --git a/src/sage/sets/pythonclass.pyx b/src/sage/sets/pythonclass.pyx index bfa7f3bc617..7b75bd7bf26 100644 --- a/src/sage/sets/pythonclass.pyx +++ b/src/sage/sets/pythonclass.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects """ Set of all objects of a given Python class """ diff --git a/src/sage/sets/real_set.py b/src/sage/sets/real_set.py index 168521ce6a8..11f4aae9f78 100644 --- a/src/sage/sets/real_set.py +++ b/src/sage/sets/real_set.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories # sage.doctest: needs sage.rings.real_interval_field sage.rings.real_mpfr """ Subsets of the Real Line diff --git a/src/sage/sets/recursively_enumerated_set.pxd b/src/sage/sets/recursively_enumerated_set.pxd index 48c8312456c..68ba0914c7b 100644 --- a/src/sage/sets/recursively_enumerated_set.pxd +++ b/src/sage/sets/recursively_enumerated_set.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories #***************************************************************************** # Copyright (C) 2014 Sage # diff --git a/src/sage/sets/recursively_enumerated_set.pyx b/src/sage/sets/recursively_enumerated_set.pyx index 56bd8d16850..cc388339b65 100644 --- a/src/sage/sets/recursively_enumerated_set.pyx +++ b/src/sage/sets/recursively_enumerated_set.pyx @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-categories r""" Recursively Enumerated Sets diff --git a/src/sage/sets/set.py b/src/sage/sets/set.py index fe351298d0a..adb8f2e9dbe 100644 --- a/src/sage/sets/set.py +++ b/src/sage/sets/set.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Sets diff --git a/src/sage/sets/set_from_iterator.py b/src/sage/sets/set_from_iterator.py index 81cb4f11bbc..0a758dd5f77 100644 --- a/src/sage/sets/set_from_iterator.py +++ b/src/sage/sets/set_from_iterator.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Enumerated set from iterator diff --git a/src/sage/sets/totally_ordered_finite_set.py b/src/sage/sets/totally_ordered_finite_set.py index 7efba359dc0..51b0f67539a 100644 --- a/src/sage/sets/totally_ordered_finite_set.py +++ b/src/sage/sets/totally_ordered_finite_set.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories """ Totally Ordered Finite Sets diff --git a/src/sage/stats/all.py b/src/sage/stats/all.py index 3b4c8c4ff52..2636682e270 100644 --- a/src/sage/stats/all.py +++ b/src/sage/stats/all.py @@ -1,11 +1,16 @@ +# sage_setup: distribution = sagemath-modules + +from sage.stats.basic_stats import (mean, mode, std, variance, median, moving_average) +from sage.stats.hmm import all as hmm import sage.stats.distributions.catalog as distributions -from .r import ttest -from .basic_stats import (mean, mode, std, variance, median, moving_average) -from .hmm import all as hmm +from sage.misc.lazy_import import lazy_import + +lazy_import("sage.stats.r", "ttest") # We lazy_import the following modules since they import numpy which # slows down sage startup -from sage.misc.lazy_import import lazy_import + lazy_import("sage.stats.time_series", ["TimeSeries", "autoregressive_fit"]) lazy_import("sage.stats.intlist", ["IntList"]) +del lazy_import diff --git a/src/sage/stats/basic_stats.py b/src/sage/stats/basic_stats.py index 83dc50b4e89..a3c8bbfe47f 100644 --- a/src/sage/stats/basic_stats.py +++ b/src/sage/stats/basic_stats.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ Basic Statistics diff --git a/src/sage/stats/distributions/all.py b/src/sage/stats/distributions/all.py index d37a8563ec6..22eb34f328c 100644 --- a/src/sage/stats/distributions/all.py +++ b/src/sage/stats/distributions/all.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # We lazy_import the following modules since they import numpy which # slows down sage startup from sage.misc.lazy_import import lazy_import diff --git a/src/sage/stats/distributions/dgs.pxd b/src/sage/stats/distributions/dgs.pxd index 614db1388b5..328ae8d90d2 100644 --- a/src/sage/stats/distributions/dgs.pxd +++ b/src/sage/stats/distributions/dgs.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ AUTHOR: Martin Albrecht """ diff --git a/src/sage/stats/distributions/discrete_gaussian_integer.pxd b/src/sage/stats/distributions/discrete_gaussian_integer.pxd index d6edbe88d43..cadbd33f27f 100644 --- a/src/sage/stats/distributions/discrete_gaussian_integer.pxd +++ b/src/sage/stats/distributions/discrete_gaussian_integer.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.rings.integer cimport Integer from sage.rings.real_mpfr cimport RealNumber from sage.stats.distributions.dgs cimport dgs_disc_gauss_mp_t, dgs_disc_gauss_dp_t diff --git a/src/sage/stats/distributions/discrete_gaussian_integer.pyx b/src/sage/stats/distributions/discrete_gaussian_integer.pyx index 6d50074102b..55625af5320 100644 --- a/src/sage/stats/distributions/discrete_gaussian_integer.pyx +++ b/src/sage/stats/distributions/discrete_gaussian_integer.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.symbolic # # distutils: sources = sage/stats/distributions/dgs_gauss_mp.c sage/stats/distributions/dgs_gauss_dp.c sage/stats/distributions/dgs_bern.c diff --git a/src/sage/stats/distributions/discrete_gaussian_lattice.py b/src/sage/stats/distributions/discrete_gaussian_lattice.py index 6667b2fb5cf..fff0418624a 100644 --- a/src/sage/stats/distributions/discrete_gaussian_lattice.py +++ b/src/sage/stats/distributions/discrete_gaussian_lattice.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-modules r""" Discrete Gaussian Samplers over Lattices diff --git a/src/sage/stats/distributions/discrete_gaussian_polynomial.py b/src/sage/stats/distributions/discrete_gaussian_polynomial.py index 63c8f5b800a..713d8b1264d 100644 --- a/src/sage/stats/distributions/discrete_gaussian_polynomial.py +++ b/src/sage/stats/distributions/discrete_gaussian_polynomial.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-modules r""" Discrete Gaussian Samplers for `\ZZ[x]` diff --git a/src/sage/stats/hmm/all.py b/src/sage/stats/hmm/all.py index 2e1bcacd23d..1bea3cdd941 100644 --- a/src/sage/stats/hmm/all.py +++ b/src/sage/stats/hmm/all.py @@ -1,12 +1,15 @@ +# sage_setup: distribution = sagemath-modules ############################################################################# # Copyright (C) 2010 William Stein # Distributed under the terms of the GNU General Public License (GPL), v2+. # The full text of the GPL is available at: -# http://www.gnu.org/licenses/ +# https://www.gnu.org/licenses/ ############################################################################# # We lazy_import the following modules since they import numpy which slows down sage startup from sage.misc.lazy_import import lazy_import lazy_import("sage.stats.hmm.hmm", ["DiscreteHiddenMarkovModel"]) -lazy_import("sage.stats.hmm.chmm", ["GaussianHiddenMarkovModel","GaussianMixtureHiddenMarkovModel"]) +lazy_import("sage.stats.hmm.chmm", [ + "GaussianHiddenMarkovModel", "GaussianMixtureHiddenMarkovModel"]) lazy_import("sage.stats.hmm.distributions", ["GaussianMixtureDistribution"]) +del lazy_import diff --git a/src/sage/stats/hmm/chmm.pyx b/src/sage/stats/hmm/chmm.pyx index f0940c5849d..0b189692a3f 100644 --- a/src/sage/stats/hmm/chmm.pyx +++ b/src/sage/stats/hmm/chmm.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs numpy r""" Continuous Emission Hidden Markov Models diff --git a/src/sage/stats/hmm/distributions.pxd b/src/sage/stats/hmm/distributions.pxd index 73e4dbc6a9b..c29cb5cf85a 100644 --- a/src/sage/stats/hmm/distributions.pxd +++ b/src/sage/stats/hmm/distributions.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules ############################################################################# # Copyright (C) 2010 William Stein # Distributed under the terms of the GNU General Public License (GPL) diff --git a/src/sage/stats/hmm/distributions.pyx b/src/sage/stats/hmm/distributions.pyx index dd4860317e1..4bc3803094a 100644 --- a/src/sage/stats/hmm/distributions.pyx +++ b/src/sage/stats/hmm/distributions.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: optional - numpy r""" Distributions used in implementing Hidden Markov Models diff --git a/src/sage/stats/hmm/hmm.pxd b/src/sage/stats/hmm/hmm.pxd index 1abcb95392b..db69471b83a 100644 --- a/src/sage/stats/hmm/hmm.pxd +++ b/src/sage/stats/hmm/hmm.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules ############################################################################# # Copyright (C) 2010 William Stein # Distributed under the terms of the GNU General Public License (GPL) v2+. diff --git a/src/sage/stats/hmm/hmm.pyx b/src/sage/stats/hmm/hmm.pyx index 0935c9398ee..8b607a1d0be 100644 --- a/src/sage/stats/hmm/hmm.pyx +++ b/src/sage/stats/hmm/hmm.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs numpy sage.modules r""" Hidden Markov Models diff --git a/src/sage/stats/hmm/util.pxd b/src/sage/stats/hmm/util.pxd index b0d399d9aaf..31a65495e31 100644 --- a/src/sage/stats/hmm/util.pxd +++ b/src/sage/stats/hmm/util.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules from sage.stats.time_series cimport TimeSeries cdef class HMM_Util: diff --git a/src/sage/stats/hmm/util.pyx b/src/sage/stats/hmm/util.pyx index 553eb997364..02fcf1b7855 100644 --- a/src/sage/stats/hmm/util.pyx +++ b/src/sage/stats/hmm/util.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: optional - numpy """ Hidden Markov Models -- Utility functions diff --git a/src/sage/stats/intlist.pxd b/src/sage/stats/intlist.pxd index d63971aac14..e6708c7aaf0 100644 --- a/src/sage/stats/intlist.pxd +++ b/src/sage/stats/intlist.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules ############################################################################# # Copyright (C) 2010 William Stein # Distributed under the terms of the GNU General Public License (GPL) v2+. diff --git a/src/sage/stats/intlist.pyx b/src/sage/stats/intlist.pyx index fccbb56e680..e8ab5c4a360 100644 --- a/src/sage/stats/intlist.pyx +++ b/src/sage/stats/intlist.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: optional - numpy """ C Int Lists diff --git a/src/sage/stats/r.py b/src/sage/stats/r.py index 47f492eff61..5a9d5313de4 100644 --- a/src/sage/stats/r.py +++ b/src/sage/stats/r.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules """ T-test using R diff --git a/src/sage/stats/time_series.pxd b/src/sage/stats/time_series.pxd index 86a9095ba75..e127c87d15d 100644 --- a/src/sage/stats/time_series.pxd +++ b/src/sage/stats/time_series.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules cdef class TimeSeries: cdef double* _values cdef Py_ssize_t _length diff --git a/src/sage/stats/time_series.pyx b/src/sage/stats/time_series.pyx index d6823f85add..632c6c57fe8 100644 --- a/src/sage/stats/time_series.pyx +++ b/src/sage/stats/time_series.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: optional - numpy r""" Time Series diff --git a/src/sage/structure/__init__.py b/src/sage/structure/__init__.py index 8689eb1717f..bf977ccc379 100644 --- a/src/sage/structure/__init__.py +++ b/src/sage/structure/__init__.py @@ -1,2 +1,3 @@ +# sage_setup: distribution = sagemath-objects # Resolve a cyclic import import sage.structure.element diff --git a/src/sage/structure/all.py b/src/sage/structure/all.py index df0114c8382..40b9daa67e8 100644 --- a/src/sage/structure/all.py +++ b/src/sage/structure/all.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects from sage.structure.factorization import Factorization from sage.structure.sequence import Sequence, seq @@ -12,7 +13,7 @@ get_coercion_model, coercion_traceback, parent - ) +) from sage.structure.parent import Parent diff --git a/src/sage/structure/category_object.pxd b/src/sage/structure/category_object.pxd index 83d3d4967d4..0f629e245ac 100644 --- a/src/sage/structure/category_object.pxd +++ b/src/sage/structure/category_object.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects #***************************************************************************** # Copyright (C) 2006 William Stein # diff --git a/src/sage/structure/category_object.pyx b/src/sage/structure/category_object.pyx index 48cee10c2bc..1f84a2ed2dc 100644 --- a/src/sage/structure/category_object.pyx +++ b/src/sage/structure/category_object.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects # cython: old_style_globals=True r""" Base class for objects of a category diff --git a/src/sage/structure/coerce.pxd b/src/sage/structure/coerce.pxd index 71d519cf185..0d2cd13f1d8 100644 --- a/src/sage/structure/coerce.pxd +++ b/src/sage/structure/coerce.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects from sage.structure.parent cimport Parent from sage.structure.coerce_dict cimport TripleDict diff --git a/src/sage/structure/coerce.pyx b/src/sage/structure/coerce.pyx index 888643314f5..003af5718d1 100644 --- a/src/sage/structure/coerce.pyx +++ b/src/sage/structure/coerce.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects r""" The coercion model diff --git a/src/sage/structure/coerce_actions.pxd b/src/sage/structure/coerce_actions.pxd index 81a52ff5ad6..dc681f5a075 100644 --- a/src/sage/structure/coerce_actions.pxd +++ b/src/sage/structure/coerce_actions.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects from sage.categories.action cimport Action from sage.categories.map cimport Map diff --git a/src/sage/structure/coerce_actions.pyx b/src/sage/structure/coerce_actions.pyx index e1ff3b378e7..1c54d7624ab 100644 --- a/src/sage/structure/coerce_actions.pyx +++ b/src/sage/structure/coerce_actions.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects """ Coerce actions """ diff --git a/src/sage/structure/coerce_dict.pxd b/src/sage/structure/coerce_dict.pxd index 2f7f8d3aef4..13d9e3ad0f1 100644 --- a/src/sage/structure/coerce_dict.pxd +++ b/src/sage/structure/coerce_dict.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects cimport cython from cpython.object cimport PyObject diff --git a/src/sage/structure/coerce_dict.pyx b/src/sage/structure/coerce_dict.pyx index bdec7ec97cd..ce9ea7811b5 100644 --- a/src/sage/structure/coerce_dict.pyx +++ b/src/sage/structure/coerce_dict.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects """ Containers for storing coercion data diff --git a/src/sage/structure/coerce_exceptions.py b/src/sage/structure/coerce_exceptions.py index 5859831e4fa..e60984f25ee 100644 --- a/src/sage/structure/coerce_exceptions.py +++ b/src/sage/structure/coerce_exceptions.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects "Exceptions raised by the coercion model" ############################################################################### diff --git a/src/sage/structure/coerce_maps.pxd b/src/sage/structure/coerce_maps.pxd index 0afc1a96adb..cf8e1f6f51a 100644 --- a/src/sage/structure/coerce_maps.pxd +++ b/src/sage/structure/coerce_maps.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects from sage.categories.map cimport Map diff --git a/src/sage/structure/coerce_maps.pyx b/src/sage/structure/coerce_maps.pyx index aabeafa6bc8..272f4d9baf0 100644 --- a/src/sage/structure/coerce_maps.pyx +++ b/src/sage/structure/coerce_maps.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects """ Coerce maps """ diff --git a/src/sage/structure/debug_options.pxd b/src/sage/structure/debug_options.pxd index 55db2332ed4..42a3411e76b 100644 --- a/src/sage/structure/debug_options.pxd +++ b/src/sage/structure/debug_options.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects cdef class DebugOptions_class: cdef public bint unique_parent_warnings cdef public bint refine_category_hash_check diff --git a/src/sage/structure/debug_options.pyx b/src/sage/structure/debug_options.pyx index 05d7835f869..3afe5ca835a 100644 --- a/src/sage/structure/debug_options.pyx +++ b/src/sage/structure/debug_options.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects """ Debug options for the :mod:`sage.structure` modules diff --git a/src/sage/structure/dynamic_class.py b/src/sage/structure/dynamic_class.py index f8df20a02ae..51a2c333186 100644 --- a/src/sage/structure/dynamic_class.py +++ b/src/sage/structure/dynamic_class.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects """ Dynamic classes diff --git a/src/sage/structure/element.pxd b/src/sage/structure/element.pxd index 2d360905783..cc1bf225710 100644 --- a/src/sage/structure/element.pxd +++ b/src/sage/structure/element.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects from sage.structure.sage_object cimport SageObject from sage.structure.parent cimport Parent from sage.misc.inherit_comparison cimport InheritComparisonMetaclass diff --git a/src/sage/structure/element.pyx b/src/sage/structure/element.pyx index 6ee4d7c8201..a536004aba5 100644 --- a/src/sage/structure/element.pyx +++ b/src/sage/structure/element.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects # Compile this with -Os because it works around a bug with # GCC-4.7.3 + Cython 0.19 on Itanium, see Issue #14452. Moreover, it # actually results in faster code than -O3. diff --git a/src/sage/structure/element_wrapper.pxd b/src/sage/structure/element_wrapper.pxd index f8689c57947..dda6630c84d 100644 --- a/src/sage/structure/element_wrapper.pxd +++ b/src/sage/structure/element_wrapper.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects from sage.structure.element cimport Element diff --git a/src/sage/structure/element_wrapper.pyx b/src/sage/structure/element_wrapper.pyx index 0f0c25bdd8d..f7fc4e38bad 100644 --- a/src/sage/structure/element_wrapper.pyx +++ b/src/sage/structure/element_wrapper.pyx @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-objects """ Element Wrapper diff --git a/src/sage/structure/factorization.py b/src/sage/structure/factorization.py index 00ad9658e59..e699266caed 100644 --- a/src/sage/structure/factorization.py +++ b/src/sage/structure/factorization.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects r""" Factorizations diff --git a/src/sage/structure/factorization_integer.py b/src/sage/structure/factorization_integer.py index 139a3580e48..542daf538dd 100644 --- a/src/sage/structure/factorization_integer.py +++ b/src/sage/structure/factorization_integer.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects "IntegerFactorization objects" from sage.structure.factorization import Factorization diff --git a/src/sage/structure/factory.pyx b/src/sage/structure/factory.pyx index 75a043250c2..7484acc0e2c 100644 --- a/src/sage/structure/factory.pyx +++ b/src/sage/structure/factory.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects r""" Factory for cached representations diff --git a/src/sage/structure/formal_sum.py b/src/sage/structure/formal_sum.py index f8f9b4d16de..b11865373b4 100644 --- a/src/sage/structure/formal_sum.py +++ b/src/sage/structure/formal_sum.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects """ Formal sums diff --git a/src/sage/structure/gens_py.py b/src/sage/structure/gens_py.py index 22555a74c92..6d3fcae2520 100644 --- a/src/sage/structure/gens_py.py +++ b/src/sage/structure/gens_py.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects """ Pure python code for abstract base class for objects with generators """ diff --git a/src/sage/structure/global_options.py b/src/sage/structure/global_options.py index 01bbfd79ad9..9d27e826f2d 100644 --- a/src/sage/structure/global_options.py +++ b/src/sage/structure/global_options.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects r""" Global options diff --git a/src/sage/structure/indexed_generators.py b/src/sage/structure/indexed_generators.py index f0d521bee87..de3a703baf9 100644 --- a/src/sage/structure/indexed_generators.py +++ b/src/sage/structure/indexed_generators.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-objects """ Indexed Generators """ diff --git a/src/sage/structure/list_clone.pxd b/src/sage/structure/list_clone.pxd index ef1d20f4bd3..4366d7494e3 100644 --- a/src/sage/structure/list_clone.pxd +++ b/src/sage/structure/list_clone.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects #***************************************************************************** # Copyright (C) 2009-2010 Florent Hivert # diff --git a/src/sage/structure/list_clone.pyx b/src/sage/structure/list_clone.pyx index 8ae709adc45..ae8cb0de103 100644 --- a/src/sage/structure/list_clone.pyx +++ b/src/sage/structure/list_clone.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects r""" Elements, Array and Lists With Clone Protocol diff --git a/src/sage/structure/list_clone_demo.pyx b/src/sage/structure/list_clone_demo.pyx index 0bd018f57c0..df9cf81cd70 100644 --- a/src/sage/structure/list_clone_demo.pyx +++ b/src/sage/structure/list_clone_demo.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects r""" Elements, Array and Lists With Clone Protocol, demonstration classes diff --git a/src/sage/structure/list_clone_timings.py b/src/sage/structure/list_clone_timings.py index efe5d20efc7..05320d6bc77 100644 --- a/src/sage/structure/list_clone_timings.py +++ b/src/sage/structure/list_clone_timings.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-objects """ Performance Test for Clone Protocol diff --git a/src/sage/structure/list_clone_timings_cy.pyx b/src/sage/structure/list_clone_timings_cy.pyx index 46152f1e68b..87039d3f94a 100644 --- a/src/sage/structure/list_clone_timings_cy.pyx +++ b/src/sage/structure/list_clone_timings_cy.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects """ Cython Functions for Timing Clone Protocol """ diff --git a/src/sage/structure/mutability.pxd b/src/sage/structure/mutability.pxd index f5df8b89892..bb16ece621c 100644 --- a/src/sage/structure/mutability.pxd +++ b/src/sage/structure/mutability.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects """ Mutability -- Pyrex Implementation """ @@ -17,4 +18,4 @@ cdef class Mutability: cpdef _require_mutable(self) cpdef _require_immutable(self) cpdef bint is_immutable(self) noexcept - cpdef bint is_mutable(self) noexcept \ No newline at end of file + cpdef bint is_mutable(self) noexcept diff --git a/src/sage/structure/mutability.pyx b/src/sage/structure/mutability.pyx index c61fd06c3dc..e33c2bf6b38 100644 --- a/src/sage/structure/mutability.pyx +++ b/src/sage/structure/mutability.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects """ Mutability Cython Implementation """ diff --git a/src/sage/structure/nonexact.py b/src/sage/structure/nonexact.py index ffb39e5f579..cef7a641f26 100644 --- a/src/sage/structure/nonexact.py +++ b/src/sage/structure/nonexact.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects r""" Precision management for non-exact objects diff --git a/src/sage/structure/parent.pxd b/src/sage/structure/parent.pxd index 1635ef8b36e..691bd78eb2a 100644 --- a/src/sage/structure/parent.pxd +++ b/src/sage/structure/parent.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects #***************************************************************************** # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/src/sage/structure/parent.pyx b/src/sage/structure/parent.pyx index 2b579cdc60a..7c4737d8d7d 100644 --- a/src/sage/structure/parent.pyx +++ b/src/sage/structure/parent.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects r""" Base class for parent objects diff --git a/src/sage/structure/parent_base.pxd b/src/sage/structure/parent_base.pxd index 8ffac64eff2..3683c39d827 100644 --- a/src/sage/structure/parent_base.pxd +++ b/src/sage/structure/parent_base.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects ############################################################################### # Sage: Open Source Mathematical Software # Copyright (C) 2006 William Stein diff --git a/src/sage/structure/parent_base.pyx b/src/sage/structure/parent_base.pyx index b41175b5bff..7cef8f692c5 100644 --- a/src/sage/structure/parent_base.pyx +++ b/src/sage/structure/parent_base.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects r""" Base class for old-style parent objects with a base ring """ diff --git a/src/sage/structure/parent_gens.pxd b/src/sage/structure/parent_gens.pxd index cf3b416317f..573db0c52fa 100644 --- a/src/sage/structure/parent_gens.pxd +++ b/src/sage/structure/parent_gens.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects """ Parent objects with generators """ diff --git a/src/sage/structure/parent_gens.pyx b/src/sage/structure/parent_gens.pyx index 3f69b9daee4..6f12c36670f 100644 --- a/src/sage/structure/parent_gens.pyx +++ b/src/sage/structure/parent_gens.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects r""" Base class for old-style parent objects with generators diff --git a/src/sage/structure/parent_old.pxd b/src/sage/structure/parent_old.pxd index 54bb4753970..6a26fba915e 100644 --- a/src/sage/structure/parent_old.pxd +++ b/src/sage/structure/parent_old.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects # **************************************************************************** # Copyright (C) 2006 William Stein # diff --git a/src/sage/structure/parent_old.pyx b/src/sage/structure/parent_old.pyx index 7b8ce70b5a5..a34928ff8a2 100644 --- a/src/sage/structure/parent_old.pyx +++ b/src/sage/structure/parent_old.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects r""" Base class for old-style parent objects diff --git a/src/sage/structure/proof/__init__.py b/src/sage/structure/proof/__init__.py index e69de29bb2d..f9b8167c3cd 100644 --- a/src/sage/structure/proof/__init__.py +++ b/src/sage/structure/proof/__init__.py @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-objects diff --git a/src/sage/structure/proof/all.py b/src/sage/structure/proof/all.py index c006c56c36d..d3a72dc1400 100644 --- a/src/sage/structure/proof/all.py +++ b/src/sage/structure/proof/all.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects def arithmetic(t=None): @@ -35,7 +36,7 @@ def arithmetic(t=None): sage: proof.arithmetic() True """ - from .proof import _proof_prefs + from sage.structure.proof.proof import _proof_prefs return _proof_prefs.arithmetic(t) @@ -73,7 +74,7 @@ def elliptic_curve(t=None): sage: proof.elliptic_curve() True """ - from .proof import _proof_prefs + from sage.structure.proof.proof import _proof_prefs return _proof_prefs.elliptic_curve(t) @@ -111,7 +112,7 @@ def linear_algebra(t=None): sage: proof.linear_algebra() True """ - from .proof import _proof_prefs + from sage.structure.proof.proof import _proof_prefs return _proof_prefs.linear_algebra(t) @@ -148,7 +149,7 @@ def number_field(t=None): sage: proof.number_field() True """ - from .proof import _proof_prefs + from sage.structure.proof.proof import _proof_prefs return _proof_prefs.number_field(t) @@ -185,7 +186,7 @@ def polynomial(t=None): sage: proof.polynomial() True """ - from .proof import _proof_prefs + from sage.structure.proof.proof import _proof_prefs return _proof_prefs.polynomial(t) @@ -234,11 +235,11 @@ def all(t=None): sage: proof.number_field() True """ - from .proof import _proof_prefs + from sage.structure.proof.proof import _proof_prefs if t is None: return _proof_prefs._require_proof.copy() for s in _proof_prefs._require_proof: _proof_prefs._require_proof[s] = bool(t) -from .proof import WithProof +from sage.structure.proof.proof import WithProof diff --git a/src/sage/structure/proof/proof.py b/src/sage/structure/proof/proof.py index 49d4ecebe5a..bb02b6dce54 100644 --- a/src/sage/structure/proof/proof.py +++ b/src/sage/structure/proof/proof.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects "Global proof preferences" from sage.structure.sage_object import SageObject diff --git a/src/sage/structure/richcmp.pxd b/src/sage/structure/richcmp.pxd index 98bda696ec7..ecbeaef391e 100644 --- a/src/sage/structure/richcmp.pxd +++ b/src/sage/structure/richcmp.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects from libc.stdint cimport uint32_t from cpython.object cimport (Py_LT, Py_LE, Py_EQ, Py_NE, Py_GT, Py_GE, PyObject_RichCompare) diff --git a/src/sage/structure/richcmp.pyx b/src/sage/structure/richcmp.pyx index 465f16e8274..934a49e7600 100644 --- a/src/sage/structure/richcmp.pyx +++ b/src/sage/structure/richcmp.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects r""" Cython-like rich comparisons in Python diff --git a/src/sage/structure/sage_object.pxd b/src/sage/structure/sage_object.pxd index 5e3e442c896..40b753d1aa3 100644 --- a/src/sage/structure/sage_object.pxd +++ b/src/sage/structure/sage_object.pxd @@ -1,2 +1,3 @@ +# sage_setup: distribution = sagemath-objects cdef class SageObject: pass diff --git a/src/sage/structure/sage_object.pyx b/src/sage/structure/sage_object.pyx index b5b9f59334d..4c4bd56678e 100644 --- a/src/sage/structure/sage_object.pyx +++ b/src/sage/structure/sage_object.pyx @@ -1,4 +1,4 @@ -# -*- encoding: utf-8 -*- +# sage_setup: distribution = sagemath-objects r""" Abstract base class for Sage objects """ diff --git a/src/sage/structure/sage_object_test.py b/src/sage/structure/sage_object_test.py index 721c1ad7719..644543e99f8 100644 --- a/src/sage/structure/sage_object_test.py +++ b/src/sage/structure/sage_object_test.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects import pytest from sage.structure.sage_object import SageObject diff --git a/src/sage/structure/sequence.py b/src/sage/structure/sequence.py index 92d464241e6..5bbcfc1798a 100644 --- a/src/sage/structure/sequence.py +++ b/src/sage/structure/sequence.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects r""" Finite Homogeneous Sequences diff --git a/src/sage/structure/set_factories.py b/src/sage/structure/set_factories.py index f8b8e3643c9..46d8870379c 100644 --- a/src/sage/structure/set_factories.py +++ b/src/sage/structure/set_factories.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects r""" Set factories ============= diff --git a/src/sage/structure/set_factories_example.py b/src/sage/structure/set_factories_example.py index df1d7d7f49c..8212f7ce525 100644 --- a/src/sage/structure/set_factories_example.py +++ b/src/sage/structure/set_factories_example.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects r""" An example of set factory ========================= diff --git a/src/sage/structure/support_view.py b/src/sage/structure/support_view.py index 0778f2a47ed..bebae1a31f5 100644 --- a/src/sage/structure/support_view.py +++ b/src/sage/structure/support_view.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects r""" Iterable of the keys of a Mapping associated with nonzero values """ diff --git a/src/sage/structure/test_factory.py b/src/sage/structure/test_factory.py index 145311b9dd3..9835a06f909 100644 --- a/src/sage/structure/test_factory.py +++ b/src/sage/structure/test_factory.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects """ Test of the :mod:`~sage.structure.factory` module """ diff --git a/src/sage/structure/unique_representation.py b/src/sage/structure/unique_representation.py index bef7563001e..5dd5072b45f 100644 --- a/src/sage/structure/unique_representation.py +++ b/src/sage/structure/unique_representation.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-objects r""" Unique Representation diff --git a/src/sage/symbolic/all.py b/src/sage/symbolic/all.py index b5a0883d202..1ff2a51a3f8 100644 --- a/src/sage/symbolic/all.py +++ b/src/sage/symbolic/all.py @@ -1,14 +1,16 @@ -from .ring import SR -from .constants import (pi, e, NaN, golden_ratio, log2, euler_gamma, catalan, - khinchin, twinprime, mertens, glaisher) -from .expression import Expression, solve_diophantine, hold -from .callable import CallableSymbolicExpressionRing +# sage_setup: distribution = sagemath-symbolics + +from sage.symbolic.ring import SR +from sage.symbolic.constants import (pi, e, NaN, golden_ratio, log2, euler_gamma, catalan, + khinchin, twinprime, mertens, glaisher) +from sage.symbolic.expression import Expression, solve_diophantine, hold +from sage.symbolic.callable import CallableSymbolicExpressionRing from sage.symbolic.relation import solve, solve_mod, solve_ineq from sage.symbolic.assumptions import assume, forget, assumptions, assuming -from .units import units +from sage.symbolic.units import units π = pi -from .operators import D +from sage.symbolic.operators import D diff --git a/src/sage/symbolic/all__sagemath_categories.py b/src/sage/symbolic/all__sagemath_categories.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/symbolic/all__sagemath_standard_no_symbolics.py b/src/sage/symbolic/all__sagemath_standard_no_symbolics.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/symbolic/assumptions.py b/src/sage/symbolic/assumptions.py index 9ef8dd39212..9503aa9786f 100644 --- a/src/sage/symbolic/assumptions.py +++ b/src/sage/symbolic/assumptions.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics """ Assumptions diff --git a/src/sage/symbolic/benchmark.py b/src/sage/symbolic/benchmark.py index 66d8217e315..f5aea55e97b 100644 --- a/src/sage/symbolic/benchmark.py +++ b/src/sage/symbolic/benchmark.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Benchmarks diff --git a/src/sage/symbolic/callable.py b/src/sage/symbolic/callable.py index f578454706a..44b5d8c957c 100644 --- a/src/sage/symbolic/callable.py +++ b/src/sage/symbolic/callable.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics """ Callable Symbolic Expressions diff --git a/src/sage/symbolic/comparison_impl.pxi b/src/sage/symbolic/comparison_impl.pxi index a1ef76bd778..6dc61c2bab3 100644 --- a/src/sage/symbolic/comparison_impl.pxi +++ b/src/sage/symbolic/comparison_impl.pxi @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics """ Comparison of Symbolic Expressions diff --git a/src/sage/symbolic/complexity_measures.py b/src/sage/symbolic/complexity_measures.py index 528d1bf6906..dc6211f6486 100644 --- a/src/sage/symbolic/complexity_measures.py +++ b/src/sage/symbolic/complexity_measures.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics """ Complexity Measures diff --git a/src/sage/symbolic/constants.py b/src/sage/symbolic/constants.py index 043a55aa0e4..3b4bb3375c2 100644 --- a/src/sage/symbolic/constants.py +++ b/src/sage/symbolic/constants.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Mathematical constants diff --git a/src/sage/symbolic/constants_c_impl.pxi b/src/sage/symbolic/constants_c_impl.pxi index 63a90c71fd9..901dabb8772 100644 --- a/src/sage/symbolic/constants_c_impl.pxi +++ b/src/sage/symbolic/constants_c_impl.pxi @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics """ The constant `e` """ diff --git a/src/sage/symbolic/expression.pxd b/src/sage/symbolic/expression.pxd index 33e352b7f3d..afd28c1d25c 100644 --- a/src/sage/symbolic/expression.pxd +++ b/src/sage/symbolic/expression.pxd @@ -1,3 +1,5 @@ +# sage_setup: distribution = sagemath-symbolics + cpdef _repr_Expression(x) cpdef _latex_Expression(x) cpdef new_Expression(parent, x) diff --git a/src/sage/symbolic/expression.pyx b/src/sage/symbolic/expression.pyx index e14674678a0..053ad77b6e6 100644 --- a/src/sage/symbolic/expression.pyx +++ b/src/sage/symbolic/expression.pyx @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-symbolics # distutils: sources = sage/symbolic/ginac/add.cpp sage/symbolic/ginac/archive.cpp sage/symbolic/ginac/assume.cpp sage/symbolic/ginac/basic.cpp sage/symbolic/ginac/cmatcher.cpp sage/symbolic/ginac/constant.cpp sage/symbolic/ginac/context.cpp sage/symbolic/ginac/ex.cpp sage/symbolic/ginac/expair.cpp sage/symbolic/ginac/expairseq.cpp sage/symbolic/ginac/exprseq.cpp sage/symbolic/ginac/fderivative.cpp sage/symbolic/ginac/function.cpp sage/symbolic/ginac/function_info.cpp sage/symbolic/ginac/infinity.cpp sage/symbolic/ginac/infoflagbase.cpp sage/symbolic/ginac/inifcns.cpp sage/symbolic/ginac/inifcns_comb.cpp sage/symbolic/ginac/inifcns_gamma.cpp sage/symbolic/ginac/inifcns_hyperb.cpp sage/symbolic/ginac/inifcns_hyperg.cpp sage/symbolic/ginac/inifcns_nstdsums.cpp sage/symbolic/ginac/inifcns_orthopoly.cpp sage/symbolic/ginac/inifcns_trans.cpp sage/symbolic/ginac/inifcns_trig.cpp sage/symbolic/ginac/inifcns_zeta.cpp sage/symbolic/ginac/lst.cpp sage/symbolic/ginac/matrix.cpp sage/symbolic/ginac/mpoly-giac.cpp sage/symbolic/ginac/mpoly-ginac.cpp sage/symbolic/ginac/mpoly-singular.cpp sage/symbolic/ginac/mpoly.cpp sage/symbolic/ginac/mul.cpp sage/symbolic/ginac/normal.cpp sage/symbolic/ginac/numeric.cpp sage/symbolic/ginac/operators.cpp sage/symbolic/ginac/order.cpp sage/symbolic/ginac/power.cpp sage/symbolic/ginac/print.cpp sage/symbolic/ginac/pseries.cpp sage/symbolic/ginac/py_funcs.cpp sage/symbolic/ginac/registrar.cpp sage/symbolic/ginac/relational.cpp sage/symbolic/ginac/remember.cpp sage/symbolic/ginac/sum.cpp sage/symbolic/ginac/symbol.cpp sage/symbolic/ginac/templates.cpp sage/symbolic/ginac/upoly-ginac.cpp sage/symbolic/ginac/useries.cpp sage/symbolic/ginac/utils.cpp sage/symbolic/ginac/wildcard.cpp # distutils: language = c++ # distutils: libraries = flint gmp SINGULAR_LIBRARIES diff --git a/src/sage/symbolic/expression_conversion_algebraic.py b/src/sage/symbolic/expression_conversion_algebraic.py index d5764cb2421..0a4e6b926cb 100644 --- a/src/sage/symbolic/expression_conversion_algebraic.py +++ b/src/sage/symbolic/expression_conversion_algebraic.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Conversion of symbolic expressions to algebraic numbers """ diff --git a/src/sage/symbolic/expression_conversion_sympy.py b/src/sage/symbolic/expression_conversion_sympy.py index e7aaf3bd656..00c7dae8bbc 100644 --- a/src/sage/symbolic/expression_conversion_sympy.py +++ b/src/sage/symbolic/expression_conversion_sympy.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics # sage.doctest: needs sympy r""" Conversion of symbolic expressions to SymPy diff --git a/src/sage/symbolic/expression_conversions.py b/src/sage/symbolic/expression_conversions.py index 3944390c746..fb29ef525c0 100644 --- a/src/sage/symbolic/expression_conversions.py +++ b/src/sage/symbolic/expression_conversions.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics """ Conversion of symbolic expressions to other types diff --git a/src/sage/symbolic/function.pxd b/src/sage/symbolic/function.pxd index db1ba6c5d54..a3235c3f4c0 100644 --- a/src/sage/symbolic/function.pxd +++ b/src/sage/symbolic/function.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories from sage.structure.sage_object cimport SageObject cdef class Function(SageObject): diff --git a/src/sage/symbolic/function.pyx b/src/sage/symbolic/function.pyx index f33b8eb47e6..02dd2bffc19 100644 --- a/src/sage/symbolic/function.pyx +++ b/src/sage/symbolic/function.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Classes for symbolic functions diff --git a/src/sage/symbolic/function_factory.py b/src/sage/symbolic/function_factory.py index 43779c4fb42..25686ba839d 100644 --- a/src/sage/symbolic/function_factory.py +++ b/src/sage/symbolic/function_factory.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Factory for symbolic functions """ diff --git a/src/sage/symbolic/getitem_impl.pxi b/src/sage/symbolic/getitem_impl.pxi index c20cf1e6e31..48b0097995f 100644 --- a/src/sage/symbolic/getitem_impl.pxi +++ b/src/sage/symbolic/getitem_impl.pxi @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics "Operands" # **************************************************************************** diff --git a/src/sage/symbolic/integration/all.py b/src/sage/symbolic/integration/all.py index e69de29bb2d..332eaf1cdb6 100644 --- a/src/sage/symbolic/integration/all.py +++ b/src/sage/symbolic/integration/all.py @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-symbolics diff --git a/src/sage/symbolic/integration/external.py b/src/sage/symbolic/integration/external.py index ea73c69ff74..bf4ea9c180d 100644 --- a/src/sage/symbolic/integration/external.py +++ b/src/sage/symbolic/integration/external.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics """Symbolic Integration via External Software TESTS:: diff --git a/src/sage/symbolic/integration/integral.py b/src/sage/symbolic/integration/integral.py index 61e1513d87f..66105f0357e 100644 --- a/src/sage/symbolic/integration/integral.py +++ b/src/sage/symbolic/integration/integral.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics """ Symbolic Integration """ diff --git a/src/sage/symbolic/maxima_wrapper.py b/src/sage/symbolic/maxima_wrapper.py index ca30af3efcf..3868ee20ad4 100644 --- a/src/sage/symbolic/maxima_wrapper.py +++ b/src/sage/symbolic/maxima_wrapper.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics "Access to Maxima methods" ############################################################################### diff --git a/src/sage/symbolic/operators.py b/src/sage/symbolic/operators.py index 07add13f71e..000f889da3a 100644 --- a/src/sage/symbolic/operators.py +++ b/src/sage/symbolic/operators.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics "Operators" import operator diff --git a/src/sage/symbolic/pynac.pxi b/src/sage/symbolic/pynac.pxi index 4bdbcd99526..885f4aef621 100644 --- a/src/sage/symbolic/pynac.pxi +++ b/src/sage/symbolic/pynac.pxi @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics """ Declarations for pynac, a Python frontend for ginac diff --git a/src/sage/symbolic/pynac_constant_impl.pxi b/src/sage/symbolic/pynac_constant_impl.pxi index 442afbafbc3..5ee32344043 100644 --- a/src/sage/symbolic/pynac_constant_impl.pxi +++ b/src/sage/symbolic/pynac_constant_impl.pxi @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics """ Wrapper around Pynac's constants """ diff --git a/src/sage/symbolic/pynac_function_impl.pxi b/src/sage/symbolic/pynac_function_impl.pxi index f20c8faf91a..218db113423 100644 --- a/src/sage/symbolic/pynac_function_impl.pxi +++ b/src/sage/symbolic/pynac_function_impl.pxi @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics cpdef call_registered_function(unsigned serial, int nargs, list args, diff --git a/src/sage/symbolic/pynac_impl.pxi b/src/sage/symbolic/pynac_impl.pxi index f31a5498218..de896a0adee 100644 --- a/src/sage/symbolic/pynac_impl.pxi +++ b/src/sage/symbolic/pynac_impl.pxi @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics """ Pynac interface """ diff --git a/src/sage/symbolic/random_tests.py b/src/sage/symbolic/random_tests.py index 552cf61a5b6..609f3a42ef3 100644 --- a/src/sage/symbolic/random_tests.py +++ b/src/sage/symbolic/random_tests.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics """ Randomized tests of GiNaC / PyNaC """ diff --git a/src/sage/symbolic/relation.py b/src/sage/symbolic/relation.py index 6d2e4ec79be..dc567ec4b03 100644 --- a/src/sage/symbolic/relation.py +++ b/src/sage/symbolic/relation.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Symbolic Equations and Inequalities diff --git a/src/sage/symbolic/ring.pxd b/src/sage/symbolic/ring.pxd index 9e628098dd1..7f5a96be693 100644 --- a/src/sage/symbolic/ring.pxd +++ b/src/sage/symbolic/ring.pxd @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics cimport sage.rings.abc cdef class SymbolicRing(sage.rings.abc.SymbolicRing): diff --git a/src/sage/symbolic/ring.pyx b/src/sage/symbolic/ring.pyx index 32a22e6f861..a380d091ed3 100644 --- a/src/sage/symbolic/ring.pyx +++ b/src/sage/symbolic/ring.pyx @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-symbolics """ The symbolic ring """ diff --git a/src/sage/symbolic/series_impl.pxi b/src/sage/symbolic/series_impl.pxi index 3f869920d6b..739da937d81 100644 --- a/src/sage/symbolic/series_impl.pxi +++ b/src/sage/symbolic/series_impl.pxi @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Symbolic Series diff --git a/src/sage/symbolic/subring.py b/src/sage/symbolic/subring.py index 2db60e8f915..5bde515595b 100644 --- a/src/sage/symbolic/subring.py +++ b/src/sage/symbolic/subring.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" Subrings of the Symbolic Ring diff --git a/src/sage/symbolic/substitution_map_impl.pxi b/src/sage/symbolic/substitution_map_impl.pxi index 7d9e35cf630..2484748c2c3 100644 --- a/src/sage/symbolic/substitution_map_impl.pxi +++ b/src/sage/symbolic/substitution_map_impl.pxi @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics """ Substitution Maps diff --git a/src/sage/symbolic/symbols.py b/src/sage/symbolic/symbols.py index 7fe7cdb4472..239e4912228 100644 --- a/src/sage/symbolic/symbols.py +++ b/src/sage/symbolic/symbols.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Symbol table """ diff --git a/src/sage/symbolic/symengine.py b/src/sage/symbolic/symengine.py index 5c3a46eb8b0..5954616e336 100644 --- a/src/sage/symbolic/symengine.py +++ b/src/sage/symbolic/symengine.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics r""" EXAMPLES:: diff --git a/src/sage/symbolic/tests.py b/src/sage/symbolic/tests.py index a7c6a9a6cb2..2c7a1ba6f24 100644 --- a/src/sage/symbolic/tests.py +++ b/src/sage/symbolic/tests.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics """ Tests for the Sage/Pynac interaction """ diff --git a/src/sage/symbolic/units.py b/src/sage/symbolic/units.py index 5e1abf675c9..25837199d42 100644 --- a/src/sage/symbolic/units.py +++ b/src/sage/symbolic/units.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-symbolics """ Units of measurement diff --git a/src/sage/tensor/all.py b/src/sage/tensor/all.py index dc52f0b09ed..15ed68111f2 100644 --- a/src/sage/tensor/all.py +++ b/src/sage/tensor/all.py @@ -1 +1,3 @@ -from .modules.all import * +# sage_setup: distribution = sagemath-modules + +from sage.tensor.modules.all import * diff --git a/src/sage/tensor/modules/all.py b/src/sage/tensor/modules/all.py index 92b555136b4..98108a4359d 100644 --- a/src/sage/tensor/modules/all.py +++ b/src/sage/tensor/modules/all.py @@ -1,6 +1,8 @@ +# sage_setup: distribution = sagemath-modules from sage.misc.lazy_import import lazy_import lazy_import('sage.tensor.modules.finite_rank_free_module', 'FiniteRankFreeModule') # NB: in Sage 8.8.beta2, the lazy import of FiniteRankFreeModule is necessary # to avoid some import order issue when Chart is imported in # free_module_tensor, see comments 12 to 18 in :issue:`27655`. +del lazy_import diff --git a/src/sage/tensor/modules/alternating_contr_tensor.py b/src/sage/tensor/modules/alternating_contr_tensor.py index 3ef51967bc6..c0ef91fae35 100644 --- a/src/sage/tensor/modules/alternating_contr_tensor.py +++ b/src/sage/tensor/modules/alternating_contr_tensor.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Alternating contravariant tensors on free modules diff --git a/src/sage/tensor/modules/comp.py b/src/sage/tensor/modules/comp.py index 7912b9269f8..0e2da3c8953 100644 --- a/src/sage/tensor/modules/comp.py +++ b/src/sage/tensor/modules/comp.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Components as indexed sets of ring elements diff --git a/src/sage/tensor/modules/ext_pow_free_module.py b/src/sage/tensor/modules/ext_pow_free_module.py index 785b4ecc6bd..789d7f36ea0 100644 --- a/src/sage/tensor/modules/ext_pow_free_module.py +++ b/src/sage/tensor/modules/ext_pow_free_module.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Exterior powers of free modules diff --git a/src/sage/tensor/modules/finite_rank_free_module.py b/src/sage/tensor/modules/finite_rank_free_module.py index 0434ed84c53..7b524054ab9 100644 --- a/src/sage/tensor/modules/finite_rank_free_module.py +++ b/src/sage/tensor/modules/finite_rank_free_module.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Free modules of finite rank diff --git a/src/sage/tensor/modules/format_utilities.py b/src/sage/tensor/modules/format_utilities.py index 139fee85310..381eb470dbf 100644 --- a/src/sage/tensor/modules/format_utilities.py +++ b/src/sage/tensor/modules/format_utilities.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Formatting utilities diff --git a/src/sage/tensor/modules/free_module_alt_form.py b/src/sage/tensor/modules/free_module_alt_form.py index 4285b90cb41..934a7e1a3bd 100644 --- a/src/sage/tensor/modules/free_module_alt_form.py +++ b/src/sage/tensor/modules/free_module_alt_form.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Alternating forms on free modules diff --git a/src/sage/tensor/modules/free_module_automorphism.py b/src/sage/tensor/modules/free_module_automorphism.py index ebe30d6255b..0bb0e208433 100644 --- a/src/sage/tensor/modules/free_module_automorphism.py +++ b/src/sage/tensor/modules/free_module_automorphism.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Free module automorphisms diff --git a/src/sage/tensor/modules/free_module_basis.py b/src/sage/tensor/modules/free_module_basis.py index 9d112ef48d7..0e58585a48e 100644 --- a/src/sage/tensor/modules/free_module_basis.py +++ b/src/sage/tensor/modules/free_module_basis.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Free module bases diff --git a/src/sage/tensor/modules/free_module_element.py b/src/sage/tensor/modules/free_module_element.py index d4e3f42a390..96eec08c27b 100644 --- a/src/sage/tensor/modules/free_module_element.py +++ b/src/sage/tensor/modules/free_module_element.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Elements of free modules of finite rank diff --git a/src/sage/tensor/modules/free_module_homset.py b/src/sage/tensor/modules/free_module_homset.py index 509ae146d49..7f1da1fe73f 100644 --- a/src/sage/tensor/modules/free_module_homset.py +++ b/src/sage/tensor/modules/free_module_homset.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Sets of morphisms between free modules diff --git a/src/sage/tensor/modules/free_module_linear_group.py b/src/sage/tensor/modules/free_module_linear_group.py index a58bd3a8a72..0e328a78ee1 100644 --- a/src/sage/tensor/modules/free_module_linear_group.py +++ b/src/sage/tensor/modules/free_module_linear_group.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" General linear group of a free module diff --git a/src/sage/tensor/modules/free_module_morphism.py b/src/sage/tensor/modules/free_module_morphism.py index 073cb91e60c..9c1ed019974 100644 --- a/src/sage/tensor/modules/free_module_morphism.py +++ b/src/sage/tensor/modules/free_module_morphism.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Free module morphisms diff --git a/src/sage/tensor/modules/free_module_tensor.py b/src/sage/tensor/modules/free_module_tensor.py index 2dd54a64c1a..36d000435ab 100644 --- a/src/sage/tensor/modules/free_module_tensor.py +++ b/src/sage/tensor/modules/free_module_tensor.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Tensors on free modules diff --git a/src/sage/tensor/modules/reflexive_module.py b/src/sage/tensor/modules/reflexive_module.py index 073f76e4659..82646094800 100644 --- a/src/sage/tensor/modules/reflexive_module.py +++ b/src/sage/tensor/modules/reflexive_module.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Base classes for reflexive modules """ diff --git a/src/sage/tensor/modules/tensor_free_module.py b/src/sage/tensor/modules/tensor_free_module.py index 8e56dbc0b76..d89fbce1245 100644 --- a/src/sage/tensor/modules/tensor_free_module.py +++ b/src/sage/tensor/modules/tensor_free_module.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Tensor products of free modules diff --git a/src/sage/tensor/modules/tensor_free_submodule.py b/src/sage/tensor/modules/tensor_free_submodule.py index 97d0446bc55..36e32ae9e8c 100644 --- a/src/sage/tensor/modules/tensor_free_submodule.py +++ b/src/sage/tensor/modules/tensor_free_submodule.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Free submodules of tensor modules defined by monoterm symmetries diff --git a/src/sage/tensor/modules/tensor_free_submodule_basis.py b/src/sage/tensor/modules/tensor_free_submodule_basis.py index 6c88b05af23..da1b1c78979 100644 --- a/src/sage/tensor/modules/tensor_free_submodule_basis.py +++ b/src/sage/tensor/modules/tensor_free_submodule_basis.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules r""" Standard bases of free submodules of tensor modules defined by some monoterm symmetries diff --git a/src/sage/tensor/modules/tensor_with_indices.py b/src/sage/tensor/modules/tensor_with_indices.py index 8a637315af8..cf590f83a96 100644 --- a/src/sage/tensor/modules/tensor_with_indices.py +++ b/src/sage/tensor/modules/tensor_with_indices.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-modules # sage.doctest: needs sage.groups r""" Index notation for tensors diff --git a/src/sage/tests/__init__.py b/src/sage/tests/__init__.py index e69de29bb2d..62acb4df510 100644 --- a/src/sage/tests/__init__.py +++ b/src/sage/tests/__init__.py @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-repl diff --git a/src/sage/tests/all.py b/src/sage/tests/all.py index c0f6f2877d5..382623d080e 100644 --- a/src/sage/tests/all.py +++ b/src/sage/tests/all.py @@ -1,2 +1,3 @@ +# sage_setup: distribution = sagemath-repl """ """ diff --git a/src/sage/tests/article_heuberger_krenn_kropf_fsm-in-sage.py b/src/sage/tests/article_heuberger_krenn_kropf_fsm-in-sage.py index d0a51a55eff..f03f58a1517 100644 --- a/src/sage/tests/article_heuberger_krenn_kropf_fsm-in-sage.py +++ b/src/sage/tests/article_heuberger_krenn_kropf_fsm-in-sage.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-repl # sage.doctest: needs sage.graphs sage.modules r""" This file contains doctests of the article :: diff --git a/src/sage/tests/arxiv_0812_2725.py b/src/sage/tests/arxiv_0812_2725.py index 62217b3e8d8..b162a303708 100644 --- a/src/sage/tests/arxiv_0812_2725.py +++ b/src/sage/tests/arxiv_0812_2725.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-repl # sage.doctest: needs sage.combinat r""" Sage code for computing k-distant crossing numbers. diff --git a/src/sage/tests/benchmark.py b/src/sage/tests/benchmark.py index 9445a3f7633..4e6f6c4ede0 100644 --- a/src/sage/tests/benchmark.py +++ b/src/sage/tests/benchmark.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-repl # sage.doctest: needs sage.symbolic """ Benchmarks diff --git a/src/sage/tests/book_schilling_zabrocki_kschur_primer.py b/src/sage/tests/book_schilling_zabrocki_kschur_primer.py index 4f91b77e036..3a0b26c36d1 100644 --- a/src/sage/tests/book_schilling_zabrocki_kschur_primer.py +++ b/src/sage/tests/book_schilling_zabrocki_kschur_primer.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-repl # sage.doctest: needs sage.combinat sage.graphs sage.groups r""" This file contains doctests for the Chapter "k-Schur function primer" diff --git a/src/sage/tests/book_stein_ent.py b/src/sage/tests/book_stein_ent.py index e7dbcaf37a1..ef63d9104a7 100644 --- a/src/sage/tests/book_stein_ent.py +++ b/src/sage/tests/book_stein_ent.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-repl # sage.doctest: needs sage.libs.pari """ This file contains all the example code from the published book diff --git a/src/sage/tests/books/computational-mathematics-with-sagemath/__init__.py b/src/sage/tests/books/computational-mathematics-with-sagemath/__init__.py index e69de29bb2d..62acb4df510 100644 --- a/src/sage/tests/books/computational-mathematics-with-sagemath/__init__.py +++ b/src/sage/tests/books/computational-mathematics-with-sagemath/__init__.py @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-repl diff --git a/src/sage/tests/books/computational-mathematics-with-sagemath/calculus_doctest.py b/src/sage/tests/books/computational-mathematics-with-sagemath/calculus_doctest.py index 976b912de2a..567174fc49c 100644 --- a/src/sage/tests/books/computational-mathematics-with-sagemath/calculus_doctest.py +++ b/src/sage/tests/books/computational-mathematics-with-sagemath/calculus_doctest.py @@ -1,4 +1,4 @@ -## -*- encoding: utf-8 -*- +# sage_setup: distribution = sagemath-repl """ This file (./calculus_doctest.sage) was *autogenerated* from ./calculus.tex, with sagetex.sty version 2011/05/27 v2.3.1. diff --git a/src/sage/tests/books/computational-mathematics-with-sagemath/combinat_doctest.py b/src/sage/tests/books/computational-mathematics-with-sagemath/combinat_doctest.py index 864549d1958..b3349620ce6 100644 --- a/src/sage/tests/books/computational-mathematics-with-sagemath/combinat_doctest.py +++ b/src/sage/tests/books/computational-mathematics-with-sagemath/combinat_doctest.py @@ -1,4 +1,4 @@ -## -*- encoding: utf-8 -*- +# sage_setup: distribution = sagemath-repl """ This file (./combinat_doctest.sage) was *autogenerated* from ./combinat.tex, with sagetex.sty version 2011/05/27 v2.3.1. diff --git a/src/sage/tests/books/computational-mathematics-with-sagemath/domaines_doctest.py b/src/sage/tests/books/computational-mathematics-with-sagemath/domaines_doctest.py index 94c50977d79..cee1d36e208 100644 --- a/src/sage/tests/books/computational-mathematics-with-sagemath/domaines_doctest.py +++ b/src/sage/tests/books/computational-mathematics-with-sagemath/domaines_doctest.py @@ -1,4 +1,4 @@ -## -*- encoding: utf-8 -*- +# sage_setup: distribution = sagemath-repl """ This file (./domaines_doctest.sage) was *autogenerated* from ./domaines.tex, with sagetex.sty version 2011/05/27 v2.3.1. diff --git a/src/sage/tests/books/computational-mathematics-with-sagemath/float_doctest.py b/src/sage/tests/books/computational-mathematics-with-sagemath/float_doctest.py index aa3eed32f3b..7addbc668be 100644 --- a/src/sage/tests/books/computational-mathematics-with-sagemath/float_doctest.py +++ b/src/sage/tests/books/computational-mathematics-with-sagemath/float_doctest.py @@ -1,4 +1,4 @@ -## -*- encoding: utf-8 -*- +# sage_setup: distribution = sagemath-repl """ This file (./float_doctest.sage) was *autogenerated* from ./float.tex, with sagetex.sty version 2011/05/27 v2.3.1. diff --git a/src/sage/tests/books/computational-mathematics-with-sagemath/graphique_doctest.py b/src/sage/tests/books/computational-mathematics-with-sagemath/graphique_doctest.py index bdf2f5b1e1e..6b4d06a09dc 100644 --- a/src/sage/tests/books/computational-mathematics-with-sagemath/graphique_doctest.py +++ b/src/sage/tests/books/computational-mathematics-with-sagemath/graphique_doctest.py @@ -1,4 +1,4 @@ -## -*- encoding: utf-8 -*- +# sage_setup: distribution = sagemath-repl """ This file (./graphique_doctest.sage) was *autogenerated* from ./graphique.tex, with sagetex.sty version 2011/05/27 v2.3.1. diff --git a/src/sage/tests/books/computational-mathematics-with-sagemath/graphtheory_doctest.py b/src/sage/tests/books/computational-mathematics-with-sagemath/graphtheory_doctest.py index c1d8fa977e5..0f2c5270912 100644 --- a/src/sage/tests/books/computational-mathematics-with-sagemath/graphtheory_doctest.py +++ b/src/sage/tests/books/computational-mathematics-with-sagemath/graphtheory_doctest.py @@ -1,4 +1,4 @@ -## -*- encoding: utf-8 -*- +# sage_setup: distribution = sagemath-repl """ This file (./graphtheory_doctest.sage) was *autogenerated* from ./graphtheory.tex, with sagetex.sty version 2011/05/27 v2.3.1. diff --git a/src/sage/tests/books/computational-mathematics-with-sagemath/integration_doctest.py b/src/sage/tests/books/computational-mathematics-with-sagemath/integration_doctest.py index dbe787aa5ff..298aa799d79 100644 --- a/src/sage/tests/books/computational-mathematics-with-sagemath/integration_doctest.py +++ b/src/sage/tests/books/computational-mathematics-with-sagemath/integration_doctest.py @@ -1,4 +1,4 @@ -## -*- encoding: utf-8 -*- +# sage_setup: distribution = sagemath-repl """ This file (./integration_doctest.sage) was *autogenerated* from ./integration.tex, with sagetex.sty version 2011/05/27 v2.3.1. diff --git a/src/sage/tests/books/computational-mathematics-with-sagemath/linalg_doctest.py b/src/sage/tests/books/computational-mathematics-with-sagemath/linalg_doctest.py index b01729aa7b3..cc4fce4af6f 100644 --- a/src/sage/tests/books/computational-mathematics-with-sagemath/linalg_doctest.py +++ b/src/sage/tests/books/computational-mathematics-with-sagemath/linalg_doctest.py @@ -1,4 +1,4 @@ -## -*- encoding: utf-8 -*- +# sage_setup: distribution = sagemath-repl """ This file (./linalg_doctest.sage) was *autogenerated* from ./linalg.tex, with sagetex.sty version 2011/05/27 v2.3.1. diff --git a/src/sage/tests/books/computational-mathematics-with-sagemath/linsolve_doctest.py b/src/sage/tests/books/computational-mathematics-with-sagemath/linsolve_doctest.py index 7c5b83423ea..2fa092c2136 100644 --- a/src/sage/tests/books/computational-mathematics-with-sagemath/linsolve_doctest.py +++ b/src/sage/tests/books/computational-mathematics-with-sagemath/linsolve_doctest.py @@ -1,4 +1,4 @@ -## -*- encoding: utf-8 -*- +# sage_setup: distribution = sagemath-repl r""" This file (./linsolve_doctest.sage) was *autogenerated* from ./linsolve.tex, with sagetex.sty version 2011/05/27 v2.3.1. diff --git a/src/sage/tests/books/computational-mathematics-with-sagemath/lp_doctest.py b/src/sage/tests/books/computational-mathematics-with-sagemath/lp_doctest.py index da89f065214..9467c2c0daa 100644 --- a/src/sage/tests/books/computational-mathematics-with-sagemath/lp_doctest.py +++ b/src/sage/tests/books/computational-mathematics-with-sagemath/lp_doctest.py @@ -1,4 +1,4 @@ -## -*- encoding: utf-8 -*- +# sage_setup: distribution = sagemath-repl """ This file (./lp_doctest.sage) was *autogenerated* from ./lp.tex, with sagetex.sty version 2011/05/27 v2.3.1. diff --git a/src/sage/tests/books/computational-mathematics-with-sagemath/mpoly_doctest.py b/src/sage/tests/books/computational-mathematics-with-sagemath/mpoly_doctest.py index bef4a2b6c62..163208bfbbf 100644 --- a/src/sage/tests/books/computational-mathematics-with-sagemath/mpoly_doctest.py +++ b/src/sage/tests/books/computational-mathematics-with-sagemath/mpoly_doctest.py @@ -1,4 +1,4 @@ -## -*- encoding: utf-8 -*- +# sage_setup: distribution = sagemath-repl """ This file (./mpoly_doctest.sage) was *autogenerated* from ./mpoly.tex, with sagetex.sty version 2011/05/27 v2.3.1. diff --git a/src/sage/tests/books/computational-mathematics-with-sagemath/nonlinear_doctest.py b/src/sage/tests/books/computational-mathematics-with-sagemath/nonlinear_doctest.py index 3a7104637ec..53877a43bf8 100644 --- a/src/sage/tests/books/computational-mathematics-with-sagemath/nonlinear_doctest.py +++ b/src/sage/tests/books/computational-mathematics-with-sagemath/nonlinear_doctest.py @@ -1,4 +1,4 @@ -## -*- encoding: utf-8 -*- +# sage_setup: distribution = sagemath-repl """ This file (./nonlinear_doctest.sage) was *autogenerated* from ./nonlinear.tex, with sagetex.sty version 2011/05/27 v2.3.1. diff --git a/src/sage/tests/books/computational-mathematics-with-sagemath/numbertheory_doctest.py b/src/sage/tests/books/computational-mathematics-with-sagemath/numbertheory_doctest.py index 46a4d4d2bec..24b9588008f 100644 --- a/src/sage/tests/books/computational-mathematics-with-sagemath/numbertheory_doctest.py +++ b/src/sage/tests/books/computational-mathematics-with-sagemath/numbertheory_doctest.py @@ -1,4 +1,4 @@ -## -*- encoding: utf-8 -*- +# sage_setup: distribution = sagemath-repl """ This file (./numbertheory_doctest.sage) was *autogenerated* from ./numbertheory.tex, with sagetex.sty version 2011/05/27 v2.3.1. diff --git a/src/sage/tests/books/computational-mathematics-with-sagemath/polynomes_doctest.py b/src/sage/tests/books/computational-mathematics-with-sagemath/polynomes_doctest.py index 5ac636c433a..0dfd1c5156e 100644 --- a/src/sage/tests/books/computational-mathematics-with-sagemath/polynomes_doctest.py +++ b/src/sage/tests/books/computational-mathematics-with-sagemath/polynomes_doctest.py @@ -1,4 +1,4 @@ -## -*- encoding: utf-8 -*- +# sage_setup: distribution = sagemath-repl """ This file (./polynomes_doctest.sage) was *autogenerated* from ./polynomes.tex, with sagetex.sty version 2011/05/27 v2.3.1. diff --git a/src/sage/tests/books/computational-mathematics-with-sagemath/premierspas_doctest.py b/src/sage/tests/books/computational-mathematics-with-sagemath/premierspas_doctest.py index 42121f2f815..ba9f281957b 100644 --- a/src/sage/tests/books/computational-mathematics-with-sagemath/premierspas_doctest.py +++ b/src/sage/tests/books/computational-mathematics-with-sagemath/premierspas_doctest.py @@ -1,4 +1,4 @@ -## -*- encoding: utf-8 -*- +# sage_setup: distribution = sagemath-repl """ This file (./premierspas_doctest.sage) was *autogenerated* from ./premierspas.tex, with sagetex.sty version 2011/05/27 v2.3.1. diff --git a/src/sage/tests/books/computational-mathematics-with-sagemath/programmation_doctest.py b/src/sage/tests/books/computational-mathematics-with-sagemath/programmation_doctest.py index 3f036d5d362..7c7c78dfcf6 100644 --- a/src/sage/tests/books/computational-mathematics-with-sagemath/programmation_doctest.py +++ b/src/sage/tests/books/computational-mathematics-with-sagemath/programmation_doctest.py @@ -1,4 +1,4 @@ -## -*- encoding: utf-8 -*- +# sage_setup: distribution = sagemath-repl """ This file (./programmation_doctest.sage) was *autogenerated* from ./programmation.tex, with sagetex.sty version 2011/05/27 v2.3.1. diff --git a/src/sage/tests/books/computational-mathematics-with-sagemath/recequadiff_doctest.py b/src/sage/tests/books/computational-mathematics-with-sagemath/recequadiff_doctest.py index 95a6367dcee..2de80122ed5 100644 --- a/src/sage/tests/books/computational-mathematics-with-sagemath/recequadiff_doctest.py +++ b/src/sage/tests/books/computational-mathematics-with-sagemath/recequadiff_doctest.py @@ -1,4 +1,4 @@ -## -*- encoding: utf-8 -*- +# sage_setup: distribution = sagemath-repl """ This file (./recequadiff_doctest.sage) was *autogenerated* from ./recequadiff.tex, with sagetex.sty version 2011/05/27 v2.3.1. diff --git a/src/sage/tests/books/computational-mathematics-with-sagemath/sol/__init__.py b/src/sage/tests/books/computational-mathematics-with-sagemath/sol/__init__.py index e69de29bb2d..62acb4df510 100644 --- a/src/sage/tests/books/computational-mathematics-with-sagemath/sol/__init__.py +++ b/src/sage/tests/books/computational-mathematics-with-sagemath/sol/__init__.py @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-repl diff --git a/src/sage/tests/books/computational-mathematics-with-sagemath/sol/calculus_doctest.py b/src/sage/tests/books/computational-mathematics-with-sagemath/sol/calculus_doctest.py index 947f9f53a22..44306633eef 100644 --- a/src/sage/tests/books/computational-mathematics-with-sagemath/sol/calculus_doctest.py +++ b/src/sage/tests/books/computational-mathematics-with-sagemath/sol/calculus_doctest.py @@ -1,4 +1,4 @@ -## -*- encoding: utf-8 -*- +# sage_setup: distribution = sagemath-repl """ This file (./sol/calculus_doctest.sage) was *autogenerated* from ./sol/calculus.tex, with sagetex.sty version 2011/05/27 v2.3.1. diff --git a/src/sage/tests/books/computational-mathematics-with-sagemath/sol/combinat_doctest.py b/src/sage/tests/books/computational-mathematics-with-sagemath/sol/combinat_doctest.py index 5f372f505b0..3fa0c2fb145 100644 --- a/src/sage/tests/books/computational-mathematics-with-sagemath/sol/combinat_doctest.py +++ b/src/sage/tests/books/computational-mathematics-with-sagemath/sol/combinat_doctest.py @@ -1,4 +1,4 @@ -## -*- encoding: utf-8 -*- +# sage_setup: distribution = sagemath-repl """ This file (./sol/combinat_doctest.sage) was *autogenerated* from ./sol/combinat.tex, with sagetex.sty version 2011/05/27 v2.3.1. diff --git a/src/sage/tests/books/computational-mathematics-with-sagemath/sol/domaines_doctest.py b/src/sage/tests/books/computational-mathematics-with-sagemath/sol/domaines_doctest.py index df3eb03d8fe..39468adf6e3 100644 --- a/src/sage/tests/books/computational-mathematics-with-sagemath/sol/domaines_doctest.py +++ b/src/sage/tests/books/computational-mathematics-with-sagemath/sol/domaines_doctest.py @@ -1,4 +1,4 @@ -## -*- encoding: utf-8 -*- +# sage_setup: distribution = sagemath-repl """ This file (./sol/domaines_doctest.sage) was *autogenerated* from ./sol/domaines.tex, with sagetex.sty version 2011/05/27 v2.3.1. diff --git a/src/sage/tests/books/computational-mathematics-with-sagemath/sol/float_doctest.py b/src/sage/tests/books/computational-mathematics-with-sagemath/sol/float_doctest.py index 5d5d4686ec7..7475406ba08 100644 --- a/src/sage/tests/books/computational-mathematics-with-sagemath/sol/float_doctest.py +++ b/src/sage/tests/books/computational-mathematics-with-sagemath/sol/float_doctest.py @@ -1,4 +1,4 @@ -## -*- encoding: utf-8 -*- +# sage_setup: distribution = sagemath-repl """ This file (./sol/float_doctest.sage) was *autogenerated* from ./sol/float.tex, with sagetex.sty version 2011/05/27 v2.3.1. diff --git a/src/sage/tests/books/computational-mathematics-with-sagemath/sol/graphique_doctest.py b/src/sage/tests/books/computational-mathematics-with-sagemath/sol/graphique_doctest.py index a939dc4471c..1a828013596 100644 --- a/src/sage/tests/books/computational-mathematics-with-sagemath/sol/graphique_doctest.py +++ b/src/sage/tests/books/computational-mathematics-with-sagemath/sol/graphique_doctest.py @@ -1,4 +1,4 @@ -## -*- encoding: utf-8 -*- +# sage_setup: distribution = sagemath-repl """ This file (./sol/graphique_doctest.sage) was *autogenerated* from ./sol/graphique.tex, with sagetex.sty version 2011/05/27 v2.3.1. diff --git a/src/sage/tests/books/computational-mathematics-with-sagemath/sol/graphtheory_doctest.py b/src/sage/tests/books/computational-mathematics-with-sagemath/sol/graphtheory_doctest.py index 27013d35ae8..42b6cd5a1a3 100644 --- a/src/sage/tests/books/computational-mathematics-with-sagemath/sol/graphtheory_doctest.py +++ b/src/sage/tests/books/computational-mathematics-with-sagemath/sol/graphtheory_doctest.py @@ -1,4 +1,4 @@ -## -*- encoding: utf-8 -*- +# sage_setup: distribution = sagemath-repl """ This file (./sol/graphtheory_doctest.sage) was *autogenerated* from ./sol/graphtheory.tex, with sagetex.sty version 2011/05/27 v2.3.1. diff --git a/src/sage/tests/books/computational-mathematics-with-sagemath/sol/integration_doctest.py b/src/sage/tests/books/computational-mathematics-with-sagemath/sol/integration_doctest.py index bb9550918bf..321e43ca881 100644 --- a/src/sage/tests/books/computational-mathematics-with-sagemath/sol/integration_doctest.py +++ b/src/sage/tests/books/computational-mathematics-with-sagemath/sol/integration_doctest.py @@ -1,4 +1,4 @@ -## -*- encoding: utf-8 -*- +# sage_setup: distribution = sagemath-repl """ This file (./sol/integration_doctest.sage) was *autogenerated* from ./sol/integration.tex, with sagetex.sty version 2011/05/27 v2.3.1. diff --git a/src/sage/tests/books/computational-mathematics-with-sagemath/sol/linalg_doctest.py b/src/sage/tests/books/computational-mathematics-with-sagemath/sol/linalg_doctest.py index 7f7053fe39d..2a3431985e3 100644 --- a/src/sage/tests/books/computational-mathematics-with-sagemath/sol/linalg_doctest.py +++ b/src/sage/tests/books/computational-mathematics-with-sagemath/sol/linalg_doctest.py @@ -1,4 +1,4 @@ -## -*- encoding: utf-8 -*- +# sage_setup: distribution = sagemath-repl """ This file (./sol/linalg_doctest.sage) was *autogenerated* from ./sol/linalg.tex, with sagetex.sty version 2011/05/27 v2.3.1. diff --git a/src/sage/tests/books/computational-mathematics-with-sagemath/sol/linsolve_doctest.py b/src/sage/tests/books/computational-mathematics-with-sagemath/sol/linsolve_doctest.py index e89d7c06fb5..bcb2bdda88c 100644 --- a/src/sage/tests/books/computational-mathematics-with-sagemath/sol/linsolve_doctest.py +++ b/src/sage/tests/books/computational-mathematics-with-sagemath/sol/linsolve_doctest.py @@ -1,4 +1,4 @@ -## -*- encoding: utf-8 -*- +# sage_setup: distribution = sagemath-repl """ This file (./sol/linsolve_doctest.sage) was *autogenerated* from ./sol/linsolve.tex, with sagetex.sty version 2011/05/27 v2.3.1. diff --git a/src/sage/tests/books/computational-mathematics-with-sagemath/sol/lp_doctest.py b/src/sage/tests/books/computational-mathematics-with-sagemath/sol/lp_doctest.py index d60adc9dd8b..8cdf67654cc 100644 --- a/src/sage/tests/books/computational-mathematics-with-sagemath/sol/lp_doctest.py +++ b/src/sage/tests/books/computational-mathematics-with-sagemath/sol/lp_doctest.py @@ -1,4 +1,4 @@ -## -*- encoding: utf-8 -*- +# sage_setup: distribution = sagemath-repl """ This file (./sol/lp_doctest.sage) was *autogenerated* from ./sol/lp.tex, with sagetex.sty version 2011/05/27 v2.3.1. diff --git a/src/sage/tests/books/computational-mathematics-with-sagemath/sol/mpoly_doctest.py b/src/sage/tests/books/computational-mathematics-with-sagemath/sol/mpoly_doctest.py index d4b92c1dfd6..434065a5e6c 100644 --- a/src/sage/tests/books/computational-mathematics-with-sagemath/sol/mpoly_doctest.py +++ b/src/sage/tests/books/computational-mathematics-with-sagemath/sol/mpoly_doctest.py @@ -1,4 +1,4 @@ -## -*- encoding: utf-8 -*- +# sage_setup: distribution = sagemath-repl """ This file (./sol/mpoly_doctest.sage) was *autogenerated* from ./sol/mpoly.tex, with sagetex.sty version 2011/05/27 v2.3.1. diff --git a/src/sage/tests/books/computational-mathematics-with-sagemath/sol/nonlinear_doctest.py b/src/sage/tests/books/computational-mathematics-with-sagemath/sol/nonlinear_doctest.py index f99860f7b9c..0f18ca3696c 100644 --- a/src/sage/tests/books/computational-mathematics-with-sagemath/sol/nonlinear_doctest.py +++ b/src/sage/tests/books/computational-mathematics-with-sagemath/sol/nonlinear_doctest.py @@ -1,4 +1,4 @@ -## -*- encoding: utf-8 -*- +# sage_setup: distribution = sagemath-repl """ This file (./sol/nonlinear_doctest.sage) was *autogenerated* from ./sol/nonlinear.tex, with sagetex.sty version 2011/05/27 v2.3.1. diff --git a/src/sage/tests/books/computational-mathematics-with-sagemath/sol/numbertheory_doctest.py b/src/sage/tests/books/computational-mathematics-with-sagemath/sol/numbertheory_doctest.py index 2dbd0b018e5..f335c0bbf9e 100644 --- a/src/sage/tests/books/computational-mathematics-with-sagemath/sol/numbertheory_doctest.py +++ b/src/sage/tests/books/computational-mathematics-with-sagemath/sol/numbertheory_doctest.py @@ -1,4 +1,4 @@ -## -*- encoding: utf-8 -*- +# sage_setup: distribution = sagemath-repl """ This file (./sol/numbertheory_doctest.sage) was *autogenerated* from ./sol/numbertheory.tex, with sagetex.sty version 2011/05/27 v2.3.1. diff --git a/src/sage/tests/books/computational-mathematics-with-sagemath/sol/polynomes_doctest.py b/src/sage/tests/books/computational-mathematics-with-sagemath/sol/polynomes_doctest.py index f8cefd2f6e8..8e674bc6e1e 100644 --- a/src/sage/tests/books/computational-mathematics-with-sagemath/sol/polynomes_doctest.py +++ b/src/sage/tests/books/computational-mathematics-with-sagemath/sol/polynomes_doctest.py @@ -1,4 +1,4 @@ -## -*- encoding: utf-8 -*- +# sage_setup: distribution = sagemath-repl """ This file (./sol/polynomes_doctest.sage) was *autogenerated* from ./sol/polynomes.tex, with sagetex.sty version 2011/05/27 v2.3.1. diff --git a/src/sage/tests/books/computational-mathematics-with-sagemath/sol/recequadiff_doctest.py b/src/sage/tests/books/computational-mathematics-with-sagemath/sol/recequadiff_doctest.py index 01d0e1bc143..a28a4de5c7f 100644 --- a/src/sage/tests/books/computational-mathematics-with-sagemath/sol/recequadiff_doctest.py +++ b/src/sage/tests/books/computational-mathematics-with-sagemath/sol/recequadiff_doctest.py @@ -1,4 +1,4 @@ -## -*- encoding: utf-8 -*- +# sage_setup: distribution = sagemath-repl """ This file (./sol/recequadiff_doctest.sage) was *autogenerated* from ./sol/recequadiff.tex, with sagetex.sty version 2011/05/27 v2.3.1. diff --git a/src/sage/tests/books/judson-abstract-algebra/__init__.py b/src/sage/tests/books/judson-abstract-algebra/__init__.py index e69de29bb2d..62acb4df510 100644 --- a/src/sage/tests/books/judson-abstract-algebra/__init__.py +++ b/src/sage/tests/books/judson-abstract-algebra/__init__.py @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-repl diff --git a/src/sage/tests/books/judson-abstract-algebra/actions-sage-exercises.py b/src/sage/tests/books/judson-abstract-algebra/actions-sage-exercises.py index eb93e40815f..08d4cdaf852 100644 --- a/src/sage/tests/books/judson-abstract-algebra/actions-sage-exercises.py +++ b/src/sage/tests/books/judson-abstract-algebra/actions-sage-exercises.py @@ -1,4 +1,4 @@ -## -*- coding: utf-8 -*- ## +# sage_setup: distribution = sagemath-repl ## Sage Doctest File ## #**************************************# #* Generated from PreTeXt source *# diff --git a/src/sage/tests/books/judson-abstract-algebra/actions-sage.py b/src/sage/tests/books/judson-abstract-algebra/actions-sage.py index 98eb03fcc64..5f8395655c1 100644 --- a/src/sage/tests/books/judson-abstract-algebra/actions-sage.py +++ b/src/sage/tests/books/judson-abstract-algebra/actions-sage.py @@ -1,4 +1,4 @@ -## -*- coding: utf-8 -*- ## +# sage_setup: distribution = sagemath-repl ## Sage Doctest File ## #**************************************# #* Generated from PreTeXt source *# diff --git a/src/sage/tests/books/judson-abstract-algebra/algcodes-sage.py b/src/sage/tests/books/judson-abstract-algebra/algcodes-sage.py index 816ae050b95..bf1b76f8371 100644 --- a/src/sage/tests/books/judson-abstract-algebra/algcodes-sage.py +++ b/src/sage/tests/books/judson-abstract-algebra/algcodes-sage.py @@ -1,4 +1,4 @@ -## -*- coding: utf-8 -*- ## +# sage_setup: distribution = sagemath-repl ## Sage Doctest File ## #**************************************# #* Generated from PreTeXt source *# diff --git a/src/sage/tests/books/judson-abstract-algebra/boolean-sage.py b/src/sage/tests/books/judson-abstract-algebra/boolean-sage.py index 2d7b13c00f7..b7861db1e3d 100644 --- a/src/sage/tests/books/judson-abstract-algebra/boolean-sage.py +++ b/src/sage/tests/books/judson-abstract-algebra/boolean-sage.py @@ -1,4 +1,4 @@ -## -*- coding: utf-8 -*- ## +# sage_setup: distribution = sagemath-repl ## Sage Doctest File ## #**************************************# #* Generated from PreTeXt source *# diff --git a/src/sage/tests/books/judson-abstract-algebra/cosets-sage-exercises.py b/src/sage/tests/books/judson-abstract-algebra/cosets-sage-exercises.py index 57ab9ff0acf..788070ab821 100644 --- a/src/sage/tests/books/judson-abstract-algebra/cosets-sage-exercises.py +++ b/src/sage/tests/books/judson-abstract-algebra/cosets-sage-exercises.py @@ -1,4 +1,4 @@ -## -*- coding: utf-8 -*- ## +# sage_setup: distribution = sagemath-repl ## Sage Doctest File ## #**************************************# #* Generated from PreTeXt source *# diff --git a/src/sage/tests/books/judson-abstract-algebra/cosets-sage.py b/src/sage/tests/books/judson-abstract-algebra/cosets-sage.py index 028dd8cb33c..734995be178 100644 --- a/src/sage/tests/books/judson-abstract-algebra/cosets-sage.py +++ b/src/sage/tests/books/judson-abstract-algebra/cosets-sage.py @@ -1,4 +1,4 @@ -## -*- coding: utf-8 -*- ## +# sage_setup: distribution = sagemath-repl ## Sage Doctest File ## #**************************************# #* Generated from PreTeXt source *# diff --git a/src/sage/tests/books/judson-abstract-algebra/crypt-sage.py b/src/sage/tests/books/judson-abstract-algebra/crypt-sage.py index 510761ddb6c..947b40be364 100644 --- a/src/sage/tests/books/judson-abstract-algebra/crypt-sage.py +++ b/src/sage/tests/books/judson-abstract-algebra/crypt-sage.py @@ -1,4 +1,4 @@ -## -*- coding: utf-8 -*- ## +# sage_setup: distribution = sagemath-repl ## Sage Doctest File ## #**************************************# #* Generated from PreTeXt source *# diff --git a/src/sage/tests/books/judson-abstract-algebra/cyclic-sage.py b/src/sage/tests/books/judson-abstract-algebra/cyclic-sage.py index 5f8cd284b52..6ae22a7a184 100644 --- a/src/sage/tests/books/judson-abstract-algebra/cyclic-sage.py +++ b/src/sage/tests/books/judson-abstract-algebra/cyclic-sage.py @@ -1,4 +1,4 @@ -## -*- coding: utf-8 -*- ## +# sage_setup: distribution = sagemath-repl ## Sage Doctest File ## #**************************************# #* Generated from PreTeXt source *# diff --git a/src/sage/tests/books/judson-abstract-algebra/domains-sage.py b/src/sage/tests/books/judson-abstract-algebra/domains-sage.py index 965fe31b21e..d3836d3bf8e 100644 --- a/src/sage/tests/books/judson-abstract-algebra/domains-sage.py +++ b/src/sage/tests/books/judson-abstract-algebra/domains-sage.py @@ -1,4 +1,4 @@ -## -*- coding: utf-8 -*- ## +# sage_setup: distribution = sagemath-repl ## Sage Doctest File ## #**************************************# #* Generated from PreTeXt source *# diff --git a/src/sage/tests/books/judson-abstract-algebra/fields-sage.py b/src/sage/tests/books/judson-abstract-algebra/fields-sage.py index de12e97030c..191267d14d4 100644 --- a/src/sage/tests/books/judson-abstract-algebra/fields-sage.py +++ b/src/sage/tests/books/judson-abstract-algebra/fields-sage.py @@ -1,4 +1,4 @@ -## -*- coding: utf-8 -*- ## +# sage_setup: distribution = sagemath-repl ## Sage Doctest File ## #**************************************# #* Generated from PreTeXt source *# diff --git a/src/sage/tests/books/judson-abstract-algebra/finite-sage.py b/src/sage/tests/books/judson-abstract-algebra/finite-sage.py index d6d85490a87..d8682a18a38 100644 --- a/src/sage/tests/books/judson-abstract-algebra/finite-sage.py +++ b/src/sage/tests/books/judson-abstract-algebra/finite-sage.py @@ -1,4 +1,4 @@ -## -*- coding: utf-8 -*- ## +# sage_setup: distribution = sagemath-repl ## Sage Doctest File ## #**************************************# #* Generated from PreTeXt source *# diff --git a/src/sage/tests/books/judson-abstract-algebra/galois-sage.py b/src/sage/tests/books/judson-abstract-algebra/galois-sage.py index b1ecf0d8d48..084fe28ae68 100644 --- a/src/sage/tests/books/judson-abstract-algebra/galois-sage.py +++ b/src/sage/tests/books/judson-abstract-algebra/galois-sage.py @@ -1,4 +1,4 @@ -## -*- coding: utf-8 -*- ## +# sage_setup: distribution = sagemath-repl ## Sage Doctest File ## #**************************************# #* Generated from PreTeXt source *# diff --git a/src/sage/tests/books/judson-abstract-algebra/groups-sage.py b/src/sage/tests/books/judson-abstract-algebra/groups-sage.py index 71e0ee12eba..9543f68ea9e 100644 --- a/src/sage/tests/books/judson-abstract-algebra/groups-sage.py +++ b/src/sage/tests/books/judson-abstract-algebra/groups-sage.py @@ -1,4 +1,4 @@ -## -*- coding: utf-8 -*- ## +# sage_setup: distribution = sagemath-repl ## Sage Doctest File ## #**************************************# #* Generated from PreTeXt source *# diff --git a/src/sage/tests/books/judson-abstract-algebra/homomorph-sage-exercises.py b/src/sage/tests/books/judson-abstract-algebra/homomorph-sage-exercises.py index 31c4f1818fe..cd8c6877675 100644 --- a/src/sage/tests/books/judson-abstract-algebra/homomorph-sage-exercises.py +++ b/src/sage/tests/books/judson-abstract-algebra/homomorph-sage-exercises.py @@ -1,4 +1,4 @@ -## -*- coding: utf-8 -*- ## +# sage_setup: distribution = sagemath-repl ## Sage Doctest File ## #**************************************# #* Generated from PreTeXt source *# diff --git a/src/sage/tests/books/judson-abstract-algebra/homomorph-sage.py b/src/sage/tests/books/judson-abstract-algebra/homomorph-sage.py index dbc7bca8d96..c374f29b3f2 100644 --- a/src/sage/tests/books/judson-abstract-algebra/homomorph-sage.py +++ b/src/sage/tests/books/judson-abstract-algebra/homomorph-sage.py @@ -1,4 +1,4 @@ -## -*- coding: utf-8 -*- ## +# sage_setup: distribution = sagemath-repl ## Sage Doctest File ## #**************************************# #* Generated from PreTeXt source *# diff --git a/src/sage/tests/books/judson-abstract-algebra/integers-sage.py b/src/sage/tests/books/judson-abstract-algebra/integers-sage.py index 20a8228035e..ec4ba89521a 100644 --- a/src/sage/tests/books/judson-abstract-algebra/integers-sage.py +++ b/src/sage/tests/books/judson-abstract-algebra/integers-sage.py @@ -1,4 +1,4 @@ -## -*- coding: utf-8 -*- ## +# sage_setup: distribution = sagemath-repl ## Sage Doctest File ## #**************************************# #* Generated from PreTeXt source *# diff --git a/src/sage/tests/books/judson-abstract-algebra/isomorph-sage.py b/src/sage/tests/books/judson-abstract-algebra/isomorph-sage.py index 43333ac1ea1..7e360a62ff7 100644 --- a/src/sage/tests/books/judson-abstract-algebra/isomorph-sage.py +++ b/src/sage/tests/books/judson-abstract-algebra/isomorph-sage.py @@ -1,4 +1,4 @@ -## -*- coding: utf-8 -*- ## +# sage_setup: distribution = sagemath-repl ## Sage Doctest File ## #**************************************# #* Generated from PreTeXt source *# diff --git a/src/sage/tests/books/judson-abstract-algebra/normal-sage.py b/src/sage/tests/books/judson-abstract-algebra/normal-sage.py index 3db475d41b0..6d4aeffe31d 100644 --- a/src/sage/tests/books/judson-abstract-algebra/normal-sage.py +++ b/src/sage/tests/books/judson-abstract-algebra/normal-sage.py @@ -1,4 +1,4 @@ -## -*- coding: utf-8 -*- ## +# sage_setup: distribution = sagemath-repl ## Sage Doctest File ## #**************************************# #* Generated from PreTeXt source *# diff --git a/src/sage/tests/books/judson-abstract-algebra/permute-sage.py b/src/sage/tests/books/judson-abstract-algebra/permute-sage.py index 625fb080a06..90267f518f7 100644 --- a/src/sage/tests/books/judson-abstract-algebra/permute-sage.py +++ b/src/sage/tests/books/judson-abstract-algebra/permute-sage.py @@ -1,4 +1,4 @@ -## -*- coding: utf-8 -*- ## +# sage_setup: distribution = sagemath-repl ## Sage Doctest File ## #**************************************# #* Generated from PreTeXt source *# diff --git a/src/sage/tests/books/judson-abstract-algebra/poly-sage.py b/src/sage/tests/books/judson-abstract-algebra/poly-sage.py index 0333425266d..3af6f81117e 100644 --- a/src/sage/tests/books/judson-abstract-algebra/poly-sage.py +++ b/src/sage/tests/books/judson-abstract-algebra/poly-sage.py @@ -1,4 +1,4 @@ -## -*- coding: utf-8 -*- ## +# sage_setup: distribution = sagemath-repl ## Sage Doctest File ## #**************************************# #* Generated from PreTeXt source *# diff --git a/src/sage/tests/books/judson-abstract-algebra/rings-sage.py b/src/sage/tests/books/judson-abstract-algebra/rings-sage.py index 6d9571d00cd..a76cea542bd 100644 --- a/src/sage/tests/books/judson-abstract-algebra/rings-sage.py +++ b/src/sage/tests/books/judson-abstract-algebra/rings-sage.py @@ -1,4 +1,4 @@ -## -*- coding: utf-8 -*- ## +# sage_setup: distribution = sagemath-repl ## Sage Doctest File ## #**************************************# #* Generated from PreTeXt source *# diff --git a/src/sage/tests/books/judson-abstract-algebra/sets-sage.py b/src/sage/tests/books/judson-abstract-algebra/sets-sage.py index 0825b227669..8d5491f86dc 100644 --- a/src/sage/tests/books/judson-abstract-algebra/sets-sage.py +++ b/src/sage/tests/books/judson-abstract-algebra/sets-sage.py @@ -1,4 +1,4 @@ -## -*- coding: utf-8 -*- ## +# sage_setup: distribution = sagemath-repl ## Sage Doctest File ## #**************************************# #* Generated from PreTeXt source *# diff --git a/src/sage/tests/books/judson-abstract-algebra/struct-sage.py b/src/sage/tests/books/judson-abstract-algebra/struct-sage.py index ce825b56c3c..6c30b93df29 100644 --- a/src/sage/tests/books/judson-abstract-algebra/struct-sage.py +++ b/src/sage/tests/books/judson-abstract-algebra/struct-sage.py @@ -1,4 +1,4 @@ -## -*- coding: utf-8 -*- ## +# sage_setup: distribution = sagemath-repl ## Sage Doctest File ## #**************************************# #* Generated from PreTeXt source *# diff --git a/src/sage/tests/books/judson-abstract-algebra/sylow-sage.py b/src/sage/tests/books/judson-abstract-algebra/sylow-sage.py index cd78b147ca3..c5d89ed0b14 100644 --- a/src/sage/tests/books/judson-abstract-algebra/sylow-sage.py +++ b/src/sage/tests/books/judson-abstract-algebra/sylow-sage.py @@ -1,4 +1,4 @@ -## -*- coding: utf-8 -*- ## +# sage_setup: distribution = sagemath-repl ## Sage Doctest File ## #**************************************# #* Generated from PreTeXt source *# diff --git a/src/sage/tests/books/judson-abstract-algebra/vect-sage-exercises.py b/src/sage/tests/books/judson-abstract-algebra/vect-sage-exercises.py index 45786b72a36..8dba35d0b27 100644 --- a/src/sage/tests/books/judson-abstract-algebra/vect-sage-exercises.py +++ b/src/sage/tests/books/judson-abstract-algebra/vect-sage-exercises.py @@ -1,4 +1,4 @@ -## -*- coding: utf-8 -*- ## +# sage_setup: distribution = sagemath-repl ## Sage Doctest File ## #**************************************# #* Generated from PreTeXt source *# diff --git a/src/sage/tests/books/judson-abstract-algebra/vect-sage.py b/src/sage/tests/books/judson-abstract-algebra/vect-sage.py index 46a9bd7cb68..3af215cb318 100644 --- a/src/sage/tests/books/judson-abstract-algebra/vect-sage.py +++ b/src/sage/tests/books/judson-abstract-algebra/vect-sage.py @@ -1,4 +1,4 @@ -## -*- coding: utf-8 -*- ## +# sage_setup: distribution = sagemath-repl ## Sage Doctest File ## #**************************************# #* Generated from PreTeXt source *# diff --git a/src/sage/tests/cmdline.py b/src/sage/tests/cmdline.py index 523cbef436c..c35e716f93a 100644 --- a/src/sage/tests/cmdline.py +++ b/src/sage/tests/cmdline.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-repl r""" This file contains some tests that Sage command line options actually do something. diff --git a/src/sage/tests/combinatorial_hopf_algebras.py b/src/sage/tests/combinatorial_hopf_algebras.py index 33c0472f404..7e5010f22ea 100644 --- a/src/sage/tests/combinatorial_hopf_algebras.py +++ b/src/sage/tests/combinatorial_hopf_algebras.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-repl # sage.doctest: needs sage.combinat sage.modules r""" Tests For Combinatorial Hopf Algebras diff --git a/src/sage/tests/cython.pyx b/src/sage/tests/cython.pyx index 431de078431..fd028dc2901 100644 --- a/src/sage/tests/cython.pyx +++ b/src/sage/tests/cython.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-repl """ This file collects tests requiring Cython. """ diff --git a/src/sage/tests/finite_poset.py b/src/sage/tests/finite_poset.py index d04221dcc13..8f69c933628 100644 --- a/src/sage/tests/finite_poset.py +++ b/src/sage/tests/finite_poset.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-repl # sage.doctest: needs sage.graphs sage.modules """ This file contains test functions that can be used to search diff --git a/src/sage/tests/functools_partial_src.py b/src/sage/tests/functools_partial_src.py index d352d160230..92044eccc01 100644 --- a/src/sage/tests/functools_partial_src.py +++ b/src/sage/tests/functools_partial_src.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-repl r""" Ensure that ``functools.partial`` is correctly handled by :func:`~sage.misc.sageinspect.sage_getsourcelines`. diff --git a/src/sage/tests/gosper-sum.py b/src/sage/tests/gosper-sum.py index 84679ac0ff3..6c0f43340a2 100644 --- a/src/sage/tests/gosper-sum.py +++ b/src/sage/tests/gosper-sum.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-repl # sage.doctest: needs sage.symbolic """ Some tests about Gosper sums. diff --git a/src/sage/tests/lazy_imports.py b/src/sage/tests/lazy_imports.py index a1c72e64468..63e015ebcc6 100644 --- a/src/sage/tests/lazy_imports.py +++ b/src/sage/tests/lazy_imports.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-repl # sage.doctest: needs sage.all r""" TESTS: diff --git a/src/sage/tests/memcheck/__init__.py b/src/sage/tests/memcheck/__init__.py index e69de29bb2d..62acb4df510 100644 --- a/src/sage/tests/memcheck/__init__.py +++ b/src/sage/tests/memcheck/__init__.py @@ -0,0 +1 @@ +# sage_setup: distribution = sagemath-repl diff --git a/src/sage/tests/memcheck/run_tests.py b/src/sage/tests/memcheck/run_tests.py index 6ff4503a81b..69554601383 100644 --- a/src/sage/tests/memcheck/run_tests.py +++ b/src/sage/tests/memcheck/run_tests.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-repl import types diff --git a/src/sage/tests/memcheck/run_tests_in_valgrind.py b/src/sage/tests/memcheck/run_tests_in_valgrind.py index df5ad0e92b2..307154c11f2 100644 --- a/src/sage/tests/memcheck/run_tests_in_valgrind.py +++ b/src/sage/tests/memcheck/run_tests_in_valgrind.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-repl """ Launch valgrind and run the memory leak tests diff --git a/src/sage/tests/memcheck/symbolic_expression.py b/src/sage/tests/memcheck/symbolic_expression.py index 52182fbe62d..80ae3b32fee 100644 --- a/src/sage/tests/memcheck/symbolic_expression.py +++ b/src/sage/tests/memcheck/symbolic_expression.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-repl from sage.tests.memcheck.verify_no_leak import verify_no_leak diff --git a/src/sage/tests/memcheck/verify_no_leak.py b/src/sage/tests/memcheck/verify_no_leak.py index 89ca90cf89c..b1671de64b4 100644 --- a/src/sage/tests/memcheck/verify_no_leak.py +++ b/src/sage/tests/memcheck/verify_no_leak.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-repl from typing import Tuple, Sequence, List, Callable, Any import valgrind diff --git a/src/sage/tests/modular_group_cohomology.py b/src/sage/tests/modular_group_cohomology.py index 35bc8b5387f..db03cfb80e7 100644 --- a/src/sage/tests/modular_group_cohomology.py +++ b/src/sage/tests/modular_group_cohomology.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-repl # sage.doctest: optional - p_group_cohomology r""" Tests for the optional ``p_group_cohomology`` package. diff --git a/src/sage/tests/numpy.py b/src/sage/tests/numpy.py index e6dd28afb5a..a532a9ea40b 100644 --- a/src/sage/tests/numpy.py +++ b/src/sage/tests/numpy.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-repl # sage.doctest: needs numpy r""" TESTS: diff --git a/src/sage/tests/parigp.py b/src/sage/tests/parigp.py index c7cf9ab5b96..fba3fcef411 100644 --- a/src/sage/tests/parigp.py +++ b/src/sage/tests/parigp.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-repl # sage.doctest: needs sage.libs.pari sage.modules r""" This file is meant to catch errors in the PARI/GP package which are not diff --git a/src/sage/tests/startup.py b/src/sage/tests/startup.py index 00142bc6ba7..69627375dd2 100644 --- a/src/sage/tests/startup.py +++ b/src/sage/tests/startup.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-repl r""" Ensure that certain modules are not loaded on startup. diff --git a/src/sage/tests/stl_vector.pyx b/src/sage/tests/stl_vector.pyx index f3b29b30dfe..17ff9ab1331 100644 --- a/src/sage/tests/stl_vector.pyx +++ b/src/sage/tests/stl_vector.pyx @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-repl # distutils: language = c++ """ diff --git a/src/sage/tests/symbolic-series.py b/src/sage/tests/symbolic-series.py index 5e53d1e07af..0fdaa6b1ce5 100644 --- a/src/sage/tests/symbolic-series.py +++ b/src/sage/tests/symbolic-series.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-repl # sage.doctest: needs sage.symbolic """ Tests for the fast univariate series expansion in Pynac diff --git a/src/sage/tests/sympy.py b/src/sage/tests/sympy.py index 6ff569cae57..e18f61074b5 100644 --- a/src/sage/tests/sympy.py +++ b/src/sage/tests/sympy.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-repl # sage.doctest: optional - sympy r""" TESTS: diff --git a/src/sage/tests/test_deprecation.py b/src/sage/tests/test_deprecation.py index a8e6ff9c99b..a79e1a2bc79 100644 --- a/src/sage/tests/test_deprecation.py +++ b/src/sage/tests/test_deprecation.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-repl """ Tests Deprecation diff --git a/src/sage/topology/all.py b/src/sage/topology/all.py index 53b89564daa..16dfcf79d17 100644 --- a/src/sage/topology/all.py +++ b/src/sage/topology/all.py @@ -1,11 +1,12 @@ +# sage_setup: distribution = sagemath-graphs # sage.doctest: needs sage.graphs -from .simplicial_complex import SimplicialComplex, Simplex +from sage.topology.simplicial_complex import SimplicialComplex, Simplex -from .simplicial_complex_morphism import SimplicialComplexMorphism +from sage.topology.simplicial_complex_morphism import SimplicialComplexMorphism -from .delta_complex import DeltaComplex, delta_complexes +from sage.topology.delta_complex import DeltaComplex, delta_complexes -from .cubical_complex import CubicalComplex, cubical_complexes +from sage.topology.cubical_complex import CubicalComplex, cubical_complexes from sage.misc.lazy_import import lazy_import lazy_import('sage.topology.filtered_simplicial_complex', 'FilteredSimplicialComplex') @@ -18,3 +19,4 @@ # # For taking care of old pickles # from sage.misc.persist import register_unpickle_override # register_unpickle_override('sage.topology.simplicial_complex_examples', 'SimplicialSurface', SimplicialComplex) +del lazy_import diff --git a/src/sage/topology/cell_complex.py b/src/sage/topology/cell_complex.py index c1f016ab34d..a752e2653da 100644 --- a/src/sage/topology/cell_complex.py +++ b/src/sage/topology/cell_complex.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # sage.doctest: needs sage.graphs r""" Generic cell complexes diff --git a/src/sage/topology/cubical_complex.py b/src/sage/topology/cubical_complex.py index 4e8e80a564b..3d53f3b1a4b 100644 --- a/src/sage/topology/cubical_complex.py +++ b/src/sage/topology/cubical_complex.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # sage.doctest: needs sage.graphs r""" Finite cubical complexes diff --git a/src/sage/topology/delta_complex.py b/src/sage/topology/delta_complex.py index d2b1bfd6931..731d916c269 100644 --- a/src/sage/topology/delta_complex.py +++ b/src/sage/topology/delta_complex.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # sage.doctest: needs sage.graphs r""" Finite Delta-complexes diff --git a/src/sage/topology/filtered_simplicial_complex.py b/src/sage/topology/filtered_simplicial_complex.py index 95191dd1cd4..70e10d13770 100644 --- a/src/sage/topology/filtered_simplicial_complex.py +++ b/src/sage/topology/filtered_simplicial_complex.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # sage.doctest: needs sage.graphs r""" Finite filtered complexes diff --git a/src/sage/topology/moment_angle_complex.py b/src/sage/topology/moment_angle_complex.py index b4c4231d835..d5a9a223a95 100644 --- a/src/sage/topology/moment_angle_complex.py +++ b/src/sage/topology/moment_angle_complex.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs """ Moment-angle complexes diff --git a/src/sage/topology/simplicial_complex.py b/src/sage/topology/simplicial_complex.py index aba3289607e..625e270436d 100644 --- a/src/sage/topology/simplicial_complex.py +++ b/src/sage/topology/simplicial_complex.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # sage.doctest: needs sage.graphs r""" Finite simplicial complexes diff --git a/src/sage/topology/simplicial_complex_catalog.py b/src/sage/topology/simplicial_complex_catalog.py index dff18de22a0..8a0b547e2c2 100644 --- a/src/sage/topology/simplicial_complex_catalog.py +++ b/src/sage/topology/simplicial_complex_catalog.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # sage.doctest: needs sage.graphs """ Catalog of simplicial complexes diff --git a/src/sage/topology/simplicial_complex_examples.py b/src/sage/topology/simplicial_complex_examples.py index 9f5a4185eb2..c9e5ee66062 100644 --- a/src/sage/topology/simplicial_complex_examples.py +++ b/src/sage/topology/simplicial_complex_examples.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # sage.doctest: needs sage.graphs """ Examples of simplicial complexes diff --git a/src/sage/topology/simplicial_complex_homset.py b/src/sage/topology/simplicial_complex_homset.py index 255e905a990..c5c8b872788 100644 --- a/src/sage/topology/simplicial_complex_homset.py +++ b/src/sage/topology/simplicial_complex_homset.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # sage.doctest: needs sage.graphs r""" Homsets between simplicial complexes diff --git a/src/sage/topology/simplicial_complex_morphism.py b/src/sage/topology/simplicial_complex_morphism.py index a043429ead7..4b1ad9c994e 100644 --- a/src/sage/topology/simplicial_complex_morphism.py +++ b/src/sage/topology/simplicial_complex_morphism.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # sage.doctest: needs sage.graphs r""" Morphisms of simplicial complexes diff --git a/src/sage/topology/simplicial_set.py b/src/sage/topology/simplicial_set.py index 904d79ab11c..9ae9bfd8e98 100644 --- a/src/sage/topology/simplicial_set.py +++ b/src/sage/topology/simplicial_set.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # sage.doctest: needs sage.graphs r""" Simplicial sets diff --git a/src/sage/topology/simplicial_set_catalog.py b/src/sage/topology/simplicial_set_catalog.py index 0269c8f6628..927cf7a3103 100644 --- a/src/sage/topology/simplicial_set_catalog.py +++ b/src/sage/topology/simplicial_set_catalog.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # sage.doctest: needs sage.graphs r""" Catalog of simplicial sets diff --git a/src/sage/topology/simplicial_set_constructions.py b/src/sage/topology/simplicial_set_constructions.py index 13f7c27e4f6..3e8e8d92699 100644 --- a/src/sage/topology/simplicial_set_constructions.py +++ b/src/sage/topology/simplicial_set_constructions.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # sage.doctest: needs sage.graphs r""" Methods of constructing simplicial sets diff --git a/src/sage/topology/simplicial_set_examples.py b/src/sage/topology/simplicial_set_examples.py index 1fc85df3f6e..c0cb1e2fb32 100644 --- a/src/sage/topology/simplicial_set_examples.py +++ b/src/sage/topology/simplicial_set_examples.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # sage.doctest: needs sage.graphs r""" Examples of simplicial sets. diff --git a/src/sage/topology/simplicial_set_morphism.py b/src/sage/topology/simplicial_set_morphism.py index 3db0f1d7df1..fa1ee4a540a 100644 --- a/src/sage/topology/simplicial_set_morphism.py +++ b/src/sage/topology/simplicial_set_morphism.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-graphs # sage.doctest: needs sage.graphs r""" Morphisms and homsets for simplicial sets diff --git a/src/sage/typeset/all.py b/src/sage/typeset/all.py index f2327dfdb20..c9a5d04d850 100644 --- a/src/sage/typeset/all.py +++ b/src/sage/typeset/all.py @@ -1,4 +1,6 @@ +# sage_setup: distribution = sagemath-categories from sage.misc.lazy_import import lazy_import lazy_import('sage.typeset.ascii_art', 'ascii_art') lazy_import('sage.typeset.unicode_art', 'unicode_art') +del lazy_import diff --git a/src/sage/typeset/ascii_art.py b/src/sage/typeset/ascii_art.py index 395245c0df5..28024405d27 100644 --- a/src/sage/typeset/ascii_art.py +++ b/src/sage/typeset/ascii_art.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-categories r""" ASCII Art diff --git a/src/sage/typeset/character_art.py b/src/sage/typeset/character_art.py index d9ada8ac1c7..389584f3bcf 100644 --- a/src/sage/typeset/character_art.py +++ b/src/sage/typeset/character_art.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-categories r""" Base Class for Character-Based Art diff --git a/src/sage/typeset/character_art_factory.py b/src/sage/typeset/character_art_factory.py index 4439f7b7144..cbde3611858 100644 --- a/src/sage/typeset/character_art_factory.py +++ b/src/sage/typeset/character_art_factory.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-categories r""" Factory for Character-Based Art """ diff --git a/src/sage/typeset/symbols.py b/src/sage/typeset/symbols.py index 00ddf81e63a..1701603b408 100644 --- a/src/sage/typeset/symbols.py +++ b/src/sage/typeset/symbols.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-categories """ Symbols for Character Art diff --git a/src/sage/typeset/unicode_art.py b/src/sage/typeset/unicode_art.py index d9218e1df30..1d8e0933b5b 100644 --- a/src/sage/typeset/unicode_art.py +++ b/src/sage/typeset/unicode_art.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-categories r""" Unicode Art diff --git a/src/sage/typeset/unicode_characters.py b/src/sage/typeset/unicode_characters.py index c4aa7bdd5fb..bedea90565c 100644 --- a/src/sage/typeset/unicode_characters.py +++ b/src/sage/typeset/unicode_characters.py @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-categories r""" Unicode Characters diff --git a/src/sage/version.py b/src/sage/version.py index d7de8c78611..c398930ba19 100644 --- a/src/sage/version.py +++ b/src/sage/version.py @@ -1,5 +1,5 @@ # Sage version information for Python scripts # This file is auto-generated by the sage-update-version script, do not edit! -version = '10.4.beta2' -date = '2024-04-08' -banner = 'SageMath version 10.4.beta2, Release Date: 2024-04-08' +version = '10.4.beta3' +date = '2024-04-12' +banner = 'SageMath version 10.4.beta3, Release Date: 2024-04-12' diff --git a/src/sage_setup/autogen/flint/templates/flint_sage.pyx.template b/src/sage_setup/autogen/flint/templates/flint_sage.pyx.template index af50c1b256d..806614f1a74 100644 --- a/src/sage_setup/autogen/flint/templates/flint_sage.pyx.template +++ b/src/sage_setup/autogen/flint/templates/flint_sage.pyx.template @@ -1,3 +1,4 @@ +# sage_setup: distribution = sagemath-flint # distutils: extra_compile_args = -D_XPG6 # WARNING: src/sage/libs/flint/flint_sage.pyx is generated from diff --git a/src/sage_setup/find.py b/src/sage_setup/find.py index 61d91abc2eb..53681c1f1c5 100644 --- a/src/sage_setup/find.py +++ b/src/sage_setup/find.py @@ -115,7 +115,9 @@ def find_python_sources(src_dir, modules=['sage'], distributions=None, Filtering by distribution (distribution package):: sage: find_python_sources(SAGE_SRC, distributions=['sagemath-tdlib']) - ([], [], []) + ([], + [...], + []) Benchmarking:: diff --git a/src/setup.cfg.m4 b/src/setup.cfg.m4 deleted file mode 100644 index e2a3330518d..00000000000 --- a/src/setup.cfg.m4 +++ /dev/null @@ -1,133 +0,0 @@ -include(`sage_spkg_versions.m4')dnl' -*- conf-unix -*- -[metadata] -name = sagemath-standard -version = file: VERSION.txt -description = Sage: Open Source Mathematics Software: Standard Python Library -long_description = file: README.rst -long_description_content_type = text/x-rst -license_files = LICENSE.txt -include(`setup_cfg_metadata.m4')dnl' - -[options] -python_requires = >=3.9, <3.13 -install_requires = - SPKG_INSTALL_REQUIRES_sage_conf - SPKG_INSTALL_REQUIRES_six -dnl From build/pkgs/sagelib/dependencies - SPKG_INSTALL_REQUIRES_conway_polynomials - SPKG_INSTALL_REQUIRES_cypari - SPKG_INSTALL_REQUIRES_cysignals - SPKG_INSTALL_REQUIRES_cython - SPKG_INSTALL_REQUIRES_gmpy2 - SPKG_INSTALL_REQUIRES_importlib_metadata - SPKG_INSTALL_REQUIRES_importlib_resources - SPKG_INSTALL_REQUIRES_jupyter_core - SPKG_INSTALL_REQUIRES_lrcalc_python - SPKG_INSTALL_REQUIRES_memory_allocator - SPKG_INSTALL_REQUIRES_numpy - SPKG_INSTALL_REQUIRES_pkgconfig - SPKG_INSTALL_REQUIRES_pplpy - SPKG_INSTALL_REQUIRES_primecountpy - SPKG_INSTALL_REQUIRES_requests - SPKG_INSTALL_REQUIRES_typing_extensions -dnl From Makefile.in: SAGERUNTIME - SPKG_INSTALL_REQUIRES_ipython - SPKG_INSTALL_REQUIRES_pexpect -dnl From Makefile.in: DOC_DEPENDENCIES - SPKG_INSTALL_REQUIRES_sphinx - SPKG_INSTALL_REQUIRES_networkx - SPKG_INSTALL_REQUIRES_scipy - SPKG_INSTALL_REQUIRES_sympy - SPKG_INSTALL_REQUIRES_matplotlib - SPKG_INSTALL_REQUIRES_pillow - SPKG_INSTALL_REQUIRES_mpmath - SPKG_INSTALL_REQUIRES_ipykernel - SPKG_INSTALL_REQUIRES_jupyter_client - SPKG_INSTALL_REQUIRES_ipywidgets - SPKG_INSTALL_REQUIRES_fpylll -dnl pycryptosat # Sage distribution installs it as part of cryptominisat. According to its README on https://pypi.org/project/pycryptosat/: "The pycryptosat python package compiles while compiling CryptoMiniSat. It cannot be compiled on its own, it must be compiled at the same time as CryptoMiniSat." -dnl Packages with important upper version bounds - SPKG_INSTALL_REQUIRES_ptyprocess - -scripts = - # The sage script - bin/sage - # Other scripts that should be in the path also for OS packaging of sage: - bin/sage-eval - # Included because it is useful for doctesting/coverage testing user scripts too: - bin/sage-runtests - bin/sage-fixdoctests - bin/sage-coverage - # The following is deprecated but might still be used in user package install scripts - bin/sage-cython - # Helper scripts invoked by sage script - # (they would actually belong to something like libexec) - bin/sage-cachegrind - bin/sage-callgrind - bin/sage-massif - bin/sage-omega - bin/sage-valgrind - bin/sage-venv-config - bin/sage-version.sh - bin/sage-cleaner - # Only makes sense in sage-the-distribution. TODO: Move to another installation script. - bin/sage-list-packages - # Uncategorized scripts in alphabetical order - bin/math-readline - bin/sage-env - # sage-env-config -- installed by sage_conf - # sage-env-config.in -- not to be installed - bin/sage-grep - bin/sage-grepdoc - bin/sage-inline-fortran - bin/sage-ipynb2rst - bin/sage-ipython - bin/sage-notebook - bin/sage-num-threads.py - bin/sage-preparse - bin/sage-python - bin/sage-run - bin/sage-run-cython - bin/sage-startuptime.py - bin/sage-update-version - -[options.package_data] - -sage.libs.gap = - sage.gaprc - -sage.interfaces = - sage-maxima.lisp - -sage.doctest = - tests/* - -sage.repl.rich_output = - example* - -sage = - ext_data/* - ext_data/kenzo/* - ext_data/singular/* - ext_data/singular/function_field/* - ext_data/images/* - ext_data/doctest/* - ext_data/doctest/invalid/* - ext_data/gap/* - ext_data/gap/joyner/* - ext_data/mwrank/* - ext_data/notebook-ipython/* - ext_data/nbconvert/* - ext_data/graphs/* - ext_data/pari/* - ext_data/pari/dokchitser/* - ext_data/pari/buzzard/* - ext_data/pari/simon/* - ext_data/magma/* - ext_data/magma/latex/* - ext_data/magma/sage/* - ext_data/valgrind/* - ext_data/threejs/* - -[options.extras_require] -R = SPKG_INSTALL_REQUIRES_rpy2 diff --git a/tox.ini b/tox.ini index df7ec10f674..837764e6441 100644 --- a/tox.ini +++ b/tox.ini @@ -205,8 +205,9 @@ setenv = docker: BASE_TAG=latest # # https://hub.docker.com/_/ubuntu?tab=description - # as of 2023-05, latest=jammy=22.04, rolling=lunar=23.04, devel=mantic=23.10 + # as of 2024-02, latest=jammy=22.04, rolling=mantic=23.10, devel=noble=24.04 # ubuntu-focal does not have libgap-dev + # ubuntu-noble does not have libbrial-dev # ubuntu: SYSTEM=debian ubuntu: BASE_IMAGE=ubuntu @@ -226,6 +227,8 @@ setenv = ubuntu-jammy: BASE_TAG=jammy ubuntu-lunar: BASE_TAG=lunar ubuntu-mantic: BASE_TAG=mantic + ubuntu-noble: BASE_TAG=noble + ubuntu-noble: IGNORE_MISSING_SYSTEM_PACKAGES=yes # # https://hub.docker.com/_/debian # debian-buster does not have libfreetype-dev (it only has libfreetype6-dev) @@ -264,6 +267,7 @@ setenv = linuxmint-21: BASE_IMAGE=linuxmintd/mint21 linuxmint-21.1: BASE_IMAGE=linuxmintd/mint21.1 linuxmint-21.2: BASE_IMAGE=linuxmintd/mint21.2 + linuxmint-21.3: BASE_IMAGE=linuxmintd/mint21.3 # # https://hub.docker.com/_/fedora # as of 2024-01, latest=39, rawhide=40 @@ -848,16 +852,16 @@ setenv = # Master list of platforms tested in CI Linux # DEFAULT_SYSTEM_FACTORS=\ - ubuntu-{trusty-toolchain-gcc_9,xenial-toolchain-gcc_9,bionic-gcc_8,focal,jammy,lunar,mantic} \ + ubuntu-{xenial-toolchain-gcc_9,bionic-gcc_8,focal,jammy,lunar,mantic,noble} \ debian-{buster-gcc_spkg,bullseye,bookworm,trixie,sid} \ - linuxmint-{20.1,20.2,20.3,21,21.1,21.2} \ - fedora-{30,31,32,33,34,35,36,37,38,39} \ + linuxmint-{20.1,20.2,20.3,21,21.1,21.2,21.3} \ + fedora-{30,31,32,33,34,35,36,37,38,39,40} \ centos-7-devtoolset-gcc_11 \ centos-stream-{8,9}-python3.9 \ almalinux-{8-python3.9,9-python3.11} \ - gentoo-python{3.10,3.11} \ + gentoo-python{3.10,3.11,3.12} \ archlinux-latest \ - opensuse-{15.3-gcc_11-python3.9,15.4-gcc_11-python3.10,15.5-gcc_11-python3.11} \ + opensuse-15.5-gcc_11-python3.11 \ opensuse-tumbleweed{-python3.10,} \ conda-forge-python3.11 \ ubuntu-bionic-gcc_8-i386 \