Code Downloads

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

 

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

 

Python (Jan. 2020)

The Python code is in:

Python_Code.zip

Read the PDF file above for an explanation. These have been run with Python 3.7.4 under Windows 10 and Cygwin.

 

Matlab/Octave (Aug. 2017)

The Matlab code is in:

Matlab_Octave.zip

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 (Jan. 2020)

The latest Fortran code is in:

F90_Code.zip

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.

 

C++ (Feb. 2017)

The C++ code is in:

Cpp_1.zip

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 and Python are of greater importance. It would help if I got some feedback from those following this project.

 

Excel

The Feb. 2016 code for 32-bit Excel is in:

Exel_1.zip

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. The zip file contains the 32-bit OCCdll.dll, VBA code, and spreadsheets to demonstrate their usage. Online documentation suggests 64 bit libraries can be created with the GNU compilers, but my attempts to do so have failed and my requests for help remain unanswered (see https://stackoverflow.com).

 

 

You are visitor number

Since September 3, 2017