xi-Rank Reduction  (Generalization of Moser-Barkatou algorithm) 

MoserParam computes an equivalent system to that of the input matrix, which has the lowest possible rank of singularity in the parameter (epsilon or xi) and algebraic rank for the leading coefficient w.r.t. this parameter epsilon (or xi). The output is the equivalent system, the transformation, and computation time. Function call: MoserParam(Input matrix with the poles in epsilon (or xi) and possibly in x, the variable, the parameter, sigma, truncation in the variable (in case of power series entries), truncation in parameter) 

> A := `+`(`/`(`*`(Matrix(4, 4, [0, 0, 0, 0, `*`(`^`(x, 2)), 0, 0, 0, `+`(`-`(x)), 0, 0, 0, 0, 2, 0, 0])), `*`(`^`(epsilon, 3))), `/`(`*`(Matrix(4, 4, [1, `+`(`-`(`*`(`^`(x, 3)))), `+`(1, x), 0, 0, x, 0...
A := `+`(`/`(`*`(Matrix(4, 4, [0, 0, 0, 0, `*`(`^`(x, 2)), 0, 0, 0, `+`(`-`(x)), 0, 0, 0, 0, 2, 0, 0])), `*`(`^`(epsilon, 3))), `/`(`*`(Matrix(4, 4, [1, `+`(`-`(`*`(`^`(x, 3)))), `+`(1, x), 0, 0, x, 0...
 

 

Matrix(%id = 18446744078186322630)
Matrix(%id = 18446744078186281190), Matrix(%id = 18446744078186281550), .155 (1.1)
 

> A := Matrix(%id = 18446744078457781654); 1; M, T, t := MoserParam(A, x, epsilon, 0, 10, 10); 1
 

 

Matrix(%id = 18446744078174855166)
Matrix(%id = 18446744078163913294), Matrix(%id = 18446744078163913774), .193 (1.2)
 

> A := Matrix(%id = 18446744078457774198); -1; M, T, t := MoserParam(A, x, epsilon, 0, 10, 10); 1
A := Matrix(%id = 18446744078457774198); -1; M, T, t := MoserParam(A, x, epsilon, 0, 10, 10); 1
 

Matrix(%id = 18446744078163897270), Matrix(%id = 18446744078163891134), .224 (1.3)
 

> A := Matrix(%id = 18446744078457766246); 1; M, T, t := MoserParam(A, x, epsilon, 0, 10, 10); 1
 

 

Matrix(%id = 18446744078164731534)
Matrix(%id = 18446744078170607734), Matrix(%id = 18446744078170608454), .174 (1.4)
 

> AA := Matrix(%id = 18446744078386400662); 1; M, T, t := MoserParam(AA, x, epsilon, 0, 10, 10); 1
 

 

Matrix(%id = 18446744078168270118)
Matrix(%id = 18446744078168525270), Matrix(%id = 18446744078168525630), .117 (1.5)
 

> AA := Matrix(%id = 18446744078376819278); 1; M, T, t := MoserParam(AA, x, epsilon, 0, 10, 10); 1
 

 

Matrix(%id = 18446744078186321550)
Matrix(%id = 18446744078164732374), Matrix(%id = 18446744078164732614), 0.70e-1 (1.6)
 

> AA := Matrix(%id = 18446744078364075062); 1; M, T, t := MoserParam(AA, x, epsilon, 0, 10, 10); 1
 

 

Matrix(%id = 18446744078168490582)
Matrix(%id = 18446744078171335966), Matrix(%id = 18446744078171336206), 0.74e-1 (1.7)
 

> AA := Matrix(%id = 18446744078375556990); 1; M, T, t := MoserParam(AA, x, epsilon, 0, 10, 10); 1
 

 

Matrix(%id = 18446744078171361022)
Matrix(%id = 18446744078171640166), Matrix(%id = 18446744078171640406), 0.66e-1 (1.8)
 

> AA := Matrix(%id = 18446744078374377822); 1; M, T, t := MoserParam(AA, x, epsilon, 0, 10, 10); 1
 

 

Matrix(%id = 18446744078171174422)
Matrix(%id = 18446744078170632430), Matrix(%id = 18446744078170632790), 0.98e-1 (1.9)
 

> A := Matrix(%id = 18446744078379582878); 1; M, T, t := MoserParam(A, x, epsilon, 0, 10, 10); 1
 

 

Matrix(%id = 18446744078170550630)
Matrix(%id = 18446744078177347694), Matrix(%id = 18446744078177348414), .117 (1.10)
 

> A := Matrix(%id = 18446744078369108806); 1; M, T, t := MoserParam(A, x, epsilon, 0, 10, 10); 1
 

 

Matrix(%id = 18446744078188748542)
Matrix(%id = 18446744078174855406), Matrix(%id = 18446744078174856246), 0.91e-1
Matrix(%id = 18446744078174855406), Matrix(%id = 18446744078174856246), 0.91e-1
Matrix(%id = 18446744078174855406), Matrix(%id = 18446744078174856246), 0.91e-1
(1.11)
 

> A := Matrix(%id = 18446744078376359326); 1; M, T, t := MoserParam(A, x, epsilon, 0, 10, 10); 1
 

 

Matrix(%id = 18446744078164730574)
Matrix(%id = 18446744078168524670), Matrix(%id = 18446744078168525030), 0.52e-1 (1.12)
 

> A := Matrix(%id = 18446744078362751454); 1; M, T, t := MoserParam(A, x, xi, -2, 10, 10); 1
 

 

Matrix(%id = 18446744078160281958)
Matrix(%id = 18446744078175143686), Matrix(%id = 18446744078175145486), 0.57e-1 (1.13)
 

>