UvA-DARE is a service provided by the library of the University of Amsterdam (https://dare.uva.nl)
UvA-DARE (Digital Academic Repository)
Cryptography in a quantum world
Wehner, S.D.C.
Publication date 2008
Link to publication
Citation for published version (APA):
Wehner, S. D. C. (2008). Cryptography in a quantum world.
General rights
It is not permitted to download or to forward/distribute the text or part of it without the consent of the author(s) and/or copyright holder(s), other than for strictly personal, individual use, unless the work is under an open content license (like Creative Commons).
Disclaimer/Complaints regulations
If you believe that digital publication of certain material infringes any of your rights or (privacy) interests, please let the Library know, stating your reasons. In case of a legitimate complaint, the Library will make the material inaccessible and/or remove it from the website. Please Ask the Library: https://uba.uva.nl/en/contact, or a letter to: Library of the University of Amsterdam, Secretariat, Singel 425, 1012 WP Amsterdam, The Netherlands. You will be contacted as soon as possible.
Linear algebra and semidefinite
programming
Semidefinite programming is a useful tool to solve optimization problems. Since we employed semidefinite programming in Chapters 3, 7, and 11, we briefly state the most important notions. We refer to [BV04] for an in-depth introduction.
A.1
Linear algebra prerequisites
Before turning to semidefinite programming in the next section, we first briefly recall some elementary definitions from linear algebra. We thereby assume the reader is familiar with basic concepts, such as matrix multiplication and addition. Unless explicitly indicated, all vector spaces V considered here are over the field of complex numbers. We use V = Cd to denote a d-dimensional complex vector
space, and Cd×d to denote the space of complex d× d matrices. A set of vectors
|v1, . . . , |vd ∈ V is linearly independent if
d
i=1ai|vi = 0 implies that a1 =
. . . = ad = 0. A basis of a d-dimensional vector space V is a set of linearly independent vectors |v1, . . . , |vd ∈ V , the basis vectors, such that any vector
|u ∈ V can be written as a linear combination of basis vectors. We use v| to
denote the conjugate transpose of a vector |v. If there exists a vector |v ∈ V with |v = 0 such that A|v = λ|v, we say that |v is an eigenvector of A and the scalar λ the corresponding eigenvalue.
The inner product of two vectors |u, |v ∈ V with |u = (u1, . . . , ud) and
|v = (v1, . . . , vd) is given by u|v =
iu∗ivi. The 2-norm of a vector is given by
|||v|| =v|v. Unless otherwise indicated, all norms of a vector are 2-norms in
this text. We also use |||v||V to denote emphasize that the norm is defined on a vector space V . Two vectors |u, |v ∈ V such that u|v = 0 are orthogonal. If, in addition,|||u|| = |||v|| = 1 then they are also called orthonormal.
A Hilbert space is defined as a vector space V with an inner product, where the vector space is complete. We refer to [Con90] for a formal definition of the
188 Appendix A. Linear algebra and semidefinite programming
notion of completeness and merely note that informally a vector space is complete if for any sequence of vectors in said space approaching a limit, the limit is also an element of the vector space. A bounded operator is an operator A : V → V such that there exists a c∈ R satisfying ||A|v||V ≤ c|||v||V for all v ∈ V . The
smallest such c is also called the operator norm of A.
The transpose of a matrix A is written as AT and given by AT
ij = Aji, where
Aij denotes the entry of the matrix A at column i and row j. Similarly, the conjugate transpose A† of A is of the form A†ij = A∗ji. We use I to denote the identity matrix defined as I = [Iij] with Iij = δij. A matrix U is called unitary if U U†= U†U =I. Furthermore, M is called Hermitian if and only if M = M†. Any Hermitian matrix can be decomposed in terms of its eigenvalues λj and eigenvectors |uj as M = jλj|ujuj|, where |ujuj| is a projector onto the
vector |uj. We also call this the eigendecomposition of M. The support of M is the space spanned by all its eigenvectors with non-zero eigenvalue.
The tensor product of an m× n-matrix A and an m × n matrix B is given by the mm× nn-matrix A⊗ B = ⎛ ⎜ ⎜ ⎜ ⎝ A11B . . . A1nB A21B . . . A2nB . .. An1B . . . AnnB ⎞ ⎟ ⎟ ⎟ ⎠.
The tensor product is also defined for two vector spaces V and V. In particular, if the basis of the d-dimensional vector space V is given by {|v1, . . . , |vd} and the basis of the d-dimensional vector space V is given by {|v1, . . . , |vd}, then
W = V ⊗V denotes the d·d-dimensional vector space W with basis{|vi⊗|vj |
i∈ [d], j ∈ [d]}.
The direct sum of an m× n-matrix A and an m × n matrix B is given by the m + m × n + n matrix A 0 0 B .
Two vector spaces V and V defined as above can also be composed in an analo-gous fashion yielding a d + d dimensional vector space W = V ⊕ V, where any
|w ∈ W can be written as |w = |v ⊕ |v for some |v ∈ V and |v ∈ V with
|v ⊕ |v = (v
1, . . . , vd, v1, . . . , vd) for|v = (v1, . . . , vd) and |v = (v1, . . . , vd).
The trace of a matrix A is given by the sum of its diagonal entries Tr(A) =
iAii. Note that Tr(A + B) = Tr(A) + Tr(B), and Tr(AB) = Tr(BA). If A is
an Hermitian matrix, then Tr(A) is the sum of its eigenvalues.
Finally, the rank of a matrix A is denoted as rank(A) and given by the maximal number of linearly independent columns (or rows) of A.
A.2
Definitions
We now turn to the definitions relevant for our discussion of semidefinite pro-gramming. A Hermitian matrix M is positive semidefinite if and only if all of its eigenvalues are non-negative [HJ85, Theorem 7.2.1]. Throughout this text, we use M ≥ 0 to indicate that M is positive semidefinite. We know from [HJ85, Theorem 7.2.11]:
A.2.1. Proposition. For a Hermitian matrix M ∈ Cd×d the following three
statements are equivalent: 1. M ≥ 0,
2. x†M x≥ 0 for all vectors x ∈ Cd,
3. M = G†G for some matrix G∈ Cd×d.
M is called positive definite if and only if all of its eigenvalues are positive: we
have x†M x > 0 for all vectors x ∈ Cd. We use M > 0 to indicate that M is
positive definite. We also encounter projectors, where a Hermitian matrix M is a
projector if and only if M2 = M . Note that this implies that M ≥ 0. We say that two projectors M1 and M2 are orthogonal projectors if and only if M1M2 = 0.
Furthermore, we use Sd to denote the set of all Hermitian matrices, Sd =
{X ∈ Cd×d | X = X†}, and Sd
+ = {X ∈ Sd | X ≥ 0} for the set of all positive
semidefinite matrices. A set T is a cone, if for any α ≥ 0 and T ∈ T we have
αT ∈ T . A set T is convex, if for any α ∈ [0, 1] and T1, T2 ∈ T we have αT1+ (1− α)T2 ∈ T . A set T is called a convex cone, if T is convex and a cone: for any α1, α2 ≥ 0 and T1, T2 ∈ T we must have that α1T1+ α2T2 ∈ T . Note that Sd
+ is a convex cone: Let α1, α2 ≥ 0, and A, B ∈ S+d. Then for any x ∈ Cd we
have
x†(α1A + α2B)x = α1x†Ax + α2x†Bx≥ 0.
Hence, α1A + α2B ∈ Sd
+. The following will be of use in Chapter 3.
A.2.2. Proposition. Let A, B ∈ Sd. Then A ≥ 0 if and only if for all B ≥ 0
Tr(AB)≥ 0.
Proof. Suppose that A ≥ 0. Note that we can decompose B =jλj|ujuj|
where for all j λj ≥ 0 since B ≥ 0. Hence, Tr(AB) = jλjTr(A|ujuj|) =
jλjuj|A|uj ≥ 0, since A ≥ 0.
To prove the converse, suppose on the contrary that for all B ≥ 0 we have Tr(AB) ≥ 0, but A ≥ 0. If A ≥ 0, then there exists some vector |v such that
v|A|v < 0. Let B = |vv|. Clearly, B ≥ 0 and Tr(AB) = v|A|v < 0 which is
190 Appendix A. Linear algebra and semidefinite programming
A.3
Semidefinite programming
Semidefinite programming is a special case of convex optimization. Its goal is to solve the following semidefinite program (SDP) in terms of the variable M ∈ Sd
maximize Tr(CM )
subject to Tr(AiM ) = bi, i = 1, . . . , p, and M ≥ 0
for given matrices C, A1, . . . , Ap ∈ Sd. The above form is called the standard form
of an SDP, and any SDP can be cast in this fashion (possibly at the expense of additional variables) [BV04]. To gain some geometric intuition about this task, note that M ≥ 0 means that M must lie in the cone Sd
+. The constraints
T r(AiM ) = bi determine a set of hyperplanes which further limit our possible solutions. A matrix M is called feasible, if it satisfies all constraints.
An important aspect of semidefinite programming is duality. Intuitively, the idea behind Lagrangian duality is to extend the objective function (here Tr(CM )) with a weighted sum of the constraints in such a way, that we will be penalized if the constraints are not fulfilled. The weights then correspond to the dual variables. Optimizing over these weights then gives rise to the dual problem. The original problem is called the primal problem. For the above SDP in standard form, we can write down the Lagrangian as
L(M, λ1, . . . , λp, K) = Tr(CM ) + p i=1 λi(bi− Tr(AiM )) + Tr(KM ) = Tr((C − i λiAi+ K)M ) + i λibi,
where K ≥ 0. The dual function is then
g(λ1, . . . , λp, K) = sup M Tr((C − i λiAi+ K)M ) + i λibi = iλibi if C− iλiAi+ K = 0 ∞ otherwise
From C−iλiAi+ K = 0 and K ≥ 0, we obtain that K = −C +iλiAi ≥ 0.
This gives us the dual problem as
minimize iλibi
subject to iλiAi ≥ C,
where the optimization is now over the dual variables λi.
We generally use d∗ to denote the optimal value of the dual problem, and p∗ for the optimal value of the primal problem. Weak duality says that d∗ ≥ p∗.
Let’s see why this is true in the above construction of the dual problem. Let M(∗) and {λ(∗)i } be the optimal solutions to the primal and dual problem respectively. In particular, this means that M(∗) and{λ(∗)i } must satisfy the constraints. Then
d∗− p∗ = i λ(∗)i bi− Tr(CM(∗)) = i λ(∗)i Tr(AiM(∗))− Tr(CM(∗)) = Tr −C + i λ(∗)i Ai M(∗) ≥ 0,
by Proposition A.2.2 since M(∗) ≥ 0 and iλ(∗)i Ai ≥ C. An important
conse-quence of weak duality, is that if we have d∗ = p∗ for a feasible dual and primal solution respectively, we can conclude that both solutions are optimal. If solutions exist such that d∗ = p∗, we also speak of strong duality. We know from Slater’s conditions [BV04], that strong duality holds if there exists a feasible solution to the primal problem which also satisfies M > 0.
A.4
Applications
In many quantum problems, we want to optimize over states, or measurement operators. Evidently, semidefinite programming is very well suited to this case: When optimizing over a state ρ, we ask that ρ ≥ 0 and Tr(ρ) = 1. When optimizing over measurement operators M1, . . . , Mk belonging to one POVM, we ask that Mj ≥ 0 for all j ∈ [k] and jMj =I. Concrete examples can be found in Chapters 3, 7, and 11.