not sure if given, but even shorter, and maybe clearer (?) (* =/~) or (] * =/~)
(* =/~) 9 7 5 3 9 0 0 0 0 7 0 0 0 0 5 0 0 0 0 3 ( =/~) 9 7 5 3 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 ----- Original Message ----- From: J. Patrick Harrington <[email protected]> To: "[email protected]" <[email protected]> Cc: Sent: Thursday, February 27, 2014 12:48:44 AM Subject: Re: [Jprogramming] create matrix from diagonal even shorter: diag4=: *=@\: diag4 9 7 5 3 9 0 0 0 0 7 0 0 0 0 5 0 0 0 0 3 Patrick On Wed, 26 Feb 2014, km wrote: > (*"0 1 =@i.@#) 1 2 3 > 1 0 0 > 0 2 0 > 0 0 3 > > --Kip Murray > > Sent from my iPad > >> On Feb 26, 2014, at 9:35 PM, Roger Hui <[email protected]> wrote: >> >> diag=: 3 : 'y (,&.>~i.#y)} 0 $~ ,~#y' >> diag 10 20 30 40 >> 10 0 0 0 >> 0 20 0 0 >> 0 0 30 0 >> 0 0 0 40 >> >> diag1=: ]\ * =/~@i.@# >> diag1 10 20 30 40 >> 10 0 0 0 >> 0 20 0 0 >> 0 0 30 0 >> 0 0 0 40 >> >> diag2=: -@>:@i.@# {."0 ] >> diag2 10 20 30 40 >> 10 0 0 0 >> 0 20 0 0 >> 0 0 30 0 >> 0 0 0 40 >> >> diag3=: ,~@# $ ] #~ 1 j. # >> diag3 10 20 30 40 >> 10 0 0 0 >> 0 20 0 0 >> 0 0 30 0 >> 0 0 0 40 >> >> >> >> >> >>> On Wed, Feb 26, 2014 at 7:12 PM, Joe Bogner <[email protected]> wrote: >>> >>> Sorry, I figured it out: >>> >>> I just needed one more 0... >>> >>> ] S * (4 4 $ 1 0 0 0 0) >>> 4 0 0 0 >>> 0 3 0 0 >>> 0 0 2.23607 0 >>> 0 0 0 0 >>> >>>> On Wed, Feb 26, 2014 at 10:02 PM, Joe Bogner <[email protected]> wrote: >>>> I'm experimenting with svd and am looking for a nicer way of creating >>>> a matrix from the S diagonal >>>> >>>> 4 3 2.23607 0 >>>> >>>> needs to be >>>> >>>> ] (4 4 $ 4 0 0 0 0 3 0 0 0 0 2.23607 0 0 0 0 0 ) >>>> 4 0 0 0 >>>> 0 3 0 0 >>>> 0 0 2.23607 0 >>>> 0 0 0 0 >>>> >>>> What would be the idiomatic way to make that conversion? I tried >>>> various versions of reshape and insert. >>>> >>>> Not quite... >>>> >>>> ],\ S >>>> 4 0 0 0 >>>> 4 3 0 0 >>>> 4 3 2.23607 0 >>>> 4 3 2.23607 0 >>>> >>>> I also thought about multiplying it by a diagonal matrix of 0s and 1s >>>> but couldn't get that figured out either >>>> >>>> Thanks >>>> Joe >>> ---------------------------------------------------------------------- >>> 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
