Yorick: Arrays

Home Manual Packages Global Index Keywords Quick Reference |
# 2. Using Array Syntax Most Yorick statements look like algebraic formulas. A variable name is a string like `Var_1` -- upper or lower case characters (case matters), digits, or underscores in any combination except that the first character may not be a digit. Expressions consist of the usual arithmetic operations `+ - * /`, with parentheses to indicate the order of operations (when that order is different than or unclear from the ordinary rules of precedence in algebra). Elementary mathematical functions such as `exp(x)`, `cos(x)`, or `atan(x)` look just like that. Usually, a Yorick variable is a parametric representation of a mathematical function. The variable is an array of numbers which are values of the function at a number of points; few points to represent the function coarsely, more for an accurate rendition. The parameters of the function are the indices into the array, which rarely make an explicit appearance in Yorick programs. Thus,
    theta = span(0.0, 2*pi, 100)
defines a variable `theta` consisting of 100 evenly spaced values starting with `0.0` and ending with `2*pi`. Now that `theta` has been defined as a list of 100 numbers, any function of `theta` has a concrete representation as a list of 100 numbers -- namely the values of the function at the 100 particular values of `theta`. Hence, variables `x` and `y` representing coordinates of the unit circle are defined with:
    x = cos(theta);   y = sin(theta)
> Here, `cos` and `sin` are built-in Yorick functions. Like most Yorick functions, they operate on an entire array of numbers, returning an array of like shape. Hence both `x` and `y` are now lists of 100 numbers -- the cosines and sines of the 100 numbers `theta`. The semicolon marks the end of a Yorick statement, allowing several statements to share a single line. The end of a line (i.e.- a newline) can also mark the end of a Yorick statement. However, if any parentheses are open, or if a binary operator or a comma is the last token on the line, then the newline is treated like a space or a tab character and does not terminate the Yorick statement. If a line ends with backslash, the following newline will never terminate the Yorick statement. (That is, backslash is the continuation character in Yorick.) I recommend that you never use a backslash -- end the line to be continued with a binary operator, or leave the comma separating subroutine arguments at the end of the line, or split a parenthetic expression across the line, and it will be continued automatically.
> 2.1 Creating Arrays |  | How to originate arrays.
> 2.2 Interpolating |  | Interpolation functions.
> 2.3 Indexing |  | How to reference array elements.
> 2.4 Sorting |  | How to sort an array.
> 2.5 Transposing |  | How to change the order of array dimensions.
> 2.6 Broadcasting and conformability |  | Making arrays conformable.
> 2.7 Dimension Lists |  |