Skip to content

Commit

Permalink
Handle indices in applying EWSB substitutions
Browse files Browse the repository at this point in the history
  • Loading branch information
Dylan Harries committed Jan 22, 2017
1 parent b15ba54 commit ece583e
Showing 1 changed file with 10 additions and 3 deletions.
13 changes: 10 additions & 3 deletions meta/EWSB.m
Expand Up @@ -90,9 +90,16 @@
And @@ (statement[parameter,#]& /@ equations);

ApplySubstitutionsToEqs[eqs_List, substitutions_List] :=
Module[{pars, parsWithoutHeads, uniqueRules, uniqueEqs, uniqueSubs, result},
pars = (#[[1]])& /@ substitutions;
parsWithoutHeads = Cases[pars, (Re | Im | SARAH`L | SARAH`B | SARAH`T | SARAH`Q)[p_] | p_ :> p];
Module[{pars, removeHeadsRules, parsWithoutHeads, uniqueRules, uniqueEqs, uniqueSubs, result},
pars = Parameters`FindAllParameters[(#[[1]])& /@ substitutions];
removeHeadsRules = { SARAH`L[p_][__] :> p, SARAH`L[p_] :> p,
SARAH`B[p_][__] :> p, SARAH`B[p_] :> p,
SARAH`T[p_][__] :> p, SARAH`T[p_] :> p,
SARAH`Q[p_][__] :> p, SARAH`Q[p_] :> p,
Re[p_[__]] :> p, Re[p_] :> p,
Im[p_[__]] :> p, Im[p_] :> p
};
parsWithoutHeads = DeleteDuplicates[pars /. removeHeadsRules];
uniqueRules = DeleteDuplicates @ Flatten[{
Rule[SARAH`L[#], CConversion`ToValidCSymbol[SARAH`L[#]]],
Rule[SARAH`B[#], CConversion`ToValidCSymbol[SARAH`B[#]]],
Expand Down

0 comments on commit ece583e

Please sign in to comment.