29 lines
904 B
Text
29 lines
904 B
Text
#!/usr/bin/algol68g-full --script #
|
|
# -*- coding: utf-8 -*- #
|
|
|
|
PR READ "prelude_exception.a68" PR;
|
|
|
|
# define the attributes of the scalar field being used #
|
|
MODE SCAL = REAL;
|
|
FORMAT scal repr = $g(-0,real width)$;
|
|
# create "near min scal" as is scales better then small real #
|
|
SCAL near min scal = min real ** 0.99;
|
|
|
|
PR READ "prelude_mat_lib.a68" PR;
|
|
PR READ "prelude_gaussian_elimination.a68" PR;
|
|
|
|
MAT a =(( 1.00, 0.00, 0.00, 0.00, 0.00, 0.00),
|
|
( 1.00, 0.63, 0.39, 0.25, 0.16, 0.10),
|
|
( 1.00, 1.26, 1.58, 1.98, 2.49, 3.13),
|
|
( 1.00, 1.88, 3.55, 6.70, 12.62, 23.80),
|
|
( 1.00, 2.51, 6.32, 15.88, 39.90, 100.28),
|
|
( 1.00, 3.14, 9.87, 31.01, 97.41, 306.02));
|
|
VEC b = (-0.01, 0.61, 0.91, 0.99, 0.60, 0.02);
|
|
|
|
[UPB b,1]SCAL col b; col b[,1]:= b;
|
|
|
|
upb vec := 2 UPB a;
|
|
|
|
printf((vec repr, gaussian elimination(a,col b)));
|
|
|
|
PR READ "postlude_exception.a68" PR
|