SRC/spivotL.c File Reference

Performs numerical pivoting. More...

#include <math.h>
#include <stdlib.h>
#include "slu_sdefs.h"

Functions

int spivotL (const int jcol, const double u, int *usepr, int *perm_r, int *iperm_r, int *iperm_c, int *pivrow, GlobalLU_t *Glu, SuperLUStat_t *stat)


Detailed Description

 -- SuperLU routine (version 3.0) --
 Univ. of California Berkeley, Xerox Palo Alto Research Center,
 and Lawrence Berkeley National Lab.
 October 15, 2003

 Copyright (c) 1994 by Xerox Corporation.  All rights reserved.

 THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY
 EXPRESSED OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.

 Permission is hereby granted to use or copy this program for any
 purpose, provided the above notices are retained on all copies.
 Permission to modify the code and to distribute modified code is
 granted, provided the above notices are retained, and a notice that
 the code was modified is included with the above copyright notice.
 

Function Documentation

int spivotL ( const int  jcol,
const double  u,
int *  usepr,
int *  perm_r,
int *  iperm_r,
int *  iperm_c,
int *  pivrow,
GlobalLU_t Glu,
SuperLUStat_t stat 
)

 Purpose
 =======
   Performs the numerical pivoting on the current column of L,
   and the CDIV operation.

   Pivot policy:
   (1) Compute thresh = u * max_(i>=j) abs(A_ij);
   (2) IF user specifies pivot row k and abs(A_kj) >= thresh THEN
           pivot row = k;
       ELSE IF abs(A_jj) >= thresh THEN
           pivot row = j;
       ELSE
           pivot row = m;

   Note: If you absolutely want to use a given pivot order, then set u=0.0.

   Return value: 0      success;
                 i > 0  U(i,i) is exactly zero.
 


Generated on Mon Nov 22 10:23:48 2010 for SuperLU by  doxygen 1.5.5