I have never written a J program that couldn't be improved . Well done, Ric!

- Bo




>________________________________
> Fra: Ric Sherlock <tikk...@gmail.com>
>Til: programm...@jsoftware.com 
>Sendt: 6:04 tirsdag den 20. november 2012
>Emne: Re: [Jprogramming] Verb definition + inadvertent train formation.
> 
>Yes and I think I prefer that formulation however monadic = works too:
>   = i.5
>1 0 0 0 0
>0 1 0 0 0
>0 0 1 0 0
>0 0 0 1 0
>0 0 0 0 1
>
>On Tue, Nov 20, 2012 at 6:01 PM, Bo Jacoby <bojac...@yahoo.dk> wrote:
>> The unit matrix is
>>    =/~i.5
>> 1 0 0 0 0
>> 0 1 0 0 0
>> 0 0 1 0 0
>> 0 0 0 1 0
>> 0 0 0 0 1
>>
>> - Bo
>>
>>
>>
>>
>>
>>>________________________________
>>> Fra: Don & Cathy Kelly <d...@shaw.ca>
>>>Til: programm...@jsoftware.com
>>>Sendt: 0:47 tirsdag den 20. november 2012
>>>Emne: Re: [Jprogramming] Verb definition + inadvertent train formation.
>>>
>>>No - I should have made it clear that the actual y is a list of n
>>>numbers and I need to add this list to the diagonal of a matrix.
>>>Since this will (of necessity) be within a loop and each time both the
>>>list and matrix will be modified (except for size),
>>>I have come to the conclusion that I should make a single unit matrix
>>>outside the iteration and use this each time.
>>>   ] u=:=@i.@#i.5
>>>
>>>1 0 0 0 0
>>>0 1 0 0 0
>>>0 0 1 0 0
>>>0 0 0 1 0
>>>0 0 0 0 1
>>>
>>>y=: 2 3 5 4 10
>>>
>>>    ]u *y
>>>2 0 0 0  0
>>>0 3 0 0  0
>>>0 0 5 0  0
>>>0 0 0 4  0
>>>0 0 0 0 10
>>>repeating with different y values as needed.
>>>
>>>The algorithm for u is taken from the "phrases" section of the
>>>vocabulary-maybe you have a simpler one?-
>>>Thanks
>>>
>>>Don
>>>
>>>
>>>On 18/11/2012 10:33 PM, bob therriault wrote:
>>>> Hi Don,
>>>>
>>>> Are you looking for
>>>>
>>>> y=:5
>>>>     c=:(*=)&i.
>>>>     c y
>>>> 0 0 0 0 0
>>>> 0 1 0 0 0
>>>> 0 0 2 0 0
>>>> 0 0 0 3 0
>>>> 0 0 0 0 4
>>>
>>>> Cheers, bob
>>>>
>>>> On 2012-11-18, at 7:13 PM, Don & Cathy Kelly wrote:
>>>>
>>>>> OOPs' I meant y=:i.5 5
>>>>>
>>>>> Don
>>>>> On 18/11/2012 7:04 PM, Don & Cathy Kelly wrote:
>>>>>> That gives the diagonal nicely  but the problem that I didn't express 
>>>>>> clearly is that I want a matrix as follows
>>>>>>    y=:i.5
>>>>>>
>>>>>>    ]result =: (* =@i.@#) y
>>>>>> 0 0 0 0 0
>>>>>> 0 1 0 0 0
>>>>>> 0 0 2 0 0
>>>>>> 0 0 0 3 0
>>>>>> 0 0 0 0 4
>>>>>> which II can get by
>>>>>> c=:* =@i.@#
>>>>>>    c y
>>>>>> 0 0 0 0 0
>>>>>> 0 1 0 0 0
>>>>>> 0 0 2 0 0
>>>>>> 0 0 0 3 0
>>>>>> 0 0 0 0 4
>>>>>>
>>>>>> For my purposes I can use a base nth order unit matrix by the phrase as 
>>>>>> given in phrases as  m=:=@i.@# y
>>>>>> and then deal with m* y1 , m* y2 etc which suits my purpose which is to 
>>>>>> form a specific Jacobean used for power system load flows.
>>>>>> I have handled this problem in APL  and am trying to replicate the 
>>>>>> coding more directly in J-mainly as an exploration of J for my own 
>>>>>> satisfaction.
>>>>>>
>>>>>> Thank you
>>>>>>
>>>>>> Don Kelly
>>>> ----------------------------------------------------------------------
>>>> 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