PDLA::Tutorials - A guide to PDLA's tutorial documentation.


These are our migration guides for users familiar with other types of numerical analysis software.


Migration guide for MATLAB users. This page explains the key differences between MATLAB and PDLA from the point of view of a MATLAB user.


Migration guide for Scilab users. This page explains the key differences between Scilab and PDLA from the point of view of a Scilab user.



Why did we write PDLA? This document explains some of the history and motivation behind the Perl Data Language. It is an attempt to answer the question "Why PDLA?".


Quick introduction to PDLA features. A hands-on guide suitable for complete beginners. This page assumes no previous knowledge of Perl or PDLA.


After you have read the QuickStart guide, you should follow up with this document. This guide goes more deeply into the concepts of "indexing" and "slicing" and how they form the core of numerical analysis with PDLA.



Threading is one of PDLA's most powerful features. If you know MATLAB, you've heard of "vectorizing". Well, threading is like "vectorizing on steroids". It lets you make very fast and compact code by avoiding nested loops. All vector-based languages do this, but PDLA generalizes the technique to all sorts of applications.

This tutorial introduces PDLA's threading feature, and it shows an example implementing Conway's Game of Life in 10 lines and 80 times faster than a classical implementation.


Sometimes it is useful to specify that a certain value is "bad" or "missing". Scientific instruments some times include portions of invalid data. For example, a CCD camera might produce an image with over-exposed pixels. PDLA's "bad values" feature gives you an easy way to deal with this sort of imperfect data.


Tips and suggestions for using PDLA. This page is an assorted collection of programming tidbits that some PDLA users have found useful. Some of these tips might be of help when you write your programs.



PDLA's Pre-Processor is one of PDLA's most powerful features. You write a function definition in special markup and the preprocessor generates real C code which can be compiled. With PDLA:PP you get the full speed of native C code without having to deal with the full complexity of the C language.


A simple cookbook explaining how to create piddle manually, either from Perl or from C/XS code. This page covers the PDLA core routines that comprise the PDLA API. If you need to access piddles from C/XS, this is the document for you.


Description of the inner workings of the PDLA module. Very few people need to see this. This page is mainly for PDLA developers, or people interested in debugging PDLA or changing the internals of PDLA. If you can read this document and understand all of it, and you additionally understand PDLA::PP, you will be awarded the title of "PDLA Guru".


Copyright 2010 Daniel Carrera ( You can distribute and/or modify this document under the same terms as the current Perl license.