SDOlab - A solver of real or complex number semidefinite optimization problems - Archive ouverte HAL Accéder directement au contenu
Logiciel Année : 2017

SDOlab - A solver of real or complex number semidefinite optimization problems

Jean Charles Gilbert

Résumé

Sdolab solves a real or complex number semidefinite optimization problem in primal (P)

(P) min c'*x
         s.t. A*x = b
               mat(x) ≥ 0
or dual (D) standard forms

(D) max b'*y
         s.t. A'*y + s = c
               mat(s) ≥ 0.
The data of the problem is a Hermitian matrix C of order n, an ℝ-linear map Ar from ℍn (the set of Hermitian matrices of order n) to ℝmr (the set of real vectors of length mr), a real vector br in ℝmr, an ℝ-linear map Ac from ℍn to ℂmc (the set of complex vectors of length mc over the field of real numbers), and a complex vector bc in ℂmc. Since the cost is computed in Sdolab by c'*x (= where is the trace of the conjugate transpose of A times B), c must contain the matrix C column after column. In contrast, since the constraints are evaluated in Sdolab by A.r*x [resp. A.c*x], the k-th constraint [resp. ] must be formulated by storing the _conjugate_ of the matrix Ark [resp. Ack] column after column in the k-th row of A.r [resp A.c]. Finally, br is put in b.r and bc in b.c. The unknown of the primal problem (P) is a Hermitian matrix X of order n stored columnwise by Sdolab in x. The constraint 'mat(x) ≥ 0' means that X = mat(x) must be positive semidefinite. The unknowns of the dual problem (D) are a real vector yr of length mr stored by Sdolab in y.r, a complex vector yc of length mc stored by Sdolab in y.c, and a Hermitian matrix S of order n stored columnwise by Sdolab in s. The constraint 'mat(s) ≥ 0' means that S = mat(s) must be positive semidefinite. An optional starting iterate (x0,y0.r,y0.c) can be proposed on entry. From y0, Sdolab computes an initial dual matrix S0 in the vector s0 = c - A.r'*y0.r - 0.5*(A.c'*y0.c+vec(mat(A.c'*y0.c)')). Next, the satisfaction of the affine constraints of (P) and (D) is verified. If this is not the case, Sdolab computes its own affine feasible starting point. The solver is based on the feasible Mizuno-Todd-Ye predictor-corrector interior-point method and the Nesterov-Todd direction.
72 Consultations
0 Téléchargements

Partager

Gmail Facebook X LinkedIn More