Skip to content
Free planNo credit card requiredStart writing

article · ACM Transactions on Mathematical Software · 1998

Recipes for adjoint code construction

Ralf Giering, T. Kaminski

Cited by 853Open access

Abstract

Adjoint models are increasingly being developed for use in meteorology and oceanography. Typical applications are data assimilation, model tuning, sensitivity analysis, and determination of singular vectors. The adjoint model computes the gradient of a cost function with respect to control variables. Generation of adjoint code may be seen as the special case of differentiation of algorithms in reverse mode, where the dependent function is a scalar. The described method for adjoint code generation is based on a few basic principles, which permits the establishment of simple construction rules for adjoint statements and complete adjoint subprograms. These rules are presented and illustrated with some examples. Conflicts that occur due to loops and redefinition of variables are also discussed. Direct coding of the adjoint of a more sophisticated model is extremely time consuming and subject to errors. Hence, automatic generation of adjoint code represents a distinct advantage. An implementation of the method, described in this article, is the tangent linear and adjoint model compiler (TAMC).

Cite this paper

APA 7

Giering, R., & Kaminski, T. (1998). Recipes for adjoint code construction. ACM Transactions on Mathematical Software, 24(4), 437–474. https://doi.org/10.1145/293686.293695

MLA 9

Giering, Ralf, and T. Kaminski. “Recipes for adjoint code construction.” ACM Transactions on Mathematical Software, vol. 24, no. 4, 1998, pp. 437–74, https://doi.org/10.1145/293686.293695.

Chicago

Giering, Ralf, and T. Kaminski. 1998. “Recipes for adjoint code construction.” ACM Transactions on Mathematical Software 24 (4): 437–74. https://doi.org/10.1145/293686.293695.

Harvard

Giering, R. and Kaminski, T. (1998) ‘Recipes for adjoint code construction’, ACM Transactions on Mathematical Software, 24(4), pp. 437–474. Available at: https://doi.org/10.1145/293686.293695.

BibTeX
@article{giering1998recipes,
  title = {{Recipes for adjoint code construction}},
  author = {Giering, Ralf and Kaminski, T.},
  journal = {ACM Transactions on Mathematical Software},
  volume = {24},
  number = {4},
  pages = {437--474},
  year = {1998},
  doi = {10.1145/293686.293695}
}

Made from the index record. Check names, capitalisation and page numbers against the paper. Need another style? AI for Research has over 10,000.