
Nonlinear functions for timings shown above are taken from GAUSS examples for 'eqsolvemt' and the application module Nonlinear Equations. For reference, two of the functions used are shown at the end of this page.
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;