Hi,
as to my understanding (and according to Issue #11), the Python version of Fuchsia can deal with systems that depend on a free variable, with the tacit assumption that the variable doesn't take values that lead to singularities.
I have a small example (3x3 matrix), where this works nicely and the epsilon form is found straightforwardly
{{(4 - 6*eps - 3*z + 2*eps*z)/(2*(-1 + z)*z), (-1 + 2*eps)/(2*(-1 + z)), 0},
{-(-1 + 2*eps)/(2*(-1 + z)), -(-2*eps + z + 2*eps*z)/(2*(-1 + z)*z), 0},
{-(((-1 + 2*eps)*z)/((-1 + z)*(1 + 2*c*z))),
-(((-1 + 2*eps)*(-2 + z))/((-1 + z)*(1 + 2*c*z))),
-((-eps - 2*c*z + 2*eps*z + 2*c*eps*z + 2*c*z^2)/
((-1 + z)*z*(1 + 2*c*z)))}}
However, with another similar matrix
{{-((-2 + 3*eps + z - 2*c*z + 4*c*eps*z)/((-1 + z)*z)),
((-1 + 2*eps)*(1 + 4*c + 4*c^2*z))/(2*(-1 + z)*z), 0},
{(-2*(-1 + 2*eps))/(-1 + z), (eps - z - 2*c*z + 4*c*eps*z)/((-1 + z)*z),
0}, {(-4*(-1 + 2*eps)*z)/((-1 + z)*(1 + 2*c*z)),
(2*(-1 + 2*eps))/(-1 + z),
-((-eps - 2*c*z + 2*eps*z + 2*c*eps*z + 2*c*z^2)/
((-1 + z)*z*(1 + 2*c*z)))}}
Fuchsia claims that it has found the canonical form, but the resulting matrix
{{-2*(2*c*eps-c-2)/(z-1)-eps/z,4*(2*c*eps-c-2)/z+1/2*((16*c^2-8*c+1)*eps^2+4*c^2-4*(4*c^2+7*c-2)*eps+16*c+16)/(eps*(z-1)),0},{-2*eps/(z-1),2*((2*c-1)*eps-c-2)/(z-1)+3*eps/z,0},{-4*eps/(c*(z-1)),2*((4*c-1)*eps-2*c-4)/(c*(z-1))+4*eps/(c*z),4*c*eps/(2*c*z+1)-eps/(z-1)-eps/z}}
is obviously not of the form eps*B. I wonder why that happens and if one can regard this as a bug: I wouldn't complain if Fuchsia would simply fail, but finishing successfully and returning something that is not correct, is somewhat odd.
If the free variable c is replaced by some prime number, Fuchsia will return the proper epsilon form, so that the matrix itself doesn't seem to be problematic.
Cheers,
Vladyslav
Hi,
as to my understanding (and according to Issue #11), the Python version of Fuchsia can deal with systems that depend on a free variable, with the tacit assumption that the variable doesn't take values that lead to singularities.
I have a small example (3x3 matrix), where this works nicely and the epsilon form is found straightforwardly
However, with another similar matrix
Fuchsia claims that it has found the canonical form, but the resulting matrix
is obviously not of the form
eps*B. I wonder why that happens and if one can regard this as a bug: I wouldn't complain if Fuchsia would simply fail, but finishing successfully and returning something that is not correct, is somewhat odd.If the free variable
cis replaced by some prime number, Fuchsia will return the proper epsilon form, so that the matrix itself doesn't seem to be problematic.Cheers,
Vladyslav