\(\newcommand{\W}[1]{ \; #1 \; }\) \(\newcommand{\R}[1]{ {\rm #1} }\) \(\newcommand{\B}[1]{ {\bf #1} }\) \(\newcommand{\D}[2]{ \frac{\partial #1}{\partial #2} }\) \(\newcommand{\DD}[3]{ \frac{\partial^2 #1}{\partial #2 \partial #3} }\) \(\newcommand{\Dpow}[2]{ \frac{\partial^{#1}}{\partial {#2}^{#1}} }\) \(\newcommand{\dpow}[2]{ \frac{ {\rm d}^{#1}}{{\rm d}\, {#2}^{#1}} }\)
link_det_minor¶
View page sourceSpeed Testing Gradient of Determinant by Minor Expansion¶
Prototype¶
extern bool link_det_minor(
const std::string& job ,
size_t size ,
size_t repeat ,
CppAD::vector<double>& matrix ,
CppAD::vector<double>& gradient
);
Method¶
The same template class det_by_minor is used by the different AD packages.
job¶
See the standard link specifications for job .
size¶
See the standard link specifications for size In addition, size is the number of rows and columns in matrix .
repeat¶
See the standard link specifications for repeat .
matrix¶
The argument matrix is a vector with size * size elements. The input value of its elements does not matter. The output value of its elements is the last matrix that the gradient (or determinant) is computed for.
gradient¶
The argument gradient is a vector with size * size elements. The input value of its elements does not matter. The output value of its elements is the gradient of the determinant of matrix with respect to its elements.
double¶
In the case where package is double
,
only the first element of gradient is used and it is actually
the determinant value (the gradient value is not computed).