A <- matrix(c(3,2,1, 0,1,1, 1,2,0), 3, byrow=T)
A
##      [,1] [,2] [,3]
## [1,]    3    2    1
## [2,]    0    1    1
## [3,]    1    2    0
library(pracma)
## Warning: package 'pracma' was built under R version 3.4.4
rref(A)
##      [,1] [,2] [,3]
## [1,]    1    0    0
## [2,]    0    1    0
## [3,]    0    0    1
rankA<-qr(A)
rankA$rank
## [1] 3
charpoly(A)
## [1]  1 -4  0  5