Content deleted Content added
No edit summary |
m Moving Category:Matrices to Category:Matrices (mathematics) per Wikipedia:Categories for discussion/Speedy |
||
(14 intermediate revisions by 10 users not shown) | |||
Line 1:
{{short description|Algorithm in numerical linear algebra}}
In [[numerical linear algebra]], the '''Bartels–Stewart algorithm''' is used to numerically solve the [[Sylvester equation|Sylvester matrix equation]] <math> AX - XB = C</math>. Developed by R.H. Bartels and G.W. Stewart in 1971,<ref name=":0">{{Cite journal|
== The algorithm ==
Let <math>X, C \in \mathbb{R}^{m \times n}</math>, and assume that the eigenvalues of <math>A</math> are distinct from the eigenvalues of <math>B</math>. Then, the matrix equation <math> AX - XB = C</math> has a unique solution. The Bartels–Stewart algorithm computes <math>X</math> by applying the following steps:<ref name=":1" />
1.Compute the [[Schur decomposition|real Schur decompositions]]
Line 11:
: <math>S = V^TB^TV.</math>
The matrices <math>R
2. Set <math>F = U^TCV.</math>
Line 19:
: <math>(R - s_{kk}I)y_k = f_{k} + \sum_{j = k+1}^n s_{kj}y_j,</math>
where <math>y_k</math> is the <math>k</math>th column of <math>Y</math>. When <math>s_{k-1, k} \neq 0</math>, columns <math>[ y_{k-1} \mid y_{k}]</math> should be concatenated and solved for simultaneously.
4. Set <math>X = UYV^T.</math>
=== Computational cost ===
Using the [[QR algorithm]], the [[Schur decomposition| real Schur decompositions]] in step 1 require approximately <math>10(m^3 + n^3)</math> flops, so that the overall computational cost is <math>10(m^3 + n^3) + 2.5(mn^2 + nm^2)</math>.<ref name=":1" />
=== Simplifications and special cases ===
In the special case where <math>B=-A^T</math> and <math>C</math> is symmetric, the solution <math>X</math> will also be symmetric. This symmetry can be exploited so that <math>Y</math> is found more efficiently in step 3 of the algorithm.<ref name=":0" />
▲In the special case where <math>B=-A^T</math> and <math>C</math> is symmetric, the solution <math>X</math> will also be symmetric. This symmetry can be exploited so that <math>Y</math> is found more efficiently in step 3 of the algorithm<ref name=":0" />.
== The Hessenberg–Schur algorithm ==
Line 37 ⟶ 36:
== Alternative approaches ==
For large systems, the <math>\mathcal{O}(m^3 + n^3)</math> cost of the Bartels–Stewart algorithm can be prohibitive. When <math>A</math> and <math>B</math> 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 method|Krylov subspace]] iterations, methods based on the [[Alternating direction implicit method|alternating direction implicit]] (ADI) iteration, and hybridizations that involve both projection and ADI.<ref>{{Cite journal|last=Simoncini|first=V.|s2cid=17271167|date=2016|title=Computational Methods for Linear Matrix Equations|journal=SIAM Review|language=en-US|volume=58|issue=3|pages=377–441|doi=10.1137/130912839|issn=0036-1445|hdl=11585/586011|hdl-access=free}}</ref>
== References ==
Line 44 ⟶ 43:
{{Numerical linear algebra}}
{{DEFAULTSORT:Bartels-Stewart algorithm}}
[[Category:Linear algebra]]▼
[[Category:Algorithms]]
[[Category:Control theory]]
[[Category:Matrices (mathematics)]]
|