– 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.
int ccolumn_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
CCOLUMN_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.