%general-entities; ]> $LastChangedBy$ $Date$ PDL-&pdl-version; PDL Introduction to PDL 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. 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; PDL Dependencies PDL is a collection of over 90 Perl modules. Some of these modules require additional libraries, packages 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. This package (and many of the dependency packages) requires a Fortran compiler for full functionality of all the different modules. The gfortran compiler installed with the current BLFS version of GCC (&gcc-version;) will not work. If you want to compile the parts of this package that require a Fortran compiler, you'll need to install a GCC-3.x.x version of Fortran. The GCC developers recommend using Fortran from GCC-3.4.6. You can find specific instructions to install a GCC-3.4.6 compiler on the BLFS Wiki. PDL::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; PDL::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 () PDL::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. PGPLOT-&PGPLOT-perl-version; ExtUtils-F77-&ExtUtils-F77-version; a Fortran compiler PGPLOT , LessTif, , and a Fortran compiler PDL::Graphics::PLPLOT The PDL::Graphics::PLPLOT module is a simple interface to the PLplot plotting library. PLplot , , GD, SVGAlib, GNOME Libraries-1.4, , , (with Numeric Python), a Fortran compiler, SWIG, and iTcl PDL::Graphics::IIS The PDL::Graphics::IIS module provides an interface to any image display device which supports the IIS protocol. SAOimage X11 IRAF and PDL::Graphics::Karma The PDL::Graphics::Karma module is an interface to Karma visualisation applications. Karma Note: You may need to modify the line in the source tree perldl.conf file to point to your installation of Karma PDL::IO::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 PDL::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; a Fortran compiler PDL::GSL The PDL::GSL module is an interface to the functions provided by the Gnu Scientific Library. PDL::FFTW 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 PDL::IO::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 PDL::IO::NDF 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 NDF-&NDF-version; Starlink-Config-&Starlink-Config-version; Starlink IMG Starlink NDF (requires the following Starlink modules installed in this order, some will already be installed if you installed Starlink GSD): HTX, SAE, HLP, CNF, SLA, CHR, EMS, PSX, HDS, PCS, MER, PRM, PAR, ARY, AST) a Fortran compiler GSD-&GSD-version; Starlink-Config-&Starlink-Config-version; Starlink GSD (requires the following Starlink modules installed in this order: HTX, SAE, CNF, CHR, EMS, PRM) a Fortran compiler User Notes: Installation of PDL Install PDL (and all the dependency Perl modules) by running the following commands: sed -i 's/\(dirname);\)/\1\nuse blib;/' Demos/BAD*demo.pm.PL && perl Makefile.PL && make && make test Now, as the root user: make install Command Explanations sed -i '...' Demos/BAD*demo.pm.PL: This is necessary to fix a build issue caused by changes in ExtUtils::MakeMaker-6.30 which was introduction in Perl-5.8.8. Configuring PDL 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