|
ADOL-C: Automatic Differentiation in C/C++ 2.7.3
|
Dense abs-normal form container backed by contiguous storage. More...
#include <absnormalform.h>

Public Types | |
| using | Shape = DenseShape |
Public Member Functions | |
| ~AbsNormalForm ()=default | |
| AbsNormalForm ()=default | |
| AbsNormalForm (Shape dims) | |
| Construct a dense abs-normal form with the requested principal dimensions. | |
| AbsNormalForm (AbsNormalForm &&)=default | |
| AbsNormalForm & | operator= (AbsNormalForm &&)=default |
| AbsNormalForm (const AbsNormalForm &)=delete | |
| AbsNormalForm & | operator= (const AbsNormalForm &)=delete |
| bool | empty () const |
| Report whether all principal dimensions are zero. | |
| void | clear () |
Clear all stored data and reset the principal dimensions to {0, 0, 0}. | |
| Shape | dims () const |
| Return the principal abs-normal form dimensions. | |
| void | updateCy () |
Compute cy = y - J|z| from the current data. | |
| void | updateCz () |
Compute cz = z - L|z| from the current data. | |
| void | resize (Shape dims) |
| Resize the abs-normal form to the given principal dimensions. | |
Static Public Member Functions | |
| static AbsNormalForm | fromTape (short tapeId) |
| Allocate an abs-normal form using the dimensions of a recorded tape. | |
Public Attributes | |
| Shape | shape {} |
| Principal dimensions of the represented abs-normal form. | |
| std::vector< double * > | Y |
Row-pointer view of the m x n block Y. | |
| std::vector< double * > | J |
Row-pointer view of the m x s block J. | |
| std::vector< double * > | Z |
Row-pointer view of the s x n block Z. | |
| std::vector< double * > | L |
Row-pointer view of the s x s block L. | |
| std::vector< double > | Y_storage |
Owning contiguous storage for Y. | |
| std::vector< double > | J_storage |
Owning contiguous storage for J. | |
| std::vector< double > | Z_storage |
Owning contiguous storage for Z. | |
| std::vector< double > | L_storage |
Owning contiguous storage for L. | |
| std::vector< double > | cz |
| Constant term of the switching equations. | |
| std::vector< double > | cy |
| Constant term of the dependent equations. | |
| std::vector< double > | y |
| Dependent values at the evaluation point. | |
| std::vector< double > | z |
| Switching-variable values at the evaluation point. | |
Dense abs-normal form container backed by contiguous storage.
The flat *_storage vectors own the matrix entries, while Y, J, Z, and L provide row-pointer views compatible with the existing driver interfaces.
|
default |
|
default |
|
inlineexplicit |
Construct a dense abs-normal form with the requested principal dimensions.
Storage is allocated immediately using the same semantics as resize().
|
default |
|
delete |
| void ADOLC::AbsNormalForm::clear | ( | ) |
Clear all stored data and reset the principal dimensions to {0, 0, 0}.
All owning buffers and row-pointer views become empty.
|
inline |
Return the principal abs-normal form dimensions.
|
inline |
Report whether all principal dimensions are zero.
|
inlinestatic |
Allocate an abs-normal form using the dimensions of a recorded tape.
| tapeId | Tape identifier whose dependent, independent, and switching counts determine the returned principal dimensions. |
|
default |
|
delete |
| void ADOLC::AbsNormalForm::resize | ( | Shape | dims | ) |
Resize the abs-normal form to the given principal dimensions.
All owning buffers are resized with vector semantics, and the row-pointer views are rebuilt to point into the resized contiguous storage.
|
inline |
Compute cy = y - J|z| from the current data.
|
inline |
Compute cz = z - L|z| from the current data.
| std::vector<double> ADOLC::AbsNormalForm::cy |
Constant term of the dependent equations.
| std::vector<double> ADOLC::AbsNormalForm::cz |
Constant term of the switching equations.
| std::vector<double *> ADOLC::AbsNormalForm::J |
Row-pointer view of the m x s block J.
| std::vector<double> ADOLC::AbsNormalForm::J_storage |
Owning contiguous storage for J.
| std::vector<double *> ADOLC::AbsNormalForm::L |
Row-pointer view of the s x s block L.
| std::vector<double> ADOLC::AbsNormalForm::L_storage |
Owning contiguous storage for L.
| Shape ADOLC::AbsNormalForm::shape {} |
Principal dimensions of the represented abs-normal form.
| std::vector<double *> ADOLC::AbsNormalForm::Y |
Row-pointer view of the m x n block Y.
| std::vector<double> ADOLC::AbsNormalForm::y |
Dependent values at the evaluation point.
| std::vector<double> ADOLC::AbsNormalForm::Y_storage |
Owning contiguous storage for Y.
| std::vector<double *> ADOLC::AbsNormalForm::Z |
Row-pointer view of the s x n block Z.
| std::vector<double> ADOLC::AbsNormalForm::z |
Switching-variable values at the evaluation point.
| std::vector<double> ADOLC::AbsNormalForm::Z_storage |
Owning contiguous storage for Z.