# Arithmetical Operators for hyperSpec objects

### Description

Arithmetical Operators: +, -, *, /, ^, %%, %/%, %*% for hyperSpec objects

### Usage

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | ```
## S4 method for signature 'hyperSpec,hyperSpec'
Arith(e1, e2)
## S4 method for signature 'hyperSpec,numeric'
Arith(e1, e2)
## S4 method for signature 'hyperSpec,matrix'
Arith(e1, e2)
## S4 method for signature 'hyperSpec,missing'
Arith(e1, e2)
## S4 method for signature 'numeric,hyperSpec'
Arith(e1, e2)
## S4 method for signature 'matrix,hyperSpec'
Arith(e1, e2)
## S4 method for signature 'hyperSpec,hyperSpec'
x %*% y
## S4 method for signature 'hyperSpec,matrix'
x %*% y
## S4 method for signature 'matrix,hyperSpec'
x %*% y
``` |

### Arguments

`e1,e2` |
or |

`x,y` |
either two one a vector which length equalling either the number of rows or the number of wavelengths of the hyperSpec object, or a scalar (numeric of length 1). |

### Details

The arithmetical operators `+`

, `-`

, `*`

, `/`

, `\^`

, `%%`

,
`%/%`

, and `%*%`

for `hyperSpec`

objects.

You can use these operators in different ways:

1 2 3 4 5 6 7 | ```
e1 + e2
`+` (e1, e2)
x %*% y
`%*%`(x, y)
-x
``` |

The arithmetical operators `+`

, `-`

, `*`

, `/`

, `^`

, `%%`

,
`%/%`

, and `%*%`

work on the spectra matrix of the `hyperSpec`

object. They
have their usual meaning (see `Arithmetic`

). The operators work also with one
`hyperSpec`

object and a numeric object or a matrices of the same size as the spectra matrix
of the `hyperSpec`

object.

With numeric vectors `sweep`

is most probably more appropriate.

If you want to calculate on the extra data as well, use the data.frame `hyperSpec@data`

directly or `as.data.frame (x)`

.

### Value

`hyperSpec`

object with the new spectra matrix.

### Author(s)

C. Beleites

### See Also

`sweep-methods`

for calculations involving a vector and
the spectral matrix.

`S4groupGeneric`

for group generic methods.

`Arithmetic`

for the base arithmetic functions.

`Comparison`

for comparison operators,
`Math`

for mathematical group generic
functions (Math and Math2 groups) working on `hyperSpec`

objects.

`matmult`

for matrix multiplications with `%*%`

.

### Examples

1 2 3 4 5 |

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker. Vote for new features on Trello.