How do I calculate the von Neumann entropy of a pure one-qubit density matrix?

Let's say I have a pure state of the form: $$\psi = \sqrt{\frac{3}{9}} \lvert 0 \rangle + \sqrt{\frac{6}{9}} \lvert 1 \rangle$$

Then the density matrix representation would be: $$\rho = \psi \otimes \psi' = \begin{bmatrix}.3333&.4714\\4714&.6667\end{bmatrix}$$

Now, what would be the Von Neumann entropy of this matrix? I saw that the equation is:

$$S(\rho) = -\text{trace}(\rho \log \rho) = 1.3455.$$ But it's supposed to be 0, isn't it?

• Did you make sure to do log as a matrix not element-wise? If you did it with a program, it often assumes you mean element-wise. Commented Mar 18, 2019 at 2:45
• Thanks AHusain, that was the issue I see. Commented Mar 18, 2019 at 3:46

It turns out to be a novice mistake. I was using matlab and this log is elementwise, as @Ahusain pointed out. We must take the matrix logarithm in Matlab which is denoted by $$logm$$. Then the calculation becomes: $$-\text{trace}(\rho \log m (\rho)) = \text{NaN}.$$ The reason is, we have to define $$0 \times \log (0)$$ as $$0$$ instead of $$\text{NaN}$$ which is the default behavior of Matlab. Another way to calculate it is the following:
$$\rho = \sum_{j} \lambda_j \lvert \phi_j \rangle \langle \phi_j \lvert$$
Where, $$\lambda_j$$ are it's eigenvalues and $$\lvert \phi_j \rangle$$ are it's distinct eigenvectors. In which case, the von Neumann entropy is simply the shannon entropy of it's eigenvalues:
$$S(\rho) = H(\lambda_1, \lambda_2) = -0 \times \log(0) - 1 \times \log(1) = 0$$Using the above definition of $$\log(0) = 0$$.
• You may use \times for the $\times$ multiplication symbol rather than $*$. Alternatively, use a $.$ dot. Commented Mar 19, 2019 at 16:48