SuperLU Distributed 9.0.0
gpu3d
|
#include "superlu_zdefs.h"
Functions | |
int | zpivot_batch (superlu_dist_options_t *options, int batchCount, int m, int n, handle_t *SparseMatrix_handles, double **ReqPtr, double **CeqPtr, DiagScale_t *DiagScale, int **RpivPtr) |
Compute row pivotings for each matrix, for numerical stability. More... | |
Copyright (c) 2003, The Regents of the University of California, through Lawrence Berkeley National Laboratory (subject to receipt of any required approvals from U.S. Dept. of Energy)
All rights reserved.
The source code is distributed under BSD license, see the file License.txt at the top-level directory.
int zpivot_batch | ( | superlu_dist_options_t * | options, |
int | batchCount, | ||
int | m, | ||
int | n, | ||
handle_t * | SparseMatrix_handles, | ||
double ** | ReqPtr, | ||
double ** | CeqPtr, | ||
DiagScale_t * | DiagScale, | ||
int ** | RpivPtr | ||
) |
Compute row pivotings for each matrix, for numerical stability.
[in] | options | solver options |
[in] | batchCount | number of matrices in the batch |
[in] | m | row dimension of the matrices |
[in] | n | column dimension of the matrices |
[in,out] | SparseMatrix_handles | pointers to the matrices in the batch, each pointing to the actual stoage in CSC format On entry, the original matrices, may be overwritten by A1 <- diag(R)*A*diag(C) from dequil_batch() On exit, each matrix may be A2 <- Pr*A1 |
[in,out] | ReqPtr | pointers to row scaling vectors, maybe overwritten by scaling from MC64 |
[in,out] | CeqPtr | pointers to column scaling vectors, maybe overwritten by scaling from MC64 |
[in,out] | DiagScale | array indicating how each system is equilibrated: {ROW, COL, BOTH} |
[in,out] | RpivPtr | pointers to row permutation vectors for each matrix, each of size m On exit, each RpivPtr[] is applied to each matrix Return value: 0, success -1, invalid RowPerm option; an Identity perm_r[] is returned d, indicates that the d-th matrix is the first one in the batch encountering error |