A collection of source modules for matrix operations (multiplication, inversion, eigenvalues, etc.), differential equation solving, Fast Fourier Transform, manipulation of polynomials and rational functions.
Program is distributed as ZIP package: download to temporary directory and unpack to destination folder. See below for download link(s).
Following ones are the download links for manual installation:
Numerical analysis library v. 0.4 (21/4/2016, Peter Moylan) | Readme/What's new |
MODULA-2 NUMERICAL ANALYSIS SOFTWARE
Current version: Numana04
Last updated: 21 April 2016.
This package is freeware. Do with it what you wish, but don't expect
it to be a fully professional package. Its main purpose is to give
you some ideas about how to deal with variable-sized data structures.
Like all free software, this comes "as is" with no warranties as to
its fitness for a particular purpose. If you use it, you must agree
to accept full responsibility for any consequences of its use.
If you don't agree with this condition, don't use the software.
You have permission to extend and modify the software, and indeed
this is encouraged. (If enough volunteers do this, we can build up
to a more complete numerical analysis library.)
If you are going to use this material for something like a homework
assignment, then I (and presumably also your instructor) expect a
citation to the original source material. Just like a paper in a
research journal, this software collection is a "publication" with
an identified author. (See the end of this document.)
CONTENTS
After unzipping this package you should find several directories.
The top-level directory contains some project files - you can
throw these away if your compiler doesn't use them.
Sources are contained in the following subdirectories:
DEF The definition modules
SRC This is where the interesting stuff is.
SRC\TESTS Some test programs for exercising the modules.
The main library modules are:
Cx Complex number arithmetic
Fourier Fast Fourier transform.
Integration Routines to solve ordinary differential equations.
Vec Vector operations.
Mat Matrix operations, including eigenvalues, inverse, etc.
MatExtra Some more matrix operations: QR and LQ factorisation,
Cholesky decomposition, pseudoinverse,
singular value decomposition.
Poly Manipulation of polynomials, including root-finding.
Rational Manipulation of rational functions (ratios of polynomials)
MiscM2 Miscellaneous procedures, collected in one module to
ease the porting of the other modules to various
environments.
The software is written in ISO Modula-2. It should not be too
difficult to translate it into any other language, if that's
what you want to do.
You'll notice that all modules use the data type LONGREAL extensively.
This is because of a peculiar feature of the floating point hardware
in a PC: although LONGREAL gives better precision than REAL, the
extra time overhead is negligible. (There is of course a space
overhead.) If you don't like this decision, you can safely change
LONGREAL to REAL in all modules.
You'll also notice that the modules use some features of
ISO standard Modula-2 (notably 2-dimensional open arrays)
which aren't supported by some older compilers. If you
have a PIM-style compiler (e.g. FST, TopSpeed), then you
need an older version of this package. You can find
the older (DOS) version on the web site below.
AUTHOR INFORMATION
Peter Moylan
e-mail: peter@pmoylan.org
WWW: http://www.pmoylan.org |
hobbes.nmsu.edu/download/pub/os2/dev/proglang/modula/NumAnal_04.zip |
This work is licensed under a Creative Commons Attribution 4.0 International License.
Comments
Martin Iturbide
Tue, 08/08/2023 - 23:13
Permalink
https://hobbes.nmsu.edu
Add new comment