aboutsummaryrefslogtreecommitdiff
path: root/Tools/CodeGen
diff options
context:
space:
mode:
authorIan Hinder <ian.hinder@aei.mpg.de>2012-08-11 18:57:48 +0200
committerIan Hinder <ian.hinder@aei.mpg.de>2012-08-11 18:57:48 +0200
commit4707e0c3f03cc52d82f88735e602c52cf74f0cbe (patch)
tree07bfb965ed5ccff245f09192dadd09d43cc69ad0 /Tools/CodeGen
parent479985d633085cc09dcd36b76e319fa772fe44fe (diff)
TensorTools.m: Remove components generated by symmetries of antisymmetric tensors
Diffstat (limited to 'Tools/CodeGen')
-rw-r--r--Tools/CodeGen/TensorTools.m7
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