
On Mon, Sep 8, 2014 at 7:41 AM, Sturla Molden <sturla.molden@gmail.com> wrote:
Stefan Otte <stefan.otte@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?
And while we're at it, what about higher dimensions? should there be an ndstack function too?
This is starting to look like the second time in a row Stefan tries to extend numpy with a simple convenience function, and he gets tricked into implementing some sophisticated algorithm... For his next PR I expect nothing less than an NP-complete problem. ;-)
Jaime
-- (\__/) ( O.o) ( > <) Este es Conejo. Copia a Conejo en tu firma y ayúdale en sus planes de dominación mundial.