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