at least it seems to be consistent with matlab.

In R these operations are called rbind (row-bind) and cbind (column-bind)
respectively


On Tue, Apr 29, 2014 at 9:57 PM, Dmitriy Lyubimov <[email protected]> wrote:

> No, i think my take is more common. i can't immediately find an
> authoritative reference, but there's definition of vertical and horizontal
> concatenation. So i assume it is intuitive to call blocks producing
> vertical concatenation, vertical blocks. [1]
>
> [1]
> http://www-rohan.sdsu.edu/doc/matlab/toolbox/simulink/slref/matrixconcatenation.html
>
>
> On Tue, Apr 29, 2014 at 9:52 PM, Dmitriy Lyubimov <[email protected]>wrote:
>
>> hm . i really did not think of it. i thought vertical blocks are those
>> that one on top the other. As if one is building a vertical tower.
>>
>> let me check what official math terminology is.
>>
>>
>> On Tue, Apr 29, 2014 at 9:47 PM, Anand Avati <[email protected]> wrote:
>>
>>>
>>>
>>>
>>> On Tue, Apr 29, 2014 at 9:20 PM, Dmitriy Lyubimov <[email protected]>wrote:
>>>
>>>> actually I imply vertical slicing as A(100 to 200, ::). if it is the
>>>> other way around it is a typo.
>>>>
>>>
>>> Isn't that counter-intuitive? Isn't the syntax A(row,col), therefore
>>> A(100 to 200, ::) mean all (columns) of rows 100 through 200 - so they are
>>> horizontal slices, no?
>>>
>>>
>>>
>>>>
>>>> strictly speaking this doc is working notes, not a manual (i.e. i just
>>>> filled it in as i went with design so i don't forget myself). i guess
>>>> there's a gap between it and an actual doc. I suggested to keep it for
>>>> reference (since it exists) but rather create an html-based wiki/cms doc
>>>> pages. this is todo.
>>>>
>>>>
>>>> On Tue, Apr 29, 2014 at 7:19 PM, Anand Avati <[email protected]> wrote:
>>>>
>>>>>
>>>>> On Mon, Apr 28, 2014 at 11:15 PM, Dmitriy Lyubimov 
>>>>> <[email protected]>wrote:
>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Mon, Apr 28, 2014 at 7:23 PM, Anand Avati <[email protected]>wrote:
>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> I'm not sure I completely understand mapBlock. Can you please give a
>>>>>>> concrete example (with a simple 2x3 matrix) of how mapblock works? I 
>>>>>>> have a
>>>>>>> reasonable understanding of how Spark partitions and distributes data of
>>>>>>> its RDD. Based on that, and knowing how H2O distributes data, I feel it 
>>>>>>> is
>>>>>>> a matter of providing thing logic and wrapper to make something built on
>>>>>>> Spark to be built on H2O. That being said, I want to make sure I do not
>>>>>>> misunderstand or make wrong assumptions about mapBlock, hence request 
>>>>>>> for a
>>>>>>> concrete example.
>>>>>>>
>>>>>>> Thanks!
>>>>>>>
>>>>>>>
>>>>>> Anand,
>>>>>>
>>>>>> concrete examples are given and explained in scala/spark bindings
>>>>>> documentation on Mahout website.
>>>>>>
>>>>>> Also, there's a talk and slides from last Mahout meetup that also
>>>>>> discuss Mahout DRM structure and access to it in case of sparkbindings.
>>>>>>
>>>>>> Come back if you still have questions after that (along with
>>>>>> suggestions what can be improved in the docs to make things easier).
>>>>>>
>>>>>
>>>>> Dmitry,
>>>>> Thanks for the link, now I understand what's happening with
>>>>> mapBlock(), and it is exactly how I had understood initially (before
>>>>> un-understanding :p). I don't see it being a huge problem to provide a
>>>>> mapBlock() over H2O. The part which confused me (both your email and in
>>>>> ScalaSparkBindings.pdf) is this -
>>>>>
>>>>> page 17:
>>>>>
>>>>> ...
>>>>> Vertical block
>>>>>   A(::, 100 to 200)
>>>>> ...
>>>>> mapBlock provides ... "vertical blockified tuples of the matrix"
>>>>>
>>>>> The terminology of "Vertical block" describing as A(::, 100 to 200),
>>>>> is intuitive and feels "right".
>>>>>
>>>>> But then when mapBlock is described as presenting "vertical
>>>>> block"ified tuples, maybe it is just me, sounds as if mapBlock gives you a
>>>>> subset of full columns in the form a Matrix (while it actually provides a
>>>>> subset of full rows in the form of a Matrix). It was this interpretation 
>>>>> of
>>>>> orthogonal orientation associated with "vertical block"(ified tuples) 
>>>>> which
>>>>> caused my confusion.
>>>>>
>>>>> It would be very helpful if the documentation on that page explicitly
>>>>> states that mapblock presents a subset of full rows. It feels obvious
>>>>> looking backwards, but the terminology was confusing initially. It is
>>>>> somewhat implied in a later statement "...should not change the height of
>>>>> the block, in order to provide correct total matrix row count ...", but
>>>>> that wasn't good enough in the first parse.
>>>>>
>>>>> Thanks!
>>>>>
>>>>> PS: It might be helpful if
>>>>> http://mahout.apache.org/users/sparkbindings/ScalaSparkBindings.pdfis 
>>>>> made available under doc/ in the repository for future code inspectors.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>
>>
>

Reply via email to