As follows, "topoA" and "topoB" are identical, and test0, test2, test3, test4 can correctly find the relation but test1 cannot.
<< FeynCalc`
topos = {FCTopology[
"topoA", {SFAD[{{q2, 0}, {0, 1}, 1}],
SFAD[{{q2 + p1, 0}, {1, 1}, 1}], SFAD[{{q1, 0}, {1/16, 1}, 1}],
SFAD[{{q1 + p1/4, 0}, {0, 1}, 1}],
SFAD[{{q2 - p1/4 + p2/2, 0}, {1/16, 1}, 1}],
SFAD[{{q1 + p1/4 - p2/4, 0}, {1/16, 1}, 1}]}, {q1, q2}, {p1,
p2}, {Hold[Pair][Momentum[p1, D], Momentum[p1, D]] -> 1,
Hold[Pair][Momentum[p2, D], Momentum[p1, D]] -> 13/10,
Hold[Pair][Momentum[p2, D], Momentum[p2, D]] -> 1}, {}]};
preferred = {FCTopology[
"topo1", {SFAD[{{q1, 0}, {1, 1}, 1}],
SFAD[{{q1 - p1, 0}, {0, 1}, 1}],
SFAD[{{q2 - p2/4, 0}, {0, 1}, 1}],
SFAD[{{q1 + q2 - p1, 0}, {1/16, 1}, 1}],
SFAD[{{q1 + q2 - p1 + p2/4, 0}, {0, 1}, 1}],
SFAD[{{q1 - (5 p1)/4 + p2/2, 0}, {1/16, 1}, 1}],
SFAD[{{q1 + q2 - (5 p1)/4 + p2/4, 0}, {1/16, 1}, 1}]}, {q1,
q2}, {p1,
p2}, {Hold[Pair][Momentum[p1, D], Momentum[p1, D]] -> 1,
Hold[Pair][Momentum[p2, D], Momentum[p1, D]] -> 13/10,
Hold[Pair][Momentum[p2, D], Momentum[p2, D]] -> 1}, {}],
FCTopology[
"topo2", {SFAD[{{q1, 0}, {1, 1}, 1}],
SFAD[{{q2, 0}, {1/16, 1}, 1}], SFAD[{{q1 - p1, 0}, {0, 1}, 1}],
SFAD[{{q2 - p2/4, 0}, {0, 1}, 1}],
SFAD[{{q1 + q2 - p1, 0}, {1/16, 1}, 1}],
SFAD[{{q1 - (5 p1)/4 + p2/2, 0}, {1/16, 1}, 1}],
SFAD[{{q2 + p1/4 - p2/4, 0}, {1/16, 1}, 1}]}, {q1, q2}, {p1,
p2}, {Hold[Pair][Momentum[p1, D], Momentum[p1, D]] -> 1,
Hold[Pair][Momentum[p2, D], Momentum[p1, D]] -> 13/10,
Hold[Pair][Momentum[p2, D], Momentum[p2, D]] -> 1}, {}],
FCTopology[
"topoB", {SFAD[{{q2, 0}, {0, 1}, 1}],
SFAD[{{q2 + p1, 0}, {1, 1}, 1}], SFAD[{{q1, 0}, {1/16, 1}, 1}],
SFAD[{{q1 + p1/4, 0}, {0, 1}, 1}],
SFAD[{{q2 - p1/4 + p2/2, 0}, {1/16, 1}, 1}],
SFAD[{{q1 + p1/4 - p2/4, 0}, {1/16, 1}, 1}]}, {q1, q2}, {p1,
p2}, {Hold[Pair][Momentum[p1, D], Momentum[p1, D]] -> 1,
Hold[Pair][Momentum[p2, D], Momentum[p1, D]] -> 13/10,
Hold[Pair][Momentum[p2, D], Momentum[p2, D]] -> 1}, {}]};
test0 = FCLoopFindTopologyMappings[topos,
PreferredTopologies ->
preferred[[{1, 2, 3}]], Momentum -> All]
test1 = FCLoopFindTopologyMappings[topos,
PreferredTopologies ->
FCLoopFindSubtopologies@preferred[[{1, 2, 3}]], Momentum -> All]
test2 = FCLoopFindTopologyMappings[topos,
PreferredTopologies ->
FCLoopFindSubtopologies@preferred[[{1,3}]], Momentum -> All]
test3 = FCLoopFindTopologyMappings[topos,
PreferredTopologies ->
FCLoopFindSubtopologies@preferred[[{2, 3}]],
Momentum -> All]
test4 = FCLoopFindTopologyMappings[topos,
PreferredTopologies ->
FCLoopFindSubtopologies@preferred[[{3}]], Momentum -> All]
During evaluation of In[1]:= FeynCalc 10.2.0 (dev version). For help, use the online documentation, visit the forum and have a look at the supplied examples. The PDF-version of the manual can be downloaded here.
During evaluation of In[1]:= If you use FeynCalc in your research, please evaluate FeynCalcHowToCite[] to learn how to cite this software.
During evaluation of In[1]:= Please keep in mind that the proper academic attribution of our work is crucial to ensure the future development of this package!
During evaluation of In[2]:= FCLoopFindTopologyMappings: Found 1 mapping relations
During evaluation of In[2]:= FCLoopFindTopologyMappings: Final number of independent topologies: 1
Out[4]= ({FCTopology(topoA,{1/,1/,1/,1/,1/,1/},{q1,q2},{p1,p2},{Hold[Pair][p1,p1]->1,Hold[Pair][p2,p1]->13/10,Hold[Pair][p2,p2]->1},{}),{q1->q1,q2->q2},G^(topoA)(n1_,n2_,n3_,n4_,n5_,n6_):>G^(topoB)(n1,n2,n3,n4,n5,n6)}
FCTopology(topoB,{1/,1/,1/,1/,1/,1/},{q1,q2},{p1,p2},{Hold[Pair][p1,p1]->1,Hold[Pair][p2,p1]->13/10,Hold[Pair][p2,p2]->1},{})
)
During evaluation of In[2]:= FCLoopFindTopologyMappings: Found 0 mapping relations
During evaluation of In[2]:= FCLoopFindTopologyMappings: Final number of independent topologies: 1
Out[5]= {{},{FCTopology(topoA,{1/,1/,1/,1/,1/,1/},{q1,q2},{p1,p2},{Hold[Pair][p1,p1]->1,Hold[Pair][p2,p1]->13/10,Hold[Pair][p2,p2]->1},{})}}
During evaluation of In[2]:= FCLoopFindTopologyMappings: Found 1 mapping relations
During evaluation of In[2]:= FCLoopFindTopologyMappings: Final number of independent topologies: 1
Out[6]= ({FCTopology(topoA,{1/,1/,1/,1/,1/,1/},{q1,q2},{p1,p2},{Hold[Pair][p1,p1]->1,Hold[Pair][p2,p1]->13/10,Hold[Pair][p2,p2]->1},{}),{q1->q1,q2->q2},G^(topoA)(n1_,n2_,n3_,n4_,n5_,n6_):>G^(topoB)(n1,n2,n3,n4,n5,n6)}
FCTopology(topoB,{1/,1/,1/,1/,1/,1/},{q1,q2},{p1,p2},{Hold[Pair][p1,p1]->1,Hold[Pair][p2,p1]->13/10,Hold[Pair][p2,p2]->1},{})
)
During evaluation of In[2]:= FCLoopFindTopologyMappings: Found 1 mapping relations
During evaluation of In[2]:= FCLoopFindTopologyMappings: Final number of independent topologies: 1
Out[7]= ({FCTopology(topoA,{1/,1/,1/,1/,1/,1/},{q1,q2},{p1,p2},{Hold[Pair][p1,p1]->1,Hold[Pair][p2,p1]->13/10,Hold[Pair][p2,p2]->1},{}),{q1->q1,q2->q2},G^(topoA)(n1_,n2_,n3_,n4_,n5_,n6_):>G^(topoB)(n1,n2,n3,n4,n5,n6)}
FCTopology(topoB,{1/,1/,1/,1/,1/,1/},{q1,q2},{p1,p2},{Hold[Pair][p1,p1]->1,Hold[Pair][p2,p1]->13/10,Hold[Pair][p2,p2]->1},{})
)
During evaluation of In[2]:= FCLoopFindTopologyMappings: Found 1 mapping relations
During evaluation of In[2]:= FCLoopFindTopologyMappings: Final number of independent topologies: 1
Out[8]= ({FCTopology(topoA,{1/,1/,1/,1/,1/,1/},{q1,q2},{p1,p2},{Hold[Pair][p1,p1]->1,Hold[Pair][p2,p1]->13/10,Hold[Pair][p2,p2]->1},{}),{q1->q1,q2->q2},G^(topoA)(n1_,n2_,n3_,n4_,n5_,n6_):>G^(topoB)(n1,n2,n3,n4,n5,n6)}
FCTopology(topoB,{1/,1/,1/,1/,1/,1/},{q1,q2},{p1,p2},{Hold[Pair][p1,p1]->1,Hold[Pair][p2,p1]->13/10,Hold[Pair][p2,p2]->1},{})
)
As follows, "topoA" and "topoB" are identical, and test0, test2, test3, test4 can correctly find the relation but test1 cannot.
<< FeynCalc`
topos = {FCTopology[
"topoA", {SFAD[{{q2, 0}, {0, 1}, 1}],
SFAD[{{q2 + p1, 0}, {1, 1}, 1}], SFAD[{{q1, 0}, {1/16, 1}, 1}],
SFAD[{{q1 + p1/4, 0}, {0, 1}, 1}],
SFAD[{{q2 - p1/4 + p2/2, 0}, {1/16, 1}, 1}],
SFAD[{{q1 + p1/4 - p2/4, 0}, {1/16, 1}, 1}]}, {q1, q2}, {p1,
p2}, {Hold[Pair][Momentum[p1, D], Momentum[p1, D]] -> 1,
Hold[Pair][Momentum[p2, D], Momentum[p1, D]] -> 13/10,
Hold[Pair][Momentum[p2, D], Momentum[p2, D]] -> 1}, {}]};
preferred = {FCTopology[
"topo1", {SFAD[{{q1, 0}, {1, 1}, 1}],
SFAD[{{q1 - p1, 0}, {0, 1}, 1}],
SFAD[{{q2 - p2/4, 0}, {0, 1}, 1}],
SFAD[{{q1 + q2 - p1, 0}, {1/16, 1}, 1}],
SFAD[{{q1 + q2 - p1 + p2/4, 0}, {0, 1}, 1}],
SFAD[{{q1 - (5 p1)/4 + p2/2, 0}, {1/16, 1}, 1}],
SFAD[{{q1 + q2 - (5 p1)/4 + p2/4, 0}, {1/16, 1}, 1}]}, {q1,
q2}, {p1,
p2}, {Hold[Pair][Momentum[p1, D], Momentum[p1, D]] -> 1,
Hold[Pair][Momentum[p2, D], Momentum[p1, D]] -> 13/10,
Hold[Pair][Momentum[p2, D], Momentum[p2, D]] -> 1}, {}],
FCTopology[
"topo2", {SFAD[{{q1, 0}, {1, 1}, 1}],
SFAD[{{q2, 0}, {1/16, 1}, 1}], SFAD[{{q1 - p1, 0}, {0, 1}, 1}],
SFAD[{{q2 - p2/4, 0}, {0, 1}, 1}],
SFAD[{{q1 + q2 - p1, 0}, {1/16, 1}, 1}],
SFAD[{{q1 - (5 p1)/4 + p2/2, 0}, {1/16, 1}, 1}],
SFAD[{{q2 + p1/4 - p2/4, 0}, {1/16, 1}, 1}]}, {q1, q2}, {p1,
p2}, {Hold[Pair][Momentum[p1, D], Momentum[p1, D]] -> 1,
Hold[Pair][Momentum[p2, D], Momentum[p1, D]] -> 13/10,
Hold[Pair][Momentum[p2, D], Momentum[p2, D]] -> 1}, {}],
FCTopology[
"topoB", {SFAD[{{q2, 0}, {0, 1}, 1}],
SFAD[{{q2 + p1, 0}, {1, 1}, 1}], SFAD[{{q1, 0}, {1/16, 1}, 1}],
SFAD[{{q1 + p1/4, 0}, {0, 1}, 1}],
SFAD[{{q2 - p1/4 + p2/2, 0}, {1/16, 1}, 1}],
SFAD[{{q1 + p1/4 - p2/4, 0}, {1/16, 1}, 1}]}, {q1, q2}, {p1,
p2}, {Hold[Pair][Momentum[p1, D], Momentum[p1, D]] -> 1,
Hold[Pair][Momentum[p2, D], Momentum[p1, D]] -> 13/10,
Hold[Pair][Momentum[p2, D], Momentum[p2, D]] -> 1}, {}]};
test0 = FCLoopFindTopologyMappings[topos,
PreferredTopologies ->
preferred[[{1, 2, 3}]], Momentum -> All]
test1 = FCLoopFindTopologyMappings[topos,
PreferredTopologies ->
FCLoopFindSubtopologies@preferred[[{1, 2, 3}]], Momentum -> All]
test2 = FCLoopFindTopologyMappings[topos,
PreferredTopologies ->
FCLoopFindSubtopologies@preferred[[{1,3}]], Momentum -> All]
test3 = FCLoopFindTopologyMappings[topos,
PreferredTopologies ->
FCLoopFindSubtopologies@preferred[[{2, 3}]],
Momentum -> All]
test4 = FCLoopFindTopologyMappings[topos,
PreferredTopologies ->
FCLoopFindSubtopologies@preferred[[{3}]], Momentum -> All]
During evaluation of In[1]:= FeynCalc 10.2.0 (dev version). For help, use the online documentation, visit the forum and have a look at the supplied examples. The PDF-version of the manual can be downloaded here.
During evaluation of In[1]:= If you use FeynCalc in your research, please evaluate FeynCalcHowToCite[] to learn how to cite this software.
During evaluation of In[1]:= Please keep in mind that the proper academic attribution of our work is crucial to ensure the future development of this package!
During evaluation of In[2]:= FCLoopFindTopologyMappings: Found 1 mapping relations
During evaluation of In[2]:= FCLoopFindTopologyMappings: Final number of independent topologies: 1
Out[4]= ({FCTopology(topoA,{1/,1/,1/,1/,1/,1/},{q1,q2},{p1,p2},{Hold[Pair][p1,p1]->1,Hold[Pair][p2,p1]->13/10,Hold[Pair][p2,p2]->1},{}),{q1->q1,q2->q2},G^(topoA)(n1_,n2_,n3_,n4_,n5_,n6_):>G^(topoB)(n1,n2,n3,n4,n5,n6)}
FCTopology(topoB,{1/,1/,1/,1/,1/,1/},{q1,q2},{p1,p2},{Hold[Pair][p1,p1]->1,Hold[Pair][p2,p1]->13/10,Hold[Pair][p2,p2]->1},{})
)
During evaluation of In[2]:= FCLoopFindTopologyMappings: Found 0 mapping relations
During evaluation of In[2]:= FCLoopFindTopologyMappings: Final number of independent topologies: 1
Out[5]= {{},{FCTopology(topoA,{1/,1/,1/,1/,1/,1/},{q1,q2},{p1,p2},{Hold[Pair][p1,p1]->1,Hold[Pair][p2,p1]->13/10,Hold[Pair][p2,p2]->1},{})}}
During evaluation of In[2]:= FCLoopFindTopologyMappings: Found 1 mapping relations
During evaluation of In[2]:= FCLoopFindTopologyMappings: Final number of independent topologies: 1
Out[6]= ({FCTopology(topoA,{1/,1/,1/,1/,1/,1/},{q1,q2},{p1,p2},{Hold[Pair][p1,p1]->1,Hold[Pair][p2,p1]->13/10,Hold[Pair][p2,p2]->1},{}),{q1->q1,q2->q2},G^(topoA)(n1_,n2_,n3_,n4_,n5_,n6_):>G^(topoB)(n1,n2,n3,n4,n5,n6)}
FCTopology(topoB,{1/,1/,1/,1/,1/,1/},{q1,q2},{p1,p2},{Hold[Pair][p1,p1]->1,Hold[Pair][p2,p1]->13/10,Hold[Pair][p2,p2]->1},{})
)
During evaluation of In[2]:= FCLoopFindTopologyMappings: Found 1 mapping relations
During evaluation of In[2]:= FCLoopFindTopologyMappings: Final number of independent topologies: 1
Out[7]= ({FCTopology(topoA,{1/,1/,1/,1/,1/,1/},{q1,q2},{p1,p2},{Hold[Pair][p1,p1]->1,Hold[Pair][p2,p1]->13/10,Hold[Pair][p2,p2]->1},{}),{q1->q1,q2->q2},G^(topoA)(n1_,n2_,n3_,n4_,n5_,n6_):>G^(topoB)(n1,n2,n3,n4,n5,n6)}
FCTopology(topoB,{1/,1/,1/,1/,1/,1/},{q1,q2},{p1,p2},{Hold[Pair][p1,p1]->1,Hold[Pair][p2,p1]->13/10,Hold[Pair][p2,p2]->1},{})
)
During evaluation of In[2]:= FCLoopFindTopologyMappings: Found 1 mapping relations
During evaluation of In[2]:= FCLoopFindTopologyMappings: Final number of independent topologies: 1
Out[8]= ({FCTopology(topoA,{1/,1/,1/,1/,1/,1/},{q1,q2},{p1,p2},{Hold[Pair][p1,p1]->1,Hold[Pair][p2,p1]->13/10,Hold[Pair][p2,p2]->1},{}),{q1->q1,q2->q2},G^(topoA)(n1_,n2_,n3_,n4_,n5_,n6_):>G^(topoB)(n1,n2,n3,n4,n5,n6)}
FCTopology(topoB,{1/,1/,1/,1/,1/,1/},{q1,q2},{p1,p2},{Hold[Pair][p1,p1]->1,Hold[Pair][p2,p1]->13/10,Hold[Pair][p2,p2]->1},{})
)