up
previous
next
3.3.1 CoCoA Operators
In CoCoA there are 5 main types of operators: algebraic
operators, relational operators, boolean operators, selection
operators, and the range operator. There is also an n-ary operator
><
for forming Cartesian products of lists and an operator
::
used in
defining rings.
The meaning of an operator depends on the types of its operands; the
+
in the expression
A + B
represents the sum of polynomials, or of
ideals, or of matrices, etc. according to the type of A and B.
The multiplication symbol
*
can always be omitted. The expression
F(E)
is intrinsically ambiguous; it can be the variable F multiplied
by the parenthesized expression E, or the application of the function
F to the argument E. CoCoA always interprets this expression in the
latter way. In the former case the user must separate F from the left
parenthesis with a blank or an
*
.
The CoCoA operators are, from the highest to the lowest priority:
[] . (selection operators)
^ %
+ - (as unary operators)
* : /
+ - (as binary operators)
..
= <> <<= > >=
IsIn
Not
And
OR
Operations with equal priority are performed from left to right.
When in doubt, parentheses may be used to enforce a particular order of
evaluation.
Furthermore there is the n-ary operator
><
(made by using a greater
than sign
>
and a less than sign
<
) for making Cartesian
products of lists (see
"><",
Cartesian Product) and the operator
::
for defining rings (see
"New Rings" and
Use
).