# rankMatrix

0th

Percentile

##### Rank of a Matrix

Compute the rank of matrix, a well-defined functional in theory, somewhat ambigous in practice. We provide several methods, the default corresponding to Matlab's definition.

Keywords
algebra, array
##### Usage
rankMatrix(x, tol = NULL,
sval = svd(x, 0, 0)$d) ##### Arguments x numeric matrix, of dimension$n \times m$, say. tol nonnegative number specifying a tolerance for practically zero with specific meaning depending on method; by default, max(dim(x)) * .Machine$double.eps * abs(max(sval))
method
a character string specifying the computational method, can be abbreviated: [object Object],[object Object],[object Object],[object Object]
sval
numeric vector of non-increasing singular values of x; typically unspecified and computed from x.
##### Value

• positive integer in 1:min(dim(x)), with attributes detailing the method used.

qr, svd.

• rankMatrix
##### Examples
rankMatrix(cbind(1, 0, 1:3)) # 2

(meths <- eval(formals(rankMatrix)\$method))

## a "border" case:
H12 <- Hilbert(12)
rankMatrix(H12, tol = 1e-20) # 12;  but  11  with default method & tol.
sapply(meths, function(.m.) rankMatrix(H12, method = .m.))
#--> all 15, but 'useGrad' has 14.