Introduction

Introduction

Introduction

 All numbers are treated as double precision real numbers. Any operation can
 be interrupted at any time by typing CTRL-C. There are four basic types of
 PHYSICA instructions:

 Comments                      - input that starts with !
 Operating system instructions - input that starts with $
 Assignments                   - input of the form: variable=expression
 Evaluations                   - input of the form: =expression
 Commands                      - all other input 

commands

 The general syntax for a PHYSICA command line is:

 command\qual...\qual  p1\qual  p2\qual  ...  p29\qual

 The parameter fields in a command line are separated by commas or blanks.
 If a field starts with a quote, `, or an opening parenthesis, (, then
 commas and blanks are considered to be a part of that field, up to the end
 quote, ', or end parenthesis, ). Character strings are fields enclosed in
 quotes. For example, the command line:
     command\qualifier p1 `a, test line' p3
 consists of four fields: (1) command\qualifier (2) p1
                          (3) a, test line      (4) p3  

qualifiers

 Command qualifiers are attached to the command, no blanks are allowed, and
 separated from the command, or a preceding qualifier, by a backslash, \. A
 qualifier can be negated, if that makes sense, by preceding the qualifier
 with a minus sign, or the keyword NO. For example, \COLOUR can be negated
 by \-COLOUR or by \NOCOLOUR.

 Some commands also allow qualifiers on parameters.

assignments

 An assignment stores the value(s) of an expression into a PHYSICA variable.
 An assignment has the form:   variable = expression   where expression is
 some combination of constants, variables, functions, and operators.  For
 example:  Y=A*COSD(X/10)+3.5*SIND(X/12)+C*EXP(-X)   The type of variable
 generated by an assignment is determined by the expression.   Input is
 limited to 255 characters, so to have expressions that are longer, use text
 variables to store it's pieces. For example:

 F1 = `2.5*COS(X/10)+3.5*SIN(X/12)+63.7*EXP(X/45)'
 F2 = `1.234567*MOD(X,100)+SIN(X/1000)*EXP(X/200)'
 F3 = `3.56789*X^2-2.34567*X+23.456'
 Y = F1+F2+F3

Additional Information on:

  • text
  • text_arrays

     An element of a array text variable is a character string, for example, T
     is an array text variable with 3 elements:
       T[1] = `This is line one'
       T[2] = `This is line two'
       T[3] = `This is line three'
     Array text variables can be defined with the READ command by entering more
     than one line number to read, for example: READ\TEXT FILE.DAT\[1:5] T
     creates array text variable T with 5 elements, or with a text assignment, as
     above. To specify the character elements of an array element of a array text
     variable, use another set of brackets. For example, if T[3]=`abcdefghijkl'
     then T[3][1:10:2] specifies characters 1, 3, 5, 7, 9 of array element
     3 of the array text variable T, which is `acegi'.  There is no maximum
     number of array elements for a text variable. There is no maximum character
     length for an array element.
    

    evaluations

     Enter  =variable  to display the value of a variable.  Use the EXPAND
     function to display the full expansion of a text variable.
    

    functions

     PHYSICA supports many types of functions, both numeric and character. The
     basic numeric type of function operates on a single number at a time, in
     other words, it performs its calculations on an element by element basis.
     These include the trigonometric functions and the basic arithmetic functions.
     The resultant variable type of one of these element by element functions will
     be the same as the variable type of its argument. PHYSICA also supports array
     functions, which operate on variables in their entirety. Some of these
     functions have a different resultant variable type than their arguments.
     There are also functions that operate on character strings, and functions
     that have numeric arguments but result in character strings.
    

    Additional Information on:

  • ABS
  • AIRY
  • AREA
  • CHAR
  • ICHAR
  • Bessel
  • beta
  • binomial
  • UCASE
  • LCASE
  • TCASE
  • STRING
  • ICLOSE
  • IEQUAL
  • CONVOL
  • COSINT
  • DATE
  • TIME
  • DAWSON
  • DERIV
  • DET
  • DIGAMMA
  • DILOG
  • EIGEN
  • ELTIME
  • elliptic-integrals
  • EXIST
  • EXPAND
  • EXP
  • exponential-integrals
  • FACTORIAL
  • Fermi-Dirac
  • EVAL
  • FFT
  • Fresnel-integrals
  • gamma
  • hypergeometric
  • IDENTITY
  • INT
  • NINT
  • JOIN
  • INTEGRAL
  • interpolation
  • IFFT
  • Kelvin
  • Legendre
  • logarithms
  • LOOP
  • SUM
  • PROD
  • RSUM
  • RPROD
  • INVERSE
  • MAX
  • MIN
  • MOD
  • polynomials
  • positive-difference
  • prime-factors
  • probability
  • Rademacher
  • RAN
  • RCHAR
  • FOLD
  • UNFOLD
  • ROLL
  • STEP
  • WRAP
  • SIGN
  • sine-integral
  • smoothing
  • equation-solver
  • SQRT
  • EQS
  • NES
  • SUB
  • SUP
  • CLEN
  • Struve
  • INDEX
  • TRANSLATE
  • trigonometric
  • variable-length
  • VARNAME
  • vector-coupling
  • FIRST
  • LAST
  • WALSH
  • WHERE
  • operators

     ( )       - Parentheses              |   ^       - Exponentiation
      *        - Multiplication           |   /       - Division
      +        - Addition                 |   -       - Subtraction
     ><        - outer product            |  <>       - inner product
     <-        - matrix transpose         |  >-       - matrix reflect
     /|        - vector union             |  /&       - vector intersection
     -------------------------------------+----------------------------------
     //        - append vectors or append character strings
     -------------------------------------+----------------------------------
     |   "OR"  - or                       | ||  "XOR" - exclusive or
     &   "AND" - and                      | ~   "NOT" - not
     =   "EQ"  - equal to                 | ~=  "NE"  - not equal to  
     >   "GT"  - greater than             | <   "LT"  - less than  
     >=  "GE"  - greater than or equal to | <=  "LE"  - less than or equal to  
    
     The Boolean operators return a value of 0 when false and 1 when true,
     and all come in two forms. The double quotes are necessary when using the
     character form of the operator.
    

    3DPLOT

     Syntax: 3DPLOT x y z ipen { colr }
    
     The 3DPLOT command graphs the three vectors x, y, and z in 3d space,
     displayed in 2 dimensions using a perspective projection. The vectors x, y,
     and z should contain the (x,y,z) coordinates of the points. The ipen vector
     contains the codes for deciding what to draw at each coordinate. The colr
     vector contains the colour codes.  The vectors must all be the same length.
     This command is strictly interactive, it cannot be entered from batch mode.
     Note that if the graph seems to be a complete mess, try increasing the
     "eye to object distance" using the E key.
    

    Additional Information on:

  • ipen
  • colr
  • control
  • ALIAS

     Syntax: ALIAS { newcommand command_string }
     Examples:   ALIAS RED COLOUR RED
                 ALIAS APPEND WRITE\APPEND
                 ALIAS CURVE GRAPH\NOAXES
                 ALIAS AXES GRAPH\AXES
                 ALIAS ACLEAR CLEAR\ALPHANUMERIC
    
     The ALIAS command allows the user to create new commands by equating
     a keyword to a command string.  The command string must begin with a
     valid command, for example, it cannot be a file name that is to be used
     with other commands.  If the ALIAS command is entered with no parameters,
     then the current aliases will be displayed. Everything after the newcommand
     is taken for the command_string, i.e., no quotes should be used.
    
     Use the DEALIAS command to eliminate alias that were created with the
     ALIAS command.
    

    ASSIGN

      Syntax: ASSIGN  name logical_name
      Example:  ASSIGN LASER_211 HP$LASER
    
     This command only applies to VMS, and is equivalent to the DCL command:
    
     $ ASSIGN name logical_name
    
     The logical assignment takes effect immediately, and remains in
     effect after PHYSICA is unloaded.
    
     The ASSIGN command is useful for assigning new logical names to the output
     devices, that is, the logical name for a bitmap device or a plotter.
    

    BANNER

     Syntax:   BANNER  { PHYSICA | DEFAULT | character_string }
     Qualifiers: \XTERM, \DECTERM
     Defaults:   \DECTERM
     Examples: BANNER PHYSICA   ! banner contains username, node, hardcopy info
               BANNER\XTERM DEFAULT        ! banner = `XTERM'
               BANNER DEFAULT              ! banner = `DECTERM'
               BANNER `This is a banner'   ! banner = user defined string
               BANNER `start of string '//T//' end of string'
               BANNER T[3:20]
    
     The BANNER command allows the user to change the banner and icon strings
     when using an X Window System monitor. The initial default is \DECTERM.
     Use the \XTERM qualifier if you are in an XTERM window instead of DECTERM.
     The default becomes the last specified \XTERM or \DECTERM qualifier. The
     command parameter may be: the PHYSICA keyword;  the DEFAULT keyword; or a
     user defined string.  The keyword PHYSICA is the default, if no parameter
     is entered. When neither of the recognized keywords is used, the string
     itself will be used for the banner and the icon titles.
    

    Additional Information on:

  • DECTERM
  • PHYSICA
  • DEFAULT
  • BELL

     Syntax: BELL { n }
     Defaults: n = 1
     Examples: BELL
               BELL 3
    
     The BELL command causes the terminal bell to ring. The bell will ring n
     times.  If n is not present in the parameter list it defaults to 1.
    
     When executing a command macro file, the BELL command can be useful
     for notifying the user that some action should be taken or that some
     procedure is finished.
    

    BESTFIT

     Syntax: BESTFIT pmin pmax penalty error parm pout
             BESTFIT\WEIGHTS w pmin pmax penalty error parm pout
             BESTFIT\CYCLES n pmin pmax penalty error parm pout
             BESTFIT\WEIGHTS\CYCLES w n pmin pmax penalty error parm pout
     Qualifiers: \WEIGHTS, \CYCLES
     Defaults: \NOWEIGHTS, \NOCYCLES
    
     This command calculates parameters for a least-squares fit to an
     error vector using adjustable parameters. The parameter ranges, as
     well as the penalty function, must be vectors, with lengths equal to
     the number of parameters for the fit, M. The error array must be a
     vector with length equal to the number of locations, N. The influence
     function must be a matrix with N rows and M columns.
    

    Additional Information on:

  • explanation
  • WEIGHTS
  • CYCLES
  • BIN

     Syntax: BIN x xbin xcount
             BIN\NBINS x xbin xcount n { xmin xmax }
     Qualifiers: \WEIGHTS, \EDGES, \NBINS, \DISCARD, \EMPTY, \AVERAGE, \LAGRANGE
     Defaults: \-WEIGHTS, \-EDGES, \-NBINS, \-DISCARD, \-EMPTY, \-AVERAGE, 
               \-LAGRANGE,  xmin = min(x), xmax = max(x)
    
     This command sorts an input vector, x, into a grid of bins and accumulates
     the counts per bin into an output vector, xcount. Elements are never counted
     as being in more than one bin. By default, the bins are defined by their
     centres, given in vector xbin, which must be strictly monotonically
     increasing. If n=len(xbin), define the bin ranges, r[i] 
      r[1]   = xbin[1]-(xbin[2]-xbin[1])/2
      r[i]   = xbin[i]-(xbin[i]-xbin[i-1])/2  for  i=2,3,...,n
      r[n+1] = xbin[n]+(xbin[n]-xbin[n-1])/2
     For each i=1,2,...,len(x)  if  r[j] <= x[i] < r[j+1]  for some j=1,2,...,n
     then xcount[j] is incremented by 1, or by the weight, w[i]. By default,
     events below r[1] will be placed in the first bin, and events above r[n+1]
     will be placed in the last bin. If the \DISCARD qualifier is used, events
     outside this range will be discarded.
    

    Additional Information on:

  • WEIGHTS
  • NBINS
  • LAGRANGE
  • AVERAGE
  • EMPTY
  • EDGES
  • BIN2D

     Syntax: BIN2D x y xbin ybin mc nx ny { xmin xmax ymin ymax }
             BIN2D\MATRIX mdata mx my mout
     Qualifiers: \WEIGHTS, \EMPTY, \MATRIX, \XDISCARD, \YDISCARD, \DISCARD
     Defaults: \-WEIGHTS, \-MATRIX, \-EMPTY, \-DISCARD
               xmin = min(x), xmax = max(x), ymin = min(y), ymax = max(y)
    
     The BIN2D command forms a matrix of bins of data by sorting the vectors x
     and y into grids of bins the centres of which are returned in vectors xbin
     and ybin. The accumulated matrix of total counts per bin is returned in
     matrix mc. If the numbers xmin and xmax are not entered, they default to the
     minimum and maximum of x. If the numbers ymin and ymax are not entered, they
     default to the minimum and maximum of y.
       xbin[i] = xmin+(i-0.5)*(xmax-xmin)/|nx|  for  i=1,2,...,|nx|
       ybin[j] = ymin+(j-0.5)*(ymax-ymin)/|ny|  for  j=1,2,...,|ny|
     The (x[i],y[i]) point will be accumulated in mc[i,j] where:
          row:  i = int( (y[i]-ymin)/(ymax-ymin)*|ny| ) + 1
       column:  j = int( (x[i]-xmin)/(xmax-xmin)*|nx| ) + 1
    

    Additional Information on:

  • dimensions
  • extremes
  • WEIGHTS
  • EMPTY
  • MATRIX
  • BUFFER

     Syntax: BUFFER { n }
             BUFFER\READ  filename
             BUFFER\WRITE filename
     Qualifiers: \READ, \WRITE, \DYNAMIC, \STATIC, \KEYPAD
     Defaults: n = 20, \DYNAMIC
     Examples: BUFFER 35
               BUFFER\KEYPAD\READ FILE.DAT
    
     The BUFFER command controls the input line recall buffers: the dynamic
     buffer, the static buffer, and the keypad buffer. See the RESTORE\PHYSICA
     command for information on restoring these buffers from previously saved
     sessions.
    

    Additional Information on:

  • parameters
  • READ
  • WRITE
  • dynamic
  • static
  • keypad
  • CALL

     Syntax: CALL { SUBn } arg1 { arg2 ... arg15 }
     Examples: CALL SUB1 X Y  
               CALL X Y 
    
     If one of the keyword parameters SUB1, SUB2, ..., SUB8 is used, then this
     command calls one of the eight subroutines which were loaded via the
     shareable image.  If none of these keyword parameters is used,  then the
     subroutine object module that was loaded at run-time with the LOAD will be
     called. The appropriate arguments, which may be constants, scalars, vectors,
     matrices, character strings, or text variables,  must be used.  If the
     arguments do not agree in variable type and number, an addressing error
     will occur.
    

    Additional Information on:

  • examples
  • numeric_arguments
  • character_arguments
  • user_routine
  • CLEAR

     Syntax: CLEAR
     Qualifiers: \ALPHANUMERIC, \CIT467, \REPLOTONLY, \NOREPLOT
     Defaults: clears graphics and replot option
    
     The CLEAR command, with no qualifiers, clears the graphics.  It also clears
     the replot buffers, that is, if REPLOT is entered after a CLEAR command is
     entered, there will be nothing to replot until GRAPH is entered again.  Any
     hardcopies must be asked for before entering the CLEAR command.
    

    Additional Information on:

  • ALPHANUMERIC
  • CIT467
  • REPLOTONLY
  • NOREPLOT
  • COLOUR

     Syntax: COLOUR colourname   
             COLOUR n  
     Defaults: default colour is white
     Examples: COLOUR
               COLOUR RED
               COLOUR R\SCALAR
               COLOUR 2
    
     The COLOUR command sets the monitor colour and the associated
     graphics hardcopy colour number, for subsequent graphics. The colour
     number may, for example, be a plotter pen number or a colour number
     for the HP PaintJet.
    

    Additional Information on:

  • colours
  • pen_plotters
  • SCALAR
  • CONTOUR

     Syntax: CONTOUR          { x y } v nctr { min { incr }}
             CONTOUR\SPECIFIC { x y } v lvls
     Qualifiers: \SPECIFIC, \INTERPSIZE, \POLAR, \LEGEND, \COLOURS, \PARTIAL,
                 \RESET, \BORDER, \AXES, \COORDINATES, \AREAS, \VOLUMES, \CONTINUE
     Defaults: x = [1;2;3;...], y = [1;2;3;...], \NOSPECIFIC, \NOINTERPSIZE,
               \NOPOLAR, \NOLEGEND, \NOCOLOURS, \RESET, \NOAREAS, \NOVOLUMES,
               \BORDER, \NOCOORDINATES, \AXES, \NOCONTINUE
     Examples: CONTOUR X Y Z 10
               CONTOUR M 10 MINVAL
               CONTOUR\SPECIFIC\INTERPSIZE 10 X Y M LEVELS
    
     This command draws contour lines for either a regular matrix or scattered
     points. If v is a vector, x and y are assumed to represent a scattered set
     of points, where v is the altitude corresponding to the location (x,y). If
     v is a matrix, and two vectors, x and y, are entered, the length of x must
     be equal to the number of columns of v and the length of y must be equal to
     the number of rows of v.
    

    Additional Information on:

  • COLOURS
  • POLAR
  • contour_level_selection
  • contour_labels
  • COORDINATES
  • AXES
  • LEGEND
  • CONTINUE
  • matrix_data
  • scattered_data
  • COPY

     Syntax: COPY xin1 { xin2 ... } xout1 { xout2 ... } { IFF expression }
     Qualifiers: \APPEND, \INDEX
     Defaults: \NOAPPEND, \NOINDEX
     Examples: COPY X Y Z XX YY ZZ
               COPY\APPEND X XX
               COPY X[1:10] X[20:11:-1]  
               COPY\INDEX X Y Z XX YY ZZ IFF (X>2)
    
     The COPY command copies a subset of vector, xinI, into another vector,
     xoutI.  By default, if xoutI already exists, the COPY command overlays
     the new data onto the old.  Multiple input vectors can be entered, but
     there must be an output vector for each input vector.
    

    Additional Information on:

  • conditional_copy
  • unconditional_copy
  • APPEND
  • DCL

     Syntax:  DCL
    
     The DCL command enters DCL mode by spawning a subprocess. To return to
     the program, type the DCL command RESUME. When in  DCL mode, any
     VAX/VMS command may be entered, for example, edit a file, run a
     program.
    
     The first time the DCL command is entered, a subprocess is spawned,
     which can take some time.  If the word RESUME is typed, the subprocess
     is not destroyed and a subsequent DCL command will attach to this
     subprocess. Attaching to a subprocess is very fast.  If the word LOGOFF
     is typed, the subprocess is destroyed, so that a subsequent DCL command
     will have to spawn a new subprocess.
    

    DEALIAS

     Syntax: DEALIAS ALL
             DEALIAS aliascommand
    
     The DEALIAS command allows the user to eliminate aliases that were
     created with the ALIAS command. If the keyword ALL is entered, all
     aliases will be eliminated.  To display all aliases, enter the ALIAS
     command with no parameters.
    

    DEFAULTS

     Syntax: DEFAULTS 
     Qualifiers: \INITIALIZE, \WINDOWS
     Defaults: initialization file not executed, windows reset
     Examples: DEFAULTS   
               DEFAULTS\INIT 
    
     The DEFAULTS command resets the original PHYSICA defaults.
    

    Additional Information on:

  • INITIALIZE
  • WINDOWS
  • default_values
  • DENSITY

     Syntax: DENSITY { x y } v
     Qualifiers: \POLAR, \PARTIAL, \DERIV, \PROFILES, \XPROFILE, \YPROFILE,
                 \BORDER, \AXES, \LOG
     Defaults: \-POLAR, \-PARTIAL, \-DERIV, \-PROFILE, \BORDER, \AXES, \-LOG
    
     density plot types                    qualifier
     -------------------------------------------------------------
     solid filled regions in colour        no qualifiers (default)
     random points                         \RANDOM
     dithering with points (grey scales)   \POINTS
     diffusion with points (grey scales)   \DIFFUSION
     scaled rectangles                     \BOXES
    
     If the \LOG qualifier is used, the base 10 logarithm of the data is used
     for the plot.
    

    Additional Information on:

  • solid_filled_regions
  • random_points
  • diffusion
  • dithering
  • boxes
  • AXES
  • BORDER
  • PARTIAL
  • DERIV
  • profiles
  • POLAR
  • DESTROY

     Syntax: DESTROY v1 { v2 ... } { IFF expression }
     Qualifier: \EXPAND
     Default: \-EXPAND
     Examples: DESTROY *
               DESTROY X Y Z
               DESTROY *V M1 M2 *T
               DESTROY X Y Z IFF (X>=2)&(X<=4)  
               DESTROY X[1:10] Y Z[2:20:2] T[A:B]
    
     This command eliminates subsets of vectors or character variables, and
     it completely eliminates scalars or matrices. Up to 29 variable names may
     be entered. By default, variable names are not re-constructed or expanded.
    

    Additional Information on:

  • keywords
  • index_ranges
  • expression
  • EXPAND
  • examples
  • DEVICE

     Syntax: DEVICE keyword
     Default: initial graphics hardcopy device: HP LaserJet @ 150 dpi
     Examples: DEVICE HPLASERJET 300
               DEVICE OFF
               DEVICE ON
               DEVICE HPPLOTTER
               DEVICE\COLOUR POSTSCRIPT C
    
     The DEVICE command is used to select a graphics hardcopy output device.
     If a device type is chosen, as opposed to entering OFF or ON, then the
     graphics will be cleared.  The initial default is the HPLaserJet @ 150 dpi.
    
     The graphics hardcopy device determines the world coordinates. The device
     should be chosen before opening an EDGR file. The device can be chosen by
     name or by code number.
    

    Additional Information on:

  • keywords
  • ON/OFF
  • bitmap_devices
  • PostScript
  • vector_plotters
  • display_files
  • plotting_units
  • DIGITIZE

     Syntax: DIGITIZE { xout yout { codes } }
     Examples: DIGITIZE
               DIG X Y  
               DIG X Y C
    
     The DIGITIZE command digitizes points off of a graph that is attached to
     a digitizing pad. To make use of the digitizer, simply secure the graph
     to the pad, enter the DIGITIZE command, and follow the directions. If the
     two optional variable names, xout and yout, are entered, then they will be
     created and any recorded points will be saved in these two vectors, with
     the horizontal axis values stored in xout and the vertical axis values
     stored in yout.
    

    Additional Information on:

  • code
  • how_it_works
  • key_codes
  • DISABLE

     Syntax: DISABLE keyword
    
     The DISABLE command allows you to disable certain features denoted by
     keyword. The ENABLE command re-enables those features.
    

    Additional Information on:

  • BORDER
  • BROADCAST
  • CONFIRM
  • ECHO
  • HISTORY
  • JOURNAL
  • PROMPTING
  • REPLOT
  • REPLAY
  • SHELL
  • STACK
  • DISPLAY

     Syntax: DISPLAY character_string
             DISPLAY keyword
    
     This command either displays a message on the monitor screen, or
     interprets the command parameter as a keyword and draws a corresponding
     table or displays a corresponding list.
    

    Additional Information on:

  • character_string
  • keywords
  • DO_loops

     DO loops can only be used in command macro files. DO loops in PHYSICA are
     similar to FORTRAN do loops, but must be terminated with ENDDO. The range
     of the DO loop can be any expression resulting in a vector. The loop will
     execute a number of times equal to the length of the loop range vector,
     with the loop variable taking on the values of each element of the loop
     range vector. Nested loops are allowed. The maximum number of DO loops
     allowed in a file is 50.  The looping variable is created as a scalar
     variable. For example, the variable j below will be made into a scalar:
     ...         !   
     DO j = x    ! x must be a vector, the loop will execute len(x) times with
      ...        ! j successively taking on the value of each element of x
     ENDDO       !
     ...         !
    

    Additional Information on:

  • 1_example
  • 2_example
  • EDGR

     Syntax: EDGR keyword
    
     This command invokes the graphical editor, EDGR.
    
     keywords    action
     ---------------------------------------------------
     OPEN        open a drawing file
     EDIT        edit an open drawing file
     FRAME       open a new frame in an open drawing file
     CLOSE       close an open drawing file
    

    Additional Information on:

  • OPEN
  • EDIT
  • CLOSE
  • FRAME
  • ELLIPSE

     Syntax: ELLIPSE a b xc yc angle
             ELLIPSE\FIT xin yin
     Qualifiers: \FIT, \NPTS, \XYOUT, \REPLOT
     Defaults: \-FIT, \-NPTS, \-XYOUT, \REPLOT
    
     This command uniformly populates the perimeter of an ellipse in two ways:
     1) given the major axis radius, minor axis radius, centre and angle; or
     2) fit an ellipse so a fraction of the data points are within the ellipse
    

    Additional Information on:

  • XYOUT
  • REPLOT
  • NPTS
  • populate
  • FIT
  • ENABLE

     Syntax: ENABLE keyword
    
     The ENABLE command allows you to enable certain features denoted by
     keyword. The DISABLE command disables those features.
    

    Additional Information on:

  • BORDER
  • BROADCAST
  • CONFIRM
  • ECHO
  • HISTORY
  • JOURNAL
  • PROMPTING
  • REPLOT
  • REPLAY
  • SHELL
  • STACK
  • ERASEWINDOW

     Syntax: ERASEWINDOW { n }
     Defaults: n = current window number
     Examples: ERASEWINDOW  
               ERASEWINDOW 5 
    
     The ERASEWINDOW command erases the graphics within a pre-defined window.
     It will erase the graphics within a window on the monitor screen, as well
     as bitmap and PostScript hardcopy output. This does not apply to other
     graphics hardcopy output or to EDGR drawings, that is, any erased graphics
     will still appear on that hardcopy and will still be in an EDGR drawing.
    
     If n is not entered, it defaults to the current window number. If n is
     entered, it must refer to a window that is already defined.  
    

    EXECUTE

     Syntax: EXECUTE filename { p1 p2  ... }
             @filename { p1 p2 ... }
     Examples: EXECUTE FILE.PCOM
               @FILE 1.2 `Text string' X Y 
    
     This command causes program input to come from a file, instead of from the
     keyboard. When the end of file is reached, input will again be expected to
     be entered from the keyboard, or from a calling executable file. You may
     have up to 20 nested executable files. The `at' sign, @, is equivalent to
     `EXECUTE '. Within command macro files, it is possible to have labels, GOTO
     statements, IF...THEN statements, and DO loops. 
    

    Additional Information on:

  • filename
  • macro_library
  • echo_lines
  • keyboard_input
  • abort_macro
  • parameters
  • branching
  • looping
  • if_statments
  • EXIT

     Syntax: EXIT 
     Qualifiers: \CLEAR
     Examples: EXIT  
               EXIT\CLEAR 
    
     This command stops the PHYSICA program but does not unload the program.
     After entering EXIT, you can re-enter PHYSICA without re-running the program,
     by entering the DCL command CONTINUE, as long as you have only entered DCL
     commands that are performed within the command interpreter, such as,
     ALLOCATE, ASSIGN, DEFINE, SHOW QUOTA, SPAWN, etc. See also the QUIT command.
    
     If the \CLEAR qualifier is appended to the EXIT command, the graphics is
     cleared before the program is exited.
    

    EXTENSION

     Syntax: EXTENSION { `ext' }
     Default:  default file extension is PCM
     Examples: EXTENSION `PCOM'
               EXTENSION `OPD'
    
     This command is used to redefine the default file extension for executable
     command macro files.  The original PHYSICA default file extension is PCM.
     The default file extension applies to the EXECUTE command only. If you give
     the file name without a file extension, the default extension is
     automatically appended to the file name. If the EXTENSION command is entered
     without a parameter, the current default extension is displayed.
    

    Additional Information on:

  • examples
  • FIGURE

     Syntax: FIGURE BOX     { lowx lowy hix hiy }
             FIGURE POLYGON nvert  { cx cy sx sy }
             FIGURE CIRCLE  radius { cx cy }
             FIGURE ARC     { cx cy sx sy ex ey }
             FIGURE WEDGE   { cx cy sx sy ex ey }
             FIGURE ELLIPSE a b { cx cy } angle
             FIGURE ARROW   { sx sy ex ey }
     Qualifiers: \CONFIRM, \GRAPH, \PERCENT, \WORLD
     Defaults: \NOCONFIRM, \PERCENT
    
     This command is used to draw geometric figures. The numeric parameters may
     be in one of three types of units, which are chosen by command qualifier.
    

    Additional Information on:

  • Xwindows
  • PERCENT
  • GRAPH
  • WORLD
  • CONFIRM
  • stack_file
  • CIRCLE
  • ARC
  • WEDGE
  • BOX
  • POLYGON
  • ELLIPSE
  • ARROW
  • FILTER

     Syntax: FILTER\MEDIAN xin xout npt
             FILTER\MEAN xin xout npt
             FILTER\NONRECURSIVE xin xout c
             FILTER\RECURSIVE xin xout c d
     Qualifiers: \MEDIAN, \MEAN, \NONRECURSIVE, \RECURSIVE
     Default: \MEDIAN
     Examples: FILTER X XF 5
               FILTER\MEAN X XOUT 5
               FILTER\RECURSIVE X XOUT {.3584,1.2832,.3584,0,0} {0,1}
    
     A digital filter is a linear combination of the input data and possibly
     the output data. The input data is assumed to have unit spacing, so a
     scale value may have to be used to produce the correctly scaled output data.
    

    Additional Information on:

  • MEDIAN
  • MEAN
  • NONRECURSIVE
  • RECURSIVE
  • FIT

     Syntax: FIT y = { expression }
             FIT\UPDATE  yout
     Qualifiers: \NORMAL, \POISSON, \UPDATE, \ITMAX, \WEIGHTS, \TOLERANCE
                 \ZEROS, \CHISQ, \VARNAMES, \CORRMAT, \COVMAT, \E1, \E2
                 \FREE, \RESET, \MESSAGES
     Defaults: \NORMAL, \-ITMAX, \-WEIGHTS, \-TOLERANCE, \ZEROS, \-CHISQ
               \-CL, \-VARNAMES, \-CORRMAT, \-COVMAT, \-E1, \-E2, \-RESET
               \-FREE, \MESSAGES
     Examples: FIT Y=A*X+B   
               FIT\CHISQ\CL\ITMAX\WEIGHTS\TOLERANCE W 3 .001 Y =A*EXP(-B*X)+C
               FIT\UPDATE YF
    
     By default, or if the \NORMAL qualifier is used, it is assumed that the
     data has normally distributed errors. If the \POISSON qualifier is used,
     the data errors are assumed to be distributed as a Poisson distribution.
     The expression to be fitted must result in a vector with the same length
     as the data variable, y. If the expression is not entered, it defaults to
     the last expression entered in a FIT command that was equated to the same
     y variable.
    

    Additional Information on:

  • fit_parameters
  • normal_fit
  • Poisson_fit
  • accuracy
  • chi-square
  • confidence_level
  • errors
  • correlations
  • iteration_steps
  • tolerance
  • degrees_of_freedom
  • MESSAGES
  • UPDATE
  • example
  • FMIN

     Syntax: FMIN x y xlo yhi expression
     Qualifier: \MESSAGES
     Default: \MESSAGES
     Example: FMIN\-MESSAGES X Y -10 10 2*X^2-10*X+5
    
     This command returns the location and value of the local minimum of the
     expression, in the range xlo to xhi. The expression must be a function of
     the independent variable x.  The variable x should be a scalar whose value
     is the initial location guess.  If x<xlo or x>xhi, then the initial guess
     will be (xlo+xhi)/2.  On output, x will contain the location of the local
     minimum, and y will contain the value of this minimum. The expression must
     contain the variable x, and may contain other scalars, but must not contain
     any other non-scalar variables.
    

    Additional Information on:

  • MESSAGES
  • FZERO

     Syntax: FZERO x expression
     Qualifier: \MESSAGES
     Default: \MESSAGES
     Example: FZERO\-MESSAGES X SIN(X)/X
    
     This command returns the zeros, or roots, of the expression, which must be
     a function of the dummy vector x. If the length of x is N, a maximum of N
     roots of the function will be returned in an updated vector x. If no roots
     are found, or any error occurs, x will be destroyed.  The expression must
     contain x, and may contain scalars, but must not contain any non-scalar
     variables other than x.  The values contained in the x vector will be used
     as the starting values for the root search.
    

    Additional Information on:

  • MESSAGES
  • example
  • GENERATE

     Syntax: GENERATE x min inc ,, npts  
             GENERATE x min inc max
             GENERATE x min ,, max npts 
             GENERATE\RANDOM x min max npts
     Qualifier: \RANDOM 
     Default: \-RANDOM
    
     The GENERATE command makes a new vector, x. By default, x will be generated
     according to the formula:  x[i] = min + (i-1)*inc   for   1 <= i <= npts
     The minimum value must be given. Two other values are also required: the
     increment and the number of points, or the maximum and the number of points,
     or the increment and the maximum value.
    

    Additional Information on:

  • inc_and_npts
  • max_and_npts
  • inc_and_max
  • RANDOM
  • GET

     Syntax: GET { keyword { variable } }
     Examples: GET %XLAXIS XLX   
               GET     
               GET NSXINC 
    
     The GET command gets the values of the GPLOT plot characteristic keywords
     and the PHYSICA specific keywords.  Use the SET command to change the values
     of these keywords.  If the command is entered with no parameters, more than
     one keyword value can be obtained without re-entering the GET command. Other
     keywords will be requested until a blank line is entered, at which time the
     user is put back into command line entry mode. If the command is used in
     this way in a macro command file, the blank line is necessary to indicate
     that the GET command is finished. If a keyword is entered with the command,
     only that keyword's value can be obtained. If the output variable is not
     entered after the keyword, the current value is displayed on the monitor
     screen.  If an output variable is entered, the variable is assigned the
     current value of that keyword.  All keywords have numeric values, except
     for the FONT, CUNITS, UNITS, VERSION, and VERSIONDATE keywords, which are
     character valued.
    

    Additional Information on:

  • 1_example
  • 2_example
  • PHYSICA_keywords
  • GPLOT_keywords
  • GLOBALS

     Syntax: GLOBALS
    
     This command only works under VAX/VMS. 
    
     This command displays the names of global sections to which you have access.
     Use in conjunction with the MAP\FIOWA or MAP\FIOWABIG commands.
    

    GOTO

     GOTO can only be used in a command macro file. Use a GOTO to branch to a
     label. A label is a character string that ends with a colon, :. A label
     must be on a line by itself, and it must have NO embedded blanks.  Do not
     include the colon with the label after a GOTO. 
    

    Additional Information on:

  • 1_example
  • 2_example
  • GRAPH

     Syntax: GRAPH { `legendtext' } x y { ye1 { xe1 { ye2 { xe2 }}}}
     Qualifiers: \AXESONLY, \NOAXES, \POLAR, \REPLOT, \HISTOGRAM
     Defaults: axes drawn, \REPLOT, \NOHISTOGRAM, legendtext ignored
     Examples: GRAPH X Y  
               GRAPH `legend entry' X Y YERR XERR  
               GRAPH\NOAXES X Y  
    
     The GRAPH command draws:  1) data with axes -- GRAPH 
                               2) just the data  -- GRAPH\NOAXES 
                               3) just the axes  -- GRAPH\AXESONLY 
     The data curve may be a histogram.  The parameters must be vectors, but can
     be vectors of length one. The minimum length of all of the input variables
     will be used.
    

    Additional Information on:

  • legend
  • plotting_symbol
  • autoscaling
  • axes_and_data
  • AXESONLY
  • NOAXES
  • REPLOT
  • histograms
  • POLAR
  • error_bars
  • filling
  • GRID

     Syntax: GRID         x y z m
             GRID\PATTERN x y z m
             GRID\INDICES x y z m
     Qualifiers: \INTERPOLATE, \PATTERN, \INDICES, \SIZE, \XYOUT, \BOUNDS,
                 \POLAR, \CHECKDUP
     Defaults: \INTERPOLATE, \NOINDICES, \NOSIZE, \NOXYOUT, \NOBOUNDS,
               \NOPOLAR, \NOCHECKDUP
    
     This command creates a regular matrix from scattered data points. The vectors
     x, y and z are assumed to represent scattered points, where z is the data
     value at location (x,y). By default, a square matrix, m, is interpolated,
     with row and column dimensions equal to 5*sqrt(min(len(x),len(y),len(z))).
    

    Additional Information on:

  • POLAR
  • CHECKDUP
  • INTERPOLATE
  • PATTERN
  • INDICES
  • HARDCOPY

     Syntax: HARDCOPY keyword { queue }
             HARDCOPY keyword { file }
    
     This command is used for obtaining graphics hardcopies. The first keyword
     refers to the action of printing or saving the graphics. This depends on
     which graphics hardcopy device is currently active. Use the DEVICE command
     to choose a graphics hardcopy device.  The initial default is HPLaserJet.
    

    Additional Information on:

  • HPLaserJet
  • GKS
  • Printronix
  • HPPlotter
  • HPThinkJet
  • LA100
  • Houston
  • LN03+
  • Imagen
  • Roland
  • InkJet
  • PostScript
  • 1_example
  • 2_example
  • 3_example
  • HELP

     Syntax: HELP { string ... }
             HELP\LIBRARY libname { string ... }
     Qualifiers: \PAGE, \LIBRARY
     Defaults: \NOPAGE, \NOLIBRARY
    
     The HELP command invokes the on-line help facility. To get information about
     a specific command, include it as the string with the HELP command. By
     default, output to the screen is not paged, that is, output to the screen
     continues until the information ends.
    

    Additional Information on:

  • PAGE
  • LIBRARY
  • IF_THEN

     IF...THEN statements can only be used in command macro files.
     The general form of an IF...THEN statement is:   IF (boolean) THEN
     The boolean can take any form, but must be either a simple function
     or it must be enclosed in parentheses, and it must have a scalar result.
     A result of 1 is true, while anything else is false. An IF...THEN
     statement can precede a single command. An IF...THEN statement can
     begin a block of commands, but it must be closed off with an ENDIF
     statement. Nested IF...THEN statements are allowed. The maximum number
     of IF...THEN blocks allowed within a file is 50. 
    

    Additional Information on:

  • 1_example
  • 2_example
  • 3_example
  • INPUT

     Syntax: INPUT x1 { x2 ... x8 }
             INPUT\MATRIX m nr nc
     Qualifiers: \MATRIX
     Defaults: create vectors
    
     The INPUT command is used to interactively enter data, from the terminal
     keyboard, into vector(s) or into a matrix. The default is to create vectors.
     If the INPUT command is used in a command macro file, input will still be
     expected from the terminal keyboard.
    

    Additional Information on:

  • vectors
  • MATRIX
  • 1_example
  • 2_example
  • INQUIRE

     Syntax: INQUIRE `prompt string' v1 { v2 ... }
     Defaults: if vI does not exist, it is assumed to be a scalar
     Examples: INQUIRE `Enter value >>' AVALUE
               INQUIRE `Enter YES or NO >>' TXT
    
     This command is intended for use in command macro files.  The prompt string
     is written to the monitor screen. The correct number and type of values
     corresponding to the variable names following the prompt string are expected
     to be entered from the keyboard. If just a carriage return is typed without
     other response to the inquire prompt, the variables are left unchanged.
    

    Additional Information on:

  • 1_example
  • 2_example
  • JOURNAL

     Syntax: JOURNAL filename
     Qualifiers: \APPEND, \MACRO
     Defaults: \NOAPPEND, \-MACRO, initial journal file = PHYSICA.JOURNAL
    
     A journal file is a record of all user input to PHYSICA, as well as all non-
     graphics output, such as error messages, from PHYSICA.  The initial state is
     to have journaling on, journaling of macro commands off, and the initial
     journal file is PHYSICA.JOURNAL   Journaling can be disabled by entering
     DISABLE JOURNAL. This closes the file. Entering DISABLE JOURNAL\MACRO only
     disables journaling of macro commands. If you enter ENABLE JOURNAL, the last
     journal file that was open will be reopened, and subsequent entries will be
     appended to the last open journal file. To open a new journal file, use the
     JOURNAL command. To open with append, use the \APPEND qualifier. To also
     journal macro commands, use the \MACRO qualifier. To find out whether a
     journal file is currently open, and if so, to display the name of the current
     journal file, enter the STATUS command. 
    
     If JOURNAL is enabled, the  DISPLAY string  command will write the string
     to the journal file the same way it is written to the monitor screen.
     If JOURNAL\MACRO is enabled, the DISPLAY command itself will ALSO be
     written to the journal file.
    

    KEYWORD

     Syntax: KEYWORD
    
     This command enters an interactive mode, where you type a keyword and the
     online help locations of that keyword are displayed.  The help locations are
     seperated by blanks, while vertical bars, |, seperate the levels within each
     location. For example, typing the keyword SHELL, displays the help locations
     DISABLE|SHELL ENABLE|SHELL.  You could find information on SHELL by typing
     HELP DISABLE SHELL or HELP ENABLE SHELL.  The wildcard is *, an initial
     wildcard and/or a final wildcard are allowed. For example, *inc* displays
     "inch inches nlxinc nlyinc nsxinc nsyinc" which are valid keywords; while
     inc* displays "inch inches".  Typing a TAB, CTRL-I, is similar to using a
     final wildcard, in that all matching keywords are displayed, unless there is
     a unique keyword, and then the keyword is completed for you. 
    

    LABEL

     Syntax: LABEL { `text' }
     Qualifiers: \XAXIS, \YAXIS
     Defaults: no x-axis label, no y-axis label
     Examples: LABEL\XAXIS TXTVAR[5][1:10]
               LABEL\XAXIS
               LABEL\YAXIS `This'//CHAR(39)//`s a label with a single quote'
               LABEL\YAXIS `<alpha,beta,^>10'
    
    
     This command sets the automatic x- or y-axis text label. Use \XAXIS to set
     the x-axis label and use \YAXIS to set the y-axis label. Entering the 
     command without a parameter indicates that no automatic x- or y-axis text 
     label is to be drawn. The axis labels are drawn only when the axes are
     drawn. The character string may contain format commands. Change fonts with
     the SET FONT command; change the sizes of the text labels with SET XLABSZ
     or %XLABSZ, SET YLABSZ or %YLABSZ. The x-axis text label is drawn, centred,
     below the x-axis. The y-axis text label is drawn, centred, to the left of
     the y-axis. 
    

    LEGEND

     Syntax: LEGEND ON | OFF
             LEGEND FRAME ON | OFF | { xlo ylo xhi yhi }
             LEGEND TRANSPARENCY ON | OFF
             LEGEND AUTOHEIGHT ON | OFF
             LEGEND NSYMBOLS n
             LEGEND TITLE { `title string' }
             LEGEND STATUS
     Defaults: legend off, frame on, transparency on, autoheight on,
               units = %, (xlo,ylo) = (55,22.5), (xup,yup) = (78,45)
               nsymbols = 1, no title
    
     If LEGEND is ON, a short line segment, with plotting symbols, is drawn along
     with a character string, when the GRAPH command is entered. The line segment
     is drawn with the same line type and plotting symbols as the data curve. If
     LEGEND is ON, a character string is expected as the first parameter of the
     GRAPH command. This character string may contain formatting commands, see
     the PLOTTEXT command for more information.
    

    Additional Information on:

  • FRAME
  • TRANSPARENCY
  • AUTOHEIGHT
  • NSYMBOLS
  • TITLE
  • STATUS
  • LINE

     Syntax: LINE
             LINE\XYOUT x y { pen_code { line_type { colour { line_thickness }}}}
             LINE x y { pen_code { line_type { colour { line_thickness }}}}
     Qualifiers: \GRAPH, \PERCENT, \WORLD, \XYOUT
     Defaults: \PERCENT, interactive drawing
    
     This command draws line segments. If no parameters are entered with the
     LINE command, the graphics crosshair is used to draw interactively.  If the
     \XYOUT qualifier is used, the graphics crosshair is used to draw the line
     segments, and the parameters are assumed to be output vectors in which to
     store the line segment coordinates and other attributes.  If the \XYOUT
     qualifier is not used, and vectors are entered as parameters, then the
     input vectors are assumed to contain coordinates and other attributes for
     the line segments, and the graphics crosshair is not used.
    

    Additional Information on:

  • plotting_units
  • non-interactive_drawing
  • interactive_drawing
  • pen_code
  • line_type
  • colour
  • line_thickness
  • LIST

     Syntax: LIST x1 { x2 ... x5 } { n1 { n2 { n3 }}}
             LIST\MATRIX matrix
             LIST\MATRIX\FORMAT matrix (format)
     Qualifiers: \MATRIX, \FORMAT, \PAGE, \COUNTER
     Defaults: \-MATRIX, n1 = 1, n3 = 1, not paged, \COUNTER, format=1PD13.4
     Examples: LIST X Y Z 1 10 2   
               LIST\PAGE X[10:#] Y Z   
               LIST\MATRIX M[1:NR,1:#]  
               LIST\MATRIX\FORMAT M (6(F10.3,2X)) 
    
     By default, this command displays a listing of the specified vectors, xI,
     from index n1 to index n2 by increments of n3. n1 defaults to 1 and n3
     defaults to 1 if either are not entered. If n2 is not entered, all the
     elements of each vector are listed.
    

    Additional Information on:

  • MATRIX
  • PAGE
  • COUNTER
  • LOAD

     Syntax: LOAD filename{,libraries}
     Examples: LOAD MYFILE  
               LOAD MYFILE,LIB1/LIB,LIB2/LIB
    
     This command dynamically loads and links a user written object module of a
     user written subroutine or a user written REAL*8 function.  Only one object
     module can be loaded at a time. A subsequent LOAD command will simply
     replace the old module with the new.  If a function is loaded, it is used
     in expressions via the name USERN. If a subroutine is loaded, it is used
     via the CALL command. For examples of user written routines, see the source
     code: PHYSICA$DIR:PHYSICA_USER_FUNCTIONS.FOR
    

    Additional Information on:

  • restrictions
  • subroutine
  • functions
  • 1_example
  • 2_example
  • MAP

     Syntax: MAP\FIOWA name
             MAP\FIOWABIG name
             MAP\NOVA
             MAP\YBOS
             MAP\HBOOK name
    
     This command is used to map onto shared memory, under unix, or a global
     section, under VMS. The FIOWA, FIOWABIG, and NOVA options are only available
     under VMS. The YBOS option is only available under DEC AXP OSF/1.  The HBOOK
     option is available everywhere except for HP-UX.
    

    Additional Information on:

  • NOVA
  • YBOS
  • FIOWA
  • HBOOK
  • MATRIX

     Syntax: MATRIX m1 { m2 ... } nr nc
     Examples: MATRIX M 10 20   
               MATRIX M1 M2 M3 10 20 
    
     This command defines m1 to be a matrix with nr rows and nc columns.  Other
     variable names, mI, may be included, and they will also be defined to be
     matrices with the same dimensions.  If mI exists and is a matrix, then it
     will be either trimmed down to the specified dimensions or zero filled to
     expand it.  If mI is not already a matrix, it will be created and zero
     filled.  If mI is a vector or a scalar, it will be destroyed first.
    

    MIRROR

     Syntax: MIRROR
    
     This command reverses the horizontal dimension, which is useful for drawing
     on a transparency in mirror image.  This might be done for overhead
     projectors because one can display the plot and write or erase on the
     transparency without disturbing the drawing on the other side. The MIRROR
     command should be entered before opening an EDGR file. This command acts like
     a toggle switch. If MIRROR is currently on (off) then it will be turned off
     (on) when the command is entered. The default is off.
    

    MONITOR

     Syntax: MONITOR { keyword }
    
     This command is used to select a terminal monitor graphics output device.
     Selecting a monitor type necessitates clearing the graphics. The MONITOR
     command should be entered before opening an EDGR file.
    
     keyword                            | keyword
     -----------------------------------+----------------------------
     ON       - enable graphics output  | TK4107   - Tektronix 4107  
     OFF      - disable graphics output | PT100G   - Plessey PT-100G 
     VT640    - Digital VT640           | GR1105   - Seiko GR-1105   
     VT241    - Digital VT241           | GENERIC  - generic terminal
     CIT467   - Citoh CIT-467           | X        - X Window System
     TK4010   - Tektronix 4010/12       |
    

    Additional Information on:

  • ON_or_OFF
  • generic
  • NEWS

     Syntax: NEWS 
    
     This command displays the latest information about changes and/or new
     features pertaining to the PHYSICA program.
    

    ORIENTATION

     Syntax: ORIENTATION keyword
     Defaults: initial orientation = landscape
    
     This command sets the graphics orientation. This requires that the graphics
     be cleared, which is done automatically.  There are two basic graphics
     orientations available in PHYSICA.
    
     keyword    meaning
     ----------------------------------------------------------------------------
     LANDSCAPE  the world coordinate system is oriented so the large dimension
                is horizontal
     PORTRAIT   the world coordinate system is oriented so the large dimension
                is vertical
    

    PEAK

     Syntax: PEAK xout yout
             PEAK\PNUM xout yout num
     Qualifiers: \PNUM
     Defaults: \NOPNUM, num = number of last drawn data curve
    
     This command brings up the graphics cursor, and interacts with the user
     through a keystroke menu, to find the minima or maxima of the current data
     curve drawn on the screen. The coordinates of the peaks so found are stored
     in the specified variables xout and yout. By default, the data curve
     referenced is the last one drawn. When the graphics cursor is brought up, the
     program is waiting for input of a one or two character keycode.
    

    Additional Information on:

  • PNUM
  • Xwindows
  • keycodes
  • PICK

     Syntax: PICK { xout yout { y1 { n1 } y2 { n2 } ... }}
     Qualifiers: \NPTS, \POLYGON, \MATRIX, \COUNTS, \MIN, \MAX, \DISPLAY
     Defaults: nI = I, \NONPTS, \NOPOLYGON, \NOMATRIX, \NOCOUNTS, \NOMIN, \NOMAX 
    
     The default action for this command is to pick points off a graph which is
     currently displayed on the monitor screen, and to optionally save the values
     in output vectors, xout and yout. It is assumed that a graph is present on
     the screen and none of the plot characteristics have been changed after the
     plot was done. The graphics cursor is used, and various actions depend on
     which key is typed from the keyboard.
    

    Additional Information on:

  • Xwindows
  • code_keys
  • NPTS
  • DISPLAY
  • automatic_digitizing
  • POLYGON
  • MATRIX
  • COUNTS
  • PIEGRAPH

     Syntax: PIEGRAPH w e f c o r { cx cy { a }}
     Qualifiers: \GRAPH, \PERCENT, \WORLD
     Defaults: \PERCENT, a = 0
    
     This command draws pie charts. The first five parameters are vectors which
     define each wedge of the pie. The radius of the pie chart is r. The scalars
     cx and cy are the x and y coordinates of the centre of the pie. If either cx
     or cy is not entered, the graphics cursor will be used to choose that
     coordinate. The starting angle, in degrees, for the first wedge is specified
     by the scalar a, which defaults to zero.
    

    Additional Information on:

  • units
  • wedge_definition
  • PLOTTEXT

     Syntax: PLOTTEXT filename
    
     This command draws lines of formatted text that are read from a file. Text
     formatting commands and special characters, bracketed by the command
     delimiters, can be interspersed in the lines of text. 
    

    Additional Information on:

  • comments
  • delimiters
  • continuations
  • blank_line
  • height
  • spacing
  • margin
  • bolding
  • colour
  • font
  • centre_justify
  • left_justify
  • right_justify
  • horizontal_spacing
  • subscript_mode
  • superscript_mode
  • slant
  • hexadecimal
  • accents
  • POLYGON

     Syntax: POLYGON xpoly ypoly xdata ydata key
     Qualifiers: \INSIDE
     Defaults: \INSIDE
    
     This command creates a vector, key, which will have the same length as
     vectors xdata and ydata. If \INSIDE is used, or if no qualifier is
     used,  key[i] = 1 if the point (xdata[i],ydata[i]) is inside the polygon
     given by vectors xpoly and ypoly, otherwise key[i] = 0.  If \NOINSIDE
     is used, key[i] = 0 if the point (xdata[i],ydata[i]) is inside the polygon
     given by vectors xpoly and ypoly, otherwise key[i] = 1.
    

    Additional Information on:

  • example
  • QUIT

     Syntax: QUIT
     Qualifiers: \CLEAR
     Examples: QUIT  
               QUIT\CLEAR
    
     The QUIT command is the cleanest way to stop the program.  This does
     a complete FORTRAN STOP.  You cannot re-enter PHYSICA after quitting,
     without re-running the program. See also the EXIT command.
    
     If the \CLEAR qualifier is appended to the QUIT command, the
     graphics is cleared before the program is stopped.
    

    READ

     Syntax: READ file{\line_range} x1{\c1} { x2{\c2} ... } 
             READ\FORMAT file{\line_range} (frmt) x1 { x2 ... } 
             READ\UNFORMATTED file{\line_range} (frmt) x1 { x2 ... } 
             READ\SCALARS file{\n} s1{\c1} { s2{\c2} ... } 
             READ\SCALARS\FORMAT file{\n} (frmt) s1 { s2 ... } 
             READ\SCALARS\UNFORMATTED file{\n} (frmt) s1 { s2 ... } 
             READ\MATRIX file{\n} matrix nrows { ncols }
             READ\MATRIX\-FLIPPED file{\n} matrix ncols { nrows }
             READ\MATRIX\FORMAT file{\n} (frmt) matrix nrows { ncols }
             READ\MATRIX\UNFORMATTED file{\n} (frmt) matrix nrows { ncols }
             READ\TEXT file{\line_range} txtvar
             READ\TEXT\FORMAT file{\line_range} (frmt) txtvar
             READ\TEXT\UNFORMATTED file{\line_range} (frmt) txtvar
    

    Additional Information on:

  • closing_the_file
  • MESSAGES
  • vectors
  • scalars
  • matrix
  • text
  • REBIN

     Syntax: REBIN v vout n 
             REBIN m mout nr nc
     Examples: REBIN X XRB 2    ! X is a vector
               REBIN M M2 3 5   ! M is a matrix
    
     This command rebins the data in either:
      the vector v by the compression value n; or
      the matrix m by the row compression value nr and the column value nc.
    

    Additional Information on:

  • vector
  • matrix
  • REFRESH

     Syntax: REFRESH
    
     This command redraws the X Window System graphics window, and the zoom
     window, if it exists.  
    

    RENAME

     Syntax: RENAME oldname newname
             RENAME old* new*
             RENAME *old *new
    
     This command renames variables. The simplest case is to rename one variable.
     For example:   RENAME XOLD XX   renames the variable XOLD to XX.
     If the wildcard * is the last character in the old name, all variables
     beginning with the preceding characters will be renamed. For example:
     RENAME X1* XX*    ! renames X1 to XX, X1X to XXX, and X1Y to XXY.
     If the wildcard is the first character in the old name, all variables
     that end with the succeeding characters will be renamed. For example:
     RENAME *X *Y2     ! renames X to Y2, AX to AY2, XX to XY2.
    

    REPLOT

     Syntax: REPLOT { nw }  
             REPLOT\ALLWINDOWS
     Qualifiers: \AXES, \ALLWINDOWS, \TEXT
     Defaults: \AXES, nw = current window number, \TEXT
    
     By default, information pertaining to curves produced by GRAPH and ELLIPSE
     are saved in replot buffers. If all of the data does not appear within the
     axis boundaries, you can use the REPLOT command to redraw and have all of
     the data appear on a single graph.  The window number, nw, defaults to the
     current window number. If nw is entered, nw becomes the current window.
     Only the data drawn into window nw will be replotted. If the REPLOT command
     is entered without a window number and without the \ALLWINDOWS qualifier,
     the graphics will be automatically cleared. If using a window number or
     \ALLWINDOWS, make sure that the appropriate windows are cleared before
     entering the REPLOT command.
    

    Additional Information on:

  • clearing
  • ALLWINDOWS
  • NOAXES
  • what_is_saved
  • text
  • enable/disable
  • 1_example
  • 2_example
  • RESTORE

     Syntax: RESTORE filename
     Qualifiers: \PHYSICA, \FIOWA, \XFIOWA, \MUD, \MSR, \IMSR, \CHAOS, \YBOS,
                 \HBOOK, \NOVA
     Default: \PHYSICA
    
     This command restores data sets, either previously saved PHYSICA
     sessions, FIOWA type data sets, muSR MUD, MSR, or IMSR type data sets,
     CHAOS type data sets, YBOS type data sets, or HBOOK type data sets.
    

    Additional Information on:

  • PHYSICA
  • NOVA
  • YBOS
  • FIOWA
  • XFIOWA
  • MUD
  • MSR
  • IMSR
  • CHAOS
  • HBOOK
  • RETURN

     Syntax: RETURN
    
     This command is to be used in conjunction with command macro files. If the
     RETURN command is encountered in a command file, control passes back to the
     calling macro, if there is one, or to the keyboard, if that macro was the
     top level macro. You can also type RETURN from the keyboard after a TERMINAL
     command to abort that macro.
    

    SAVE

     Syntax: SAVE filename
    
     The SAVE command saves all the variable names, contents, and histories
     associated with the current run. This includes all scalars, vectors,
     matrices, and text variables.  The information is written in a special
     binary format into the specified file. The run may be resumed later by
     means of the RESTORE command. The plot information necessary for a replot
     is saved.  The window definitions are saved, as well as the colour,
     the default filename extension for executable files, the stack file,
     autoscaling type, and any aliases that have been defined.  The hardcopy
     device as chosen with the DEVICE command is saved, as well as the graphics
     orientation.  User defined function information is not saved, but must be
     regenerated explicitly in the restored session.
    

    SCALAR

     Syntax: SCALAR s1 { s2 ... }
     Qualifiers: \DUMMY, \VARY
     Examples: SCALAR A   
               SCALAR\DUMMY A B C 
               SCALAR\VARY S1 S2
    
     This command defines s1 to be a scalar.  Other variable names, s2 ..., may
     be included, and they will also be defined to be scalars. If sI already is
     a scalar, its value will be unchanged. If sI is an existing variable, but
     not a scalar, it will be destroyed first. If sI does not exist, it will be
     created and initialized to 1.
    

    Additional Information on:

  • VARY
  • DUMMY
  • SCALES

     Syntax: SCALES minx maxx nlxinc miny maxy nlyinc
             SCALES minx maxx miny maxy
     Qualifiers: \COMMENSURATE
     Defaults: nlxinc=0 & nlyinc=0 if not entered, non-commensurate axes
    
     This command turns off the axis autoscaling feature and sets the graph
     scales for subsequent graphs as follows:
           minx    -  minimum value to display on the x-axis
           maxx    -  maximum value to display on the x-axis
           nlxinc  -  number of large (numbered) tic marks on the x-axis
           miny    -  minimum value to display on the y-axis
           maxy    -  maximum value to display on the y-axis
           nlyinc  -  number of large (numbered) tic marks on the y-axis
     If no parameters are entered, the scales are frozen at the current values.
     The current values of minx, maxx, nlxinc, miny, maxy, and nlyinc will be
     displayed.  If 4 parameters are entered, nlxinc and nlyinc default to zero.
    

    Additional Information on:

  • COMMENSURATE
  • nlxinc
  • nlyinc
  • SET

     Syntax: SET { keyword { value }}
             SET { keyword = value }
     Examples: SET %XLAXIS 20   
               SET %XLAXIS=XLX   
    
     The SET command sets the values of the GPLOT plot characteristic keywords
     and the PHYSICA specific keywords.  Use the GET command to get these values.
     If the command is entered with no parameters, more than one keyword value
     can be set without re-entering the SET command. Other keywords will be
     requested until a blank line is entered, at which time the user is put back
     into command line entry mode. If the command is used in this way in a macro
     command file, the blank line is necessary to indicate that the SET command
     is finished. If a keyword is entered with the command, only that keyword's
     value can be changed. If the input value is not entered after the keyword,
     the current value is displayed on the monitor screen, and you can then enter
     a new value. If a value is entered, the keyword is assigned the new value.
     All keywords have numeric values, except for the FONT, CUNITS, and UNITS
     keywords, which are character valued.  The VERSION and VERSIONDATE keywords
     are also character valued, but they cannot be altered.
    

    Additional Information on:

  • example
  • PHYSICA_keywords
  • GPLOT_keywords
  • SHOW

     Syntax: SHOW v1 { v2 ... }
     Qualifiers: \VECTORS, \SCALARS, \MATRICES, \TEXT, \VARY, \FIXED, \DUMMY
     Defaults: all variables displayed 
     Examples: SHOW
               SHOW X*   
               SHOW\VECTORS\SCALARS *ABC*  
               SHOW\SCALARS\-FIXED\-DUMMY
    
     This command displays: the current vectors, their lengths and histories; the
     current scalars, their values and histories; the current matrices, their
     dimensions and histories; and the current text variables, their lengths and
     contents. If a variable name is entered, only the information about that
     variable is listed. Valid wildcard usages are (where x represents one or
     more characters):   *x  -->  all variables that end with x
                         x*  -->  all variables that start with x
                        *x*  -->  all variables that contain x
    

    Additional Information on:

  • qualifiers
  • SLICES

     Syntax: SLICES n x y z { angle }
     Defaults: angle = 30 degrees
     Examples: SLICES 5 X Y Z  
               SL 10 X Y Z 45 
    
     This command bins the x, y, and z vectors into n slices, and produces a
     graphical representation of this binned data.  The x, y and z vectors are
     assumed to represent scattered data points (x[i],y[i]) with altitude z[i].
     By default, the z-axis is drawn at an angle of 30 degrees. This angle can be
     specified by including the angle parameter. 
    
     This command is open for suggestions.
    

    SORT

     Syntax: SORT x { x1 x2 ... }
     Qualifiers: \UP, \DOWN 
     Defaults: \UP
     Examples: SORT X Y  
               SORT\DOWN X Y Z  
               SORT\UP X Y Z
    
     This command sorts vectors into ascending or descending order. By default,
     the vector x is sorted into ascending order. Ascending order means that
     element 1 will be the smallest element. To sort vector x into descending
     order, use the \DOWN qualifier. Descending order means that element 1 will
     be the largest.  Vector x will be altered. If other vectors, xI, are entered,
     then they will not be sorted, but they will be re-arranged in the same way
     that x is re-arranged. For example, if element x[i] becomes x[j] because of
     sorting, then xI[i] will become xI[j].
    

    Additional Information on:

  • 1_example
  • 2_example
  • 3_example
  • STACK

     Syntax: STACK filename
     Qualifiers: \APPEND, \EXECUTE
     Defaults: \NOAPPEND, \EXECUTE
    
     A stack file will contain all the subsequently entered commands. The STACK
     command is a way of interactively creating a macro command file, and is meant
     to be used in conjunction with the EXECUTE command. Commands that are being
     stacked in a file can be executed later. To turn off the stacking feature,
     use the DISABLE STACK command, after which commands will no longer be written
     to the previously named stack file. To re-enable the same stack file, use the
     command ENABLE STACK, after which subsequent commands will be appended to
     that file.
    

    Additional Information on:

  • APPEND
  • NOEXECUTE
  • STATISTICS

     Syntax: STATISTICS x { s1\keyword { s2\keyword ... }}
             STATISTICS\MOMENT w x n { sout }
             STATISTICS\PEARSON x y rcof prob
     Command qualifiers:   \MESSAGES, \WEIGHTS, \MOMENT, \PEARSON
     Parameter qualifiers: \MIN, \IMIN, \JMIN, \MAX, \IMAX, \IMIN, \JMIN,
                           \MEAN, \GMEAN, \MEDIAN, \SDEV, \ADEV, \VARIANCE,
                           \RMS, \KURTOSIS, \SKEWNESS, \SUM
     Defaults: \MESSAGES, \NOWEIGHTS
     Examples: STATISTICS X
               STATISTICS\NOMESSAGES X XMED\MEDIAN XMEAN\MEAN 
               STATISTICS\WEIGHTS W X XVAR\VARIANCE XSUM\SUM
    
     This command calculates statistics for the input variable, x, a vector
     or a matrix. Specific statistics are chosen with parameter qualifiers.
    

    Additional Information on:

  • WEIGHTS
  • extrema
  • central_measures
  • dispersion_and_skewness
  • NOMESSAGES
  • MOMENTS
  • 1_example
  • 2_example
  • PEARSON
  • STATUS

     Syntax:  STATUS
    
     This command displays the PHYSICA version number and date, as well as
     most of the internal flags and settings.
    

    SURFACE

     Syntax: SURFACE matrix { xangle { zangle { vsf { psf }}}}
     Qualifiers: \COLOUR, \NORMAL, \HISTOGRAM, \XZLINES, \XLINES, \ZLINES
     Defaults: \NOCOLOUR, \NORMAL, \XZLINES,
               xangle= -45 degrees, zangle= -45 degrees, vsf= 1, psf= 0
     Examples: SURFACE M   
               SURFACE\COLOUR M   
               SURFACE\HIST M -30 -60  
               SURFACE\NORMAL\ZLINES M -45 -45 2 
    
     This command displays a matrix in the form of a 3-d figure which can be
     rotated in space. The appearance of the figure is controlled by qualifiers
     and optional parameters. Unlike most other PHYSICA commands, once one of
     the optional parameters has been changed to a new value, that value becomes
     the default.
    

    Additional Information on:

  • controls
  • COLOUR
  • TERMINAL

     Syntax: TERMINAL { `string' }
     Default: `string' = `type <RETURN> to continue'
     Examples: TERMINAL
               TERMINAL `display this message'
    
     If this command is encountered in a command macro file that is being
     executed, control is passed back to the terminal keyboard. Commands can
     then be entered interactively.  To continue execution of the command macro
     file, type the <RETURN> key without entering anything. The command macro
     file will then continue execution with the command immediately following the
     TERMINAL command. By default, the message `type <RETURN> to continue' will
     be displayed. You can specify the message by entering a character string with
     the command.
    

    TEXT

     Syntax: TEXT { `textstring' }
     Qualifiers: \GRAPH, \ERASE, \CONFIRM
     Defaults: \CONFIRM, \NOGRAPH, \NOERASE
     Examples: TEXT\NOCONFIRM `This is a text string'
               TEXT `The value of A is '//RCHAR(A)//` and B = '//RCHAR(B) 
               TEXT `<alpha,^>2<_,gamma>=<Phi>'
               TEXT TIME//DATE
               TEXT\ERASE\NOCONFIRM
    
     By default, this command draws character strings. The `textstring' defaults
     to the last character string that was entered with the TEXT command. Users
     should familiarize themselves with the Low Level Graphics and Graph Plotting
     manual, particularly the text drawing subsection. Use the SET FONT command to
     set the font (default: TSAN).
    

    Additional Information on:

  • CURSOR
  • TXTANG
  • TXTHIT
  • XLOC
  • YLOC
  • CONFIRM
  • append_scalars
  • format_commands
  • replotting
  • date_and_time
  • ERASE
  • TILE

     Syntax: TILE filename
    
     This command is used for drawing complicated bar graphs.  The numbers which
     define the rectangular bars are read from a file. Character strings may also
     be drawn. Comment lines in the file are ignored, where a comment line is any
     line that begins with a !.
    

    Additional Information on:

  • bar_definition
  • character_definition
  • sample_file
  • TLEN

     Syntax: TLEN txt lenout
    
     This command returns lenout, the number of string elements of the array
     text variable txt.  For example, suppose 
    
     T[1]=`string 1';  T[2]=`string 2';  T[3]=`string 3'
    
     then    TLEN T L   would return the scalar L = 3.
    

    TRANSFORM

     Syntax: TRANSFORM x p f(x,p) xout
     Example: TRANSFORM X P EXP(-P*X*X) TX
    
     This command performs integral transforms of the function f(x,p). The
     function is integrated over the entire range of definition as defined by
     the independent variable x.  The integral is evaluated for each value of the
     parameter array p, with the result stored in the transform array xout. The
     function f(x,p), which forms the integrand of the transform integral, may
     contain other scalars, or other vectors dimensioned identically to x. Such
     vectors are considered, and integrated, as functions of the independent
     variable x. Vectors of mismatched size will generate an error.
    
     This command can be used to perform standard transforms such as Laplace or
     Hankel transforms. Fourier transforms should be done using the FFT function,
     as this is much faster.
    

    UNIQUE

     Syntax: UNIQUE x y xout yout
             UNIQUE\INDICES x y idx { (index_expression) }
     Qualifiers: \MESSAGES, \INDICES
     Defaults: \MESSAGES, \NOINDICES
    
     This command finds adjacent duplicate points in the vectors x and y. A
     duplicate point means that x[i] = x[i+1] and y[i] = y[i+1]. By default,
     the vectors xout and yout are created, and will contain no adjacent
     duplicate points.  If none are found, xout = x and yout = y.
    

    Additional Information on:

  • INDICES
  • MESSAGES
  • USE

     Syntax: USE filename
    
     This command causes program input to come from a file, instead of from the
     keyboard. When the end of file is reached, input will again be expected to
     be entered from the keyboard.  Nesting is not allowed. Within USE files,
     labels, GOTO statements, IF...THEN statements, and DO loops are not allowed.
    
     This command should be useful to enter blocks of commands when the TERMINAL
     command has been encountered while executing a macro script file, since it
     is not allowed to execute another script from that mode.
    

    Additional Information on:

  • filename
  • variables

     All numeric literals in PHYSICA are stored internally as double precision
     real numbers. Numeric valued variables are stored internally as double
     precision real numbers, but PHYSICA also allows string valued variables.
    
     A SCALAR       is a single number.
     A VECTOR       is a one dimensional list of numbers.
     A MATRIX       is a two dimensional array of numbers.
     A STRING       is a character string.
     A STRING ARRAY is an array of strings.
    
     Except for some variables which are created automatically by various
     commands, each variable is named by the user.
    

    Additional Information on:

  • names
  • indices

     Indices can be used on any numeric variable, except scalars, and on any
     string variable. A string variable is a string, and can have only one
     index, which is interpreted as a character index. A string array variable
     is an array of strings, and can have either one or two indices. If one
     index is used, it is assumed to be an array index. If two sets of indices
     are used, the first is assumed to an array index and the second is assumed
     to be a character index. Indices can also be used on functions, and on
     expressions. An index can be a simple numeric literal or a complicated
     expression.  Indices can also be nested.
    

    Additional Information on:

  • index_as_expression
  • special_characters
  • functions
  • expressions
  • starting_value
  • VECTOR

     Syntax: VECTOR x1 { x2 ... } n
     Example: VECTOR X Y Z 10 
    
     This command defines xI to be a vector with length n. If xI exists and is
     a vector, then it will be either trimmed down to the specified length or
     zero filled to expand it.  If xI is not already a vector, it will be created
     and zero filled.  If xI is a matrix or a scalar, it will be destroyed first.
    

    VOLUME

     Syntax: VOLUME x y z { volm }
             VOLUME\MATRIX { x y } m { volm }
     Qualifiers: \MATRIX, \POLAR
     Defaults: \NOPOLAR, x=[1;2;...], y=[1;2;...]
    
     By default, this command calculates the volume under the scattered points
     given by vectors x, y and z=f(x,y). The output is an optional scalar, volm.
     If volm is not entered, the volume is simply displayed. The region given by
     x and y is first triangulated, using a Thiessen triangulation, then the
     integral is approximated by integrating the piecewise linear interpolants of
     the data values.  If the \POLAR qualifier is used, x is assumed to be the
     radial components and y the angular components, in degrees.
    

    Additional Information on:

  • MATRIX
  • WAIT

     Syntax: WAIT n 
    
     This command causes a delay of n seconds. This is included for use when
     EXECUTing a command macro file. Suppose some message is displayed on the
     monitor screen, via the DISPLAY command, and the user is expected to
     interactively enter some information. One could ring the bell, using the
     BELL command, display the message, and then cause a wait of a few seconds
     before clearing the screen. The user would then have a better opportunity
     to read the message and then act on it.
    

    WINDOW

     Syntax: WINDOW { n { lowx lowy { upx upy }}}
             WINDOW\TILE nx ny nstart
     Qualifiers: \TILE, \MESSAGES
     Defaults: \NOMESSAGES, nstart = 1
    
     This command chooses a subset of the graphics page or world. The default
     window is the entire page, that is, window number zero. Windows are an easy
     way to subdivide the graphics output page into rectangular regions, allowing
     multiple graphs and/or multiple figures and/or multiple text regions. A
     window, other than window 0, has a smaller plotting unit range than the full
     page. Commensurateness is not lost in a sub-window. Windows are transparent
     to EDGR. If no parameters are entered, a listing of the currently defined
     windows will be displayed along with their corner coordinates.
    

    Additional Information on:

  • boundaries
  • plotting_units
  • define_a_window
  • NOMESSAGES
  • GPLOT
  • TILE
  • WORLD

     Syntax: WORLD vxin vyin { vxout vyout }
     Qualifiers: \PERCENT 
     Defaults: absolute coordinates returned
     Examples: WORLD 10 20   
               WORLD AX AY AXW AYW  
               WORLD\PERCENT X Y XW YW 
    
     This command converts graph coordinates into world coordinates, or into
     percentages if the \PERCENT qualifier is used.  The world coordinates are
     either centimeters or inches depending on the units chosen with the SET
     UNITS command.  The default is centimeters.  The variables vxin and vyin
     may be scalars or vectors, but they must both be the same type.  The
     resultant values are displayed on the monitor screen, and if output
     variables vxout and vyout are present,  then the values are stored there.
     The type of variable created depends on the type of vxin and vyin.
    

    WRITE

     Syntax: WRITE file x1 { x2 ... }
             WRITE\SCALAR file s1 { s2 ... }
             WRITE\MATRIX file matrix                               
             WRITE\TEXT file txtvar
     Qualifiers: \SCALAR, \MATRIX, \TEXT, \FORMAT, \APPEND 
    
     This is a general purpose writing command for vectors, scalars, matrices,
     or character strings. The variable type that will be written depends on the
     qualifier appended to the command. The parameters that are expected also
     depend on this qualifier. By default, the WRITE command writes vectors to a
     file. If the \APPEND qualifier is used, and if the output file already
     exists, the data will be appended onto the end of the file. Columns of data
     will be written to the file, where the I_th column will be vector xI. The
     number of lines that are written to the file will be the minimum length of
     the vectors. A maximum of 29 vectors can be written with one WRITE command.
    

    Additional Information on:

  • formats
  • 1_example
  • 2_example
  • 4_example
  • SCALAR
  • MATRIX
  • TEXT
  • ZEROLINES

     Syntax: ZEROLINES  
     Qualifiers: \HORIZONTAL, \VERTICAL
     Default: both horizontal and vertical lines drawn
    
     This command draws horizontal and/or vertical lines on a graph through (0,0).
    
     ZEROLINES\HORIZONTAL -- draw line through (0,0), parallel to the x-axis,
                             from the left edge, XMIN, to the right edge, XMAX
     ZEROLINES\VERTICAL   -- draw line through (0,0), parallel to the y-axis,
                             from the bottom edge, YMIN to the top edge, YMAX
     ZEROLINES            -- both lines are drawn
    
     The line(s) will have the current line type, as set with the SET LINTYP
     command (default: LINTYP=1).