Loading [MathJax]/jax/output/HTML-CSS/jax.js
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

This is only a partial answer. Applying Cauchy's residue theorem gives the result you expected:

sage: t = var('t', domain='real'); assume(0<t); assume(t<1)
sage: (z0, z1) = var('z0, z1', domain='complex')
sage: f(t, z0, z1) = (z0*z1 - 1)*(z0 - z1)/((t*z0 - 1)*(t*z1 - 1)*(t - z0)*(t - z1)*z0)
sage: g0 = f.residue(z0==t) + f.residue(z0==0)
sage: g10 = g0.residue(z1==t)
sage: g10 = (g10 * (2*pi*I)^2). simplify_full()
sage: g10
-4*pi^2/(t^2 - 1)
click to hide/show revision 2
No.2 Revision

This is only a partial answer. Applying Cauchy's residue theorem gives (the opposite of) the result you expected:

sage: t = var('t', domain='real'); assume(0<t); assume(t<1)
sage: (z0, z1) = var('z0, z1', domain='complex')
sage: f(t, z0, z1) = (z0*z1 - 1)*(z0 - z1)/((t*z0 - 1)*(t*z1 - 1)*(t - z0)*(t - z1)*z0)
sage: fi = f/(z0*z1)
sage: g0 = f.residue(z0==t) fi.residue(z0==t) + f.residue(z0==0)
fi.residue(z0==0)
sage: g10 = g0.residue(z1==t)
g0.residue(z1==t) + g0.residue(z1==0)
sage: g10 = (g10 * (2*pi*I)^2). simplify_full()
(2*pi*I)^2).simplify_full()
sage: g10
-4*pi^2/(t^2 4*pi^2/(t^2 - 1)

do you think is wrong the sign?

click to hide/show revision 3
No.3 Revision

This is only a partial answer. Applying Cauchy's residue theorem gives (the opposite of) the result you expected:

sage: t = var('t', domain='real'); assume(0<t); assume(t<1)
sage: (z0, z1) = var('z0, z1', domain='complex')
sage: f(t, z0, z1) = (z0*z1 - 1)*(z0 - z1)/((t*z0 - 1)*(t*z1 - 1)*(t - z0)*(t - z1)*z0)
sage: fi = f/(z0*z1)
sage: g0 = fi.residue(z0==t) + fi.residue(z0==0)
sage: g10 = g0.residue(z1==t) + g0.residue(z1==0)
sage: g10 = (g10 * (2*pi*I)^2).simplify_full()
sage: g10
4*pi^2/(t^2 - 1)

do you think is wrong the sign?

click to hide/show revision 4
No.4 Revision

This is only a partial answer. Applying Cauchy's residue theorem gives the result you expected:expected (modulo a sign):

sage: t = var('t', domain='real'); assume(0<t); assume(t<1)
sage: (z0, z1) = var('z0, z1', domain='complex')
sage: f(t, z0, z1) = (z0*z1 - 1)*(z0 - z1)/((t*z0 - 1)*(t*z1 - 1)*(t - z0)*(t - z1)*z0)
sage: fi = f/(z0*z1)
sage: g0 = fi.residue(z0==t) + fi.residue(z0==0)
sage: g10 = g0.residue(z1==t) + g0.residue(z1==0)
sage: g10 = (g10 * (2*pi*I)^2).simplify_full()
sage: g10
4*pi^2/(t^2 - 1)

do you i think is wrong the sign?

the sign is the good one, because the change of variables is rather dzjizj for j=0,1, isn't it?

moreover, for the integrals in θ i'm getting 4π2/t2. this is clearly contradictory with the result above and also with the symbolic integrals but evaluated at t=0:

sage: (theta0, theta1) = var('theta0, theta1', domain='real')
sage: g = -f.subs({t:0, z0: exp(I*theta0), z1: exp(I*theta1)})
sage: g.integrate(theta0, 0, 2*pi).integrate(theta1, 0, 2*pi).simplify_full()
-4*pi^2

for this, i would suspect some bug is going on with the trigonometric integrals, although i cannot confirm the issue.. maybe try with other interfaces? (algorithm keyword).

click to hide/show revision 5
No.5 Revision

Applying Cauchy's residue theorem gives the result you expected (modulo a sign):

sage: t = var('t', domain='real'); assume(0<t); assume(t<1)
sage: (z0, z1) = var('z0, z1', domain='complex')
sage: f(t, z0, z1) = (z0*z1 - 1)*(z0 - z1)/((t*z0 - 1)*(t*z1 - 1)*(t - z0)*(t - z1)*z0)
sage: fi = f/(z0*z1)
sage: g0 = fi.residue(z0==t) + fi.residue(z0==0)
sage: g10 = g0.residue(z1==t) + g0.residue(z1==0)
sage: g10 = (g10 * (2*pi*I)^2).simplify_full()
sage: g10
4*pi^2/(t^2 - 1)

i think the sign is the good one, because the change of variables is rather dzjizj for j=0,1, isn't it?

moreover, for the integrals in θ i'm getting 4π2/t2. 4π2/t2, irrespective of the order of integration. but this is clearly contradictory with the result above and also with the symbolic integrals but evaluated at t=0:

sage: (theta0, theta1) = var('theta0, theta1', domain='real')
sage: g = -f.subs({t:0, z0: exp(I*theta0), z1: exp(I*theta1)})
sage: g.integrate(theta0, 0, 2*pi).integrate(theta1, 0, 2*pi).simplify_full()
-4*pi^2

for this, i would suspect some bug is going on with the trigonometric integrals, although i cannot confirm the issue.. maybe try with other interfaces? (algorithm keyword).

click to hide/show revision 6
No.6 Revision

Applying Cauchy's residue theorem gives the result you expected (modulo a sign):

sage: t = var('t', domain='real'); assume(0<t); assume(t<1)
sage: (z0, z1) = var('z0, z1', domain='complex')
sage: f(t, z0, z1) = (z0*z1 - 1)*(z0 - z1)/((t*z0 - 1)*(t*z1 - 1)*(t - z0)*(t - z1)*z0)
sage: fi = f/(z0*z1)
sage: g0 = fi.residue(z0==t) + fi.residue(z0==0)
sage: g10 = g0.residue(z1==t) + g0.residue(z1==0)
sage: g10 = (g10 * (2*pi*I)^2).simplify_full()
sage: g10
4*pi^2/(t^2 - 1)

i think the sign is the good one, because the change of variables is rather dzjizj for j=0,1, isn't it?

moreover, for the integrals in θ i'm getting 4π2/t2, irrespective of the order of integration. but this is clearly contradictory with the result above and also with the symbolic integrals but evaluated pre-evaluated at t=0:

sage: (theta0, theta1) = var('theta0, theta1', domain='real')
sage: g = -f.subs({t:0, z0: exp(I*theta0), z1: exp(I*theta1)})
sage: g.integrate(theta0, 0, 2*pi).integrate(theta1, 0, 2*pi).simplify_full()
-4*pi^2

for this, i would suspect some bug is going on with the trigonometric integrals, although i cannot confirm the issue.. maybe try with other interfaces? (algorithm keyword).