> |
![restart; -1; with(LinearAlgebra); -1; with(DETools); -1; with(PolynomialTools); -1; with(Algebraic); -1; libname; 1](images/AppSing_examples_1.gif) |
![/Library/Frameworks/Maple.framework/Versions/18/lib](images/AppSing_examples_2.gif) |
(1) |
> |
![libname :=](images/AppSing_examples_3.gif) |
![/Users/maddah/Documents/Implementations/AppSing/AppSing.lib](images/AppSing_examples_4.gif) |
(2) |
> |
![march('list',](images/AppSing_examples_5.gif) |
Desingp(Matrix,variable,p) tests and performs desingularization at an irreducible polynomial p
Desing(Matrix,variable) identifies, tests, and performs desingularization at all irreducible polynomials p
The output is the change of basis T, its inverse invT, the matrix B of the equivalent desingularized system, and the execution time t, respectively.
DesingpSteps(Matrix,variable,p) and DesingSteps(Matrix,variable) give the same output and print key intermediate steps as well
For more information, please refer to our paper entitled "Removing Apparent Singularities of Systems of Linear Differential Equations with Rational Function Coefficients" and/or the description of the package.
Example 1 (Example 1 in the paper)
> |
![A := Matrix(2, 2, [0, 1, `/`(`*`(`+`(`*`(4, `*`(`^`(z, 2))), `-`(2))), `*`(`+`(`*`(`^`(z, 2)), 2))), `+`(`-`(`/`(`*`(`+`(`*`(3, `*`(`^`(z, 2))), `-`(4))), `*`(z, `*`(`+`(`*`(`^`(z, 2)), 2))))))]); 1](images/AppSing_examples_6.gif) |
![Matrix(%id = 18446744078206083790)](images/AppSing_examples_7.gif) |
(1.1) |
Desingularization at p= z^2 +2
> |
![T, invT, B, t := Desingp(A, z, `+`(`*`(`^`(z, 2)), 2)); 1](images/AppSing_examples_8.gif) |
![The roots](images/AppSing_examples_9.gif) |
![Matrix(%id = 18446744078206076678), Matrix(%id = 18446744078206077398), Matrix(%id = 18446744078206078118), .112](images/AppSing_examples_10.gif) |
(1.1.1) |
Details of Desingularization at p= z^2 +2 ( intermediate steps)
> |
![T, invT, B, t := DesingpSteps(A, z, `+`(`*`(`^`(z, 2)), 2)); 1](images/AppSing_examples_11.gif) |
Desingularization at p= z
> |
![T, invT, B, t := Desingp(A, z, z); 1](images/AppSing_examples_16.gif) |
![The roots of](images/AppSing_examples_17.gif) |
![Matrix(%id = 18446744078186994854), Matrix(%id = 18446744078186995574), Matrix(%id = 18446744078186988118), .282](images/AppSing_examples_18.gif) |
(1.3.1) |
Details of Desingularization at p= z ( intermediate steps)
> |
![T, invT, B, t := DesingpSteps(A, z, z); 1](images/AppSing_examples_19.gif) |
Desingularization
> |
![T, invT, B, t := Desing(A, z); 1](images/AppSing_examples_24.gif) |
Details of Desingularization
> |
![T, invT, B, t := DesingSteps(A, z); 1](images/AppSing_examples_28.gif) |
Example 2: Shaoshi Chen, M. Jaroschek, M. Kauers, M. F.Singer, Desingularization Explains Order-Degree Curves for Ore Operators, Proceedings of the 38th International Symposium on Symbolic and Algebraic Computation, pp. 157-164, ACM, U.S.A. (2013))
> |
![A := Matrix(2, 2, [0, 1, `/`(`*`(`+`(`*`(2, `*`(`^`(x, 4))), `-`(`*`(`^`(x, 3))), `-`(`*`(35, `*`(`^`(x, 2)))), `*`(25, `*`(x)), 45)), `*`(`+`(x, 1), `*`(`+`(`*`(2, `*`(`^`(x, 3))), `-`(`*`(`^`(x, 2))...](images/AppSing_examples_33.gif) |
![Matrix(%id = 18446744078186979566)](images/AppSing_examples_34.gif) |
(2.1) |
Desingularization at p= 2*x^3 -x^2 -20*x +23
> |
![T, invT, B, t := Desingp(A, x, `+`(`*`(2, `*`(`^`(x, 3))), `-`(`*`(`^`(x, 2))), `-`(`*`(20, `*`(x))), 23)); 1](images/AppSing_examples_35.gif) |
Details of Desingularization at p= 2*x^3 -x^2 -20*x +23 (intermediate steps)
> |
![T, invT, B, t := DesingpSteps(A, x, `+`(`*`(2, `*`(`^`(x, 3))), `-`(`*`(`^`(x, 2))), `-`(`*`(20, `*`(x))), 23)); 1](images/AppSing_examples_39.gif) |
Example 3 (the introductory example in the paper)
> |
![A := Matrix(2, 2, [0, 1, `+`(`-`(`/`(`*`(2), `*`(z)))), `+`(1, `/`(`*`(2), `*`(z)))]); 1](images/AppSing_examples_46.gif) |
![Matrix(%id = 18446744078187590110)](images/AppSing_examples_47.gif) |
(3.1) |
Desingularization
> |
![T, invT, B, t := Desing(A, z); 1](images/AppSing_examples_48.gif) |
![The roots of](images/AppSing_examples_49.gif) |
![Matrix(%id = 18446744078198024542), Matrix(%id = 18446744078198025262), Matrix(%id = 18446744078198025982), .287](images/AppSing_examples_50.gif) |
(3.1.1) |
Example 4: Shaoshi Chen, M. Kauers, M. F. Singer, Desingularization of Ore Operators, Available at: arXiv:1408.5512v1, (2014))
> |
![A := Matrix(2, 2, [0, 1, `+`(`-`(`/`(`*`(`+`(x, `-`(2)), `*`(`+`(`*`(2, `*`(`^`(x, 2))), `-`(`*`(3, `*`(x))), 3))), `*`(`+`(x, `-`(1)), `*`(`+`(`*`(`^`(x, 2)), `-`(`*`(3, `*`(x))), 3), `*`(x)))))), `/...](images/AppSing_examples_51.gif) |
![Matrix(%id = 18446744078197889134)](images/AppSing_examples_52.gif) |
(4.1) |
Desingularization at p = x^2 - 3*x +3
> |
![T, invT, B, t := Desingp(A, x, `+`(`*`(`^`(x, 2)), `-`(`*`(3, `*`(x))), 3)); 1](images/AppSing_examples_53.gif) |
![The roots of](images/AppSing_examples_54.gif) |
![Matrix(%id = 18446744078206066430), Matrix(%id = 18446744078206058974), Matrix(%id = 18446744078206059814), .206](images/AppSing_examples_55.gif) |
(4.1.1) |
Desingularization
> |
![T, invT, B, t := Desing(A, x); 1](images/AppSing_examples_56.gif) |
Example 5: A. Bostan, S. Boukraa, S. Hassani, M. van Hoeij, J.-M. Maillard, J.-A. Weil, and N. Zenine, The Ising model: From Elliptic Curves to ModularForms and Calabi-Yau equations. J. Phys. A: Math. Theor., 44(4):045204, 44, (2011))
> |
![T, invT, B, t := Desingp(A, x, `+`(`*`(4352, `*`(`^`(x, 4))), `*`(3607, `*`(`^`(x, 3))), `-`(`*`(1678, `*`(`^`(x, 2)))), `*`(252, `*`(x)), `-`(8))); 1](images/AppSing_examples_70.gif) |
Example 6 (Another example from J.-A.Weil)
Desingularization at p(w) (of degree 37)