#16820: Implement ABCs for Lie algebras and finite dimensional given by 
structure
cofficients
-------------------------------------+-------------------------------------
       Reporter:  tscrim             |        Owner:  tscrim
           Type:  enhancement        |       Status:  needs_review
       Priority:  major              |    Milestone:  sage-6.7
      Component:  algebra            |   Resolution:
       Keywords:  lie algebras,      |    Merged in:
  days64                             |    Reviewers:
        Authors:  Travis Scrimshaw   |  Work issues:
Report Upstream:  N/A                |       Commit:
         Branch:                     |  c1838221b369f47e407ffcd95fd53bd4f239e21d
  public/lie_algebras/fd_structure_coeff-16820|     Stopgaps:
   Dependencies:  #16819             |
-------------------------------------+-------------------------------------

Comment (by darij):

 Replying to [comment:27 tscrim]:
 > 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.

 A lot of Lie theory is just doing some linear algebra... Linear algebra
 does a lot.


 > 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.

 You're right -- fixed!

 > > > 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.

 So you have 3 different meanings of lift now:

 - lift from g to U(g);

 - lift from g to *some* associative algebra containing g;

 - lift from g to a bigger Lie algebra.

 I have no idea how I am to rely on a method which can do either of these
 three things depending on the implementation (and possibly on the MRO?).
 These warrant distinct names.

 > Renaming which one?

 Either.

 > Whoops, yes. Do `sl(QQ, 2, representation='matrix')` or one of the upper
 triangular matrix Lie algebras.

 Thanks. And you know what's funny? The try/except change actually fixed
 the == 0 tests...

 but caused some new crap:

 {{{
 sage: L = lie_algebras.sl(QQ, 2, representation='matrix')
 sage: L(2)
 [2 0]
 [0 2]
 }}}

 This is not in sl(2)!

 > No, they don't have to be allowed. In fact, because they are the empty
 set, they aren't really well-defined to me.

 0-dimensional Lie algebras exist and sometimes you get them by quotienting
 or restricting. It isn't mathematically reasonable to exclude them.
 ----
 New commits:
 
||[http://git.sagemath.org/sage.git/commit/?id=c1838221b369f47e407ffcd95fd53bd4f239e21d
 c183822]||{{{all doctests pass again :)}}}||

--
Ticket URL: <http://trac.sagemath.org/ticket/16820#comment:29>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to