- INTERACTIVE SHELL
- LOOKING FOR A FUNCTION?
- LANGUAGE DOCUMENTATION
PDLA - the Perl Data Language
(For the exported PDLA constructor, pdl(), see PDLA::Core)
PDLA is the Perl Data Language, a perl extension that is designed for scientific and bulk numeric data processing and display. It extends perl's syntax and includes fully vectorized, multidimensional array handling, plus several paths for device-independent graphics output.
PDLA is fast, comparable and often outperforming IDL and MATLAB in real world applications. PDLA allows large N-dimensional data sets such as large images, spectra, etc to be stored efficiently and manipulated quickly.
For a description of the vectorization (also called "threading"), see PDLA::Core.
The PDLA package includes an interactive shell. You can learn about it, run
perldoc perldl, or run the shell
pdl2 and type
If you want to search for a function name, you should use the PDLA shell along with the "help" or "apropos" command (to do a fuzzy search). For example:
pdl> apropos xval xlinvals X axis values between endpoints (see xvals). xlogvals X axis values logarithmicly spaced... xvals Fills a piddle with X index values... yvals Fills a piddle with Y index values. See the CAVEAT for xvals. zvals Fills a piddle with Z index values. See the CAVEAT for xvals.
Most PDLA documentation describes the language features. The number of PDLA pages is too great to list here. The following pages offer some guidance to help you find the documentation you need.
Frequently asked questions about PDLA. This page covers a lot of questions that do not fall neatly into any of the documentation categories.
A guide to PDLA's tutorial-style documentation. With topics from beginner to advanced, these pages teach you various aspects of PDLA step by step.
A guide to PDLA's module reference. Modules are organized by level (foundation to advanced) and by category (graphics, numerical methods, etc) to help you find the module you need as quickly as possible.
This page compiles PDLA's tutorial and reference pages into a comprehensive course that takes you from a complete beginner level to expert.
List of all available documentation, sorted alphabetically. If you cannot find what you are looking for, try here.
PDLA includes about a dozen perl modules that form the core of the language, plus additional modules that add further functionality. The perl module "PDLA" loads all of the core modules automatically, making their functions available in the current perl namespace. Some notes:
- Modules loaded by default
See the SYNOPSIS section at the end of this document for a list of modules loaded by default.
- PDLA::Lite and PDLA::LiteF
These are lighter-weight alternatives to the standard PDLA module. Consider using these modules if startup time becomes an issue.
use PDLA;exports a large number of routines into the calling namespace. If you want to avoid namespace pollution, you must instead
use PDLA::Lite, and include any additional modules explicitly.
Note that the PDLA::NiceSlice syntax is NOT automatically loaded by
use PDLA;. If you want to use the extended slicing syntax in a standalone script, you must also say
use PDLA; # Is equivalent to the following: use PDLA::Core; use PDLA::Ops; use PDLA::Primitive; use PDLA::Ufunc; use PDLA::Basic; use PDLA::Slices; use PDLA::Bad; use PDLA::MatrixOps; use PDLA::Math; use PDLA::Version; use PDLA::Lvalue;