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