Skip to content

Ring Conformance for Clifford algebras and Clifford orders + Documentation#5880

Open
SirToby25 wants to merge 34 commits intooscar-system:masterfrom
SirToby25:tb/CliffordRingInterface
Open

Ring Conformance for Clifford algebras and Clifford orders + Documentation#5880
SirToby25 wants to merge 34 commits intooscar-system:masterfrom
SirToby25:tb/CliffordRingInterface

Conversation

@SirToby25
Copy link
Copy Markdown
Collaborator

@SirToby25 SirToby25 commented Mar 19, 2026

This branch refactors and upgrades the Clifford algebra and order implementations to be fully compliant with the NCRing interface. This is essentially a follow up to #4370 (and #4822).

It also comes with a full documentation of the code.

SirToby25 and others added 6 commits March 17, 2026 18:43
The files Operators.jl, exports.jl, Types.jl were created and code
was shifted from CliffordAlgebra.jl and CliffordOrder.jl to these
files as appropriate. Also created 'ambient_algebra' as an alias
for 'algebra'. For better readability, only the former is used
within the code from now on.
Removed the fields even_coeffs and odd_coeffs for all
element types. All related functions were deleted as well.
Shifted all methods regarding graded parts of Clifford algebras
and Clifford orders to the 'Graded parts'-blocks. Updated
generation for conformance tests. These work now as intended.
@SirToby25 SirToby25 added documentation Improvements or additions to documentation topic: number theory WIP NOT ready for merging experimental Only changes experimental parts of the code labels Mar 20, 2026
SirToby25 and others added 4 commits March 24, 2026 17:25
Full documentation for implementation of Clifford algebras and Clifford
orders is now finished.

Also removed the fields for storing bases or pseudo-bases for various
objects such as center and centroid for the various algebra and order
types. Instead, these are now computed on demand from a smaller set of
data that constitute new fields.

Added methods to compute a (pseudo-)basis for the maximal orthogonal
suborder of the centroid of a Clifford order.
@SirToby25 SirToby25 removed the WIP NOT ready for merging label Apr 2, 2026
@SirToby25 SirToby25 marked this pull request as ready for review April 2, 2026 15:23
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR refactors the experimental Clifford algebra/order implementation to conform to the NCRing interface, reorganizing core definitions and adding both conformance and documentation coverage.

Changes:

  • Added ConformanceTests.test_NCRing_interface coverage for Clifford algebras/orders and matrix rings over them.
  • Split core implementation into new Types.jl, Operators.jl, and exports.jl, and updated APIs around ambient_algebra.
  • Introduced new documentation pages (introduction + algebra/order guides) and wired them into docs/doc.main.

Reviewed changes

Copilot reviewed 12 out of 12 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
experimental/CliffordAlgOrd/src/CliffordAlgOrd.jl Includes new exports, Types, and Operators modules before existing implementation files.
experimental/CliffordAlgOrd/src/exports.jl Centralizes export list for the project.
experimental/CliffordAlgOrd/src/Types.jl New core type definitions for algebras, orders, and their elements.
experimental/CliffordAlgOrd/src/Operators.jl New operator implementations (+, *, inv, divexact, hashing, unsafe ops).
experimental/CliffordAlgOrd/src/CliffordAlgebra.jl Refactors API/docs; adds graded-part helpers and conformance element generation.
experimental/CliffordAlgOrd/src/CliffordOrder.jl Refactors to ambient_algebra, adds centroid/orthogonal-suborder routines, promotion rules, random generation, and conformance element generation.
experimental/CliffordAlgOrd/test/CliffordAlgebra.jl Adds NCRing conformance tests; updates tests for refactored API.
experimental/CliffordAlgOrd/test/CliffordOrder.jl Adds NCRing conformance tests; expands coverage for coefficient ideals and centroid/max-orth functionality.
experimental/CliffordAlgOrd/docs/doc.main Registers the new documentation pages.
experimental/CliffordAlgOrd/docs/src/introduction.md Adds an overview/introduction section and project context.
experimental/CliffordAlgOrd/docs/src/clifford_algebras.md Adds a Clifford algebras user guide + API references.
experimental/CliffordAlgOrd/docs/src/clifford_orders.md Adds a Clifford orders user guide + API references.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@oscar-system oscar-system deleted a comment from Copilot AI Apr 7, 2026
@oscar-system oscar-system deleted a comment from Copilot AI Apr 7, 2026
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Comment on lines +11 to +16
ConformanceTests.test_NCRing_interface(C)

# Matrices over Clifford orders
M = matrix_ring(C, 2)
ConformanceTests.test_NCRing_interface(M)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
ConformanceTests.test_NCRing_interface(C)
# Matrices over Clifford orders
M = matrix_ring(C, 2)
ConformanceTests.test_NCRing_interface(M)
ConformanceTests.test_NCRing_interface_recursive(C)

after Nemocas/AbstractAlgebra.jl#2390 is merged and released, and similar elsewhere

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

as mentioned in my comment, this is not available yet. So for you to continue working on this, better keep the previous version until Nemocas/AbstractAlgebra.jl#2390 is actually available...

SirToby25 and others added 6 commits April 7, 2026 16:39
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Lars Göttgens <lars.goettgens@gmail.com>
Co-authored-by: Lars Göttgens <lars.goettgens@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Lars Göttgens <lars.goettgens@gmail.com>
@SirToby25 SirToby25 changed the title Ring Conformance for Clifford algebras and Clifford orders (and soon also docs) Ring Conformance for Clifford algebras and Clifford orders + Documentation Apr 8, 2026
@lgoettgens
Copy link
Copy Markdown
Member

@thofma Do you wanna have a look at the mathematics?
If not, I will proceed with merging on Monday.

@lgoettgens lgoettgens requested a review from thofma April 10, 2026 10:16
Copy link
Copy Markdown
Collaborator

@thofma thofma left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Had an artificial glance and it looks good to me.

@thofma thofma added the release notes: use title For PRs: the title of this PR is suitable for direct use in the release notes label Apr 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation experimental Only changes experimental parts of the code release notes: use title For PRs: the title of this PR is suitable for direct use in the release notes topic: number theory

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants