Create banded matrix from arbitrary real square matrix
Version 1.0.0 (2.89 KB) by
Michael Hubatka
Create a banded matrix B with bandwidth bw from an arbitrary real square matrix A
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 (2026). Create banded matrix from arbitrary real square matrix (https://uk.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 LinuxTags
Acknowledgements
Inspired by: Tridiagonalize arbitrary real square matrices
Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
| Version | Published | Release Notes | |
|---|---|---|---|
| 1.0.0 |
