Chapters:
1: Introduction
2: Simple example
3: Invocation
4: Finer Control
5: X-Y Plots
6: Contour Plots
7: Image Plots
8: Examples
9: Gri Commands
10: Programming
11: Environment
12: Emacs Mode
13: History
14: Installation
15: Gri Bugs
16: Test Suite
17: Gri in Press
18: Acknowledgments

Indices:
Concepts
Commands
Variables

## 10.8: Mathematics

Gri lets you do some simple mathematical manipulations on your column and grid data.

### 10.8.1: Column data

The column operators are ``=`', ``+=`', ``-=`', ``*=`', ``/=`', ``^=`' (exponentiation) and ``_=`' (logarithm). There must be spaces before and after the operators, but no space between the 2 letters of the operators. The operations may be applied not only to ``x`' and ``y`' as shown, but also to ``z`' (used to hold data to be contoured or written as symbols), and ``u`' and ``v`' (used to store vector fields).

The axis scales are not changed by mathematical operations on the columns, regardless of whether the scales were set manually or by Gri command (see Axis Scaling).

Elements of columns are available by the ``@`' reverse polish operator (see rpn Mathematics).

Examples:

• To multiply all the x data by 10, use ``x *= 10`'; to add 5 to each y-value, use ``y += 5`'.
• To set all the y data to 10, do ``y = 10`'. (This will only work if you've already read column data.)

See also see Tertiary Operators for a method of assigning or altering column data using the RPN operator.

### 10.8.2: Grid data

Various commands let you alter grid data as used in contouring (see Contour Plots). Possible commands are as follows.

 ``` grid data = number grid data += number grid data -= number grid data *= number grid data /= number grid data ^= number # take data to power 'number' grid data _= number # take log base 'number' grid x = number grid x += number #... others as in `grid data' grid y = number grid y += number #... others as in `grid data' ```

#### 10.8.2.1: Image data

Various commands let you alter image data (see Images.). Possible commands are as follows.

 ``` image += number image -= number image *= number image /= number image ^= number # power image _= number # logarithm ```

#### 10.8.2.2: Image grayscale/colorscale

Various commands let you alter image data (see Images). Possible commands are as follows.

 ``` image grayscale += number image grayscale -= number image grayscale *= number image grayscale /= number image grayscale ^= number # power image grayscale _= number # logarithm image colorscale += number image colorscale -= number image colorscale *= number image colorscale /= number image colorscale ^= number # power image colorscale _= number # logarithm ```

#### 10.8.2.3: Variables

Possible commands are:

 ``` .variable. = number .variable. += number .variable. -= number .variable. *= number .variable. /= number .variable. ^= number # power .variable. _= number # logarithm ```