You might want to search the sage devel archives for an email from John Perry called "implicit_diff".
On Mon, Oct 19, 2009 at 10:35 PM, Alex Raichev <tortoise.s...@gmail.com> wrote: > > Hi all: > > I'm trying to differentiate implicitly and solve for the derivative > but get an error. Does anyone know what's wrong? > > Alex > > ---------------------------------------------------------------------- > | Sage Version 4.1.2, Release Date: 2009-10-13 | > | Type notebook() for the GUI, and license() for information. | > ---------------------------------------------------------------------- > > sage: var('x,y') > (x, y) > sage: H= function('H',x,y) > sage: h= function('h',x) > sage: e= diff(H.subs(y=h),x); e > D[0](h)(x)*D[1](H)(x, h(x)) + D[0](H)(x, h(x)) > sage: solve(e==0,diff(h,x)) > --------------------------------------------------------------------------- > IndexError Traceback (most recent call > last) > > /Users/arai021/<ipython console> in <module>() > > /Applications/sage/local/lib/python2.6/site-packages/sage/symbolic/ > relation.pyc in solve(f, *args, **kwds) > 489 """ > 490 try: > --> 491 return f.solve(*args,**kwds) > 492 except AttributeError: > 493 from sage.symbolic.ring import is_SymbolicVariable > > /Applications/sage/local/lib/python2.6/site-packages/sage/symbolic/ > expression.so in sage.symbolic.expression.Expression.solve (sage/ > symbolic/expression.cpp:22187)() > > /Applications/sage/local/lib/python2.6/site-packages/sage/symbolic/ > expression.so in sage.symbolic.expression.Expression._maxima_ (sage/ > symbolic/expression.cpp:3480)() > > /Applications/sage/local/lib/python2.6/site-packages/sage/structure/ > sage_object.so in sage.structure.sage_object.SageObject._interface_ > (sage/structure/sage_object.c:3409)() > > /Applications/sage/local/lib/python2.6/site-packages/sage/structure/ > sage_object.so in sage.structure.sage_object.SageObject._maxima_init_ > (sage/structure/sage_object.c:5090)() > > /Applications/sage/local/lib/python2.6/site-packages/sage/symbolic/ > expression.so in sage.symbolic.expression.Expression._interface_init_ > (sage/symbolic/expression.cpp:3609)() > > /Applications/sage/local/lib/python2.6/site-packages/sage/symbolic/ > expression_conversions.pyc in __call__(self, ex) > 214 return self.arithmetic(ex, operator) > 215 elif operator in relation_operators: > --> 216 return self.relation(ex, operator) > 217 elif isinstance(operator, FDerivativeOperator): > 218 return self.derivative(ex, operator) > > /Applications/sage/local/lib/python2.6/site-packages/sage/symbolic/ > expression_conversions.pyc in relation(self, ex, operator) > 449 'x < 3' > 450 """ > --> 451 return "%s %s %s"%(self(ex.lhs()), > self.relation_symbols[operator], > 452 self(ex.rhs())) > 453 > > /Applications/sage/local/lib/python2.6/site-packages/sage/symbolic/ > expression_conversions.pyc 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.pyc in arithmetic(self, ex, operator) > 495 '(x)+(2)' > 496 """ > --> 497 args = ["(%s)"%self(op) for op in ex.operands()] > 498 return arithmetic_operators[operator].join(args) > 499 > > /Applications/sage/local/lib/python2.6/site-packages/sage/symbolic/ > expression_conversions.pyc 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.pyc in arithmetic(self, ex, operator) > 495 '(x)+(2)' > 496 """ > --> 497 args = ["(%s)"%self(op) for op in ex.operands()] > 498 return arithmetic_operators[operator].join(args) > 499 > > /Applications/sage/local/lib/python2.6/site-packages/sage/symbolic/ > expression_conversions.pyc 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.pyc in derivative(self, ex, operator) > 479 f = operator.function() > 480 params = operator.parameter_set() > --> 481 params = ["%s, %s"%(args[i], params.count(i)) for i in > set(params)] > 482 > 483 return "diff('%s(%s), %s)"%(f.name(), > > IndexError: tuple index out of range > > > > --~--~---------~--~----~------------~-------~--~----~ 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 URL: http://www.sagemath.org -~----------~----~----~----~------~----~------~--~---