problem with simplify_indexed() plus patch
Hello everybody, I have a problem with simplify_indexed(). This function tries, among other things, if some terms cancel after symmetrizing with respect to dummy indices. It then checks if the symmetrization really lessened the number of terms and if this is the case, returns the result of the symmetrization. However, this may miss opportunities for simplification. Imagine that we have a sum of four terms, say, T = t1 + t2 + t3 + t4, and that after symmetrization t1 and t2 cancel. However, it turns out that symmetrization yields six terms. We have T_symm = t3,1 + ... + t3,6 + t4,1 + ... + t4,6. This contains twelve terms, which is more than the original four ones, and therefore, is not accepted as a simplification. However, as a (more or less) intelligent human being I do not find it very difficult to use the just presented information to think of a simpler expression for T. Furthermore, even if, in such a case, symmetrization yields a smaller number of terms, the result may be somewhat awkward. What if I have objects carrying a three-dimensional index for which I use symbols a, b, c, etcetera and a four-dimensional index for which I use symbols mu, nu, sig, etcetera. The symmetrized result may have latin letters in places where I would normally expect greek ones and vice versa. Both problems sketched above are solved if one uses the symmetrized terms for determining what cancels but the original terms to get the, hopefully, simplified result. A patch is attached that is supposed to make this happen. Greetings, Chris Dams
Hi! On Fri, Nov 08, 2002 at 06:40:05PM +0000, Chris Dams wrote:
A patch is attached that is supposed to make this happen.
This looks sensible. Thanks! Bye, Christian -- / Coding on PowerPC and proud of it \/ http://www.uni-mainz.de/~bauec002/
participants (2)
-
Chris Dams
-
Christian Bauer