37 Int *Cparent, *Cstart, *Cn, *Cmember, *Pmember, *
P, *Q, *Cnz, *Ap, *Ai ;
38 Int i, j, k, c,
n, ncomponents, jold, iold, parent, nparent, ci, cj, p ;
56 for (c = 0 ; c < ncomponents ; c++)
58 LUsymbolic_new->
Child [c] = LUsymbolic->
Child [c] ;
61 for (c = 0 ; c <= ncomponents ; c++)
66 for (c = 0 ; c < ncomponents ; c++)
68 LUsymbolic_new->
Sched [c] = LUsymbolic->
Sched [c] ;
71 Cparent = LUsymbolic_new->
Cparent ;
72 for (c = 0 ; c < ncomponents ; c++)
74 Cparent [c] = LUsymbolic->
Cparent [c] ;
81 for (c = 0 ; c < ncomponents ; c++)
90 Cstart = LUsymbolic_new->
Cstart ;
92 for (c = 0 ; c < ncomponents ; c++)
107 Cn = LUsymbolic_new->
Cn ;
108 for (c = ncomponents - 1 ; c >= 0 ; c--)
110 parent = Cparent [c] ;
111 nparent = (parent ==
EMPTY) ? 0 : Cn [parent] ;
112 Cn [c] = (Cstart [c+1] - Cstart [c]) + nparent ;
113 PR1 ((Common->
file,
"node "ID" new Cn: "ID"\n", c, Cn [c])) ;
120 Cmember = LUsymbolic_new->
Cperm ;
121 Pmember = LUsymbolic_new->
Rperm ;
123 Cnz = LUsymbolic_new->
Cnz ;
127 if (Common->
myid == 0)
129 for (c = 0 ; c < ncomponents ; c++)
135 for (c = 0 ; c < ncomponents ; c++)
137 for (k = Cstart [c] ; k < Cstart [c+1] ; k++)
155 for (k = 0 ; k < n ; k++)
172 for (j = 0 ; j < n ; j++)
176 for (p = Ap [jold] ; p < Ap [jold+1] ; p++)
179 ci = Pmember [iold] ;
204 MPI (MPI_Bcast (Cnz, ncomponents,
MPI_Int,
TAG0, MPI_COMM_WORLD)) ;
211 for (k = 0 ; k < n ; k++)
213 LUsymbolic_new->
Cperm [k] = Q [k] ;
217 for (k = 0 ; k < n ; k++)
221 LUsymbolic_new->
Rperm [k] = i ;
224 return (LUsymbolic_new) ;
paraklete_symbolic * amesos_paraklete_reanalyze(cholmod_sparse *A, paraklete_numeric *LU, paraklete_symbolic *LUsymbolic, paraklete_common *Common)
paraklete_symbolic * amesos_paraklete_alloc_symbolic(Int n, Int ncomponents, Int do_Rperm, paraklete_common *Common)