I sort of wondered about that word "triangular" but no one else seemed to worry about it. I should have noticed that A was a triangular matrix when K showed up
ishermitian=: -:[:+|: ]J=:hermy=. (([: <: [: +: 0 ?@$~ ,~) j. [: <: [: +: 0 ?@$~ ,~) 3 0.82045j_0.713947 _0.216061j_0.616151 _0.560927j_0.861101 0.101964j_0.151381 0.350483j_0.440496 0.58375j0.501941 0.00170859j0.457596 0.637767j0.161541 0.333754j_0.975332 ]UT=:(i.3)<:/i.3 1 1 1 0 1 1 0 0 1 ]K=:UT*J 0.82045j_0.713947 _0.216061j_0.616151 _0.560927j_0.861101 0 0.350483j_0.440496 0.58375j0.501941 0 0 0.333754j_0.975332 hft =: + +@|:@(- ] * =@i.@#) NB. Kip ishermitian hft K 0 hft=: (+ +@|: * >/~@i.@#) NB. Ai ishermitian hft K 0 hft=: (% 1 + =@i.@#)@:+ +@|: NB. Raul ishermitian hft K 1 hft=:((23 b.&.(a.&i.)&.(2&(3!:5))&.+. +@|:)) NB. Henry ishermitian hft K 0 hft=: 0&=`(,: +@|:)} ishermitian hft K 0 Does K sufficient to test these programs, Kip? Linda -----Original Message----- From: programming-boun...@forums.jsoftware.com [mailto:programming-boun...@forums.jsoftware.com] On Behalf Of km Sent: Wednesday, January 16, 2013 1:31 AM To: programm...@jsoftware.com Subject: Re: [Jprogramming] Hermitian from triangular Linda and Devon, the assignment was to turn a triangular matrix that has a real diagonal into a Hermitian matrix. A triangular matrix can be "upper triangular" like 1 2 3 0 4 5 0 0 6 or "lower triangular" like 1 0 0 2 3 0 4 5 6 The "diagonal" is always the one running from the upper left corner to the lower right corner, containing 1 4 6 in the first example and 1 3 6 in the second example. The following upper triangular matrix has a real diagonal but some numbers off the diagonal are not real. 1 _2j3 0 0 _4 5j_6 0 0 7 Although the numbers in my examples have patterns, in general the numbers in a triangular matrix need have no pattern except that either numbers below the diagonal are all 0's or numbers above the diagonal are all 0's. Kip Murray Sent from my iPad On Jan 15, 2013, at 11:19 PM, Devon McCormick <devon...@gmail.com> wrote: > Your results agree with mine - of the three versions of "hft" only > Raul's appears to turn an arbitrary random, complex, square matrix > into one that passes "ishermitian". > > > On Tue, Jan 15, 2013 at 11:05 PM, Linda Alvord <lindaalv...@verizon.net>wrote: > >> Have I gotten all the definitions correct? The only one that >> consistently works on a random matrix provided by Kip was provided by >> Raul >> >> ishermitian =: -: +@|: >> ]K=:hermy=. (([: <: [: +: 0 ?@$~ ,~) j. [: <: [: +: 0 ?@$~ ,~) 3 >> 0.681691j_0.530679 0.105724j0.221189 0.140368j_0.982508 >> _0.469356j_0.623093 0.71661j0.893344 _0.125895j0.532656 >> _0.882974j_0.727597 0.0632899j_0.0448332 _0.975941j_0.730788 >> hft =: + +@|:@(- ] * =@i.@#) NB. Kip >> ishermitian hft K >> 0 >> hft=: (+ +@|: * >/~@i.@#) NB. Ai >> ishermitian hft K >> 0 >> hft=: (% 1 + =@i.@#)@:+ +@|: NB. Raul >> ishermitian hft K >> 1 >> hft=:((23 b.&.(a.&i.)&.(2&(3!:5))&.+. +@|:)) NB. Henry >> ishermitian hft K >> 0 >> hft=: 0&=`(,: +@|:)} >> ishermitian hft K >> 0 >> >> Linda >> >> >> -----Original Message----- >> From: programming-boun...@forums.jsoftware.com >> [mailto:programming-boun...@forums.jsoftware.com] On Behalf Of Henry >> Rich >> Sent: Tuesday, January 15, 2013 6:21 PM >> To: programm...@jsoftware.com >> Subject: Re: [Jprogramming] Hermitian from triangular >> >> Nah, that's not beyond impish. The devilish solution is to take the >> bitwise OR of the matrix with its conjugate transpose (but that's >> easier in assembler language than in J: >> (23 b.&.(a.&i.)&.(2&(3!:5))&.+. +@|:)) ). And you need to be sure >> that the zeros on the lower diagonal and below are true zeros! >> >> Henry Rich >> >> On 1/15/2013 6:03 PM, km wrote: >>> Oh, boy! (v1`v2) } y <--> (v1 y) } (v2 y) >>> >>> Brief and devilish, take care for your soul, Henry! >>> >>> --Kip >>> >>> Sent from my iPad >>> >>> >>> On Jan 15, 2013, at 3:39 PM, Henry Rich <henryhr...@nc.rr.com> wrote: >>> >>>> hft =: 0&=`(,: +@|:)} >>>> >>>> Henry Rich >>>> >>>> On 1/15/2013 5:25 AM, 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 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 > > > > -- > Devon McCormick, CFA > ^me^ at acm. > org is my > preferred e-mail > ---------------------------------------------------------------------- > 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