Test if an object is a diagonal matrix (or not) (i.e. square matrix with zeros above and below the diagonal)

is_diagonal(x)

Arguments

x

an R object

Examples

m1 = diag(1:3, 3, 3)
m2 = matrix(1:9, 3, 3)

is_diagonal(m1) # TRUE
#> [1] TRUE
is_diagonal(m2) # FALSE
#> [1] FALSE
is_not_diagonal(m2) # TRUE
#> [1] TRUE