Factor system
Split the amplitude into different components by the factor of each sum rules.
A = a1 ( B x C x D) + a2 (E x F)
B = b1 B1 + b2 B2
is a tree structure
A -> [(a1, [(b1, B1), (b2, B2)], C, D), (a2, E, F)]
Each component is a path for root to a leaf.
(a1, b1),  (a1, b2),  (a2,)
This pull request will implement the function for creating the combination and calculating each part of amplitude.