cusps

133 days ago by gbhytr

E = SFAElementary(QQ) F = SFAPower(QQ) la = [] 
       
 
       
E(F([4])) 
       
e[1, 1, 1, 1] - 4*e[2, 1, 1] + 2*e[2, 2] + 4*e[3, 1] - 4*e[4]
e[1, 1, 1, 1] - 4*e[2, 1, 1] + 2*e[2, 2] + 4*e[3, 1] - 4*e[4]
n=6 # this is the number of lambda classes to compute lb = n*[0] 
       
L = ['la%s'%p for p in range(1,n+1)] + ['d%s'%p for p in range(1,n)] L 
       
['la1', 'la2', 'la3', 'la4', 'la5', 'la6', 'd1', 'd2', 'd3', 'd4', 'd5']
['la1', 'la2', 'la3', 'la4', 'la5', 'la6', 'd1', 'd2', 'd3', 'd4', 'd5']
A = PolynomialRing(QQ, L) C = PowerSeriesRing(A,'t') 
       
la = A.gens()[0:n] # la[i-1] = the usual lambda_i classe (non-cuspidal) d = A.gens()[n:2*n-1] # delta 
       
lb[0] = la[0] + d[0] 
       
lb[1] = 1/2*(lb[0]^2 - la[0]^2 + 2*la[1] + d[1]) lb[1] 
       
la1*d1 + 1/2*d1^2 + la2 + 1/2*d2
la1*d1 + 1/2*d1^2 + la2 + 1/2*d2
lb[2] = 1/3*(-lb[0]^3 + 3*lb[0]*lb[1] + la[0]^3 - 3*la[0]*la[1] + 3*la[2] + d[2]) lb[2] 
       
1/2*la1*d1^2 + 1/6*d1^3 + la2*d1 + 1/2*la1*d2 + 1/2*d1*d2 + la3 + 1/3*d3
1/2*la1*d1^2 + 1/6*d1^3 + la2*d1 + 1/2*la1*d2 + 1/2*d1*d2 + la3 + 1/3*d3
lb[3] = 1/4*(lb[0]^4 - 4 *lb[0]^2*lb[1] + 2*lb[1]^2 + 4*lb[0]*lb[2] - (la[0]^4 - 4*la[0]^2*la[1] + 2*la[1]^2 + 4*la[0]*la[2] - 4*la[3] - d[3])); lb[3] 
       
1/6*la1*d1^3 + 1/24*d1^4 + 1/2*la2*d1^2 + 1/2*la1*d1*d2 + 1/4*d1^2*d2 +
la3*d1 + 1/2*la2*d2 + 1/8*d2^2 + 1/3*la1*d3 + 1/3*d1*d3 + la4 + 1/4*d4
1/6*la1*d1^3 + 1/24*d1^4 + 1/2*la2*d1^2 + 1/2*la1*d1*d2 + 1/4*d1^2*d2 + la3*d1 + 1/2*la2*d2 + 1/8*d2^2 + 1/3*la1*d3 + 1/3*d1*d3 + la4 + 1/4*d4
t = C.gens()[0] # to keep track of degree todd = (1 - (-t).exp(n+1))/t 
       
a = todd.truncate(n) u = a.parent().gens()[0] a.parent() 
       
Univariate Polynomial Ring in t over Multivariate Polynomial Ring in
la1, la2, la3, la4, la5, la6, Dps1, Dps2, Dps3, Dps4, Dps5, D, Dla over
Rational Field
Univariate Polynomial Ring in t over Multivariate Polynomial Ring in la1, la2, la3, la4, la5, la6, Dps1, Dps2, Dps3, Dps4, Dps5, D, Dla over Rational Field
a.substitute({u: 
       
Traceback (click to the left of this block for traceback)
...
TypeError: keys do not match self's parent
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "_sage_input_71.py", line 10, in <module>
    exec compile(u'open("___code___.py","w").write("# -*- coding: utf-8 -*-\\n" + _support_.preparse_worksheet_cell(base64.b64decode("YS5zdWJzdGl0dXRlKHt0XjI6RHBzWzFdfSk="),globals())+"\\n"); execfile(os.path.abspath("___code___.py"))
  File "", line 1, in <module>
    
  File "/tmp/tmprCvRSG/___code___.py", line 3, in <module>
    exec compile(u'a.substitute({t**_sage_const_2 :Dps[_sage_const_1 ]})
  File "", line 1, in <module>
    
  File "polynomial_element.pyx", line 356, in sage.rings.polynomial.polynomial_element.Polynomial.subs (sage/rings/polynomial/polynomial_element.c:5610)
TypeError: keys do not match self's parent
b = a.subs(t=-u*Dps) 
       
Traceback (click to the left of this block for traceback)
...
TypeError:
'sage.rings.polynomial.polynomial_element.Polynomial_generic_dense'
object cannot be interpreted as an index
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "_sage_input_52.py", line 10, in <module>
    exec compile(u'open("___code___.py","w").write("# -*- coding: utf-8 -*-\\n" + _support_.preparse_worksheet_cell(base64.b64decode("YiA9IGEuc3Vicyh0PS11KkRwcyk="),globals())+"\\n"); execfile(os.path.abspath("___code___.py"))
  File "", line 1, in <module>
    
  File "/tmp/tmp4uxsbi/___code___.py", line 2, in <module>
    exec compile(u'b = a.subs(t=-u*Dps)
  File "", line 1, in <module>
    
  File "element.pyx", line 1467, in sage.structure.element.RingElement.__mul__ (sage/structure/element.c:12217)
  File "coerce.pyx", line 789, in sage.structure.coerce.CoercionModel_cache_maps.bin_op (sage/structure/coerce.c:7425)
TypeError: 'sage.rings.polynomial.polynomial_element.Polynomial_generic_dense' object cannot be interpreted as an index
diff = (t*((a.subs(t=-u*Dps))*(1 - t*Dla) - 1 + D)).polynomial() for k in range(1,n+1): z = (-1)^k / factorial(k) * E(F([k])) q = z.monomial_coefficients() r = z.restrict_parts(k-1).monomial_coefficients() chla = 0 for i in q.keys(): accum = 1 for j in i: accum *= la[j-1] chla += q[i] * accum chlb = 0 for i in r.keys(): accum = 1 for j in i: accum *= lb[j-1] chlb += r[i] * accum lb.append(1/q[Partition([k])] * (-chlb + chla - diff.coefficients()[k-1])) lb 
       
[D + la1, 1/2*D^2 + la1*D - Dla + 1/2*Dps + la2, 1/6*D^3 + 1/2*la1*D^2 -
D*Dla + 1/2*D*Dps - Dla*Dps + 1/3*Dps^2 + la2*D + (-la1)*Dla +
1/2*la1*Dps + la3, 1/24*D^4 + 1/6*la1*D^3 + (-1/2)*D^2*Dla + 1/4*D^2*Dps
- D*Dla*Dps + 1/3*D*Dps^2 - Dla*Dps^2 + 1/4*Dps^3 + 1/2*la2*D^2 +
(-la1)*D*Dla + 1/2*Dla^2 + 1/2*la1*D*Dps + (-la1 - 1/2)*Dla*Dps +
(1/3*la1 + 1/8)*Dps^2 + la3*D + (-la2)*Dla + 1/2*la2*Dps + la4,
1/120*D^5 + 1/24*la1*D^4 + (-1/6)*D^3*Dla + 1/12*D^3*Dps +
(-1/2)*D^2*Dla*Dps + 1/6*D^2*Dps^2 - D*Dla*Dps^2 + 1/4*D*Dps^3 -
Dla*Dps^3 + 1/5*Dps^4 + 1/6*la2*D^3 + (-1/2*la1)*D^2*Dla + 1/2*D*Dla^2 +
1/4*la1*D^2*Dps + (-la1 - 1/2)*D*Dla*Dps + Dla^2*Dps + (1/3*la1 +
1/8)*D*Dps^2 + (-la1 - 5/6)*Dla*Dps^2 + (1/4*la1 + 1/6)*Dps^3 +
1/2*la3*D^2 + (-la2)*D*Dla + 1/2*la1*Dla^2 + 1/2*la2*D*Dps + (-1/2*la1 -
la2)*Dla*Dps + (1/8*la1 + 1/3*la2)*Dps^2 + la4*D + (-la3)*Dla +
1/2*la3*Dps + la5, 1/720*D^6 + 1/120*la1*D^5 + (-1/24)*D^4*Dla +
1/48*D^4*Dps + (-1/6)*D^3*Dla*Dps + 1/18*D^3*Dps^2 +
(-1/2)*D^2*Dla*Dps^2 + 1/8*D^2*Dps^3 - D*Dla*Dps^3 + 1/5*D*Dps^4 -
Dla*Dps^4 + 1/6*Dps^5 + 1/24*la2*D^4 + (-1/6*la1)*D^3*Dla +
1/4*D^2*Dla^2 + 1/12*la1*D^3*Dps + (-1/2*la1 - 1/4)*D^2*Dla*Dps +
D*Dla^2*Dps + (1/6*la1 + 1/16)*D^2*Dps^2 + (-la1 - 5/6)*D*Dla*Dps^2 +
3/2*Dla^2*Dps^2 + (1/4*la1 + 1/6)*D*Dps^3 + (-la1 - 13/12)*Dla*Dps^3 +
(1/5*la1 + 13/72)*Dps^4 + 1/6*la3*D^3 + (-1/2*la2)*D^2*Dla +
1/2*la1*D*Dla^2 + (-1/6)*Dla^3 + 1/4*la2*D^2*Dps + (-1/2*la1 -
la2)*D*Dla*Dps + (la1 + 1/4)*Dla^2*Dps + (1/8*la1 + 1/3*la2)*D*Dps^2 +
(-5/6*la1 - la2 - 1/8)*Dla*Dps^2 + (1/6*la1 + 1/4*la2 + 1/48)*Dps^3 +
1/2*la4*D^2 + (-la3)*D*Dla + 1/2*la2*Dla^2 + 1/2*la3*D*Dps + (-1/2*la2 -
la3)*Dla*Dps + (1/8*la2 + 1/3*la3)*Dps^2 + la5*D + (-la4)*Dla +
1/2*la4*Dps + la6]
[D + la1, 1/2*D^2 + la1*D - Dla + 1/2*Dps + la2, 1/6*D^3 + 1/2*la1*D^2 - D*Dla + 1/2*D*Dps - Dla*Dps + 1/3*Dps^2 + la2*D + (-la1)*Dla + 1/2*la1*Dps + la3, 1/24*D^4 + 1/6*la1*D^3 + (-1/2)*D^2*Dla + 1/4*D^2*Dps - D*Dla*Dps + 1/3*D*Dps^2 - Dla*Dps^2 + 1/4*Dps^3 + 1/2*la2*D^2 + (-la1)*D*Dla + 1/2*Dla^2 + 1/2*la1*D*Dps + (-la1 - 1/2)*Dla*Dps + (1/3*la1 + 1/8)*Dps^2 + la3*D + (-la2)*Dla + 1/2*la2*Dps + la4, 1/120*D^5 + 1/24*la1*D^4 + (-1/6)*D^3*Dla + 1/12*D^3*Dps + (-1/2)*D^2*Dla*Dps + 1/6*D^2*Dps^2 - D*Dla*Dps^2 + 1/4*D*Dps^3 - Dla*Dps^3 + 1/5*Dps^4 + 1/6*la2*D^3 + (-1/2*la1)*D^2*Dla + 1/2*D*Dla^2 + 1/4*la1*D^2*Dps + (-la1 - 1/2)*D*Dla*Dps + Dla^2*Dps + (1/3*la1 + 1/8)*D*Dps^2 + (-la1 - 5/6)*Dla*Dps^2 + (1/4*la1 + 1/6)*Dps^3 + 1/2*la3*D^2 + (-la2)*D*Dla + 1/2*la1*Dla^2 + 1/2*la2*D*Dps + (-1/2*la1 - la2)*Dla*Dps + (1/8*la1 + 1/3*la2)*Dps^2 + la4*D + (-la3)*Dla + 1/2*la3*Dps + la5, 1/720*D^6 + 1/120*la1*D^5 + (-1/24)*D^4*Dla + 1/48*D^4*Dps + (-1/6)*D^3*Dla*Dps + 1/18*D^3*Dps^2 + (-1/2)*D^2*Dla*Dps^2 + 1/8*D^2*Dps^3 - D*Dla*Dps^3 + 1/5*D*Dps^4 - Dla*Dps^4 + 1/6*Dps^5 + 1/24*la2*D^4 + (-1/6*la1)*D^3*Dla + 1/4*D^2*Dla^2 + 1/12*la1*D^3*Dps + (-1/2*la1 - 1/4)*D^2*Dla*Dps + D*Dla^2*Dps + (1/6*la1 + 1/16)*D^2*Dps^2 + (-la1 - 5/6)*D*Dla*Dps^2 + 3/2*Dla^2*Dps^2 + (1/4*la1 + 1/6)*D*Dps^3 + (-la1 - 13/12)*Dla*Dps^3 + (1/5*la1 + 13/72)*Dps^4 + 1/6*la3*D^3 + (-1/2*la2)*D^2*Dla + 1/2*la1*D*Dla^2 + (-1/6)*Dla^3 + 1/4*la2*D^2*Dps + (-1/2*la1 - la2)*D*Dla*Dps + (la1 + 1/4)*Dla^2*Dps + (1/8*la1 + 1/3*la2)*D*Dps^2 + (-5/6*la1 - la2 - 1/8)*Dla*Dps^2 + (1/6*la1 + 1/4*la2 + 1/48)*Dps^3 + 1/2*la4*D^2 + (-la3)*D*Dla + 1/2*la2*Dla^2 + 1/2*la3*D*Dps + (-1/2*la2 - la3)*Dla*Dps + (1/8*la2 + 1/3*la3)*Dps^2 + la5*D + (-la4)*Dla + 1/2*la4*Dps + la6]
lb[0] # lb[n] = \tilde{\lambda}_{n+1} 
       
D + la1
D + la1
lb[1] 
       
1/2*D^2 + la1*D - Dla + 1/2*Dps + la2
1/2*D^2 + la1*D - Dla + 1/2*Dps + la2
lb[2] 
       
1/6*D^3 + 1/2*la1*D^2 - D*Dla + 1/2*D*Dps - Dla*Dps + 1/3*Dps^2 + la2*D
+ (-la1)*Dla + 1/2*la1*Dps + la3
1/6*D^3 + 1/2*la1*D^2 - D*Dla + 1/2*D*Dps - Dla*Dps + 1/3*Dps^2 + la2*D + (-la1)*Dla + 1/2*la1*Dps + la3
lb[3] 
       
1/24*D^4 + 1/6*la1*D^3 + (-1/2)*D^2*Dla + 1/4*D^2*Dps - D*Dla*Dps +
1/3*D*Dps^2 - Dla*Dps^2 + 1/4*Dps^3 + 1/2*la2*D^2 + (-la1)*D*Dla +
1/2*Dla^2 + 1/2*la1*D*Dps + (-la1 - 1/2)*Dla*Dps + (1/3*la1 + 1/8)*Dps^2
+ la3*D + (-la2)*Dla + 1/2*la2*Dps + la4
1/24*D^4 + 1/6*la1*D^3 + (-1/2)*D^2*Dla + 1/4*D^2*Dps - D*Dla*Dps + 1/3*D*Dps^2 - Dla*Dps^2 + 1/4*Dps^3 + 1/2*la2*D^2 + (-la1)*D*Dla + 1/2*Dla^2 + 1/2*la1*D*Dps + (-la1 - 1/2)*Dla*Dps + (1/3*la1 + 1/8)*Dps^2 + la3*D + (-la2)*Dla + 1/2*la2*Dps + la4
lb[4] 
       
1/120*D^5 + 1/24*la1*D^4 + (-1/6)*D^3*Dla + 1/12*D^3*Dps +
(-1/2)*D^2*Dla*Dps + 1/6*D^2*Dps^2 - D*Dla*Dps^2 + 1/4*D*Dps^3 -
Dla*Dps^3 + 1/5*Dps^4 + 1/6*la2*D^3 + (-1/2*la1)*D^2*Dla + 1/2*D*Dla^2 +
1/4*la1*D^2*Dps + (-la1 - 1/2)*D*Dla*Dps + Dla^2*Dps + (1/3*la1 +
1/8)*D*Dps^2 + (-la1 - 5/6)*Dla*Dps^2 + (1/4*la1 + 1/6)*Dps^3 +
1/2*la3*D^2 + (-la2)*D*Dla + 1/2*la1*Dla^2 + 1/2*la2*D*Dps + (-1/2*la1 -
la2)*Dla*Dps + (1/8*la1 + 1/3*la2)*Dps^2 + la4*D + (-la3)*Dla +
1/2*la3*Dps + la5
1/120*D^5 + 1/24*la1*D^4 + (-1/6)*D^3*Dla + 1/12*D^3*Dps + (-1/2)*D^2*Dla*Dps + 1/6*D^2*Dps^2 - D*Dla*Dps^2 + 1/4*D*Dps^3 - Dla*Dps^3 + 1/5*Dps^4 + 1/6*la2*D^3 + (-1/2*la1)*D^2*Dla + 1/2*D*Dla^2 + 1/4*la1*D^2*Dps + (-la1 - 1/2)*D*Dla*Dps + Dla^2*Dps + (1/3*la1 + 1/8)*D*Dps^2 + (-la1 - 5/6)*Dla*Dps^2 + (1/4*la1 + 1/6)*Dps^3 + 1/2*la3*D^2 + (-la2)*D*Dla + 1/2*la1*Dla^2 + 1/2*la2*D*Dps + (-1/2*la1 - la2)*Dla*Dps + (1/8*la1 + 1/3*la2)*Dps^2 + la4*D + (-la3)*Dla + 1/2*la3*Dps + la5
lb[5] 
       
1/720*D^6 + 1/120*la1*D^5 + (-1/24)*D^4*Dla + 1/48*D^4*Dps +
(-1/6)*D^3*Dla*Dps + 1/18*D^3*Dps^2 + (-1/2)*D^2*Dla*Dps^2 +
1/8*D^2*Dps^3 - D*Dla*Dps^3 + 1/5*D*Dps^4 - Dla*Dps^4 + 1/6*Dps^5 +
1/24*la2*D^4 + (-1/6*la1)*D^3*Dla + 1/4*D^2*Dla^2 + 1/12*la1*D^3*Dps +
(-1/2*la1 - 1/4)*D^2*Dla*Dps + D*Dla^2*Dps + (1/6*la1 + 1/16)*D^2*Dps^2
+ (-la1 - 5/6)*D*Dla*Dps^2 + 3/2*Dla^2*Dps^2 + (1/4*la1 + 1/6)*D*Dps^3 +
(-la1 - 13/12)*Dla*Dps^3 + (1/5*la1 + 13/72)*Dps^4 + 1/6*la3*D^3 +
(-1/2*la2)*D^2*Dla + 1/2*la1*D*Dla^2 + (-1/6)*Dla^3 + 1/4*la2*D^2*Dps +
(-1/2*la1 - la2)*D*Dla*Dps + (la1 + 1/4)*Dla^2*Dps + (1/8*la1 +
1/3*la2)*D*Dps^2 + (-5/6*la1 - la2 - 1/8)*Dla*Dps^2 + (1/6*la1 + 1/4*la2
+ 1/48)*Dps^3 + 1/2*la4*D^2 + (-la3)*D*Dla + 1/2*la2*Dla^2 +
1/2*la3*D*Dps + (-1/2*la2 - la3)*Dla*Dps + (1/8*la2 + 1/3*la3)*Dps^2 +
la5*D + (-la4)*Dla + 1/2*la4*Dps + la6
1/720*D^6 + 1/120*la1*D^5 + (-1/24)*D^4*Dla + 1/48*D^4*Dps + (-1/6)*D^3*Dla*Dps + 1/18*D^3*Dps^2 + (-1/2)*D^2*Dla*Dps^2 + 1/8*D^2*Dps^3 - D*Dla*Dps^3 + 1/5*D*Dps^4 - Dla*Dps^4 + 1/6*Dps^5 + 1/24*la2*D^4 + (-1/6*la1)*D^3*Dla + 1/4*D^2*Dla^2 + 1/12*la1*D^3*Dps + (-1/2*la1 - 1/4)*D^2*Dla*Dps + D*Dla^2*Dps + (1/6*la1 + 1/16)*D^2*Dps^2 + (-la1 - 5/6)*D*Dla*Dps^2 + 3/2*Dla^2*Dps^2 + (1/4*la1 + 1/6)*D*Dps^3 + (-la1 - 13/12)*Dla*Dps^3 + (1/5*la1 + 13/72)*Dps^4 + 1/6*la3*D^3 + (-1/2*la2)*D^2*Dla + 1/2*la1*D*Dla^2 + (-1/6)*Dla^3 + 1/4*la2*D^2*Dps + (-1/2*la1 - la2)*D*Dla*Dps + (la1 + 1/4)*Dla^2*Dps + (1/8*la1 + 1/3*la2)*D*Dps^2 + (-5/6*la1 - la2 - 1/8)*Dla*Dps^2 + (1/6*la1 + 1/4*la2 + 1/48)*Dps^3 + 1/2*la4*D^2 + (-la3)*D*Dla + 1/2*la2*Dla^2 + 1/2*la3*D*Dps + (-1/2*la2 - la3)*Dla*Dps + (1/8*la2 + 1/3*la3)*Dps^2 + la5*D + (-la4)*Dla + 1/2*la4*Dps + la6
['