# normalize: Normalize a matrix/vector to sum to one (probability simplex) In LICORS: Light Cone Reconstruction of States - Predictive State Estimation From Spatio-Temporal Data

## Description

`normalize` projects a vector or matrix onto the probability simplex.

If all entries (per row or column) get thresholded to 0 (since they are all negative to start with), then it sets the position of the maximum of `x` to 1 and leaves all other entries at 0.

## Usage

 `1` ```normalize(x, byrow = TRUE, tol = 1e-06) ```

## Arguments

 `x` a numeric matrix(like object). `byrow` logical; if `TRUE` rows are normalized; otherwise columns. `tol` a tolerance level to set values < tol to 0 (after an initial normalization). Default: `tol=1e-6`

## Value

If `x` is a vector it returns the thresholded vector (see `threshold`) and normalized by its sum. If `x` is a matrix it works by column of by row (argument `byrow`).

`threshold`

## Examples

 ```1 2 3 4 5``` ```print(normalize(c(1, 4, 2, 2, 10))) print(normalize(c(-1, -2, -1))) AA <- matrix(rnorm(12), ncol = 3) print(normalize(AA, byrow = TRUE)) print(normalize(AA, byrow = FALSE)) ```

### Example output

```[1] 0.05263158 0.21052632 0.10526316 0.10526316 0.52631579
[1] 1 0 0
[,1]      [,2]      [,3]
[1,] 0.3659218 0.3326854 0.3013929
[2,] 0.5799565 0.4200435 0.0000000
[3,] 1.0000000 0.0000000 0.0000000
[4,] 0.0000000 0.8506573 0.1493427
[,1]       [,2]      [,3]
[1,] 0.95711769 0.67284338 0.9197013
[2,] 0.04288231 0.02401487 0.0000000
[3,] 0.00000000 0.00000000 0.0000000
[4,] 0.00000000 0.30314175 0.0802987
```

LICORS documentation built on May 29, 2017, 1:02 p.m.