<< KinematicsGen.m

?Kinematics

inv = {p1^2 -> m^2, p2^2 -> m^2, p3^2 -> m^2, 
          p4^2 -> m^2};

choice = {s, t};

Kinematics[inv, choice]

inv = {p1^2 -> 0, p2^2 -> 0, p3^2 -> m^2, 
          p4^2 -> m^2};

choice = {s, t, u};

Kinematics[inv, choice]

inv = {p1^2 -> 0, p2^2 -> 0, p3^2 -> 0, 
          p4^2 -> 0};

choice = {s, u};

Kinematics[inv, choice]

(********************************************) 
 (* 5 point *)

a = {p1^2 -> 0, p2^2 -> 0, p3^2 -> 0, p4^2 -> 0, 
          p5^2 -> 0};

b = {s12, s23, s34, s45, s15};

Kinematics[a, b]

a = {p1^2 -> m1^2, p2^2 -> m1^2, p3^2 -> 0, 
          p4^2 -> m2^2, p5^2 -> m2^2};

b = {s12, s23, s34, s45, s15};

Kinematics[a, b]

(******************************************) 
 (* 6 point *)

choice = {s12, s23, s34, s45, s56, s16, s123, s234, 
          s345};

rul = {p1^2 -> m^2, p2^2 -> m^2, p3^2 -> m^2, 
          p4^2 -> m^2, p5^2 -> m^2, p6^2 -> m^2};

Kinematics[rul, choice]

choice = {s12, s23, s34, s45, s56, s16, s123, s234, 
          s345};

rul = {p1^2 -> 0, p2^2 -> 0, p3^2 -> 0, 
          p4^2 -> 0, p5^2 -> 0, p6^2 -> 0};

Kinematics[rul, choice]