Re: von Neumann entropy
- To: mathgroup at smc.vnet.net
- Subject: [mg43141] Re: von Neumann entropy
- From: "Steve Luttrell" <luttrell at _removemefirst_westmal.demon.co.uk>
- Date: Thu, 14 Aug 2003 05:07:57 -0400 (EDT)
- References: <bhd9nn$rpk$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
You could Unprotect the Log function and then make appropriate definitions that would achieve the effect you want. However there is another way of computing the result you want which is much closer to the way that one would do this sort of calculation by hand (i.e. replace the zeros by some small quantity, and take the limit as the quantity goes to zero). Mathematica can correctly evaluate the following limit to give zero: Limit[x*Log[x], x -> 0] So rather than have zero entries in the rho matrix you could replace them by a symbol (Epsilon, say), and then take the limit Epsilon->0 at the end of the calculation. -- Steve Luttrell West Malvern, UK "Chad Junkermeier" <cej38 at email.byu.edu> wrote in message news:bhd9nn$rpk$1 at smc.vnet.net... > > Dear Mathgroup, > > I have been trying to use Mathematica to compute the von Neumann entropy > of a density matrix and have run into trouble with telling Mathematica > to use a particular definition in the calculation. > > The von Neumann entropy is defined as > > S = -Tr [ rho Ln (rho)], > > where rho is a square matrix. The problem is how to handle the case > when and element of the matrix rho is zero. I want to tell Mathematica > to assume that > > 0 * Ln(0) = 0 > > when it is computing the entropy. How do I tell it to make that > assumption? > > Thanks, > Chad >