34 cerr <<
" Incompatible array bounds in "
35 "dvar_vector operator*(const dvar_matrix& m, const dvar_vector& x)\n";
43 for (
int i = imin; i <= imax; ++i)
50 for (
int j = jmin; j <= jmax; ++j)
53 sum += pmi->
x * px->
x;
102 double* pdftmp = dftmp.
get_v() + imax;
103 for (
int i = imax; i >= imin; --i)
106 double dfsum = *pdftmp;
107 double* px = x.
get_v() + jmax;
108 double* pdfx = dfx.get_v() + jmax;
109 double* pdfmi = dfm(i).get_v() + jmax;
110 double* pmi = m(i).get_v() + jmax;
111 for (
int j = jmax; j >= jmin; --j)
114 *pdfmi += dfsum * *px;
115 *pdfx += dfsum * *pmi;
126 dfx.save_dvector_derivatives(x_pos);
148 cerr <<
" Incompatible array bounds in "
149 "dvar_vector operator*(const dvar_matrix& m, const dvar_vector& x)\n";
159 for (
int i = imin; i <= imax; ++i)
163 double* pmij = pmi->
get_v() + jmin;
164 for (
int j = jmin; j <= jmax; ++j)
167 sum += *pmij * pxj->
x;
218 double* pdftmpi = dftmp.
get_v() + imax;
219 for (
int i = imax; i >= imin; --i)
222 double dfsum = *pdftmpi;
223 double* pmij = pmi->
get_v() + jmax;
224 double* pdfxj = dfx.
get_v() + jmax;
225 for (
int j = jmax; j >= jmin; --j)
228 *pdfxj += dfsum * *pmij;
Description not yet available.
dvar_vector & elem(int i)
Vector of double precision numbers.
int indexmin() const
Get minimum valid index.
void save_dmatrix_position(const dmatrix &m)
void cmdv_prod(void)
Description not yet available.
double sum(const d3_array &darray)
Author: David Fournier Copyright (c) 2008-2012 Regents of the University of California.
void save_dvector_derivatives(const dvar_vector_position &pos) const
Puts the derivative values in a dvector into a dvar_vector's guts.
Description not yet available.
dmatrix_position restore_dmatrix_position()
void save_dmatrix_value(const dmatrix &m)
Null class to allow specialized function overloads.
void verify_identifier_string(const char *)
Verifies gradient stack string.
dmatrix restore_dmatrix_value(const dmatrix_position &mpos)
dmatrix operator*(const d3_array &t, const dvector &v)
Description not yet available.
Holds the data for the prevariable class.
void set_gradient_stack(void(*func)(void), double *dep_addr, double *ind_addr1=NULL, double mult1=0, double *ind_addr2=NULL, double mult2=0)
Description not yet available.
dmatrix restore_dvar_matrix_value(const dvar_matrix_position &mpos)
void save_dvar_vector_value(const dvar_vector &v)
dvar_vector_position restore_dvar_vector_position()
void RETURN_ARRAYS_INCREMENT()
int indexmax() const
Get maximum valid index.
Author: David Fournier Copyright (c) 2008-2012 Regents of the University of California.
void save_dmatrix_derivatives(const dvar_matrix_position &pos) const
Description not yet available.
static _THREAD gradient_structure * _instance
Description not yet available.
void initialize(void)
Initialze all elements of dvector to zero.
int save_identifier_string(const char *)
Writes a gradient stack verification string.
dvector restore_dvar_vector_value(const dvar_vector_position &tmp)
Restores the size, address, and value information for a dvar_vector.
void save_dvar_vector_position(const dvar_vector &v)
dvar_matrix_position restore_dvar_matrix_position()
static _THREAD DF_FILE * fp
void save_dvar_matrix_position(const dvar_matrix &m)
Class definition of matrix with derivitive information .
Stores the adjoint gradient data that will be processed by gradcalc.
dvector restore_dvar_vector_derivatives(const dvar_vector_position &tmp)
Description not yet available.
void save_dvar_matrix_value(const dvar_matrix &m)
void RETURN_ARRAYS_DECREMENT()
static _THREAD grad_stack * GRAD_STACK1
class for things related to the gradient structures, including dimension of arrays, size of buffers, etc.
void initialize(void)
Author: David Fournier Copyright (c) 2008-2012 Regents of the University of California.
double x
< value of the variable
void dmdv_prod(void)
Description not yet available.
Description not yet available.