# + - * / ^ % (Arithmetic Operators)

## Purpose:

Add/subtract/multiply/divide/exponentiate
two expressions.

## Syntax:

val1 *op*
val2

val1 |
- |
A scalar, series, or table. |

val2 |
- |
A scalar, series, or table. |

## Returns:

If one or both of the expressions is a
series, then a series results. The following is a list of type conversion
rules:

Integer |
+ |
Integer |
yields Integer |

Integer |
+ |
Real |
yields Real |

Integer |
+ |
Series |
yields Series |

Real |
+ |
Complex |
yields Complex |

Real |
+ |
Series |
yields Series |

Complex |
+ |
Real Series |
yields Complex Series |

## Example:

128 + 13.29

displays the real result 141.29.

## Example:

W1: {1,2,0,4,5)

4 * (W1)

multiplies each element of the series
by a factor of four and produces the new series {4,
8, 0, 16, 20}.

## Example:

-3 ^ 1.8

displays -7.224674.

## Example:

(-3) ^ 1.8

displays the complex result 5.844884 - 4.246557i.

Note that the ^ (power) operator has higher
precedence than the – (unitary minus) operator.

## Example:

12 % 5
returns 2, the remainder when 12 is divided by 5.

## Example:

The right divide operator performs division
such that

a b == b * (1 / a) == b / a

For example 10
5 == 5 * (1 / 10) == 5 / 10 == 0.5

## Example:

The .* and ./
operators perform standard scalar multiply and divide. For example:

a = {3,
6, 9};

b = a .*
3;

c = a ./
3;

b == {9,
18, 27}

c == {1,
2, 3}

## Remarks:

The DEFAULT_MATH_VALUE and USE_DEFAULT_MATH_VALUE configuration parameters
determine the result of exceptions for operations such as 1/0 and log(0).

If USE_DEFAULT_MATH_VALUE is 1, the value specified by DEFAULT_MATH_VALUE
is returned.

If USE_DEFAULT_MATH_VALUE is 0, the internal exception value determined
by the math processor is returned.

For example:

setconf("DEFAULT_MATH_VALUE", "0.0");

setconf("USE_DEFAULT_MATH_VALUE", "1");

a = 1 / 0;

setconf("USE_DEFAULT_MATH_VALUE", "0");

b = 1 / 0;

a == 0.0;

b == inf;

The ^ operator can return a complex result
if the first expression is negative and the second expression has a non-zero
fractional part.

See *^ (Matrix
Multiply) to perform matrix multiplication.

See ^^ (Matrix
Power) to raise a matrix to a power.

See \^ (Matrix
Solve) to solve a system of equations.

See /^
(Matrix Right Division) to perform matrix right division.

See '
(Matrix Transpose) to transpose a matrix.

See DADiSP/VectorXL to optimize arithmetic
operations on series.

## See Also:

Assignment
Operators

Conditional
Operators

DADiSP/VectorXL

Logical
Operators