SuperLU: SRC/ilu_spivotL.c File Reference

SuperLU 7.0.0

Macros | Functions
ilu_spivotL.c File Reference

Performs numerical pivoting. More...

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

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

## Functions
int | ilu_spivotL (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, float 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 7.0.0) --
    Lawrence Berkeley National Laboratory
    June 30, 2009

## Macro Definition Documentation

## ◆ SGN

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

## Function Documentation

## ◆ ilu_spivotL()

int ilu_spivotL | ( | 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,
|  | float | 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.