I'm having some problems computing a matrix being symmetric on both diagonals. Does anyone know a way to get from this matrix M <- matrix(c(1,0,0,0,2,7,0,0,3,4,0,0,6,0,0,0), ncol=4) to this one M_final <- matrix(c(1,2,3,6,2,7,4,3,3,4,7,2,6,3,2,1) , ncol=4) thanks -- View this message in context: http://r.789695.n4.nabble.com/symmetric-matrix-on-both-diagonals-tp4573418p4573418.html Sent from the R help mailing list archive at Nabble.com.
On Fri, Apr 20, 2012 at 03:03:40AM -0700, juliane0212 wrote:> > I'm having some problems computing a matrix being symmetric on both > diagonals. > > Does anyone know a way to get from this matrix > > > M <- matrix(c(1,0,0,0,2,7,0,0,3,4,0,0,6,0,0,0), ncol=4) > > to this one > > M_final <- matrix(c(1,2,3,6,2,7,4,3,3,4,7,2,6,3,2,1), ncol=4)Hi. Try the following. M[row(M) > col(M)] <- t(M)[row(M) > col(M)] n <- nrow(M) M[row(M) + col(M) > n + 1] <- M[n:1, n:1][row(M) + col(M) > n + 1] all(M == M_final) [1] TRUE Hope this helps. Petr Savicky.
That is exactly what I was looking for. Thank you -- View this message in context: http://r.789695.n4.nabble.com/symmetric-matrix-on-both-diagonals-tp4573418p4573594.html Sent from the R help mailing list archive at Nabble.com.