6.6. References

GEL contains references with a C like syntax. & references a variable and * dereferences a variable. Both can only be applied to an identifier, so **a is not legal in GEL.

Example:

a=1;
b=&a;
*b=2;
now 'a' contains 2.
function f(x) = x+1;
t=&f;
*t(3)
gives us 4.

When using functions which return values through references in the argument list, just pass the variable name with an ampersand. For example the following code will compute an eigenvalue of a matrix A with initial eigenvector guess x, and store the computed eigenvector into the variable named v:

RayleighQuotientIteration (A,x,0.001,100,&v)