I've had the following mail exchange with Kasper Peeters, the author of cadabra:
Mail from Oscar > I think you are better off with a 'scalar computer algebra system' like > maxima or yacas. Cadabra is mainly intended to do that one thing that > other computer algebra systems do so badly: compute with tensorial > expressions ("things with indices"). For all other computer algebra, > like finding eigenvalues of matrices, solving differential equations, > handling special functions etc, which essentially involve only 'scalar' > objects ("things without indices"), the other systems are much more > suitable. Roger that, I read in the cadabra website that you are interested in developing an interface to some scalar cas. So i'd like to interest you in Sage (www.sagemath.org) It is basically a collection of free mathematical software which includes maxima and some others to do scalar computations. It is in my opinion way more powerful than maxima. The one disadvantage it has is that it is also bulkier. If you're interested you might contact the development team (of which I am proud to be member) at sage-devel@googlegroups.com . I would like to develop a sage -> cadabra interface some time in the future, so even if you stick with maxima I could use some insight into the code (I'll have to learn C++ I guess). > (The 'eigenvalues' problem does involve objects with indices, but in a > special way: it deals with the _components_ of those objects directly. > Cadabra at present only deals with 'abstract tensor algebra', which is > the manipulation of tensors without specific explicit knowledge of the > components). > > The only exception to this advice is when you are dealing with objects > which look like scalars but which are not commuting, like the various > operators you have in quantum mechanics. But that's not suprising > because operators are essentially 'objects with implicit indices' (you > can often think of them as matrices, which are tensors). There is an > example on 'commutator algebra' on the cadabra web site, which may help > you there. > I will read that thank you. thanks again Oscar ########################################################## Mail from Kasper: > > Roger that, I read in the cadabra website that you are interested in > > developing an interface to some scalar cas. So i'd like to interest > > you in Sage (www.sagemath.org) Yes, I know about that one. I am not yet fully settled on how I want to do that kind of interface, if you have any suggestions on how that should work from cadabra I'd be more than happy to hear about them. > > I would like to develop a sage -> cadabra interface some time in the > > future, so even if you stick with maxima I could use some insight > > into the code (I'll have to learn C++ I guess). I would be interested to hear how you intend to write tensor expressions within sage. My main reason for writing cadabra is that other computer algebra systems are so clumsy with their tensor notation (e.g. A_{m n}^{p} looks much cleaner and closer to what I am used to than A[m,n,Up[p]] or something like that). Not to mention index relabelling/dummies. Cheers, Kasper ######################################################### Mail form Oscar: Kasper Peeters escribió: >> Roger that, I read in the cadabra website that you are interested in >> developing an interface to some scalar cas. So i'd like to interest >> you in Sage (www.sagemath.org) >> > > Yes, I know about that one. I am not yet fully settled on how I want to > do that kind of interface, if you have any suggestions on how that > should work from cadabra I'd be more than happy to hear about them. Well, I am only getting started with cadabra so I wouldn't know... > >> I would like to develop a sage -> cadabra interface some time in the future, >> so even if you stick with maxima I could use some insight >> into the code (I'll have to learn C++ I guess). >> > > I would be interested to hear how you intend to write tensor > expressions within sage. My main reason for writing cadabra is that > other computer algebra systems are so clumsy with their tensor notation > (e.g. A_{m n}^{p} looks much cleaner and closer to what I am used to > than A[m,n,Up[p]] or something like that). Not to mention index > relabelling/dummies. > I don't think interfaces in sage develop special syntax for their expressions. The mathematica interface works by using mathematica syntax to create sage objects which are processed with mathematica. To get an idea of how this is used you can see: http://www.sagemath.org/doc/reference/sage/interfaces/mathematica.html . The short answer would be "the sage -> cadabra interface would use expressions in the same way as cadabra does" :D P.D.: would you be ok if I posted our mail in sage-devel? There would be lots of good oppinion there... thanks! Oscar ########################################################## Mail from Kasper: > I don't think interfaces in sage develop special syntax for their > > expressions. The mathematica interface works by using mathematica > > syntax to create sage objects which are processed with mathematica. > > To get an idea of how this is used you can see: > > http://www.sagemath.org/doc/reference/sage/interfaces/mathematica.html . Ok, I wasn't aware of that. I think your main question should then be: what types of output do I want to get from cadabra such that I can actually do something useful with it in the rest of sage. > > P.D.: would you be ok if I posted our mail in sage-devel? There would > > be lots of good oppinion there... Yes, let's take it there. Can you start a new thread and copy the things we have been exchanging so far? I'll subscribe to sage-devel. Cheers, Kasper -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org