A bit of terminology, here:

Scan is the \ adverb (or, /\), Insert is /

We call / insert because it inserts its verb between the items of its
right argument.

For this example, that would be:

9 1 6 9 3 1 7 7 6 4 6 4 ([ -. -.) 3 1 5 8 8 5 4 7 7 5 2 5 ([ -. -.) 6
7 1 7 5 7 1 4 4 6 1 4 ([ -. -.) 9 1 5 2 0 7 6 6 2 9 5 1 ([ -. -.) 6 9
9 8 3 1 8 2 0 7 1 4 ([ -. -.) 9 7 9 1 1 8 1 2 1 5 1 6

Or, since mail is going to mutilate that long line,

r0=: 9 1 6 9 3 1 7 7 6 4 6 4
r1=: 3 1 5 8 8 5 4 7 7 5 2 5
r2=: 6 7 1 7 5 7 1 4 4 6 1 4
r3=: 9 1 5 2 0 7 6 6 2 9 5 1
r4=: 6 9 9 8 3 1 8 2 0 7 1 4
r5=: 9 7 9 1 1 8 1 2 1 5 1 6

   r0 ([ -. -.) r1 ([ -. -.) r2 ([ -. -.) r3 ([ -. -.) r4 ([ -. -.) r5
1 1 7 7

Anyways, now that things are split out like that, we can look at
intermediate results:

   r4 ([ -. -.) r5
6 9 9 8 1 8 2 7 1
   r3 ([ -. -.) r4 ([ -. -.) r5
9 1 2 7 6 6 2 9 1
   r2 ([ -. -.) r3 ([ -. -.) r4 ([ -. -.) r5
6 7 1 7 7 1 6 1
   r1 ([ -. -.) r2 ([ -. -.) r3 ([ -. -.) r4 ([ -. -.) r5
1 7 7

(We could have also gotten intermediate results using ([ -. -.)/\. but
if we did it that way they would have been padded with zeros.)

I hope this helps,

-- 
Raul



On Sat, Sep 2, 2017 at 5:19 PM, Skip Cave <s...@caveconsulting.com> wrote:
> Raul.
>
> Wow! I never realized what the dyadic use of "-." (less) would do. That is
> really neat. Plus I keep forgetting that insert will work with all kinds of
> verbs, not just + * >. and the other usual primitive suspects.
>
> However I'm still trying to wrap my head around this: ([-.-.)/a
> So I tried some experiments:
>
>      ]a =: ?6 12$10
>
> 9 1 6 9 3 1 7 7 6 4 6 4
>
> 3 1 5 8 8 5 4 7 7 5 2 5
>
> 6 7 1 7 5 7 1 4 4 6 1 4
>
> 9 1 5 2 0 7 6 6 2 9 5 1
>
> 6 9 9 8 3 1 8 2 0 7 1 4
>
> 9 7 9 1 1 8 1 2 1 5 1 6
>
>
>     >./([-.-.)/a
>
> 7
>
>     <./([-.-.)/a
>
> 1
>
>
>
> NB. Yes, the  whole thing works as advertised.
>
> NB. So let's deconstruct it:
>
>
>
>     ([-.-.)/a
>
> 1 1 7 7
>
>
> NB. So this clearly finds all the common integers across all the rows.
>
> NB. But why are there two ones and two sevens? There is only
>
> NB. one one in the second row, and three sevens in the third row.
>
> NB,  And only one seven in the fourth, fifth, sixth, and seventh row.
>
>
> NB. So let's see what happens if we remove the parenthesis:
>
>
>      [-.-./a
>
> _8 _5 _8 _5 _3 _5 _3
>
>
> NB. Whoa! Seven numbers?? There are 6 rows and 12 columns. What happened?
>
> NB. Let's try this...
>
>
>      -.-./a
>
> _8 _5 _8 _5 _3 _5 _3
>
>
> NB. So the square bracket doesn't make any difference.
>
>
>      -. 9 1 6 9 3 1 7 7 6 4 6 4    NB. try on the first row of matrix a
>
> _8 0 _5 _8 _2 0 _6 _6 _5 _3 _5 _3
>
>
> NB. That looks a little bit like the previous result with no parenthesis.
>
> NB. Well, that's just what the Vocabulary says will happen (-.y is 1-y):
>
>      1 -  9 1 6 9 3 1 7 7 6 4 6 4
>
> _8 0 _5 _8 _2 0 _6 _6 _5 _3 _5 _3
>
>
> NB. So now we put the scan back in:
>
>     -./ 9 1 6 9 3 1 7 7 6 4 6 4
>
> 9
>
>
> NB. That makes sense, since:
>
>     9-.1-.6-.9-.3-.1-.7-.7-.6-.4-.6-.4
>
> 9
>
>
> NB. Let's try two -.s
>
>    -.-./ 9 1 6 9 3 1 7 7 6 4 6 4
>
> _8
>
>
> NB. That makes sense, since   -. 9 -> _8
>
>
> But I still can't figure out what scan is doing to the noun a.
>
>
> Skip
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> (-.-.)/a
>
> 9 1 6 9 3 1 7 7 6 4 6 4
>
>
>
>
> Skip Cave
> Cave Consulting LLC
>
> On Fri, Sep 1, 2017 at 2:21 AM, Raul Miller <rauldmil...@gmail.com> wrote:
>
>> If it exists, >./([-.-.)/a will find the largest integer common to all
>> of the rows. (If it does not exist, it will give you __ which is the
>> identity element for "largest". In other words, __ >. x always returns
>> x).
>>
>> To get the smallest replace >. with <.
>>
>> In other words, first find the intersection of all rows, then find the
>> largest (or smallest) number in that intersection.
>>
>> Thanks,
>>
>> --
>> Raul
>>
>>
>> On Fri, Sep 1, 2017 at 2:48 AM, Skip Cave <s...@caveconsulting.com> wrote:
>> > This wasn't a Quora problem, though I needed to solve this as part of the
>> > solution to a different problem.
>> >
>> > Given the random integer matrix:
>> >
>> >  ]a =: 6 12$ ?72$10
>> >
>> > 2 3 6 6 5 8 3 7 4 9 0 8
>> >
>> > 1 9 4 1 7 3 1 8 2 5 2 7
>> >
>> > 4 7 4 7 6 4 1 1 4 6 6 8
>> >
>> > 5 8 0 0 3 1 8 3 0 7 3 3
>> >
>> > 4 4 7 3 2 4 7 5 7 3 3 9
>> >
>> > 3 8 4 1 3 7 8 7 5 6 9 9
>> >
>> >
>> > What J expression will find the largest integer that is common to all
>> >
>> > of the rows?  In this specific case, the answer is 7.
>> >
>> > What about the smallest integer that's common in all rows?
>> >
>> >
>> > Skip
>> > ----------------------------------------------------------------------
>> > For information about J forums see http://www.jsoftware.com/forums.htm
>> ----------------------------------------------------------------------
>> For information about J forums see http://www.jsoftware.com/forums.htm
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to