diff options
author | Ian Hinder <ian.hinder@aei.mpg.de> | 2012-08-11 18:57:48 +0200 |
---|---|---|
committer | Ian Hinder <ian.hinder@aei.mpg.de> | 2012-08-11 18:57:48 +0200 |
commit | 4707e0c3f03cc52d82f88735e602c52cf74f0cbe (patch) | |
tree | 07bfb965ed5ccff245f09192dadd09d43cc69ad0 /Tools/CodeGen | |
parent | 479985d633085cc09dcd36b76e319fa772fe44fe (diff) |
TensorTools.m: Remove components generated by symmetries of antisymmetric tensors
Diffstat (limited to 'Tools/CodeGen')
-rw-r--r-- | Tools/CodeGen/TensorTools.m | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/Tools/CodeGen/TensorTools.m b/Tools/CodeGen/TensorTools.m index 0e81fa6..50d108c 100644 --- a/Tools/CodeGen/TensorTools.m +++ b/Tools/CodeGen/TensorTools.m @@ -1172,7 +1172,7 @@ extractMapDomain[m_] := RemoveDuplicates[Map[#[[1]] &, m]]; removeDuplicatesFromMap[m_] := - Map[# -> (# /. m) &, extractMapDomain[m]]; + Map[# -> (# /. m) &, removeSymmetryCopies@extractMapDomain[m]]; abstractToExplicitMap[m_] := @@ -1181,8 +1181,11 @@ abstractToExplicitMap[m_] := domain = extractMapDomain[explicitMap1]; Map[# -> (# /. explicitMap1) &, domain]]; +removeSymmetryCopies[l_List] := + DeleteCases[l, Times[-1,_Symbol]|0]; + explicitVariableList[l_] := - RemoveDuplicates[Flatten[Map[MakeExplicit, l], 1]]; + removeSymmetryCopies@RemoveDuplicates[Flatten[Map[MakeExplicit, l], 1]]; (* -------------------------------------------------------------------------- Checking tensor expressions for consistency |