PDL::Intro
INTRO(O)       User Contributed Perl Documentation       INTRO(O)



NAME
       PDL::Intro - Introduction to the Perl Data Language

       Version 2.0

       "Why is it that we entertain the belief that for every
       purpose odd numbers are the most effectual?" - Pliny the
       Elder.

       Karl Glazebrook [karlglazebrook@yahoo.com]

DESCRIPTION
       Perl is an extremely good and versatile scripting lan-
       guage, well suited to beginners and allows rapid prototyp-
       ing. However until recently it did not support data struc-
       tures which allowed it to do fast number crunching.

       However with the development of Perl v5, Perl acquired
       'Objects'. To put it simply users can define their own
       special data types, and write custom routines to manipu-
       late them either in low level languages (C and Fortran) or
       in Perl itself.

       This has been fully exploited by the PerlDL developers.
       The 'PDL' module is a complete Object-Oriented extension
       to Perl (although you don't have to know what an object is
       to use it) which allows large N-dimensional data sets,
       such as large images, spectra, time series, etc to be
       stored  efficiently and manipulated en masse.  For example
       with the PDL module we can write the perl code "$a=$b+$c",
       where $b and $c are large datasets (e.g. 2048x2048
       images), and get the result in only a fraction of a sec-
       ond.

       PDL variables (or 'piddles' as they have come to be known)
       support a wide range of fundamental data types - arrays
       can be bytes, short integers (signed or unsigned), long
       integers, floats or double precision floats. And because
       of the Object-Oriented nature of PDL new customised
       datatypes can be derived from them.

       As well as the PDL modules, that can be used by normal
       perl programs, PerlDL comes with a command line perl
       shell, called perldl, which supports command line editing.
       In combination with the various PDL graphics modules this
       allows data to be easily played with and visualised.

SYNOPSIS
       This manual page provides a general introduction to the
       underlying philosophy of PDL and practical examples on how
       to use it. For details, see:

       PDL::Intro
           This document

       PDL::Impatient
           Quick summary - PDL for the impatient

       PDL::Philosophy
           Why another matrix language?

       PDL::Indexing
           An introduction to using smart indices in PDL.

       PDL::Slice
           A reference guide to the same.

       PDL::PP
           A utility for generating extension in C language for
           use with PDL easily.

       PDL::FAQ
           The Frequently Asked Questions list for PDL.

       PDL::Tips
           Small tips and tricks for writing idiomatic PDL code.

       PDL::Internals
           How does it all work?

       PDL::Dataflow
           Tuomas has been too lazy to document this yet.

AUTHOR
       Copyright (C) Karl Glazebrook (karlglazebrook@yahoo.com),
       Tuomas J. Lukka, (lukka@husc.harvard.edu) and Christian
       Soeller (c.soeller@auckland.ac.nz) 1997 to 2000.  Commer-
       cial reproduction of this documentation in a different
       format is forbidden.



perl v5.6.1                 2000-06-01                   INTRO(O)