Arie, I enjoyed your ingenious and simple-but-not-easy solutions. My idea was to subtract A times an identity matrix from A (replacing the diagonal elements by 0), then add the conjugate transpose of that to A. =@i. n is a known idiom for an n by n identity matrix, and the rest was easy.
hft =: + +@|:@(- ] * =@i.@#) NB. Hermitian from triangular ishermitian hft A 1 Kip Murray Sent from my iPad On Jan 15, 2013, at 7: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