GMatReorderForNonzeroDiagonalConstrained
Changes matrix ordering to remove zeros from diagonal. This may help in the LU factorization to prevent a zero pivot.
Synopsis
#include "gvec.h"
int GMatReorderForNonzeroDiagonalConstrained(GMat mat, double atol, IS rowIS, IS colIS)
Input Parameters
mat -The grid matrix to reorder
atol -The smallest acceptable pivot
rowIS -The row permutation, usually obtained from GMatOrderConstrained().
colIS -The column permutation
Notes
This is not intended as a replacement for pivoting for matrices that
have ``bad'' structure. It is only a stop-gap measure. Should be called
after a call to MatGetReordering(), this routine changes the column
ordering defined in cis.
Options Database Keys: (When using SLES)
-gmat_order_nonzero_diagonal -
Algorithm:
Column pivoting is used. Choice of column is made by looking at the
non-zero elements in the row. This algorithm is simple and fast but
does NOT guarantee that a non-singular or well conditioned
principle submatrix will be produced.
Level:developer
Location:src/gvec/interface/gmat.c
Index of all GVec routines
Table of Contents for all manual pages
Index of all manual pages