Provided by: pdl_2.099-3_amd64 bug

NAME

       PDL - the Perl Data Language

SYNOPSIS

         use PDL;
         $x = zeroes 3,3; # 3x3 matrix
         $y = $x + 0.1 * xvals($x) + 0.01 * yvals($x);
         print $y;
         print $y->slice(":,1");  # row 2
         print $diag = $y->diagonal(0,1), "\n"; # 0 and 1 are the dimensions
         $diag += 100;
         print "AFTER, y=$y";
         [
          [   0  0.1  0.2]
          [0.01 0.11 0.21]
          [0.02 0.12 0.22]
         ]
         [
          [0.01 0.11 0.21]
         ]
         [0 0.11 0.22]
         AFTER, y=
         [
          [   100    0.1    0.2]
          [  0.01 100.11   0.21]
          [  0.02   0.12 100.22]
         ]

DESCRIPTION

       (For the exported PDL constructor, pdl(), see PDL::Core)

       PDL is the Perl Data Language, a perl extension that is designed for scientific and bulk numeric data
       processing and display.  It extends perl's syntax and includes fully vectorized, multidimensional array
       handling, plus several paths for device-independent graphics output.

       PDL is fast, comparable and often outperforming IDL and MATLAB in real world applications. PDL allows
       large N-dimensional data sets such as large images, spectra, etc to be stored efficiently and manipulated
       quickly.

VECTORIZATION

       For a description of the vectorization (also called "broadcasting"), see PDL::Core.

INTERACTIVE SHELL

       The PDL package includes an interactive shell. You can learn about it, run "perldoc perldl", or run the
       shell "perldl" and type "help".

LOOKING FOR A FUNCTION?

       If you want to search for a function name, you should use the PDL shell along with the "help" or
       "apropos" command (to do a fuzzy search).  For example:

        pdl> apropos xval
        xlinvals        X axis values between endpoints (see xvals).
        xlogvals        X axis values logarithmicly spaced...
        xvals           Fills an ndarray with X index values...
        yvals           Fills an ndarray with Y index values. See the CAVEAT for xvals.
        zvals           Fills an ndarray with Z index values. See the CAVEAT for xvals.

       To learn more about the PDL shell, see perldl.

LANGUAGE DOCUMENTATION

       Most PDL documentation describes the language features. The number of PDL pages is too great to list
       here. The following pages offer some guidance to help you find the documentation you need.

       PDL::FAQ
            Frequently  asked  questions  about PDL. This page covers a lot of questions that do not fall neatly
            into any of the documentation categories.

       PDL::Tutorials
            A guide to PDL's tutorial-style documentation. With topics from beginner to  advanced,  these  pages
            teach you various aspects of PDL step by step.

       PDL::Modules
            A  guide  to  PDL's module reference. Modules are organized by level (foundation to advanced) and by
            category (graphics, numerical methods, etc) to help you find the  module  you  need  as  quickly  as
            possible.

       PDL::Course
            This  page  compiles  PDL's  tutorial and reference pages into a comprehensive course that takes you
            from a complete beginner level to expert.

       PDL::Index
            List of all available documentation, sorted alphabetically. If you cannot find what you are  looking
            for, try here.

       PDL::DeveloperGuide
            A guide for people who want to contribute to PDL.  Contributions are very welcome!

DATA TYPES

       PDL  comes  with  support for most native numeric data types available in C.  2.027 added support for C99
       complex numbers.  See PDL::Core, PDL::Ops and PDL::Math for details on usage and behaviour.

MODULES

       PDL includes about a dozen perl modules that form the core of the language, plus additional modules  that
       add  further  functionality.   The  perl module "PDL" loads all of the core modules automatically, making
       their functions available in the current perl namespace.  Some notes:

       Modules loaded by default
             use PDL; # Is equivalent to the following:

               use PDL::Core;
               use PDL::Ops;
               use PDL::Primitive;
               use PDL::Ufunc;
               use PDL::Basic;
               use PDL::Slices;
               use PDL::Bad;
               use PDL::MatrixOps;
               use PDL::Math;
               use PDL::IO::Misc;
               use PDL::IO::FITS;
               use PDL::IO::Pic;
               use PDL::IO::Storable;

       PDL::Lite and PDL::LiteF
            These are lighter-weight alternatives to the standard PDL module.  Consider using these  modules  if
            startup time becomes an issue.

            Note  that  PDL::Math  and  PDL::MatrixOps are not included in the PDL::Lite and PDL::LiteF start-up
            modules.

       Exports
            "use PDL;" exports a large number of routines into the calling namespace.   If  you  want  to  avoid
            namespace  pollution,  you  must  instead  "use  PDL::Lite",  and  include  any  additional  modules
            explicitly.

       PDL::NiceSlice
            Note that the PDL::NiceSlice syntax is NOT automatically loaded by "use PDL;".  If you want  to  use
            the extended slicing syntax in a standalone script, you must also say "use PDL::NiceSlice;".

INTERNATIONALIZATION

       PDL currently does not have internationalization support for its error messages although Perl itself does
       support  i18n  and  locales.   Some of the tests for names and strings are specific to ASCII and English.
       Please report any issues regarding internationalization to the perldl mailing lists.

       Of course, volunteers to implement this or help with the translations would be welcome.

INSTALLATION

       See PDL::InstallGuide for help.

perl v5.40.0                                       2025-02-04                                           PDL(3pm)