=head1 NAME ObjStore::Lib::PDL - Persistent PDL-compatible matrices =head1 SYNOPSIS use PDL::Lite; use ObjStore::Lib::PDL; begin 'update', sub { my $pdl = ObjStore::Lib::PDL->new($near, { Datatype => PDL::float(), Dims => [3,3] }); $pdl->slice(":,4")->clump(2) *= 2; #or whatever }; die if $@; =head1 DESCRIPTION The main thing of interest is that dimensions are arranged in memory such that the last dimension is the most packed. For example, in a PDL of dimensions [3,3,3] the following locations are sequential in memory: [2,1,0] [2,1,1] [2,1,2] Whereas the follow three elements are separated by relatively large gaps: [0,2,1] [1,2,1] [2,2,1] Be aware that this memory layout convention is dependent on the implementation of PDL. However, it is very unlikely to change. =cut