# A Gradient Based Iterative Solutions for Sylvester Tensor Equations

Authors: Zhen Chen; Linzhang Lu
Journal: Mathematical Problems in Engineering
 (2013)

---

## Abstract

This paper is concerned with the numerical solution of the Sylvester tensor equation, which
includes the Sylvester matrix equation as special case. By applying hierarchical identification principle
proposed by Ding and Chen, 2005, and by using tensor arithmetic concepts, an iterative algorithm and its modification
are established to solve the Sylvester tensor equation. Convergence analysis indicates that the iterative
solutions always converge to the exact solution for arbitrary initial value. Finally, some examples are
provided to show that the proposed algorithms are effective.


---

## Body

## 1. Introduction

This paper is concerned with the solution of the following equation:(1)𝒳×1A+𝒳×2B+𝒳×3C=𝒟,
where matrices A∈Rm×m, B∈Rn×n, and C∈Rl×l, and tensor 𝒟∈Rm×n×l. The properties of the operators ×1, ×2, and ×3 are described in detail in Section 2. When 𝒳 is a 2-mode tensor, that is, a matrix, (1) reduces to
(2)AX+XBT=D.
It is just a Sylvester matrix equation, which has received much attention, often motivated by applications in control theory, model reduction, signal processing, filtering, and system identification [1–7]. So we call (1) a Sylvester tensor equation in this paper.The simplest direct approach for solving the matrix equation (2) is Kronecker product method [8] in which the huge memory is needed, for example, if m=n=100, the dimension of the new coefficient matrix is 10000. Alternative direct method is to firstly transform coefficient matrices into special forms, such as Schur canonical form [9], Hessenberg-Schur form [1], and [10–12], and then to solve another matrix equation which may be readily computed. Such kinds of methods have been widely adopted. For example, 3D Schur decomposition was developed to solve the Sylvester tensor equation (1) (for more details see [13]). However, these methods require the transformations of coefficient matrices, which need considerable cost.Iterative algorithms for solving matrix equations have been studied extensively, for example, [14–21]. For example, Ding and Chen proposed a few simple iterative methods for matrix equation in [22–24]. The methods, resembling the classical Jacobi and Gaussian iterations for linear systems, are easy to implement and cost little per step. Gradient based iterative algorithms and least squares based iterative algorithms have also been proposed in [25–27] for (coupled) matrix equations, which include the Sylvester matrix equations and Lyapunov matrix equations as a special form. However, to the best knowledge of the authors, there is hardly any iterative method for the Sylvester tensor equation in references up to now.In this paper, we first extend the gradient based iterative algorithm for Sylvester matrix equation (2) to solve the Sylvester matrix equation (1) based on previous work in [22]. The basic idea of such an algorithm is to regard the unknown tensor as the system parameter tensor by applying hierarchical identification principle. Then, we present a more efficient modified iterative method. The convergence properties of the two algorithms are proved. Numerical examples are given to show that the two iterations are effective.The rest of this paper is organized as follows. In Section2, we describe tensor notations and common operations used throughout the paper. An extension and modification of the gradient based iterative algorithms to the Sylvester tensor equation (1) are presented in Section 3. The convergence of the algorithms are analyzed in Section 4. Section 5 contains some numerical experiments to illustrate the theoretical results in this paper. Finally, some conclusions are outlined in Section 6.


## 2. Tensor Notations and Basic Operations

In this section, we briefly review some concepts and notations that are used throughout the paper. Matrices are denoted by capital letter, for example,A, B, and C. Tensors are denoted by Euler script letter, for example, 𝒳,𝒴, and 𝒵. The n×n identity matrix is denoted by In. The order of a tensor is the number of dimensions, also known as ways or modes. As a special case, a vector is 1-mode tensor and a matrix is 2-mode tensor. The operator vec(·) stacks the columns of a matrix to form a vector. ∥·∥ denotes the Frobenius norm unless otherwise stated.


### 2.1. Tensor-Matrix Multiplication

An important operation for a tensor is the tensor-matrix multiplication [28–30]. The 1-mode product of a tensor 𝒳∈RI×J×K by a matrix A∈RP×I, denoted by 𝒳×1A, is a P×J×K tensor in which the entries are given by
(3)(𝒳×1A)(p,j,k)=∑i=1I‍xijkapi.
Similarly, 2-mode multiplication of a tensor by a matrix B∈RQ×J(4)(𝒳×2B)(i,q,k)=∑j=1J‍xijkbqj.
3-mode multiplication is analogous and is omitted here.It follows immediately from the definition thatn-mode and m-mode multiplication commutes if m≠n:
(5)𝒳×mA×nB=𝒳×nB×mA.
If the modes are the same, then
(6)𝒳×nA×nB=𝒳×n(BA).


### 2.2. Inner Product and Tensor Norm

The inner product of two tensors𝒳,𝒴∈RI×J×K is defined by
(7)〈𝒳,𝒴〉=∑i=1I‍∑j=1J‍∑k=1K‍xijkyijk,
and the norm induced by this inner product is
(8)∥𝒳∥=〈𝒳,𝒳〉.For two tensors𝒳 and 𝒴, the computation of ∥𝒳-𝒴∥ can be simplified as follows:
(9)∥𝒳-𝒴∥2=∥𝒳∥2-2〈𝒳,𝒴〉+∥𝒴∥2.Moreover,n-mode multiplication commutes with respect to the inner product, that is,
(10)〈𝒳,𝒴×nA〉=〈𝒳×nAT,𝒴〉.Finally, the tensor norm ofn-mode multiplication is mutually consistent, that is,
(11)∥𝒳×nA∥≤∥A∥2∥𝒳∥.


## 2.1. Tensor-Matrix Multiplication

An important operation for a tensor is the tensor-matrix multiplication [28–30]. The 1-mode product of a tensor 𝒳∈RI×J×K by a matrix A∈RP×I, denoted by 𝒳×1A, is a P×J×K tensor in which the entries are given by
(3)(𝒳×1A)(p,j,k)=∑i=1I‍xijkapi.
Similarly, 2-mode multiplication of a tensor by a matrix B∈RQ×J(4)(𝒳×2B)(i,q,k)=∑j=1J‍xijkbqj.
3-mode multiplication is analogous and is omitted here.It follows immediately from the definition thatn-mode and m-mode multiplication commutes if m≠n:
(5)𝒳×mA×nB=𝒳×nB×mA.
If the modes are the same, then
(6)𝒳×nA×nB=𝒳×n(BA).


## 2.2. Inner Product and Tensor Norm

The inner product of two tensors𝒳,𝒴∈RI×J×K is defined by
(7)〈𝒳,𝒴〉=∑i=1I‍∑j=1J‍∑k=1K‍xijkyijk,
and the norm induced by this inner product is
(8)∥𝒳∥=〈𝒳,𝒳〉.For two tensors𝒳 and 𝒴, the computation of ∥𝒳-𝒴∥ can be simplified as follows:
(9)∥𝒳-𝒴∥2=∥𝒳∥2-2〈𝒳,𝒴〉+∥𝒴∥2.Moreover,n-mode multiplication commutes with respect to the inner product, that is,
(10)〈𝒳,𝒴×nA〉=〈𝒳×nAT,𝒴〉.Finally, the tensor norm ofn-mode multiplication is mutually consistent, that is,
(11)∥𝒳×nA∥≤∥A∥2∥𝒳∥.


## 3. Iterative Algorithms

In this section, we apply the tensor arithmetic concepts and the hierarchical identification principle to solve the Sylvester tensor equation (1).Firstly, we consider the existence and uniqueness of the solution of (1). By using the Kronecker product, we have
(12)(Il⊗In⊗A+Il⊗B⊗Im+C⊗In⊗Im)vec(𝒳)=vec(𝒟),
which is equivalent to (1), This vectorized representation immediately leads to the following result.Lemma 1.
Equation (1) has a unique solution if and only if λi(A)+λj(B)+λk(C)≠0  for any i, j, and k, where λi(A), λj(B) and λk(C) represent the eigenvalues of A,B, and C, respectively.In the case of the Sylvester matrix equation (2), this corresponds to the well-known condition λi(A)+λj(B)≠0, for any i and j.In order to drive the iterative algorithms for solving (1), we need to introduce the following residual tensors:
(13)ℰ1:=𝒟-𝒳×2B-𝒳×3C,ℰ2:=𝒟-𝒳×3C-𝒳×1A,ℰ3:=𝒟-𝒳×1A-𝒳×2B.
According to the hierarchical identification principle [22], (1) is decomposed into three subsystems:
(14)𝒳×1A=ℰ1,𝒳×2B=ℰ2,𝒳×3C=ℰ3.
Consider the following least squares problem:
(15)J1(𝒳)=12∥𝒳×1A-ℰ1∥2,J2(𝒳)=12∥𝒳×2B-ℰ2∥2,J3(𝒳)=12∥𝒳×3C-ℰ3∥2.
Note that the derivatives of Ji(i=1,2,3) with respect to 𝒳 are derived in [30] and are given by
(16)J1(𝒳)∂𝒳=(𝒳×1A-ℰ1)×1AT,J2(𝒳)∂𝒳=(𝒳×2B-ℰ2)×2BT,J3(𝒳)∂𝒳=(𝒳×3C-ℰ3)×3CT.
Minimizing Ji(𝒳)(i=1,2,3) leads to the following recursive equations:
(17)𝒳1k=𝒳1k-1+μ(ℰ1-𝒳1k-1×1A)×1AT,𝒳2k=𝒳2k-1+μ(ℰ2-𝒳2k-1×2B)×2BT,𝒳3k=𝒳3k-1+μ(ℰ3-𝒳3k-1×3C)×3CT,
where μ is iterative step length and is given in the following section.Substituting (13) into (17) and replacing the unknown variable 𝒳 in (13) with their estimate at time (k-1), we have
(18)𝒳1k=𝒳1k-1+μℛ1k-1×1AT,𝒳2k=𝒳2k-1+μℛ2k-1×2BT,𝒳3k=𝒳3k-1+μℛ3k-1×3CT,
where ℛik=𝒟-𝒳ik×1A-𝒳ik×2B-𝒳ik×3C  (i=1,2,3). Taking the average of 𝒳1k, 𝒳2k, and 𝒳3k, we obtain Algorithm 1.Algorithm 1:The gradient based iterative algorithm (GI).
Input:A,B,C,𝒟, and μ.
Output:𝒳.
Initialize𝒳0.
Fork=1,2,…,kmax
Computeℛk-1=𝒟-𝒳k-1×1A-𝒳k-1×2B-𝒳k-1×3C,
𝒳1k=𝒳k-1+μℛk-1×1AT,
𝒳2k=𝒳k-1+μℛk-1×2BT,
𝒳3k=𝒳k-1+μℛk-1×3CT,
𝒳k=(𝒳1k+𝒳2k+𝒳3k)/3.
EndRemark 2.
Note that when we compute𝒳2k in Algorithm 1, the 𝒳1k has been computed. Similarly, when we compute 𝒳3k, the 𝒳1k and 𝒳2k have been computed. Hence, we can fully take advantage of the information of 𝒳ik(i=1,2,3) to update the 𝒳k-1 and get a more efficient algorithm as in Algorithm 2.Algorithm 2:The modified gradient based iterative algorithm (MGI).
Input:A,B,C,𝒟, and κ.
Output:𝒳.
Initialize𝒳0.
Fork=1,2,…,kmax
𝒳1k=𝒳k-1+κ(𝒟-𝒳k-1×1A-𝒳k-1×2B-𝒳k-1×3C)×1AT,
𝒳k-1=(𝒳1k+𝒳2k-1+𝒳3k-1)/3,
𝒳2k=𝒳k-1+κ(𝒟-𝒳k-1×1A-𝒳k-1×2B-𝒳k-1×3C)×2BT,
𝒳k-1=(𝒳1k+𝒳2k+𝒳3k-1)/3,
𝒳3k=𝒳k-1+κ(𝒟-𝒳k-1×1A-𝒳k-1×2B-𝒳k-1×3C)×3CT,
𝒳k=(𝒳1k+𝒳2k+𝒳3k)/3.
End


## 4. Convergence Analysis

In this section, we will discuss convergence properties of the algorithms in the previous section. The following theorem provides a sufficient condition to guarantee convergence of the Algorithm1.Theorem 3.
If the Sylvester tensor equation (1) has a unique solution 𝒳* and 0<μ<2/(∥A∥22+∥B∥22+∥C∥22), then the iterative solution 𝒳k given by the Algorithm 1 converges to 𝒳* for arbitrary initial value 𝒳0.Proof.
Define the error tensors(19)𝒳~k:=𝒳k-𝒳,𝒳~ik:=𝒳ik-𝒳,(i=1,2,3),(20)𝒰k:=𝒳~k-1×1A,𝒱k:=𝒳~k-1×2B,𝒲k:=𝒳~k-1×3C.
Using (1) and Algorithm 1, the following equalities are trivial:
(21)𝒳~1k=𝒳~k-1-μℒk×1AT,𝒳~2k=𝒳~k-1-μℒk×2BT,𝒳~3k=𝒳~k-1-μℒk×3CT,
where ℒk=𝒰k+𝒱k+𝒲k. Taking norm on both sides of (21), and using (9)–(11), we have
(22)∥𝒳~1k∥2≤∥𝒳~k-1∥2+μ2∥A∥22∥ℒk∥2-2μ〈𝒰k,ℒk〉,∥𝒳~2k∥2≤∥𝒳~k-1∥2+μ2∥B∥22∥ℒk∥2-2μ〈𝒱k,ℒk〉,∥𝒳~3k∥2≤∥𝒳~k-1∥2+μ2∥C∥22∥ℒk∥2-2μ〈𝒲k,ℒk〉.
According to (19) and (22), we have
(23)∥𝒳~k∥2≤∥𝒳~1k∥2+∥𝒳~2k∥2+∥𝒳~3k∥23≤∥𝒳~k-1∥2+μ23∥ℒk∥2(∥A∥22+∥B∥22+∥C∥22)-2μ3∥ℒ∥2=∥𝒳~k-1∥2-μ3{2-μ(∥A∥22+∥B∥22+∥C∥22)}∥ℒk∥2≤∥𝒳~0∥2-μ3{2-μ(∥A∥22+∥B∥22+∥C∥22)}∑i=1k‍∥ℒi∥2,
that is,
(24)∥𝒳~k∥2+μ3{2-μ(∥A∥22+∥B∥22+∥C∥22)}∑i=1k‍∥ℒi∥2≤∥𝒳~0∥2.
Since 0<μ<2/(∥A∥22+∥B∥22+∥C∥22), we have
(25)∑i=1∞‍∥ℒi∥2≤∥𝒳~0∥2<∞.
This implies that as k→∞, ℒk→0, that is,
(26)𝒳~k-1×1A+𝒳~k-1×2B+𝒳~k-1×3C⟶0.
According to Lemma 1, 𝒳~k→0 as k→∞. Thus, the theorem holds.Based on Theorem3, we have the following theorem.Theorem 4.
If the Sylvester tensor equation (1) has a unique solution 𝒳* and 0<κ<min{1/∥A∥22,1/∥B∥22,1/∥C∥22}, then the iterative solution 𝒳k given by the Algorithm 2 converges to 𝒳* for any initial value 𝒳0.Proof.
The proof is similar to Theorem3 and hence omitted.Now we consider the convergence rate of the Algorithm1. From (19) and (21), it is not difficult to get the following residual error equation:
(27)vec(𝒳~k)=[Imnl-μ3P]kvec(𝒳~0),
where P=Il⊗In⊗ATA+Il⊗B⊗AT+C⊗In⊗AT+Il⊗BT⊗A+Il⊗BTB⊗Im+CT⊗In⊗A+CT⊗B⊗Im+C⊗BT⊗Im+CTC⊗In⊗Im. We observe that the closer the eigenvalues of μP are to 3, the closer the eigenvalues of Imnl-(μ/3)P tend to zero, and hence, the faster the residual error 𝒳~k converges to zero. So the convergence rate of Algorithm 1 depends on the condition number of the associated system [22]; that is, Algorithm 1 has a fast convergence rate for a small condition number of P. The analysis of Algorithm 2 is similar; hence, it is omitted here.


## 5. Numerical Experiments

This section gives some examples to illustrate the performance of the proposed algorithms. All the implementations are based on the codes from the MATLAB Tensor Toolbox developed by Bader and Kolda [31, 32].Example 5.
Let(28)A=(31-12),B=(11-11),C=(101-2),𝒟(:,:,1)=(10131511),𝒟(:,:,2)=(14330).
Then, the solution of 𝒳 is
(29)𝒳(:,:,1)=(1234),𝒳(:,:,2)=(4231).
Taking 𝒳0=0, μ=2.8*1/(∥A∥22+∥B∥22+∥C∥22)≈0.1067, κ=2.8*min{1/∥A∥22,1/∥B∥22,1/∥C∥22}≈0.2747, we apply Algorithms 1 and 2 to compute approximate solution in (1). Since the exact solution is known in this example, we plot the values ||𝒳k-𝒳||/||𝒳|| to indicate the convergence of the sequence {𝒳k}. These values are plotted on logarithmic scales, if the curve is approximate decreasing line, then it is indicated that the convergence of the sequence is at least linear.From Figure1, we can see that two algorithms are convergent linearly and MGI algorithm converges much faster than GI algorithm.Figure 1
Comparison of convergence curves using GI and MGI algorithms.Remark 6.
The effect of changing the step lengthμ and κ is illustrated in Figure 2. We observe that the larger the step length is, the faster the convergence of the algorithm. However, if the step length is too large, the algorithm may diverge. How to choose a best step length is still a issue to be studied [22].The effect of changing the step length.
(a)
(b)Example 7.
This example comes from [22], except for C and 𝒟 which will be set to a random matrix (and tensor). The MATLAB codes which generate these matrices and compute the step lengths are as follow:m=30; n=30; l=30; rand(’state’,0);alpha = 3;A = triu(rand(m,m),1) + diag(alpha +diag(rand(m)));B = triu(rand(n,n),1) + diag(alpha + diag(rand(n)));C = triu(rand(l,l),1) + diag(alpha+ diag (rand(l)));D = tenrand([m,n,l]);mu = 2.2/(norm(A)∧2 + norm(B)∧2 + norm(C)∧2); %Compute μkappa = 1.2 * min([1/norm(A)∧2,1/norm(B)∧2,1/norm(C)∧2]); %Compute κ.Since the exact solution in this example is unknown, we plot the relative residual errors
(30)∥𝒳k×1A+𝒳k×2B+𝒳k×3C-𝒟∥∥𝒟∥.From Figure3, we can see that the convergence of GI algorithm tends to slow down after some iterative steps. The MGI algorithm converges linearly, and much faster than GI method.Figure 3
Comparison of convergence curves using GI and MGI algorithms.Example 8.
In this example, we consider the effect of the condition number of matrixP on two algorithms. The stoping criterion is set to be 10-6. The MATLAB codes which generate these matrices are as follows:m=20; n=10; l=5; rand(’state’,0);A = rand(m,m) + diag(ones(m,1)) * alpha;B = rand(n,n) + diag(ones(n,1)) * alpha;C = rand(l,l) + diag(ones(l,1)) * alpha;D = tenrand([m,n,l]).For differentα, the number of iterations and the corresponding condition number (κ(P)) of the matrix P are outlined in Table 1.Table 1
The effect of the condition number of matrixP on two algorithms.
α
κ
(
P
)
The number of iteration (GI)
The number of iteration (MGI)
2
73.1190
461
377
3
22.1410
134
105
5
7.9640
44
33
8
4.1285
40
14The results of Table1 affirm the analysis at the end of Section 4. In particular, we see that the convergence rate becomes faster as the condition number of P decreases.


## 6. Conclusions

We have presented the gradient based iterative algorithms for solving Sylvester tensor equation, Sylvester matrix equation as a special case included. They are based on the hierarchical identification principle and tensor arithmetic concepts. The convergence analysis indicates that the iterative solutions given by the proposed algorithms converge to exact solution for any initial values. Such statement is also confirmed by the given numerical examples. In addition, the idea of this paper can be easily extended to study iterative solutions of high order (𝒳 is N-mode tensor) Sylvester tensor equation.



---

*Source: 819479-2013-03-19.xml*