next | previous | forward | backward | up | top | index | toc | Macaulay2 website
NumericalLinearAlgebra :: numericalRank

numericalRank -- numerical rank of a matrix

Synopsis

Description

numericalRank finds an approximate rank of the matrix M.

isFullNumericalRank = M is _not_ rank-deficient.

Let \sigma_1,...,\sigma_n be the singular values of M.

If Threshold is >1, then to establish numerical rank we look for the first large gap between two consecutive singular values. The gap between \sigma_i and \sigma_{i+1} is large if \sigma_i/\sigma_{i+1} > Threshold.

If Threshold is <=1, then the rank equals the number of singular values larger then Threshold.

i1 : options numericalRank

o1 = OptionTable{Threshold => .0001}

o1 : OptionTable
i2 : numericalRank matrix {{2,1},{0,0.001}}

o2 = 2
i3 : numericalRank matrix {{2,1},{0,0.0001}}

o3 = 1

Caveat

We assume \sigma_0=1 above.

See also

Ways to use numericalRank :

For the programmer

The object numericalRank is a method function with options.