Block Tridiagonal Solver
Versión 1.0.3 (1,6 KB) por
Lateef Adewale Kareem
Solves the block tridiagonal system Ax=d, where a, b, and c are the three diagonals of A.
% 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
Citar como
Lateef Adewale Kareem (2024). Block Tridiagonal Solver (https://www.mathworks.com/matlabcentral/fileexchange/76078-block-tridiagonal-solver), MATLAB Central File Exchange. Recuperado .
Compatibilidad con la versión de MATLAB
Se creó con
R2020a
Compatible con cualquier versión
Compatibilidad con las plataformas
Windows macOS LinuxEtiquetas
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Descubra Live Editor
Cree scripts con código, salida y texto formateado en un documento ejecutable.