Dear All, Browsing email on my vacation I noticed a discussion on indexed objects. So far my impression is that GiNaC FAQ is mainly written in do-not-do-this-and-that style. Some active GiNaC users (e.g. me) may wish to see more positive suggestion. For example, I would be grateful for answering such questions: Q4. "Indices" of various kinds proved to be useful in different areas of mathematics, e.g. linear algebra. If present idx and varidx classes are strictly reserved for differential geometric usage in spaces with fractional dimensions, are there plans to add some other classes, say "labels", which may be freely utilised for other purposes? Q5. I need expressions of the type \sum_{j=1}^n a_j b_j for an unspecified symbolic value n and quantities a_j and b_j *labelled* (rememberring that _indexed_ is already copyrighted) by j in this range. Since the varidx class for j is not encouraged and the Einstein summing convention is not "meaningful" in GiNaC, what is the recommended way to define such a sum in my program? Best wishes from the sunny Odessa ;-) Vladimir -- Vladimir V. Kisil email: kisilv@maths.leeds.ac.uk
Q4. "Indices" of various kinds proved to be useful in different areas of mathematics, e.g. linear algebra.
Q5. I need expressions of the type \sum_{j=1}^n a_j b_j for an unspecified symbolic value n and quantities a_j and b_j *labelled* (rememberring that _indexed_ is already copyrighted) by j in this range.
I have the same type of concern.
Dear Alejandro, On Mon, 31 Jul 2006, Alejandro Limache wrote:
I have the same type of concern.
As this discussion is at the moment going on two lists at the same time, I decided to answer both Alexeis opinion and this concern of you and Vladimir in ginac-devel and I suggest that we discuss this further on one list (i.e., ginac-devel), which should keep things more organized.
I think Ginac is closer to be able to do this than blitz++ o ftensor, but the point is how far is Ginac to perfomr the tasks I mentioned above.
I think GiNaC will be useful for doing this kind of unrollment. However, you may need to write a program that produces a C++ file that you later compile. I.e., a code generator. Not sure if that is what you want to do. Using GiNaC for numerical evaluation should not be done if speed is important. But you probably already knew that. Best wishes, Chris
participants (3)
-
Alejandro Limache
-
Chris Dams
-
Vladimir V Kisil