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