Boltzmann entropy (also called configurational entropy) has been recently adopted to analyze entropy of landscape gradients (Gao et al. (2017), Gao et al. (2018)). The goal of **belg** is to provide an efficient C++ implementation of this method in R. It also extend the original idea by allowing calculations on data with negative and missing values.

You can install the released version of belg from CRAN with:

`install.packages("belg")`

And the development version from GitHub with:

```
# install.packages("devtools")
devtools::install_github("Nowosad/belg")
```

As an example, we use two small rasters - `complex_land`

representing a complex landscape and `simple_land`

representing a simple landscape:

```
library(raster)
library(belg)
plot(stack(complex_land, simple_land))
```

The main function in this package, `get_boltzmann`

, calculates the Boltzmann entropy of a landscape gradient:

```
get_boltzmann(complex_land)
#> [1] 48.43241
get_boltzmann(simple_land)
#> [1] 18.3818
```

This function accepts a `RasterLayer`

, `RasterStack`

, `RasterBrick`

, `matrix`

, or `array`

object as an input. It also allows for calculation of the relative (the `relative`

argument equal to `TRUE`

) and absolute Boltzmann entropy of a landscape gradient. As a default, it uses a logarithm of base 10 (`log10`

), however `log`

and `log2`

are also available options for the `base`

argument.

```
get_boltzmann(complex_land, base = "log")
#> [1] 111.5198
get_boltzmann(complex_land, relative = TRUE)
#> [1] 35.50168
get_boltzmann(complex_land, base = "log2", relative = TRUE)
#> [1] 117.934
```

- Gao, Peichao, Hong Zhang, and Zhilin Li. βAn efficient analytical method for computing the Boltzmann entropy of a landscape gradient.β Transactions in GIS (2018).
- Gao, Peichao, Hong Zhang, and Zhilin Li. βA hierarchy-based solution to calculate the configurational entropy of landscape gradients.β Landscape Ecology 32(6) (2017): 1133-1146.