ilu_cpivotL.c File Reference

Performs numerical pivoting. More...

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

## Macros

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

## Functions

int | ilu_cpivotL (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, singlecomplex 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
    August 2024

## Macro Definition Documentation

## SGN

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

## Function Documentation

## ilu_cpivotL()

int ilu_cpivotL | ( | 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,
|  | singlecomplex | 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.

Here is the call graph for this function: