((++@|:)-(*=)) 2 2 $ 0 1 0 1
 |length error
 |       ((++@|:)-(*=))2 2$0 1 0 1
     
    = 2 2 $ 0 1 0 1
 1 1

Kip

Sent from my iPad


On Jan 17, 2013, at 7:39 AM, Mike Day <mike_liz....@tiscali.co.uk> wrote:

> I hadn't looked at this thread until just now.
> 
> Kip repeats his specification that the input is upper triangular with real 
> diagonal.
> 
> Assuming that is indeed the case,  then surely this is adequate and concise:
> (NB apologies for any remaining formatting problems - I've tried to correct 
> them manually)
> 
>    ((++@|:)-(*=)) A
> 
> 1    2j3
> 
> 2j_3   4
> 
> 
>    [Abig=:((</~i.10)*j./?2 10 10$10)+(<:/~i.10)*1+?10 10$10
> 
> 1 4j6 8j7  2j3 11j6  9j3 18j1 19j6    7 12j5
> 
> 0   5 6j6 10j2 12j6 16j7  9j3  8j6 13j9 12j5
> 
> 0 0   5 11j5 15j7 12j4  4j2    8  7j3 11j3
> 
> 0 0   0   10  8j3 12j4  7j5 16j5  8j1 15j1
> 
> 0 0   0    0    1 14j8  5j6  6j3 12j1 15j7
> 
> 0 0   0    0    0   10 14j5  8j6    4 12j1
> 
> 0 0   0    0    0    0    6 10j2 13j3   15
> 
> 0 0   0    0    0    0    0    2 16j1 10j6
> 
> 0 0   0    0    0    0    0    0    3 17j6
> 
> 0 0   0    0    0    0    0    0    0    5
> 
> ((++@|:)-(*=))Abig
> 
> 1    4j6   8j7   2j3  11j6   9j3  18j1  19j6     7 12j5
> 
> 4j_6 5   6j6  10j2  12j6  16j7   9j3   8j6  13j9 12j5
> 
> 8j_7 6j_6     5  11j5  15j7  12j4   4j2     8   7j3 11j3
> 
> 2j_3 10j_2 11j_5    10   8j3  12j4   7j5  16j5   8j1 15j1
> 
> 11j_6 12j_6 15j_7  8j_3     1  14j8   5j6   6j3  12j1 15j7
> 
> 9j_3 16j_7 12j_4 12j_4 14j_8    10  14j5   8j6     4 12j1
> 
> 18j_1 9j_3  4j_2  7j_5  5j_6 14j_5     6  10j2  13j3   15
> 
> 19j_6 8j_6     8 16j_5  6j_3  8j_6 10j_2     2  16j1 10j6
> 
> 7 13j_9  7j_3  8j_1 12j_1     4 13j_3 16j_1     3 17j6
> 
> 12j_5 12j_5 11j_3 15j_1 15j_7 12j_1    15 10j_6 17j_6    5
> 
> 
> Mike
> PS - for Chris. I ran this in the QtIDE - copy and paste from
> that session resulted in no more than single spaces everywhere,
> so I've had to pad them out by hand!  Here's the original for
> the small matrix.   The 3 character indent disappears entirely.
> 
> ((++@|:)-(*=))A
> 
> 1 2j3
> 
> 2j_3 4
> 
> 
> 
> 
> On 16/01/2013 9:07 AM, km wrote:
>> Can't use K because its diagonal is not real (is not made up of real 
>> numbers).  Kip
>> 
>> Sent from my iPad
>> 
>> 
>> On Jan 16, 2013, at 12:55 AM, "Linda Alvord" <lindaalv...@verizon.net> wrote:
>> 
>>> 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
>> ----------------------------------------------------------------------
>> 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

Reply via email to