Motivation in this ask.sagemath.org question 
<https://ask.sagemath.org/question/79446/limit-with-variables-from-array/>.
sage: X=var("x", n=3) sage: F=sum(X) ; F x0 + x1 + x2 sage: F.limit(x0=3) 
x1 + x2 + 3 

So far, so good. But
sage: F.limit(X[0]=3) Cell In[9], line 1 F.limit(X[Integer(0)]=Integer(3)) 
^ SyntaxError: expression cannot contain assignment, perhaps you meant 
"=="? 

Indeed, the current limit function and method get their arguments (variable 
and value) by analysing a single named argument, whose name must be a 
literal. From limit?? :
def limit(ex, dir=None, taylor=False, algorithm='maxima', **argv): 

[ Docstring elided ]
if not isinstance(ex, Expression): ex = SR(ex) if len(argv) != 1: raise 
ValueError("call the limit function like this, e.g. limit(expr, x= 2).") 
else: k, = argv.keys() v = var(k) a = argv[k] 

[ Then proceeds to keyword management. ]

This call syntax :

   - must be kept for reverse compatibility’s sake, but 
   - must be extended to accept at minimum limit(variable, value, ...) 
   syntax. 

But we may take inspiration from the subs call syntax, which accepts more 
flexible calls ; for example, a “dictionary” argument may be useful to 
implement multi-variable limits.

Advice ?
​

-- 
You received this message because you are subscribed to the Google Groups 
"sage-support" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-support+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sage-support/e7eceb39-d435-4208-bec2-8c6022c5860an%40googlegroups.com.

Reply via email to