forceSymmetric-methods | R Documentation |

Force a square matrix `x`

to a `symmetricMatrix`

,
**without** a symmetry check as it would be applied for ```
as(x,
"symmetricMatrix")
```

.

```
forceSymmetric(x, uplo)
```

`x` |
any square matrix (of numbers), either “"traditional"”
( |

`uplo` |
optional string, |

a square matrix inheriting from class
`symmetricMatrix`

.

`symmpart`

for the symmetric part of a matrix, or
the coercions `as(x, <symmetricMatrix class>)`

.

```
## Hilbert matrix
i <- 1:6
h6 <- 1/outer(i - 1L, i, "+")
sd <- sqrt(diag(h6))
hh <- t(h6/sd)/sd # theoretically symmetric
isSymmetric(hh, tol=0) # FALSE; hence
try( as(hh, "symmetricMatrix") ) # fails, but this works fine:
H6 <- forceSymmetric(hh)
## result can be pretty surprising:
(M <- Matrix(1:36, 6))
forceSymmetric(M) # symmetric, hence very different in lower triangle
(tm <- tril(M))
forceSymmetric(tm)
```

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.