Add some basic letsimp tests based on bug #3950
[maxima.git] / share / lapack / rtest_dgesv.mac
blob77fcd0706ca65102b5b9fe77481672fdfb897239
1 (if not ?fboundp ('dgesv) then load("lapack"),
2   'done);
3 'done$
5 (float_approx_equal_tolerance : 1e-12, 'done);
6 'done$
8 block([A, b, x],
9   (A : matrix ([1, -2.5], [0.375, 5]),
10    b : matrix ([1.75], [-0.625]),
11    x : dgesv (A, b),
12    dlange (inf_norm, b - A.x)));
13 0.0$
15 block([A, b, x],
16   (A : matrix ([1, -0.15], [1.82, 2]),
17    b : matrix ([3.7, 1, 8], [-2.3, 5, -3.9]),
18    x : dgesv (A, b),
19    dlange (inf_norm, b - A . x)));
20 1.110223024625157E-15$
22 block([A, b, x],
23   (A : matrix ([5, -%pi], [1b0, 11/17]),
24    b : matrix ([%e], [sin(1)]),
25    x : dgesv (A, b),
26    dlange (inf_norm, b - A . x)));
27 2.220446049250313E-16$
30 From Intel Math Kernel Library LAPACK Examples
31 mkl_lapack_examples/dgesv_ex.c.htm */
32 block([A, b],
33   (A: matrix(
34     [     6.80,  -6.05,  -0.45,   8.32,  -9.67],
35     [    -2.11,  -3.30,   2.58,   2.71,  -5.14],
36     [     5.66,   5.36,  -2.70,   4.35,  -7.26],
37     [     5.97,  -4.44,   0.27,  -7.17,   6.08],
38     [     8.23,   1.08,   9.04,   2.14,  -6.87]),
39    b: matrix(
40     [     4.02,  -1.56,   9.81],
41     [     6.19,   4.00,  -4.09],
42     [    -8.22,  -8.67,  -4.57],
43     [    -7.57,   1.75,  -8.61],
44     [    -3.03,   2.86,   8.99]),
45   dgesv(A, b)));
46 matrix([-0.8007140257202475,-0.3896213930191952,0.9554649124194904],
47        [-0.6952433844403112,-0.554427127353211,0.2206596269817108],
48        [0.593914994899136,0.842227385604611,1.900636731558973],
49        [1.321725609087391,-0.1038018538074622,5.357661487175357],
50        [0.5657561965738039,0.1057109514742748,4.040602658253425])$
52 (reset(float_approx_equal_tolerance), 'done);
53 'done$