My wife has surgery tomorrow, so I won't be quick I'm afraid. I wouldn't have 
guessed that k2 was even a primitive, but I thought that about &.: too. 

I like the none-of-the-above result; I'm not sure my 64^3 universe of possible 
values would be a good fit. 

But I'm eager to learn from it. Thanks! 

> On Oct 14, 2019, at 12:52 AM, Roger Hui <[email protected]> wrote:
> 
> What you described is a different adverb K2 where
> 
>  x u K2 y  ←→  ((~.x)i.y) u/. y
> 
> (If x has no duplicates, then it's just  (x i.y) u/. y .)  Please try it
> and tell us whether it does what you want.
> 
> This is an interesting computation where the left argument x does not
> specify keys for the right argument (that's what x u/. y does).  Instead,
> the left argument specify the entire universe of possible values for y
> together with a final "none-of-the-above" category.
> 
> 
>> On Sun, Oct 13, 2019 at 9:20 PM 'Jim Russell' via Programming <
>> [email protected]> wrote:
>> 
>> Just to explain my confusion, and with apologies for my terminology...
>> 
>> Since iota (and i.) return an "off the scale" index to mean "not found", I
>> assumed that a "not found", or "none of the above" category would return a
>> count (in the case of #) in the final (1+$nub) item of the result. My
>> uneducated guess, looking at the results of u="<" or" ,"   on the same
>> trigrams I was applying to #/.  was that instead of the 3's I would have
>> expected, it seemed each was being used in an iota search of the left
>> argument rows to add to the tally of each unique (first encountered) member
>> of the x argument. The result is the length of the nub of the left
>> argument, so the rest of the left argument seems, for a u of #, to be
>> ignored and not needed, at least if x has duplicate entries.
>> And if that is the case, it seemed that a final "none of the above"
>> element (indexed by the "not found" result of my probably mythical i.
>> search) for each y argument row ought would just fall out.
>> 
>> But I did give absolutely no thought to other verbs as u. (Other than
>> wonder which might help be understand the behavior of /.  .)
>> 
>> Don't take the time to point out my stupidity--I'm happy to wait until I'm
>> smart enough to understand it better.
>> 
>> And thanks for checking in to the discussion, Roger.
>>> On Oct 13, 2019, at 10:21 PM, Roger Hui <[email protected]>
>> wrote:
>>> 
>>> Oh no, it's not because I said so.  As I said, it's because this
>> particular
>>> definition, the current definition, says so.  If you think the definition
>>> should be / could be something else, we can discuss it.  Truth be told, I
>>> don't understand how you can have keys that don't have corresponding
>> data,
>>> or data that don't have corresponding keys.  Sounds like a completely
>>> different computation than _key_.
>>> 
>>> _Key_ (the current definition) is cognate with the GROUP-BY statement in
>>> SQL, the monadic = function in k, the generalized beta in the Connection
>>> Machine.
>>> 
>>> 
>>> 
>>>> On Sun, Oct 13, 2019 at 6:36 PM 'Jim Russell' via Programming <
>>>> [email protected]> wrote:
>>>> 
>>>> And only you, Roger, well deserve the right to answer "Because I said
>> so!"
>>>> I was only considering the case of u=#, and remembering that #/. was
>>>> described as in the i. family, and seeing that...
>>>> 
>>>> Well never mind. Sorry.
>>>> 
>>>> 
>>>>> On Oct 13, 2019, at 7:50 PM, Roger Hui <[email protected]>
>>>> wrote:
>>>>> 
>>>>> 
>>>>>> 
>>>>>> why do the sizes of the x and y argument to Key need to match?
>>>>> 
>>>>> Because the x u/. y key adverb is _defined_ so that
>>>>> 
>>>>> - items of x specify keys for _corresponding_ items of y and
>>>>> - u is applied to each collection of y having identical keys.
>>>>> 
>>>>> You can argue that the definition should be something else, but it is
>> not
>>>>> debatable that if you are going to use u/. then items of x must have
>>>>> corresponding items in y, that is, x and y must have the same number of
>>>>> items, that is, {.$x must be the same as {.$y .  x and y need not have
>>>> the
>>>>> same shape, but the leading element of their shapes must be the same.
>>>>> 
>>>>> 
>>>>> 
>>>>>> On Sun, Oct 13, 2019 at 3:58 PM 'Jim Russell' via Programming <
>>>>>> [email protected]> wrote:
>>>>>> 
>>>>>> Rick: My ability to read tacit expressions is so poor that I
>> overlooked
>>>>>> the fact that the your quoted output did not come directly from the
>> Key
>>>>>> expression; silly me, I thought there was some form of the
>>>>>> modifiers/arguments to Key that yielded the results of two inputs.
>>>>>> 
>>>>>> (In contrast to your skill, it took be about a half a day to come up
>>>> with
>>>>>> the tacit dyad(?) mmjnn=:(; ,.) to glue together my trigram table and
>>>> one
>>>>>> result vector.)
>>>>>> 
>>>>>> So I wonder if I dare ask again:
>>>>>>              why do the sizes of the x and y argument to Key need to
>>>>>> match?
>>>>>> 
>>>>>> (Thanks again for all the help!)
>>>>>> 
>>>>>>>> On Oct 12, 2019, at 5:16 AM, Ric Sherlock <[email protected]>
>> wrote:
>>>>>>> 
>>>>>>>>> Or to summarise by trigram:
>>>>>>>>> 
>>>>>>>>> (~.@; trig);|: <: #/.~&> supertrig
>>>>>>>>> 
>>>>>>>>> +---+---+
>>>>>>>>> 
>>>>>>>>> |ggt|1 2|
>>>>>>>>> 
>>>>>>>>> |gta|2 0|
>>>>>>>>> 
>>>>>>>>> |taa|1 1|
>>>>>>>>> 
>>>>>>>>> |aaa|2 0|
>>>>>> 
>>>>>> ----------------------------------------------------------------------
>>>>>> 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
>> 
>> ----------------------------------------------------------------------
>> 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