Thanks a lot, Igor, for the example and all the work you put into the library. Both methods (1) and (2) chug along for a few minutes but end up spitting out a result that looks reasonable.
Cheers, Mike On Tue, Apr 9, 2013 at 12:51 AM, Igor Zhuravlov <[email protected]> wrote: > On 8 апреля 2013 22:53:13 Michal D. wrote: > > I haven't been able to sort through the mt code to decipher how to call > the > > routines with a single input matrix. It looks like quite a substantial > > amount of important work. > > load'math/mt' > > NB. generate random symmetric 4x4-matrix to play with (see rand.ijs) > ] A=. _1 1 0 3 _6 4&gemat_mt_ hemat_mt_ 4 4 > _0.0157367 0.000464677 _0.0096888 _7.10246 > 0.000464677 _1.38946 _11.0957 1.71751 > _0.0096888 _11.0957 0.0149438 _1.78811 > _7.10246 1.71751 _1.78811 0.0686757 > > NB. case 1: use mt-only staff > NB. - since there is no equivalent xGEEV('N','N',...), let's use > NB. equivalent of xGGEV('N','N',...), either ggevunn or ggevlnn > NB. - ggevunn is column-wise algo implementing xGGEV('N','N',...) of > LAPACK > NB. version 3.2.2, ggevlnn is row-wise algo modeling the same > NB. xGGEV('N','N',...) > > NB. 1) create 4x4 identity matrix > I=. idmat_mt_ 4 > > NB. 2) compose generalized eigenvalue problem and feed it to ggevlnn > ggevlnn_mt_ A ,: I > 11.3293 6.40637 _7.25198 _11.8053 > 1 1 1 1 > NB. - result is 2x4-matrix of generalized eigenvalues, where 1st row > NB. is A's eigenvalues > > NB. case 2: create new definition to get necessary functionality, > NB. see application section for ggevlxx in ev.ijs > > NB. 1) simulate LAPACK's xGEEV('N','N',...): > NB. e=. geevlnn A > geevlnn=: {.@ggevlnn_mt_@(,:(idmat_mt_@c_mt_)) > > NB. 2) feed A to it > geevlnn A > 11.3293 6.40637 _7.25198 _11.8053 > > -- > WBR > Igor > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
