Working with Matrices |
With SAS/IML software, you can write compound expressions involving several matrix operators and operands. For example, the following statements are valid matrix assignment statements:
a=x+y+z; a=x+y*z\prime ; a=(-x)#(y-z);
The rules for evaluating compound expressions are as follows:
a=x+y*z;This statement first multiplies matrices and since the * operator (group II) has higher precedence than the + operator (group III). It then adds the result of this multiplication to the matrix and assigns the new matrix to .
a=x/y/z;This statement first divides each element of matrix by the corresponding element of matrix . Then, using the result of this division, it divides each element of the resulting matrix by the corresponding element of matrix . The operators in group I, described in Table 4.1, are evaluated from right to left. For example, the following expression is evaluated as :
-x**2
When multiple prefix or postfix operators are juxtaposed, precedence is determined by their order from inside to outside.
For example, the following expression is evaluated as :
a`[i,j]
a=x/(y/z);This statement is evaluated by first dividing elements of by the elements of , then dividing this result into .
Copyright © 2009 by SAS Institute Inc., Cary, NC, USA. All rights reserved.