X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?p=ginac.git;a=blobdiff_plain;f=ginac%2Flortensor.cpp;h=e8f4f87312d9070d5e2b826affbeddb40f60bf37;hp=7a97887ae71852fc33974827dc55778a126c9b6d;hb=fb11f25f728b95c3ef3d97b558d80e87d95fdd0c;hpb=e5362a33f72613b324b3714524a8c2e5f7b7f46f diff --git a/ginac/lortensor.cpp b/ginac/lortensor.cpp index 7a97887a..e8f4f873 100644 --- a/ginac/lortensor.cpp +++ b/ginac/lortensor.cpp @@ -31,7 +31,6 @@ #include "add.h" #include "mul.h" #include "debugmsg.h" -#include "flags.h" #include "lst.h" #include "lortensor.h" #include "operators.h" @@ -238,12 +237,6 @@ void lortensor::archive(archive_node &n) const //public -basic * lortensor::duplicate() const -{ - debugmsg("lortensor duplicate",LOGLEVEL_DUPLICATE); - return new lortensor(*this); -} - void lortensor::printraw(std::ostream & os) const { debugmsg("lortensor printraw",LOGLEVEL_PRINT); @@ -328,7 +321,10 @@ ex lortensor::eval(int level) const return _ex0(); } } else if (idx1.is_symbolic() && idx1.is_co_contra_pair(idx2)) { - return Dim(); + if (idx1.is_orthogonal_only()) + return Dim() - idx1.get_dim_parallel_space(); + else + return Dim(); } } return this -> hold();