Instituto Tecnológico de Puebla.
Av. Tecnológico 420, Colonia Maravillas, Puebla
1 Introduction
Inverse problems arise in a wide variety of applications in Science and Engineering [10,12,14]: Computerized tomography, Inverse scattering, Inverse heat conduction problems, Geophysical inverse problems, Identification of parameters, etc. In particular, the Inverse Eigenvalue Problem (IEP) and the Inverse Singular Value Problem (ISVP) are problems of parameters identification; they both are the reconstruction of a matrix with prescribed eigenvalues and singular values, respectively, and maintaining some specific characteristics of structure. Among this kind of problems our work focuses on the Inverse Additive Singular Value Problem (IASVP). The IASVP can be stated as it follows [11]:
Given real, mxn, matrices A0, A1, ..., Al (mnl) and a set of real numbers S*={S*1,S*2,...,S*n}, with S*1>S*2>...>S*n, find a real l vector c=[c1,c2,...,cl]t, such that the singular values S1>S2>...>Sn of the matrix
(1) A(c) = A0 + c1A1 + ... + clAl
satisfy S*i(c) = S*i, for i=1,2,...,n.
A good way to tackle the IASVP consists of expressing it as a nonlinear system and to apply a Newton type method. This idea was previously used by Friedland et al. in [12] to solve the Inverse Additive Eigenvalue Problem (IAEP). They proposed up to four methods, known as Method I, II, III and IV, which have been of great importance in the specialized literature. Thus, the Method III was adapted by Chu [11] deriving a discrete method for solving the IASVP, which was modified later by Bai et al, to construct in the Intercept method [9] for solving the IASVP too.
Other approach was proposed by Chen and Chu. In [10] they developed a method denoted as Lift&Project to solve the IAEP. It is constructed as a modification of the conventional alternating projection method, and it presents global although linear convergence.
Both of the above cited methods, Newton approach and Lift&Project, can be easily adapted to solve the IASVP, but they both have a high computational complexity and in the case of Lift&Project method a slow speed of convergence. Thus, the developing of parallel algorithms is of great importance in order to solve this kind of problems in a reasonable time.
In this work we proposed two parallel algorithms for solving the IASVP: the first one, denoted as MI, is an adaptation of the Method I [12] to solve the IASVP formulated like a nonlinear problem; Newton’s method is used directly to solve the nonlinear system, and consequently the algorithm converges locally. The second one, denoted as LP, is a global convergent algorithm developed as an adaptation of the Lift&Project [10], to solve the IASVP formulated like a least squares problem.
All our algorithms were implemented using portable standard packages. For the serial algorithms we used the LAPACK library [1] and BLAS computational kernels [7], and to implement the parallel codes we used the ScaLAPACK [2], PBLAS [3] and BLACS [6] libraries on the top of the MPI [4] communication library. Experimental results have been obtained on a cluster of PCs.
The rest of the paper is organized in the following form. In section 2, we consider the IASVP like a nonlinear problem and derive MI algorithm to solve it; we also present the serial algorithm. In section 3 we develop the LP algorithm to solve the IASVP like a least squares problem. The serial algorithm is presented too. Section 4 is devoted to parallel algorithms and experimental results. We outline our conclusions in section 5.
2 A local convergence Newton type algorithm
In this section we use the idea of Method I [12] to develop a Newton type algorithm (MI) for solving the IASVP. Let us consider the singular value decomposition of matrix A(c) defined in (1): A(c)=P(c)S(c)Q(c)t. To solve the IASVP we are requiring S(c)=S*. Hence, we can construct the vector function F(c) = [Fi(c)] i=1,n =[S(c)i - S*i]i=1,n, where S(c)i is the i-th singular value of A(c) and S*i is the i-th singular value to be assigned. Thus we can transform the IASVP in the problem of finding the solution of the nonlinear system in c
(2) F(c) = [S(c)i - S*i]i=1,n = 0.
If Newton’s method is applied to solve this nonlinear system, a succession of vectors must be computed in order to approximate the solution of (2). Then, if c(k) is the k-th element of this succesion, the (k+1)-th element is given by the expression [5]
(3) c(k+1) = c(k) - J(c(k))-1F(c(k)),
where J(k)=J(c(k)) is the Jacobian matrix of F(c) evaluated at c(k). By using that A(c(k)) = P(c(k))S(c(k))Q(c(k))t is the singular value decomposition of A(c(k)) and hence columns of P(c(k)) and of Q(c(k)) are orthogonal, p(c(k))itp(c(k))i = q(c(k))itq(c(k))i =1, it can be proved that the Jacobian matrix of F(c(k)) is
(4) J(k) = [p(c(k))it Aj q(c(k))i] i,j=1,n.
Hence, having in mind the definition of A(c(k)) (1), F(k) = F(c(k)) can be expressed as
(5) F(k) = [p(c(k))it A0 q(c(k))i – S*i] i=1,n + J(k)c(k)
Thus, by using (4) and (5), expression (3) can be transformed in:
J(k)c(k+1)–
J(k) c(k) = – [
p(
c(k))
it A0 q(
c(k))
i-
S*i]
i=1,n+
J(k)c(k).
Then, c(k+1) can be found by solving the linear system J(k) c(k+1) = b(k) , where
(6) b(k) = S* - [p(c(k))it A0 q(c(k))i] i=1,n.
So, a Newton’s iteration has been derived and if the initial guest c(0) is close enough to the solution the iteration converges quadratically to point c* [5], such that singular values of A(c*) coincides with S*. The corresponding algorithm is given in the next paragraph.
Sequential Algorithm
MI algorithm for IASVP
1.
Compute A(0) (* in accordance with (1) *)
2. [P(0),S(0),Q(0)] = svd(A(0))
3. error = || S(0)- S*||2
4. For k = 0,1,..., While error > tol
4.1 Compute J(k) (* in accordance with (4) *)
4.2 Compute b(k) (* in accordance with (6) *)
4.3 Compute c(k+1) solving J(k)c(k+1) = b(k)
4.4 Compute A(k+1) (*in accordance with (1) *)
4.5 [P(k+1),S(k+1),Q(k+1)] = svd(A(k+1))
4.6 error = || S(k+1)- S*||2
To implement some steps of this algorithm we used efficient routines of LAPACK:
dgesvd to compute the singular value decomposition of a matrix (steps 2 and 4.5),
dgetrf and
dgetrs to compute the lu factorization of a matrix and solve a linear system of equations, respectively (step 4.3). The other steps have been
implemented by the authors, using routines of BLAS:
daxpy to add two vectors (steps 1, 3, 4.4 and 4.6),
dnrm to compute the 2-norm of a vector (steps 3 and 4.6),
ddot to compute the dot product (steps 4.1 and 4.2),
dscal to scale a vector by a constant (step 4.2),
dgemm to compute matrix-vector product (steps 4.1 and 4.2).
The cost of this algorithm, when m=n=l, is:
TsecMI = O((44/3)
m3) +
k O(2
m4) Flops
where k represents the number of iterations performed to reach the convergence. It can be note the high computational cost which we try to alleviate by using parallel computing techniques.
3 A global convergence method
The Lift&Project method was developed for the IAEP in [10]. In this section we derive the LP method to solve de IASVP in a similar way.
Let us define G(S*), as the set wich contains all the matrices whose singular values are S*, and L(c) as the set whose elements can be expressed in the form (1):
G(S*) = {PS*Qt|Pmxm,Qnxn,orthogonals}
L(c) = {A(c) | cl}.
We want to find the intersection of sets G(S*) and L(c), by using distances minimization techniques between both sets.
The method can be organized in an iterative way with two stages: the lift stage and the project stage. Thus, in each iteration k, the first stage is the lift stage: Given c(k), and consequently A(k) = A(c(k))L(c), find a matrix X(k)G(S*) so that the distance between A(k) and X(k) is equal to the distance between A(k) and G(S*). This is achieved by computing SVD of A(k)=P(k)S(k)Q(k)t, and then computing X(k)=P(k)S*Q(k)t. The element of G(S*) closest to A(k) is X(k)=P(k)S*Q(k)t. In effect, if Y(k)=US*Vt were another element of G(S*) closest to A(k) then
|| P(k) S(k) Q(k) t – US*Vt ||F =
= || P(k) S(k) Q(k) t – P(k) S*Q(k) t +
+ P(k) S*Q(k) t – U S*V t || F =
= || P(k)(S(k)-S*)Q(k)t + P(k)S*Q(k)t -US*Vt|| F =
= || S(k) - S* + S* - P(k)t U S*Vt Q(k) || F
|| S(k)-S* ||F + || S* - P(k)t U S*Vt Q(k) || F
thus obtaining the minimum value of ||P(k)S(k)Q(k)t–US*Vt||F just when U=P(k) and V=Q(k). Note that orthogonal transformations conserve the F-norm.
The projection stage can be expressed as: Given
X(k)
G(
S*) find
c(k+1), and hence
A(k+1)
L(
c), such that the distance between
X(k) and
A(k+1) equals the distance between
X(k) and
L(
c). This is achieved by finding
c(k+1) which minimizes the distance between
X(k) and
A(k+1), that is: find
c(k+1) which solves the problem
(7)
![](data:image/png;base64,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O6zAC37f/6Gzx+DBgyUfuzFcXFzWr1+vQrLy6UO50+0hbWVlRf/78OHDp06dqmALNzqvbt++/dixY1RpltrFhYYo2OW8CgEAj+SMX0HlQvsvyst5vMNXl306L0S4KJQk+hIAqDbwlqQS+ShKP4f/YJ0SYSd79+6t7AXAycmJghzJZxo8tgMWQ4EiVXHGjBnDS0O0kqpz584rV66sXbu2rjMCfHYBRKV13Lhxsior9evX11wrQ52XO304pN3d3S9durRnzx6qxsl5aYTr9evX3bp1CwwMVPbeiqZJ3vOW0wyAd3ICAApitZYNlpyGeTz22a3bQqQPJQj4otc1SxAEbheupqam3IHAFNe4ceMzZ86IzUxISCgsLOQrOJREFwk5bcggOjpa11mA/1L/CUBubu6RI0fCwsL++usvWes0b9784MGDar6vXCwdljv9OaT79evXo0cP+jmoTq/gMLFLly5NTU3dsmULnWY1nT0FSX0CoLWtywkAatWqpbVsML58+SKn4wpXV1d+N6erQqQ/JQjUhwAA1BIZGckds9nPz69evXoqpCM1APj06ROd4p2dndXKIoDwKRUAFBUVUXX/w4cPr169evr06e3bty9fvkz1fjm90FCYPWnSJKpiFjtyH/CldOnSU6dOHT16dGho6MqVK7Oysor9yvbt262trdeuXauF7ClCtwFAWlqarEXaDwASEhKo0EldZGFhIb8tNYBOIAAA1eXn58+aNYudNDc3nzdvnmpJyWkGgAAAuAoKCvSnkjpixIjNmzdreisZGRlUlZe6iJeRQd3d3desWaM/oyUaFKrQz507d+LEiUuWLAkLC8vJyZG//rp166g2OWrUKO1kTz7dBgByQibtBwAUY8ta1KRJE/15aAPAQgAAqtu0aRO3E+hx48ZJ7YVJEbKekMbFxQ0dOlS1NAFKBlkNANRkYmLi6enp7+9PfzWRPijOzs5u2bJlEyZMCAgI2Lt3r/yVp02b5uvrq/PhFIiCLy9piJyBtzT9Gpuk2NhYWYtatGihzZwAKAgBAKjo06dPYq/7rxLhdyuaawcMIBSy3v9RTenSpalG0qlTp4EDB1atWpXHlEFN1apV27179/Dhw4cNG5aamiprtY8fPwYHB//+++/azJse0sTIu6qhq+Hp06dlLdVm900AikMAACpasWLF69evNb2VW7du5efn63k/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)
.
Let us denote
F(k+1) =
![](data:image/png;base64,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)
. The minimization problem (7) can be solved by equating the gradient of
F(k+1) to zero and
solving the linear system
(8)
![](data:image/png;base64,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)
.
By differentiating F(k+1) it is easy to transform [13] the linear system (8) in Tc (k+1) = d (k), where
(9) T = [ trace(AitAr) ]r,i=1,l and
(10) d(k) = [ trace(Art (X(k) - A0t) ]r =1,l .
It is worth to note that matrix T does not depend from the value of c(k+1) in the different iterations, thus it can be computed once at the beginning. Now, it is easy to construct an iterative algorithm (LP algorithm) to find a solution of the IASVP. The LP algorithm converges to a stationary point of the stated minimization problem in the sense that
|| A(k+1) - X(k+1) ||F || A(k) - X(k) ||F.
Thus, in the k-th projection stage, c(k+1) is computed to minimize ||A(k+1)-X(k) ||F, then
|| A(k+1) - X(k) ||F || A(k) - X(k) ||F.
On the other hand, in the (k+1)-th lift stage the matrices that minimize || A(k+1) - X(k+1) ||F are P(k+1) and Q(k+1), then
|| A(k+1) - P(k+1) S*Q(k+1) t ||F || A(k+1) - P(k) S*Q(k) t|| F,
hence
|| A(k+1) - X(k+1) ||F || A(k+1) - X(k) || F.
Sequential Algorithm
LP algorithm for IASVP
1. Compute
T (* in accordance with (9) *)
2. Compute lu factorization of T
3. Compute inverse of T
4. stop = 0
5. For k = 0,1,..., While stop=0
5.1 Compute A(k) (* in accordance with (1) *)
5.2 [P(k),S(k),Q(k)] = svd(A(k))
5.3 X(k) = P(k)S*Q(k)t
5.4 Compute d(k) (* in accordance with (10) *)
5.5 Compute c(k+1) solving Tc(k+1) = d(k)
5.6 error = || c(k+1)- c(k)||2
5.7 If error < tol Then stop = 1
To implement this algorithm we have used the following routines of BLAS in steps 1, 5.1, 5.3, 5.4 5.5 and 5.6:
dscal,
ddot,
dgemv (to compute matrix-matrix product),
dgemm,
daxpy. The following routines of LAPACK have also been used:
dgesvd at step 5.2,
dgetrf at step 2,
dgetri (to compute the inverse of a matrix) at step 3.
The computational cost of this algorithm when m=n=l can be approximated as:
TseqLP = O(
m4) +
k O((56/3)
m3) Flops,
where k is the numbers of iterations necessary to reach the convergence. As MI, LP has a high computational cost too. In the next section we present the parallel algorithms corresponding to both MI and LP algorithms.