%general-entities; ]> $LastChangedBy$ $Date$ <application><acronym>PDL</acronym></application>-&pdl-version; PDL Introduction to <application><acronym>PDL</acronym></application> 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 commerical 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. Package information Download (HTTP): Download (FTP): Download MD5 sum: &pdl-md5sum; Download size: &pdl-size; Estimated disk space required: &pdl-buildsize; Estimated build time: &pdl-time; <application><acronym>PDL</acronym></application> dependencies 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. <application><acronym>PDL</acronym></application>::NiceSlice 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). Filter-&Filter-version; Inline::Pdlpp The Inline::Pdlpp module allows you to define fast PP code inline in your scripts. Inline-&Inline-version; Parse-RecDescent-&Parse-RecDescent-version; perldl perldl is a simple shell (written in Perl) which allows interactive use of PDL. Term-ReadLine-Gnu-&Term-ReadLine-Gnu-version; <application><acronym>PDL</acronym></application>::Graphics::TriD The PDL::Graphics::TriD module implements a generic 3D plotting interface for PDL. Points, lines and surfaces (among other objects) are supported. OpenGL ( or ) <application><acronym>PDL</acronym></application>::Graphics::PGPLOT 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. pgperl ExtUtils-F77-&ExtUtils-F77-version; (Fortran compiler) PGPLOT X ( or ), , and (Fortran compiler) <application><acronym>PDL</acronym></application>::Graphics::PLPLOT The PDL::Graphics::PLPLOT module is a simple interface to the PLplot plotting library. PLplot , X ( or ), , , GD, SVGAlib, , , , (with the Numerical Extension), (Fortran compiler), SWIG, iTcl <application><acronym>PDL</acronym></application>::Graphics::IIS The PDL::Graphics::IIS module provides an interface to any image display device which supports the IIS protocol. SAOimage X ( or ) X11 IRAF X ( or ) and <application><acronym>PDL</acronym></application>::Graphics::Karma The PDL::Graphics::Karma module is an interface to Karma visualisation applications. Karma X ( or ) 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 <application><acronym>PDL</acronym></application>::<acronym>IO</acronym>::Pic 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, and mpeg_encode <application><acronym>PDL</acronym></application>::Slatec 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. ExtUtils-F77-&ExtUtils-F77-version; (Fortran compiler) <application><acronym>PDL</acronym></application>::<application><acronym>GSL</acronym></application> The PDL::GSL module is an interface to the functions provided by the Gnu Scientific Library. GSL <application><acronym>PDL</acronym></application>::<application><acronym>FFTW</acronym></application> 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). FFTW-2.x <application><acronym>PDL</acronym></application>::<acronym>IO</acronym>::Browser 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 <application><acronym>PDL</acronym></application>::<acronym>IO</acronym>::<acronym>NDF</acronym> The PDL::IO::NDF module adds the ability to read and write Starlink N-dimensional data files as N-dimensional piddles. Astro-FITS-Header-&Astro-FITS-Header-version; Astro-FITS-CFITSIO-&Astro-FITS-CFITSIO-version; CFITSIO NDFPERL-&NDF-version; Starlink-Config-&Starlink-Config-version; Starlink IMG Starlink NDF (Fortran compiler) GSDPERL-&GSD-version; Starlink-Config-&Starlink-Config-version; Starlink GSD (Fortran compiler) Installation of <application><acronym>PDL</acronym></application> 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 Configuring <application><acronym>PDL</acronym></application> Config files ~/.perldlrc and local.perldlrc in the current directory ~/.perldlrc local.perldlrc Configuration information See for information about configuring perldl to suit your needs. Contents Installed Programs Installed Modules Installed Directories pdl, pdldoc, perldl and pptemplate 90+ individual Perl modules /usr/lib/perl5/site_perl/&LFS-Perl-version;/i686-linux/{,auto/}PDL Short Descriptions pdl is a binary program called from PDL scripts which is used to interface perldl. pdl pdldoc is a shell interface to PDL documentation. pdldoc perldl is a simple shell (written in Perl) for interactive use of PDL. perldl pptemplate is a script to generate Makefile.PL and PP file skeletons. pptemplate