Home Online Manual
Back: printGraph
Forward: computeConstant
FastBack: divisors_lib
FastForward: finitediff_lib
Up: ellipticcovers_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

D.15.7.3 propagator

Procedure from library ellipticcovers.lib (see ellipticcovers_lib).

propagator(xy,d); xy list, d int
propagator(G,b); G graph, b list

xy is a list of two numbers x and y in a rational function field, d non-negative integer.
G is a Feynman graph, a is a list of integers of length equal to the number of edges of G.
We assume that the coefficient ring has one rational variable for each vertex of G.

number, the propagator associated to the input data.

If xy and d are specified, then the function returns x^2*y^2/(x^2-y^2)^2) for d=0, which is a associated to an edge with vertices x and y not passing above the base point. For d>0 it returns the sum of (j*x^(4*j)+j*y^(4*j))/(x*y)^(2*j) over all divisors j of d, which is associated to an edge with vertices x and y passing with multiplicity d above the base point.

Essentially the variables x and y stand for the position of the base points.

In the second way of using this function, G is a Feynman graph and b is a branch type over a fixed base point of a cover with source G and target an elliptic curve. It returns the product of propagator(list(v[i],w[i]),b[i]) over all edges i with multiplicity b[i] over the base point and vertices v[i] and w[i].

LIB "ellipticcovers.lib";
ring R=(0,x1,x2,x3,x4),(q1,q2,q3,q4,q5,q6),dp;
graph G = makeGraph(list(1,2,3,4),list(list(1,3),list(1,2),list(1,2),list(2,4),list(3,4),list(3,4)));
==> (x1^2*x2^2)/(x1^4-2*x1^2*x2^2+x2^4)
==> (2*x1^8+x1^6*x2^2+x1^2*x2^6+2*x2^8)/(x1^4*x2^4)
==> (x1^12*x3^2*x4^6+2*x1^8*x2^4*x3^2*x4^6+x1^8*x3^6*x4^6+x1^4*x2^8*x3^2*x4^6\