You are here: TI‑Nspire™ CX CAS Reference Guide > EOS™ (Equation Operating System) Hierarchy

# EOS™ (Equation Operating System) Hierarchy

This section describes the Equation Operating System (EOS™) that is used by the TI‑Nspire™ CAS 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 /=), less than (<), less than or equal (≤ or <=), greater than (>), greater than or equal (≥ or >=) 11 Logical not 12 Logical and 13 Logical or 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™ CAS 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 10r 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.