Splitting Lemma
SplitSysParam2 splits (whenever possible) the input matrix in the parameter (epsilon or xi) to the order of truncation chosen. It returns the dimension of the first square block, the transformation matrix, the equivalent block-digonalised system, and computation time. SplitSysParam1 splits the first coefficient only.
Funcation call: SplitSysParam2(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(%id = 18446744078362752174)), `*`(`^`(epsilon, 2))); -1; r, T, B, tim := SplitSysParam2(A, z, epsilon, 0, 4, 3); -1; Rank_First_Block := r; 1; Transformation_Matrix := T; 1; Equiva...](images/ParamInt_examples_58.gif)
![A := `/`(`*`(Matrix(%id = 18446744078362752174)), `*`(`^`(epsilon, 2))); -1; r, T, B, tim := SplitSysParam2(A, z, epsilon, 0, 4, 3); -1; Rank_First_Block := r; 1; Transformation_Matrix := T; 1; Equiva...](images/ParamInt_examples_59.gif) |
> |
![A := `/`(`*`(Matrix(%id = 18446744078362752894)), `*`(`^`(epsilon, 2))); -1; r, T, B, tim := SplitSysParam2(A, z, epsilon, 0, 7, 7); -1; Rank_First_Block := r; 1; Transformation_Matrix := T; 1; Equiva...](images/ParamInt_examples_74.gif)
![A := `/`(`*`(Matrix(%id = 18446744078362752894)), `*`(`^`(epsilon, 2))); -1; r, T, B, tim := SplitSysParam2(A, z, epsilon, 0, 7, 7); -1; Rank_First_Block := r; 1; Transformation_Matrix := T; 1; Equiva...](images/ParamInt_examples_75.gif) |
> |
![A := `/`(`*`(Matrix(%id = 18446744078379047862)), `*`(`^`(xi, 2))); -1; r, T, B, tim := SplitSysParam2(A, z, xi, -3, 4, 3); -1; Rank_First_Block := r; 1; Transformation_Matrix := T; 1; Equivalent_syst...](images/ParamInt_examples_86.gif)
![A := `/`(`*`(Matrix(%id = 18446744078379047862)), `*`(`^`(xi, 2))); -1; r, T, B, tim := SplitSysParam2(A, z, xi, -3, 4, 3); -1; Rank_First_Block := r; 1; Transformation_Matrix := T; 1; Equivalent_syst...](images/ParamInt_examples_87.gif) |