X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?a=blobdiff_plain;f=ginac%2Findexed.h;h=ad32c2372fee25e55e0fef167de8be32000eeea0;hb=6ff0e774b835301799d3f4618566759d562a17cb;hp=7329e87db1c7b64bda0eb3205cbaa75126b5e0b2;hpb=da64e515abf7243bc4c84ca3631470931c4e6691;p=ginac.git diff --git a/ginac/indexed.h b/ginac/indexed.h index 7329e87d..ad32c237 100644 --- a/ginac/indexed.h +++ b/ginac/indexed.h @@ -250,6 +250,23 @@ template<> inline bool is_exactly_a(const basic & obj) return obj.tinfo()==TINFO_indexed; } +/** Returns all dummy indices from the expression */ +exvector get_all_dummy_indices(const ex & e); + +/** Returns b with all dummy indices, which are common with a, renamed */ +ex rename_dummy_indices_uniquely(const ex & a, const ex & b); + +/** This function returns the given expression with expanded sums + * for all dummy index summations, where the dimensionality of + * the dummy index is numeric. + * Optionally all indices with a variance will be substituted by + * indices with the corresponding numeric values without variance. + * + * @param e the given expression + * @param subs_idx indicates if variance of dummy indixes should be neglected + */ +ex expand_dummy_sum(const ex & e, bool subs_idx = false); + } // namespace GiNaC #endif // ndef __GINAC_INDEXED_H__