Speed improvements
Experience improved speed for a number of fundamental computations in GAUSS 18 such as chained concatenation, vector-vector multiplication, and descriptive statistics.
Example nonlinear functions
In order to make the impact of the concatenation and indexing speed-ups more relevant, two of the nonlinear functions used to create the graph at the top of the page are shown below.
proc fct_a(x);
local f1,f2,f3;
f1 = 3*x[1]^3 + 2*x[2]^2 + 5*x[3] - 10;
f2 = -x[1]^3 - 3*x[2]^2 + x[3] + 5;
f3 = 3*x[1]^3 + 2*x[2]^2 -4*x[3];
retp(f1|f2|f3);
endp;
proc fct_b(x);
local ff1, ff2, ff3, ff4, ff5, ff6, ff7, P;
P = 20;
ff1 = 0.5*x[1] + x[2] + 0.5*x[3] - x[6]/x[7];
ff2 = x[3] + x[4] + 2*x[5] - 2/x[7];
ff3 = x[1] + x[2] + x[5] - 1/x[7];
ff4 = -28837*x[1] - 139009*x[2] - 78213*x[3]
+ 18927*x[4] + 8427*x[5] + 13492/x[7]
- 10690*x[6]/x[7];
ff5 = x[1] + x[2] + x[3] + x[4] + x[5] - 1;
ff6 = (P^2)*x[1]*x[4]^3 - 1.7837e5*x[3]*x[5];
ff7 = x[1]*x[3] - 2.6058*x[2]*x[4];
retp(ff1|ff2|ff3|ff4|ff5|ff6|ff7);
endp;