It's easy because isHermitian is so close to what you need for hft. In other words, hft=: -:@+ |: almost works, but it should only reduce the diagonal by half, not the rest of it. hft=: (% 1 + =@i.@#)@:+ +@|: is more complicated but structurally similar.
FYI, -- Raul On Tue, Jan 15, 2013 at 8:05 AM, Aai <agroeneveld...@gmail.com> wrote: > Why is it easy? From the point of view of a mathematician perhaps. I just > experimented towards the desired result. > > ishermitian ((]+[*~:) +@|:) A > 1 > ishermitian (+ +@|: * >/~@i.@#) A > 1 > > > > On 15-01-13 11:25, km wrote: >> >> This is an easy one. A Hermitian matrix matches its conjugate transpose. >> Write a verb hft that creates a Hermitian matrix from a triangular one that >> has a real diagonal. >> >> ishermitian =: -: +@|: >> ]A =: 2 2 $ 1 2j3 0 4 >> 1 2j3 >> 0 4 >> ]B =: hft A >> 1 2j3 >> 2j_3 4 >> ishermitian A >> 0 >> ishermitian B >> 1 >> >> Kip Murray >> >> Sent from my iPad >> ---------------------------------------------------------------------- >> For information about J forums seehttp://www.jsoftware.com/forums.htm > > > -- > Met vriendelijke groet, > @@i = Arie Groeneveld > > > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm