Source: adept-math
Section: math
Maintainer: Debian Math Team <team+math@tracker.debian.org>
Uploaders: Pierre Gruet <pgt@debian.org>
Build-Depends: debhelper-compat (= 13),
               gfortran,
               libblas-dev,
               liblapack-dev,
               libgsl-dev <!nocheck>
Standards-Version: 4.7.4
Vcs-Browser: https://salsa.debian.org/math-team/adept-math
Vcs-Git: https://salsa.debian.org/math-team/adept-math.git
Homepage: https://www.met.reading.ac.uk/clouds/adept/

Package: libadept0
Architecture: any
Section: libs
Depends: ${shlibs:Depends},
         ${misc:Depends}
Description: combined automatic differentiation and array library (shared library)
 Adept enables C++ algorithms to be automatically differentiated. For each
 mathematical statement involving scalars or arrays of a special "active" type,
 Adept stores the corresponding differential statement symbolically on a stack.
 The stack may then be used to perform the following computations:
  - Full Jacobian matrix. Given the non-linear function y=f(x) coded in C or
  C++, Adept will compute the matrix H, where the element at row i and column
  j of H is the partial derivative of y_i with respect to x_j. This matrix
  will be computed much more rapidly and accurately than if you simply
  recompute the function multiple times perturbing each element of x one by
  one. The Jacobian matrix is used in the Gauss-Newton and Levenberg-Marquardt
  minimization algorithms;
  - Reverse-mode differentiation. This is a key component in optimization
  problems where a non-linear function needs to be minimized but the state
  vector x is too large for it to make sense to compute the full Jacobian
  matrix. Atmospheric data assimilation is the canonical example in
  Meteorology. Given a non-linear function y=f(x) and a vector of adjoints,
  Adept will compute the vector of adjoints, without computing the full
  Jacobian matrix H. The adjoint may then be used in a quasi-Newton
  minimization scheme.
  - Forward-mode differentiation. Given the non-linear function y=f(x) and a
  vector of perturbations, Adept will compute the corresponding vector arising
  from a linearization of the function f. Formally, the perturbed output is
  given by the matrix-vector product, but it is computed here without computing
  the full Jacobian matrix H. Note that Adept is optimized for the reverse
  case, so might not be as fast (and will certainly not be as economical in
  memory) in the forward mode as libraries written especially for that purpose.
 .
 This package contains the shared libraries.

Package: libadept-dev
Architecture: any
Section: libdevel
Depends: libadept0 (= ${binary:Version}),
         ${shlibs:Depends},
         ${misc:Depends}
Description: combined automatic differentiation and array library (development files)
 Adept enables C++ algorithms to be automatically differentiated. For each
 mathematical statement involving scalars or arrays of a special "active" type,
 Adept stores the corresponding differential statement symbolically on a stack.
 The stack may then be used to perform the following computations:
  - Full Jacobian matrix. Given the non-linear function y=f(x) coded in C or
  C++, Adept will compute the matrix H, where the element at row i and column
  j of H is the partial derivative of y_i with respect to x_j. This matrix
  will be computed much more rapidly and accurately than if you simply
  recompute the function multiple times perturbing each element of x one by
  one. The Jacobian matrix is used in the Gauss-Newton and Levenberg-Marquardt
  minimization algorithms;
  - Reverse-mode differentiation. This is a key component in optimization
  problems where a non-linear function needs to be minimized but the state
  vector x is too large for it to make sense to compute the full Jacobian
  matrix. Atmospheric data assimilation is the canonical example in
  Meteorology. Given a non-linear function y=f(x) and a vector of adjoints,
  Adept will compute the vector of adjoints, without computing the full
  Jacobian matrix H. The adjoint may then be used in a quasi-Newton
  minimization scheme.
  - Forward-mode differentiation. Given the non-linear function y=f(x) and a
  vector of perturbations, Adept will compute the corresponding vector arising
  from a linearization of the function f. Formally, the perturbed output is
  given by the matrix-vector product, but it is computed here without computing
  the full Jacobian matrix H. Note that Adept is optimized for the reverse
  case, so might not be as fast (and will certainly not be as economical in
  memory) in the forward mode as libraries written especially for that purpose.
 .
 This package contains the static library and the header files.
