ilu_dpivotL.c File Reference

Performs numerical pivoting. More...

`#include <math.h>`
`#include <stdlib.h>`
`#include "slu_ddefs.h"`
Include dependency graph for ilu_dpivotL.c:

## Macros

#define | SGN(x) ((x)>=0?1:-1)

## Functions

int | ilu_dpivotL (const int jcol, const double u, int *usepr, int *perm_r, int diagind, int *swap, int *iswap, int *marker, int *pivrow, double fill_tol, milu_t milu, double drop_sum, GlobalLU_t *Glu, SuperLUStat_t *stat)

## Detailed Description

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.

    – SuperLU routine (version 4.0) –
    Lawrence Berkeley National Laboratory
    June 30, 2009

## Macro Definition Documentation

#define SGN | ( |  | x | ) | ((x)>=0?1:-1)

## Function Documentation

int ilu_dpivotL | ( | const int | jcol,
|  | const double | u,
|  | int * | usepr,
|  | int * | perm_r,
|  | int | diagind,
|  | int * | swap,
|  | int * | iswap,
|  | int * | marker,
|  | int * | pivrow,
|  | double | fill_tol,
|  | milu_t | milu,
|  | double | drop_sum,
|  | 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.