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
-~----------~----~----~----~------~----~------~--~---

Reply via email to