ID EN
Miscellaneous

isSymmetric

R Base 3.6.2 🇮🇩 Bahasa Indonesia

Fungsi generik untuk menguji apakah objek simetris atau tidak. Saat ini hanya metode matriks yang diterapkan, di mana matriks kompleks Z harus “Hermitian” agar isSymmetric(Z) benar.

Syntax

R
isSymmetric(object, …)
# S3 method for matrix
isSymmetric(object, tol = 100 * .Machine$double.eps,
            tol1 = 8 * tol, …)

Arguments

Parameter Deskripsi
object any R object; a matrix for the matrix method.
tol numeric scalar >= 0. Smaller differences are not considered, see all.equal.numeric.
tol1 numeric scalar >= 0. isSymmetric.matrix() ‘pre-tests’ the first and last few rows for fast detection of ‘obviously’ asymmetric cases with this tolerance. Setting it to length zero will skip the pre-tests.
… further arguments passed to methods; the matrix method passes these to all.equal. If the row and column names of object are allowed to differ for the symmetry check do use check.attributes = FALSE!

Return Value

logis menunjukkan apakah objek simetris atau tidak.

Details

Metode matriks digunakan di dalam eigen secara default untuk menguji simetri matriks hingga kesalahan pembulatan, menggunakan all.equal. Ini mungkin tidak cocok untuk semua situasi. Perhatikan bahwa matriks m hanya simetris jika nama baris dan nama kolomnya identik. Pertimbangkan untuk menggunakan unname(m).

Contoh

Example
R
# NOT RUN {
isSymmetric(D3 <- diag(3)) # -> TRUE

D3[2, 1] <- 1e-100
D3
isSymmetric(D3) # TRUE
isSymmetric(D3, tol = 0) # FALSE for zero-tolerance

## Complex Matrices - Hermitian or not
Z <- sqrt(matrix(-1:2 + 0i, 2)); Z <- t(Conj(Z)) %*% Z
Z
isSymmetric(Z)      # TRUE
isSymmetric(Z + 1)  # TRUE
isSymmetric(Z + 1i) # FALSE -- a Hermitian matrix has a *real* diagonal

colnames(D3) <- c("X", "Y", "Z")
isSymmetric(D3)                         # FALSE (as row and column names differ)
isSymmetric(D3, check.attributes=FALSE) # TRUE  (as names are not checked)
# }

See Also

eigen which calls isSymmetric when its symmetric argument is missing.