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 <[email protected]> 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