View source: R/make.symmetric.R

make.symmetric | R Documentation |

Matrix symmetry might depend on numerical precision issues. The older version of JAGS had a bug related to this issue for multivariate normal nodes. This simple function can fix the issue, but new JAGS versions do not require such intervention.

make.symmetric(x)

`x` |
A square matrix. |

The function takes the average as `(x[i, j] + x[j, i]) / 2`

for each off diagonal cells.

A symmetric square matrix.

The function works for any matrix, even for those not intended to be symmetric.

Peter Solymos, solymos@ualberta.ca

x <- as.matrix(as.dist(matrix(1:25, 5, 5))) diag(x) <- 100 x[lower.tri(x)] <- x[lower.tri(x)] - 0.1 x[upper.tri(x)] <- x[upper.tri(x)] + 0.1 x make.symmetric(x)

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.