View License

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Highlights from
Fast Pentadiagonal System Solver

4.3 | 6 ratings Rate this file 4 Downloads (last 30 days) File Size: 2.01 KB File ID: #4671 Version: 1.0

Fast Pentadiagonal System Solver



23 Mar 2004 (Updated )

Solves symmetric and asymmetric pentadiagonal systems.

| Watch this File

File Information

Solves the problem Ax=b when A is pentadiagonal (5-banded) and strongly nonsingular. This is much faster than x=A\b for large matrices. The algorithm will check to see if A is symmetric and use a more efficient algorithm if it is. Users are encouraged to improve and redistribute this script.


Fast Tridiagonal System Solver inspired this file.

MATLAB release MATLAB 6.0 (R12)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (8)
02 Nov 2016 Terry Shen

09 Aug 2014 AAAA

AAAA (view profile)

10 Dec 2013 jeon jiyeon


Comment only
08 Dec 2007 Tim Davis

For production use, this function is superseded by x=A\b in MATLAB, which now includes a test for banded matrices (and uses LAPACK). I compared it in MATLAB 7.5 with A=spdiags(rand(n,5),-2:2,n,n); A=A+A'+10*speye(n) which is symmetric and positive definite. This pentsolve function was from 20x to 230x slower than x=A\b, as n increased from 100 to 10,000. The slowdown is linear; that is, this function seems to behave like O(n^2) time (which is surprising since the code doesn't have an O(n^2) behavior in it). The same thing occurs with unsymmetric banded matrices.

The accuracy of this function is fine. Its purpose now on the File Exchange is now no longer the need for speed; it's only for illustrating an algorithm (for which it's still useful).

Thus, if you're looking just to solve Ax=b for your pentadiagonal system, just use x=A\b. If you want to read the code to understand an algorithm, then this code is still useful.

Comment only
30 Jul 2007 Hassan R.

You can make slight changes to the code to fit your problem. You can save a lot of computation time.

14 Apr 2007 Mohd osman

17 Aug 2004 Bastiaan Huisman

Great Stuff!

26 Apr 2004 Jagadeesha Kumar

Thanks a lot for this matlab code.. This has really made the execution of programs faster.. Thanks again...

Contact us