See http://www.jsoftware.com/pipermail/programming/2008-October/012505.html ;)
On Thu, Feb 27, 2014 at 1:42 AM, Raul Miller <[email protected]> wrote: > Same as i.@# in =@i.@# > > It's generating a list of distinct values which = will use to > construct an identity matrix. > > Mind you, it might have made more sense for = to always construct > identity matrices. > > But in terms of time, constructing an identity matrix is O(n^2) and \: > is O(n log n) or better (if it's using bin sort, which I am not sure > it ever is), and identity matrix construction is usually not a > bottleneck even in situations where it's used a lot. > > So, as Roger Hui put it: Bravo! > > Thanks, > > -- > Raul > > On Thu, Feb 27, 2014 at 1:36 AM, Michal Wallace > <[email protected]> wrote: > > What purpose does the \: serve there? > > > > (*=) 9 7 5 3 > > > > 9 0 0 0 > > > > 0 7 0 0 > > > > 0 0 5 0 > > > > 0 0 0 3 > > > > > > > > > > On Wed, Feb 26, 2014 at 11:48 PM, J. Patrick Harrington > > <[email protected]>wrote: > > > >> 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 > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
