pbdDMAT (version 0.5-0)

diag-constructors: Distributed Matrix Diagonals

Description

Get the diagonal of a distributed matrix, or construct a distributed matrix which is diagonal.

Usage

# S4 method for vector
diag(x, nrow, ncol, type = "matrix", ...,
  bldim = .pbd_env$BLDIM, ICTXT = .pbd_env$ICTXT)

# S4 method for character diag(x, nrow, ncol, type = "matrix", ..., min = 0, max = 1, mean = 0, sd = 1, rate = 1, shape, scale = 1, bldim = .pbd_env$BLDIM, ICTXT = .pbd_env$ICTXT)

# S4 method for ddmatrix diag(x)

# S4 method for matrix diag(x, nrow, ncol)

Arguments

x

distributed matrix or a vector.

nrow, ncol

in the case that x is a vector, these specify the global dimension of the diagonal distributed matrix to be created.

type

character. Options are 'matrix' or 'ddmatrix', with partial matching. This specifies the return type.

...

Extra arguments

bldim

blocking dimension.

ICTXT

BLACS context number.

min, max

Min and max values for random uniform generation.

mean, sd

Mean and standard deviation for random normal generation.

rate

Rate for random exponential generation.

shape, scale

Shape and scale parameters for random weibull generation.

Value

If a distributed matrix is passed to diag() then it returns a global R vector.

If a vector (numeric or character) is passed to diag() and type='ddmatrix', then the return is a diagonal distributed matrix.

Details

Gets the diagonal of a distributed matrix and stores it as a global R vector owned by all processes.