isSymmetric
Test if an Object is Symmetric
Description
Tests if a matrix or other object is symmetric (or, for complex values, 
Hermitian).
Usage
isSymmetric(object, ...)
isSymmetric.matrix(object, tol = 100 * .Machine$double.eps, ...)
Arguments
  
| object | any object, but currently only matrices are supported. | 
  | ... | additional arguments passed to the generic method. | 
  | tol | tolerance used when comparing numeric values. | 
 
Details
isSymmetric is generic and has a method implemented for class 
matrix. It has no default method, so all other object types 
generate an error.
A matrix is considered symmetric if it is equal to its own transpose. A 
complex matrix is considered Herimitian if it is equal to its own 
conjugate transpose.
Note that the symmetry also applies to the dimnames.
Value
returns TRUE if object is a symmetric matrix. Otherwise, 
it returns FALSE.  
See Also
Examples
m <- diag(3)
m[1,3] <- 1e-20
isSymmetric(m) # TRUE
isSymmetric(m, tol=0) # FALSE
m <- matrix(0+0i, 3,3)
m[1,3] <- 1+2i
m[3,1] <- 1-2i
isSymmetric(m) # TRUE
x <- rbind(c(1,2,3), c(2,2,4), c(3,4,5))
isSymmetric(x) # TRUE
dimnames(x) <- list(c("r1", "r2", "r3"), c("c1", "c2", "c3"))
isSymmetric(x) # FALSE