Code Downloads

Code for solving the example problems may be downloaded from this page. Four different languages are supported (more or less): (1) Matlab/Octave, (2) Fortran 90/95/2xxx (3) C++ and (4) Excel. The zip files below contain all the code needed to solve the examples described in the text. All of these codes have been tested on a Windows 10 computer running Octave and GNU compilers under Cygwin. If you have trouble with any of these codes please contact me,


Codes.pdf - a simple manual/description of the example codes and supporting utility programs. It explains how to create and use the various codes.



The Matlab code is in:

Read the PDF file for a description of the codes and how they are arranged. All have been tested using Octave 4.2.1 running under the Cygwin system. The fundamental calculations are now all in native Matlab code and are probably the most efficient you will find. I am told that Octave is highly compatible with Matlab provided Octave specific syntax is avoided. Octave provides no option to run in Matlab compatibility mode, so compatibility must be enforced manually. I have tried to write compatible code, but I have no way to check it using a true Matlab system. If you have trouble with the code, please contact me.


Fortran 90/95/20xx

The Fortran code is in:

A makefile is included for creating the support code and examples. Read the PDF for a description and instructions on compilation. I believe this code provides a good example of how to write modern Fortran. For example, the fundamental calculations are in a module with a modern interface and coding style. This is probably the best code you will find for these calculations. The code relies on LAPack routines for linear algebra, but you do not have to install the library. The LAPack routines are packaged in two modules and use wrappers which makes them easy to use and hides all the ugly old style Fortran.



The C++ code is in:

I am way behind in C++ coding. The fundamental calculation has no support for Chebyshev points, and relies on some inferior methods. However, it is written in an object oriented style, so the internal calculations can be improved and extended without affecting codes using it. There is a simple program to demonstrate fundamental calculations and the first example problem from Ch 3. I have deemphasized C++ somewhat due to the size of this project and because I assume Matlab is of greater importance. It would help if I got some feedback from those following this project.



The code for 32-bit Excel is in:

The situation with Excel support is even worse than with C++. The dynamic link library for Excel was created using an older Fortran compiler running directly under windows. I have discovered it is not compatible with a new computer running 64-bit Excel 2016. I will have to find a compiler which can create a dll for Windows. The zip file contains the 32-bit OCCdll.dll, VBA code, and spreadsheets to demonstrate.



You are visitor number

Since September 3, 2017