Table of Contents
Fetching ...

A non-recursive Schur-Decomposition Algorithm for $N$-Dimensional Matrix Equations

Carlota M. Cuesta, Francisco de la Hoz

TL;DR

This work introduces a non-recursive, Schur-based generalization of the Bartels-Stewart algorithm to solve $N$-dimensional Sylvester equations of the form $ extstyle extstyle extstyle extstyle extstyle extstyle extstyle extstyle extstyle extstyle extstyleigl( extstyle extstyle extstyle extstyle extstyleoldsymbol A_1 oxdot_1 extbf X + extstyle extstyle extstyle extstyle extstyleoldsymbol A_2 oxdot_2 extbf X + obreak dots + oldsymbol A_N oxdot_N extbf Xigr) = extbf B$, by performing Schur decompositions $oldsymbol A_j=oldsymbol U_j oldsymbol T_j oldsymbol U_j^*$ and reducing to an equation for $ extbf Y$ that can be solved entrywise in a single pass. The method delivers a clear existence condition, a detailed flop-count, and a dimension-independent, non-recursive implementation that scales as $ ext{O}(n^{N+1})$ for equal-size blocks, with provable accuracy demonstrated up to $N=29$ and practical success on linear ODEs and advection–diffusion PDEs. The Matlab implementation relies on a compact multdimensional multiplication primitive and a one-loop loop over all index-tuples, enabling high-dimensional problems to be tackled within memory constraints. Overall, the approach provides a scalable, implementable tool for large-scale multidimensional matrix equations and their PDE discretizations, offering substantial speed and stability benefits over recursive schemes.

Abstract

In this paper, we develop an iterative method, based on the Bartels-Stewart algorithm to solve $N$-dimensional matrix equations, that relies on the Schur decomposition of the matrices involved. We remark that, unlike other possible implementations of that algorithm, ours avoids recursivity, and makes an efficient use of the available computational resources, which enables considering arbitrarily large problems, up to the size of the available memory. In this respect, we have successfully solved matrix equations in up to $N = 29$ dimensions. We explain carefully all the steps, and calculate accurately the computational cost required. Furthermore, in order to ease the understanding, we offer both pseudocodes and full Matlab codes, and special emphasis is put on making the implementation of the method completely independent from the number of dimensions. As an important application, the method allows to compute the solution of linear $N$-dimensional systems of ODEs of constant coefficients at any time $t$, and, hence, of evolutionary PDEs, after discretizing the spatial derivatives by means of matrices. In this regard, we are able to compute with great accuracy the solution of an advection-diffusion equation on $\mathbb R^N$.

A non-recursive Schur-Decomposition Algorithm for $N$-Dimensional Matrix Equations

TL;DR

This work introduces a non-recursive, Schur-based generalization of the Bartels-Stewart algorithm to solve -dimensional Sylvester equations of the form , by performing Schur decompositions and reducing to an equation for that can be solved entrywise in a single pass. The method delivers a clear existence condition, a detailed flop-count, and a dimension-independent, non-recursive implementation that scales as for equal-size blocks, with provable accuracy demonstrated up to and practical success on linear ODEs and advection–diffusion PDEs. The Matlab implementation relies on a compact multdimensional multiplication primitive and a one-loop loop over all index-tuples, enabling high-dimensional problems to be tackled within memory constraints. Overall, the approach provides a scalable, implementable tool for large-scale multidimensional matrix equations and their PDE discretizations, offering substantial speed and stability benefits over recursive schemes.

Abstract

In this paper, we develop an iterative method, based on the Bartels-Stewart algorithm to solve -dimensional matrix equations, that relies on the Schur decomposition of the matrices involved. We remark that, unlike other possible implementations of that algorithm, ours avoids recursivity, and makes an efficient use of the available computational resources, which enables considering arbitrarily large problems, up to the size of the available memory. In this respect, we have successfully solved matrix equations in up to dimensions. We explain carefully all the steps, and calculate accurately the computational cost required. Furthermore, in order to ease the understanding, we offer both pseudocodes and full Matlab codes, and special emphasis is put on making the implementation of the method completely independent from the number of dimensions. As an important application, the method allows to compute the solution of linear -dimensional systems of ODEs of constant coefficients at any time , and, hence, of evolutionary PDEs, after discretizing the spatial derivatives by means of matrices. In this regard, we are able to compute with great accuracy the solution of an advection-diffusion equation on .

Paper Structure

This paper contains 9 sections, 1 theorem, 50 equations, 1 figure, 3 algorithms.

Key Result

Theorem 3.1

Consider the system of ODEs where $\mathbf A_j \equiv (a_{j,i_1i_2})\in\mathbb C^{n_j\times n_j}$, and $\mathbf B\equiv(b_{i_1i_2\ldots i_N})\in\mathbb C^{n_1\times n_2\times\ldots\times n_N}$ are time independent, and $\mathbf X\equiv\mathbf X(t)\equiv(x_{i_1i_2\ldots i_N}(t)) \in\mathbb C^{n_1\times n_2\times \ldots\times n_

Figures (1)

  • Figure 1: Elapsed time need to solve an $N$-dimensional problem, where $\mathbf X\in\mathbb C^{2\times2\times\ldots\times2}$.

Theorems & Definitions (3)

  • Remark 1
  • Theorem 3.1
  • proof