On Wed, Jul 8, 2009 at 12:37 PM, David
Simmons-Duffin<[email protected]> wrote:
> I didn't realize that Sage could do Lie algebra manipulations.  What are the
> pros and cons for writing an interface to LiE as opposed to simply extending
> Sage's existing functionality?

It depends on what you need to do.

>  Is LiE faster, or has it implemented some
> tricky algorithms that people don't want to write in sage?

I don't know.

> I'd be happy to donate my code to Sage, although I don't know if it will
> have the right organization or be of the right quality standards.  I haven't
> used Sage, but it looks like it has some kind of system for dealing with
> general mathematical objects, for instance keeping track of whether
> something is a group or ring element, or in a vector space over some field.

True.

> I made some decisions about what kind of classes to include in my interface
> based on trying to achieve the simplest code for my particular applications,
> and not with an eye towards conforming to some general math system.  For
> instance, whereas LiE uses a polynomial to stand for a representaion, I have
> a Rep object that wraps a polynomial and a group, where multiplication on
> Rep's is defined as tensor product.  If I were writing a sage extension, I
> imagine I would have to somehow also encode that Rep is a type of ring over
> the integers, etc..
>
> Would my code be useful even without conforming to sage's math conventions?
> I'd be interested in learning how to write a sage extension at some point,
> but I need my code for a physics project I'm actively working on now, and
> I'm not sure I have very much time to spend on programming.

I don't really.  It sounds to me like you should focus on your current
project first, and you might also want to investigate the capabilities
of Sage (and Sage + the sage-combinat extensions)....

William

>
> Thanks,
> David
>
>
> On Wed, Jul 8, 2009 at 12:22 PM, William Stein <[email protected]> wrote:
>>
>> On Wed, Jul 8, 2009 at 9:17 AM, David
>> Simmons-Duffin<[email protected]> wrote:
>> > On Jul 8, 2009, at 1:32 AM, Robert Bradshaw wrote:
>> >
>> >>> One possible solution is to just replace the word "object" in the C
>> >>> source with something else throughout.  But I'd like to make as few
>> >>> modifications of the C source as possible.  Is there an alternate
>> >>> solution?
>> >>
>> >> Yes, you can use the magic c-namespace-renaming quotes. For your
>> >> example.
>> >>
>> >>> I actually have another unrelated question: what is the correct
>> >>> cython
>> >>> syntax for the union statement at the top of this message?  Cython
>> >>> doesn't seem to like me putting
>> >>>
>> >>> struct any:
>> >>>      objtype type
>> >>>      reftype nfref
>> >>>
>> >>> in the middle of a union statement.
>> >>
>> >> Cython doesn't support anonymous structs. Give that struct a name,
>> >> and then you can declare your variable with that type. (The name you
>> >> choose will never actually be used.)
>> >
>> > Thanks, your suggestions worked perfectly.
>> >
>> >> Just out of curiosity, what are you wrapping? It looks like a math
>> >> library of sorts.
>> >
>> > I'm wrapping a program called LiE for doing computations in lie group
>> > representation theory.
>> >
>> > http://www-math.univ-poitiers.fr/~maavl/LiE/
>> >
>> > This sort of thing is very useful in high energy theoretical physics,
>> > which is what I work on.  The typical choice among us theorists for
>> > doing computations is Mathematica (with the exception of collider
>> > simulations, which are run with dedicated programs like Pythia).
>> > However, representation theory is something Mathematica doesn't seem
>> > to know about, and I haven't been able to find a package for it.
>> >
>> > LiE does basically what I want, except that everything is wrapped up
>> > in a custom language that's not very expressive, hard to debug, and
>> > generally unpleasant to use.  Python is much lovelier, especially
>> > since the object-oriented-ness is well-suited for writing
>> > mathematics.  So I'm doing my best to provide a python interface as an
>> > alternative to LiE's built-in lexer, parser, and interpreter.
>> >
>>
>> (1) The Sage project (http://sagemath.org) may be very interested in
>> getting your code that wraps LiE when you finish it.  Having a Sage
>> <--> Lie interface has been requested feature.
>>
>> (2) Sage itself has substantial functionality for combinatorics of Lie
>> algebras.   See, e.g., the talk by Dan Bump that is linked to from
>> here: http://wiki.sagemath.org/days14
>>
>>
>>  -- William
>> _______________________________________________
>> Cython-dev mailing list
>> [email protected]
>> http://codespeak.net/mailman/listinfo/cython-dev
>
>
> _______________________________________________
> Cython-dev mailing list
> [email protected]
> http://codespeak.net/mailman/listinfo/cython-dev
>
>



-- 
William Stein
Associate Professor of Mathematics
University of Washington
http://wstein.org
_______________________________________________
Cython-dev mailing list
[email protected]
http://codespeak.net/mailman/listinfo/cython-dev

Reply via email to