Create banded matrix from arbitrary real square matrix

Create a banded matrix B with bandwidth bw from an arbitrary real square matrix A
3 Downloads
Updated 2 Aug 2023

View License

Create a banded matrix B with bandwidth bw from an arbitrary real square matrix A using a similarity transformation.
[B, T, Ti] = banddiag(A, bw) produces a banded matrix B with bandwidth bw and the similarity transformation matrix T and its inverse Ti so that B = T*A*Ti and T*Ti = I. The matrix B has nonzero entries only on the main diagonal and bw diagonals on either side.
The Algorithm uses successive QR steps to reduce the input matrix A to a banddiagonal structure.
The bandwidth bw is an integer with bw > 0. For b == 1, the matrix B becomes tridiagonal and for bw >= n-1, the matrix B is equal to A.

Cite As

Michael Hubatka (2024). Create banded matrix from arbitrary real square matrix (https://www.mathworks.com/matlabcentral/fileexchange/133177-create-banded-matrix-from-arbitrary-real-square-matrix), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2022a
Compatible with R2019b and later releases
Platform Compatibility
Windows macOS Linux
Acknowledgements

Inspired by: Tridiagonalize arbitrary real square matrices

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.0.0