2
$\begingroup$

I think this question is a bit low brow for the forum. I want to take a state vector $ \alpha |0\rangle + \beta |1\rangle $ to the two bloch angles. What's the best way? I tried to just factor out the phase from $\alpha$, but then ended up with a divide by zero when trying to compute $\phi$ from $\beta$.

$\endgroup$
  • 1
    $\begingroup$ This question should be migrated to physics.sx $\endgroup$ – Frédéric Grosshans May 4 '12 at 19:37
  • 2
    $\begingroup$ See en.wikipedia.org/wiki/Bloch_sphere $\endgroup$ – Piotr Migdal May 8 '12 at 7:05
  • 1
    $\begingroup$ You have asked 13 questions, cast 0 votes, and marked only one question as accepted. Consider marking more questions as correct and definitely start voting on answers to your own questions, as well as other questions and answers that you have not provided. There is little incentive for anyone to answer your questions as it stands. $\endgroup$ – qubyte May 10 '12 at 4:24
  • 2
    $\begingroup$ Sure, Ill do that more. I didnt understand that I could give back to people answering simply by upping their numbers. I like the community and will try to do better as a member $\endgroup$ – Ben Sprott May 17 '12 at 15:10
  • $\begingroup$ No problem. It can take a while to find your feet on SE. Sometimes we just need to make a little noise. ;) $\endgroup$ – qubyte May 18 '12 at 9:08
2
$\begingroup$

You are probably dividing by $\alpha$ at some point to eliminate a global phase, leading to your divide by zero in some cases. It would be better to get the phase angles of $\alpha$ and $\beta$ with $\arg$, and set the relative phase $\phi=\arg(\beta)-\arg(\alpha)$. Angle $\theta$ is now simply extracted as $\theta = 2\cos^{-1}(|\alpha|)$ (note that the absolute value of $\alpha$ is used). This is all assuming that you want to get to

$$|\psi\rangle = \cos(\theta/2)|0\rangle + \mathrm{e}^{i\phi}\sin(\theta/2)|1\rangle\,,$$

which neglects global phase.

$\endgroup$
  • 1
    $\begingroup$ Your previous questions suggest that you are using Matlab, which has the angle() function for calculating arg. In other languages that support complex types, arg (or something similar such as carg for C99 complex doubles) is more common. $\endgroup$ – qubyte May 10 '12 at 4:21
2
$\begingroup$

$\phi$ is the relative phase between $\alpha$ and $\beta$ (so the phase of $\alpha/\beta$). You will only get zero or divide-by-zero when $\alpha=0$ or $\beta=0$. But in that case, $\phi$ is arbitrary. And when $\alpha$ or $\beta$ are close to zero, you are near the poles of the Bloch sphere, and $\phi$ doesn't really matter that much.

$\endgroup$
0
$\begingroup$

To those who may be having a similar question: make sure you are normalizing the qubit before trying to find the Bloch angles.

Take for example the eigenvectors of the $X$ operator (Pauli matrix $\sigma^x$), in the $\{|0\rangle, |1\rangle\}$ basis:

$$ -|0\rangle + |1\rangle \\ |0\rangle + |1\rangle $$

If you try to use those coefficients directly, you will try for example $\cos \theta/2 = \pm 1$, which will lead to the inconsistent equation that the question mentions. But the right coefficients, after normalizing, should be:

$$ -\frac{ 1}{ \sqrt{2}}|0\rangle + \frac{ 1}{ \sqrt{2}}|1\rangle \\ \frac{ 1}{ \sqrt{2}}|0\rangle + \frac{ 1}{ \sqrt{2}}|1\rangle $$

These give you the correct positions in the Bloch sphere: $(\pi/2,\pi),(\pi/2,0)$

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.