Related:

    ic5 =: [: , [: j./&i:/ +.
    ic5 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 23, 2013, at 3:06 AM, "Linda Alvord" <lindaalv...@verizon.net> wrote:

> Also:
> 
>   g=: 13 :',(i:0{+.y)j./i:1{+.y'
>   g
> [: , ([: i: 0 { +.) j./ [: i: 1 { +.
>   g 1j2
> _1j_2 _1j_1 _1 _1j1 _1j2 0j_2 0j_1 0 0j1 0j2 1j_2 1j_1 1 1j1 1j2
> 
> 
> Linda
> 
> -----Original Message-----
> From: programming-boun...@forums.jsoftware.com
> [mailto:programming-boun...@forums.jsoftware.com] On Behalf Of Linda Alvord
> Sent: Wednesday, January 23, 2013 2:54 AM
> To: programm...@jsoftware.com
> Subject: Re: [Jprogramming] [Jprogrammingou Hermitian from triangular
> 
> A small forest:
> 
>   5!:4 <'ic'
>  -- [:                 
>  +- ,                  
>  │          -- [:      
>  │          +- i:      
> --+    ------+     -- 9 
>  │    │     L- & -+- o.
>  │    │                
>  │    +- / --- j.      
>  L----+                
>       │     -- [:      
>       │     +- i:      
>       L-----+     -- 11
>             L- & -+- o.
>   5!:4 <'ic2'
>  -- [:                        
>  +- ,                         
> --+                 -- / --- j.
>  │     -- / --- & -+- i:      
>  L- @ -+- +.                  
>   5!:4 <'ic4'
>  -- [:                   
>  +- ,                    
>  │    -- [:              
> --+    │             -- i:
>  │    │       -- @ -+- [ 
>  │    │       │          
>  L----+       +- / --- j.
>       +- / ---+          
>       │       │     -- i:
>       │       L- @ -+- ] 
>       L- +.              
>     5!:4 <'f'
>  -- [:                   
>  +- ,                    
>  │    -- [:              
>  │    │             -- [:
> --+    │       ------+- i:
>  │    │       │     L- [ 
>  │    │       │          
>  L----+- / ---+- / --- j.
>       │       │          
>       │       │     -- [:
>       │       L-----+- i:
>       │             L- ] 
>       L- +.              
> 
>  Linda 
> 
> -----Original Message-----
> From: programming-boun...@forums.jsoftware.com
> [mailto:programming-boun...@forums.jsoftware.com] On Behalf Of Linda Alvord
> Sent: Wednesday, January 23, 2013 2:48 AM
> To: programm...@jsoftware.com
> Subject: Re: [Jprogramming] [Jprogrammingou Hermitian from triangular
> 
> This wasn't easy, but I'm finally peaceful!  Thanks to all for your prodding
> and coaching.
> 
>   ic=:[: , ([: i: 9&o.) j./ ([: i: 11&o.)
>   ic2=:[: ,j./&i:/@+.
>   ic4=:[: , [: (i:@[ j./ i:@])/ +.  NB. Kip
>   f=: 13 :',([:(([:i:[)j./[:i:])/+.)y'
> 
>   ic
> [: , ([: i: 9&o.) j./ [: i: 11&o.
>   ic2
> [: , j./&i:/@+.
>   ic4
> [: , [: (i:@[ j./ i:@])/ +.
>   f
> [: , [: (([: i: [) j./ [: i: ])/ +.
> 
>   ic 1j2
> _1j_2 _1j_1 _1 _1j1 _1j2 0j_2 0j_1 0 0j1 0j2 1j_2 1j_1 1 1j1 1j2
>   ic2 1j2
> _1j_2 _1j_1 _1 _1j1 _1j2 0j_2 0j_1 0 0j1 0j2 1j_2 1j_1 1 1j1 1j2
>   ic4 1j2
> _1j_2 _1j_1 _1 _1j1 _1j2 0j_2 0j_1 0 0j1 0j2 1j_2 1j_1 1 1j1 1j2
>   f 1j2
> _1j_2 _1j_1 _1 _1j1 _1j2 0j_2 0j_1 0 0j1 0j2 1j_2 1j_1 1 1j1 1j2
> 
> Linda
> 
> 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
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to