On Aug 19, 2009, at 12:48 AM, Viny wrote: > > Hi ! > > phi, v, u, Cxy are functions of (x,y). I use the command sage_eval > (string, locals = { 'E':E, 'u':u, 'v':u, 'phi'=phi, ......}). string > it's the expression. It's the only way i found for chang it to > expression but it generate an error. Perhaps this come from the > function the eval of phi[x,y], v[x,y],
Ah, so this is a Mathematica string where a[x,y] is actually a function application. You might be able to get away with s.replace("[", "(").replace("]", ")") > > On 18 août, 11:02, Robert Bradshaw <rober...@math.washington.edu> > wrote: >> On Aug 17, 2009, at 3:45 AM, Viny wrote: >> >> >> >>> Hello! >> >>> Is it possible to have the equivalent sage expression of the >>> following >>> string, by using sage_eval() or another function without getting >>> this >>> error in while the transcription : >> >> There was talk a while back about x[1] giving a sub-scripted x, but I >> don't think anything concrete came of it (IIRC there were bigger >> symbolic changes going on at the time). What is phi, v, etc. in your >> context? >> >> >> >>> /lib/python2.6/site-packages/sage/misc/sage_eval.py", line 199, in >>> sage_eval return eval(source, sage.all.__dict__, locals) File >>> "<string>", line 1, in <module> TypeError: >>> 'sage.symbolic.expression.Expression' object is unsubscriptable >> >>> A part of the string is: >> >>> [(dx**4*dy**4*E**(2*phi[0, 0])*epsr**2* ((16*ni*(Cxy[0, 0] + (phi[0, >>> -1] - 2*phi[0, 0] + phi[0, 1])/dy**2 + (phi[-1, 0] - 2*phi[0, 0] + >>> phi[1, 0])/dx**2 + (ni*(-(E**phi[0, 0]*u[0, 0]) + v[0, 0]/E**phi >>> [0, >>> 0]))/epsr))/ (E**phi[0, 0]*epsr) + (8*(dx**2 + dy**2)* (dx**2* >>> ((-4 + >>> phi[0, -1] - phi[0, 1])*v[0, -1] + 8*v[0, 0] + (-4 - phi[0, -1] >>> + phi >>> [0, 1])*v[0, 1]) + dy**2*((-4 + phi[-1, 0] - phi[1, 0])*v[-1, 0] + >>> 8*v[0, 0] + (-4 - phi[-1, 0] + phi[1, 0])*v[1, 0])))/ >>> (dx**4*dy**4) + >>> ((-4 + phi[0, 0] - phi[0, 2])* (dx**2*((-4 + phi[0, 0] - phi[0, >>> 2])*v >>> [0, 0] + 8*v[0, 1] + (-4 - phi[0, 0] + phi[0, 2])*v[0, 2]) + >>> dy**2* >>> ((-4 + phi[-1, 1] - phi[1, 1])*v[-1, 1] + 8*v[0, 1] + (-4 - phi[-1, >>> 1] + phi[1, 1])*v[1, 1])))/(dx**2*dy**4) + ((-4 + phi[0, 0] - phi >>> [2, >>> 0])* (dx**2*((-4 + phi[1, -1] - phi[1, 1])*v[1, -1] + 8*v[1, 0] >>> + (-4 >>> - phi[1, -1] + phi[1, 1])*v[1, 1]) + dy**2*((-4 + phi[0, 0] - >>> phi[2, >>> 0])*v[0, 0] + 8*v[1, 0] + (-4 - phi[0, 0] + phi[2, 0])*v[2, 0])))/ >>> (dx**4*dy**2)))/ (2*dx**4*(-8*dy**2*E**phi[0, 0]*epsr*ni*(2 + >>> dy**2*Cxy[0, 0] + phi[0, -1] - 2*phi[0, 0] + phi[0, 1]) - >>> 16*dy**4*ni**2*v[0, 0] + E**(2*phi[0, 0])*epsr**2*((-4 + phi[0, >>> 0] - >>> phi[0, 2])*v[0, 0] + 4*v[0, 1] + (-phi[0, 0] + phi[0, 2])*v[0, >>> 2])) >>> + dx**2*dy**2*E**phi[0, 0]*epsr*(-16*dy**2*ni*(2 + phi[-1, 0] - >>> 2*phi >>> [0, 0] + phi[1, 0]) + E**phi[0, 0]*epsr*((-4 + phi[-1, 1] - phi[1, >>> 1])* v[-1, 1] + 8*v[0, 1] + (-4 + phi[1, -1] - phi[1, 1])*v[1, -1] + >>> 8*v[1, 0] - (8 + phi[-1, 1] + phi[1, -1] - 2*phi[1, 1])*v[1, 1])) + >>> 2*dy**4*E**(2*phi[0, 0])*epsr**2*((-4 + phi[0, 0] - phi[2, 0])*v >>> [0, 0] >>> + 4*v[1, 0] + (-phi[0, 0] + phi[2, 0])*v[2, 0])) - >>> (dx**4*dy**4*E** >>> (2*phi[0, 0])*epsr**2*(64*(dx**(-2) + dy**(-2))**2 + (16*ni**2)/ >>> (E** >>> (2*phi[0, 0])*epsr**2) + (4 - phi[0, 0] + phi[0, 2])**2/ dy**4 + >>> (4 - >>> phi[0, 0] + phi[2, 0])**2/dx**4)* (-(((ni**2*(16/dx**4 + 16/dy**4 >>> + (u >>> [0, 0] - u[0, 2])**2/dy**4 + (u[0, 0] - u[2, 0])**2/dx**4 + >>> (16*ni*(- >>> (E**phi[0, 0]*u[0, 0]) + v[0, 0]/E**phi[0, 0])*(Cxy[0, 0] + (phi[0, >>> -1] - 2*phi[0, 0] + phi[0, 1])/dy**2 + (phi[-1, 0] - 2*phi[0, 0] + >>> phi[1, 0])/dx** 2 + (ni*(-(E**phi[0, 0]*u[0, 0]) + v[0, 0]/E**phi >>> [0, >>> 0]))/ epsr))/epsr + 16*(2/dx**2 + 2/dy**2 + (E**phi[0, 0]*ni*u[0, 0] >>> + (ni*v[0, 0])/E**phi[0, 0])/epsr)**2 + (v[0, 0] - v[0, 2])**2/ >>> dy**4 + (v[0, 0] - v[2, 0])**2/dx**4))/(4*epsr**2) + ((2*dx**4* >>> (8*dy**2*E**phi[0, 0]*epsr*ni*(2 - phi[0, -1] + 2*phi[0, 0] - phi >>> [0, >>> 1]) + 8*dy**4*E**phi[0, 0]*ni*(-(epsr*Cxy[0, 0]) + 2* E**phi[0, 0] >>> *ni*u[0, 0]) + epsr**2*((4 + phi[0, 0] - phi[0, 2])* u[0, 0] - >>> 4*u[0, >>> 1] + (-phi[0, 0] + phi[0, 2])*u[0, 2])) + dx**2*dy**2*epsr* >>> (16*dy**2*E**phi[0, 0]*ni*(2 - phi[-1, 0] + 2* phi[0, 0] - phi >>> [1, 0]) >>> + epsr*((4 + phi[-1, 1] - phi[1, 1])* u[-1, 1] - 8*u[0, 1] + (4 >>> + phi >>> [1, -1] - phi[1, 1])* u[1, -1] - 8*u[1, 0] - (phi[-1, 1] + phi >>> [1, -1] >>> - 2*(4 + phi[1, 1]))*u[1, 1])) + 2*dy**4*epsr**2* ((4 + phi[0, 0] - >>> phi[2, 0])*u[0, 0] - 4*u[1, 0] + (-phi[0, 0] + phi[2, 0])*u[2, >>> 0]))* >>> (2*dx**4*(-8*dy**2*E**phi[0, 0]*epsr*ni*(2 + dy**2*Cxy[0, 0] + phi >>> [0, -1] - 2*phi[0, 0] + phi[0, 1]) - 16*dy**4*ni**2*v[0, 0] + >>> E** >>> (2*phi[0, 0])*epsr**2*((-4 + phi[0, 0] - phi[0, 2])*v[0, 0] + 4* >>> v[0, >>> 1] + (-phi[0, 0] + phi[0, 2])*v[0, 2])) + dx**2*dy**2*E**phi[0, 0] >>> *epsr*(-16*dy**2*ni*(2 + phi[-1, 0] - 2* phi[0, 0] + phi[1, 0]) + >>> E**phi[0, 0]*epsr* ((-4 + phi[-1, 1] - phi[1, 1])*v[-1, 1] + 8*v >>> [0, 1] >>> + (-4 + phi[1, -1] - phi[1, 1])*v[1, -1] + 8*v[1, 0] - (8 + phi >>> [-1, >>> 1] + phi[1, -1] - 2*phi[1, 1])*v[1, 1])) + 2*dy**4*E**(2*phi[0, >>> 0]) >>> *epsr**2*((-4 + phi[0, 0] - phi[2, 0])* v[0, 0] + 4*v[1, 0] + (- >>> phi[0, >>> 0] + phi[2, 0])*v[2, 0])))/ (64*dx**8*dy**8*E**(2*phi[0, 0]) >>> *epsr**4)) >>> * ((((-8*(dx**2 + dy**2)*(dx**2*((4 + phi[0, -1] - phi[0, 1])*u >>> [0, -1] >>> - 8*u[0, 0] + (4 - phi[0, -1] + phi[0, 1])*u[0, 1]) + dy**2*((4 + >>> phi[-1, 0] - phi[1, 0])*u[-1, 0] - 8*u[0, 0] + (4 - phi[-1, 0] + phi >>> [1, 0])*u[1, 0])))/(dx**4*dy**4) + ((4 + phi[0, 0] - phi[0, 2])* >>> (dx**2* >>> ((4 + phi[0, 0] - phi[0, 2])* u[0, 0] - 8*u[0, 1] + (4 - phi[0, 0] + >>> phi[0, 2])*u[0, 2]) + dy**2*((4 + phi[-1, 1] - phi[1, 1])*u[-1, >>> 1] - >>> 8*u[0, 1] + (4 - phi[-1, 1] + phi[1, 1])*u[1, 1])))/(dx**2*dy**4) >>> + ((4 + phi[0, 0] - phi[2, 0])*(dx**2*((4 + phi[1, -1] - phi[1, >>> 1])* >>> u[1, -1] - 8*u[1, 0] + (4 - phi[1, -1] + phi[1, 1])* u[1, 1]) + >>> dy**2* >>> ((4 + phi[0, 0] - phi[2, 0])*u[0, 0] - 8*u[1, 0] + (4 - phi[0, >>> 0] + >>> phi[2, 0])*u[2, 0])))/ (dx**4*dy**2) - (16*E**phi[0, 0]*ni*(Cxy >>> [0, 0] >>> + (phi[0, -1] - 2*phi[0, 0] + phi[0, 1])/dy**2 + (phi[-1, 0] - >>> 2*phi >>> [0, 0] + phi[1, 0])/dx**2 + (ni*(-(E**phi[0, 0]*u[0, 0]) + v[0, >>> 0]/ >>> E**phi[0, 0]))/epsr))/epsr)* (2*dx**4*(-8*dy**2*E**phi[0, 0] >>> *epsr*ni* >>> (2 + dy**2*Cxy[0, 0] + phi[0, -1] - 2*phi[0, 0] + phi[0, 1]) - >>> 16*dy**4*ni**2*v[0, 0] + E**(2*phi[0, 0])*epsr**2*((-4 + phi[0, >>> 0] - >>> phi[0, 2])*v[0, 0] + 4* v[0, 1] + (-phi[0, 0] + phi[0, 2])*v[0, >>> 2])) >>> + dx**2*dy**2*E**phi[0, 0]*epsr*(-16*dy**2*ni*(2 + phi[-1, 0] - 2* >>> phi[0, 0] + phi[1, 0]) + E**phi[0, 0]*epsr* ((-4 + phi[-1, 1] - >>> phi[1, >>> 1])*v[-1, 1] + 8*v[0, 1] + (-4 + phi[1, -1] - phi[1, 1])*v[1, -1] + >>> 8*v[1, 0] - (8 + phi[-1, 1] + phi[1, -1] - 2*phi[1, 1])*v[1, 1])) + >>> 2*dy**4*E**(2*phi[0, 0])*epsr**2*((-4 + phi[0, 0] - phi[2, 0])* v[0, >>> 0] + 4*v[1, 0] + (-phi[0, 0] + phi[2, 0])*v[2, 0])))/ >>> (64*dx**4*dy**4*E**(2*phi[0, 0])*epsr**2) - ((2*dx**4* >>> (8*dy**2*E**phi >>> [0, 0]*epsr*ni*(2 - phi[0, -1] + 2*phi[0, 0] - phi[0, 1]) + >>> 8*dy**4*E**phi[0, 0]*ni*(-(epsr*Cxy[0, 0]) + 2* E**phi[0, 0]*ni*u >>> [0, >>> 0]) + epsr**2*((4 + phi[0, 0] - phi[0, 2])* u[0, 0] - 4*u[0, 1] >>> + (- >>> phi[0, 0] + phi[0, 2])*u[0, 2])) + dx**2*dy**2*epsr* >>> (16*dy**2*E**phi >>> [0, 0]*ni*(2 - phi[-1, 0] + 2* phi[0, 0] - phi[1, 0]) + epsr*((4 + >>> phi >>> [-1, 1] - phi[1, 1])* u[-1, 1] - 8*u[0, 1] + (4 + phi[1, -1] - >>> phi[1, >>> 1])* u[1, -1] - 8*u[1, 0] - (phi[-1, 1] + phi[1, -1] - 2*(4 + >>> phi[1, >>> 1]))*u[1, 1])) + 2*dy**4*epsr**2* ((4 + phi[0, 0] - phi[2, 0])*u >>> [0, 0] >>> - 4*u[1, 0] + (-phi[0, 0] + phi[2, 0])*u[2, 0]))* ((16*ni*(Cxy >>> [0, 0] >>> + (phi[0, -1] - 2*phi[0, 0] + phi[0, 1])/dy**2 + (phi[-1, 0] - >>> 2*phi >>> [0, 0] + phi[1, 0])/dx**2 + (ni*(-(E**phi[0, 0]*u[0, 0]) + v[0, 0]/ >>> E**phi[0, 0]))/epsr))/ (E**phi[0, 0]*epsr) + (8*(dx**2 + dy**2)* >>> (dx**2*((-4 + phi[0, -1] - phi[0, 1])*v[0, -1] + 8*v[0, 0] + (-4 - >>> phi[0, -1] + phi[0, 1])*v[0, 1]) + dy**2*((-4 + phi[-1, 0] - phi[1, >>> 0])*v[-1, 0] + 8*v[0, 0] + (-4 - phi[-1, 0] + phi[1, 0])*v[1, >>> 0])))/ >>> (dx**4*dy**4) + ((-4 + phi[0, 0] - phi[0, 2])*(dx**2*((-4 + phi[0, >>> 0] - phi[0, 2])* v[0, 0] + 8*v[0, 1] + (-4 - phi[0, 0] + phi[0, >>> 2])* v >>> [0, 2]) + dy**2*((-4 + phi[-1, 1] - phi[1, 1])*v[-1, 1] + 8*v >>> [0, 1] >>> + (-4 - phi[-1, 1] + phi[1, 1])*v[1, 1])))/ (dx**2*dy**4) + ((-4 >>> + phi >>> [0, 0] - phi[2, 0])* (dx**2*((-4 + phi[1, -1] - phi[1, 1])*v[1, >>> -1] + >>> 8*v[1, 0] + (-4 - phi[1, -1] + phi[1, 1])*v[1, 1]) + dy**2*((-4 + >>> phi[0, 0] - phi[2, 0])*v[0, 0] + 8*v[1, 0] + (-4 - phi[0, 0] + phi >>> [2, 0])*v[2, 0])))/(dx**4*dy**2)))/ (64*dx**4*dy**4*epsr**2))) + >>> ((ni**2*(2*dx**4*(8*dy**2*E**phi[0, 0]*epsr*ni*(2 - phi[0, -1] + >>> 2*phi >>> [0, 0] - phi[0, 1]) + 8*dy**4*E**phi[0, 0]*ni* (-(epsr*Cxy[0, 0]) + >>> 2*E**phi[0, 0]*ni*u[0, 0]) + epsr**2*((4 + phi[0, 0] - phi[0, 2])*u >>> [0, 0] - 4*u[0, 1] + (-phi[0, 0] + phi[0, 2])*u[0, 2])) + >>> dx**2*dy**2*epsr* (16*dy**2*E**phi[0, 0]*ni*(2 - phi[-1, 0] + 2*phi >>> [0, 0] - phi[1, 0]) + epsr*((4 + phi[-1, 1] - phi[1, 1])*u[-1, 1] - >>> 8*u[0, 1] + (4 + phi[1, -1] - phi[1, 1])*u[1, -1] - 8*u[1, 0] - >>> (phi >>> [-1, 1] + phi[1, -1] - 2*(4 + phi[1, 1]))*u[1, 1])) + >>> 2*dy**4*epsr**2* >>> ((4 + phi[0, 0] - phi[2, 0])*u[0, 0] - 4*u[1, 0] + (-phi[0, 0] + >>> phi >>> [2, 0])*u[2, 0])))/(4*dx**4*dy**4*epsr**4) + ((64*(dx**(-2) + dy** >>> (-2))**2 + (16*E**(2*phi[0, 0])*ni**2)/epsr**2 + (4 + phi[0, 0] >>> - phi >>> [0, 2])**2/dy**4 + (4 + phi[0, 0] - phi[2, 0])**2/ dx**4)*(2*dx**4* >>> (-8*dy**2*E**phi[0, 0]*epsr*ni*(2 + dy**2*Cxy[0, 0] + phi[0, -1] - >>> 2*phi[0, 0] + phi[0, 1]) - 16*dy**4*ni**2*v[0, 0] + E**(2*phi[0, >>> 0]) >>> *epsr**2*((-4 + phi[0, 0] - phi[0, 2])*v[0, 0] + 4*v[0, 1] + (- >>> phi[0, >>> 0] + phi[0, 2])*v[0, 2])) + dx**2*dy**2*E**phi[0, 0]*epsr* >>> (-16*dy**2*ni*(2 + phi[-1, 0] - 2*phi[0, 0] + phi[1, 0]) + E**phi >>> [0, >>> 0]*epsr* ((-4 + phi[-1, 1] - phi[1, 1])*v[-1, 1] + 8*v[0, 1] + >>> (-4 + >>> phi[1, -1] - phi[1, 1])*v[1, -1] + 8*v[1, 0] - (8 + phi[-1, 1] + >>> phi >>> [1, -1] - 2*phi[1, 1])*v[1, 1])) + 2*dy**4*E**(2*phi[0, 0]) >>> *epsr**2* >>> ((-4 + phi[0, 0] - phi[2, 0])* v[0, 0] + 4*v[1, 0] + (-phi[0, 0] + >>> phi >>> [2, 0])*v[2, 0])))/ (64*dx**4*dy**4*E**(2*phi[0, 0])*epsr**2))* (- >>> ((16/dx**4 + 16/dy**4 + (u[0, 0] - u[0, 2])**2/dy**4 + (u[0, 0] >>> - u >>> [2, 0])**2/dx**4 + (16*ni*(-(E**phi[0, 0]*u[0, 0]) + v[0, 0]/E**phi >>> [0, 0])*(Cxy[0, 0] + (phi[0, -1] - 2*phi[0, 0] + phi[0, 1])/ >>> dy**2 + >>> (phi[-1, 0] - 2*phi[0, 0] + phi[1, 0])/dx** 2 + (ni*(-(E**phi[0, >>> 0]*u >>> [0, 0]) + v[0, 0]/E**phi[0, 0]))/ epsr))/epsr + 16*(2/dx**2 + 2/ >>> dy**2 >>> + (E**phi[0, 0]*ni*u[0, 0] >> >> ... >> >> plus de détails » > > --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URLs: http://www.sagemath.org -~----------~----~----~----~------~----~------~--~---