in reply to Re^2: How to iterate through a PDL piddle?
in thread How to iterate through a PDL piddle?

Errr..... there IS a 'list' function $u->list acts the same as $u->dog except list breaks the piddle up into individual elements while dog breaks it up into N-1-dimensional slices. In this particular case, where $u is one-dimensional, $u->list is identical to $u->dog
  • Comment on Re^3: How to iterate through a PDL piddle?

Replies are listed 'Best First'.
Re^4: How to iterate through a PDL piddle?
by etj (Priest) on May 26, 2022 at 14:41 UTC
    • dog returns a list of PDL slices, as Dima says, so a 2,3,4 ndarray dog-ed would return 4 ndarrays each dimensioned 2,3 (and as they're "slices", updates to them would be reflected in the original ndarray)
    • list returns the ndarray flattened (so the whole thing in a single flat list) as Perl scalars, so a 2,3,4 would be a list of 24 Perl scalars
    • unpdl (as of 2.006 from 2013, as provided by the mighty Joel Berger), which returns the ndarray as an array-ref with the same (possibly nested) structure as the input ndarray.