1=head1 NAME 2 3PDL::Tutorials - A guide to PDL's tutorial documentation. 4 5=head1 MIGRATION 6 7These are our migration guides for users familiar with other types 8of numerical analysis software. 9 10=over 5 11 12=item L<PDL::MATLAB|PDL::MATLAB> 13 14Migration guide for MATLAB users. This page explains the key differences 15between MATLAB and PDL from the point of view of a MATLAB user. 16 17=item L<PDL::Scilab|PDL::Scilab> 18 19Migration guide for Scilab users. This page explains the key differences 20between Scilab and PDL from the point of view of a Scilab user. 21 22=back 23 24 25 26=head1 FOUNDATION 27 28=over 5 29 30=item L<PDL::Philosophy|PDL::Philosophy> 31 32Why did we write PDL? This document explains some of the history and 33motivation behind the Perl Data Language. It is an attempt to answer 34the question "Why PDL?". 35 36=item L<PDL::QuickStart|PDL::QuickStart> 37 38Quick introduction to PDL features. A hands-on guide suitable for 39complete beginners. This page assumes no previous knowledge of Perl 40or PDL. 41 42=item L<PDL::Indexing|PDL::Indexing> 43 44After you have read the QuickStart guide, you should follow up with 45this document. This guide goes more deeply into the concepts of 46"indexing" and "slicing" and how they form the core of numerical 47analysis with PDL. 48 49 50=back 51 52 53 54=head1 INTERMEDIATE 55 56=over 5 57 58=item L<PDL::Threading|PDL::Threading> 59 60B<Threading> is one of PDL's most powerful features. If you know MATLAB, 61you've heard of "vectorizing". Well, B<threading> is like "vectorizing on 62steroids". It lets you make very fast and compact code by avoiding 63nested loops. All vector-based languages do this, but PDL generalizes 64the technique to all sorts of applications. 65 66This tutorial introduces PDL's threading feature, and it shows an example 67implementing Conway's Game of Life in 10 lines and 80 times faster than 68a classical implementation. 69 70=item L<PDL::BadValues|PDL::BadValues> 71 72Sometimes it is useful to specify that a certain value is "bad" or 73"missing". Scientific instruments some times include portions of 74invalid data. For example, a CCD camera might produce an image with 75over-exposed pixels. PDL's "bad values" feature gives you an easy way 76to deal with this sort of imperfect data. 77 78 79=item L<PDL::Tips|PDL::Tips> 80 81Tips and suggestions for using PDL. This page is an assorted collection 82of programming tidbits that some PDL users have found useful. Some of 83these tips might be of help when you write your programs. 84 85=back 86 87 88 89=head1 ADVANCED 90 91=over 5 92 93=item L<PDL::PP|PDL::PP> 94 95PDL's Pre-Processor is one of PDL's most powerful features. You 96write a function definition in special markup and the preprocessor 97generates real C code which can be compiled. With PDL:PP you get the 98full speed of native C code without having to deal with the full 99complexity of the C language. 100 101=item L<PDL::API|PDL::API> 102 103A simple cookbook explaining how to create piddle manually, either 104from Perl or from C/XS code. This page covers the PDL core routines 105that comprise the PDL API. If you need to access piddles from C/XS, 106this is the document for you. 107 108 109=item L<PDL::Internals|PDL::Internals> 110 111Description of the inner workings of the PDL module. Very few people 112need to see this. This page is mainly for PDL developers, or people 113interested in debugging PDL or changing the internals of PDL. If you 114can read this document and understand all of it, and you additionally 115understand L<PDL::PP|PDL::PP>, you will be awarded the title of 116"PDL Guru". 117 118 119=back 120 121 122 123=head1 COPYRIGHT 124 125Copyright 2010 Daniel Carrera (dcarrera@gmail.com). You can distribute 126and/or modify this document under the same terms as the current Perl 127license. 128 129See: http://dev.perl.org/licenses/ 130 131 132