## Block Tridiagonal Solver

version 1.0.3 (1.6 KB) by
Solves the block tridiagonal system Ax=d, where a, b, and c are the three diagonals of A.

Updated Sat, 28 May 2022 06:31:05 +0000

% Solves the block tridiagonal system Ax=d, where a, b, and c are the three
% diagonals of A. If the size of the block is n-by-n, then b is M*n-by-n, d
% is M*n-by-*, a and c are each (M-1)*n-by-n.
%
% M = 12; n = 3;
% a = rand((M-1)*n,n); b = 3+2*rand(M*n,n); c = rand((M-1)*n,n);
% d = rand(M*n,10);
% x = BlockTriSolve(a, b, c, d);
%
% We can make block matrix A = BlockDiag(a, n, n, -1) + BlockDiag(b, n, n)
% + BlockDiag(c, n, n, 1); and then x = A\d to confirm the solution.
%
% Computational Cost of this method is 2M(13n^3/3+4n^2-4n/3). The cost is
% of order M*n^3. This is better than the backslash which is order (M*n)^3

### Cite As

Lateef Adewale Kareem (2022). Block Tridiagonal Solver (https://www.mathworks.com/matlabcentral/fileexchange/76078-block-tridiagonal-solver), MATLAB Central File Exchange. Retrieved .

##### MATLAB Release Compatibility
Created with R2020a
Compatible with any release
##### Platform Compatibility
Windows macOS Linux

### Community Treasure Hunt

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

Start Hunting!