File: rtest_lapack.mac

package info (click to toggle)
maxima 5.47.0-9
  • links: PTS
  • area: main
  • in suites: forky, sid
  • size: 193,104 kB
  • sloc: lisp: 434,678; fortran: 14,665; tcl: 10,990; sh: 4,577; makefile: 2,763; ansic: 447; java: 328; python: 262; perl: 201; xml: 60; awk: 28; sed: 15; javascript: 2
file content (41 lines) | stat: -rw-r--r-- 1,067 bytes parent folder | download | duplicates (12)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
/* Tests for LAPACK routines */

/* Square test matrix */
a:matrix([.35,.45,-.14,-.17],[.09,.07,-.54,.35],[-.44,-.33,-.03,.17],[.25,-.32,-.13,.11]);
matrix([.35,.45,-.14,-.17],[.09,.07,-.54,.35],[-.44,-.33,-.03,.17],[.25,-.32,-.13,.11]);

/* Test dlange (matrix norms) */
dlange('max,a);
0.54;

dlange('one_norm,a);
1.17;

dlange('inf_norm,a);
1.11;

is(abs(dlange('frobenius,a)-1.151868047998554) < 1e-10);
true;

/* Test dgeev */
(res:dgeev(a,true),0);
0;

is(zlange('inf_norm, matrix(res[1])-matrix([.79948,-.099412+%i*.40079,-.099412-%i*.40079,-.10066]))<1e-4);
true;

(eig:transpose(matrix([-.65509,-.52363,.53622,-.095607],
                      [-.19330+%i*.25463, .25186-%i*.52240, .097182-%i*.30838, .67595],
                      [-.19330-%i*.25463, .25186+%i*.52240, .097182+%i*.30838, .67595],
		      [ .12533, .33202, .59384, .72209]))
 ,0);
0;

is(zlange('one_norm, res[2]-eig) < 5e-5);
true;

/* SF bug # 2634: "zgeev does not operate on real matrices" */

zgeev (matrix ([1, 0], [0, 1]), true, false);
[[1.0,1.0],matrix([1.0,0.0],[0.0,1.0]),false];