SuperLU
5.2.0
|
Performs a symbolic factorization. More...
#include "slu_sdefs.h"
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) |
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.
#define T2_SUPER |
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.