Prev Next link_det_lu

@(@\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}} }@)@
Speed Testing Gradient of Determinant Using Lu Factorization

Prototype
extern bool link_det_lu(
     size_t                 
size      ,
     size_t                 
repeat    ,
     CppAD::vector<double> &
matrix    ,
     CppAD::vector<double> &
gradient
);

Purpose
Each package must define a version of this routine as specified below. This is used by the speed_main program to run the corresponding speed and correctness tests.

Method
The same template routine det_by_lu is used by the different AD packages.

Return Value
If this speed test is not yet supported by a particular package , the corresponding return value for link_det_lu should be false.

size
The argument size is the number of rows and columns in the matrix.

repeat
The argument repeat is the number of different matrices that the gradient (or determinant) is computed for.

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).
Input File: speed/src/link_det_lu.cpp