|
CppAD: A C++ Algorithmic Differentiation Package
20130102
|
| void cppad_ipopt::vec_fun_pattern | ( | size_t | K, |
| const CppAD::vector< size_t > & | p, | ||
| const CppAD::vector< size_t > & | q, | ||
| const CppAD::vectorBool & | retape, | ||
| CppAD::vector< CppAD::ADFun< Ipopt::Number > > & | r_fun, | ||
| CppAD::vector< CppAD::vectorBool > & | pattern_jac_r, | ||
| CppAD::vector< CppAD::vectorBool > & | pattern_hes_r | ||
| ) |
Determine a sparsity patterns for each function in a vector of functions.
| K | is the number of functions that we are computing the sparsity pattern for. |
| p | is a vector with size K. For k = 0 , ... , K-1, p[k] is dimension of the range space for ; i.e., . |
| q | is a vector with size K. For k = 0 , ... , K-1, q[k] is dimension of the domain space for ; i.e., . |
| retape | is a vector with size K. For k = 0 , ... , K-1, if retape[k] is true, the function object r[k] is a valid representation for for all . Otherwise, the function object must be retaped for each value of . |
| r_fun | is the vector of AD function objects which has size size K. For k = 0 , ... , K-1, if retape[k] is true, r_fun[k] is not used. If retape[k] is false, r_fun[k] is not used. is a CppAD function object correspopnding to the function . The following non-constant member functions will be called: r_fun[k].ForSparseJac(q[k], pattern_domain) r_fun[k].RevSparseHes(p[k], pattern_range) const member functions r_fun[k].Range() and r_fun[k].Domain() may also be called. |
| pattern_jac_r | is a vector with size K. On input, For k = 0 , ... , K-1, pattern_jac_r[k] is a vector of length p[k] * q[k] and the value of its elements does not matter. On output it is a CppAD sparsity pattern for the Jacobian of . |
| pattern_hes_r | is a vector with size K. On input, For k = 0 , ... , K-1, pattern_hes_r[k] is a vector of length q[k] * q[k] and the value of its elements does not matter. On output it is a CppAD sparsity pattern for the Hessian of which is defined by
|
Definition at line 85 of file vec_fun_pattern.cpp.
Referenced by cppad_ipopt::cppad_ipopt_nlp::cppad_ipopt_nlp().