diff options
-rw-r--r-- | Tools/CodeGen/Calculation.m | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/Tools/CodeGen/Calculation.m b/Tools/CodeGen/Calculation.m index 32ee20d..7d1b1b1 100644 --- a/Tools/CodeGen/Calculation.m +++ b/Tools/CodeGen/Calculation.m @@ -186,8 +186,13 @@ separateDerivativesInCalculation[calc_] := replaceSymmetric = pd_[var_,i_,j_] /; i > j :> pd[var,j,i]; derivs = DeleteDuplicates[GetDerivatives[calc] /. replaceSymmetric]; - sepDerivs = Map[List,Flatten[Map[Cases[derivs, #] &, sepPat],1]]; - + + sepDerivs = Flatten[Map[Cases[derivs, #] &, sepPat],1]; + + (* sepDerivs = GatherBy[sepDerivs, Function[d, d /. {pd_[var_, i_] -> pd[var,i], pd_[var_, i_, i_] -> pd[var,i]}]]; *) + + sepDerivs = Map[List, sepDerivs]; + derivCalc[derivs_List] := Module[ {calc1, currentGroups, localGroups, derivNames = Map[derivGFName,derivs]}, |