I've created a new subclass of pdl's that are typically not square. I understand that pdl's are stored in column-major form in order to save memory (and speed?) in a C matrix format. Which brings me to my question: in an attempt to save memory, should I orient my pdl's such that number of columns is smaller than the number of rows, or vice versa? Computationally it does not matter, I would just need to wrap my mind around the fact that the matrices will be transposed when printed (unless I transpose them back). Perhaps an example would help. I ran a quick test in perldl which resulted in the following:

perldl> $a = zeroes 3,1000; perldl> $b = zeroes 1000,3; perldl> help vars PDL variables in package main:: Name Type Dimension Flow State Mem ---------------------------------------------------------------- $a Double D [3,1000] P 0.02Mb $b Double D [1000,3] P 0.02Mb

This of course would lead me to believe that it doesn't matter one way or the other. Perhaps one of you PDL experts out there could shed some light on the subject.


In reply to Which pdl orientation saves memory by dogz007

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



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.