Prev | Next | ForJacSweep |
void ForJacSweep(
size_t
npv,
size_t
numvar,
const TapeRec<
Base> *
Rec,
size_t
TaylorColDim,
const
Base *
Taylor,
Pack *
ForJac
)
\[
F : B^n \rightarrow B^m
\]
ForJacSweep
computes the sparsity pattern
for all the other variables.
Rec->TotNumVar()
.
i = 1 , \ldots , numvar
,
Taylor[
i *
TaylorColDim]
is the value of the variable with index i.
i = 1, \ldots , n
and
j = 0 , \ldots , npv
,
field | Value |
ForJac[ 0 * npv + j] | the variable with index zero is not used |
Rec->GetOp(0) |
the operator with index zero must be a NonOp
|
ForJac[ i * npv + j] | j-th subset of sparsity pattern for variable with index i |
Rec->GetOp( i) |
the operator with index i must be a InvOp
|
i = n+1, \ldots , numvar-1
,
j = 0 , \ldots , npv-1
,
and
k = n+1, \ldots ,
Rec->NumOp() - 1
,
field | Value |
ForJac[ i * npv + j] | j-th set of sparsity pattern for variable with index i |
Rec->GetOp( i) |
any operator except for InvOp
|
i = 1, \ldots , n
and
j = 0 , \ldots , npv-1
,
Taylor[
i *
npv +
j]
is not modified.
i = m+1, \ldots , numvar-1
and
j = 0 , \ldots , npv-1
,
ForJac[
i *
npv +
j]
is set equal to the
j-th set of sparsity pattern for the variable with index i.