rowNorms: Compute Norms of Row and Column Vectors of a Matrix...

rowNormsR Documentation

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)

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 ≤ p ≤ ∞.

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

Value

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

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|_Inf = 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 = [ SUM(i) |x_i|^p ]^(1/p)

for p ≥ 1. The Euclidean (p = 2) and Manhattan (p = 1) norms are special cases, and the maximum norm corresponds to the limit for p -> Inf.

As an extension, values in the range 0 ≤ 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 * x| = |r|^p * |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(s)

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

See Also

dist.matrix, normalize.rows

Examples


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)

wordspace documentation built on Aug. 23, 2022, 1:06 a.m.