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

Reply via email to