Greetings Fellow Monks,

Motivated by BrowserUk reply to a node on PDL references and inspired by the Perl cheat sheet, I decided to put together this Perl Data Language (PDL) cheat sheet.

PDL 2.4.3 cheat sheet v2 by Lino Ramirez, Lino.M.Ramirez at NOTE: Piddles are stored in (column, row) order STARTING & QUITTING THE SHELL GETTING HELP perldl exit quit help 'func' ? 'func' apropos 'func' ?? 'func' SHELL CONFIGURATION FILES sig 'func' $HOME/.perldlrc usage 'func' PDL/default.perldlrc demo local.perldlrc USING AUTOLOADER WRITING PERL SCRIPTS use PDL::AutoLoader; use PDL; # environment variable PDLLIB defines # the search path for AUTOLOADER module CREATING PIDDLES new pdl topdl TYPE CONVERSIONS null zeroes ones ushort float long convert identity random grandom byte double short randsym sequence xvals yvals zvals FILE I/O xlinvals ylinvals zlinvals fits wfits rcols wcols rcube rvals axisvals allaxisvals rpic wpic rim wim rgrep OPERATORS COPYING PIDDLES + - * / ** > < $pnew = pdl( $pold ); >= <= == != << >> & $pnew = $pold->copy; | ^ += -= *= /= %= **= >>= <<= &= |= ^= EXTRACTING INFORMATION <=> ! % ++ -- slice dice dice_axis diagonal ADDITIONAL OPERATORS LOCATING INFORMATION .= assignation index index2d indexND where x matrix multiplication which whichND which_both GETTING PIDDLES' PROPERTIES MODIFYING PIDDLES ? vars PDL->px info list listindices one2nd dims getdim getndim set clip rotate xchg howbig nelem at reshape mv reorder dummy transpose clump splitdim COMBINING PIDDLES append glue cat dog ELEMENTARY MATH FUNCTIONS abs acos acosh asin asinh VECTOR FUNCTIONS atan atan2 atanh cos cosh inner outer uniq sin sinh tan tanh sqrt in setops norm ceil floor rint exp log log10 DATA ANALYSIS SPECIALIZED MATH FUNCTIONS stats statsover qsort bessj0 bessjn bessy0 bessyn sum sumover cumusumover erf erfc erfi intover max maximum maximum_ind lags lgamma pcoef simplex avg average qsorti fibonacci min minimum minimum_ind minmax minmaximum median DATA INTERPOLATION medover oddmedian oddmedover fitgauss1d fitgauss1dr fitpoly1d prod prodover cumuprodover interpol interpolate ninterpol hist histogram histogram2d interpND lmfit and and2 andover polfit pvalue polycoef or or2 orover polyfit polyvalue MATRIX OPERATIONS IMAGE PROCESSING inv matinv eigens_sym eigens cquant rgbtogr rot2d med2d conv2d svd eigsys determinant det simq warp2d rebin convolveND TWO-DIMENSIONAL PLOTTING THREE-DIMENSIONAL PLOTTING use PDL::Graphics::PGPLOT; use PDL::Graphics::TriD; dev env line points errb bin imag3d imag3d_ns imagrgb points3d cont ctab vect poly imag line3d lattice3d mesh3d grabpic3d circle ellipse rectangle text keeptwiddling3d nokeeptwiddlin3d legend draw_wedge release hold twiddle3d hold3d release3d FOURIER TRANSFORM FUNCTIONS COMPLEX NUMBERS FUNCTIONS use PDL::FFT; Cabs Carg Cp2r Cr2p i2C r2C fft fftnd realfft realifft ifft ifftnd cdiv cmul MISCELANEOUS FUNCTIONS kernctr fftconvolve inplace trace thread band bandover bitnot bor borover PDL MODULE DEPENDENCIES all any isempty zcheck Perl 5.6.1+ (5.8.x recommended) ExtUtils::MakeMaker (latest version) LINKS C-compiler Fortran compiler PGPLOT libraries & C-binding (PGPLOT) OpenGL or Mesa (TriD) netpbm package (PDL::IO::Pic)

As always, any comment will be welcome




  1. Added the references suggested by zentara
  2. Added FFT references and shuffled things around to make them fit

In reply to RFC: PDL Cheat Sheet by lin0

Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":