Learn R Programming

wordspace (version 0.2-8)

rowNorms: Compute Norms of Row and Column Vectors of a Matrix (wordspace)

Description

Efficiently compute the norms of all row or column vectors of a dense or sparse matrix.

Usage

rowNorms(M, method = "euclidean", p = 2)

colNorms(M, method = "euclidean", p = 2)

Value

A numeric vector containing one norm value for each row or column of M.

Arguments

M

a dense or sparse numeric matrix

method

norm to be computed (see “Norms” below for details)

p

exponent of the minkowski p-norm, a numeric value in the range \(1 \le p \le \infty\).

Values \(0 \le p < 1\) are also permitted as an extension but do not correspond to a proper mathematical norm (see details below).

Norms

Given a row or column vector \(x\), the following length measures can be computed:

euclidean

The Euclidean norm given by $$ \|x\|_2 = \sqrt{ \sum_i x_i^2 }$$

maximum

The maximum norm given by $$ \|x\|_{\infty} = \max_i |x_i| $$

manhattan

The Manhattan norm given by $$ \|x\|_1 = \sum_i |x_i| $$

minkowski

The Minkowski (or \(L_p\)) norm given by $$ \|x\|_p = \left( \sum_i |x_i|^p \right)^{1/p} $$ for \(p \ge 1\). The Euclidean (\(p = 2\)) and Manhattan (\(p = 1\)) norms are special cases, and the maximum norm corresponds to the limit for \(p \to \infty\).

As an extension, values in the range \(0 \le p < 1\) are also allowed and compute the length measure $$ \|x\|_p = \sum_i |x_i|^p $$ For \(0 < p < 1\) this formula defines a \(p\)-norm, which has the property \(\|r\cdot x\| = |r|^p \cdot \|x\|\) for any scalar factor \(r\) instead of being homogeneous. For \(p = 0\), it computes the Hamming length, i.e. the number of nonzero elements in the vector \(x\).

Author

Stephanie Evert (https://purl.org/stephanie.evert)

See Also

dist.matrix, normalize.rows

Examples

Run this code

rowNorms(DSM_TermContextMatrix, "manhattan")

# fast and memory-friendly nonzero counts with "Hamming length"
rowNorms(DSM_TermContextMatrix, "minkowski", p=0)
colNorms(DSM_TermContextMatrix, "minkowski", p=0)
sum(colNorms(DSM_TermContextMatrix, "minkowski", p=0)) # = nnzero(DSM_TermContextMatrix)

Run the code above in your browser using DataLab