1PDL(3) User Contributed Perl Documentation PDL(3)
2
3
4
6 PDL - the Perl Data Language
7
9 (For the exported PDL constructor, pdl(), see PDL::Core)
10
11 PDL is the Perl Data Language, a perl extension that is designed for
12 scientific and bulk numeric data processing and display. It extends
13 perl's syntax and includes fully vectorized, multidimensional array
14 handling, plus several paths for device-independent graphics output.
15
16 PDL is fast, comparable and often outperforming IDL and MATLAB in real
17 world applications. PDL allows large N-dimensional data sets such as
18 large images, spectra, etc to be stored efficiently and manipulated
19 quickly.
20
22 For a description of the vectorization (also called "broadcasting"),
23 see PDL::Core.
24
26 The PDL package includes an interactive shell. You can learn about it,
27 run "perldoc perldl", or run the shell "perldl" or "pdl2" and type
28 "help".
29
31 If you want to search for a function name, you should use the PDL shell
32 along with the "help" or "apropos" command (to do a fuzzy search). For
33 example:
34
35 pdl> apropos xval
36 xlinvals X axis values between endpoints (see xvals).
37 xlogvals X axis values logarithmicly spaced...
38 xvals Fills an ndarray with X index values...
39 yvals Fills an ndarray with Y index values. See the CAVEAT for xvals.
40 zvals Fills an ndarray with Z index values. See the CAVEAT for xvals.
41
42 To learn more about the PDL shell, see perldl or pdl2.
43
45 Most PDL documentation describes the language features. The number of
46 PDL pages is too great to list here. The following pages offer some
47 guidance to help you find the documentation you need.
48
49 PDL::FAQ
50 Frequently asked questions about PDL. This page covers a lot of
51 questions that do not fall neatly into any of the documentation
52 categories.
53
54 PDL::Tutorials
55 A guide to PDL's tutorial-style documentation. With topics from
56 beginner to advanced, these pages teach you various aspects of PDL
57 step by step.
58
59 PDL::Modules
60 A guide to PDL's module reference. Modules are organized by level
61 (foundation to advanced) and by category (graphics, numerical
62 methods, etc) to help you find the module you need as quickly as
63 possible.
64
65 PDL::Course
66 This page compiles PDL's tutorial and reference pages into a
67 comprehensive course that takes you from a complete beginner level
68 to expert.
69
70 PDL::Index
71 List of all available documentation, sorted alphabetically. If you
72 cannot find what you are looking for, try here.
73
75 PDL comes with support for most native numeric data types available in
76 C. 2.027 added support for C99 complex numbers. See PDL::Core,
77 PDL::Ops and PDL::Math for details on usage and behaviour.
78
80 PDL includes about a dozen perl modules that form the core of the
81 language, plus additional modules that add further functionality. The
82 perl module "PDL" loads all of the core modules automatically, making
83 their functions available in the current perl namespace. Some notes:
84
85 Modules loaded by default
86 See the SYNOPSIS section at the end of this document for a list of
87 modules loaded by default.
88
89 PDL::Lite and PDL::LiteF
90 These are lighter-weight alternatives to the standard PDL module.
91 Consider using these modules if startup time becomes an issue.
92
93 Exports
94 "use PDL;" exports a large number of routines into the calling
95 namespace. If you want to avoid namespace pollution, you must
96 instead "use PDL::Lite", and include any additional modules
97 explicitly.
98
99 PDL::NiceSlice
100 Note that the PDL::NiceSlice syntax is NOT automatically loaded by
101 "use PDL;". If you want to use the extended slicing syntax in a
102 standalone script, you must also say "use PDL::NiceSlice;".
103
104 PDL::Math
105 The PDL::Math module has been added to the list of modules for
106 versions later than 2.3.1. Note that PDL::Math is still not
107 included in the PDL::Lite and PDL::LiteF start-up modules.
108
110 use PDL; # Is equivalent to the following:
111
112 use PDL::Core;
113 use PDL::Ops;
114 use PDL::Primitive;
115 use PDL::Ufunc;
116 use PDL::Basic;
117 use PDL::Slices;
118 use PDL::Bad;
119 use PDL::MatrixOps;
120 use PDL::Math;
121 use PDL::IO::Misc;
122 use PDL::IO::FITS;
123 use PDL::IO::Pic;
124 use PDL::IO::Storable;
125 use PDL::Lvalue;
126
127
128
129perl v5.38.0 2023-07-21 PDL(3)