\name{Rank}
\alias{Rank}
\title{
Matrix Rank
}
\description{
Provides an estimate of the rank of a matrix \code{M}.
}
\usage{
Rank(M)
}
\arguments{
\item{M}{Numeric matrix; vectors will be considered as column vectors.}
}
\details{
Provides an estimate of the number of linearly independent rows or columns
of a matrix \code{M}. Compares an approach using QR-decomposition with one
counting singular values larger than a certain tolerance (Matlab).
}
\value{
Matrix rank as integer between \code{0} and \code{min(ncol(M), nrow(M))}.
}
\references{
Trefethen, L. N., and D. Bau III. (1997). Numerical Linear Algebra. SIAM,
Philadelphia.
}
\note{
The corresponding function in Matlab is called \code{rank}, but that term
has a different meaning in R.
}
\seealso{
\code{\link{nullspace}}
}
\examples{
Rank(magic(10)) #=> 7
Rank(magic(100)) #=> 3 (!)
Rank(hilb(8)) #=> 8 , but qr(hilb(8))$rank says, rank is 7.
# Warning message:
# In Rank(hilb(8)) : Rank calculation may be problematic.
}
\keyword{ array }