SuperLU: SRC/scolumn_dfs.c File Reference

SuperLU 5.3.0

Macros | Functions
scolumn_dfs.c File Reference

Performs a symbolic factorization. More...

`#include "slu_sdefs.h"`
Include dependency graph for scolumn_dfs.c:

## Macros
#define | T2_SUPER
| What type of supernodes we want. More...

## Functions
int | scolumn_dfs (const int m, const int jcol, int *perm_r, int *nseg, int *lsub_col, int *segrep, int *repfnz, int *xprune, int *marker, int *parent, int *xplore, GlobalLU_t *Glu)

## 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 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.

## Macro Definition Documentation

## ◆ T2_SUPER

#define T2_SUPER

## Function Documentation

## ◆ scolumn_dfs()

int scolumn_dfs | ( | const int | m,
|  | const int | jcol,
|  | int * | perm_r,
|  | int * | nseg,
|  | int * | lsub_col,
|  | int * | segrep,
|  | int * | repfnz,
|  | int * | xprune,
|  | int * | marker,
|  | int * | parent,
|  | int * | xplore,
|  | GlobalLU_t * | Glu
| ) |  |

    Purpose
    =======
      SCOLUMN_DFS performs a symbolic factorization on column jcol, and
      decide the supernode boundary.

      This routine does not use numeric values, but only use the RHS
      row indices to start the dfs.

      A supernode representative is the last column of a supernode.
      The nonzeros in U[*,j] are segments that end at supernodal
      representatives. The routine returns a list of such supernodal
      representatives in topological order of the dfs that generates them.
      The location of the first nonzero in each such supernodal segment
      (supernodal entry location) is also returned.

    Local parameters
    ================
      nseg: no of segments in current U[*,j]
      jsuper: jsuper=EMPTY if column j does not belong to the same
         supernode as j-1. Otherwise, jsuper=nsuper.

      marker2: A-row --> A-row/col (0/1)
      repfnz: SuperA-col --> PA-row
      parent: SuperA-col --> SuperA-col
      xplore: SuperA-col --> index to L-structure

    Return value
    ============
        0  success;
      > 0  number of bytes allocated when run out of space.

Here is the call graph for this function: