Linda, I am going to guess what you will ask next, so I will mention here there 
is both a monadic and dyadic use of f/ .  Please look that up!  --Kip

Sent from my iPad


On Jan 22, 2013, at 9:09 AM, km <k...@math.uh.edu> wrote:

> Linda, the dyadic use of f&g is that x f&g y is (g x) f (g y) .  I knew the 
> dyadic use of f&g would be needed below because the / just before +. means 
> the verb to the left of the slash will be inserted between the items of the 
> result of +. .  --Kip
> 
> Sent from my iPad
> 
> 
> On Jan 22, 2013, at 1:46 AM, "Linda Alvord" <lindaalv...@verizon.net> wrote:
> 
>> This is just what I'm looking for!
>> 
>> This is OK
>> 
>>  ic4 =: [: , [: ((j./)&i:)/ +.  NB. remove @
>> 
>> What rule are you using here?
>> 
>>   ic4 =: [: , [: (i:@[ j./ i:@])/ +.  NB. remove &
>> 
>> I would have expected 
>> 
>> ic4=:[:,[: ([:(j./)i:)/+.
>> 
>> 
>> Linda
>> 
>> -----Original Message-----
>> From: programming-boun...@forums.jsoftware.com
>> [mailto:programming-boun...@forums.jsoftware.com] On Behalinf Of km
>> Sent: Tuesday, January 22, 2013 1:56 AM
>> To: programm...@jsoftware.com
>> Subject: Re: [Jprogramming] [Jprogrammingou Hermitian from triangular
>> 
>> Linda, here I remove conjunctions @ and & from ic2, leading to ic4 not ic.
>> Two new @'s creep in but they would be easy to remove!
>> 
>>   9!:3 [ 6  NB. fully parenthesized display
>> 
>>   ic2
>> [: , ((((j./)&i:)/)@+.)
>> 
>>   ic4 =: [: , [: ((j./)&i:)/ +.  NB. remove @
>> 
>>   ic4 =: [: , [: (i:@[ j./ i:@])/ +.  NB. remove &
>> 
>>   ic4 1j2
>> _1j_2 _1j_1 _1 _1j1 _1j2 0j_2 0j_1 0 0j1 0j2 1j_2 1j_1 1 1j1 1j2
>> 
>> Kip
>> 
>> Sent from my iPad
>> 
>> 
>> On Jan 21, 2013, at 9:49 PM, "Linda Alvord" <lindaalv...@verizon.net> wrote:
>> 
>>> It would be most helpful if you would give a sequence of legitimate 
>>> substitutions which can be made in an orderly fashion to work "backwards"
>>> from  ic2  to  ic .  If you could then go from  ic  to an explicit 
>>> definition that would be great.
>>> 
>>> I start with an explicit definition to write statements that work on 
>>> real data.  Later it is possible to simplify. When I can't understand 
>>> a terse expression, I need to "work backwards" to make it 
>>> understandable. I try to use definitions for @ and  @.  and  &  as 
>>> that makes right to left execution more clear.  It is obvious from 
>>> this example that it becomes Important to include rank somehow.
>>> 
>>> Thanks in advance if you can do this.
>>> 
>>> Linda
>>> 
>>> : Monday, January 21, 2013 10:19 PM
>>> To: programm...@jsoftware.como
>>> Subject: Re: [Jprogramming] [Jprogrammingou Hermitian from triangular
>>> 
>>> What would be most helpful
>>> 
>>> -----Original Message-----
>>> From: programming-boun...@forums.jsoftware.com
>>> [mailto:programming-boun...@forums.jsoftware.com] On Behalf Of Dan 
>>> Bron
>>> Sent: Monday, January 21, 2013 2:08 PM
>>> To: programm...@jsoftware.com
>>> Subject: Re: [Jprogramming] [Jprogrammingou Hermitian from triangular
>>> 
>>> Linda wrote:
>>>>   ic
>>>> [: , ([: i: 9&o.) j./ [: i: 11&o.
>>>>  ic2
>>>> [: , j./&i:/@+.
>>>>  f
>>>> [: , [: j./&i:/ +.
>>>>  g
>>>> [: j./ [: i: +.
>>> 
>>> It appears to me that as you move from ic2 to f to g, you are simply 
>>> deleting words (the kind that you don't like).
>>> 
>>> If you go back to the email where ic2 was developed from ic, you'll 
>>> see that each of the words in ic2 was introduced deliberately, and 
>>> none of the words is superfluous.  In fact, it was the very words you 
>>> arbitrarily deleted which the email specifically introduced in order 
>>> to simplify ic to ic2, without losing functionality.  So, if you want 
>>> to remove those words, you must do it carefully.  In fact, if you take 
>>> care to do this properly, and gradually expand the definition of ic2 
>>> until it has your preferred, conjunction-free form, the result will be 
>>> ic!  In effect, you'll end up working through the ic->ic2 transformation
>> backwards.
>>> 
>>> You can't have it both ways: the ic2 form is simpler and cleaner, but 
>>> requires you to use conjunctions.  The ic form is composed solely of 
>>> verb trains, but is not as concise, and can't be read left-to-right or 
>>> executed right-to-left. That was the point of my original post: that 
>>> conjunctions have their benefits, and perhaps it's worth reconsidering 
>>> your aversion to them.
>>> 
>>> Anyway, arbitrarily deleting words you don't like is akin to 
>>> translating a sentence from Chinese to English by transliterating the 
>>> words you know, and simply ignoring the ones that you don't (or don't 
>>> have a simple, direct translation).  That won't work.
>>> 
>>> And, while it is good that you tested your changes along the way, 
>>> given the verbs' infinite domain, no amount of tests will ever prove 
>>> their correctness.  As you discovered, it only takes one 
>>> counterexample to destroy the equivalence.  You need to bring some theory
>> to the table.
>>> 
>>> Let me give you an example.  If you look at ic, Kip's original:
>>> 
>>>     13 : ',(i: 9 o. y) j./ i: 11 o. y'
>>>  [: , ([: i: 9 o. ]) j./ [: i: 11 o. ]
>>> 
>>> It's quite clear - even just visually - that his j./ has two 
>>> arguments: one on the left, and one on the right.  Whereas, if you look at
>> your g:
>>> 
>>>     13 :'j./ i:+.y'
>>>  [: j./ [: i: +.
>>> 
>>> it's evident that your j./ only has one argument, on the right.  So g 
>>> can't be doing the same thing as ic (or, by implication, ic2).
>>> 
>>> This is the kind of analysis you need to do if you want to simplify J 
>>> verbs or phrases.  You can't just randomly delete words you don't 
>>> like. But moreover, it may be worth your while to reconsider eschewing 
>>> these words in the first place. I noticed you picked up on ic2, rather 
>>> than ic, to use as a basis for your own approach, even though the 
>>> former is conjunction-rich and the latter conjunction-free.  And 
>>> furthermore, while you deleted the / that followed i:, you retained 
>>> the / following j. - apparently because you thought it expressed some
>> concept clearly.
>>> 
>>> -Dan
>>> 
>>> PS:  
>>> 
>>> Linda also wrote:
>>>> However, I do not understand how ic and ic2 agree when they don't!
>>> 
>>> In fact, they do.  If you want to understand how, then [1] walks 
>>> through that in some detail.
>>> 
>>> This is despite the observation Raul made earlier:
>>> 
>>>> I will agree that they do not agree [at rank 1 and higher]
>>> 
>>> Which was specifically called out in the original email:
>>> 
>>>> NB.  But...
>>>> (ic2 -: ic) 1 2 1j2 0j2
>>>> 0
>>>> 
>>>> NB. When we move beyond the original scope of a single,  NB. scalar 
>>>> input the answers differ.  What gives?
>>>> NB. Left as an exercise for the reader.
>>> 
>>> And in the follow-ups, e.g. from Kip:
>>> 
>>>> About your closing question, consider
>>>> (ic2"0 -: ic"0) 1 2 1j2 0j2
>>>> 1
>>>> 
>>>> Monadic i: has rank 0 and for reasonable behavior  I think ic and ic2 
>>>> should be used with rank 0 on vector arguments.
>>> 
>>> [1]  Development of ic2 from ic:
>>> 
>>> http://www.jsoftware.com/pipermail/programming/2013-January/031131.htm
>>> l
>>> 
>>> 
>>> ----------------------------------------------------------------------
>>> 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