Hi all:
Related to http://trac.sagemath.org/sage_trac/ticket/6243, it appears
that using derivatives of callable symbolic functions as dictionary
keys is broken in Sage 4.2.1. See below. It works for functions of
one and two variables but not three.
Alex
----------------------------------------------------------------------
| Sage Version 4.2.1, Release Date: 2009-11-14 |
| Type notebook() for the GUI, and license() for information. |
----------------------------------------------------------------------
sage: X= var('x,y,z')
sage: f= function('f',*X); f
f(x, y, z)
sage: d= {}
sage: for l in [1..2]:
....: for s in UnorderedTuples(X,l):
....: print diff(f,s)
....: d[diff(f,s)]= 69
....:
D[0](f)(x, y, z)
D[1](f)(x, y, z)
D[2](f)(x, y, z)
D[0, 0](f)(x, y, z)
---------------------------------------------------------------------------
NotImplementedError Traceback (most recent call
last)
/Users/arai021/<ipython console> in <module>()
/Applications/sage/local/lib/python2.6/site-packages/sage/symbolic/
expression.so in sage.symbolic.expression.Expression.__nonzero__ (sage/
symbolic/expression.cpp:7801)()
/Applications/sage/local/lib/python2.6/site-packages/sage/symbolic/
expression.so in sage.symbolic.expression.Expression.test_relation
(sage/symbolic/expression.cpp:9177)()
/Applications/sage/local/lib/python2.6/site-packages/sage/rings/
complex_interval_field.py in __call__(self, x, im)
286
287 try:
--> 288 return x._complex_mpfi_( self )
289 except AttributeError:
290 pass
/Applications/sage/local/lib/python2.6/site-packages/sage/symbolic/
expression.so in sage.symbolic.expression.Expression._complex_mpfi_
(sage/symbolic/expression.cpp:5364)()
/Applications/sage/local/lib/python2.6/site-packages/sage/symbolic/
expression_conversions.py in __call__(self, ex)
212 div = self.get_fake_div(ex)
213 return self.arithmetic(div, div.operator())
--> 214 return self.arithmetic(ex, operator)
215 elif operator in relation_operators:
216 return self.relation(ex, operator)
/Applications/sage/local/lib/python2.6/site-packages/sage/symbolic/
expression_conversions.py in arithmetic(self, ex, operator)
1437 return base ** expt
1438 else:
-> 1439 return reduce(operator, map(self, operands))
1440
1441 def composition(self, ex, operator):
/Applications/sage/local/lib/python2.6/site-packages/sage/symbolic/
expression_conversions.py in __call__(self, ex)
212 div = self.get_fake_div(ex)
213 return self.arithmetic(div, div.operator())
--> 214 return self.arithmetic(ex, operator)
215 elif operator in relation_operators:
216 return self.relation(ex, operator)
/Applications/sage/local/lib/python2.6/site-packages/sage/symbolic/
expression_conversions.py in arithmetic(self, ex, operator)
1437 return base ** expt
1438 else:
-> 1439 return reduce(operator, map(self, operands))
1440
1441 def composition(self, ex, operator):
/Applications/sage/local/lib/python2.6/site-packages/sage/symbolic/
expression_conversions.py in __call__(self, ex)
216 return self.relation(ex, operator)
217 elif isinstance(operator, FDerivativeOperator):
--> 218 return self.derivative(ex, operator)
219 else:
220 return self.composition(ex, operator)
/Applications/sage/local/lib/python2.6/site-packages/sage/symbolic/
expression_conversions.py in derivative(self, ex, operator)
344 NotImplementedError: derivative
345 """
--> 346 raise NotImplementedError, "derivative"
347
348 def arithmetic(self, ex, operator):
NotImplementedError: derivative
sage:
--
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/sage-support
URL: http://www.sagemath.org