add wrapper entry points to allow toolboxes to not link against core.lib instead...
[scilab.git] / scilab / modules / arnoldi / tests / nonreg_tests / dsaupd.dia.ref
1 // =============================================================================
2 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 // Copyright (C) 2008 - INRIA - Vincent COUVERT <vincent.couvert@inria.fr>
4 //
5 //  This file is distributed under the same license as the Scilab package.
6 // =============================================================================
7 // Tests for function dsaupd (added after a bug in the gateway: PutLhsVar missing)
8 stacksize(300000);
9 N = 1000;
10 A = sprand(N, N, 0.01);
11 IDO   = 0;
12 BMAT  = 'I'; //standard eigenvalue problem
13 WHICH = "LM";
14 NEV   = 4; //NEVth eigen values are solved
15 TOL   = 1D-10;
16 RESID = zeros(N,1); //
17 NCV   = 10;
18 V = zeros(N, NCV);
19 ISHIFT = 1;
20 LEVEC  = 0;
21 MXITER = 100; //INPUT
22 NB     = 1;
23 NCONV  = 0;
24 IUPD   = 0;
25 MODE   = 1;
26 NP     = 100;
27 NUMOP  = 0;
28 NUMOPB = 0;
29 NUMREO = 0;
30 IPARAM = [ISHIFT, LEVEC,  MXITER, NB, NCONV, IUPD, MODE, NP, NUMOP, NUMOPB, NUMREO];
31 IPNTR = zeros(1,14);
32 WORKD = zeros(3, N);
33 WORKL = zeros(1, NCV**2 + 8 * NCV);
34 INFO = 0;
35 i = 0;
36 tic();
37 [IDO,RESID,V,IPARAM,IPNTR,WORKD,WORKL,INFO] = dsaupd(IDO,BMAT,N,WHICH,NEV,TOL,RESID,NCV,V,IPARAM,IPNTR,WORKD,WORKL,INFO);
38 while (IDO <> 99) & (IDO <> 3)
39   [IDO,RESID,V,IPARAM,IPNTR,WORKD,WORKL,INFO] = dsaupd(IDO,BMAT,N,WHICH,NEV,TOL,RESID,NCV,V,IPARAM,IPNTR,WORKD,WORKL,INFO);
40   if (IDO == 1) then
41     WORKD(IPNTR(2):(IPNTR(2)+N - 1)) = A * WORKD(IPNTR(1):(IPNTR(1)+N - 1));
42   elseif (IDO == 3) then
43   end;
44   i = i + 1;
45 end;
46 t1 = toc();
47 printf("loop %d",i);
48 loop 72b = rand(N,1);
49 tic();
50 for j = 1:i
51   b = A * b;
52 end
53 toc();