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

Reply via email to