Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

(Special) Orthogonal / Unitary / Euclidean groups #17

Open
wants to merge 51 commits into
base: main
Choose a base branch
from

Conversation

kellertuer
Copy link
Member

@kellertuer kellertuer commented Dec 13, 2024

This PR aims to provide the special orthogonal group and the first concrete semidirect product: Special Euclidean, since the complex case is similar, this will also cover the special unitary case.

🛣️🗺️

  • implement OrthogonalGroup
  • Implement SpecialOrthogonalGroup
  • Implement SpecialEuclideanGroup
  • Implement UnitrayGroup
  • Implement SpecialUnitaryGroup
  • improve test coverage on the semidirect product groups.

Copy link

codecov bot commented Dec 13, 2024

Codecov Report

Attention: Patch coverage is 95.66396% with 16 lines in your changes missing coverage. Please review.

Project coverage is 98.53%. Comparing base (5246f30) to head (5b86c5f).

Files with missing lines Patch % Lines
src/utils.jl 78.04% 9 Missing ⚠️
src/interface.jl 70.83% 7 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main      #17      +/-   ##
==========================================
- Coverage   99.20%   98.53%   -0.67%     
==========================================
  Files          13       19       +6     
  Lines         756     1095     +339     
==========================================
+ Hits          750     1079     +329     
- Misses          6       16      +10     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@kellertuer
Copy link
Member Author

Status update 1: In theory SE(n) is defined, in practice I am not able to dispatch on the new const. Hence the constructor still falls back to calling the general show (of semidirect product) @mateuszbaran can you maybe take a look? After an hour of trying I am a bit out of ideas what is wrong with my constant SpecialEuclideanGroup definition.

@mateuszbaran
Copy link
Member

I've fixed the issue with SpecialEuclideanGroup alias 🙂

@kellertuer
Copy link
Member Author

Nice. I would not have noticed the tuple necessary during the rest of the year.

You changed one . to a map. Should I do that for the rest as well?

@kellertuer
Copy link
Member Author

Oh and sorry for the capitalisation foo – Mac OS does not distinguish that on files when loading them … super annoying.

@mateuszbaran
Copy link
Member

You changed one . to a map. Should I do that for the rest as well?

I generally prefer map over . when both are applicable because for the compiler it's much easier to optimize map.

Oh and sorry for the capitalisation foo – Mac OS does not distinguish that on files when loading them … super annoying.

No problem, that was an easy fix 🙂

@kellertuer
Copy link
Member Author

The main work today was a bit of structure, since now one of my main worries already works – compose! – the remaining functions are hopefully just stuff to transfer from manifolds.jl the todo list is basically all commented our functions in the two new test files.

So I am confident that this should not be too complicated – and am quite happy with how semidirect turned out.

kellertuer and others added 3 commits December 16, 2024 17:57
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
@mateuszbaran mateuszbaran added the preview docs Add this label if you want to see a PR-preview of the documentation label Dec 16, 2024
@kellertuer
Copy link
Member Author

All dummies are there, now the rest is mainly getting all functions from the test suite implemented and tested.

…ally needed. Starts transferring xp/log from Manifolds.jl for these.
@kellertuer kellertuer force-pushed the kellertuer/SOn-and-SEn branch from 11be112 to cfc9670 Compare December 31, 2024 10:18
@kellertuer kellertuer mentioned this pull request Jan 1, 2025
# Conflicts:
#	Project.toml
#	src/LieGroups.jl
#	src/group_operations/multiplication_operation.jl
#	src/groups/power_group.jl
#	src/groups/product_group.jl
#	test/LieGroupsTestSuite.jl/LieGroupsTestSuite.jl
#	test/runtests.jl
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
preview docs Add this label if you want to see a PR-preview of the documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants