MathGroup Archive 2007

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Re: Derivative of function with indexed variables

  • To: mathgroup at smc.vnet.net
  • Subject: [mg84026] Re: [mg83988] Re: Derivative of function with indexed variables
  • From: DrMajorBob <drmajorbob at bigfoot.com>
  • Date: Fri, 7 Dec 2007 03:02:45 -0500 (EST)
  • References: <33430946.1196931596825.JavaMail.root@m35>
  • Reply-to: drmajorbob at bigfoot.com

D[expr, y[i]] is zero here for several reasons:

1) y[i] is no specific symbol, since i is undefined.
2) expr is no specific Sum, since n, y, and p are undefined. (Especially 
n.)
3) The i in y[i] doesn't have the same scope (isn't the same variable) as  
the i in expr.

The last is especially important.

0

This is fairly general, but not too general to "work":

Clear[num, den, expr]
n = 5;
num[i_] = Exp[-(y[i] - y[j])^2];
den[y_] = Sum[Exp[-(y[k] - y[h])^2], {h, k + 1, n}, {k, 1, n}];
expr[y_, p_] = Sum[p[i, j] Log[p[i, j] den[y]/num[i]], {j, 1, n}];
dExpr[i_] := D[expr[y, p], y[i]]
dExpr[3]

2 p[3, 1] (-y[1] + y[3]) + 2 p[3, 2] (-y[2] + y[3]) +
  2 p[3, 4] (y[3] - y[4]) + 2 p[3, 5] (y[3] - y[5])

Bobby

On Thu, 06 Dec 2007 01:44:18 -0600, Laurens van der Maaten  
<l.vandermaaten at micc.unimaas.nl> wrote:

> Here is the same in proper Mathematica-style:
>
> num = Exp[- (y[i] - y[j])^2]
> den = Sum[Sum[Exp[-(y[k] - y[h])^2], {h, k + 1, n}], {k, 1, n}]
> expr = Sum[p[i, j]Log[p[i, j]/(num / den)], {j, 1, n}]
> D[expr, y[i]]
>
> The resulting derivative is incorrect, because Mathematica does not seem  
> to notice that y[k] and y[h] are sometimes equal to y[i] (over which we  
> compute the derivative). Any ideas?
>
>



-- 

DrMajorBob at bigfoot.com


  • Prev by Date: Re: Vertical tick labels in BarChart
  • Next by Date: Re: Re: Re: Mathematica: Long divison for polynomials
  • Previous by thread: Re: Derivative of function with indexed variables
  • Next by thread: Real to String