Mathematica 9 is now available
Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2003
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*November
*December
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2003

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

Search the Archive

Re: Functional differentiation on lattice

  • To: mathgroup at smc.vnet.net
  • Subject: [mg39777] Re: Functional differentiation on lattice
  • From: Jens-Peer Kuska <kuska at informatik.uni-leipzig.de>
  • Date: Fri, 7 Mar 2003 03:30:53 -0500 (EST)
  • Organization: Universitaet Leipzig
  • References: <b46uaf$92m$1@smc.vnet.net>
  • Reply-to: kuska at informatik.uni-leipzig.de
  • Sender: owner-wri-mathgroup at wolfram.com

Hi,

S[A_] := Sum[(A[x + 1] - A[x])^2, {x, -Infinity, Infinity}]

Unprotect[D];

D[Sum[b_, {x_, -Infinity, Infinity}], a[q_]] /; ! FreeQ[b, a] := 
  Module[{forms},
    forms = Cases[b, a[_], Infinity] /. a[r_] :> r;
    forms = Solve[q == #, x][[1]] & /@ forms;
    Plus @@ (D[#, a[q]] & /@ (b /. forms))
    ]

Protect[D];

and

D[S[a], a[y]] // Simplify

gives

-2 (a[-1 + y] - 2 a[y] + a[1 + y])

Regards
  Jens


Norbert Nemec wrote:
> 
> Hi there,
> 
> I've just recently decided that the maths I have to do at the moment really
> demand the use of a CAS. I'm absolutely new to Mathematica, but the problem
> I have is probably a bit hard to get moving on. Perhaps someone can give me
> a simple solution to start out on?
> 
> What I need to do could probably be called a "Functional differentiation on
> a lattice". To give one very simply example:
> 
> I have the functional
> 
>         S[A] := sum_x (A(x+1)-A(x))^2
> 
> (where x is integer - in my case there are periodic boundaries, but that
> does not matter at that point)
> 
> now I want to calculate
> 
>         dS/dA(y)
> 
> which should result in
> 
>         - 2(A(y+1)-A(y)) + 2(A(y)-A(y-1))
> 
> or simplified
> 
>         -2A(y+1) + 4A(y) - 2A(y-1)
> 
> Lateron, the whole thing will get 4-dimensional and A will get indices that
> will be summed over as well.
> 
> Is there a simple way to do that in Mathematica? I would really appreciate a
> piece of code to get me started on.
> 
> Thanks,
> Nobbi


  • Prev by Date: RE: Tentative conclusion: Mathematica cannot output plain text
  • Next by Date: Re: Functional differentiation on lattice
  • Previous by thread: Functional differentiation on lattice
  • Next by thread: Re: Functional differentiation on lattice