Bartels–Stewart Algorithm
   HOME

TheInfoList



OR:

In
numerical linear algebra Numerical linear algebra, sometimes called applied linear algebra, is the study of how matrix operations can be used to create computer algorithms which efficiently and accurately provide approximate answers to questions in continuous mathematics ...
, the Bartels–Stewart algorithm is used to numerically solve the Sylvester matrix equation AX - XB = C. Developed by R.H. Bartels and G.W. Stewart in 1971, it was the first
numerically stable In the mathematical subfield of numerical analysis, numerical stability is a generally desirable property of numerical algorithms. The precise definition of stability depends on the context. One is numerical linear algebra and the other is algor ...
method that could be systematically applied to solve such equations. The algorithm works by using the real Schur decompositions of A and B to transform AX - XB = C into a triangular system that can then be solved using forward or backward substitution. In 1979, G. Golub, C. Van Loan and S. Nash introduced an improved version of the algorithm, known as the Hessenberg–Schur algorithm. It remains a standard approach for solving Sylvester equations when X is of small to moderate size.


The algorithm

Let X, C \in \mathbb^, and assume that the eigenvalues of A are distinct from the eigenvalues of B. Then, the matrix equation AX - XB = C has a unique solution. The Bartels–Stewart algorithm computes X by applying the following steps: 1.Compute the real Schur decompositions : R = U^TAU, : S = V^TB^TV. The matrices R and S are block-upper triangular matrices, with diagonal blocks of size 1 \times 1 or 2 \times 2. 2. Set F = U^TCV. 3. Solve the simplified system RY - YS^T = F, where Y = U^TXV. This can be done using forward substitution on the blocks. Specifically, if s_ = 0, then : (R - s_I)y_k = f_ + \sum_^n s_y_j, where y_kis the kth column of Y. When s_ \neq 0, columns y_ \mid y_/math> should be concatenated and solved for simultaneously. 4. Set X = UYV^T.


Computational cost

Using the
QR algorithm In numerical linear algebra, the QR algorithm or QR iteration is an eigenvalue algorithm: that is, a procedure to calculate the eigenvalues and eigenvectors of a matrix. The QR algorithm was developed in the late 1950s by John G. F. Francis and b ...
, the real Schur decompositions in step 1 require approximately 10(m^3 + n^3) flops, so that the overall computational cost is 10(m^3 + n^3) + 2.5(mn^2 + nm^2).


Simplifications and special cases

In the special case where B=-A^T and C is symmetric, the solution X will also be symmetric. This symmetry can be exploited so that Y is found more efficiently in step 3 of the algorithm.


The Hessenberg–Schur algorithm

The Hessenberg–Schur algorithm replaces the decomposition R = U^TAU in step 1 with the decomposition H = Q^TAQ, where H is an upper-Hessenberg matrix. This leads to a system of the form HY - YS^T = F that can be solved using forward substitution. The advantage of this approach is that H = Q^TAQ can be found using Householder reflections at a cost of (5/3)m^3 flops, compared to the 10m^3 flops required to compute the real Schur decomposition of A.


Software and implementation

The subroutines required for the Hessenberg-Schur variant of the Bartels–Stewart algorithm are implemented in the SLICOT library. These are used in the MATLAB control system toolbox.


Alternative approaches

For large systems, the \mathcal(m^3 + n^3) cost of the Bartels–Stewart algorithm can be prohibitive. When A and B are sparse or structured, so that linear solves and matrix vector multiplies involving them are efficient, iterative algorithms can potentially perform better. These include projection-based methods, which use
Krylov subspace In linear algebra, the order-''r'' Krylov subspace generated by an ''n''-by-''n'' matrix ''A'' and a vector ''b'' of dimension ''n'' is the linear subspace In mathematics, and more specifically in linear algebra, a linear subspace, also known ...
iterations, methods based on the alternating direction implicit (ADI) iteration, and hybridizations that involve both projection and ADI. Iterative methods can also be used to directly construct low rank approximations to X when solving AX-XB = C.


References

{{DEFAULTSORT:Bartels-Stewart algorithm Algorithms Control theory Matrices Numerical linear algebra