What you need to know about f77 here

We restrict us here to those features which are necessary to use this system and to define test problems of your own, as far as we provide this. Here is a list:
how to fill input fields
dealing with variables
constants and operators
how to code simple functions
how to write a piece of code
JAKEF restrictions

Input fields

There are three types of input fields for data: text, integers and real numbers.

Text:
We sometimes use text for identifying runs: you may run one and the same application with different parameter settings and may copy the results to your local window. In this case this text will help you to discern your results. Sometimes this text is used as title in plots. Hence you should not use spaces in text, use underscore instead.

Integer input
This concerns dimensions of vectors and matrices, number of steps etc. You write these as you know it from a typewriter. Usually there are restrictions on the values allowed, these are explicitly mentioned.

Real numbers On input, any format is allowed for these numbers: you may write integers here, the format with a decimal point and/or an exponential part. These exponential parts can be written with the "e" as you might know it from your pocket calculator but also with a "d" . Capitals or small letters make no difference. For example you might write the number 1001 as

 1001,  1.001e3,  1.001d3,  10.01e2, 1001.0, ...

There is only one small trap: the "d" denotes "double precision". Unlike for example to C f77 has as default single precision, i.e. about 7 digits precision, whereas the "d" stands for "double precision" (about 16 digits). Should you wish as input indeed π to 16 digits, then you must write

 
 3.1415926535897932d0
 
If a list of numbers is required, then you might always use something like 3*0 instead of 0,0,0,. Separators for numbers are comma, blank and newline.
Remark: as output we use the "e" (in favor of GNUPLOT) although we do all computations in double!

Variables


If you want to define test cases yourself, then you will have to know a little bit about variables in f77. First of all: there is no discern between capital and small letters, hence whether you write X or x makes no difference. The names of all variables are preset by us, you never can define variables yourself. Should you feel that our provisions for these are not sufficient in some cases, then drop us a note. Read carefully the text in the input forms, where these names are always listed. The types of variables we allow are integers (for counting and indices) , boolean variables, which may be useful as shorthand for evaluations of comparisons like

     bool1= ( (x-1.0d0)*(4.0d0-x) .ge. 0.d0 ) .and. ( y*(7.d0-y) .ge. 0.d0 )  
(for expressing that (x,y) is in the rectangle [1,4] × [0,7]), double precision numbers, vectors and matrices (with two dimensions), written like
 X, Y(3), a(1,2), ....
If nothing is said explicitly, the smallest index in vectors and matrices is always 1 and the upper index bound is mentioned always explicitly.

Some constants and operators


Functions


For your ease of use we have a special input form for simple functions, which can be expressed as one arithmetic expression. You see this on an input form where the function symbol apprears outside the input field like
 
  f(x) =  

with the input field following. In this case you write this arithmetic expressions down as a contiguous text, which may extend over several lines with no need of formatting. The arithmetic operators are
with the usual precendence rules and operating from left to right in case of the same priority. You may use round parentheses as much as you want, but, as usual

 (x+1.d0)/(x**2-1.d0)*2.d0   
means
2(1+x)/(x2-1) .
The system knows the elementary functions