![]() |
Prev | Next |
af.for_hes_sparsity(select_domain, select_range, pattern_out)
af.rev_hes_sparsity(select_domain, select_range, pattern_out)
af
.
Fix a diagonal matrix @(@
D \in \B{R}^{n \times n}
@)@, fix a vector
@(@
r \in \B{R}^m
@)@, and define
@[@
H(x) = D (r^\R{T} F)^{(2)} ( x ) D
@]@
Given a sparsity pattern for @(@
D
@)@ and @(@
r
@)@,
these routines compute a sparsity pattern for @(@
H(x)
@)@.
af
and does not depend on
the argument
x
.
af
has prototype
a_fun af
select_domain
has prototype
const vec_bool& select_domain
It has size
n
and is a sparsity pattern for the diagonal of
@(@
D
@)@; i.e.,
select_domain[j]
is true if and only if
@(@
D_{j,j}
@)@ is possibly non-zero.
select_range
has prototype
const vec_bool& select_range
It has size
m
and is a sparsity pattern for the vector
@(@
r
@)@; i.e.,
select_range[i]
is true if and only if
@(@
r_i
@)@ is possibly non-zero.
sparse_rc<SizeVector>& pattern_out
This input value of
pattern_out
does not matter.
Upon return
pattern_out
is a sparsity pattern for
@(@
J(x)
@)@.
i
-th component of
r
is possibly non-zero.
In this case,
pattern_out
is a sparsity pattern for
@(@
F_i^{(2)} ( x )
@)@.