Andrew Luo
University of Waterloo
Taking
Hence,
Assume
Let
from sage_acsv import diagonal_asymptotics_combinatorial as diagonal
var('x,y,z')
F = (1 + x)*(2*z*x^2*y^2 + 2*z*y^2 - 1)/((-1 + y)*(z*x^2*y^2 + z*y^2 + z*x - 1)*(z*x^2*y^2 + z*y^2 - 1))
diagonal(F)
We say
Combinatorial functions have an "easy" test for minimality.
from sage_acsv import kronecker_representation
var('x,y,z')
sys = [x+y+z, x*y+y*z+x*z, x*y*z - 1]
kronecker_representation(sys, [x,y,z])
from sage_acsv import diagonal_asymptotics_combinatorial as diagonal, ACSVSettings as AS, kronecker_representation
AS.set_default_kronecker_backend(AS.Kronecker.MSOLVE)
var('x,y,z')
sys = [x+y+z, x*y+y*z+x*z, x*y*z - 1]
kronecker_representation(sys, [x,y,z])
When
Non-smooth along the from sage_acsv import whitney_stratification
R = PolynomialRing(QQ, ['x','y','z'])
x,y,z = R.gens()
IX = Ideal(y^2 + z^3 - x^2*z^2)
whitney_stratification(IX, R)
from sage_acsv.helpers import compute_newton_series
R = PolynomialRing(QQ, ['x','T'])
x, T = R.gens()
compute_newton_series(x*T^2 - T-x, [x, T], 7)
var('x y')
F = 1/(1 - x - y)
diagonal(F)
var('w x y z')
F = 1/(1 - w*(1 + x)*(1 + y)*(1 + z)*(x*y*z + y*z + y + z + 1))
diagonal(F)
var('x y')
F = 1/(1 - x/3 - 2*y/3)/(1 -2*x/3 - y/3)
diagonal(F)
var('x y')
F = x*y*(1 - x)^3/((1 - x)^4 - x*y*(1 - x - x^2 + x^3 + x^2*y))
diagonal(F, r=[2,1])
var('u x Y')
F = x*Y^2*(64*Y^12*u^3*x^11 + 96*Y^11*u^3*x^10 + 96*Y^10*u^3*x^9 + 56*Y^9*u^3*x^8 + 32*Y^9*u^2*x^8 + 24*Y^8*u^3*x^7 + 32*Y^8*u^2*x^7 + 6*Y^7*u^3*x^6 + 32*Y^7*u^2*x^7 + 24*Y^7*u^2*x^6 + Y^6*u^3*x^5 + 16*Y^6*u^2*x^6 + 8*Y^6*u^2*x^5 + 12*Y^6*u*x^5 + 8*Y^5*u^2*x^5 + 2*Y^5*u^2*x^4 + 6*Y^5*u*x^4 + 8*Y^4*u*x^4 + 3*Y^4*u*x^3 + 2*Y^3*x^2 - Y*u*x + 2*Y*x - 1)/(16*Y^9*u^2*x^8 + 16*Y^8*u^2*x^7 + 12*Y^7*u^2*x^6 + 4*Y^6*u^2*x^5 + 8*Y^6*u*x^5 + Y^5*u^2*x^4 + 4*Y^5*u*x^4 + 8*Y^4*u*x^4 + 2*Y^4*u*x^3 + Y^3*x^2 + 2*Y*x - 1)
diagonal(F, r=[5,1,4])