bug I think, but a partial workaround

pD =: 1!:2&2

   ''[(pD@:('norm ',":)) :. (pD@:('inverse ',":))^:_1^:2   'abc' 
inverse abc 
inverse inverse abc 


doesn't help with _1 0 , or _1 _1.  Also affects ^:v

   ''[0 _1 (pD@:('norm ',":@:])) :. (pD@:('inverse ',":@:]))(^:[ )   'abc' 
norm abc 
inverse abc 

there is also a problem with any multiple argument:

   ''[  (pD@:('norm ',":@:])) :. (pD@:('inverse ',":@:]))^: 0 1   'abc' 
norm abc 
norm abc 


can be partial fixed with removing 0s when the v argument contains multiple 
items :
scalarize =: {.^:((,1) -: $) 

  power =: 2 : 'u^:(0 (scalarize@:-.~^:(1<#@:]) *)  v"_) ^:([: | 0 
scalarize@:-.~^:(1<#@:]) v"_)'

   ''[  (pD@:('norm ',":@:])) :. (pD@:('inverse ',":@:]))power _2   'abc' 
inverse abc 
inverse inverse abc 

   ''[  (pD@:('norm ',":@:])) :. (pD@:('inverse ',":@:]))power 0 2   'abc' 
norm abc 
norm norm abc 

   ''[ 0 _2 (pD@:('norm ',":@:])) :. (pD@:('inverse ',":@:]))power [   'abc' 
inverse abc 
inverse inverse abc 

just _1 _1 remains a problem, but could be fixed with nub.


----- Original Message -----
From: "[email protected]" <[email protected]>
To: [email protected]
Cc: 
Sent: Tuesday, July 15, 2014 11:57:26 AM
Subject: [Jprogramming] Why does u^:_2 execute u?

u^:_1 executes the inverse of u, but u&:_2, or any other value
of n containing a negative value, executes u first.  I am just wondering why

  '' [ (>:@[ smoutput@('+',":)) :. (<:@[ smoutput@('-',":)) ^:(_1) 0
-0

  '' [ (>:@[ smoutput@('+',":)) :. (<:@[ smoutput@('-',":)) ^:(_1 0) 0
+0
-0

  '' [ (>:@[ smoutput@('+',":)) :. (<:@[ smoutput@('-',":)) ^:(_2) 0
+0
-0
-_1

The +0 lines are the surprise executions of u.  The execution seems to mean 
business:

   [: :. (smoutput@('inverse ',":))^:_1  'abc' 
inverse abc
   [: :. (smoutput@('inverse ',":))^:_1 _1  'abc' 
|domain error
|       [: :.(smoutput@('inverse ',":))^:_1 _1'abc'

I just can't imagine what the business might be.

Henry Rich





----------------------------------------------------------------------
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