help pages : misc. improvements
[scilab.git] / scilab / modules / linear_algebra / examples / lapackscilab.sce
1 //
2 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 // Copyright (C) DIGITEO - 2010 - Allan CORNET
4 //
5 // This file is released under the 3-clause BSD license. See COPYING-BSD.
6 //
7
8 //
9 // A example to call some lapack routines
10 // dgemm, zgemm, dsyev
11
12 // WARNING:these gateways use old scilab api and it does not work with Scilab 6*/
13 // see help api_scilab for more information.
14
15
16 ilib_verbose(0);
17 setenv("__USE_DEPRECATED_STACK_FUNCTIONS__","YES");
18
19 curdir = pwd();
20 file_path = get_file_path("lapackscilab.sce");
21 chdir(file_path);
22
23 files_functions = ["intdgemm.c";
24 "intzgemm.c";
25 "intdsyev.c"];
26
27 table_functions = ["dgemm", "intdgemm";
28 "zgemm", "intzgemm";
29 "dsyev", "intdsyev"];
30
31 ilib_build("lapackexample", table_functions, files_functions, []);
32 exec loader.sce;
33
34 Alfa = 2;
35 Beta = 3;
36 m = 3;
37 n = 4;
38 C = ones(m, n);
39 k = 2;
40 A = ones(m, k);
41 B = ones(k, n);
42 C1 = dgemm(Alfa, A, B, Beta, C);
43 if norm(C1 - (Alfa * A * B + Beta * C)) > %eps then pause,end
44
45 A = [1/2^10, 1/2^10; 2^10, 2^10];
46 A = rand(3,3);
47 if norm(max(real(dsyev(A))) - max(real(spec(A))) ) > %eps * 1e15 then pause,end
48
49 alfa = 1 + %i;
50 betha = alfa;
51 A = rand(2,2) + %i * rand(2,2);
52 B = A;
53 C = A;
54 C = zgemm(alfa, A, B, betha, C)
55
56 cd(curdir);