PDL (Perl Data Language) gives standard Perl the ability to compactly store and quickly manipulate the large N-dimensional data arrays common to scientific computing. PDL turns Perl into an array-oriented, numerical language similar to such commercial packages as IDL and MatLab. One can write simple Perl expressions to manipulate entire numerical arrays all at once.
PDL provides extensive numerical and semi-numerical functionality with support for two- and three-dimensional visualisation as well as a variety of I/O formats. The goal is to allow PDL to interact with a variety of external numerical packages, graphics and visualisation systems. Easy interfacing to such systems is one of the core design features of PDL.
Download (HTTP): http://prdownloads.sourceforge.net/pdl/PDL-2.4.2.tar.gz
Download MD5 sum: edd056a006eae8b46e8ef804b9774a93
Download size: 2.1 MB
Estimated disk space required: 74 MB
Estimated build time: 2.56 SBU
PDL is a collection of over 90 Perl modules. Some of these modules require additional libraries and/or Perl modules for full functionality. Listed below are the modules which require additional software or configuration. If you don't need a particular module's functionality, you don't need to install its dependencies. The dependency tree for each module is listed downward, meaning you'll need to start at the bottom of a module's tree and work up. The dependencies are listed in the same order as they are in the DEPENDENCIES file, found in the package source tree.
The PDL::NiceSlice module is used to enhance PDL's slice syntax. “Slicing” is a term used in the process of creating a cross-section, or slice, of a PDL object (piddle).
The Inline::Pdlpp module allows you to define fast PP code inline in your scripts.
perldl is a simple shell (written in Perl) which allows interactive use of PDL.
The PDL::Graphics::TriD module implements a generic 3D plotting interface for PDL. Points, lines and surfaces (among other objects) are supported.
OpenGL (XFree86-4.5.0 or X.org-6.8.2)
The PDL::Graphics::PGPLOT module is a convenience interface to the PGPLOT commands, implemented using the object oriented PGPLOT plotting package in the PDL::Graphics::PGPLOT::Window module.
GCC-3.4.3 (Fortran compiler)
X (XFree86-4.5.0 or X.org-6.8.2), LessTif-0.94.4, Tk-8.4.11 and GCC-3.4.3 (Fortran compiler)
The PDL::Graphics::PLPLOT module is a simple interface to the PLplot plotting library.
pkg-config-0.19, X (XFree86-4.5.0 or X.org-6.8.2), GTK+-1.2.10, FreeType-2.1.10, GD, SVGAlib, GNOME Libraries-1.4.2, JDK-1.5.0, Tk-8.4.11, Python-2.4.1 (with the Numerical Extension), GCC-3.4.3 (Fortran compiler), SWIG, iTcl
The PDL::Graphics::IIS module provides an interface to any image display “device” which supports the “IIS protocol”.
X (XFree86-4.5.0 or X.org-6.8.2)
X (XFree86-4.5.0 or X.org-6.8.2) and Tk-8.4.11
The PDL::Graphics::Karma module is an interface to Karma visualisation applications.
X (XFree86-4.5.0 or X.org-6.8.2)
Note: You may need to modify the WHERE_KARMA => undef line in the source tree perldl.conf file to point to your installation of Karma
The PDL::IO::Pic module implements I/O for a number of popular image formats by exploiting the xxxtopnm and pnmtoxxx converters from the Netpbm package and the cjpeg and djpeg converters. It also contains the routine wmpeg to write MPEG movies from piddles representing image stacks.
Netpbm, libjpeg-6b and mpeg_encode
The PDL::Slatec module serves the dual purpose of providing an interface to parts of the slatec library and showing how to interface PDL to an external library. The module provides routines to manipulate matrices, calculate FFTs, fit data using polynomials, and interpolate/integrate data using piecewise cubic Hermite interpolation.
GCC-3.4.3 (Fortran compiler)
The PDL::GSL module is an interface to the functions provided by the Gnu Scientific Library.
The PDL::FFTW module is a means to interface PDL with the FFTW library. It's similar to the standard FFT routine but it's usually faster and has support for real transforms. It works well for the types of piddles for which the library was compiled (otherwise it must do conversions).
The PDL::IO::Browser module is a 2D cursor terminal data browser for piddles.
There is no additional software required to use the module. However, the default is to not install the module because some platforms don't provide a curses compatible library. To enable the module, issue the following command:
sed -i -e "s/WITH_IO_BROWSER => 0/WITH_IO_BROWSER => 1/" \ perldl.conf
The PDL::IO::NDF module adds the ability to read and write Starlink N-dimensional data files as N-dimensional piddles.
Install PDL (and all the dependency Perl modules) by running the following commands:
perl Makefile.PL && make && make test
Now, as the root user:
make install
See http://pdl.sourceforge.net/PDLdocs/perldl.html#the startup file ~/.perldlrc for information about configuring perldl to suit your needs.
Last updated on 2005-08-01 13:29:19 -0600