# Arith: Arithmetical Operators for hyperSpec objects In hyperSpec: Work with Hyperspectral Data, i.e. Spectra + Meta Information (Spatial, Time, Concentration, ...)

## 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 `hyperSpec` objects or one `hyperSpec` object and matrix of same size as `hyperSpec[[]]` or 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 `[email protected]` directly or `as.data.frame (x)`.

## Value

`hyperSpec` object with the new spectra matrix.

## Author(s)

C. Beleites

`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``` ```flu + flu 1 / flu all((flu + flu - 2 * flu)[[]] == 0) -flu flu / flu\$c ```

hyperSpec documentation built on May 31, 2017, 3:47 a.m.