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

Adapt interface for orthogonal and symplectic Lie algebras #3391

Merged
merged 8 commits into from
Feb 23, 2024

Conversation

lgoettgens
Copy link
Member

As discussed with @fingolfin in some slack thread a long time ago, the function special_orthogonal_lie_algebra should be able to handle an arbitrary symmetric bilinear form as input. This is now possible; the previous behavior can be achieved by providing identity_matrix(ZZ, n) as the form.

Furthermore, I added the same interface for the new symplectic_lie_algebra function.

@lgoettgens lgoettgens added topic: LieAlgebras backport 1.0.x Should be backported to the release 1.0 branch labels Feb 19, 2024
@aaruni96 aaruni96 mentioned this pull request Feb 20, 2024
33 tasks
@lgoettgens
Copy link
Member Author

lgoettgens commented Feb 20, 2024

This will need to be rebased once #3387 is merged to avoid semantical conflicts.

@lgoettgens
Copy link
Member Author

Bump @fingolfin

experimental/LieAlgebras/src/LinearLieAlgebra.jl Outdated Show resolved Hide resolved
such that $f(xv, w) = -f(v, xw)$ for all $v, w \in R^n$.

If `gram` is not provided, for $n = 2k$ the form defined by $\begin{matrix} 0 & I_k \\ -I_k & 0 \end{matrix}$
is used, and for $n = 2k + 1$ the form defined by $\begin{matrix} 1 & 0 & 0 \\ 0 & 0 I_k \\ 0 & I_k & 0 \end{matrix}$.
Copy link
Member

Choose a reason for hiding this comment

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

Why that form in particular? Is that the form you used before?

Copy link
Member Author

Choose a reason for hiding this comment

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

No, I used the identity matrix before, which for general users is a bad choice, as eg over QQ the Cartan sub is not split.
This is the form used most often in the literature to construct the B_n and D_n types, eg in Humphreys Introduction to Lie Algebras. I think we should provide just any default here, and thus particular one has, in most cases, nice properties.

@assert characteristic(R) != 0 || dim == div(n^2 - n, 2)
s = ["x_$(i)" for i in 1:dim]
L = lie_algebra(R, n, basis, s; check=false)
set_attribute!(L, :type => :special_orthogonal, :form => form)
Copy link
Member

Choose a reason for hiding this comment

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

Maybe also add a documented form to query the form? Of course that can also come in a future PR.

Copy link
Member Author

Choose a reason for hiding this comment

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

Comes in a future PR

Copy link
Member Author

Choose a reason for hiding this comment

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

@fingolfin do you have a name idea for this function? form can be ambiguous with e.g. the killing form

Copy link
Collaborator

Choose a reason for hiding this comment

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

defining_form?

Copy link
Collaborator

Choose a reason for hiding this comment

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

invariant_form (if it is invariant :))?

@benlorenz benlorenz merged commit db3dc1f into oscar-system:master Feb 23, 2024
20 checks passed
benlorenz pushed a commit that referenced this pull request Feb 23, 2024
* Small docs improvements

* Adapt so interface

* Add sp Lie algebra

* Adapt to `vec` renaming

* Don't assume anything about the kernel structure

* Apply suggestions from code review

Co-authored-by: Max Horn <[email protected]>

---------

Co-authored-by: Max Horn <[email protected]>
(cherry picked from commit db3dc1f)
@lgoettgens lgoettgens deleted the lg/Lie-so-sp branch February 23, 2024 11:16
benlorenz added a commit that referenced this pull request Feb 23, 2024
### Backported PRs

- [x] #3367
- [x] #3379 
- [x] #3369
- [x] #3291
- [x] #3325
- [x] #3350 
- [x] #3351
- [x] #3365 
- [x] #3366
- [x] #3382
- [x] #3373
- [x] #3341
- [x] #3346
- [x] #3381
- [x] #3385
- [x] #3387 
- [x] #3398 
- [x] #3399 
- [x] #3374 
- [x] #3406 
- [x] #2823
- [x] #3298
- [x] #3386 
- [x] #3412 
- [x] #3392 
- [x] #3415 
- [x] #3394
- [x] #3391
@benlorenz benlorenz removed the backport 1.0.x Should be backported to the release 1.0 branch label Feb 23, 2024
lgoettgens added a commit to lgoettgens/PBWDeformations.jl that referenced this pull request Jun 11, 2024
lgoettgens added a commit to lgoettgens/PBWDeformations.jl that referenced this pull request Jun 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants