Skip to content
/ FPML Public

Fourth order Parallelizable Modified Laguerre method

License

Notifications You must be signed in to change notification settings

trcameron/FPML

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FPML

FPML: Fourth-order Parallelizable Modified Laguerre method is a collection of Fortran subroutines for computing the roots of a univariate polynomial. All subroutines are located in the module fpml inside the src directory.

Authors

Instructions

Below are instructions for the installation of FPML, the testing of FPML, and compiling of TeX figures. These instructions have been tested on macOS High Sierra 10.13.3 and Ubuntu 16.04.4 LTS and will work on most Mac and Linux systems provided the dependencies are met.

Installation

First, open the make.inc file to specify the Fortran compiler and flags. The default settings use the gfortran compiler with flags -O2. Once these parameters are set, the fpml_driver and testing library can be installed by running make install from the root directory of FPML, in the terminal. Once installed, make clean can be run to remove the leftover installation files, such as .mod and .o files. Note that the installation is done relative to the location of the FPML directory and nothing is installed outside of this directory. To uninstall simply run make uninstall from the root directory of FPML.

When running the fpml_driver, the program will expect the name of a file located in data_files. This file is expected to store the coefficients of a polynomial as follows: The first row contains the degree, and every subsequent line contains the coefficients from constant to leading (e.g., see poly1.dat). If no data file is given, then the program will run on poly1.dat by default. Each computed root, its backward error, and condition number is recorded in the file results.dat located in data_files.

Run Tests

All tests that were used in the research and development of FPML are included in the tests directory, along with 3rd party software from AMVW [4] and Polzeros [5]. The Fortran 90 software for AMVW is now maintained at https://github.com/eiscor/eiscor, and the Fortran90 software for Polzeros can be downloaded at https://jblevins.org/mirror/amiller/.

Each test can be run individually using the executables inside the tests directory. When running tests that depend on the AMVW eiscor library, Mac users may need to set the DYLD_LIBRARY_PATH, see the run_tests.sh file in the tests directory for the proper export command. Note that the tests init_est, methods, rand_poly, and unity take on three parameters: startDegree, endDegree, and itnum. If these parameters are not given, then each test runs on its default setting that is set in its respective source file, located in tests/src. One may also run all tests by running make run from the root directory of FPML, the parameters for these test runs may be set from within the make.inc file.

Compile TeX

After running a test, the results will be in a file (named after the test) located in tests/data_files. These data files can be viewed as is, or a figure displaying the data can be generated by compiling the associated TeX file (also named after the test) located in tests/TeX. All images can be created and moved into the tests/figures file by running make compile from the root directory of FPML.

The compilation of these TeX files requires pdflatex and imagemagick to first compile the pdf and then convert it to a png. For specific package dependencies see the individual TeX files but note that the typical TeX Live installation should include all necessary packages.

About

Fourth order Parallelizable Modified Laguerre method

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published