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 19: License 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