Closed tscrim closed 7 years ago
Last 10 new commits:
b35c8d3 | Merge branch 'develop' into public/lie_algebras/fd_structure_coeff-16820 |
44a17b9 | Merge branch 'develop' into public/lie_algebras/fd_structure_coeff-16820 |
59c0a96 | Merge branch 'develop' into public/lie_algebras/fd_structure_coeff-16820 |
48ec188 | Merge branch 'develop' into public/lie_algebras/fd_structure_coeff-16820 |
cbfbb87 | Merge branch 'public/categories/lie_algebras-16819' of trac.sagemath.org:sage into public/categories/lie_algebras-16819 |
ed93f29 | Created category for subalgebras of FD Lie algebras with basis. |
1a17ff9 | Merge branch 'public/categories/lie_algebras-16819' into public/lie_algebras/fd_structure_coeff-16820 |
b302cc1 | Added free_module abstract method. |
96083bf | Merge branch 'public/categories/lie_algebras-16819' into public/lie_algebras/fd_structure_coeff-16820 |
c2a3a98 | Many changes, fixes, and adding full doctest coverage. |
Branch pushed to git repo; I updated commit sha1. New commits:
c1f3eb3 | Merge branch 'develop' into public/lie_algebras/fd_structure_coeff-16820 |
d0ddb8c | Merge branch 'develop' into public/lie_algebras/fd_structure_coeff-16820 |
7424e75 | Merge branch 'develop' into public/lie_algebras/fd_structure_coeff-16820 |
e5c1703 | Fixed typos with sl2 construction. |
Branch pushed to git repo; I updated commit sha1. New commits:
45db323 | Merge branch 'develop' into public/lie_algebras/fd_structure_coeff-16820 |
036995f | Cleaning up/Fixing some logic, in particular for FromAssociative. |
a135fb3 | Merge branch 'develop' into public/lie_algebras/fd_structure_coeff-16820 |
b4b89da | Fixing errors introduced by logic changes. |
e9587d7 | Added a custom lift morphism for Lie alg from assoc. |
87bba39 | Fixing the last issues from the changes. |
Branch pushed to git repo; I updated commit sha1. Last 10 new commits:
65c1f54 | Removed the LiftMorphism.section map. |
becabaa | Merge branch 'public/categories/lie_algebras-16819' of trac.sagemath.org:sage into public/categories/lie_algebras-16819 |
980545e | Fixed the doc. |
8a6950a | Merge branch 'public/categories/lie_algebras-16819' of git://trac.sagemath.org/sage into lie1 |
9b08311 | a few questions to boot |
5a0bc7d | Answering some questions. |
144a5a5 | Small fix for the doc. |
198f8a8 | Added new categories to documentation. |
aeb6075 | Merge branch 'public/categories/lie_algebras-16819' into public/lie_algebras/fd_structure_coeff-16820 |
ece3cd9 | Added files to the documentation. |
Changed keywords from none to lie algebras, days64
Branch pushed to git repo; I updated commit sha1. Last 10 new commits:
896028a | A y for an x. |
2d2a54d | Merge branch 'public/categories/lie_algebras-16819' into public/lie_algebras/fd_structure_coeff-16820 |
6ca7aca | Fixing some parts of _construct_UEA. |
d35b756 | Adding a default _basis_ordering and _dense_free_module |
0e33276 | Merge branch 'public/categories/lie_algebras-16819' into public/lie_algebras/fd_structure_coeff-16820 |
e95d67c | More fixes to fin-dim w/ basis category. |
c800d6c | Merge branch 'public/categories/lie_algebras-16819' into public/lie_algebras/fd_structure_coeff-16820 |
a491bb0 | Some more cleanup and fixes. |
aabf540 | Fixing coefficient division. |
12074e8 | Merge branch 'public/categories/lie_algebras-16819' into public/lie_algebras/fd_structure_coeff-16820 |
Branch pushed to git repo; I updated commit sha1. Last 10 new commits:
464c131 | another appearance of free_module |
6608a18 | .module and .to_vector: I still don't get them |
106d75d | Merge branch 'public/categories/lie_algebras-16819' of git://trac.sagemath.org/sage into lie1 |
6201720 | does this make sense? |
ddc77b1 | Merge branch 'public/categories/lie_algebras-16819' of git://trac.sagemath.org/sage into lie1a |
b0e36fe | changes I forgot to commit a few weeks ago |
b412977 | manual merge with 6.7.beta0 |
de60849 | I have no idea what I'm doing |
0c28f5f | reverting parts of previous commit with fire |
9830d63 | Merge branch 'public/lie_algebras/fd_structure_coeff-16820' of git://trac.sagemath.org/sage into lie2 |
Just had a quick look at some of the examples. Please check my last commit and revert if necessary (I cannot test right now since Sage is compiling again).
Branch pushed to git repo; I updated commit sha1. New commits:
d952a7b | Merge branch 'public/categories/lie_algebras-16819' into 6.7.b1 |
dfad36c | trac #16819 wrong inclusion into doc is corrected |
eb3b058 | hopefully fix doc bug |
498af17 | Merge branch 'public/lie_algebras/fd_structure_coeff-16820' of git://trac.sagemath.org/sage into lie2 |
5e9a839 | Jacobi identity now tested |
Branch pushed to git repo; I updated commit sha1. New commits:
005984d | document the broken multiplication by base ring |
Branch pushed to git repo; I updated commit sha1. New commits:
5bf7cf7 | documenting LieAlgebraWithStructureCoefficients (mostly scaffolding for myself) |
Branch pushed to git repo; I updated commit sha1. New commits:
4e8469d | fixing own bugs, and heeding pyflakes |
Branch pushed to git repo; I updated commit sha1. New commits:
878ab1d | make generators work correctly for rank0 Heisenberg algebra |
Branch pushed to git repo; I updated commit sha1. New commits:
6f6c529 | p-Witt algebras, so that we have a characteristic-p example |
Branch pushed to git repo; I updated commit sha1. New commits:
052721a | I don't know why (and in what sense) three_dimensional covers "all 3-dim Lie algebras", so I weakened that claim. (Maybe it does over fields, but I somehow doubt that it works in general.) Also, corrected a bordercase failure for empty gens. |
Branch pushed to git repo; I updated commit sha1. New commits:
4dd721a | trac #16820 fixing doc inclusion once again (no .py) |
Branch pushed to git repo; I updated commit sha1. New commits:
ee3edc4 | attempt at using from_vector in _element_constructor_; this causes weird errors I have yet to understand |
See my last commit. Errors:
**********************************************************************
File "src/sage/algebras/lie_algebras/lie_algebra_element.py", line 179, in sage.algebras.lie_algebras.lie_algebra_element.LieAlgebraElementWrapper.__ne__
Failed example:
L.zero() == 0
Expected:
True
Got:
False
**********************************************************************
File "src/sage/algebras/lie_algebras/lie_algebra_element.py", line 181, in sage.algebras.lie_algebras.lie_algebra_element.LieAlgebraElementWrapper.__ne__
Failed example:
L.zero() != 0
Expected:
False
Got:
True
**********************************************************************
Also, are you sure you meant to keep the dot in sage/algebras/lie_algebras/examples.
?
Branch pushed to git repo; I updated commit sha1. New commits:
eb81ce8 | document brokenness |
It at least covers all 3-dim Lie algebras over char 0 fields (up to isomorphism); I will check when I get home what generality they meant (and put a reference if you think it's necessary).
Also for this change:
+ if hasattr(self, "module") and x in self.module():
+ return self.from_vector(x)
I think you should do
try:
if x in self.module():
return self.from_vector(x)
except AttributeError:
pass
For the FromAssociative.lift
...well there's some ambiguity there as to whether we want to lift to the UEA or just some enveloping algebra. I opted to lift just to the defining algebra (which I forgot to change in the docs) as this seemed the most natural. We will also have to deal with subalgebras and a lift
there.
For the tested methods, it was originally returning an element from a matrix Lie algebra, but through refactoring this had changed. This can be remedied by changing the 3 to 1, i.e.: L = lie_algebras.three_dimensional_by_rank(QQ, 1)
.
I'm also not happy with the corner cases being allowed as all properties become vacuous.
Anyways, I'll make changes tomorrow as I will let Sage compile tonight when I get back home.
Branch pushed to git repo; I updated commit sha1. New commits:
8c5361b | meanwhile, fix `_acted_upon_` bug |
Replying to @tscrim:
It at least covers all 3-dim Lie algebras over char 0 fields (up to isomorphism); I will check when I get home what generality they meant (and put a reference if you think it's necessary).
Ah, please add the reference. That's quite an interesting result.
Also for this change:
+ if hasattr(self, "module") and x in self.module(): + return self.from_vector(x)
I think you should do
try: if x in self.module(): return self.from_vector(x) except AttributeError: pass
Does this do something different or is it just more pythonic? I am worried about this try-except game as I can't tell whether the AttributeError comes from self.module() or from the self.from_vector(x).
For the
FromAssociative.lift
...well there's some ambiguity there as to whether we want to lift to the UEA or just some enveloping algebra. I opted to lift just to the defining algebra (which I forgot to change in the docs) as this seemed the most natural. We will also have to deal with subalgebras and alift
there.
I am in favor of renaming it then. The abstract lift
lazy_attribute in sage/categories/lie_algebras.py
explicitly speaks of the UEA in its doc. A lift
that can go anywhere depending on the concrete algebra will be rather useless.
For the tested methods, it was originally returning an element from a matrix Lie algebra, but through refactoring this had changed. This can be remedied by changing the 3 to 1, i.e.:
L = lie_algebras.three_dimensional_by_rank(QQ, 1)
.
Nope, they are still not wrappers.
I'm also not happy with the corner cases being allowed as all properties become vacuous.
The corner cases need to be allowed, and I've already caught at least 2 bugs by inserting tests for them.
Branch pushed to git repo; I updated commit sha1. New commits:
021ed1e | more tests |
Replying to @darijgr:
Replying to @tscrim:
It at least covers all 3-dim Lie algebras over char 0 fields (up to isomorphism); I will check when I get home what generality they meant (and put a reference if you think it's necessary).
Ah, please add the reference. That's quite an interesting result.
IIRC, it's mostly just doing some linear algebra, going rank by rank, and using the constraint by the Jacobi identity. However I will add it.
Also for this change:
+ if hasattr(self, "module") and x in self.module(): + return self.from_vector(x)
I think you should do
try: if x in self.module(): return self.from_vector(x) except AttributeError: pass
Does this do something different or is it just more pythonic? I am worried about this try-except game as I can't tell whether the AttributeError comes from self.module() or from the self.from_vector(x).
It is more pythonic (and faster, but not noticably). You are the one who wanted the rule of 3s contract, and because of the category almost every Lie algebra which has a module attribute also has a from_vector
. Also I'd say the failure is more graceful this way as if either one is not implemented, then it results in an unable to do the coercion/conversion type error.
For the
FromAssociative.lift
...well there's some ambiguity there as to whether we want to lift to the UEA or just some enveloping algebra. I opted to lift just to the defining algebra (which I forgot to change in the docs) as this seemed the most natural. We will also have to deal with subalgebras and alift
there.I am in favor of renaming it then. The abstract
lift
lazy_attribute insage/categories/lie_algebras.py
explicitly speaks of the UEA in its doc. Alift
that can go anywhere depending on the concrete algebra will be rather useless.
Renaming which one? Also it's far from useless to lift to some enveloping algebra as you would want to convert between say, SGA and the Lie algebra.
For the tested methods, it was originally returning an element from a matrix Lie algebra, but through refactoring this had changed. This can be remedied by changing the 3 to 1, i.e.:
L = lie_algebras.three_dimensional_by_rank(QQ, 1)
.Nope, they are still not wrappers.
Whoops, yes. Do sl(QQ, 2, representation='matrix')
or one of the upper triangular matrix Lie algebras.
I'm also not happy with the corner cases being allowed as all properties become vacuous.
The corner cases need to be allowed, and I've already caught at least 2 bugs by inserting tests for them.
No, they don't have to be allowed. In fact, because they are the empty set, they aren't really well-defined to me.
Branch pushed to git repo; I updated commit sha1. New commits:
c183822 | all doctests pass again :) |
Part of #14901. This implements the basic hierarchy of base classes, the categories for Lie algebras, some standard Lie algebras, and finite-dimensional Lie algebras given by structure coefficients.
Component: algebra
Keywords: lie algebras, days64, sd67, days74, days79
Author: Travis Scrimshaw
Branch/Commit:
98c488d
Reviewer: Darij Grinberg, Eric Gourgoulhon
Issue created by migration from https://trac.sagemath.org/ticket/16820