eval1=: +/ .*&>/@|.&(128!:0)
] A=: 3 3$33 16 72 _24 _10 _57 _8 _4 _17
33 16 72
_24 _10 _57
_8 _4 _17
eval1^:100 A
3 25.9513 100.648
1.72914e_33 2 _2.35339
_4.61459e_50 2.36613e_31 1
(<0 1) |: eval1^:100 A
3 2 1
----- Original Message -----
From: "M.Shimura" <[EMAIL PROTECTED]>
Date: Sunday, August 26, 2007 19:23
Subject: [Jprogramming] Re: More on eigen values
To: [email protected]
>
> My old simple script is thus
>
> eval=:(>&(1&{) +/ .* >&(0&{))&(128!:0)
>
> (<0 1)&|: eval ^:100 A
> 3 2 1
>
> eval ^:100 A
>
> 3 25.9513 100.648
> 1.72914e_33 2 _2.35339
> _4.61459e_50
> 2.36613e_31 1
>
> Example
> A
> 33 16 72
> _24 _10 _57
> _8 _4 _17
>
> M.Shimura ([EMAIL PROTECTED])
> Japan APL Association
>
> Hot day in Tokyo
>
> >
> > While I still suggest using LAPACK for calculating
> eigenvalues, there
> > appears to be some interest in an all-J solution.
> >
> > Here's a (not very elegant) solution using the neglected
> 128!:0 (QR
> > reduction).
> >
> >
> > QR=:128!:0
> > mp=:+/ . *
> >
> > f=:mp&>~/ @: QR
> >
> > g=:3 : 0
> > z=.f y
> > while. z~:y do.
> > y=.z
> > z=.f y
> > end.
> > (<0 1)&|: z
> > )
> >
> > A =: 33 16 72 , _24 _10 _57 ,: _8 _4 _17
> >
> > g A
> > 3 2 1
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm