Description Usage Arguments Details Value Examples
Grab diagonal or create distributed diagonal matrix.
1 2 3 | base.ddiagtk(x, descx, proc.dest = "all")
base.ddiagmk(diag, descx)
|
x |
Matrix. |
descx |
ScaLAPACK descriptor array. |
proc.dest |
Who owns the result. |
diag |
Diagonal. |
For advanced users only. See pbdDMAT for high-level functions.
diagonal elements of matrix or a diagonal matrix
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | spmd.code <- "
suppressMessages(library(pbdMPI))
suppressMessages(library(pbdBASE))
init.grid()
### Set data matrix and desc.
x <- matrix(as.double(1:25), nrow = 5, ncol = 5)
dim <- dim(x)
bldim <- c(3L, 3L)
ldim <- base.numroc(dim = dim, bldim = bldim)
descx <- base.descinit(dim = dim, bldim = bldim, ldim = ldim)
### Get diagonal
diag.x <- base.ddiagtk(x, descx)
comm.print(diag.x)
finalize()
"
pbdMPI::execmpi(spmd.code = spmd.code, nranks = 2L)
spmd.code <- "
suppressMessages(library(pbdMPI))
suppressMessages(library(pbdBASE))
init.grid()
### Set data matrix and desc.
x <- matrix(as.double(1:25), nrow = 5, ncol = 5)
dim <- dim(x)
bldim <- c(3L, 3L)
ldim <- base.numroc(dim = dim, bldim = bldim)
descx <- base.descinit(dim = dim, bldim = bldim, ldim = ldim)
### Set diagonal
diag.x <- base.ddiagtk(x, descx)
new.x <- base.ddiagmk(diag.x, descx)
comm.print(new.x, all.rank = TRUE)
finalize()
"
pbdMPI::execmpi(spmd.code = spmd.code, nranks = 2L)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.