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

🛣️🗺️ for LieGroups.jl #5

Open
32 of 43 tasks
kellertuer opened this issue Sep 10, 2024 · 7 comments
Open
32 of 43 tasks

🛣️🗺️ for LieGroups.jl #5

kellertuer opened this issue Sep 10, 2024 · 7 comments

Comments

@kellertuer
Copy link
Member

kellertuer commented Sep 10, 2024

🛣️🗺️ for LieGroups.jl

  • Add people to all if Project.toml, LICENSE, the authors= field in the docs/make.jl, and the .zenodo.json
  • start a notation.md to fix notation
  • List of functions to “move to” (first define in ) this package – I want to make sure all their docs get a bit longer to also help starters a bit more (and myself)
    • GroupManifold should become LieGroup
    • Identity
    • inv(G,p) (for types as above also inv(p)
    • compose (for types as above also overload $\circ$)
    • _compose – that is handle interaction with the identity element in compose and document this to be implemented for groups actually.
    • identity_element (an din-place)
    • ActionDirection, left and right
    • move some traits like HasRightInvariantMetric (and left- and bi-) maybe also introduce the trait IsLieGroup
    • exp_inv should become the default exp(G, p, X) here. (similarly log)
    • exp_lie should either become the exp(G, X) above, similarly (log)
    • get_vector_lie and get_coordinates_lie can maybe be refactored to work on groups without a base point? Or on a new LieAlgebra subtype (similar to the tangent space we have)
    • inv_diff
    • inverse_translate_diff we should probably decide whether we do shorten inv or we do not, we should probably not because there is inverse and invariant now already
    • is_group_manifold should probably become is_Lie_group since the Lie group is no longer a decorator this is obsolete
    • is_idenity
    • lie_bracket
    • switch_direction -> switch
    • switch_side obsolete after unifying operations
    • translate
    • translate_diff
    • hat
    • vee
    • AdditionOperation as AdditionGroupOpertaion
    • MultiplcationOperation
  • List of Lie Groups to move here
    • CircleGroup
    • RealCircleGroup
    • GeneralLinear
    • HeisenbergGroup
    • (Special) Orthogonal and (Special) Unitary group
    • PowerGroup – or maybe discuss to turn a power manifold info a group instead?
    • ProductGroup – same as before, maybe LieGroup(product, tuple-of-operations) instead?
    • SemidirectProductGroup
    • SpecialEuclidean
    • SpecialLinear
    • TranslationGroup
  • move according metrics and connections
  • move group actions.
  • write a generic Lie group test suite
  • Discuss name and check with the maybe inactive package https://github.com/yuehhua/LieGroups.jl – opened an issue at https://github.com/yuehhua/LieGroups.jl/issues/4 (cf. also What is the disputes procedure for packages? JuliaRegistries/General#25367)
  • Write a “Get started” tutorial
  • setup documentation, tests, tutorials (quarto), zenodo, JuliaFormater default, .gitignore
  • check Move GroupManifold interface to ManifoldsBase. ManifoldsBase.jl#84 what we can maybe also use in ideas from there.
  • Have a page about.md to mention contributors (and what they contributed) as well as interesting related projects, for example

Further ideas both in form on further issues (I will link here) as well as comments are are welcome.
Let's first collect the ideas before we get started.

@dev10110
Copy link

This is awesome! Thanks Ronny!

@mateuszbaran
Copy link
Member

Nice list! I think we should also move group actions here.

@kellertuer
Copy link
Member Author

Well-spotted, sure they should move as well.

I will try to find time to write down a few design remarks and introduce the first main types maybe until or over the weekend. and then we could try to slowly move some parts

@kellertuer
Copy link
Member Author

There might be a few small hiccups from now, since we are taking over the old LieGroups.jl and rebase this.

@kellertuer kellertuer transferred this issue from another repository Oct 9, 2024
@kellertuer
Copy link
Member Author

kellertuer commented Oct 9, 2024

@ExpandingMan, @alxbnct, @oameye thanks for so early staring out repository again. Don't be confused, this is an old repository we took over to get the name LieGroups.jl, so while this might look like the one you stared, it is not. Feel free to star this one to stay up to date.

Of course any comments, remarks, feature requests are also always welcome while we continue the rework.

@kellertuer kellertuer changed the title 🛣️ Roadmap for LieGroups.jl 🛣️🗺️ for LieGroups.jl Oct 22, 2024
@kellertuer
Copy link
Member Author

@dev10110 I just noticed we might have “lost” you as well on this issue when we moved everything to the (old, original) LieGroups.jl repository we took over to gain the name. Feel free to further comment if you miss a Lie Group or other features on the list here :)

@kellertuer
Copy link
Member Author

With yesterdays PR merge we now have

I will tackle power, product and semidirect products in a PR, since those can be done a bit nicer than we endet up with in the “grown-over-time” variant we had before.

If anyone has time, the simple groups like rotations (SO(n), SU(n))... could all also be transferred already with their group operations.
After that, a thorough check and working on actions is the last part left of coding before 0.1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants