EOS™ (Equation Operating System) Hierarchy
This section describes the Equation Operating System (EOS™) that is used by the TI‑Nspire™ math and science learning technology. Numbers, variables, and functions are entered in a simple, straightforward sequence. EOS™ software evaluates expressions and equations using parenthetical grouping and according to the priorities described below.
Order of Evaluation
Level |
Operator |
1 |
Parentheses ( ), brackets [ ], braces { } |
2 |
Indirection (#) |
3 |
Function calls |
4 |
Post operators: degrees-minutes-seconds (°,',"), factorial (!), percentage (%), radian (r), subscript ([ ]), transpose (T) |
5 |
Exponentiation, power operator (^) |
6 |
Negation (-) |
7 |
String concatenation (&) |
8 |
Multiplication (•), division (/) |
9 |
Addition (+), subtraction (-) |
10 |
Equality relations: equal (=), not equal (≠ or /=), |
11 |
Logical |
12 |
Logical |
13 |
Logical |
14 |
xor, nor, nand |
15 |
Logical implication (⇒) |
16 |
Logical double implication, XNOR (⇔) |
17 |
Constraint operator (“|”) |
18 |
Store (→) |
Parentheses, Brackets, and Braces
All calculations inside a pair of parentheses, brackets, or braces are evaluated first. For example, in the expression 4(1+2), EOS™ software first evaluates the portion of the expression inside the parentheses, 1+2, and then multiplies the result, 3, by 4.
The number of opening and closing parentheses, brackets, and braces must be the same within an expression or equation. If not, an error message is displayed that indicates the missing element. For example, (1+2)/(3+4 will display the error message “Missing ).”
Note: Because the TI‑Nspire™ software allows you to define your own functions, a variable name followed by an expression in parentheses is considered a “function call” instead of implied multiplication. For example a(b+c) is the function a evaluated by b+c. To multiply the expression b+c by the variable a, use explicit multiplication: a•(b+c).
Indirection
The indirection operator (#) converts a string to a variable or function name. For example, #(“x”&”y”&”z”) creates the variable name xyz. Indirection also allows the creation and modification of variables from inside a program. For example, if 10→r and “r”→s1, then #s1=10.
Post Operators
Post operators are operators that come directly after an argument, such as 5!, 25%, or 60°15' 45". Arguments followed by a post operator are evaluated at the fourth priority level. For example, in the expression 4^3!, 3! is evaluated first. The result, 6, then becomes the exponent of 4 to yield 4096.
Exponentiation
Exponentiation (^) and element-by-element exponentiation (.^) are evaluated from right to left. For example, the expression 2^3^2 is evaluated the same as 2^(3^2) to produce 512. This is different from (2^3)^2, which is 64.
Negation
To enter a negative number, press v followed by the number. Post operations and exponentiation are performed before negation. For example, the result of −x2 is a negative number, and −92 = −81. Use parentheses to square a negative number such as (−9)2 to produce 81.
Constraint (“|”)
The argument following the constraint (“|”) operator provides a set of constraints that affect the evaluation of the argument preceding the operator.