[Numpy-discussion] Generalize hstack/vstack --> stack; Block matrices like in matlab

Nathaniel Smith njs at pobox.com
Mon Sep 8 12:13:46 EDT 2014


On 8 Sep 2014 10:42, "Sturla Molden" <sturla.molden at gmail.com> wrote:
>
> Stefan Otte <stefan.otte at gmail.com> wrote:
>
> >     stack([[a, b], [c, d]])
> >
> > In my case `stack` replaced `hstack` and `vstack` almost completely.
> >
> > If you're interested in including it in numpy I created a pull request
> > [1]. I'm looking forward to getting some feedback!
>
> As far as I can see, it uses hstack and vstack. But that means a and b
have
> to have the same number of rows, c and d must have the same rumber of
rows,
> and hstack((a,b)) and hstack((c,d)) must have the same number of columns.
>
> Thus it requires a regularity like this:
>
> AAAABB
> AAAABB
> CCCDDD
> CCCDDD
> CCCDDD
> CCCDDD
>
> What if we just ignore this constraint, and only require the output to be
> rectangular? Now we have a 'tetris game':
>
> AAAABB
> AAAABB
> CCCCBB
> CCCCBB
> CCCCDD
> CCCCDD
>
> or
>
> AAAABB
> AAAABB
> CCCCBB
> CCCCBB
> CCCCBB
> CCCCBB
>
> This should be 'stackable', yes? Or perhaps we need another stacking
> function for this, say numpy.tetris?

It's not at all obvious to me how to describe such "tetris" configurations,
or interpret then unambiguously. Do you have a more detailed specification
in mind?

> And while we're at it, what about higher dimensions? should there be an
> ndstack function too?

Same comment here.

-n
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20140908/863aca6e/attachment.html>


More information about the NumPy-Discussion mailing list