Generic function that computes the *sparseness* of
an object, as defined by Hoyer (2004). The
sparseness quantifies how much energy of a vector is
packed into only few components.

sparseness(x, ...)

- x
- an object whose sparseness is computed.
- ...
- extra arguments to allow extension

usually a single numeric value -- in [0,1], or a numeric vector. See each method for more details.

In Hoyer (2004), the sparseness is defined for a
real vector `x`

as:

(srqt(n) - ||x||_1 / ||x||_2) / (sqrt(n) - 1), where

`n`

is the length of`x`

.The sparseness is a real number in

`[0,1]`

. It is equal to 1 if and only if`x`

contains a single nonzero component, and is equal to 0 if and only if all components of`x`

are equal. It interpolates smoothly between these two extreme values. The closer to 1 is the sparseness the sparser is the vector.The basic definition is for a

`numeric`

vector, and is extended for matrices as the mean sparseness of its column vectors.

- sparseness
`signature(x = "numeric")`

: Base method that computes the sparseness of a numeric vector.It returns a single numeric value, computed following the definition given in section

*Description*. - sparseness
`signature(x = "matrix")`

: Computes the sparseness of a matrix as the mean sparseness of its column vectors. It returns a single numeric value. - sparseness
`signature(x = "NMF")`

: Compute the sparseness of an object of class`NMF`

, as the sparseness of the basis and coefficient matrices computed separately.It returns the two values in a numeric vector with names ‘basis’ and ‘coef’.

Hoyer P (2004). "Non-negative matrix factorization with
sparseness constraints." _The Journal of Machine Learning
Research_, *5*, pp. 1457-1469.