Nuclear Numerical Range and Quantum Error Correction Codes for non-unitary noise models

We introduce a notion of nuclear numerical range defined as the set of expectation values of a given operator $A$ among normalized pure states, which belong to the nucleus of an auxiliary operator $Z$. This notion proves to be applicable to investigate models of quantum noise with block-diagonal structure of the corresponding Kraus operators. The problem of constructing a suitable quantum error correction code for this model can be restated as a geometric problem of finding intersection points of certain sets in the complex plane. This technique, worked out in the case of two-qubit systems, can be generalized for larger dimensions.


Introduction
Quantum information processing may potentially revolutionize classical computation based on ordinary bits. However, current constructions of universal quantum computer still cannot compete with classical computational machines. One of the main difficulties lies in the fact that systems on a quantum scale are extremely susceptible to any kind of external noise, as well as to erroneous action of quantum gates in a circuit. Therefore, to handle qubits effectively, there is a need for methods protecting quantum information against all possible disturbances. Two general approaches to this problem have been developed. The first one is based on the so-called decoherence-free subspaces and exploits particular states of the Hilbert space that are immune to certain errors -a readable review of this methods can be found in Refs. [1,2]. An alternative technique is based on quantum errorcorrecting codes (QECC), which are quantum counterparts of the classical error-correcting codes. Quantum error-correcting codes are constructs which protect quantum information against some specified errors. This method of error-correction has been extensively studied in the case of unitary noise operations -see Ref. [3] for a comprehensive introduction to this field. However, any real quantum operation can be only approximately unitary and thus one has to consider non-unitary noise operations. Here the progess is slower than in the unitary case, mainly because of the increased complexity of the problem. For instance, in the unitary case, any product of two Kraus operators is normal, so its numerical range is determined by the spectrum, which is not longer true in the general case. The need for a constructive method of finding quantum error correction codes for non-unitary noise models provides a motivation toward this work.
The main aim of this paper is to propose a method of finding quantum error correction codes for a class of non-unitary noise operators. The method, in the form that is presented here, can be effectively applied to noise models with short Kraus decomposition (consisting of two operators). The main advantage of this method is that it allows to solve an algebraic problem (often untractable with other approaches) using an elementary geometrical construction. The paper is organized as follows. In Sect. 2 we review some basic notions related to quantum error correction and specify the general form of a non-unitary quantum channel. In Sect. 3 we recall definitions of generalized numerical range, introduce the concept of nuclear numerical range and present some of its properties. In Sect. 4 we describe a geometric method of obtaining quantum error correction codes for block-diagonal Kraus operators. Precisely, using compression formalism based on the Knill-Laflamme conditions [4,5] and the notion of nuclear numerical range, we obtain projectors on the subspaces of the quantum error correction code. This is the main contribution of this work. In Sect. 5 we provide two examples of block-diagonal channels and obtain the corresponding quantum error correction codes using method described in Sect. 4. We conclude this paper with a summary of results obtained and discuss possible generalizations of the method to higher-dimensional problems.

Quantum Error Correction
In this section we recall the definition of Kraus operators and their role in description of noise in quantum systems. We invoke the Knill-Laflamme conditions [4] for an error correction code of a particular noise model. In the end of this section we present a block-diagonal model of quantum noise that will be explored further in this work.

Kraus representation of a quantum noise
Consider a quantum system ρ described in an n-dimensional Hilbert space H n . Assume that the system evolves according to some given error process (noise channel) represented by a superoperator Φ acting on H n . According to the Kraus Representation Theorem [6] any such superoperator can be written as the sum of m matrix operators A i ∈ M n (C), where M n (C) is the space of all complex-valued matrices of order n: where † denotes the adjoint operator. Matrices A i are called Kraus operators, and they satisfy the trace preserving condition: m i=1 A † i A i = I. In this paper we consider (unless otherwise stated) models of noise acting on twoqubit systems described by two Kraus operators. The dimension of matrices {A i } is thus n = 4 and there are m = 2 of them. To solve the quantum error correction problem for a map Φ, one has to look for subspaces H n C ⊂ H n , which satisfy Knill-Laflamme Conditions [4,5]. Error correcting code, labeled by |C , is itself a quantum state in subspace H n C of dimension n. We denote by {|ψ i } a particular basis of this subspace (correction code basis), so that H n C = span{|ψ i } and by P = n i |ψ i ψ i | the projection operator on |C . According to [4] the following conditions are sufficient to reconstruct information about the system ρ subjected to errors described by the set of m Kraus operators {A i }: where λ ij are called compression values of the error correcting code. The problem of determining the projectors P is related to an algebraic compression problem [7]. In our case the invariant subspace of code, H n C , is twodimensional, so P is a projector on a two-dimensional subspace (P = P 2 ). Denoting T ij ≡ A † i A j we can write: Determining quantum error-correction code for the error model described by the set of Kraus operators {A i } is equivalent to finding a subspace P 2 that satisfies the above set of equations.

Noise models with block-diagonal Kraus operators
The problem we adress in this paper involves finding correction subspace H n C , which amounts to determining projections P 2 from the last equation. The main difficulty lies in the fact that P 2 has to satisfy the Knill-Laflamme conditions (3) for all operators T ij simultaneously. In what follows we consider the Kraus operators with a block-diagonal structure. It will be convenient to introduce a short-hand notation: is fulfilled for T 12 , it is also fulfilled for the adjoint T † 12 = T 21 . Moreover, due to the normalization condition we can write T 22 = I − T 11 . Thus, we effectively look for simultaneous solutions of the compression problem for two operators T 11 and T 12 . There are several approaches of solving problems of this kind if matrices T ij are normal (see for example the eigenvector-pairing method introduced in [8]). Here we consider a broader range of models of non-unitary Kraus operators, for which matrices T ij need not be normal. Thus, the techinques developed in literature cannot be applied here in a straightforward manner. In Sect. 4 we will develop a new method for solving this type of problems.

Mathematical Tools
In this section we review the notion of higher order numerical range and introduce the concept of nuclear numerical range. We state several its properties that will be further explored to determine the correction code subspaces for models considered in Sect. 4 and 5.

Higher order numerical range
The algebraic form of equation (3) suggests that the problem can be approached using the so-called rank-k numerical range Λ k (T ) of matrix T , introduced in [8], Λ k (T ) = {λ ∈ C : P T P = λP for some P ∈ P k }, where P k is the set of all rank-k projections on space H n . Unit vectors which yield compression value λ = λ 0 are called generating vectors (or generators) of λ 0 . The two special cases (k = 1 and k = 2) are of particular interest in this paper. Notice that setting k = 1 yields the standard numerical range Λ 1 (T ), often denoted by W (T ) [9]: On the other hand, the case k = 2 gives the numerical range of rank two: Λ 2 (T ) = {λ ∈ C : P 2 T P 2 = λP 2 , P 2 = P † 2 and P 2 P 2 = P 2 }, Based on the definition of higher rank numerical range Λ k , one can derive the following properties [8] : (P1) For any a, b ∈ C, Λ k (aA + bI) = aΛ k (A) + b.
Having defined higher order numerical range, we are ready to introduce a new structure, the nuclear numerical range.

Nuclear numerical range
In this section we define a structure that will prove useful to determine error-correction subspaces.
By definition, the nuclear numerical range is a set in the complex plane contained in W (A), that is W (A|Z) ⊆ W (A) for all matrices Z. Note that the notion of nuclear numerical range W (A|Z) belongs to the class of restricted numerical ranges described in [10], since the set of states |ψ used in Definition 3.1 is restricted to the set containing the kernel (nucleus) of Z. The standard numerical range W (A) is convex, while the set formed by Z-nuclear numerical range is not convex in general. In this paper we mostly consider W (A|Z) for matrices of size n = 2. Let us now present some properties of nuclear numerical range.
Let X, Y be two non-zero matrices in M n (C) and U be some unitary matrix in M n (C). Then, the following properties follow directly from the definition of W (A|Z): (N2) W (A|X † X) = ∅ for any nonsingular X and all matrices A.
Moreover, the following properties hold for two dimensional matrices (n = 2). Let us assume that Z is a hermitian matrix and let ν 1 and ν 2 > ν 1 denote its eigenvalues. Then: The proof of (N1) − (N6) is straightforward from the definition of W (A|Z) and properties (P1) − (P2) from previous subsection. To prove property (N7) note that W (A|Z) always contains the point 1 2 Tr A. Thus, 1 2 Tr A = 0 ∈ W (Z) and W (A|Z) is not empty. In order to prove property (N8) we use the following theorem, proved in Appendix A.
Theorem 1. Let Z be a normal matrix of order two with real-valued entries. Furthermore, let A be an arbitrary complex-valued matrix of order two. Consider: Then, there exists a set of normalized states {|ψ }, |ψ ∈ C 2 , parametrized by a phase ϕ ∈ [0, 2π) and a real number λ ∈ W (Z), which satisfies the following set of simultaneous equations: where z(ϕ, λ) forms an elliptic disk in the complex plane parametrized by ϕ and λ: Variables z 0 , w, p(λ), q and r are defined in Eq. (44). The family of states {|ψ } is given by: From above theorem we can deduce the following simple corollary: The proof of property (N8) follows directly from Theorem 1 if we take λ = 0. In order to prove property (N9) note that by the elliptic range theorem [11], the set W (Z) forms an elliptic disk with foci at eigenvalues of Z, that is ν 1 and ν 2 . By the convexity property, W (Z) must also contain a line with endpoints (ν 1 , ν 2 ). Since sgn(ν 1 ) = − sgn(ν 2 ), the line either passes through the origin or is a singular point at the origin. Thus, there exists |ψ such that ψ | Z | ψ = 0 and W (A|Z) is not an empty set. Property (N10) can be proven after noticing that if one allows λ to take all possible real values between the two eigenvalues of Z, then there is no restriction on vector |ψ (cosine of azimuthal angle given by Eq. (42) in the Appendix takes all real values between −1 and 1). This means that W (A|Z − λI) is the full numerical range W (A).
It is worth to emphasise that the unitary invariance of standard numerical range does not hold in the case of nuclear numerical range, that is W (A|U ZU † ) = W (A|Z). It can be easly seen by considering: Computing W (A|Z) yields a single point λ = a ∈ C, whereas W (A|U ZU † ) = λ ′ = (a + b + c + d)/2 ∈ C. Thus, for a general matrix A, λ = λ ′ . Similary we can find W (U AU † |Z) = W (A|Z).

Determination of code subspaces for Kraus operators with block-diagonal structure
In this section we describe a method of constructing projectors P 2 onto the code subspace H n C for not-normal matrices. Let us now return to the basic problem and recall equation (3). Because of the block-diagonal structure of T ij we expect that P 2 will have a similar block-diagonal structure. We emphasize that this choice of P 2 is not the most general possible and reduces the total set of possible correction codes we can obtain. Let us call the upper and lower of the blocks of P 2 by P E and P F , respectively. This allows us to write: Using property (P4) and setting k 1 = k 2 = 2 we can reduce the initial problem of determining one 4-by-4 projection matrix P 2 to a problem of finding two 2-by-2 projection matrices P E and P F . Writing explicitly: We can rewrite Eq. (3) in the matrix notation: By definition, λ E ij ∈ Λ 1 (E ij ) and λ F ij ∈ Λ 1 (F ij ) are points in respective standard numerical ranges. The above equality is satisfied only if the condition λ E ij = λ F ij = λ ij holds for all values of i and j. This means that both points, for every choice of i, j. In order to determine P E and P F (which are projections onto points in that intersection) note that we can rewrite them in respective correction code bases as: where both vectors are normalized ψ E | ψ E = ψ F | ψ F = 1. Note that the states |ψ E and |ψ F are both generators of the set of compression values λ ij , for i, j = 1, 2. The intersections that we are interested in, Λ 1 (E ij ) ∩ Λ 1 (F ij ), are sets of points for which the following statement holds: Due to the structure assumed in Eq. (4) not all of the above equations are independent. Having this in mind, we are left with the following set of two equations: To solve this set of equations we use the concept of nuclear numerical range discussed in Sect. 4. Consider the following two sets: W (E 12 |E 11 − λ 11 I) and W (F 12 |F 11 − λ 11 I).
Notice that points in the complex plane which satisfy Eqs. (17) are exactly the ones that constitute the intersection of above nuclear numerical ranges. Let us label this intersection by Γ(λ 11 ): Clearly, Γ(λ 11 ) ⊂ W (E 12 ) ∩ W (F 12 ). Since both matrices E 11 and F 11 are normal, by property (N8) we conclude that for a given value of λ 11 these two sets are elliptic curves in the complex plane. If we treat λ 11 as a parameter whose range is the appropriate line segment W (E 11 ), then by property (N10) we have W (E 12 |E 11 − λ 11 I) = W (E 12 ). Similar statement holds for a pair F 12 and F 11 . In our problem, in order to satisfy Eq. (17), the number λ 11 must be contained in both W (E 11 ) and W (F 11 ). Thus λ 11 must be contained in the intersection W (E 11 ) ∩ W (F 11 ), which is simply a line segment. If we denote the sets of eigenvalues of matrices E 11 and F 11 by {ν E } and {ν F } respectively, then in order to fulfill the first condition from Eq. (17), one has to satisfy: Let us label by Ω the set of all allowable values of λ 11 . Then, the set Ω is not empty if and only if: where the symbol ≷ corresponds to + and − signs respectively, so Eq. (20) contains two inequalities. The above equation follows from the fact that the two eigenvalues of a 2-by-2 matrix A are given by a formula 1 2 Tr A ± 1 2 (Tr A) 2 − 4 det A. By Corollary 1 we can conclude that W (E 12 |E 11 − λ 11 ) = z(ϕ E , λ 11 ) and W (F 12 |F 11 −λ 11 ) = z(ϕ F , λ 11 ), where function z(ϕ, λ) is defined in Eq. (9). The intersection Γ(λ 11 ) is determined by: In order to determine the vectors |ψ E and |ψ F , which are useful to construct projectors on the respective correction code bases (recall Eq. (15)), one can in principle find points in Γ(λ 11 ) determined by λ 11 ∈ Ω and their phase angles ϕ E and ϕ F . Following the proof of Theorem 1, one diagonalizes E 11 and F 11 using orthogonal matrices U E and U F : Now one introduces the transformed states: |ψ E = U E |φ E and |ψ F = U F |φ F , where |φ E and |φ F are given by: where i = √ −1 denotes the complex imaginary unit. In order to determine these projection vectors one has to find angles θ σ , ϕ σ , α σ for σ ∈ {E, F } in terms of a point z = x+i y ∈ Γ(λ) in the complex plane and a real parameter λ. Let us suppose that we have found a point z ∈ Γ(λ) for some value of λ. We shall consider only the case for matrices E 11 and E 12 since for the matrices F 11 and F 12 the same pattern can be applied. Our current task is to find the projection vectors |ϕ E . Using Eq. (42) one can determine the azimuthal angle for projection θ E in terms of λ: where ±ǫ E denotes the eigenvalues of matrix E 11 (defined in Appendix A, in the text above Eq. 39). Using the definition of z = z(ϕ, λ) ∈ Γ(λ) given in Eq. (45) with the following substitution: (A, Z) → (E 12 , E 11 ), one finds: Using the above expressions and Eqs. (46) and (47) one can determine the polar angle ϕ E , The angle α E can be computed by recalling that tan 2α E is related by Eq.
(40) to elements of matrix E 11 . The family of states |ψ E is then given by: In a similar manner we can determine the projection vectors |ψ F for matrices F 11 and F 12 . Thus, our initial problem of finding error correction code and solving the compression Eqs. (3), equivalent to the set of Eqs. (17) for projectors |ψ E and |ψ F , is reduced into a geometric problem of finding intersection points of two elliptic curves in the complex plane. The quantum code subspace -the projection P 2 from Eq. (3) -is then given by a matrix of order four, given by the direct sum of two projectors of size two:

Exemplary Quantum Error Correction Codes
In this section we present two examples of non-unitary quantum channels and determine their quantum error correction code subspaces H n C using the method described in the previous section.

Simplified two-qubit amplitude-damping channel
The amplitude-damping channel (AD channel) is an important channel describing effects due to loss of energy of a quantum system [6]. Here we consider two-level systems (qubits), but channels describing arbitrary nlevel systems are also known [12]. Moreover, an interesting study of generalized amplitude-damping channels based on approximate quantum errorcorrection schemes appeared recently [17]. Exemplary physical processes which can be described by this channel include the relaxation of atom from its excited state to the ground state [13], sending a quantum state from one location to another using a spin chain [14,15] and attenuation of a photon in a cavity [16]. The Kraus representation of one-qubit amplitude damping channel acting on state ρ with probability p, where 0 ≤ p ≤ 1, is given by: where the Kraus operators B 1 (p) and B 2 (p) are defined: To extend this channel into the two-qubit system one can consider a product of two one-qubit channels: This channel is given by four Kraus operators. The bi-partite channel will be described by a sum of four new Kraus operators (all possible tensor products of B 1 and B 2 ) acting on a two-qubit state ρ 1 ⊗ ρ 2 . Assuming that the damping occurs with probability p 1 on the first qubit and p 2 on the second, we may write: To simplify the model we consider a two-qubit channel defined by two Kraus operators: , where A 1 is defined up to a unitary transformation. We make the following choice of Kraus operators: The trace-preserving channel analyzed here is then given by: One can determine the quantum error-correction code for this channel by solving the compression problem given in Eq. (3). Let us solve it using the geometrical method presented in Sect. 4. In the first step we compute matrices T 11 and T 12 given in Eq. (4), from which we obtain matrices E ij and F ij for 1 ≤ i, j ≤ 2: , Our aim is to find projection operator P 2 = P E ⊕ P F from Eq. (14), where P E and P F are given by (15), which is equivalent to set of equations (17).
To find these operators we use notion of nuclear numerical range. We first compute the intersection Γ(λ 11 ), where λ 11 ∈ Ω = W (E 11 ) ∩ W (F 11 ) and from this intersection we determine projection operators P E and P F . Let us introduce kets |ψ E = U E |φ E and |ψ F = U F |φ F , where diagonalizing unitary matrices U E and U F are given by Eq. (22). Since E 11 and F 11 are already diagonal we may assume that U E = U F = I and thus |ψ E = |φ E and |ψ F = |φ F , where |φ E and |φ F are yet arbitrary and parametrized according to Eq. (23). In order to find the azimuthal angles θ E and θ F one has to assure that the set Ω is not empty, which means that the overlapping condition (19) holds. In this case this condition reduces to the following two expressions: Both of above conditions are satisfied by p 1 and p 2 . We can now write respective standard numerical ranges as: This allows us to conclude that the set Ω is given by the intersection of two sets, Ω = W (E 11 ) ∩ W (F 11 ) = 1 − (1 − p 1 )p 2 , 1 , as shown in Fig. 1. If we now treat θ E and θ F as functions of the parameter λ 11 ∈ Ω, we get: In order to find W (E 12 |E 11 − λ 11 I) and W (F 12 |F 11 − λ 11 I) we first compute the standard numerical range of matrices E 12 and F 12 : Using Eqs. (29) in the above expressions we obtain respective nuclear numerical ranges: Here λ ∈ Ω = [1 − (1 − p 1 )p 2 , 1] can be treated as a free parameter. First of the above two sets is a line segment placed on the real axis while the second one forms a circle centered at zero. The nontrivial intersection of these two sets is possible only if ϕ F = 0 and: Thus, the error correction code for this specific model is determined by the projector P 2 of the form (27) with vectors |ψ E = |φ E and |ψ F = |φ E defined in Eq. (23) with the following horizontal angles: The polar angle ϕ E can be chosen arbitrarily: ϕ E ∈ [0, 2π), as shown in Fig.  2.

General block-diagonal channel of length two
Let us now consider a more general case of a quantum channel of length two (k = 2) acting on system consisting of two qubits: Our motivation is to find the most general noise model with a maximal number of free parameters, whose Kraus representation consists of two blockdiagonal matrices {A 1 , A 2 }. Operators A i in general contain 16 free variables {a 1 , . . . a 16 }, where a i ∈ (0, 1) and 1 ≤ i ≤ 16. The condition that Φ G (ρ) preserves the trace: imposes additional six constraints (there are eight equations for nonzero block-diagonal elements, from which two are not independent), so that we have 10 free parameters in total. Without loss of generality we can choose any 6 parameters a i from the set {a 1 , a 2 , . . . a 16 } and express them in terms of the remaining ones. We label them by b j for 1 ≤ j ≤ 6 so that {b j } are all dependent. Let us label the vector of free parameters by a = (a 1 , a 2 , . . . a 10 ).
Having this in mind, we can write Kraus operators A i in the following form: where the trace-preserving condition (31) implies: To simplify notation we introduce variables c i which are functions of the independent parameters: In order to find QECC for the map Φ G we proceed with the method described in Sect. 4. Let us begin by computing matrices T 11 and T 12 . Defining: e 1 = a 2 1 + a 2 3 , e 2 = a 1 a 2 + a 3 a 4 , e 3 = a 2 2 + a 2 4 , e 4 = a 1 b 1 + a 3 a 9 , e 5 = a 1 b 2 + a 3 b 3 , e 6 = a 2 b 1 + a 4 a 9 , e 7 = a 2 b 2 + a 4 b 3 , f 1 = a 2 5 + a 2 7 , f 2 = a 5 a 6 + a 7 a 8 , f 3 = a 2 6 + a 2 8 , f 4 = a 5 b 4 + a 7 a 10 , f 5 = a 5 b 5 + a 7 b 6 , f 6 = a 6 b 4 + a 8 a 10 , f 7 = a 6 b 5 + a 8 b 6 , one can write matrices T 11 and T 12 as: Matrices E 11 , F 11 , E 12 and F 12 are then: Once again our aim is to find projection operator P 2 satisfying Eq. (3). We will do it by first computing the intersection of nuclear numerical ranges as explained in Sect. 4. To do so we first compute the intersection Ω = W (E 11 ) ∩ W (F 11 ) which, according to Eq. (19), is completely determined by the eigenvalues of matrices E 11 and F 11 , denoted by ν 1 , ν 2 and µ 1 , µ 2 , respectively. Without loss of generality we may assume ν 2 > ν 1 and µ 2 > µ 1 . The set Ω is then given by: This set is not empty if condition (19) holds for matrices E 11 and F 11 . Let us denote by λ 11 a free parameter contained in Ω. In order to find an appropriate QECC one can determine the set Γ(λ 11 ) defined in Eq. (21). We plot the set Γ(λ 11 ) for some convenient choice of parameters {a i } in Fig.  3.  = (a 1 , a 2 , . . . a 10 ) = (0.9, 0.7, 0.2, 0.9, 0.6, 0.7, 0.9, 0.1, 0.6, 0.5). Nuclear numerical ranges in this example are given by two elliptic curves in bold parametrized by λ 11 . Their intersection W (E 12 |E 11 − λ 11 I) ∩ W (F 12 |F 11 − λ 11 I) for a given value of λ 11 forms the set Γ(λ 11 ), which in this case consists of two points (dots).

Re
Following the reasoning from Sect. 4 and methodology present in the proof of Theorem 1 we conclude that for a given value of λ 11 one can construct elliptic curves in the complex plane and determine their intersection points z = x + i y ∈ Γ(λ 11 ) using Theorem 1. Having obtained the set Γ(λ) and using Eq. (24) and Eq. (25) one can then determine the azimuthal and polar angles (θ E , ϕ E ) for |φ E , and analogous angles (θ F , ϕ F ) for vector |φ F , respectively. The projection vectors |ψ E and |ψ F , which form the projection operator P 2 , can be computed using Eq. (26). The correction code subspace for this particular noise model is then given by Eq. (27).

Concluding remarks
In this work we have introduced the notion of nuclear numerical range W (A|Z) of an operator A with respect to an auxiliary operator Z and demonstrated that it allows one to find quantum error-correction codes protecting against noise. In particular, this technique works for models of quantum errors with non-unitary noise operators. Using a simple geometric construction involving an intersection of two ellipses in the complex plane we found such a quantum error-correction code for a simplified model of two-qubit amplitude damping channel and a general noise model with two Kraus operators of size n = 4 with block-diagonal structure. Note that the method used here for the two-qubit system is straightforward to generalize for larger dimensions. We expect that further development of this technique will allow for effective construction of quantum error-correction codes protecting information against more general non-unitary noise models. and U Z ′ U † = diag(ǫ, −ǫ). Let us introduce a unit vector: with 0 ≤ ϕ < 2π and 0 ≤ θ < π and such that |ψ = U |φ , where |ψ is some unit vector in C 2 . Having this in mind, the first condition from Eq. (8) becomes: Using the above we can rewrite Eq. (43) in the following form: Eq. (45) defines an entire family of ellipses in the complex plane which belong to W (A). In particular, if we let λ to run over its available range, that is Γ ǫ = [ 1 2 Tr Z − ǫ, 1 2 Tr Z + ǫ], we recover the standard numerical range W (A). To show this, let us choose a coordinate frame in which position is parametrized by ϕ ∈ [0, 2π) and λ ∈ Γ ǫ , and is given by a complex number z(ϕ, λ) = z 0 + wλ+ p(λ) [x(ϕ) + iy(ϕ)], where x(ϕ), y(ϕ) ∈ R. Let us denote q 1 = Re(q), q 2 = Im(q), r 1 = Re(r), r 2 = Im(r), x 0 (λ) = Re(z 0 + wλ), y 0 (λ) = Im(z 0 + wλ) and choose x(ϕ) and y(ϕ) in the following way: x(ϕ) = q 1 cos ϕ + r 1 sin ϕ, y(ϕ) = q 2 cos ϕ + r 2 sin ϕ.
Using above expressions and Eqs. (46) and (47) one can determine the polar angle ϕ: The angle α can be computed by recalling that tan 2α = b/(a − c). The family of states |ψ is then given by |ψ = cos α cos θ 2 + e iϕ sin α sin θ 2 sin α cos θ 2 + e iϕ cos α sin θ 2 , which completes the proof of the second part of the theorem.