PDL Object Constructors
When using PDL one creates and manipulates PDL object, whimsically called piddles. These objects represent an array of arbitrary dimensionality and unlike most of Perl, of a certain numerical datatype.
A PDL object may be created using the pdl
command,
which converts a Perl array structure to a PDL.
my $pdl = pdl([[1,2,3],[4,5,6],[7,8,9]]);
To see what the PDL object contains, since PDL overloads stringification, simply print it out. To get other information, the info
method is also useful.
my $pdl = pdl([[1,2,3],[4,5,6],[7,8,9]]); say $pdl; say $pdl->info;
Many of the other PDL contstructor functions take the dimensionality as their argument. For example sequence
creates a PDL whose values increment for each element.
# create a 5x5 PDL my $pdl = sequence 5,5; say $pdl;
Other such constructors are zeros
, ones
, xvals
, yvals
, zvals
, and rvals
. The first two are obvious, creating a PDL filled with 0 or 1. The next three create a PDL of a given dimensionality, but whose values are taken from their x, y, or z component respectively. rvals
creates a PDL whose values are the "distance" from the center of the PDL (or whichever other center you specify).
Exercise
Create a three dimensional PDL using any of the above constructors and print out its information using the info
method.
my $pdl = ...; say $pdl->info;