pbdDEMO (version 0.3-1)

verify: Distributed Linear Algebra Verification

Description

At-scale verification routines for distributed linear algebra.

Usage

verify.svd(nrows = 1000, ncols = 1000, mean = 0, sd = 1, bldim = 8, tol = 1e-07, ICTXT = .pbd_env$ictxt)
verify.chol(nrows = 1000, mean = 0, sd = 1, bldim = 8, tol = 1e-07, ICTXT = .pbd_env$ictxt)
verify.inverse(nrows = 1000, mean = 0, sd = 1, bldim = 8, tol = 1e-07, ICTXT = .pbd_env$ictxt)
verify.solve(nrows = 1000, mean = 0, sd = 1, const = 1, bldim = 8, tol = 1e-07, ICTXT = .pbd_env$ictxt)

Arguments

nrows, ncols
global dimension.
mean, sd
mean and standard deviation when sampling from a normal distribution.
bldim
blocking dimension.
tol
numeric tolerance for testing equality. Differences smaller than tol are considered equal.
ICTXT
BLACS context
const
numerical value for generating a constant ddmatrix.

Details

These routines numerically verify the accuracy of the given operation. Each operation generates only the local data that is needed, and one never needs to store the global problem on any one rank (unless bldim is set inappropriately).

For example, verify.solve() will generate the A matrix and "true solution" x to the problem Ax=b, each as distributed objects. Next, the "right hand side" b is generated by multiplying A and x together. Finally, the numericaly solution x is computed and compared against the known true value at the specified numerical tolerance.