# inv is the same as #^:_1 (using the power conjunction). A list of
default inverses can be found at
http://www.jsoftware.com/help/dictionary/d202n.htm

#^:_1 is listed under point 6.

Kind regards,

Jan-Pieter

2014-09-11 13:04 GMT+02:00 Sebastian <[email protected]>:
> Hi Raul and Dan,
>
> Many thanks for your great help! :)
>
> I found # as copy in the j vocabulary now, but I cannot find #inv. Where I
> have to search?
>
> Sebastian
>
> ------ Originalnachricht ------
> Von: "Raul Miller" <[email protected]>
> An: "Programming forum" <[email protected]>
> Gesendet: 11.09.2014 12:58:37
> Betreff: Re: [Jprogramming] Extend/reduce matrix dimensions
>
>
>> Here's an example of how I frequently use non-truth-valued #
>>
>>    9!:7]9 1 1#'+|-'
>>
>> Thanks,
>>
>> --
>> Raul
>>
>> On Thu, Sep 11, 2014 at 6:49 AM, Dan Bron <[email protected]> wrote:
>>
>>>  Note also that you can use plain, uninverted # to expand arguments:
>>>
>>>     1 1j1 1 (#!.1) 3 3 $ 0
>>>  0 0 0
>>>  0 0 0
>>>  1 1 1
>>>  0 0 0
>>>     1 1j1 1 (#!.1"1) 3 3 $ 0
>>>  0 0 1 0
>>>  0 0 1 0
>>>  0 0 1 0
>>>
>>>
>>>  Which approach you pick often depends on whether it's easier for you to
>>>  express your expansion vector with length N (complex numbers) or N+1
>>>  (boolean numbers).
>>>
>>>  -Dan
>>>
>>>  This is worth remembering as well, though I rarely see it used:
>>>
>>>     1 2 1 # i. 3 3
>>>  0 1 2
>>>  3 4 5
>>>  3 4 5
>>>  6 7 8
>>>
>>>  Please excuse typos; sent from a phone.
>>>
>>>  > On Sep 11, 2014, at 5:32 AM, Raul Miller <[email protected]>
>>> wrote:
>>>  >
>>>  > Here are some perhaps relevant examples:
>>>  >
>>>  > 1 1 0 1 #inv (3 3$ 0)
>>>  > 0 0 0
>>>  > 0 0 0
>>>  > 0 0 0
>>>  > 0 0 0
>>>  > 1 1 0 1 #inv!.1 (3 3$ 0)
>>>  > 0 0 0
>>>  > 0 0 0
>>>  > 1 1 1
>>>  > 0 0 0
>>>  > 1 1 0 1 #inv!.1"1 (3 3$ 0)
>>>  > 0 0 1 0
>>>  > 0 0 1 0
>>>  > 0 0 1 0
>>>  > 1 1 0 1 #inv!.1"1 (1 1 0 1) #inv!.1 (3 3$ 0)
>>>  > 0 0 1 0
>>>  > 0 0 1 0
>>>  > 1 1 1 1
>>>  > 0 0 1 0
>>>  > 1 1 0 1 # 1 1 0 1 #inv!.1"1 (1 1 0 1) #inv!.1 (3 3$ 0)
>>>  > 0 0 1 0
>>>  > 0 0 1 0
>>>  > 0 0 1 0
>>>  > 1 1 0 1 #("1) 1 1 0 1 # 1 1 0 1 #inv!.1"1 (1 1 0 1) #inv!.1 (3 3$ 0)
>>>  > 0 0 0
>>>  > 0 0 0
>>>  > 0 0 0
>>>  > (i.3) 2} 1 1 0 1 #inv (3 3$0)
>>>  > 0 0 0
>>>  > 0 0 0
>>>  > 0 1 2
>>>  > 0 0 0
>>>  > (i.4) 2}"0 1 (1 1 0 1) #inv"1 (i.3) 2} 1 1 0 1 #inv (3 3$0)
>>>  > 0 0 0 0
>>>  > 0 0 1 0
>>>  > 0 1 2 2
>>>  > 0 0 3 0
>>>  > (i.4) 2}"0 1 (1 1 0 1) #inv"1 (0 1 3) 2} 1 1 0 1 #inv (3 3$0)
>>>  > 0 0 0 0
>>>  > 0 0 1 0
>>>  > 0 1 2 3
>>>  > 0 0 3 0
>>>  >
>>>  > The whole #inv thing is a bit quirky but was quite deliberate. This
>>> was a
>>>  > primitive in APL, but the syntax was ... strange. Rather than trying
>>> to
>>>  > find a special symbol for this operation, Iverson put it on #inv
>>> (since -
>>>  > logically speaking - it's the inverse of #).
>>>  >
>>>  > Thanks,
>>>  >
>>>  > --
>>>  > Raul
>>>  >
>>>  >
>>>  >> On Thu, Sep 11, 2014 at 5:21 AM, Sebastian <[email protected]>
>>> wrote:
>>>  >>
>>>  >> Hi,
>>>  >>
>>>  >> I know the verbs , ,. ,: to add rows, columns and dimensions to
>>>  matrices.
>>>  >> It is easy to add these to begin or the end of the corrosponding
>>>  dimension,
>>>  >> but what is to do, if I want to add one row/column in the middle of a
>>>  >> matrix? Is the only way to slice the matrix in two pieces and join
>>> them
>>>  >> with the new row/column?
>>>  >>
>>>  >> A few examples:
>>>  >>
>>>  >> Initial situation:
>>>  >>
>>>  >> 3 3 $ 0
>>>  >> 0 0 0
>>>  >>
>>>  >> 0 0 0
>>>  >>
>>>  >> 0 0 0
>>>  >>
>>>  >>
>>>  >> add column somewhere to the middle:
>>>  >>
>>>  >> 0 0 1 0
>>>  >>
>>>  >> 0 0 1 0
>>>  >>
>>>  >> 0 0 1 0
>>>  >>
>>>  >>
>>>  >>
>>>  >> add row somewhere to the middle:
>>>  >>
>>>  >> 0 0 1 0
>>>  >>
>>>  >> 0 0 1 0
>>>  >>
>>>  >> 1 1 1 1
>>>  >>
>>>  >> 0 0 1 0
>>>  >>
>>>  >>
>>>  >> remove the added column:
>>>  >>
>>>  >> 0 0 0
>>>  >>
>>>  >> 0 0 0
>>>  >>
>>>  >> 1 1 1
>>>  >>
>>>  >> 0 0 0
>>>  >>
>>>  >>
>>>  >>
>>>  >> and the row:
>>>  >>
>>>  >>
>>>  >>
>>>  >> 0 0 0
>>>  >>
>>>  >> 0 0 0
>>>  >>
>>>  >> 0 0 0
>>>  >>
>>>  >>
>>>  >>
>>>  >> Can anyone help me with this?
>>>  >>
>>>  >>
>>>  >>
>>>  >> Regards
>>>  >>
>>>  >> Sebastian
>>>  >>
>>> ----------------------------------------------------------------------
>>>  >> 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